系统分析:线性规划、非线性规划与排队模型 · 第 6 / 11 篇(展开目录)
从线性规划建模、单纯形法、对偶与灵敏度、运输与指派,到非线性规划、随机过程、马尔可夫链、排队模型和决策分析,每章都配手算例题和自测,最后一章用综合例题把方法串起来。
- 第1章 线性规划建模:从文字题到标准型
- 第2章 单纯形法:单纯形表、大 M 法与两阶段法
- 第3章 对偶与灵敏度分析:最终单纯形表还能回答什么
- 第4章 运输问题与指派问题:Vogel 法、位势法与匈牙利法
- 第5章 非线性规划(一):一维搜索与多元无约束优化
- 第6章 非线性规划(二):拉格朗日乘子与 KKT 条件
- 第7章 随机过程基础:几何分布、指数分布与泊松过程
- 第8章 马尔可夫链:离散时间与连续时间
- 第9章 排队模型:从 M/M/1 到 M/M/m
- 第10章 决策分析:不确定性准则、决策树与效用
- 第11章 综合例题讲解与解析
约 35 分钟 · 需要第5章的梯度、Hessian 与正定性
读完你能: 写出拉格朗日函数并解出驻点;在切空间 上检验二阶充分条件;写出 KKT 条件并按“哪些约束起作用”分情况求解;用凸性判断 KKT 点是否为全局最优;用乘子估计约束右端变化 后最优值的改变量。
1. 标准形式与符号约定
- 最大化问题改为 ;
- 写成 , 写成 ;
- 约束两边乘 变成 。
拉格朗日函数:
本章所有符号结论都基于这个约定( 求极小、约束写成 、、乘子前面是加号)。换约定会改变乘子的符号,做题时先统一形式最稳妥。
2. 等式约束:拉格朗日乘子法
只有等式约束时,令拉格朗日函数对所有变量和乘子的偏导数为零:
一共 个方程、 个未知数。几何意义是:在最优点, 能由约束的梯度线性表示——沿着约束曲面任何允许的方向移动, 都不会一阶下降。
例1: ,s.t. ,。
第一、三式相减得 。代入两条约束:,,解得 。再代回得 。最优值 。
(几何上这是求原点到两平面交线的最近点; 说明原点到第一个平面的最近点 本身就满足第二条约束。)
3. 二阶充分条件:只在切空间上检验
驻点不一定是极小。判断方法是看 ——但不需要它处处正定,只需要在约束允许移动的方向上正定。这些方向组成切空间
定理: 若 满足 、,并且对所有 都有 ,则 是严格局部极小点。
这里要求 是正则点:各约束梯度 线性无关(矩阵 的秩为 )。
例1中 在整个空间都正定,当然在 上也正定, 是极小点。下面看一个需要真正用到 的例子。
例2:容器设计。 设计一个有盖长方体容器,容积 72 cm³,长 必须是高 的 2 倍,材料 10 元/cm²。求成本最低的尺寸。
(总成本是 ,不影响最优尺寸)。
令 。第二式:。第一式乘 2 加第三式消去 :
容积 ,。所以 (cm),,由第一式 。表面积 cm²,最低成本 1080 元。
二阶检验。在 、 处:
这个矩阵在整个空间是不定的(对角线全 0)。但在切空间上:,, 要求 且 ,得 ,
在 上正定, 是严格局部极小。
求切空间的套路
写出每个约束的梯度,令它们与 的内积为 0,解出 的一般形式(含 个自由参数),代入 化成平方和或单项。只要结果对所有非零参数都为正即可。
4. 不等式约束:KKT 条件
对 ,s.t. :约束 在 处起作用(active)指 ,不起作用指 。
KKT 条件(必要条件): 在局部最优点满足适当约束资格条件(例如等式约束和起作用不等式约束的梯度线性无关)时,存在乘子使下列条件成立:
- 驻点:;
- 可行:;
- 互补松弛:;
- 乘子非负:。
(有等式约束时再加上 ,对应的 符号不限。)
条件 3 说:每条约束要么起作用(),要么它的乘子为 0——这和线性规划的互补松弛是同一回事。条件 4 说:起作用的约束“推”着最优点,推力方向必须指向可行域内,不能反过来。
二阶充分条件: 再要求 对所有 、 成立,其中
注意 只包含起作用且乘子为正的约束;起作用但乘子为 0 的约束不进入 。
分情况求解
KKT 是等式和不等式混合的系统,一般按“哪些乘子为 0”分情况: 条不等式约束有 种组合。每种情况把假定为正的乘子对应的约束当作等式,解出来后检查两件事:被假定不起作用的约束是否可行,被假定起作用的乘子是否 。
例3: ,s.t. ,。
| 情况 |
解 |
检查 |
结论 |
|
|
,不可行 |
排除 |
|
:,得 , |
, |
KKT 点 |
|
:, |
;且 |
排除 |
|
两条都取等号:, |
|
排除 |
唯一 KKT 点 ,。二阶检验:,,,。是极小点。(几何上: 到直线 的垂足。)
乘子为负说明“推错了方向”
情况三算出 ,意思是:要让最优点贴在 上,约束得“往外拉”,这不可能——不等式约束只能挡住你,不能吸住你。乘子为负的情况一律排除。
5. 等式与不等式混合
正负都可以, 必须非负。二阶条件的切空间 由所有等式约束的梯度和 中不等式约束的梯度共同决定。
例4: ,s.t. ,(写成 )。
- 若 :,得 ,但 ,不可行。
- 若 :,。,,得 ,。KKT 点 ,。
,切空间只有零向量,二阶条件自动成立——两条约束已经把点完全固定住了。
6. 凸规划:KKT 点就是全局最优
一般情况下 KKT 点只是候选者。但满足下面条件时,任何 KKT 点都是全局最优解:
- 目标 是凸函数;
- 所有不等式约束 是凸函数(这样 是凸集);
- 所有等式约束 是线性的。
判断凸性用第5章的方法:Hessian 在整个区域上半正定,函数就是凸的。线性函数既凸又凹。
例5: ,s.t. 。
无约束极小点是 ,但 ,不可行,所以约束一定起作用。令 :,,。前两式相减得 ,于是 ,。
正定, 凸;约束线性。所以 是全局最优,不必再做二阶检验。
7. 乘子的经济含义:灵敏度
已求得最优解 和乘子 。把约束右端改一点:,。最优值的变化近似为
这和线性规划的影子价格是同一个概念,只是对非线性问题只在小变化时成立(一阶近似)。
例6: ,s.t. 。
,所以 。代入约束:,。于是 ,。
右端改为 :
精确值可以重新求解得到:。 时近似值 72,精确值 72.136,误差就是被忽略的二次项。
乘子的符号怎么读
在“,,”的约定下, 表示右端每增加 1,最小值约增加 12。不同教材的约定不同,最可靠的检查方法是:直接想“放宽约束目标应该变好还是变坏”,再核对符号。
8. 小结
- 拉格朗日函数 ;等式约束: 与 联立。
- 二阶充分条件只在切空间 上要求正定;不等式约束只计入起作用且乘子为正的那些。
- KKT:驻点 + 可行 + 互补松弛 + ;按哪些约束起作用分情况,逐一检查可行性和乘子符号。
- 凸目标 + 凸不等式约束 + 线性等式约束 ⇒ KKT 点就是全局最优。
- 灵敏度:。
自测
1. 广告预算问题:电视每分钟 1 千元、广播每分钟 1 千元,共 5 千元;收入 $R=10x_1+8x_2-x_1^2-x_2^2$(千元)。怎样分配收入最大?预算多 1 千元,收入约增加多少?
改为 ,。,,得 ,于是 , 千元。 正定,所以它使 极小,也就是使 极大。
预算 :,即收入约增加 4 千元。(精确值:,,增加 3.5;差额来自二次项。)
2. 例3中如果把第二条约束改成 $x_1-2x_2\le-1$,最优解会变吗?
原最优点 处 ,违反新约束,所以会变。两条约束都可能起作用: 与 交于 ,此时 、,均为正,满足 KKT;目标和约束都是凸的,所以这就是新的全局最优,。
3. 为什么例2中 $\nabla^2_{XX}L$ 在全空间不定,却仍能判定为极小?
可行点只能沿着约束曲面移动,不能往任意方向走。二阶条件只关心可行的移动方向,也就是切空间 上的方向。在 之外让 变小的方向,会破坏约束,所以不算。例2的 是一条直线,沿这条直线 ,足以保证局部极小。