凸优化第五章对偶 5.1Lagrange对偶函数

5.1Lagrange对偶函数

  1. Lagrange
  2. Lagrange对偶函数
  3. 最优值的下界
  4. 例子
  5. Lagrange对偶函数和共轭函数

Lagrange

标准形式的优化问题:

minimize \, \, f_0(x)\\ subject \, \, to \, \, \begin{matrix} f_i(x)\leq 0 &i=1,2\cdots m \\ h_i(x)=0 & i=1,2\cdots p \end{matrix}

其中x\in R^n,问题的定义域D=\bigcap _{i=0}^m dom(f_i)\cap \bigcap _{i=1}^pdom(h_i),注意这里不要求该优化问题是凸优化问题。

定义问题的Lagrange函数L:R^n\times R^m\times R^p\rightarrow R为:

L(x,\lambda ,v)=f_0(x)+\sum _{i=1}^{m}\lambda _if_i(x)+\sum _{i=1}^{p}v_ih_i(x)

定义域:L=D\times R^m\times R^p\lambda _i为第i个不等式约束f_i(x)\leq 0对应的Lagrange乘子,v _i为第i个等式约束h_i(x)= 0对应的Lagrange乘子。向量\lambda ,v为对偶变量或者问题的Lagrange乘子向量。

Lagrange对偶函数

定义Lagrange对偶函数g:R^m \times R^p\rightarrow R为Lagrange函数关于x取得的最小值:即对\lambda \in R^m,v \in R^p

g(\lambda ,v)=\underset{x \in D}{inf}L(x,\lambda,v)=\underset{x \in D}{inf}\left ( f_0(x)+\sum _{i=1}^m\lambda _if_i(x)+\sum _{i=1}^pv_ih_i(x) \right )

如果Lagrange函数关于x无下界,则g=-\infty

无论原优化问题是不是凸问题,其Lagrange对偶函数都是凹函数,因为其Lagrange对偶函数是关于(\lambda,v)的仿射函数的逐点下确界,故为凹函数。(仿射函数是凸函数,一系列凸函数的逐点上确界是凸函数,逐点下确界是凹函数。)

最优值的下界

对偶问题构成了原问题最优解p^*的下界。即\forall \lambda\succeq 0,v,下式成立:

g(\lambda,v)\leq p^*

显然:对于任意的x是可行解,

f_0(x)\geq L(x,\lambda,v)=f_0(x)+\sum _{i=1}^m \lambda_i f_i(x)+\sum_{i=1}^p v_ih_i(x)\geq \underset {x\in D}{inf}L(x,\lambda,v)=g(\lambda,v)

\Rightarrow g(\lambda,v)\leq p^*

例子

线性等式的最小范数

minimize \, \, x^Tx \\ subject \,\, to \, \,Ax=b

Lagrange对偶函数是L(x ,v)=x^Tx+v^T(Ax-b)为了最小化L,\bigtriangledown _xL(x ,v)=2x+A^Tv=0\Rightarrow x=-(1/2)A^Tv

带入得到

L(-1/2A^Tv,v)=1/4v^TAA^Tv+v^T(A(-1/2A^Tv)-b)\\=-1/4v^TAA^Tv-v^Tb

即为g(v),所以\forall v,p^*\geq g(v)

标准的线性规划

minimize \, \, c^Tx \\ subject \,\, to \, \,Ax=b,x\succeq 0

Lagrange对偶函数是L(x,\lambda ,v)=c^Tx+\lambda^T (-x)+v^T(Ax-b)=c^Tx-\lambda^Tx+v^TAx-v^Tb

为了最小化L,\bigtriangledown _xL(x,\lambda ,v)=c+A^Tv-\lambda

因为L是仿射函数,所以

