假设目标函数是求解f(x,y)=x2+y2的最小问题。
(1)假设约束条件是h(x,y)=x+y1,即

{minf(x,y)=x2+y2s.th(x,y)=x+y1

这个不等式约束实际上包含了原点,而原点是最小的值,所以这个约束条件等价于没有约束条件的求解,其求解过程是一样的
(二)拉格朗日乘子法——KKT条件
(2)假设约束条件是h(x,y)=x+y2,即
{minf(x,y)=x2+y2s.th(x,y)=x+y2

这个情况下,与约束条件是g(x,y)=x+y=2进行约束的求解过程是一样的
(二)拉格朗日乘子法——KKT条件
即求解
{f+μh=0s.th(x,y)=x+y+2=0

(3)新增的条件
不等式实际上带来了新的条件,因为梯度指向了函数增长的方向如图,所以目标函数的梯度如下图所示,而约束函数的梯度则是相反的方向(可以理解为对h(x,y)而言,对x,y的偏导都需要使得x,y变大,所以梯度为f的相反方向)(因为梯度下降法w=wαw使得w值变小)

(二)拉格朗日乘子法——KKT条件
所以,有

f+μh=0,μ0

其中,μ0表示f,h方向相反.
完整的方程组如下:
{f+μh=0h(x,y)=x+y+2=0μ0

综合以上,可以把求极值问题:
{minfs.tgi=0,i=1,2,...,nhi0,i=1,2,...,m

通过解下面这个方程组来得到:
{f+inλigi+jmμjhj=0gi=0,i=1,2,...,nhi0,j=1,2,...,mμj0μjhj=0

这个方程组也就是所谓的KKT条件

参考非线性优化中的 KKT 条件该如何理解?

相关文章: