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 problemminimizemaximizedual problem
constrainsvariables
variablesconstrains
对于特殊形式, 可以使用矩阵表示(e.g. [[Ch1.Introduction_of_Linear_Programming#standard-formStandard form]]):

e.g.

Theorem

如果将一个问题转换为其对偶问题, 然后将对偶问题的等价最小化问题 再次对偶一次, 得到原始问题的等价最大化问题.

The Duality Theorem

Theorem

弱对偶定理: , 其中是原始问题可行解, 是对偶问题可行解

Corollary

  1. 如果, 那么是原始问题最优解, 是对偶问题最优解
  2. 如果原始问题最优成本为, 那么对偶问题无解
  3. 如果对偶问题最优成本为, 那么原始问题无解

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.

对偶单纯形法:

  • 适用范围: 需要同时满足两个条件, 使普通单纯形法无法使用

    1. 转成之后, 导致列有负值
    2. 同时, 在行全部大于0
  • 求解流程: 实现类似Simplex, 但是改了

    我们一般将non basic variable组成一个basis, 因为他们是Identity Matrix(见initial tableau)

    1. 转换成Dual problem
    2. 将primal problem的的constrains乘, 然后写出initial simplex tableau
    3. 选择一个basic variable, 作为enter basis(Bland Rule) 选取方法: 对于的, 选择第个变量.
    4. 选择一个non-basis variable, 作为exit basis 选取方法:
      • 如果这一列都是positive or zero, 那么停止, 最值无界
      • 找到比值最小的一个:
      • 注意, 如果有比值相等的情况, 使用字典序找到最小的那一个.
    5. 消元(或者说叫做转轴)
    6. 重复上述操作, 直到没有negative为止.

e.g.

Turn into standard form, with constrains:

generate initial simplex table:

Tip

选择这个是因为:

  1. 的最小负数, 选择对应的
  2. 最小的一项, 选择, 选择为exit basis, 为enter basis, 是对应的值

The second simplex table:

Tip

选择这个是因为:

  1. 只有一个
  2. 选择, 选择为exit basis, 为enter basis, 是对应的值

The third simplex table:

Therefore, , the optimal cost is .