判斷kkt條件的例題 KKT條件原理

2021-10-16 19:39:17 字數 1300 閱讀 8794

問題引入

max f(x, y)

s.t.

g(x,y) <= 0

幾何解釋

a.  g(x ,y) <= 0為上圖中z = 0平面中的圓,圓的邊表示g(x, y) = 0,圓的內部表示g(x, y) < 0。

b.  z = f(x, y)為上圖中的曲面。

上述極值問題就是要求當點(x, y)落在圓內時(包括圓的邊),f(x, y)的最大值。

1、    如果極值點在圓內,則顯然有

f'(x, y) = 0

g(x, y) < 0

2、    如果極值點在圓邊上,有拉格朗日乘子法我們知道

f』(x, y) + λg』(x ,y) = 0

g(x, y) = 0

如果是數學考試,我們直接求出上面兩種情況的所有解(x, y),再帶入f(x, y)計算,選取最大值即可。

對偶問題

稍微修改一下文章開頭的極值問題,得到新的極值問題1

min f(x, y)

s.t.

g(x,y) <= 0

拉格朗日函式如下

f(x, y, λ) = f(x, y) + λg(x, y)

我們對x, y求導數並令其為0,即

f』(x, y, λ) = f』(x, y) + λg』(x, y) = 0

場景1等價於

f』(x, y, λ) = 0

g(x, y) < 0

λ = 0

場景2等價於

f』(x, y, λ) = 0

g(x, y) = 0

λ > 0

場景二極小值點在圓邊上,如果此時f(x, y)與g(x, y)梯度方向相同,說明點(x ,y)往圓內移動,f(x, y)的值會和g(x, y)的值一樣減小,顯然此時圓邊上的點(x, y)不是極小值點。所以如果f(x, y)的極小值點在圓邊上,必然f(x, y)與g(x, y)梯度方向相反,即λ > 0。

綜合上述兩種情況,極值問題1的對偶問題2如下(對偶問題解決了,原問題也就解決了)

max f(x, y, λ) = f(x, y) + λg(x, y)

s.t.

g(x, y) <= 0

λ >= 0

λg(x, y) = 0

點(x, y)在圓圈g(x, y) <= 0內,對於λ >= 0,我們有f(x, y, λ) <= f(x, y),於是f(x, y, λ)的上界就是f(x, y)的下界。

我們把g(x) <= 0

λ >= 0

λg(x) = 0

稱作kkt條件。x表示向量(x1; x2; …; xn)。

判斷kkt條件的例題 kkt條件例題求解

karush kuhn tucker條件,kkt條件 kkt點 稱 為對.計算結果 1 0 2 4 3 3 4 1 w1 2 w2 2 b 3 疑問 1.為什麼要規定 i 0 2.kkt 條件在求解過程中體現在什麼地方。x sin x y 在 x0 y0 0.5,0.5 附近的乙個 近似 解。y c...

kkt條件例題求最優解 對KKT條件的理解

在大學的時候我們都學過等式約束的的拉格朗日優化方法,但是我們很少去理解拉格朗日優化的內在邏輯,而是直接去使用它,這裡我給出自己看了一些資料後的理解。首先,我們給出拉格朗日的數學描述 arg s.t 我們的計算方法是構造乙個拉格朗日函式,然後通過求拉格朗日函式的最優解從而得到等式條件約束下的最優解,即...

KKT條件總結

問題 fh end right.fh x 為最優解,則存在 f x h x xv 0 nabla f left x right frac left x right v 0 f x x h x v 0h x 0 h left x right 0 h x 0注 1.f在該點上的梯度 h在該點上梯度的線性...