优化理论(一)线性优化、组合优化与网络流问题

本文介绍了线性优化的基础知识,包括线性优化问题的标准形式、极点的概念、以及几种常用的求解算法,如单纯形法、内点法等。此外还讨论了组合优化和线性约束非线性优化问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节主要学习线性优化问题。线性优化是最简单的一种优化问题。在我们系统地学习凸优化之前,先回顾下线性优化的知识。虽然最优化可以追溯到十分古老的极值问题,但是它成为一门独立的学科是在本世纪40年代末,是在求解一般线性规划问题的单纯形法提出之后。

线性优化问题(Linear Optimization Problems)

目标函数是线性的且等式约束和不等式约束都是线性的:

minimize cTxminimize cTx

subject to Gxhsubject to Gx⪯h

Ax=bAx=b

标准形式

minimize cTxminimize cTx

subject to x0subject to x⪰0

Ax=bAx=b

通过引入松弛变量(slack varibles),把不等式约束转化为等式约束,同时把自变量表示为差值的形式:

这里写图片描述

引入标准形式的一个显著的好处,是可以很方便的判断解是否满足约束。

极点(Extreme Points)

极点是可行域中不能表示为可行域中其他任意两点的凸组合的点。

线性规划问题的可行域是一个多面体,易正明多面体是凸集。因为目标函数是线性的,线性函数是单调的,所以最优可行解一定在极点上。

这里写图片描述

算法(Algorithm)

  • 单纯形法(Simplex Method)
  • 内点法(Interior-point Method)
  • 椭圆法(Ellipsoid Method)
  • 割平面法(Cutting-plane Method)

先说单纯形法

单纯形法(Simplex Method)

因为线性规划问题的解的个数是有限的,所以我们只需要逐个验证极点是否满足约束条件就可以了。

单纯形法的思想是:在所有极点中寻找最优解的时候,用一种最聪明的方式以避免遍历所有极点。该方法非常有效,但是仅限于线性优化问题。

单纯形法的步骤如下:

  • 找到一个起始极点
  • 移动到更优的极点
  • 判断当前解是否最优

组合优化(Combinatorial Optimization)

线性优化问题若要求每个解都是整数,就是整数线性优化问题,通常很难求解。

这里写图片描述

不过,在特殊的情况下,整数线性优化问题可以退化成它的松弛版本

这里写图片描述

这要求系数矩阵A是完全幺模矩阵(totally unimodular),并且b,I,u都是整数。

下面是完全幺模矩阵和幺模矩阵的定义

这里写图片描述
这里写图片描述

最短路径问题

先说图的表达方式

这里写图片描述

这里采用图的关联矩阵的表示。最短路径问题的优化形式是

这里写图片描述

应用:网络流问题

网络单纯形(Network Simplex Method)

。。。。

线性约束非线性优化(Linear Constrained Nonlinear Optimization)

与线性优化不同,最优解不一定在顶点上。解决方法是:求出每一个驻点,选择最优的那个。

一个连续函数的驻点是指该函数的一阶导数为0的点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值