凸优化与对偶问题

这个是凸优化的最基本的形式:
$$\begin{align}&\operatorname{minimize}&&f_0(x)\\&\operatorname{subject\;to}&&f_i(x)\leq0,\quad i=1,\dots,m\\&&&h_i(x)=0,\quad i=1,\dots,p\end{align}$$


其中f0为目标函数,第二行与第三行均为约束条件。从f0到fm均为凸函数,而函数h为仿射函数(即线性函数,因此既是凸函数,又是凹函数)。
用$p^\ast$表示最优解,则有$f_{0}(p^\ast)\leq f_{0}(x)$,在约束条件下求极值需要转化为无约束条件下的优化问题,即拉格朗日函数:
$$ L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^m\lambda_if_i(x)+\sum_{i=1}^p\nu_ih_i(x)$$
 其中$\small \lambda \geq0 $。显然函数L在极值点,对$x,\lambda,\nu$的偏导数均为0。也就是说,函数L的极值点,必定也是函数f0 的极值点,且满足原问题的约束条件。
可是很多时候原问题并不是凸的,直接求解比较困难,就需要把问题转化一下。在这之前先要介绍一下对偶问题。


对偶问题的弱对偶性和凹性
------------
考虑这个矩阵A,
$$A=\begin{bmatrix}5&5&5\\1&8&8\\8&1&8\\8&8&1\\0&\infty&\infty\\\infty&0&\infty\\\infty&\infty&0\end{bmatrix}$$
令原问题为$p^\ast=_{\;\;i}^{min}{_{\;\;j}^{max}}a_{ij}$,在这里解为5。它的对偶问题就是将原问题中的min和max调换一下位置,即为$d^\ast=_{\;\;j}^{max}{_{\;\;i}^{min}}a_{ij}$,在这里解为0。


由$_{\;\;j}^{max}{_{\;\;\;i}^{\;min}}\;a_{ij}=d^\ast=a_{i_{d}j_{d}}\leq a_{i_{p}j_{d}}\leq a_{i_{p}j_{p}}=p^\ast=_{\;\;i}^{min}{_{\;\;j}^{max}}\;a_{ij}$可知,对偶问题的解小于等于原问题的解,这就是弱对偶性。在任何情况下,弱对偶性总是成立的。
回到最初的形式$L(x,\lambda,\nu)=f_0(x)+\sum_{i=1}^m\lambda_i f_i(x)+\sum_{i=1}^p\nu_i h_i(x)$,原问题等价为$p^\ast=_{\;\;x}^{min}{_{\lambda,\nu}^{max}\textrm{}}\;L(x,\lambda,\nu)=_{\;\;x}^{min}\textrm{}\theta_{p}(x)$,因为在不符合约束条件的点上的值为正无穷大,所以解总是落在约束域中。对偶问题则为$d^\ast=_{\lambda,\nu}^{max}{_{\;\;x}^{min}}\;L(x,\lambda,\nu)=_{\lambda,\nu}^{max}\theta_{d}(\lambda,\nu)$。