g(\lambda,v)=\left\{\begin{matrix} -b^Tv &A^Tv-\lambda+c=0 \\ -\infty & A^Tv-\lambda+c\neq 0 \end{matrix}\right.

如果A^tv+c>0,p^*\geq -b^Tv

双向划分问题

minimize \, \, x^TWx \\ subject \,\, to \, \,x_i^2=1,i=1,\cdots n

其中W\in S^n,约束要求x的分量要么是1要么是-1。将此问题看出n个元素的集合(\left \{ 1,2,\cdots n \right \}),将其划分为

(\left \{ 1,2,\cdots n \right \})=\left \{ i|x_i=1 \right \}\cup \left \{ i|x_i=-1 \right \}

将矩阵系数W_{ij}看成是分量i和j在同一分区内的成本,将矩阵系数-W_{ij}看成是分量i和j在不同分区内的成本,所以目标函数就是寻找是成本最小的划分。

Lagrange对偶函数是L(x,\lambda )=x^TWx+\sum_{i=1}^nv_i(x_i^2-1)=x^T(W+diag(v))x-v^T\boldsymbol{1}

g(v)=\underset{x}{inf}L(x,\lambda )=\underset{x}{inf}x^TWx+\sum_{i=1}^nv_i(x_i^2-1)=\underset{x}{inf}x^T(W+diag(v))x-v^T\boldsymbol{1}

对x求极小得到

g(v)=\left\{\begin{matrix} -\boldsymbol{1}^Tv &W+diag(v)\succeq 0 \\ -\infty & otherwise \end{matrix}\right.

Lagrange对偶函数和共轭函数

回忆:f:R^n\rightarrow R的共轭函数f^*为:f^*(y)=\underset{x\in dom(f)}{sup}(y^Tx-f(x))

对一个优化问题:

minimize \, \, f_0(x)\\ subject \,\, to \, \,Ax\preceq b,Cx=d

其对偶函数:

g(\lambda,v)=\underset{x\in D}{inf}(f_0(x)+\lambda^T (Ax-b)+v^T(Cx-d))\\ =-\lambda^Tb-v^Td+\underset{x\in D}{sup}-(f_0(x)+(\lambda^T A+v^TC)x)\\ =-\lambda^Tb-v^Td+\underset{x\in D}{sup}(-f_0(x)-(\lambda^T A+v^TC)x)\\ =-\lambda^Tb-v^Td+\underset{x\in D}{sup}(-f_0(x)+(-\lambda^T A-v^TC)x)\\ =-\lambda^Tb-v^Td+\underset{x\in D}{sup}(-f_0(x)+(-A^T\lambda-C^Tv)^Tx)\\ =-\lambda^Tb-v^Td+\underset{x\in D}{sup}((-A^T\lambda-C^Tv)^Tx-f_0(x))\\ =-\lambda^Tb-v^Td+f^*((-A^T\lambda-C^Tv)^T)\\ =-\lambda^Tb-v^Td+f^*((-\lambda^TA-v^TC)^T)

等式约束的范式最小化

minimize \, \, \begin{Vmatrix} x \end{Vmatrix}\\ subject \,\, to \, \,Ax=b

Lagrange对偶函数是L(x,v)=\begin{Vmatrix} x \end{Vmatrix}+v^T(Ax-b)=\begin{Vmatrix} x \end{Vmatrix}+v^TAx-v^Tb,

g(v)=\underset{x}{sup}(\begin{Vmatrix} x \end{Vmatrix}+v^T(Ax-b))\\=\underset{x}{sup}(\begin{Vmatrix} x \end{Vmatrix}+v^TAx-v^Tb) =-v^Tb-f_0^*(-A^Tv)

已知范数的共轭函数

f^*(y)=\left\{\begin{matrix} 0 & \begin{Vmatrix} y \end{Vmatrix}_*\leq 1\\ \infty & otherwise \end{matrix}\right.

所以

g(v)=\left\{\begin{matrix} -b^Tv &\begin{Vmatrix} A^Tv \end{Vmatrix}\leq 1\\ -\infty & otherwise \end{matrix}\right.

如果\begin{Vmatrix} A^Tv \end{Vmatrix}\leq 1,p^*\geq -b^Tv

熵最大化问题

minimize \, \, \sum _{i=1}^nx_ilog(x_i)\\ subject \,\, to \, \,Ax\preceq b,\boldsymbol{1}^Tx=1

Lagrange对偶函数是L(x,\lambda,v)=\sum _{i=1}^nx_ilog(x_i)+\lambda^T(Ax-b)+v^T(\boldsymbol{1}^Tx-1)

g(\lambda,v)=\underset{x \in D}{sup}L(x,\lambda,v)=\underset{x \in D}{sup}(\sum _{i=1}^nx_ilog(x_i)+\lambda^T(Ax-b)+v(\boldsymbol{1}^Tx-1))\\ =-\lambda^Tb-v+\underset{x \in D}{sup}(\sum _{i=1}^nx_ilog(x_i)+\lambda^TAx+v\boldsymbol{1}^Tx)\\ =-\lambda^Tb-v+\underset{x \in D}{inf}(-\sum _{i=1}^nx_ilog(x_i)-\lambda^TAx-v\boldsymbol{1}^Tx)\\ =-\lambda^Tb-v+f^*(-A^T\lambda-\boldsymbol{1}v^T),

已知目标函数的共轭函数

f^*(y)=\sum _{i=1}^ne^{(y_i-1)}

所以

g(\lambda,v)=-\lambda^Tb-v+f^*(-A^T\lambda-\boldsymbol{1}v^T)\\ =-\lambda^Tb-v+\sum_{i=1}^ne^{-a_i^T\lambda- v-1}

a_i是A的第i列向量。

猜你喜欢

转载自blog.csdn.net/wangchy29/article/details/86818127