02 对偶

49 阅读6分钟

拉格朗日对偶

定义

对于标准形式的优化问题

minf0(x)fi(x)0hi(x)0\min f_0(x) \\ f_i(x) \le 0 \\ h_i(x) \le 0

注意不要求f0(x)f_0(x)是凸的。其拉格朗日函数为:
g(λ,v)=infxL(x,λ,v)=f0(x)+iλifi(x)+ivihi(x)g(\lambda, v) = \inf_x L(x, \lambda, v)=f_0(x) + \sum_i \lambda_i f_i(x)+\sum_i v_i h_i(x)
该函数是一系列关于λ,v\lambda, v的线性函数的逐点最小,因此总是凹函数。

功能:原最优化问题的下界

对任意λ0\lambda \ge 0,拉格朗日函数总是小于等于原问题的最优值。 这个其实很显然,对任何一个可行解,注意到他满足等式条件,所以
g(λ,v)L(x,λ,v)=f0(x)+iλifi(x)+ivihi(x)=f0(x)+iλifi(x)g(\lambda, v) \le L(x, \lambda, v)=f_0(x) + \sum_i \lambda_i f_i(x)+\sum_i v_i h_i(x)=f_0(x) + \sum_i \lambda_i f_i(x)
而如果λ0\lambda \ge 0,那么总是在增加一个负项,所以gf0(x)g\le f_0(x)

和共轭函数的关系

回顾共轭函数:f(y)=supx{yTxf(x)}f^*(y)=\sup_x\{y^Tx-f(x)\},注意到inf(f(x))=sup(f(x))\inf(f(x))=-\sup(-f(x))
所以对于一个约束条件是affine的优化问题:

minf0(x)AxdCx=d\min f_0(x) \\ Ax\le d \\ Cx=d

它的拉格朗日函数为:

g(λ,v)=infx{f0(x)+λT(Axb)+vT(Cxd)}=bTλdTv+infx{f0(x)+λTAx+vTCx}=bTλdTv+infx{f0(x)+(ATλ+CTv)Tx}=bTλdTvsupx{(ATλCTv)Txf0(x)}g(\lambda, v)=\inf_x\{f_0(x)+\lambda^T(Ax-b)+v^T(Cx-d)\} \\ =-b^T\lambda -d^Tv+\inf_x\{f_0(x)+\lambda^TAx+v^TCx\} \\ =-b^T\lambda -d^Tv+\inf_x\{f_0(x)+(A^T\lambda+C^Tv)^Tx\} \\ =-b^T\lambda -d^Tv-\sup_x\{(-A^T\lambda-C^Tv)^Tx-f_0(x)\}

最后一行把那个括号里面看成yy,就有

g(λ,v)=bTλdTvf(ATλCTv)g(\lambda, v)=-b^T\lambda -d^Tv-f^*(-A^T\lambda-C^Tv)

定义域也可以得到,即使得ATλCTv-A^T\lambda-C^Tv落在domfdom f里的取值。

案例

对于问题

minlogdetX1aiTXai1\min \log \det X^{-1} \\ a_i^T X a_i \le 1

这里虽然约束条件不是严格的矩阵形式,但是按照trace技巧可以表述为tr((aiaT)X)1tr((a_ia^T)X)\le 1
然后设logdetX1\log\det X^{-1}的共轭函数为f(Y)f^*(Y)(这个书上有求法),那么拉格朗日函数为f(tr(λ[aiaiT]))1Tλ=f(iλiaiaiT))1Tλf(-tr(\lambda [a_ia_i^T]))-1^T\lambda=f(-\sum_i \lambda_i a_ia_i^T))-1^T\lambda
这个地方很奇怪,因为感觉求trace了似乎和定理形式不完全一样,但是trace操作带入到定理推导过程会发现没有影响。

对偶问题

对于问题

mincTxAxbCx=d\min c^T x \\ Ax\le b \\ Cx=d \\

其拉格朗日函数为g(λ,v)=infx{cTx+λT(Axb)+vT(Cxd)}=bTλdTv+infx{(ATλ+c+CTv)Tx}g(\lambda, v)=\inf_x\{c^Tx+\lambda^T(Ax-b)+v^T(Cx-d)\}=-b^T\lambda-d^Tv+\inf_x\{(A^T\lambda+c+C^Tv)^Tx\}
只有当x前面的系数ATλ+c+CTv=0A^T\lambda+c+C^Tv=0,才有确定的下界bTλdTv-b^T\lambda-d^Tv。因此,我们如果想找到最紧的下界,就是要求

