[面試知識點]拉格朗日函數中的不等式約束係數為什麼需要大於等於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