凸优化问题

一、无约束优化

对于无约束的优化问题,直接令梯度等于0求解。

如果一个函数$f$是凸函数,那么可以直接通过$f(x)$的梯度等于0来求得全局极小值点。

 

二、有约束优化

 

 

  • 若$f(x),h(x),g(x)$三个函数都是线性函数,则该优化问题称为线性规划。若任意一个是非线性函数,则称为非线性规划
  • 若目标函数为二次函数,约束条件全为线性函数,称为二次规划
  • 若$f(x)$为凸函数,$g(x)$为凸函数,$h(x)$为线性函数,则该问题称为凸优化。注意这里不等式约束$g(x)<=0$则要求$g(x)$为凸函数,若$g(x)>=0$则要求$g(x)$为凹函数。

1.只含有等式约束

对于含有等式约束的优化问题,拉格朗日乘子法,构造拉格朗日函数,令偏导为0求解。

(1)优化问题是凸优化

通过下图两个条件求得的解就是极小值点(而且是全局极小)

(2)优化问题不是凸优化

上面两个条件只是极小值点的必要条件,还需要附加多一个正定的条件才能变成充要条件

 

2.只含有不等式约束

对于含有不等式约束的优化问题,同样构造拉格朗日函数,利用KKT条件求解。

对于不等式约束$g(x)<=0$,和等式约束$h(x)=0$不一样,$h(x)=0$可以在平面上画出一条等高线,而$g(x)<=0$是一个区域,很多个等高线堆叠而成的一块区域,我们把这块区域称为可行域。

  • (不考虑可行域限制时的)极小值点落在可行域内(不包含边界)

这个时候可行域的限制不起作用,相当于没有约束,直接$f(x)$的梯度等于0求解,这个时候$g(x极小值点)<0$(因为落在可行域内)。

  • (不考虑可行域限制时的)极小值点落在可行域外(包含边界)

可行域的限制起作用,极小值点应该落在可行域边界上即$g(x)=0$,类似于等值约束,此时有$g(x)$的梯度和$f(x)$的负梯度同向。

总结以上两种情况,可以构造拉格朗日函数来转换求解问题。

(1)优化问题是凸优化

对于不等式约束的优化,需要满足三个条件,满足这三个条件的解x*就是极小值点。

这三个条件就是著名的KKT条件,它整合了上面两种情况的条件。

特别注意:优化问题是凸优化的话,KKT条件就是极小值点(而且是全局极小)存在的充要条件。

 

(2)优化问题不是凸优化

约束问题不是凸优化,KKT条件只是极小值点的必要条件,不是充分条件,KKT点是驻点,是可能的极值点。也就是说,就算求得的满足KKT条件的点,也不一定是极小值点,只是说极小值点一定满足KKT条件。

不是凸优化的话,还需要附加多一个正定的条件才能变成充要条件,如下图所示

 

 

 3.既有等式约束也有不等式约束

 

 

 4.凸优化的应用

 

 

 

 

 

 

 

参考文献:

【1】Lagrange Multipliers and the Karush-Kuhn-Tucker conditions

【2】拉格朗日对偶性

posted @ 2019-09-03 14:40  nxf_rabbit75  阅读(3215)  评论(0编辑  收藏  举报