凸函数的对偶问题是解决最优化的有效方法。
Lagrange对偶函数
Lagrangep207
考虑标准形式的优化问题:
min fo(x)
s.t. fi(x)≤0,i=1,...,m
hi(x)=0,i=1,...,p
注意这里并没有假设问题是凸优化问题。
Lagrange
对偶的基本思想是在目标函数中考虑问题的约束条件,即添加约束条件的加权和,得到目标的增广函数。
上述函数的Lagrange
函数为:
L(x,λ,v)=f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x)
其中λi、vi为对应的Lagrange乘子。 向量<称为对偶变量或问题的Lagrange乘子向量。
Lagrange对偶函数
定义Lagrange
对偶函数为Lagrange
函数关于x取得的最小值,即:
g(λ,v)=x∈DinfL(x,λ,v)=x∈Dinf(f0(x)+i=1∑mλifi(x)+i=1∑pvihi(x))
若Lagrange
函数关于x无下界,则对偶函数取值−∞。
因为对偶函数是一簇关于(λ,v)的仿射函数的逐点下确界,所以即使原问题不是凸的,对偶函数也是凹函数。
最优值的下界
很容易验证,对偶函数构成了原问题最优值p⋆的下界,即对于任意λ⪰0,有下式成立:
g(λ,v)≤p⋆
例子
线性方程组的最小二乘解p210
min xTx
s.t. Ax=b
这个问题没有不等式约束,有p个线性等式约束。其Lagrange
函数是:
L(x,v)=xTx+vT(Ax−b)
对偶问题是:
g(v)=xinfL(x,v)
因为L(x,v)是x的二次凸函数,因此可以通过求解以下最优性条件得到函数的最小值(无约束条件):
▽xL(x,v)=2x+ATv=0
在点x=−(1/2)ATv处Lagrange
函数达到最小值。
标准形式的线性规划
mincTx
s.t. Ax=b
x⪰0
转化为Lagrange
函数为:
L(x,λ,v)=cTx−i=1∑nλixi+vT(Ax−b)=−bTv+(c+ATv−λ)Tx
对偶函数为:
g(λ,v)=xinfL(x,λ,v)=−bTv+xinf(c+ATv−λ)Tx
因为线性函数只有在恒为零时才有下界,因此,当c+ATv−λ=0时,g(λ,v)=−bTv,其余情况下g(λ,v)=−∞。
Lagrange对偶函数和共轭函数p212
回忆共轭函数定义为:
f⋆(y)=x∈domfsup(yTx−f(x))
事实上,共轭函数与Lagrange
对偶函数密切相关。我们可以考虑一个优化问题:
minf0(x)
s.t. Ax⪯b
Cx=d
利用共轭函数,可以将问题的对偶函数表示为:
g(λ,v)=xinf(f0(x)+λT(Ax−b)+vT(Cx−d))=−bTλ−dTv+xinf(f0(x)+(ATλ+CTv)Tx)=−bTλ−dTv−f0⋆(−ATλ−CTv)
熵的最大化p214
考虑熵的最大化问题:
min f0(x)=i=1∑nxilogxi
s.t. Ax⪯b
1Tx=1
关于x的负熵函数ulogu的共轭函数是ev−1(见p86)。因为函数f0是不同变量的负熵函数的和,因此其共轭函数为:
f0⋆(y)=i=1∑neyi−1
根据之前的结论,可以知道其对偶函数为:
g(λ,v)=−bTλ−v−i=1∑ne−aiTλ−v−1
其中ai是矩阵A的第i列向量。
Lagrange对偶问题
定义
对于任意一组(λ,v),Lagrange对偶函数给出优化问题的最优值的下界。因此,我们关心的是从Lagrange函数中能得到的最好下界是什么?
maxg(λ,v)
s.t. λ⪰0
上述问题为Lagrange
对偶问题,是一个凸优化问题(与原问题的凹凸性无关)。
例子
标准形式线性规划的Lagrange对偶
我们之前已经写出了线性规划的对偶函数,因此不难写出该问题的对偶问题:
max−bTx
s.t.ATv−λ+c=0
λ⪰0
我们还可以将λ去掉,进一步简化问题为:
max−bTx
ATv+c⪰0
这是一个不等式形式的线性规划(我们将等式形式的线性规划通过对偶问题转化为不等式)。
不等式形式的线性规划的Lagrange对偶
类似的,我们可以写出不等式形式的线性规划问题:
mincTx
s.t.Ax⪯b
其Lagrange
函数为:
L(x,λ)=cTx+λT(Ax−b)=−bTλ+(ATλ+c)Tx
所以对偶函数为:
g(λ)=xinfL(x,λ)=−bTλ+xinf(ATλ+c)Tx
因此,当ATλ+c=0且λ⪰0时,g(λ)=−bTλ
同样,我们可以写出其Lagrange
对偶问题:
max−bTλ
s.t.ATλ+c=0
λ⪰0
很有趣的是,我们发现不等式形式的线性规划问题,通过Lagrange
对偶问题可以转化为等式形式。
因此,不等式和等式形式的线性规划与其对偶问题存在着对称性。
弱对偶性
用d⋆表示Lagrange
对偶问题的最优值,原问题的最优值用p⋆表示,很容易,我们可以有以下不等式:
d⋆≤p⋆
即使原问题不是凸问题,上述不等式依然成立,这个性质称为弱对偶性。
最优对偶间隙定义为p⋆−d⋆,给出了原问题最优值以及通过Lagrange
对偶函数所能得到的最好下界之差,总是非负的。
为什么我们要大费周折来求对偶问题呢?这是因为当原问题很难求解时,弱对偶不等式可以给出原问题最优值的一个下界,这是因为对偶问题总是凸问题,更容易求解。
强对偶性与Slater准则
如果等式d⋆=p⋆成立,即最优对偶间隙为零,则强对偶性成立。
这是我们愿意看见的情形,因为这样我们可以通过求解对偶问题从而得到原问题的最优解。
凸函数
对于一般情况,强对偶性不成立。但是,如果原问题是凸问题,即可以表述为以下形式:
minf0(x)
s.t.fi(x)≤0
Ax=b
其中fi都是凸函数,则强对偶性通常(不总是)成立。
Slater条件
一个简单的强对偶性成立的条件,我们称为Slater条件
,表述为存在一点x∈relint(D)
fi(x)<0,i=1,...,m, Ax=b
即每一个约束条件都严格满足。
Slater定理
表明,当条件成立且原问题为凸问题时,强对偶性成立。
同时,当不等式约束fi中有一些仿射函数时,Slater
条件可以进一步放宽。如果前k个条件约束是仿射的,则若下列弱化的条件成立,强对偶性成立(仿射不等式不需要严格成立)。即:
fi(x)≤0,i=1,...,k fi(x)<0,i=k+1,...,m Ax=b
例子
二次约束二次规划QCQPp220
考虑约束和目标函数都是二次函数的优化问题:
min(1/2)xTP0x+q0Tx+r0
s.t. (1/2)xTPix+qiTx+ri≤0
其Lagrange
函数为:
L(x,λ)=(1/2)xTP(λ)x+q(λ)Tx+r(λ)
其中P(λ)=P0+∑λiPi,q(λ)=q0+∑λiqi,r(λ)=ro+∑λiri
对于P(λ)≻0,可以表述对偶问题为:
max−(1/2)q(λ)TP(λ)−1q(λ)+r(λ)
s.t.λ⪰0
根据Slater
条件,当二次不等式约束严格成立时,即存在一点x使得:
(1/2)xTPix+qiTx+ri<0
强对偶性成立。
小结
总的来说,传统的Lagrange
函数的作用是使得有约束的问题变为无约束:
通过拉格朗日的办法重新定义一个无约束问题这个无约束问题等价于原来的约束优化问题,从而将约束问题无约束化。
而Lagrange
对偶问题则进一步,将最小化最大值问题
转化为最大化最小值
问题,即最大化Lagrange
对偶函数来求得原问题的解的下界(在Slater
条件下相等),而对偶函数的好处是它始终是一个凸函数。
对偶性
我们可以从之前线性规划的对偶问题看出眉目。
最优性条件p233
互补松弛性
设原问题和对偶问题得到最优值都可以达到且相等(即强对偶性成立)。令x⋆是原问题的最优解,(λ⋆,v⋆)是对偶问题的最优解,则:
f0(x⋆)=g(λ⋆,v⋆)=xinf(f0(x)+∑λi⋆fi(x)+∑vi⋆hi(x))≤f0(x⋆)+∑λi⋆fi(x⋆)+∑vi⋆hi(x⋆)≤f0(x⋆)
可以得到一个重要的结论:
λi⋆fi(x⋆)=0
这个条件被称为互补松弛性。它对任意原问题最优解x⋆以及对偶问题的最优解(λ⋆,v⋆)都成立。可以将互补松弛条件写成:
λ⋆>0⇒fi(x⋆)=0
fi(x⋆)<0⇒λ⋆=0
因此,除了第i个约束起作用外,最优Lagrange
乘子的第i项都为零。
KKT最优性条件
假设函数fi都可微(定义域是开集),但并不假设其为凸函数。
非凸问题的KKT条件p235
当对偶间隙为0时,因为L(x,λ⋆,v⋆)关于x求极小在x⋆处取得最小值,因此函数在x⋆处的导数必须为零,因此:
▽f0(x⋆)+∑λi⋆▽fi(x⋆)+∑vi⋆▽hi(x⋆)=0
因此,我们可以得到:
fi(x⋆)≤0
hi(x⋆)=0
λi⋆≥0
λi⋆fi(x⋆)=0
▽f0(x⋆)+∑λi⋆▽fi(x⋆)+∑vi⋆▽hi(x⋆)=0
上述条件为KKT
条件,如果强对偶性成立,那么任何一对原问题的最优解和对偶问题的最优解必须满足KKT条件。
凸问题的KKT条件
当原问题是凸问题时,满足KKT条件的点也是原、对偶最优解。即若函数fi是凸函数,hi是仿射函数,x~,λ~,v~是任意满足KKT条件的点:
fi(x~)≤0
hi(x~)=0
λi~≥0
λi~fi(x~)=0
▽f0(x~)+∑λi~▽fi(x~)+∑vi~▽hi(x~)=0
那么x~,λ~,v~分别是原问题和对偶问题的最优解。
小结
若原问题为普通优化问题,如果强对偶性成立,那么任何一对原问题的最优解和对偶问题的最优解必须满足KKT条件。
而如果是目标函数和约束函数可微的凸优化问题,任意满足KKT条件的点分别是原问题、对偶问题的最优解。
因此,我们可以通过求解KKT条件,来求解原问题的最优解。
扰动及灵敏度分析
当强对偶性成立时,对原问题的约束进行扰动,对偶问题最优变量为原问题最优值的灵敏度分析提供了很多有用的信息。
扰动问题p241
minf0(x)
s.t. fi(x)≤ui
hi(x)=vi
若ui大于0,则我们放松了第i个不等式约束;若ui小于0,则我们加强了第i个不等式约束。
定义p⋆(u,v)为扰动问题的最优值:
p⋆(u,v)=inf{fo(x)∣∃x∈D,fi(x)≤ui,hi(x)=vi}
若定义p⋆为原始问题的最优解,可以发现p⋆(0,0)=p⋆。
全局不等式
假设强对偶性成立且对偶问题的最优值可以达到。我们由如下推导:
p⋆(0,0)=g(λ⋆,v⋆)≤f0(x)+∑λi⋆fi(x)+∑vi⋆hi(x)≤f0(x)+λ⋆Tu+v⋆Tv
因此,对于任意扰动问题的可行解x:
f0(x)≥p⋆(0,0)−λ⋆Tu−v⋆Tv
即p⋆(u,v)≥p⋆(0,0)−λ⋆Tu−v⋆Tv
解释
- 如果λ⋆较大,我们加强第i个约束(选择ui<0),则最优值p⋆(λ⋆,v⋆)会大幅增加;
- 如果v⋆较大且大于0,选择v<0;或者如果v⋆较大且小于0,我们选择vi>0,这两种情况下最优值也会大幅增加;
- 类似,如果λ⋆较小,我们放松第i个约束(选择ui>0),则最优值p⋆(λ⋆,v⋆)不会减小太多;
然而,这个不等式只能给出扰动之后最优值的一个下界,结论不是对称的。
局部灵敏度分析p243
假设p⋆(u,v)在u=0和v=0处可微,假设强对偶性成立,则:
λi⋆=−∂ui∂p⋆(0,0)vi⋆=−∂vi∂p⋆(0,0)
可以发现,最优Lagrange
乘子就是最优值关于约束扰动的局部灵敏度。
并且,这种关系是对称的:若稍微加强不等式约束,会使得最优值增大;若稍微放松不等式约束,会使得最优值减小。
Reference