共找到2條詞條名為拉格朗日乘數法的結果 展開

拉格朗日乘數法

尋找多元函數的極值的方法

拉格朗日乘數法(以數學家約瑟夫·路易斯·拉格朗日命名)是一種尋找變數受一個或多個條件所限制的多元函數的極值的方法。這種方法將一個有n個變數與k個約束條件的最優化問題轉換為一個有n+k個變數的方程組的極值問題,其變數不受任何約束。這種方法引入了一種新的標量未知數,即拉格朗日乘數:約束方程的梯度(gradient)的線性組合里每個向量的係數。此方法的證明牽涉到偏微分,全微分或鏈法,從而找到能讓設出的隱函數的微分為零的未知數的值。

條件極值是限制在一個子流形上的極值,條件極值存在時無條件極值不一定存在,即使存在二者也不一定相等。

基本內容


定義介紹

設給定二元函數z=ƒ(x,y)和附加條件φ(x,y)=0,為尋找z=ƒ(x,y)在附加條件下的極值點,先做拉格朗日函數
,其中λ為參數。求L(x,y)對x和y的一階偏導數,令它們等於零,並與附加條件聯立,即
L'x(x,y)=ƒ'x(x,y)+λφ'x(x,y)=0,
L'y(x,y)=ƒ'y(x,y)+λφ'y(x,y)=0,
拉格朗日乘數法
拉格朗日乘數法
φ(x,y)=0
由上述方程組解出x,y及λ,如此求得的(x,y),就是函數z=ƒ(x,y)在附加條件φ(x,y)=0下的可能極值點。

證明

以三元函數為例,即求目標函數:u=f(x,y,z) 在限制條件:①G(x,y,z)=0 ② H(x,y,z)=0下的極值。
假定f,G,H具有連續的偏導數,且Jacobi矩陣:
在滿足約束條件的點處是行滿秩,即Rank(J)=2。
先考慮取到條件極值的必要條件,上述約束條件實際是空間曲線的方程。設曲線上一點( , , ) 為條件極值點,由於在該點處rank(J)=0,不妨假設在( , , )點處,則由隱函數存在定理,在點( , , )附近由該方程可以確定 y=y(x),z=z(x),其中 =y( ), =z( ),它是這個曲線方程的參數形式。
的無條件極值問題,是函數(x)的極值點,因此有 '(x)=0。
也就是
這說明向量 gradf( , , )與向量正交,即與曲線在點( , , )的切向量正交,因此這點的梯度grad f(,,)可以看做是曲線在點 ( , , ) 處的法平面上的向量。在根據平面上任意一個向量都可以有一對不共線的向量線性表示,又由於這個法平面是由grad G(x0,y0,z0)與gradH( , , )張成的,因此,存在常數a,b使得 gradf( , , )=a*grad G(x0,y0,z0)+b*gradH(x0,y0,z0)。
這就是點(,,)為條件極值點的必要條件。
將上述方程寫成分量的形式,就可以得到。

求極值

