基本的拉格朗日乘子法(又稱為拉格朗日乘數法),就是求函數f(x1,x2,...)在g(x1,x2,...)=0的約束條件下的極值的方法。其主要思想是引入一個新的參數λ(即拉格朗日乘子),將約束條件函數與原函數聯系到一起,使能配成與變量數量相等的等式方程,從而求出得到原函數極值的各個變量的解。
具體方法:
假設需要求極值的目標函數 (objective function) 為 f(x,y),限制條件為 φ(x,y)=M
設g(x,y)=M-φ(x,y)
定義一個新函數
F(x,y,λ)=f(x,y)+λg(x,y)
則用偏導數方法列出方程:
∂F/∂x=0
∂F/∂y=0
∂F/∂λ=0
求出x,y,λ的值,代入即可得到目標函數的極值.
擴展為多個變量的式子為:
F(x1,x2,...λ)=f(x1,x2,...)+λg(x1,x2...)
則求極值點的方程為:
∂F/∂xi=0 (xi即為x1、x2……等自變量)
∂F/∂λ=g(x1,x2...)=0
以上內容在《數學手冊》當中有。另外,可以將這種把約束條件乘以λ(即不定乘子)后加到待求函數上的求極值方法推廣到變分極值問題及其它極值問題當中,理論力學當中對非完整約束的處理方法就是利用變分法當中的拉格朗日乘子法。
拉格朗日乘子法的用途:
從經濟學的角度來看,λ代表當約束條件變動時,目標函數極值的變化。因為∂F/∂M=λ,當M增加或減少一個單位值時,F會相應變化λ。
例如,假設目標函數代表一個工廠生產產品的數量,約束條件限制了生產中投入的原料和人力的總成本,我們求目標函數的極值,就是要求在成本一定的條件下,如何分配利用人力和原料,從而使得生產量達到最大。此時λ便代表,當成本條件改變時,工廠可達到的生產量最大值的變化率。
---------------------------------------------------
在數學最優化問題中,拉格朗日乘數法(以數學家約瑟夫·路易斯·拉格朗日命名)是一種尋找變量受一個或多個條件所限制的多元函數的極值的方法。這種方法將一個有n 個變量與k 個約束條件的最優化問題轉換為一個有n + k個變量的方程組的極值問題,其變量不受任何約束。這種方法引入了一種新的標量未知數,即拉格朗日乘數:約束方程的梯度(gradient)的線性組合里每個矢量的系數。
很簡單的例子
求此方程的最大值:
- f( x, y) = x 2 y
同時未知數滿足
- x 2 + y 2 = 1
因為只有一個未知數的限制條件,我們只需要用一個乘數λ.
- g( x, y) = x 2 + y 2 − 1
- Φ( x, y,λ) = f( x, y) + λ g( x, y) = x 2 y + λ( x 2 + y 2 − 1)
將所有Φ方程的偏微分設為零,得到一個方程組,最大值是以下方程組的解中的一個:
- 2 x y + 2λ x = 0
- x 2 + 2λ y = 0
- x 2 + y 2 − 1 = 0
---------------------------------------------------
在數學中,卡羅需-庫恩-塔克條件(英文原名: Karush-Kuhn-Tucker Conditions常見別名: Kuhn-Tucker,KKT條件,Karush-Kuhn-Tucker最優化條件, Karush-Kuhn-Tucker條件,Kuhn-Tucker最優化條件,Kuhn-Tucker條件)是在滿足一些有規則的條件下,一個非線性規划(Nonlinear Programming)問題能有最優化解法的一個必要和充分條件。這是一個廣義化拉格朗日乘數的成果。
http://baike.baidu.com/view/2415642.htm
http://zh.wikipedia.org/wiki/%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E4%B9%98%E6%95%B0