1. 程式人生 > 其它 >拉格朗日乘數法,一種計算條件極值的方式

拉格朗日乘數法,一種計算條件極值的方式

一、拉格朗日乘數法簡介

在日常的生產生活中,當我們要要安排生產生活計劃的時候,常常會在現實物理資源約束的條件下,計算得到收益最大或者損失最小的計劃; 像這種對自變數有附加條件的極值稱為條件極值;拉格朗日乘數法是一種直接計算解決條件極值的方法;

拉格朗日乘數法的定義如下:

設有 \(f(x, y), \varphi(x,y)\) 兩個函式,並且兩者都有一階連續偏導數,則做拉格朗日函式為

\[F(x, y, \lambda) = f(x, y) + \lambda \varphi(x,y) \]

令函式F的各個偏導數 \(F_{x} = 0, F_{y} = 0, F_{λ} = 0\),計算各個偏導數並聯立方程得到

\[\left\{\begin{matrix} f_{x}(x,y) + \lambda \varphi_{x}(x,y)=0 \\ f_{y}(x,y) + \lambda \varphi_{y}(x,y)=0 \\ \varphi(x,y)=0 \end{matrix}\right. \]

由此方程組解出拉格朗日函式穩定點 \((x_{0},y_{0},λ_{0})\),則 \((x_{0},y_{0})\) 就是函式 \(f(x, y)\) 在附加條件 \(\varphi(x,y)=0\) 下的可能極值點;

二、拉格朗日乘數法的推導

目標函式

\[\begin{equation} f(x, y) = 0 \end{equation} \]

約束條件

\[\begin{equation} \varphi(x,y) = 0 \end{equation} \]

如果函式(1)在點 $ (x_{0}, y_{0}) $ 得到極值,那麼首先會滿足約束條件

\[\begin{equation} \varphi(x_{0},y_{0}) = 0 \end{equation} \]

\(f(x, y)\)\(\varphi(x,y)\)在點 \((x_{0}, y_{0})\) 的某個鄰域內有連續偏導數,且滿足

\[\varphi_{y}(x_{0},y_{0}) \ne 0 \]

由隱函式存在定理,式(2)在點 $(x_{0}, y_{0}) $ 的某鄰域內能唯一確定一個單值可導且具有連續導數的函式 \(y=y(x)\)

,並且有 \(y_{0}=f(x_{0})\),以及

\[\begin{equation} \left.\frac{\mathrm{d} y}{\mathrm{~d} x}\right|_{x=x_{0}}=-\frac{\varphi_{x}\left(x_{0}, y_{0}\right)}{\varphi_{y}\left(x_{0}, y_{0}\right)} \end{equation} \]

\(y=y(x)\) 帶入公式(1)得到

\[\begin{equation} z = f(x, y(x)) \end{equation} \]

公式(5)也同公式(1)在 $(x_{0}, y_{0}) $ 處取的極值,有一元函式取得極值的必要條件可得

\[\begin{equation} \left.\frac{\mathrm{d} z}{\mathrm{~d} x}\right|_{x=x_{0}}=f_{x}\left(x_{0}, y_{0}\right)+\left.f_{y}\left(x_{0}, y_{0}\right) \frac{\mathrm{d} y}{\mathrm{~d} x}\right|_{x=x_{0}}=0 \end{equation} \]

將公式(4)帶入公式(6)得到

\[\begin{equation} f_{x}\left(x_{0}, y_{0}\right)-f_{y}\left(x_{0}, y_{0}\right) \cdot \frac{\varphi_{x}\left(x_{0}, y_{0}\right)}{\varphi_{y}\left(x_{0}, y_{0}\right)}=0 \end{equation} \]

為了解出 $(x_{0}, y_{0}) $ ,引入輔助變數

\[\lambda_{0}=-\frac{f_{y}\left(x_{0}, y_{0}\right)}{\varphi_{y}\left(x_{0}, y_{0}\right)} \]

則公式(3)和公式(7)均成立等價於

\[\begin{equation} \left\{\begin{array}{l} f_{x}\left(x_{0}, y_{0}\right)+\lambda_{0} \varphi_{x}\left(x_{0}, y_{0}\right)=0 \\ f_{y}\left(x_{0}, y_{0}\right)+\lambda_{0} \varphi_{y}\left(x_{0}, y_{0}\right)=0 \\ \varphi\left(x_{0}, y_{0}\right)=0 \end{array}\right. \end{equation} \]

\(f(x, y), \varphi(x,y)\) 給定的前提下,我們可以通過公式(8)計算得到 \((x_{0}, y_{0}, \lambda_{0})\) ,我們可根據公式(8)的特點構造以下函式

\[F(x, y, \lambda)=f(x, y)+\lambda \phi(x, y) \]

可以看到公式(8)等價 \(F(x, y, \lambda)\) 的以下偏導數

\[\left\{\begin{array}{l} F_{x}\left(x_{0}, y_{0}, \lambda_{0}\right)=0 \\ F_{y}\left(x_{0}, y_{0}, \lambda_{0}\right)=0 \\ F_{\lambda}\left(x_{0}, y_{0}, \lambda_{0}\right)=0 \end{array}\right. \]

通過以上推演過程,函式 \(F(x, y, \lambda)\) 稱為拉格朗日函式,引數λ稱為拉格朗日乘數,點 \((x_{0}, y_{0}, \lambda_{0})\) 稱為 \(F(x, y, \lambda)\) 的駐點或穩定點.