每个线性规划问题都有一个"镜像"——对偶问题。
理解对偶,不仅是理解一个数学技巧,更是理解最优化的本质。
选择一个你关心的问题,后续内容会围绕它展开。
选择或输入后,本课会围绕你的问题展开。
先测试一下你对线性规划基础知识的掌握情况。
问题:考虑原问题 max z = 3x1 + 5x2,约束为 x1 ≤ 4,2x2 ≤ 12,3x1 + 2x2 ≤ 18,x1, x2 ≥ 0。它对应对偶问题中,决策变量的个数是多少?
已经知道:线性规划可以用单纯形法求解最优值和最优解。
但是问题是:如何从"外部"视角——比如从资源定价的角度——理解这个最优解的价值?
所以这一段要解决:引入"对偶问题"的概念,为每个原始线性规划建立一个镜像问题。
| 原问题 (max) | 对偶问题 (min) |
|---|---|
| 目标系数 c | 约束右端 c |
| 约束右端 b | 目标系数 b |
| 约束矩阵 A | 转置矩阵 AT |
| n 个变量,m 条约束 | m 个变量,n 条约束 |
| "≤" 约束 | "≥" 约束 |
写出下述线性规划的对偶问题:
当原问题中含有等式约束或无符号限制变量时,对偶问题的形式需要特殊处理。
| 原问题(max 问题) | 对偶问题(min 问题) |
|---|---|
| 第 i 个约束 ≤ | yi ≥ 0 |
| 第 i 个约束 = | yi 无符号限制 (free) |
| 第 i 个约束 ≥ | yi ≤ 0 |
| xj ≥ 0 | 第 j 个约束 ≥ |
| xj 无符号限制 (free) | 第 j 个约束 = |
| xj ≤ 0 | 第 j 个约束 ≤ |
设 x 是原问题 (P) 的任一可行解,y 是对偶问题 (D) 的任一可行解,则恒有:
重要推论:
若原问题 (P) 有有限最优解 x*,则对偶问题 (D) 也有有限最优解 y*,且:
关键洞察:弱对偶给了我们一个不等式,强对偶说在最优点处这个不等式变为等式——原问题的最优值和对偶问题的最优值完全相等!
设 x* 和 y* 分别是原问题和对偶问题的可行解。它们是各自问题最优解的充要条件是:
若 yi* > 0(资源有正价值),则 Σaijxj* = bi(资源完全用尽);
若资源有剩余(严格 <),则该资源的影子价格必为 0。
若 xj* > 0(生产该产品),则对偶约束必紧(成本 = 收益);
若对偶约束不紧(成本 > 收益),则该产品不应生产(xj* = 0)。
拖动滑块修改原问题参数,观察对偶问题如何随之变化。注意观察弱对偶性和强对偶性。
💡 拖动滑块改变参数,观察原问题可行域(蓝色)和对偶最优值的变化。最优解时原问题目标值 = 对偶目标值。
若最优基不变,有:
影子价格是对最优目标值关于资源量的偏导数——即资源的边际价值。
关于对偶理论,以下哪个说法是错误的?
问题:写出 min z = 2x1 + 3x2
s.t. x1 + x2 ≥ 4
x1 − x2 ≤ 2
x1, x2 ≥ 0 的对偶问题。
原问题 max z = x1 + 2x2 + 3x3
s.t. x1 + x2 + x3 = 5
2x1 − x2 ≤ 3
x1 ≥ 0, x2 ≤ 0, x3 free
提示:
用互补松弛定理判断 x*=(2,0,3)T 是否为下述问题的最优解,并求对偶最优解:
max-≤-≥0 → min-≥-≥0
A → AT,b ↔ c
cTx ≤ bTy
任何可行解对
最优时值相等
cTx* = bTy*
紧约束 ↔ 正对偶变量
最优性充要条件
yi* = 资源边际价值
指导买卖决策
本节点在大学运筹学知识体系中的定位(free_mode):