解拉格朗日乘數法的技巧?
拉格朗日乘數法解法:在數學最優問題中,拉格朗日乘數法(以數學家約瑟夫·路易斯·拉格朗日命名)是一種尋找變量受一個或多個條件所限制的多元函數的極值的方法。
這種方法將一個有n個變量與k個約束條件的最優化問題轉換為一個有n+k個變量的方程組的極值問題,其變量不受任何約束。這種方法引入了一種新的標量未知數,即拉格朗日乘數:約束方程的梯度(gradient)的線性組合里每個向量的系數。此方法的證明牽涉到偏微分,全微分或鏈法,從而找到能讓設出的隱函數的微分為零的未知數的值。
拉格朗日乘法是什么?
拉格朗日乘數(以 約瑟夫?路易斯?拉格朗日命名) 是一種尋找變量受一個或多個限制的多元方程的極值的方法。 這種方法將一個有n 變量與 k 約束的問題轉換為一個更易解的n + k個變量的方程組,其變量不受任何約束。這種方法引入了一種新的標量未知數,即拉格朗日乘數:約束方程的斜率(gradient)的線性組合里每個向量的系數。此方法的證明牽涉到偏微分,全微分或鏈法,從而找到能讓設出的隱函數的微分為零的未知數的值。介紹先看一個二維的例子:假設有方程: f(x,y),要求其最大值,且 c 為常數。對不同dn的值,不難想象出 的等高線。而方程g的等高線正好是g(x,y) = c。想象我們沿著g = c的等高線走;因為大部分情況下f和g的等高線不會重合,但在有解的情況下,這兩條線會相交。想象此時我們移動g = c上的點,因為f是連續的方程,我們因此能走到更高或更低的等高線上,也就是說dn可以變大或變小。只有當g = c和相切,也就是說,此時,我們正同時沿著g = c和走。這種情況下,會出現極值或鞍點。氣象圖中就很常出現這樣的例子,當溫度和氣壓兩列等高線同時出現的時候,切點就意味著約束極值的存在。用向量的形式來表達的話,我們說相切的性質在此意味著f和g的斜率在某點上平行。此時引入一個未知標量λ,并求解: 且 λ ≠ 0.一旦求出λ的值,將其套入下式,易求在無約束極值和極值所對應的點。 = 新方程F(x,y)在達到極值時與f(x,y)相等,因為F(x,y)達到極值時g(x,y) ?6?1 c總等于零。[編輯] 拉格朗日乘數的運用方法如f定義為在Rn上的方程,約束為gk(x) = c(或將約束左移得到gk(x) ?6?1 c = 0)。定義拉格朗日Λ為 注意極值的條件和約束現在就都被記錄到一個式子里了: 和 拉格朗日乘數常被用作表達最大增長值。原因是從式子: 中我們可以看出λk是當方程在被約束條件下,能夠達到的最大增長率。 拉格朗日力學就使用到這個原理。拉格朗日乘數法在Karush-Kuhn-Tucker最優化條件被推廣。[編輯] 例子[編輯] 很簡單的例子求此方程的最大值:f(x,y) = x2y 同時未知數滿足x2 + y2 = 1 因為只有一個未知數的限制條件,我們只需要用一個乘數λ.g(x,y) = x2 + y2 ?6?1 1 Φ(x,y,λ) = f(x,y) + λg(x,y) = x2y + λ(x2 + y2 ?6?1 1) 將所有Φ方程的偏微分設為零,得到一個方程組,最大值是以下方程組的解中的一個:2xy + 2λx = 0 x2 + 2λy = 0 x2 + y2 ?6?1 1 = 0 [編輯] 另一個例子求此離散分布的最大熵: 所有概率的總和是1,因此我們得到的約束是g(p) = 1 即 可以使用拉格朗日乘數找到最高熵(概率的函數)。對于所有的k 從1 到 n, 要求 由此得到 計算出這n個等式的微分,我們得到: 這說明pi 都相等 (因為它們都只是 λ 的函數). 解出約束 ∑k pk = 1, 得到 因此,使用均勻分布可得到最大熵的值。
拉格朗日數乘法 在條件極值問題中 滿足條件 g(x, y) = 0 下,去尋求函數 f(x, y) 的極值。 對三變量函數
F(x, y, λ) = f(x, y) + λg(x, y)
聯立方程式
Fλ = g(x, y) = 0
Fx = fx (x, y) + λgx (x, y) = 0
Fy = fy (x, y) + λgy (x, y) = 0
求得的解 (x, y) 就成為極值的候補。
這樣求極值的方法就叫做拉格朗日乘數法、λ叫做拉格朗日乘數。
在g(x,y)=0下,求f(x, y) 的極值。
令函數F(x,y,λ)=f(x,y)+λg(x,y)
分別對x,y,λ求偏導并令之為0
對λ的偏導g(x,y)=0
對x的偏導fx(x,y)+λgx(x,y)=0
對y的偏導fy(x,y)+λgy(x,y)=0
求得的解(x,y)就可能是極值,要再代入檢驗它異側的符號,若相同則不是極值點。
這樣求極值的方法就叫做拉格朗日乘數法、λ叫做拉格朗日乘數