拉格朗日乘子法及KKT条件理解
我们只考虑不等式约束下的优化问题,如:
这里$x$是多维的向量,约束不等式$g(x)\leq0$表示的是多维空间上的一个区域,因此我们定义可行性域$K={x\in R^n|g(x)\leq0}$ 。假设$x^*$为满足约束条件的最佳解,那么我们可以分成两种情况讨论,而这两种情况的最佳解具有不同的必要条件。
$(1)$ $g(x)\leq0$ ,最佳解位于$K$的内部,称为内部解,这时约束条件是无效的,$g(x)$不起作用,约束优化退化为无约束优化,因此驻点$x^*$满足$\nabla f =0$ ,且因为是无条件约束,没有必要使用$g(x)$所以拉格朗日乘数法中的$\lambda=0$。
$(2)$ $g(x)=0$ ,最佳解落在$K$的边界上,称为边界解,此时约束条件是有效的,不等式约束变成等式约束$g(x)=0$,利用拉格朗日乘数法可得存在$\lambda$使得$\nabla f=-\lambda\nabla g$。因为我们希望最小化$f$,梯度$\nabla f($函数$f(x)$在$x$处的最陡上升方向)应指向可行性域$K$的内部(因为你的最优解最小值是在边界取得的,如果函数$f(x)$的梯度不是这样的指向,说明边界内有更小的值,这就和最优解最小值是在边界取得的相矛盾了!),但$\nabla g$指向$K$的外部(即$g(x)>0$的区域,因为梯度方向总是指向使函数增大最快的方向)且必与$\nabla f$方向相反,因此,$\lambda\ge0$,这称为对偶可行性。
综合以上两种情况我们有:
因此,无论是内部解或边界解,$\lambda g(x)=0$恒成立,这称为互补松弛性。再综合所有的情况我们可以得到不等式约束下最佳解的必要条件为:
此即为KKT条件。