而不论原问题是否是凸的,它的对偶问题总是凹的,只要将对偶问题正负号转换一下就变成了凸函数。以下是对偶问题的凹性证明:
$$\theta_{d}(\lambda,\nu)=_{\;\;x}^{min}\textrm{}L(x,\lambda,\nu)=g(\lambda,\nu)
\\ \small g(\lambda^{1},\theta^{1})=f_{0}(x_{1})+\sum \lambda_{i}^{1}f_{i}(x_{1})+\sum\nu_{i}^{1}h_{i}(x_{1})\leq f_{0}(x)+\sum \lambda_{i}^{1}f_{i}(x)+\sum\nu_{i}^{1}h_{i}(x)\\
\small g(\lambda^{2},\theta^{2})=f_{0}(x_{2})+\sum \lambda_{i}^{2}f_{i}(x_{2})+\sum\nu_{i}^{2}h_{i}(x_{2})\leq f_{0}(x)+\sum \lambda_{i}^{2}f_{i}(x)+\sum\nu_{i}^{2}h_{i}(x)$$
$$\small g(\theta\lambda^{1}+(1-\theta)\lambda^{2},\theta\nu^{1}+(1-\theta)\nu^{2})\\ = f_{0}(x_{3})+\sum[\theta\lambda_{i}^{1}+(1-\theta)\lambda_{i}^{2}]f_{i}(x_{3})+\sum[\theta\nu{i}^{1}+(1-\theta)\nu{i}^{2}]h_{i}(x_{3}) \\ = \theta[f_{0}(x_{3})+\sum\lambda_{i}^{1}f_{i}(x_{3})+\sum\nu_{i}^{1}h_{i}(x_{3})]+(1-\theta)[f_{0}(x_{3})+\sum\lambda_{i}^{2}f_{i}(x_{3})+\sum\nu_{i}^{2}h_{i}(x_{3})]\\ \geq \theta[f_{0}(x_{1})+\sum\lambda_{i}^{1}f_{i}(x_{1})+\sum\nu_{i}^{1}h_{i}(x_{1})]+(1-\theta)[f_{0}(x_{2})+\sum\lambda_{i}^{2}f_{i}(x_{2})+\sum\nu_{i}^{2}h_{i}(x_{2})]\\ =\theta g(\lambda^{1},\nu^{1})+(1-\theta)g(\lambda^{2},\nu^{2})$$


因此求解对偶函数将会简单很多。


强对偶性与KKT条件
----------
但是求解对偶问题毕竟只是原问题的下界,并不等同于原问题,那求解对偶问题有什么用呢?这就要提到强对偶性了。强对偶性是指原问题与对偶问题同解。在原问题是凸优化问题的时候,强对偶性通常情况下(原问题有解)是成立的。即使原问题不是凸优化,那么在满足KKT条件的情况下,强对偶性依然是成立的。记$\small x^{*}$和$\small(\lambda^{*},\nu^{*})$分别为原问题和对偶问题的最优解。
KKT条件表示如下:
$$\small f_i(x^\ast) \leq 0, \quad i=1,\dots,m \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;(1)\\ h_i(x^\ast) = 0, \quad i=1,\dots,p \;\;\;\;\;\;\;\;\;\;\;\;(2)\\ \lambda_i^\ast \geq 0, \quad i=1,\dots,m \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;(3)\\ \lambda_i^\ast f_i(x^\ast) = 0, \quad i=1,\dots,m \;\;\;\;\;\;\;(4)\\ \nabla f_0(x^\ast)+\sum_{i=1}^m \lambda_i^\ast\nabla f_i(x^\ast)+\sum_{i=1}^p \nu_i^\ast\nabla h_i(x^\ast) = 0 \;\;\;\;(5)$$
下面来粗略的证明一下。前三个条件均为限制条件没什么好说的。
已知
$$\small g(\lambda^\ast,\nu^\ast) \\ =  _{\;\;x}^{min}\textrm{}( f_0(x) + \sum_{i=1}^m \lambda_i^\ast f_i(x) + \sum_{i=1}^p \nu_i^\ast h_i(x) ) \\ \leq  f_0(x^\ast) + \sum_{i=1}^m \lambda_i^\ast f_i(x^\ast) + \sum_{i=1}^p \nu_i^\ast h_i(x^\ast) \\ \leq  f_0(x^\ast)\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;$$
强对偶性成立等价于上式取等号。又因为$\small \lambda\geq 0,\;f_{i}(x)\leq 0,\;h_{i}(x)=0$,所以可得$$\small \sum_{i=1}^m \lambda_i^\ast f_i(x^\ast) = 0\\ \small \lambda_i^\ast f_i(x^\ast)=0,\quad i=1,\dots,m$$
从而得到第四个条件,此即松弛互补条件。
原问题最优解$\small x^{*}$是对偶问题的最优解的充要条件为,函数$\small f_0(x) + \sum_{i=1}^m \lambda_i^\ast f_i(x) + \sum_{i=1}^p \nu_i^\ast h_i(x)$在点$\small x^{*}$处的导数应为0,可得第五个条件。


你可能感兴趣的:(凸优化与对偶问题)