一、简介
约束优化问题的原问题(Primal Problem)的一般形式如下:
⎩⎨⎧xminf(x),x∈Rps.t.mi(x)≤0,i=1,2,⋯,Ms.t.nj(x)=0,j=1,2,⋯,N
求解约束优化问题需要用到拉格朗日乘子法,定义拉格朗日函数:
L(x,λ,η)=f(x)+i=1∑Mλimi(x)+j=1∑Nηjnj(x)λ,η分别是M维、N维向量
然后原问题可以转化为以下优化问题,这两个优化问题具有同样的解:
{xminλ,ηmaxL(x,λ,η)s.t.λi≥0
可以说明一下为什么上述约束优化问题可以求得原问题的最优解:
以不等式约束为例{如果x违反了约束mi(x)≤0,即mi(x)>0,由于λi≥0,λmaxL=∞如果x符合约束mi(x)≤0,由于λi≥0,λmaxL=∞(此时λi=0)因此xminλmaxL=xmin⎩⎪⎪⎨⎪⎪⎧x符合约束λmaxL,x不符合约束∞⎭⎪⎪⎬⎪⎪⎫
也就是说虽然拉格朗日函数对x没有约束,但是在求解过程中会过滤掉不符合原问题x的约束的x。
二、对偶关系证明
原问题的对偶问题为
{λ,ηmaxxminL(x,λ,η)s.t.λi≥0
可以看到原问题是关于x的函数,对偶问题是关于$\lambda ,\eta $的函数。有如下定理:
λ,ηmaxxminL(x,λ,η)≤xminλ,ηmaxL(x,λ,η)
这个关系可以简单地得到证明:
A(λ,η)xminL(x,λ,η)≤L(x,λ,η)≤B(x)λ,ηmaxL(x,λ,η)⇒A(λ,η)≤B(x)⇒A(λ,η)≤minB(x)⇒maxA(λ,η)≤minB(x)⇒λ,ηmaxxminL(x,λ,η)≤L(x,λ,η)≤xminλ,ηmaxL(x,λ,η)
三、对偶性的几何解释
{xminf(x),x∈Rps.t.m(x)≤0其定义域D为domf∩domm
对于上述约束优化问题,可以写出它的拉格朗日函数:
L(x,λ)=f(x)+λm(x),λ≥0
然后表示出原问题和对偶问题的最优解p∗和d∗:
p∗=minf(x)d∗=λmaxxminL(x,λ)
接着定义集合G:
G={(m(x),f(x))∣x∈D}={(u,t)∣x∈D}
集合G在二维坐标系下表示的空间假设为下图:

因此p∗可以表示为:
inf{t∣(u,t)∈G,u≤0}
p∗在图中可以表示为:

同样地d∗也可以用u和t来表示:
d∗=λmaxxminL(x,λ)=λmaxg(λ)xmin(t+λu)=λmaxg(λ)g(λ)=inf{t+λu∣(u,t)∈G}
t+λu=b表示以$-\lambda 为斜率,以b为截距的直线,而g(\lambda)即为与区域G相切最小截距的直线t+\lambda u=b的b$。如下图所示:

结合上图来看,而d∗也就可以认为是调整斜率$-\lambda 使得直线t+\lambda u=b截距b最大时的b的值。可以想象无论直线怎么变动,所取得的极值d*$都不可能比$p*$大,这也就解释了为什么对偶问题最优解总是小于等于原问题最优解。
如果p∗>d∗则为弱对偶关系;如果p∗=d∗则为强对偶关系。
在某些特殊情况下可以使得强对偶关系成立,在图中表示如下:

如果一个约束优化问题是凸优化问题且同时满足Slater条件,那么可以使得d∗=p∗:
凸优化+Slater条件⇒d∗=p∗
但是d∗=p∗并不能推出该约束优化问题是凸优化问题且同时满足Slater条件,这是因为Slater条件是d∗=p∗的充分不必要条件,还有其他的条件可以使得约束优化问题满足d∗=p∗。
四、Slater条件
Slater条件指的是∃x^∈relintD使得∀i=1,2,⋯,Mmi(x^)<0。
relintD指的是定义域除去边界的部分。
有以下两点说明:
①对于大多数凸优化问题,Slater条件是成立的;
②放松的Slater条件:M个mi(x)中的仿射函数可以不用验证。因为在定义域内寻找一个满足所有mi(x)<0的点是比较困难的,因此放松的Slater条件会减少一些复杂度。
五、KKT条件
对于原问题:
⎩⎨⎧xminf(x),x∈Rps.t.mi(x)≤0,i=1,2,⋯,Ms.t.nj(x)=0,j=1,2,⋯,N
以及其对偶问题:
{λ,ηmaxxminL(x,λ,η)s.t.λi≥0
如果原问题和对偶问题满足强对偶关系,则原问题和对偶问题具有相同的最优解,另外它们还天然地满足KKT条件(Karush-Kuhn-Tucker条件)。假设原问题最优解p∗对应x∗,对偶问题最优解d∗对应λ∗和 η∗,则KKT条件为:
⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧可行条件:⎩⎨⎧mi(x∗)≤0nj(x∗)=0λ∗≥0互补松弛:λimi=0,对∀i=1,2,⋯,M成立梯度为0:∂x∂L(x,λ∗,η∗)∣∣∣x=x∗=0
可以进行以下证明:
d∗=λ,ηmaxg(λ,η)=g(λ∗,η∗)=xminL(x,λ∗,η∗)≤L(x∗,λ∗,η∗)=f(x∗)+i=1∑Mλi∗mi(x∗)+=0j=1∑Nηj∗nj(x∗)=f(x∗)+≤0i=1∑Mλi∗mi(x∗)≤f(x∗)=p∗因为d∗=p∗,所以上式中两个≤都必须取等号。首先xminL(x,λ∗,η∗)=L(x∗,λ∗,η∗),则可以得出:∂x∂L(x,λ∗,η∗)∣∣∣x=x∗=0然后f(x∗)+i=1∑Mλi∗mi(x∗)=f(x∗),则可以得出:i=1∑Mλi∗mi(x∗)=0,由于λi∗mi(x∗)≤0,要使得i=1∑Mλi∗mi(x∗)=0,则必有λi∗mi(x∗)=0
公众号同步更新
