凸优化与对偶问题

来源:互联网 发布:淘宝裙子知乎 编辑:程序博客网 时间:2024/05/16 18:00

这个是凸优化的最基本的形式:

其中f0为目标函数,第二行与第三行均为约束条件。从f0到fm均为凸函数,而函数h为仿射函数(即线性函数,因此既是凸函数,又是凹函数)。

表示最优解,则有

像高中的数学题一样,在约束条件下求极值都要转化为无约束条件下的优化问题,即拉格朗日函数:

其中的>=0。显然函数L在极值点,对的偏导数均为0。也就是说,函数L的极值点,必定也是函数f0 的极值点,且满足原问题的约束条件。


可是很多时候原问题并不是凸的,直接求解比较困难,就需要把问题转化一下。在这之前先要介绍一下对偶问题。

对偶问题的弱对偶性和凹性

考虑这个矩阵A
令原问题为,在这里解为5。它的对偶问题就是将原问题中的min和max调换一下位置,即为,在这里解为0。
可知,对偶问题的解小于等于原问题的解,这就是弱对偶性。在任何情况下,弱对偶性总是成立的。

回到最初的形式,原问题等价为,因为在不符合约束条件的点上的值为正无穷大,所以解总是落在约束域中。则对偶问题则为
我们可以发现不论原问题是否是凸的,它的对偶问题总是凹的,只要将对偶问题正负号转换一下就变成了凸函数。以下是对偶问题的凹性证明:






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

强对偶性与KKT条件

但是求解对偶问题毕竟只是原问题的下界,并不等同于原问题,那求解对偶问题有什么用呢?这就要提到强对偶性了。强对偶性是指原问题与对偶问题同解。在原问题是凸优化问题的时候,强对偶性通常情况下(原问题有解)是成立的。即使原问题不是凸优化,那么在满足KKT条件的情况下,强对偶性依然是成立的。记分别为原问题和对偶问题的最优解。

KKT条件表示如下:

下面来粗略的证明一下。前三个条件均为限制条件没什么好说的。

已知


强对偶性成立等价于上式取等号。又因为,所以可得



总而得到第四个条件,此即松弛互补条件。

原问题最优解是对偶问题的最优解的充要条件为,函数点处的导数应为0,可得第五个条件。


0 0
原创粉丝点击