maxbTλdTvATλ+CTv=cλ0\max -b^T\lambda-d^Tv \\ A^T\lambda+C^Tv=-c \\ \lambda \ge 0

这是一个线性规划问题,也就是说,经过对偶得到了一个新的凸优化问题,但代价是求出来的只是一个下界而不是最优值。

弱对偶性:设对偶问题的界为dd^*,原问题最优解为pp^*,那么有dpd^*\le p^*,即使原问题不凸,也成立

最优对偶间隙:pdp^*-d^*

强对偶性:在某些情况下p=dp^*=d^*,什么时候可以达到呢? 一个判定准则为slater准则:当一个问题是凸问题,并且所有的约束条件都存在内点x,s.t.fi(x)<0,Ax=bx, s.t. f_i(x)<0, Ax=b
松弛一些的slater准则是,仿设的约束不需要严格成立,只需要0\le 0

几何解释

书上关于对偶给出了很多解释,这里只介绍最直观的几何解释,构造几何(a,b,t)G(a, b, t)\in G,其中a、b、t分别是优化问题的不等限制、等于限制、优化目标的取值。
那么最优解p=inf{t(a,b,t)G,a0,b=0}p^*=\inf\{t|(a,b,t)\in G, a\le 0, b=0\}
而对偶函数L(λ,v,x)L(\lambda,v,x)恰好等于(λ,v,1)T(a,b,t)(\lambda, v, 1)^T(a, b, t),所以g(λ,v)(λ,v,1)T(a,b,t)g(\lambda, v)\le (\lambda, v, 1)^T(a, b, t)
从超平面的视角看,这相当于拉格朗日函数的取值就是可行域和目标函数取值构成的空间上的一个支撑。通过不断调整λ,v\lambda, v,支撑在变,取值也在变。

geo_exp.png

比如考虑只有一个不等约束的优化问题,u是不等约束的取值,那么拉格朗日函数就是t+λut+\lambda u,这个函数在u,tu,t的空间(注意不是λ\lambda)中是一条直线,也是GG集合的支撑,随着λ\lambda取值改变,支撑随之改变,dd也跟着变。

下界怎么用

次优认证

假设我们求得了一个解f(x0)f(x_0),那么这个解的优度可以表示成f(x0)pf(x_0)-p^*,问题是我们并不知道pp^*是多少,知道了还求啥。所以可以用下界g(λ,v)g(\lambda^*, v^*)来代替,因此f(x0)pf(x0)g(λ,v)f(x_0)-p^*\le f(x_0)-g(\lambda^*, v^*),这可以作为启发式的停止准则。

互补松弛条件

假设强对偶型成立,那么有

f(x)=g(λ,v)=inf{f(x)+λf(x)+vh(x)}f(x)+λf(x)+vh(x)f(x)f(x^*)=g(\lambda^*, v^*) \\ =\inf\{f(x)+\lambda f(x) + vh(x)\} \\ \le f(x^*)+\lambda f(x^*)+vh(x^*) \\ \le f(x^*)

这里第三行别因为取最优解陷进去,上一行inf可以保证小于等于永远成立。抢对偶成立的时候,下面两个不等号都是取等号的。所以说明最优值取得时,可以得到互补的两个条件:

  • λi>0fi(x)=0\lambda_i > 0 \Rightarrow f_i(x^*)=0
  • fi(x)<0λi=0f_i(x^*)<0 \Rightarrow \lambda_i =0

KKT条件

假设原问题的目标函数和约束都可微,但不假设一定是凸优化问题。当强对偶性成立时,g(λ,v)=f0(x)g(\lambda^*, v^*)=f_0(x^*),因此可以得到L(x,λ,v)L(x, \lambda^*, v^*)xx^*处取的最小值。所以L\nabla Lxx^*处为0,配合可行性等要求,可以得到一系列等式和不等式

fi(x)0hi(x)=0λi0λifi(x)=0f0(x)+iλfi(x)+vhi(x)=0f_i(x^*)\le 0 \\ h_i(x^*)=0 \\ \lambda_i^*\ge 0 \\ \lambda^*_if_i(x^*)=0 \\ \nabla f_0(x^*)+\sum_i \lambda \nabla f_i(x^*)+\sum v^* \nabla h_i(x^*)=0

也就是说,强对偶性成立时,任何最优解都得满足KKT条件。如果原问题是凸问题,那么倒过来也成立,即满足KKT条件的点也是原问题和对偶问题的最优解。

灵敏度分析

