拉格朗日乘數法

2022-01-24 01:08:15 字數 1794 閱讀 5774

拉格朗日乘數法是用於求條件極值的方法。對於條件極值,通常是將條件方程轉換為單值函式,再代入待求極值的函式中,從而將問題轉化為無條件極值問題進行求解。但是如果條件很複雜不能轉換,就要用到拉格朗日乘數法了。拉格朗日乘數法使用條件極值的一組必要條件來求出一些可能的極值點(不是充要條件,說明求出的不一定是極值,還需要驗證)。

如尋求函式

$z = f(x,y)$

在條件$\varphi(x,y) = 0$

下取得極值的必要條件。

如果在$(x_0,y_0)$下取得$z$的極值,則首先應該有:

$\varphi(x_0,y_0) = 0$

另外,假定在$(x_0,y_0)$的某一領域內$f(x,y)$與$\varphi(x,y)$均有連續的一階偏導數(沒有連續導數讓導數為0求極值就沒有意義了),並且$\varphi_y(x_0,y_0) \neq 0$。由隱函式存在定理(對於$z=\varphi(x,y)$若$\exist\varphi_y(x,y) \neq 0$與$\varphi_x(x,y)$則$\displaystyle\fracy}x} = -\frac$)可知,條件方程$\varphi(x,y)=0$在$(x_0,y_0)$某領域確定具有連續偏導數的函式$y=\psi(x)$,代入$z$得:

$z = f[x,\psi(x)]$

於是這個極值可以直接由乙個變數$x$來確定,由一元可導函式取極值必要條件得:

$\displaystyle\left.\fracz}x}\right|_=f_x(x_0,y_0)+f_y(x_0,y_0)\left.\fracy}x}\right|_=0$

即:$\displaystyle f_x(x_0,y_0)-f_y(x_0,y_0) \frac=0$

設$\displaystyle\frac=-\lambda$。

為什麼要這麼設呢?我覺得是因為它本身就是未知的,但又不是完全未知,是兩個偏導數之商,在這裡面首先不容易計算,其次這個偏導數商的條件也沒什麼用,因此就直接設為完全未知的引數$\lambda$了。

結合以上可以獲得條件極值$(x_0,y_0)$應該滿足的必要條件(第二行式子直接代入$\lambda$可以發現就等於0):

$\left\f_x(x_0,y_0)+\lambda\varphi_x(x_0,y_0)=0\\f_y(x_0,y_0)+\lambda\varphi_y(x_0,y_0)=0\\\varphi(x_0,y_0)=0\end\right.$

為了方便表達,引入輔助函式

$l(x,y) = f(x,y)+\lambda\varphi(x,y)$

必要條件就變成

$\left\l_x(x_0,y_0)=0\\l_y(x_0,y_0)=0\\l_(x_0,y_0)=0\\\end\right.$

於是通過這個聯立式求得的$(x,y)$就是可能的條件極值點。當然,是在$(x,y)$的某領域內有連續偏導數的假設下。

對於多維情況(自變數多於2個,條件多於1個),如求

$u=f(x,y,z,t)$

在附加條件

$\varphi(x,y,z,t)=0, \psi(x,y,z,t)=0$

下的極值。作類似的輔助函式(拉格朗日函式)

$l(x,y,z,t)=f(x,y,z,t)+\lambda\varphi(x,y,z,t)+\mu \psi(x,y,z,t)$

其中$\lambda,\mu$都為引數,求它的偏導數的聯立方程即可:

$\left\l_x(x,y,z,t)=0\\l_y(x,y,z,t)=0\\l_z(x,y,z,t)=0\\l_t(x,y,z,t)=0\\l_(x,y,z,t)=0\\l_(x,y,z,t)=0\end\right.$

拉格朗日乘數法

在求取有約束條件的優化問題時,拉格朗日乘子法 lagrange multiplier 和kkt條件是非常重要的兩個求取方法,對於等式約束的優化問題,可以應用拉格朗日乘子法去求取最優值 如果含有不等式約束,可以應用kkt條件去求取。當然,這兩個方法求得的結果只是必要條件,只有當是凸函式的情況下,才能保...

拉格朗日乘數法

在求取有約束條件的優化問題時,拉格朗日乘子法 lagrange multiplier 和kkt條件是非常重要的兩個求取方法,對於等式約束的優化問題,可以應用拉格朗日乘子法去求取最優值 如果含有不等式約束,可以應用kkt條件去求取。當然,這兩個方法求得的結果只是必要條件,只有當是凸函式的情況下,才能保...

拉格朗日乘數法

在求取有約束條件的優化問題時,拉格朗日乘子法 lagrange multiplier 和kkt條件是非常重要的兩個求取方法,對於等式約束的優化問題,可以應用拉格朗日乘子法去求取最優值 如果含有不等式約束,可以應用kkt條件去求取。當然,這兩個方法求得的結果只是必要條件,只有當是凸函式的情況下,才能保...