[面试知识点]拉格朗日函数中的不等式约束系数为什么需要大于等于0?
- 2020 年 6 月 24 日
- AI
在原始问题中,原始优化函数 一般有两个约束条件来限制优化问题的可行域,一个是不等式约束,一个是等式约束。
这里为了方便理解,我们先说等式约束,如下图slide中所示,我们不妨假设f(x)是三维空间的一个函数,其中平面上的坐标系是 ,
,纵坐标是
,即
。如果没有约束的话,这里求
的最小值,我们可以很容易看出是圆锥体的底部,也就是坐标(0, 0, 0)的位置。

等式约束的几何效果相等于用一个平面切圆锥体,这时候 的极小值就会被约束在一个平面上,这时候我们看切完的俯视图(如下图的右图所示),红色同心圆是等高线,紫色曲线是两者的截面曲线,曲线位于
和
交界上。我们如果想求
上的极小值,显然是曲线与同心圆相切的位置。需要注意的是,这里需要判断切点位置两个函数的梯度的方向:
我们一般把函数的梯度方向记为函数值变大的方向,在下图所示的情况中,同心圆等高线在切点处的梯度方向与曲线在切点处的梯度方向在一条直线上(方向相同或者相反)。这样我们就可以定义 ,从而给出融合了等式约束的拉格朗日函数

对于不等式约束,这里分两种情况讨论:
- 当不等式的可行域不包含
无约束时的极小值点时,这时候优化函数与不等式约束的梯度方向相反,所以
- 当不等式的可行域包含f(x)无约束时的极小值点时,这时候不等式约束不起作用,所以


综上,在拉格朗日函数中:不等式约束的系数 需要成立;等式约束的系数没有要求。
到这里,我们同时可以给出KKT条件中的两个重要的条件,分别是KKT互补条件和不等式约束的系数

这样KKT条件中全部需要的条件已经得到:

参考资料:
等式约束与不等式约束问题_Sonnet-CSDN博客_等式约束//www.bilibili.com/video/BV1cZ4y147vZ?p=3