所谓灵敏度,就是对原始问题的约束条件作适当的变化,然后看新的最优解如何变化。如果约束fi(x)0f_i(x)\le 0变成了fi(x)aif_i(x)\le a_i,而hi(x)=0h_i(x)=0变成了hi(x)=bih_i(x)=b_i,那么最优解的变化可以看作是关于ai,bia_i, b_i的函数,因此有p(a,b)p(a, b),而且p(0,0)=pp(0, 0)=p^*

分析灵敏度可以使用全局不等式。在原问题为凸且强对偶性成立时,设λ,v\lambda^*, v^*是未被扰动问题的对偶问题的最优解,那么对任意a,ba, b,有

p(a,b)p(0,0)λavbp(a, b)\ge p(0, 0)-\lambda^*a-v^*b

证明
p(0,0)=p=g(λ,v)f0(x)+λf(x)+vh(x)p(0, 0)=p^*=g(\lambda^*, v^*)\le f_0(x)+\lambda^*f(x)+v^*h(x)
因为λ0\lambda \ge 0,而f(x)af(x)\le a,因此有p(0,0)=g(λ,v)f0(x)+λf(x)+vh(x)f0(x)+λa+vbp(0, 0)=g(\lambda^*, v^*)\le f_0(x)+\lambda^*f(x)+v^*h(x) \le f_0(x)+\lambda^*a+v^*b
所以对任意的可行解xx, 都有f0(x)p(0,0)λavbf_0(x) \ge p(0, 0) - \lambda^*a-v^*b,所以对于p(a,b)p(a,b)也成立。

灵敏度解释

  • λ\lambda^*很大,加强约束会导致最优值大幅变差。因为lambda大说明更加灵敏,稍微加强一下就会很影响最优值。
  • vv^*较大,选择与之异号的松弛变量,会导致大幅变差。因为这会极大增加不等式的右侧。
  • λ,v\lambda, v较小的时候法改变不会有太大影响。

注意全局不等式只给出了下界,所以结论不对称。

另外一个结论是,如果p(a,b)p(a,b)可微,那么λi=p(0,0)a,vi=p(0,0)b\lambda_i = -\frac{\partial p(0,0)}{\partial a}, v_i=-\frac{\partial p(0,0)}{\partial b}

不等式的系统的可行性:择一定理

弱择一

现在只考虑约束条件构成的不等式系统:fi(x)0,hi(x)=0f_i(x)\le 0, h_i(x)=0。这个系统是否存在可行域?

一个方法是转化成优化问题,即:

min0fi(x)0,hi(x)=0\min 0 \\ f_i(x)\le 0, h_i(x)=0

这样,如果问题的解p=0p^*=0说明可行,否则p=p^*=\infty说明不可行。因此求解一个不等式系统的可行性和求最优化问题等价。那么可以用对偶方法分析。

建立拉格朗日对偶函数g(λ,v)=infx{λf(x)+vh(x)}g(\lambda, v)=\inf_x\{\lambda f(x) + vh(x)\}

所以对偶问题是在λ0\lambda \ge 0的情况下最大化gg。所以如果你没有办法把f(x)f(x)或者h(x)h(x)搞成0,我只要让λ\lambda或者vv尽量大就可以达到无穷大。因此,该优化问题的最优值dd^*有两种情况:

  • 如果λ0,g(λ,v)>0\lambda\ge 0, g(\lambda, v)>0是可行的,那么利用其次性,λ\lambdavv等比例放大就可以达到无穷大
  • 如果λ0,g(λ,v)>0\lambda \ge 0, g(\lambda, v)>0不可行,那么最好情况也只能让λ=v=0\lambda=v=0,此时d=0d^*=0

如果dd^*可以达到无穷大了,那么根据弱对偶性pd>0p^*\ge d^*>0,原问题的不等式系统不可行。所以任何一个对偶不等式系统的可行解都证明了原不等式系统的不可行。 反之,如果原不等式系统可行,那么可以f(x)0f(x)\le0h(x)=0h(x)=0,在λ0\lambda\ge 0的情况下,g(λ,v)0g(\lambda, v)\le 0,这说明λ0,g(λ,v)>0\lambda \ge 0, g(\lambda, v)>0不可行。

因此,弱择一定理说明:原不等式系统和λ0,g(λ,v)>0\lambda\ge 0, g(\lambda, v)>0两个系统,至多有一个可行。

对于严格不等式系统:fi(x)<0,hi(x)=0f_i(x)< 0, h_i(x)=0,可以直接发现它和如下不等式系统是弱择一的

λ0λ0,g(λ,v)0\lambda \ge 0 \lambda \ne 0, g(\lambda, v) \ge 0

强择一

加强不等式系统的条件,使他是个凸系统,即ff是凸函数,hh是affine,那么择一定理可以加强为恰好有一个成立。