非線性約束極值問題 拉格朗日乘子法 方法與原理

2021-09-30 13:31:31 字數 2182 閱讀 3332

非數學專業,只是用得到,所以學一下。

首先來看一下非線性最優化問題,一般有這麼幾類。

找到乙個合適的x,是的f(x)最小:

minxf(

x)沒有任何約束的最優化問題,這個一般解法有 梯度下降法、牛頓法、擬牛頓法等。

minxf(

x)subject to hi

(x)=

0i∈[

1,n]

minxf

(x)subject to hi

(x)=

0gj(

x)<=0i

∈[1,

m],j

∈[1,

n]上面的式子是說, 在滿足m個等式 即 hi

(x)=

0 和 n個不等式 gj

(x)<=

0 的條件下求f(x)的最小值。

對於第二類問題,可以轉化為一下問題

minf(x

)=mi

n[f(

x)+∑

i=1n

λihi

(x)]

λi 為拉格朗日乘子。 令 ∂

f(x)

/∂x=

0 , ∂f

(x)/

∂λ=0

,該最優化問題即可的解。

上面公式中的x是乙個向量,多維的資料難以繪圖和理解,這裡以二維為例。有這樣的最優化問題:

minz

=minf(

x,y)

s.t.

g(x,

y)=c

如果將 z=f(x,y)繪製成乙個三維影象,可以想象必定有波峰有波谷,如果想用二維影象繪製這個函式,只能以等高線的形式(想象一下等高線地形圖),下圖給出了等高線圖。因為極值點必須是乙個可行解,即必須滿足g(

x,y)

=c這個條件,所以極值點處的等高線必定和g(

x,y)

=c相較於一點。 假設兩條線不相切,那麼必定有另外一條等高線與之相切。考慮相切的情況,f(x,y)取得極值,且滿足等式條件。

在相切時,其梯度方向平行,即▽[

f(x,

y)+λ

(g(x

,y)−

c)]=

0λ≠0

給出乙個新的函式 f(

x,y)

=▽[f

(x,y

)+λ(

g(x,

y)−c

)]=0

在求其極值的時候,令 ▽f

(x,y

)=0 ,即可的解。

# 第三類與kkt條件

在滿足kkt條件時,可以將帶有不等式的非線性最優化問題轉化為無約束的最優化問題。

首先將原目標公式和等式不等式合為乙個公式f(

x,λ,

μ)=f

(x)+

∑iλi

hi(x

)+∑j

μjgj

(x)

並需滿足以下條件

(1) ∂f

(x,λ

,μ)/

∂x=0

這個條件是計算最優化問題的核心。 使用梯度下降法可以迭代求解。

(2) λi

≠0這個條件保證等式約束是成立的,如果該值為零,相當於丟失了約束條件。

(3) μj

>=

0 ,原條件中 gj

(x)<=

0 ,公式加上乙個小於等於0的數,符合最小化的方向。如果加乙個正數,則與最小化方向相反,所以 這個條件保證了 μj

gj(x

) 小於等於0 。

(4) uj

gj(x

)=0 ,該條件表明只有在該項取最大值時,整個公式取極小值才是真正的極小值。 這個式子最大為0, 所以要求其為0。

進一步思考, 這兩項相乘為0,那麼至少有一項為0, 如果是 uj

為0 ,說明這個條件並未生效,就是說整個函式的極小值並不在這個條件的邊界上。 如果gj

(x)=

0 極小值說明在這個條件的邊界上。

(5)原本的約束條件 gj

(x)<=

0 , hi

(x)=

0 證明見 參考文獻[1]

[1]

[2]

[3]

拉格朗日乘子法(有約束優化問題)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!拉格朗日乘子法 lagrange multiplier 和kkt karush kuhn tucker 條件是求解約束優化問題的重要方法,在有等式約束時使用拉格朗日乘子法,在有不等約束時使用kkt條件。前提是 只有當目標函式為凸函式時,使用這兩種方...

非線性規劃求極值 fmincon函式運用

參考 求解問題標準型 min f x s.tx0 變數初始值 c x 非線性不等式 ceq x 非線性等式 a x b 線性不等式 aeq x beq 線性等式 lb x ub 變數約束條件 呼叫形式如下 x fmincon fun,x0,a,b,aeq,beq,lb,ub,nonlcon matl...

無約束極值 線性分類器和線性回歸基礎

總結無約束極值的基本內容以及線性分類器和回歸的基礎知識,包含梯度下降 相比於約束極值問題,無約束極值問題去掉了約束,因此表述方式非常簡單 mi nf x x en 1 現假設f x 有一階連續偏導,極小值點為x x k 為第k次接近。在x k 點沿著方向p k 做射線,有 x k 1 x k p k...