Duality Theorem
Motivate
可以看作是拉格朗日乘子法(Lagrange Multiplier method) 的延伸.
Tip
Lagrange Multiplier method:
introduce a Lagrange multiplier and form the Lagrangean
当保持不变的时候, 该问题可以通过求解和来求解:
然后将,代入原始约束求解
允许约束被违反, 但是违反是有代价()的. 当我们想要最小化的时候, 我们必然需要考虑违反约束所带来的成本.
Dual Problem
考虑一个Standard form的Linear programming:
我们称之为原始问题(primal problem).
引入松弛问题(relax problem), 将约束条件变成惩罚项:
其中和维度相同.
令为relax problem的optimal solution, 有
其中是primal problem的optimal solution. 因此我们可以认为给定了原始问题的cost function的lower bound. 于是我们只需要求解的最大值即可:
我们注意到, 其中:
我们在最大化的时候, 只需要考虑不等于的值, 因此dual problem和如下linear programming没有区别:
因此我们得到了dual problem的一般形式:
primal problem | minimize | maximize | dual problem |
---|---|---|---|
constrains | variables | ||
variables | constrains | ||
对于特殊形式, 可以使用矩阵表示(e.g. [[Ch1.Introduction_of_Linear_Programming#standard-form | Standard form]]): |
e.g.
Theorem
如果将一个问题转换为其对偶问题, 然后将对偶问题的等价最小化问题 再次对偶一次, 得到原始问题的等价最大化问题.
The Duality Theorem
Theorem
弱对偶定理: , 其中是原始问题可行解, 是对偶问题可行解
Corollary
- 如果, 那么是原始问题最优解, 是对偶问题最优解
- 如果原始问题最优成本为, 那么对偶问题无解
- 如果对偶问题最优成本为, 那么原始问题无解
Theorem
强对偶定理: 4. 如果primal problem和dual problem中有一个有解, 则另一个问题也有解, 且最优值相等. 5. 设是primal的optimal solution, 是primal的optimal basis, 是dual的optimal solution, 则:
primal problem ⇒ dual problem ⇒ introduce relax variable, turn to standard form ⇒ simplex solve
primal problem的simplex解出来的松弛变量对应的的值就是dual problem solution.
对偶单纯形法:
-
适用范围: 需要同时满足两个条件, 使普通单纯形法无法使用
- 将乘转成之后, 导致列有负值
- 同时, 在行全部大于0
-
求解流程: 实现类似Simplex, 但是改了
我们一般将non basic variable组成一个basis, 因为他们是Identity Matrix(见initial tableau)
- 转换成Dual problem
- 将primal problem的的constrains乘, 然后写出initial simplex tableau
- 选择一个basic variable, 作为enter basis(Bland Rule) 选取方法: 对于的, 选择第个变量.
- 选择一个non-basis variable, 作为exit basis
选取方法:
- 如果这一列都是positive or zero, 那么停止, 最值无界
- 找到比值最小的一个:
- 注意, 如果有比值相等的情况, 使用字典序找到最小的那一个.
- 消元(或者说叫做转轴)
- 重复上述操作, 直到没有negative为止.
e.g.
Turn into standard form, with constrains:
generate initial simplex table:
Tip
选择这个是因为:
- 找的最小负数, 选择对应的
- 找最小的一项, 选择, 选择为exit basis, 为enter basis, 是对应的值
The second simplex table:
Tip
选择这个是因为:
- 只有一个
- 选择, 选择为exit basis, 为enter basis, 是对应的值
The third simplex table:
Therefore, , the optimal cost is .