求函數f(x,y,z)在條件φ(x,y,z)=0下的極值
方法(步驟)是:
1.做拉格朗日函數L=f(x,y,z)+λφ(x,y,z),λ稱拉格朗日乘數
2.求L分別對x,y,z,λ求偏導,得方程組,求出駐點P(x,y,z)
如果這個實際問題的最大或最小值存在,一般說來駐點唯一,於是最值 可求.
條件極值問題也可以化為無條件極值求解,但有些條件關係比較複雜,代換和運算很繁,而相對來說,“拉格朗日乘數法”不需代換,運算簡單一點。這就是優勢.
條件φ(x,y,z)一定是個等式,不妨設為φ(x,y,z)=m
則再建一個函數g(x,y,z)=φ(x,y,z)-m
g(x,y,z)=0,以g(x,y,z)代替φ(x,y,z)
在許多極值問題中,函數的自變數往往要受到一些條件的限制,比如,要設計一個容積為 V的長方體形開口水箱,確定長、寬和高, 使水箱的表面積最小. 設水箱的長、寬、高分別為 x,y,z,則水箱容積V=xyz
焊制水箱用去的鋼板面積為 S=2xz+2yz+xy
這實際上是求函數 S 在 V 限制下的最小值問題。
這類附有條件限制的極值問題稱為條件極值問題,其一般形式是在條件
限制下,求函數F的極值
條件極值與無條件極值的區別
條件極值是限制在一個子流形上的極值,條件極值存在時無條件極值不一定存在,即使存在二者也不一定相等。
例如,求馬鞍面 z=x.^2-y.^2+1 被平面XOZ 平面所截的曲線上的最低點。
從其幾何圖形可以看出整個馬鞍面沒有極值點,但限制在馬鞍面被平面 平面所截的曲線上,有極小值 1,這個極小值就稱為條件極值。
必要條件
設在約束條件之下求函數的極值。滿足約束條件的點 是函數的條件極值點, 且在該點函數滿足隱函數存在條件時, 由方程定隱函數 , 於是點就是一元函數的極限點, 有
代入 , 就有
( 以下 均表示相應偏導數在點 的值 . )
Lagrange乘數法 :
由上述討論可見 , 函數 在約束條件之下的條件極值點應是方程組
的解.
引進所謂Lagrange函數
( 稱其中的實數 為Lagrange乘數 )
則上述方程組即為方程組
因此,解決條件極值通常有兩種方法
1)直接的方法是從方程組(1)中解出 並將其表示為 代入 消去 成為變數為 的函數將問題化為函數無條件極值問題;
2)在一般情形下,要從方程組(1)中解出 來是困難的,甚至是不可能的,因此上面求解方法往往是行不通的。通常採用的拉格朗日乘數法,是免去解方程組(1)的困難,將求 的條件極值問題化為求下面拉格朗日函數的穩定點問題,然後根據所討論的實際問題的特性判斷出哪些穩定點是所求的極值的。
3)在給定的條件下,若是可以將未知數代換或是解出,則可以將條件極值轉化為無條件極值,從而避免引入拉格朗日乘數的麻煩。
注意:▽φ(x,y,z)=0 且 φ(x,y,z)=0的點不會被該方法計算到,因此,若求最大值或最小值時,應把這些點列出來並單獨計算。

解題思路


