拉格朗日乘數(shù)法

拉格朗日乘數(shù)法

在求解函數(shù)最優(yōu)化問題中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)條件是兩種最常用的方法。函數(shù)有等式約束時(shí)使用拉格朗日乘子法,函數(shù)有不等約束時(shí)使用KKT條件。

原出處doudou0o博客

#本篇文章主要整理拉格朗日乘子法

本文用于自己筆記整理。搜索到的解釋有些太難以理解,索性自己研究一下,寫了本篇筆記。(本文中的公式由于簡(jiǎn)書不支持latex原因無法正常顯示,讀文章的讀者們將就看看吧)如果想看原文帶公式的請(qǐng)移步我的博客上,會(huì)顯示的好一些。

這種方法可以將一個(gè)有 n 個(gè)變量與 k 個(gè)約束條件的最優(yōu)化問題轉(zhuǎn)換為一個(gè)解有 n + k 個(gè)變量的方程組的解的問題。這種方法中引入了一個(gè)或一組新的未知數(shù),即拉格朗日乘數(shù),又稱拉格朗日乘子,或拉氏乘子,它們是在轉(zhuǎn)換后的方程,即約束方程中作為梯度(gradient)的線性組合中各個(gè)向量的系數(shù)。

總結(jié)伸手黨,比如兩個(gè)變量求最優(yōu)時(shí),求 f(x, y) 在條件 g(x,y)=c 時(shí)的最大值,我們可以引入新變量拉格朗日乘數(shù) \lambda,這時(shí)我們只需要下列拉格朗日函數(shù)的極值,此時(shí)就回歸到了無約束時(shí)的最值問題:
F(x,y,\lambda) = f(x,y)+\lambda \cdot(g(x,y)-c)

無約束時(shí)函數(shù)最優(yōu)問題

這種問題,通常的解決辦法是,對(duì)各變量求偏導(dǎo),使得各偏導(dǎo)同時(shí)為零得到駐點(diǎn)。再判斷駐點(diǎn)是否為極值點(diǎn),最后代入原函數(shù)驗(yàn)證最優(yōu)。

等式約束時(shí)函數(shù)最優(yōu)問題

設(shè)目標(biāo)函數(shù)為 f(x,y), 約束條件為 g(x,y)=c。問題是如何在滿足約束條件的情況下,使得目標(biāo)函數(shù)最大(最小)。

使用一個(gè)例子來描述這個(gè)問題:在雙曲線 xy=3 的情況下,哪個(gè)點(diǎn)離原點(diǎn)最近。
f(x,y)=x^2+y^2
g(x,y)=xy=3

如圖:

b462bd06-d30f-403d-a4a8-16c7dbf16c82.png

那么f(x,y) 可以被描述為無數(shù)個(gè)一圈圈的等高線(圖中所有顏色的圓圈線),這些等高線與雙曲線相交的點(diǎn)是滿足約束條件的點(diǎn)。那么離原點(diǎn)最近的點(diǎn),就是等高線與雙曲線互切處的點(diǎn),如圖中,紅色的點(diǎn)。

fe5241f8-ee88-465f-9fc7-1c22225acf0c.png
  1. 綠色的等高線無法與雙曲線相交,沒有滿足約束條件的解
  2. 藍(lán)色點(diǎn)雖然滿足約束條件,但并非最優(yōu)解
  3. 只有等高線與雙曲線相切的紅色的點(diǎn),才是最優(yōu)解。

在取最優(yōu)解時(shí),我們發(fā)現(xiàn)只有相切才能取最優(yōu)解。那么如何判斷相切呢? 那就使用梯度向量(如圖中紅色藍(lán)色的梯度向量),如果兩者梯度向量互相平行時(shí),那么兩條曲線相切。于是引入一個(gè)參數(shù) \lambda 使得滿足如下梯度公式:
\nabla f(x,y) = \lambda \cdot \nabla g(x, y)

那么原目標(biāo)函數(shù) f(x,y) 和 約束條件 g(x,y) ,在取最優(yōu)值時(shí)滿足上述公式那么:
\left\{ \begin{aligned} f'_x = \lambda \cdot g'_x \\ f'_y = \lambda \cdot g'_y \\ \end{aligned} \right. \\ g(x,y)=c

此時(shí)我們就擁有了三個(gè)公式,三個(gè)未知數(shù)的多項(xiàng)式。把三個(gè)未知數(shù)全部解出來。代入原目標(biāo)函數(shù)就是函數(shù)最值。

最后我們稍微整理下這三條公式:
\left\{ \begin{aligned} f'_x - \lambda \cdot g'_x = 0\\ f'_y - \lambda \cdot g'_y = 0\\ \end{aligned} \right. \\ g(x,y)=c
發(fā)現(xiàn)原最優(yōu)問題可以被替換成求F(x,y,\lambda) = f(x,y)+\lambda \cdot(g(x,y)-c)的最優(yōu)問題。且這個(gè)問題不受g(x,y)所約束,因此可以使用無約束時(shí)函數(shù)最優(yōu)問題來解決。至此呼應(yīng)了開頭伸手黨結(jié)論。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容