给定线性规划的原始问题, 本文介绍写如何方便地写出其对偶问题.
基本公式
我们先给出互为对偶问题的两种基本形式, 作为后续写对偶问题的基础.
1. 原问题的约束是不等式
2. 原问题的约束是等式
总结
- 原问题的一个约束对应一个对偶变量.
- 对偶变量乘以原问题约束的右端()得到对偶问题的目标.
- 原问题目标的系数对应对偶问题约束的右端.
- 最小化对应最大化(反之亦然).
- 如果原问题有等式约束, 对偶变量没有非负要求.
方法
1. 定义对偶变量
对原问题的每一个约束, 定义一个对偶变量. 如果一个约束是等式, 其对偶变量无非负限制.
2. 对偶变量乘约束
把对偶变量乘以原问题的约束. 约束右端即为对偶问题的目标.
3. 计算的系数
上一步把对偶变量乘以原问题的约束之后, 接着计算原问题约束中决策变量的系数, 从而得到对偶问题的约束 (假设原问题是最小化问题).
例子
1. 矩阵形式
原问题
定义对偶变量, , 分别对应原问题的约束和.
- 用乘以, 然后求和得到对偶目标:
- 用 乘以然后求和得到约束:
- 对应等式约束, 因此不要求非负
对偶问题
2. 非矩阵形式
原问题
如上面所示, 我们定义对偶变量, . 原问题的约束是等式约束, 因此不要求非负. 用乘以每个等式, 得到对偶问题的目标: . 下面计算对偶问题的约束:
- 给定, 计算原问题约束中的 系数之和, 记作.
- 得到对偶问题的约束:
为了方便描述, 我们使用新的下标, 并计算的系数. 详细的计算过程如下:
- 第一组约束:
. 注意.
- 当时, 的系数是,
- 当时, 的系数是,
- 的系数之和是. 注意: .
- 得到对偶问题的约束: ,
- 第二组和第三组约束:
- 当时, 的系数之和为 (参考)
- 当时, 的系数之和为 (参考)
- 当, 时, 的系数之和为 (参考)
- 当时, 的系数之和为 (参考)
- 当时, 的系数之和为 (参考)
- 当时, 的系数之和为 (参考)
综合上面所有对偶问题的约束, 我们得到:
对偶问题
练习
Ex1
原问题
对偶问题
Ex2
原问题
对偶问题