凸优化第五章对偶 5.5最优性条件

5.5最优性条件

  1. 互补松弛性
  2. KKT最优性条件

互补松弛性

假设问题具有强对偶性,x^*为其原问题的最优解,(\lambda^*,v^*)为其对偶问题的最优解,可知:

f_0(x^*)=g(\lambda ^*,v^*)=\underset{x }{inf}(f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x))\\

根据对偶函数的定义,可知g(\lambda ^*,v^*)小于等于任意的(f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x))\\

所以取x^*时,也成立,故

f_0(x^*)=g(\lambda ^*,v^*)=\underset{x }{inf}(f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x))\\ \leq (f_0(x^*)+\sum _{i=1}^m \lambda_i^* f_i(x^*)+\sum _{i=1}^p v^*_ih_i(x^*))\\

L(x,\lambda ^*,v^*)=f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x)

再根据\forall x \in D,\lambda ^* \geq0,f_i(x)\leq 0,h_i(x)=0

可知

f_0(x^*)=g(\lambda ^*,v^*)=\underset{x }{inf}(f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x))\\ \leq (f_0(x^*)+\sum _{i=1}^m \lambda_i^* f_i(x^*)+\sum _{i=1}^p v^*_ih_i(x^*))\\ \leq f_0(x^*)

所以上述不等式的等号成立。

推出两点:

(1)x^*最小化L(x,\lambda ^*,v^*)

(2)上式等号成立,即:

f_0(x^*)=g(\lambda ^*,v^*)=\underset{x }{inf}(f_0(x)+\sum _{i=1}^m \lambda_i^* f_i(x)+\sum _{i=1}^p v^*_ih_i(x))\\ = (f_0(x^*)+\sum _{i=1}^m \lambda_i^* f_i(x^*)+\sum _{i=1}^p v^*_ih_i(x^*))\\ = f_0(x^*)

h_i(x^*)=0(等式约束),所以可推出

\sum _{i=1}^n\lambda_i^*f_i(x^*)=0,而\lambda _i^*\geq 0,f_i(x^*)\leq 0

所以\lambda_i^*f_i(x^*)=0,i=1,2\cdots m,成为互补松弛性。

也可写成:

\lambda^*_i> 0\Rightarrow f_i(x^*)=0\\ f_i(x^*)< 0\Rightarrow \lambda _i^*=0

KKT最优性条件

非凸问题的KKT条件

和前面一样,假设问题的约束函数和目标函数可微,x^*为其原问题的最优解,(\lambda^*,v^*)为其对偶问题的最优解,KKT条件:

f_i(x^*)\leq 0,i=1,\cdots m \\ h_i(x^*)=0,i=1,\cdots p \\ \lambda _i^*\geq 0,i=1,\cdots m\\ \lambda_i^*f_i(x^*)=0,i=1,\cdots m\\ \bigtriangledown_x L(x^*,\lambda^*,v^*)=\bigtriangledown _xf_0(x^*)+\sum_{i=1}^m\lambda^*_i\bigtriangledown _xf_i(x^*)+\sum_{i=1}^pv^*_i \bigtriangledown _xh_i(x^*)=0

称上式为Karush-Kuhn-Tucker条件,简称KKT条件。

对于目标函数和约束函数均可微的任意优化问题,如果强对偶性成立,那么任意一对原问题最优解和对偶问题最优解都必须满足KKT条件。

凸问题的KKT条件

当原问题是凸问题时,满足KKT条件的点也是原、对偶问题的最优解。

证明:假设x^*,\lambda^*,v^*满足KKT条件,且原问题是凸问题。

f_i(x^*)\leq 0,i=1,\cdots m\, \, (1) \\ h_i(x^*)=0,i=1,\cdots p \,\,(2)\\ \lambda _i^*\geq 0,i=1,\cdots m \, \,(3)\\ \lambda_i^*f_i(x^*)=0,i=1,\cdots m \,\, (4)\\ \bigtriangledown_x L(x^*,\lambda^*,v^*)=\bigtriangledown _xf_0(x^*)+\sum_{i=1}^m\lambda^*_i\bigtriangledown _xf_i(x^*)+\sum_{i=1}^pv^*_i \bigtriangledown _xh_i(x^*)=0 \, \, (5)

前两个条件表明x^*是可行解。而因为条件(3)可知

L(x,\lambda^*,v^*)=f_0(x)+\sum _{i=1}^m\lambda_i^*f_i(x)+\sum _{i=1}^pv_i^*h_i(x)是关于x的凸函数,根据条件(5)可知L在x^*处倒数为0,故x^*极小化L(根据互补松弛性也可知x^*极小化L。)

故:

g(\lambda^*,v^*)=L(x^*,\lambda^*,v^*)=f_0(x^*)+\sum _{i=1}^m \lambda_i^* f_i(x^*)+\sum _{i=1}^p v^*_ih_i(x^*) = f_0(x^*)

所以对偶间隙为0,x^*,\lambda^*,v^*分别是原问题和对偶问题的最优解。

例子

\begin{matrix} minimize \,\, -\sum_{i=1}^nlog(x_i+a_i)\\ subject \, \, to \, \, x\succeq 0,\boldsymbol{1}^Tx=1 \end{matrix}

KKT条件:

-x^*\leq 0,i=1,\cdots m\, \, (1) \\ \boldsymbol{1}^Tx^*-1=0,i=1,\cdots p \,\,(2)\\ \lambda ^*\geq 0 \, \,(3)\\ \lambda_i^*x_i^*=0 \,\, (4)\\ -\frac{1}{x_i+a_i}-\lambda_i^*+v^*=0 \, \, (5)

-x^*\leq 0,i=1,\cdots m\, \, (1) \\ \boldsymbol{1}^Tx^*-1=0,i=1,\cdots p \,\,(2)\\ \lambda ^*\geq 0 \, \,(3)\\ \lambda_i^*x_i^*=0 \,\, (4)\\ \frac{1}{x_i+a_i}+\lambda_i^*=v^* \, \, (5)

根据(5)可知v^*\geq \frac{1}{x_i+a_i}

再看(4),考虑两种情况1)\lambda^*=0,此时x_i^*=1/v^*-a_iv^*=1/(x_i+a_i)\leq 1/a_i。2)x^*_i=0,此时v_i^*=\lambda_i^*+1/a_i\geq 1/a_i,所以x_i^*有两种情况,

x_i^*=\left\{\begin{matrix} 0 & v\geq 1/a_i\\ 1/v-a_i & v<1/a_i \end{matrix}\right.

整理得x_i=max(0,1/v-a_i),再根据条件(2)得到

\sum_{i=1}^nx_i=\sum_{i=1}^nmax(0,1/v-a_i)=1

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(凸优化)