7 线性规划与规约
7.1 线性规划简介
- 线性规划问题的变量满足:
- 一组关于这些变量的线性方程/不等式
- 使给定的目标线性函数最大/最小
7.1.1 示例:利润最大化
两种产品利润最大化
求解线性规划:”约束条件“构成一凸多边形,”单纯形法“从边上某一点出发,沿着边爬升到另一顶点,直到利润不再增加。
更多产品
求解线性规划:”约束条件“构成一凸多面体,”单纯形法“从边上某一点出发,沿着边爬升到另一顶点,直到利润不再增加。
7.1.2 示例:生产计划
- 整数线性规划
7.1.3 示例:最优带宽分配
- 规约:解决某个任务Q的算法可用于解决任务P,则P可
归约到Q (P reduces to Q)
7.1.4 线性规划的变体
线性规划问题的转化
目标函数两边同时乘以-1,最大问题 转变成 最小问题
引入新的参数s,将条件中的不等式 ∑ni=1aixi≤b 转变成等式 ∑ni=1aisi+s=b,s≥0
s为不等式的 松弛变量,向量 (x1,x2,...,xn) 满足最初的不等式约束,当且仅当存在某个s≥0使新的等式成立
将等式约束变成不等式约束:将ax=b写成ax≤b、ax≥b
对于不确定符号的变量x:
- 引入两个非负的变量,
x+,x−≥0 - 用x+−x−代替x
- 引入两个非负的变量,
将任意LP问题归约到LP标准型:
- 目标函数最小化
- 等式约束条件
- 所有变量非负
LP问题的矩阵表示
min cTxAx+s=bs≥0x≥0
7.2 网络流
7.2.1 石油运输

7.2.2 最大流

7.2.3 对算法的深入理解
- 单纯形法的求解过程:
- 由最小的流(流量为0)开始
- 重复如下动作:
- 选择由s到t的一条可能路径,然后尽可能地提高该路径上的流量
7.2.4 最优性保证
- 最小分割最大流定理:网络中最大流的规模等于其中(s,t)分割的最小容量
7.2.5 算法的效率
每次迭代使用
深度优先搜索或广度优先搜索寻找s到t的路径,因此每次迭代的复杂度为O(E)。每条边的最大容量为C,则路径的最大流量为C|E|,迭代最多次数为C|E|。若每次广度优先搜索的结果为边最少的路径,则最少的迭代次数为O(|V||E|),算法复杂度为O(|V||E|2)。
7.3 二部图的匹配
- 完美匹配:

归约为最大流问题,每条边的容量为1:

- 性质:如果所有边的容量为整数,则最大流的规模也是整数
7.4 对偶

- 如果一个线性规划的最优目标函数值有界,则其对偶的最优目标函数值也有界,并且两者相等。
- 当原LP问题为最大流问题时,其对偶问题为最小分割问题。
7.5 零和博弈
- 最小最大定理:
maxxminy∑i,jGi,jxiyj=minymaxx∑i,jGi,jxiyj
7.6 单纯形算法
7.6.1 n维空间中的顶点和邻居
- 顶点:由n的不等式定义的点
- 邻居:两个顶点对应的所有不等式中,由n-1个相同
7.6.2 算法
在每次迭代中,单纯形法需要完成如下任务:
- 检查当前顶点是否最优;如果是,则退出。
决定向哪里移动。
初始LP

The origin is optimal if and only if all ci ≤ 0 .
- 令yi=bi−ai∗x

7.6.3 补遗
起始顶点:

退化
无界性
本文介绍了线性规划的概念,包括如何通过单纯形法解决最大利润问题和生产计划。讨论了线性规划的变体,如整数线性规划,并探讨了线性规划与网络流的关系,特别是最大流问题。此外,还涉及二部图的匹配、对偶理论以及零和博弈。最后,详细阐述了单纯形算法及其在n维空间中的应用和运行时间分析。

1814

被折叠的 条评论
为什么被折叠?



