xδfxx
假设您遇到优化问题:
minimize (over x)subject tof(x)∀j∈{1…k}gj(x)≤0
其中并且有约束。x∈Rnk
令为列向量,表示在求值的的梯度。∇f(x)fx
应用于这种情况,Farkas Lemma指出,对于中的任何点,以下语句之一完全成立:x∈Rn
- 存在使得和λ∈Rk∑kj=1λj∇gj(x)=−∇f(x)λ≥0
- 存在这样和δ∈Rn∀jδ′gj(x)≤0δ′∇f(x)<0
这是什么意思?这意味着对于任何可行的点,要么:x
- 条件(1)成立,并且满足KKT条件。
- 条件(2)成立,并且存在一个可行的方向,它在不增加约束情况下改善了目标函数。(例如,您可以通过从移至来改善)δfgjfxx+ϵδ
条件(1)指出存在非负乘数,从而在点处满足KKT条件。(从几何角度讲,它表示位于由约束的梯度定义的凸锥中。)λx−∇f
条件(2)指出,在点,存在一个方向(局部)移动,使得:xδ
- 朝方向移动会降低目标函数(因为和的点积小于零)。δ∇f(x)δ
- 朝方向移动不会增加约束的值(因为和的点积对于所有点都小于或等于零约束)。δ∇gj(x)δj
(在几何上,可行方向定义了矢量和矢量定义的凸锥之间的分离超平面。)δ−∇f(x)∇gj(x)
(注意:要将其映射到Farkas Lemma中,请定义矩阵)A=[∇g1,∇g2,…,∇gk]
此参数为您提供了最佳的KKT条件的必要性(但不是充分性)。如果不满足KKT条件(并且满足约束条件),则可以在不违反约束的情况下提高目标。
约束资格的作用
有什么问题吗?您可能会遇到退化的情况,其中约束的梯度不能准确描述移动的可行方向。
有多种不同的约束条件可供选择,这将使上述论点起作用。
最小,最大解释(恕我直言最直观)
形成拉格朗日
L(x,λ)=f(x)+∑j=1kλjgj(x)
与其在约束约束下最小化,想象一下,您正在尝试最小化而某些对手正在尝试使其最大化。您可以将乘数解释为违反约束的惩罚(某些对手选择)。 克Ĵ 大号λ 我fgjLλi
原始优化问题的解决方案等效于:
minxmaxλL(x,λ)
那是:
- 您首先选择以使拉格朗日最小化,从而认识到...xL
- 然后,我将选择以使拉格朗日最大化(观察到您的选择)。λx
例如,如果您违反约束,我可以通过将设置为infinity 来惩罚您!g2λ2
对偶性弱
对于任何函数请注意:f(x,y)
∀x^,y^minxf(x,y^)≤f(x^,y^)≤maxyf(x^,y)
由于这适用于任何和因此它也适用于:
x^y^
maxyminxf(x,y)≤minxmaxyf(x,y)
在Langrian设置中,此结果为被称为弱对偶。maxλminxL(x,λ)≤minxmaxλL(x,λ)
双重问题为您提供了解决方案的下限maxλminxL(x,λ)
强对偶
在某些特殊条件下(例如,Slater条件成立的凸问题),您具有很强的对偶性(即,鞍点性质)。
maxλminxL(x,λ)=minxmaxλL(x,λ)
这个美丽的结果意味着您可以反转问题的顺序。
我首先选择惩罚以使拉格朗日最大化。λ
然后,选择以最小化拉格朗日。xL
在此过程中设置的是违反约束的价格,并且已将价格设置为永远不会违反约束。λ