我們知道, 對於"限制條件為等式,x值均為正值"的最大化問題, 滿足最大化的x組合一定滿足:F(i)(x*)-Σλj Gj(i)(x*)=0, i=1,2,3,.....n, j=1,2,...m. 從這裡我們看到,如果限制條件 Gj(x*)=cj 中的 cj 變化 dcj , 如果全部作用於x(i),那麼引起的dx(i)=dcj/Gj(i)(x*),從而導致目標方程取值變化dF=F(i)(x*)dcj/Gj(i)(x*)=λj*dcj [注意:對於同一個限制條件j,我們由上一節已經知道必然有: F(i)(x*)/Gj(i)(x*)=F(i')(x*)/Gj(i')(x*)=λj (i不等於i')]. 那麼我們得到:λj=dF/dcj.也就是說,拉格朗日乘數其實代表的是cj對最大化目標函數F的邊際影響. 雖然這裡考慮的是僅僅cj發生變化,我們可以對此加以推廣,比如整體的c向量發生變化到 c+dc, dc是一個m-維向量, 那麼F的總變化量dF就是Σλj dCj, j=1,2,...m.
舉一個具體的實例: 假如一個計劃經濟體系下,政府實施如前所述的最大化問題(在有限資源如勞動力,自然礦產,人力資本等的限制下使社會整體效用/福利最大化),並已經找到了滿足最大化條件的x組合. 假設萬能的上帝允許該國的勞動力資源可以額外增加dc1, 那麼根據拉格朗日乘數的經濟學含義我們知道給整個社會帶來的福利將是λ1*dc1. 但是上帝說:要獲得這個額外的勞動力資源,你們必須以一定數量的其他資源比如土地來跟我交換,以示公平。那麼我們人類政府該拿多少土地來跟上帝換呢?指定該土地數量為dx2,那麼由此減少的社會福利是λ2*dc2. 如果λ1*dc1>λ2*dc2,上帝不會答應,如果反之我們不會答應。所以必然有λ1*dc1=λ2*dc2,也就是dc2=(λ1/λ2)dc1. 學過初級微觀的朋友馬上可以看出,這跟微觀經濟學中相對價格的概念十分相似。相對價格反映物與物之間的交換價值,即人們願意怎麼樣進行物與物的交換。不同的是,這裡的價格不是以錢來計算,而是以社會福利來衡量;這裡的相對價格λ1/λ2中的λ1和λ2是基於解決社會福利最大化問題而計算出來的,不同於市場中的價格P1,P2. 由於這個原因,我們把λ叫做"影子價格"(shadow price). 如果我們偶爾發現某個市場經濟下市場價格之比恰恰等於影子價格之比,我們稱這個市場被一雙看不見的手所指引,因為該市場居然可以自發調整解決社會福利的最大化問題.
再來考慮"限制條件為非等式"的情況. 我們知道市場價格通常都不可能為零或負數。但是影子價格確不同,它描述的是限制方程右方cj對整體目標函數值的邊際影響。在限制條件Gj為非等式的情況下,增加額外的cj不一定就意味著目標函數值的增加。比如, 限制條件為"社會某消費產品不得高於cj",目標函數為投資量。如果cj提高,那麼消費該產品增加,導致投資量減少,目標函數值減少。這時影子價格就是一個負值。再比如,目標函數為產量,限制條件為"同時參加勞動的工人數量不得高於cj".如果cj增加,那麼同時勞動的工人數量增加,可能導致勞動力邊際產量遞減效應的發生,這時總產量可能不增反降。這時我們情願不增加工人;換句話說,我們情願把一些資源放在一旁不予利用(free dsiposal).這時候再增加這些勞動力資源,對總產量已經沒有作用了,所以影子價格為零. 事實上,根據前一節所述的庫恩-塔克定理,這一點是很明顯的。庫恩-塔克定理說,滿足最大化問題解的x一定使得下面的條件滿足:
Lλ(x, λ)>=0, λ>=0, 互補鬆散
就是說,如果Lλ(x, λ)=c-G(x*)>0, 那麼說明有資源餘缺閑置,這時λ=0.如果Lλ(x, λ)=c-G(x*)=0,那麼說明資源全部被使用,其邊際效用λ>0.
注意:這裡我們通過對拉格朗日乘數的解釋考查了cj的微小變動dcj對目標函數最大值的變化的影響,這就是開篇所說的比較靜態研究--研究參數θ的變化對最大值的影響。所以我們在進行比較靜態研究的時候必須把目標函數看成是同時關於x和參數θ的函數. 基於這一點,我們從另一個角度來看λ的確定. 考察參數cj,如果cj變化一點點到cj+dcj,那麼相應地最佳組合x*變動到x*+dx*,最大目標值也由F(x*)變化為F(x*+dx*).由泰勒一階展開我們得到: dF=F(x*+dx*)-F(x*)=Fx(x*)dx*+Fcj(x*)dcj.根據拉格朗日乘數法一階必要條件,我們有:Fx(x*)=λj Gx(x*),所以dF=λj Gx(x*)dx*+Fcj(x*)dcj=λj Gx(x*)dx*,我們又知道根據限制條件方程G(x*)=cj,在cj變化到cj+dcj的過程中,Gx(x*)dx*=dcj,所以dF=λj dcj.同樣推導出了λ的定義式. 更一般地,如果F和G都是關於x和參數θ的函數,如果參數θ變動到θ+dθ,x隨之變動到x+dx,那麼:
dF=F(x+dx,θ+dθ)-F(x,θ)=Fx(x,θ)dx+Fθ(x,θ)dθ=λGx(x,θ)dx+Fθ(x,θ)dθ...(1)
由於G是關於x和θ的函數G(x,θ)=c,所以在θ變化的過程中始終有
Gx(x,θ)dx+Gθ(x,θ)dθ=dc...................................................(2)
拉格朗日乘數法
拉格朗日乘數法
代入(1)式,我們得到:
dF=λdc -λGθ(x,θ)dθ+Fθ(x,θ)dθ=Lθ(x,λ,θ)dθ+λdc....................(3)
這就是最一般化的比較靜態公式。我們在研究影子價格λ的時候,沒有考慮任何參數θ的變化,所以公式(3)的第一項為零,這樣dF=λdc.反之,我們在某些情況下不考慮c的變化,而側重於參數θ的變化,這時公式(3)變化為: dF=Lθ(x,λ,θ)dθ.如果只有函數F跟θ有關,而G跟θ無關,那麼公式(3)簡化為dF=Fθ(x,θ)dθ. 注意:1. 在參數θ變化的過程中,θ-->θ+dθ,x-->x+dx,但是對目標函數值的影響卻只要考慮拉格朗日函數對θ的偏微分,而且該偏微分在原來最優點x處取值。這是我們用泰勒一階展開應該得到的結論. 2.這裡的x雖然沒有標上星號*,但不言自明的是它們都應該是最優組合,而且它們也都是關於參數θ的函數x(θ). 如果我們把最大化了的F定義成一個新函數最優目標方程V(θ),那麼由剛剛推導出來的公式(3): dF=Fθ(x,θ)dθ 我們有 Vθ(θ)=Fθ(x(θ),θ). 再次提醒注意,這裡的x(θ)是滿足最大化條件的最優點。如果我們再定義一個普通目標函數F(x',θ),但是這裡的x'是任意值,不一定是最優點x(θ).假設對應這個x'的能使 F 函數值最大的θ是θ'.那麼V(θ)在θ'點處的斜率為:Vθ(θ')=Fθ(x(θ'),θ'). 但我們知道,x(θ')=x'.所以Fθ(x(θ'),θ')=Fθ(x',θ').而後者就是函數F(x',θ)在點θ'的斜率。這就是說,函數V(θ)和函數F(x',θ)在點(x',θ')處的斜率相等. 這個結論對於x'取任意一個固定值都是成立的,所以從幾何圖形上來看,見圖示,最優目標函數V(θ)把普通目標函數曲線族緊緊包圍住。因此,dF=Fθ(x,θ)dθ 往往又稱為"包絡定理"(envelope theorem). 微觀經濟學裡面的短期成本和長期成本之間的關係就是符合信封定理的,因為這裡的成本都是滿足了成本最小化之後的成本。
均衡原則
微觀經濟學研究消費者行為時,所要闡述的核心問題是消費者均衡的原則。所謂消費者均衡指的是一個有理性的消費者所採取的均衡購買行為。進一步說,它是指保證消費者實現效用最大化的均衡購買行為。
但人的需要或慾望是無限的,而滿足需要的手段是有限的。所以微觀經濟學所說的效用最大化只能是一種有限制的效用最大化。而這種限制的因素就是各種商品的價格和消費者的貨幣收入水平。
首先,我們先引入一些名詞解釋:
總效用(TU):消費者在一定時間內消費一定數量某種商品或商品組合所得到的總的滿足。
邊際效用(MU):消費者在所有其它商品的消費水平保持不變時,增加消費一單位某種商品所帶來的滿足程度的增加,也就是說指增加一單位某種商品所引起的總效用的增加。
商品數量(Q),商品價格(P), 收入(I)
邊際效用的公式表達為:MU=∂TU/∂Q
那麼如何才能實現在制約條件下效用最大化的商品組合呢?
就是當消費者把全部收入用於購買各種商品時,他從所購買的每一種商品所得到的邊際效用與其價格的比例都相同,這樣的商品組合就是最佳的或均衡的商品組合。
假設當消費者選擇兩種商品x,y時,消費者均衡原則的公式表達為:
MUx/Px = MUy/Py("/"為分數線)
制約條件的公式表達式為:I=Px∙Qx+Py∙Qy。那麼這一結論是如何推導出來的呢?解決這一問題最直接的方法就是拉格朗日乘數法。
上面說到:在利用偏導數求多元函數的極值時,若函數的自變數有附加條件,則稱之為條件極值。
套用到微觀經濟學裡面:設效用函數U(Qx,Qy),為使它在制約條件下取得極值,首先建立拉格朗日函數:L=U(Qx,Qy)+λ( I-Px∙Qx-Py∙Qy),λ為參數。求L(x,y)對x和y的一階偏導數,令它們等於零,並與附加條件連立。
∂L/∂Qx=∂U/∂Qx-λPx=0 ⑴
∂L/∂Qy=∂U/∂Qy-λPy=0 ⑵
I-Px∙Qx-Py∙Qy=0 ⑶
將方程⑴除以方程⑵,得:
∂U/∂Qx ‗ Px 即 MUx ‗ MUy
∂U/∂Qy Py PX Py
所以,消費者要實現兩種商品的效用最大化,邊際效用的比率應該等於價格比率。
以上是關於x和y兩種商品所說的,是否同樣適用於多種商品呢?答案是肯定的。如果消費者在n種商品中做出選擇,則消費者均衡的原則可表達為:
MU1 ‗ MU2 ‗ MU3 ‗ … ‗ MUn
P1 P2 P3 Pn
這一結論同樣可用拉格朗日乘數法證明。
拉格朗日乘數法可推廣到求n元函數ƒ(x1,x2,…,xn)在m個附加條件φ(x1,x2,…,xn)下的條件極值。
方法如下:
m
⑴做拉格朗日函數L(x1,x2,…,xn)=ƒ(x1,x2,…,xn)+ ∑λiφi(x1,…x2);
i=1
⑵求L(x1,…xn)關於x1,…xn的偏導數,令它們等於零,並與附加條件聯立,即
m
L'xi==ƒ'xi+ ∑λiφ'i=0 ,i=1,2,…,n
i=1
φk(x1,x2,…,xn)=0 ,k=1,2,…,n
求解此方程組,可得到極值點。
回到我們的問題中,設效用函數U(Qx1,Qx2,…Qxn),為使它在制約條件下取得極值,首先建立拉格朗日函數:
L=U(Qx1,Qx2,…Qxn )+λ(I-Px1∙Qx1-P2∙Qy2-…-Pxn∙Qxn),λ為參數。求L(x1,x2,…xn)對x1,…,xn的一階偏導數,令它們等於零,並與附加條件聯立。
∂L/∂Qx1=∂U/∂Qx1-λPx1=0 (1)
∂L/∂Qx2=∂U/∂Qx2-λPx2=0 (2)
…… …
∂L/∂Qxn=∂U/∂Qxn-λPxn=0 (n)
I-Px1∙Qx1-P2∙Qy2-…-Pxn∙Qxn
將方程⑴到(n)相除,即得,
MUx1 ‗ MUx2 ‗ … ‗ MUxn
Px1 Px2 Pn
所以,消費者要實現n種商品的效用最大化,邊際效用的比率應該等於價格比率。

應用舉例


例題一

拋物面被平面 截成一個橢圓. 求該橢圓到坐標
原點的最長和最短距離.
例3求函數 在條件
下的極小值. 並證明不等式 , 其中 為任意正常數 .
以上面水箱設計為例,看一看拉格朗日乘數法求解條件極值的過程
解:這個問題的實質是求函數
在條件下的最小值問題,應用拉格朗日乘法,令
L='2*(x*z+y*z)+x*y+v*(x*y*z-V)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdx =2*z+y+v*y*z
dLdy =2*z+x+v*x*z
dLdz =2*x+2*y+v*x*y
dLdv =x*y*z-V
令 L 的各偏導等零,解方程組求穩定點
s1='2*z+y+v*y*z';
s2='2*z+x+v*x*z';
s3='2*x+2*y+v*x*y';
s4='x*y*z-V';
[v,x0,y0,z0]=solve(s1,s2,s3,s4)
v =
[ -2*2^(2/3)/V^(1/3)]
[ -8*(-1/4*2^(1/3)*V^(1/3)+1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
[ -8*(-1/4*2^(1/3)*V^(1/3)-1/4*i*3^(1/2)*2^(1/3)*V^(1/3))^2/V]
x0 =[ 2^(1/3)*V^(1/3)]
y0 =[ 2^(1/3)*V^(1/3)]
z0 =[ 1/2*2^(1/3)*V^(1/3)]
這裡顯然只有實數解才有意義,所以 L 的穩定點只有下面一個
又已知所求的問題確實存在最小值,從而解出的穩定點就是最小值點,即水箱長寬與為高的2倍時用鋼板最省。

例題二

再看一個條件極值求解問題
拋物面 被平面 截成一個橢圓,求這個橢圓到坐標原點的最長最短距離。(x73)
解 這個問題的實質是求函數
在條件 與 下的最大、最小值問題,應用拉格朗日乘法,令
L='x^2+y^2+z^2+v*(x^2+y^2-z)+h*(x+y+z-1)';
dLdx=diff(L,'x')
dLdy=diff(L,'y')
dLdz=diff(L,'z')
dLdv=diff(L,'v')
dLdh=diff(L,'h')
dLdx =2*x+2*v*x+h
dLdy =2*y+2*v*y+h
dLdz =2*z-v+h
dLdv =x^2+y^2-z
dLdh =x+y+z-1
s1='2*x+2*v*x+h';
s2='2*y+2*v*y+h';
s3='2*z-v+h';
s4='x^2+y^2-z';
s5='x+y+z-1';
[h,v,x0,y0,z0]=solve(s1,s2,s3,s4,s5);
x0,y0,z0
x0 =
[ 3/4-1/4*i*13^(1/2)]
[ 3/4+1/4*i*13^(1/2)]
[ -1/2+1/2*3^(1/2)]
[ -1/2-1/2*3^(1/2)]
y0 =
[ 3/4+1/4*i*13^(1/2)]
[ 3/4-1/4*i*13^(1/2)]
[ -1/2+1/2*3^(1/2)]
[ -1/2-1/2*3^(1/2)]
z0 = -1/2, -1/2, 2-3^(1/2), 2+3^(1/2)
即 的穩定點有兩個
因為函數 在有界閉集 上連續,必有最大值和最小值,而求得的穩定點又恰是兩個,所以它們一個是最大點,另一個是最小,其最大
最小值為。(x73)
x1=-1/2+1/2*3^(1/2);
x2=-1/2-1/2*3^(1/2);
y1=-1/2+1/2*3^(1/2);
y2=-1/2-1/2*3^(1/2);
z1=2-3^(1/2);
z2=2+3^(1/2);
f1=(x1^2+y1^2+z1^2)^(1/2)
f2=(x2^2+y2^2+z2^2)^(1/2)
f1 = 0.5829 ; f2 = 4.2024

例題三

求此方程的最大值:
同時未知數滿足:
因為只有一個未知數的限制條件,我們只需要用一個乘數
.
將所有
方程的偏微分設為零,得到一個方程組,最大值是以下方程組的解中的一個:

貢獻人


約瑟夫·路易斯·拉格朗日(Joseph-Louis Lagrange 1735~1813)
法國數學家、物理學家。1736年1月25日生於義大利都靈,1813年4月10日卒於巴黎。他在數學、力學和天文學三個學科領域中都有歷史性的貢獻,其中尤以數學方面的成就最為突出。