求约束条件下极值的拉格朗日乘子法
學過中學數學的都知道,對于無約束條件的函數求極值,主要利用導數求解法。
例如求解函數f(x,y)=x3-4x2+2xy-y2+1的極值。步驟如下:
(1)求出f(x,y)的一階偏導函數f’x(x,y),f’y(x,y)。
f’x(x,y)?= 3x2-8x+2y
f’y(x,y)?= 2x-2y
(2)令f’x(x,y)=0,f’y(x,y)=0,解方程組。
3x2-8x+2y = 0
2x-2y = 0
得到解為(0,0),(2,2)。這兩個解是f(x,y)的駐點。
(3)求出f(x,y)的二階偏導函數f’’xx(x,y),f’’xy(x,y),f’’yy(x,y)。
f’’xx(x,y)?= 6x-8
f’’xy(x,y)?= 2
f’’yy(x,y)?= -2
(4)確定駐點處的二階導數值及判斷相關符號。
根據二元函數極值存在定理(見后面的附注):
A=f’’xx(0,0)?= -8,B=f’’xy(0,0)=2,C=f’’yy(0,0)= -2
B2-AC=-12,所以(0,0)是極大值點,極大值為f(0,0)=1
A=f’’xx(2,2)?= 4,B=f’’xy(2,2)=2,C=f’’yy(2,2)= -2
B2-AC=12,(2,2)不是極值點。
(5)因此f(x,y)=x3-4x2+2xy-y2+1的極大值為1
?
? ? ? ?那么對于有約束條件的函數怎樣求極值呢?還是上面的函數f(x,y)=x3-4x2+2xy-y2+1,在約束條件x+y=7下極值?
拉格朗日乘子法就是求有約束條件的函數極值問題的方法。主要思想是將約束條件函數與原函數聯系到一起,使能配成與變量數量相等的等式方程,從而求出得到原函數極值的各個變量的解。其一般描述為:
?
目標函數:f(x,y)?
約束條件:g(x,y)=0?
求解f(x,y)在約束條件g(x,y)=0下的極值。?
定義拉格朗日函數 :?
L(x,y,λ)?=?f(x,y)+ λ·g(x,y)?
L(x,y,λ)分別對x,y,λ求偏導數,令偏導數為零。
求出x,y,λ的值,代入f(x,y)?即可得到目標函數的極值。
? ? ? ?舉個實際應用中的例子:要設計一款箱子,其容積(體積)有限定,如27升(即27000立方厘米),求其表面積的極值?
?
使用數學表達式就是:箱子長、寬、高分別為x,y,z,單位為厘米,表面積函數為f(x,y,z)=2xy+2xz+2yz,求f(x,y,z)在約束條件g(x,y,z)=xyz-27000=0下的極值?
???(1)定義拉格朗日函數:?
L(x,y,z,λ)=f(x,y,z)+ λ·g(x,y,z)=2xy+2xz+2yz+?λ·(xyz-27000)
???(2)L(x,y,z,λ)分別對x,y,z,λ求偏導數,令偏導數為零:
2y+2z+λyz=0,2x+2z+λxz=0,2x+2y+λxy=0,xyz-27000=0
(3)求出x,y,z,λ的值:
聯立方程,得到x=y=z=30,λ=-2/15
代入f(x,y,z)?即可得到目標函數的極值為f(30,30,30)=2*30*30+2*30*30+2*30*30=5400平方厘米。這個是極值,但還不知道是極大值還是極小值,用滿足xyz=27000的另一組數,x=30,y=15,z=60計算下,f(30,15,60)=6300平方厘米。
所以f(30,30,30)=5400平方厘米是極小值,即箱子體積一定的情況下(27000立方厘米),x=y=z=30時,表面積最小。
?
? ? ? ?再舉個吳軍在《數學之美》中的例子:2014年世界杯決賽圈32強,誰奪得冠軍的信息熵為:
H=-(p1·logp1+p2·logp2+...p32·logp32)
其中,p1,p2,...,p32分別是這32強球隊奪冠的概率。
吳軍在書中給出H的值不可能大于5,即H≤5,但沒有給出證明。
這里利用拉格朗日乘子法證明下:
根據概率論,p1+p2+...+p32=1。這就是約束條件。
目標函數:f(p1,p2,...,p32)=-(p1·logp1+p2·logp2+...p32·logp32)
約束條件:g(p1,p2,...p32)=p1+p2+...+p32-1=0
???(1)定義拉格朗日函數:?
L(p1,p2,...,p32,λ)=-(p1·logp1+p2·logp2+...p32·logp32)+ λ·(p1+p2+...+p32-1)
???(2)L(p1,p2,...,p32,λ)分別對p1,p2,...,p32,λ求偏導數,令偏導數為零:
????λ-log(e·p1)=0
????λ-log(e·p2)=0
????......
????λ-log(e·p32)=0
????p1+p2+...+p32-1=0
(4)求出p1,p2,...,p32的值:
聯立方程,得到p1=p2=...=p32=1/32
代入f(p1,p2,...,p32)?即可得到目標函數的極值為f(1/32,1/32,...1/32)=-((1/32)·log(1/32)+(1/32)·log(1/32)+...(1/32)·log(1/32))=-log(1/32)=log32=5
?
??
附:二元函數極值判定條件
(x0,y0)為駐點,設f’’xx(x0,y0)?= A,f’’xy(x0,y0)?= B,f’’yy(x0,y0)?= C。則:
?
| B2-AC | f(x0,y0) | |
| < 0 | A < 0 | 極大值 |
| A > 0 | 極小值 | |
| > 0 | 非極值 | |
| =0 | 不定 | |
?
總結
以上是生活随笔為你收集整理的求约束条件下极值的拉格朗日乘子法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用于精准判断的贝叶斯定理
- 下一篇: 极简写作语言-Markdown