LP对偶性的直观/非正式证明?


19

对于LP二元性的“命中点”,什么是非正式/直观的良好证明?如何以直观的方式了解界限,才能最好地证明最小化目标函数确实是最小值?

我的教学方式对偶性仅导致一种我可以肯定的认识,我认识的很多人都认同这种理解:对于每个相应的最小化问题,都有一个等效的最大化问题,可以通过逆转不平等约束来得出。期。二元性的这种“结论”似乎固守,但不是“为什么这样”(即,最优解如何/为什么有界)。

是否有一种处理不等式的方法,只是“显示”最优值的上下限,这可能是证明的动力?

我已经遍历了Chvatal的书以及其他几本书,但没有发现LP的绝对新手可以理解的内容。我最接近的是瓦兹拉尼(Vazirani)关于算法的书,他在书中谈到“将不等式乘以一些显示界限的魔术数”-我不确定如何为任意LP再现效果。


5
此math.SE答案中,我逐步介绍了双重运算的来源以及其原因,该问题具有LP可能产生的大多数不同可能性。也许这会有所帮助?
Mike Spivey

2
不知道为什么您认为Vazirani的论点不适用于一般LP。我个人最喜欢这种解释。
Suresh Venkat

1
您是在问弱对偶性还是强对偶性?
伊藤刚(Tsuyoshi Ito)

7
通过可视化(例如2d)约束线性组合的含义,可以得到几何直觉。例如,绘制约束x1y1中的平面。这些约束线性组合给你ax+bya+b为任何a,b0。画出来看看。通常,约束的线性组合为您提供多面体的支撑半空间。现在问,为什么这些支撑半空间之一本身总是足以限制成本?如果看到的话,那就是双重性。
Neal Young

@MikeSpivey-我希望您的评论是一个答案:)
博士

Answers:


19

按照OP的要求,这是我上面评论中链接的math.SE答案。


也许值得讨论一个示例问题的双重原因。这将需要一段时间,但是希望完成后,双重显示不会显得那么神秘。

假设有一个主要问题如下。

Primal={max    5x16x2   s.t.    2x1x2=1              x1+3x29    x10}

现在,假设我们要使用原始数的约束作为找到原始数最佳值上限的一种方法。如果将第一个约束乘以,将第二个约束乘以,然后将它们相加在一起,则得到,而左侧将得到为右侧。由于第一个约束是等式,第二个约束是不等式,所以这意味着 但是由于,所以也确实是,所以 因此,是原始问题的最优值的上限。1 9 2 x 1 - x 2+ 1 x 1 + 3 x 2919(2x1x2)+1(x1+3x2)19 X 1 - 6 X 218,X 10 5 X 119 X 1 5 X 1 - 6 X 219 X 19(1)+1(9)
19x16x218.
x105x119x118
5x16x219x16x218.
18

当然,我们可以做得更好。让我们不仅仅是将和当作乘数,而是让它们成为变量。因此,我们正在寻找乘数和以强制1 Ÿ 1个ÿ 291y1y2

5x16x2y1(2x1x2)+y2(x1+3x2)y1(1)+y2(9).

现在,为了保持这对不等式,关于和必须是正确的?让我们一次处理两个不等式。y1y2


第一个不等式5x16x2y1(2x1x2)+y2(x1+3x2)

我们必须分别跟踪和变量的系数。首先,我们需要在右侧的总系数至少为。精确地获得会很好,但是由于,大于任何值也将满足的不等式。从数学上讲,这意味着我们需要。x1x2x155x105x12y1+y25

另一方面,要确保变量的不等式,我们需要右侧的总系数正好为。由于可以为正,因此我们不能低于,并且由于可以为负,因此我们不能高于(因为的负值会颠倒不等式的方向)。因此,对于第一个不等式适用于变量,我们必须具有。x 2x2x26x26x26x2x2y1+3y2=6


第二个不等式y1(2x1x2)+y2(x1+3x2)y1(1)+y2(9)

在这里,我们必须分别跟踪和变量。该变量来自于第一个约束,这是一个等式约束。是正数还是负数都无关紧要,等式约束仍然成立。因此,符号不受限制。但是,变量来自第二个约束,该约束小于或等于约束。如果我们将第二个约束乘以一个负数,这将反转其方向并将其更改为大于或等于约束。为了实现将原始目标定为上限的目标,我们不能让这种情况发生。所以Ÿ 2 ý 1个Ÿ 1个Ÿ 1个Ÿ 2 ý 2 ý 20y1y2y1y1y1y2y2变量不能为负。因此我们必须有。y20

最后,我们希望使第二个不等式的右侧尽可能小,因为我们希望在原始目标上有最严格的上限。所以我们要最小化。y1+9y2


将所有这些对和限制放在一起,我们发现使用原始约束来找到最佳原始目标的最佳上限的问题需要解决以下线性程序:y 2y1y2

Minimize y1+9y2subject to 2y1+y25y1+3y2=6y20.

那就是双重的。


可能值得总结一下该论证对原始和对偶的所有可能形式的含义。下表摘自p。希里尔和利伯曼撰写的《运筹学概论》(第8版)214 。他们将其称为SOB方法,其中SOB代表Sensible,Odd或Bizarre,具体取决于人们在最大化或最小化问题中发现特定约束或变量约束的可能性。

             Primal Problem                           Dual Problem
             (or Dual Problem)                        (or Primal Problem)

             Maximization                             Minimization

Sensible     <= constraint            paired with     nonnegative variable
Odd          =  constraint            paired with     unconstrained variable
Bizarre      >= constraint            paired with     nonpositive variable

Sensible     nonnegative variable     paired with     >= constraint
Odd          unconstrained variable   paired with     = constraint
Bizarre      nonpositive variable     paired with     <= constraint

7

在详细阐述Mike的答案和Vazirani的评论时,您可以通过考虑解决原始问题的最优性证明的一般形式来获得双重性。假设给定一些线性不等式,并且在不失一般性的情况下,您有一个最大化问题,假设您正在尝试使变量最大化。给定的解决方案,我们如何知道它是最优的?一种方法是尝试通过采用线性不等式的线性组合来限制。一些线性组合为您提供形式的边界,并且您正在尝试获得最佳(最小)。弱对偶性指出xx=BxxCCBminC,这在定义上很明显。强对偶状态,当是有限的,则。这意味着,如果最大值为则存在无法超越的“原因” ,这是最优性的两倍。BB=minCBB

这种观点有时实际上是有帮助的。设为集合函数(接受集合并输出实数),为两个集合。假设您试图从关于函数的一系列不等式中得出不等式(这是一个真实的示例)。您编写了一个线性程序,其中的值是变量,是一个约束,目标是使最小。该程序的解决方案是(假设是最佳可能),对偶的解决方案为您提供了证明f S O f S 1 1 / e f O f f f O = 1 f S min f S = 1 1 / e 1 1 / e f 小号1 - 1 / ËffS,Of(S)(11/e)f(O)fff(O)=1f(S)minf(S)=11/e11/ef(S)11/e

这留下了为什么强对偶性实际上成立的问题。对于线性编程,这一事实有两种证明,一种涉及单纯形算法,另一种涉及Farkas引理。Farkas的引理可能是理解情况的“正确”方法,将所有内容简化为一些直观的几何事实。但是,我承认这种直觉是我难以忘怀的。

在更一般的情况下(比如说半定编程),您需要使用更一般的Karush-Kuhn-Tucker条件(拉格朗日乘数的一种形式)来获取对偶和强对偶性的条件。关于非线性或凸优化的文章对此进行了处理。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.