1 基本概念
1.1 不等式约束
1.2 广义拉格朗日函数
定义如下拉个朗日函数:
令
如果x满足1.1中的约束条件,则
则原不等式约束优化问题等价于:
,两个取得的值是完全一样的,称为原始问题。
1.3 拉格朗日对偶函数
令 ,是原始问题(变量是x)的一个下界,称为拉格朗日对偶函数(变量是)。
则对于所有,成立:
则是原始问题的最大下界:
当满足一定条件时,等号成立,这个条件就是下面的KKT条件。
2 KKT条件(原问题和对偶问题相等的充分必要条件)
2.1 KKT
我们要解决的问题是求有不等式约束函数的最优解
上面为推广式,简化版本为
对应的拉格朗日函数式为:
函数取得可行解的必要条件是梯度为0(所有偏导数为0),则得到KKT条件的第一个
................................................................................ (1)
如图,可行解x只能在区域内取得,
- 当原目标函数的可行解x落在的区域内,此时约束条件不起作用,取直接极小化即可;
- 当原目标函数的可行解落在,即边界上,此时等价于等式约束优化问题;
合并上面两种情况,或为0,我们得到KKT条件的第二个
............................................................................................... (2)
如上图的右图,当原目标函数的不在取得时,这时约束条件是有效的,也就是不能为0。在等式约束优化中,可行域是一条线(约束条件),只需要约束条件和目标函数的梯度平行即可(不需要方向一样);但是在不等式约束中,可行域是一个区域,当区域边界与等值线相切时,与目标函数负梯度平行的出了切点处的梯度外,边界另一边点的梯度也与目标函数负梯度平行(方向相反),如图
可行域是一个圆,左边指示的非可行解,右边指示的是可行解。用公式表示:
又 ==>
这样我们得到KKT条件的第三个
............................................................................................... (3)
和原始约束条件一起则有
推广式为:
参考: