拉格朗日乘子法

拉格朗日乘子法

這一節(jié)主要描述約束條件下的函數(shù)極值,涉及拉格朗日乘子法及等高線相關(guān)知識(shí)。

問題引出

求雙曲線xy=3上離原點(diǎn)最近的點(diǎn)
我們根據(jù)問題的描述來提煉出問題對(duì)應(yīng)的數(shù)學(xué)模型,即:
minf(x,y) = x^2 + y^2(兩點(diǎn)之間的歐氏距離應(yīng)該還要進(jìn)行開方,但是這并不影響最終的結(jié)果,所以進(jìn)行了簡(jiǎn)化,去掉了平方)
s.t. xy=3(s.t.表示約束條件)
根據(jù)上式我們可以知道這是一個(gè)典型的約束優(yōu)化問題,其實(shí)我們?cè)诮膺@個(gè)問題時(shí)最簡(jiǎn)單的解法就是通過約束條件將其中的一個(gè)變量用另外一個(gè)變量進(jìn)行替換,然后代入優(yōu)化的函數(shù)就可以求出極值。(即將y=\frac{3}{x}待會(huì)原式,求解原式一階導(dǎo)等于0的x值,再代入)。在這里,引出拉格朗日乘子法,并利用其思想進(jìn)行求解。
x^2+y^2=C的曲線族畫出來,如下圖所示,當(dāng)曲線族中的圓與xy=3曲線進(jìn)行相切時(shí),切點(diǎn)到原點(diǎn)的距離最短。也就是說,當(dāng)f(x,y)=C的等高線(這里先暫時(shí)用一下等高線的概念,后面會(huì)再進(jìn)行解釋)和雙曲線g(x,y)相切時(shí),我們可以得到上述優(yōu)化問題的一個(gè)極值。(有可能是極大值,也有可能是極小值)。

Contour.png

現(xiàn)在原問題可以轉(zhuǎn)化為求當(dāng)
f(x,y)
g(x,y)
相切時(shí),
x
y
的值是多少?
如果兩個(gè)曲線相切,那么它們的切線相同,即法向量是相互平行的,
\nabla f//\nabla g
。
\nabla f//\nabla g
可以得到
\nabla f = \lambda * \nabla g

這時(shí),我們將原有的約束優(yōu)化問題轉(zhuǎn)化為了一種對(duì)偶的無約束的優(yōu)化問題,如下所示:
Pair.jpg

通過求解右邊的方程組我們可以獲取原問題的解,即:
2x=\lambda * y

2y=\lambda * x

xy=3

通過求解上式可得,
\lambda=2
或者是-2;當(dāng)
\lambda=2
時(shí),(x,y)=(sqrt(3), sqrt(3))或者(-sqrt(3), -sqrt(3)),而當(dāng)
\lambda=-2
時(shí),無解。所以原問題的解為(x,y)=(sqrt(3), sqrt(3))或者(-sqrt(3), -sqrt(3))。
通過舉上述這個(gè)簡(jiǎn)單的例子就是為了體會(huì)拉格朗日乘數(shù)法的思想,即通過引入拉格朗日乘子(
\lambda
)將原來的約束優(yōu)化問題轉(zhuǎn)化為無約束的方程組問題。

拉格朗日乘子法基本形態(tài)

求函數(shù)z = f(x,y)在滿足\varphi(x,y) = 0下的條件極值,可以轉(zhuǎn)化為函數(shù)F(x,y,\lambda) = f(x,y) + \lambda \varphi(x,y)的無條件極值問題。

GradientParallel.png

綠線標(biāo)出的是約束
g(x,y) = c
的點(diǎn)的軌跡。藍(lán)線是
f(x,y)
的等高線。箭頭表示梯度,和等高線的法線平行。
從圖上可以直觀地看出存在可能的極值點(diǎn)
M(x_0,y_0)
處,目標(biāo)函數(shù)的梯度
{f'_x(x_0,y_0),f'_y(x_0,y_0)}
與約束條件的梯度
{\varphi'_x(x_0,y_0),\varphi'_y(x_0,y_0)}
平行,即
\frac{f'_x(x0,y0)}{\varphi'_x(x_0,y_0)} = \frac{f'_y(x_0,y_0)}{\varphi'_x(x_0,y_0)}

也就是說,存在實(shí)數(shù)
\lambda
,使下式成立:
{f'_x(x_0,y_0),f'_y(x_0,y_0)} + \lambda{\varphi'_x(x_0,y_0),\varphi'_y(x_0,y_0)} = 0

<font color=##ff0000>上式推導(dǎo)過程中,所說的兩函數(shù)在極值點(diǎn)處的梯度平行,是如何得出的?</font>
Intuition.png

<font color=##ff0000>把拉格朗日乘子法的數(shù)學(xué)化抽象表達(dá)直觀化,那就是,當(dāng)函數(shù)上某點(diǎn)的梯度在約束曲線切向沒有分量時(shí),你就到達(dá)局部最高點(diǎn)了;換句話說,如果函數(shù)的梯度在約束曲線切向有分量,那么你就可以繼續(xù)順著這個(gè)分量移動(dòng)以達(dá)到一個(gè)更高的高度。我們知道,約束曲線的切向是垂直于法向量的,所以這實(shí)際就是說函數(shù)的梯度要和曲線的法向量平行。</font>
約束曲線的法向是什么?假如一個(gè)約束曲線表達(dá)為g(x,y) = 0, 那么所謂曲線的法向量,其實(shí)就是曲面G在等高線g(x,y) = 0處的梯度!
為什么梯度的方向與等高線的切線方向垂直,或者就是曲線的法向量?
假設(shè)我們的函數(shù)為
f(x,y)
,在幾何上表示是一個(gè)曲面,該曲面被平面
c
c
為常數(shù))所截得的曲線l方程為:
\begin{align} z &= f(x,y),\\ z &= c. \end{align}

這條曲線
l
xy
軸面上的投影是一條平面曲線Q,它在
xy
平面中的方程為:
f(x,y) = c

則我們稱平面曲線
Q
為函數(shù)
f(x,y)
的等高線。
由于等高線
f(x,y) = c
上任一一點(diǎn)的切線斜率用
\frac{dy}{dx}
來求。
則等高線
f(x,y) = c
上任一一點(diǎn)
(x,y)
處的法線的斜率為:
-\frac{1}{\frac{dy}{dx}} = -\frac{1}{-\frac{f_x}{f_y}} = \frac{f_y}{f_x}
,
\frac{dy}{dx} = -\frac{f_x}{f_y}的由來如下:
假設(shè)函數(shù)y = f(x)由方程F(x,y) = 0所確定,那么兩邊對(duì)x求導(dǎo),即得:
\frac{\partial F}{\partial x} + (\frac{\partial F}{\partial y})(\frac{dy}{dx}) = 0
所以\frac{dy}{dx} = -\frac{\frac{\partial F}{\partial x}}{\frac{\partial F}{\partial y}} = - \frac{f_x}{f_y}。)

又因?yàn)樘荻鹊挠?jì)算式子為:
\frac{\partial f}{\partial x}i + \frac{\partial f}{\partial y}j

則可以得到梯度的方向?yàn)椋?br>
\frac{\frac{\partial f}{\partial y}}{\frac{\partial f}{\partial x}} = \frac{f_y}{f_x}

以上可以看出梯度的方向與等高線
f(x,y) = c
與法線方向是相同的,也就是梯度方向與等高線切線方向垂直。

?著作權(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)容