大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
一、拉格朗日乘数法简介
在日常的生产生活中,当我们要要安排生产生活计划的时候,常常会在现实物理资源约束的条件下,计算得到收益最大或者损失最小的计划; 像这种对自变量有附加条件的极值称为条件极值;拉格朗日乘数法是一种直接计算解决条件极值的方法;
拉格朗日乘数法的定义如下:
设有 f ( x , y ) , φ ( x , y ) f(x, y), \varphi(x,y) f(x,y),φ(x,y) 两个函数,并且两者都有一阶连续偏导数,则做拉格朗日函数为
F ( x , y , λ ) = f ( x , y ) + λ φ ( x , y ) F(x, y, \lambda) = f(x, y) + \lambda \varphi(x,y) F(x,y,λ)=f(x,y)+λφ(x,y)
令函数F的各个偏导数 F x = 0 , F y = 0 , F λ = 0 F_{x} = 0, F_{y} = 0, F_{λ} = 0 Fx=0,Fy=0,Fλ=0,计算各个偏导数并联立方程得到
{ f x ( x , y ) + λ φ x ( x , y ) = 0 f y ( x , y ) + λ φ y ( x , y ) = 0 φ ( x , y ) = 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. ⎩⎨⎧fx(x,y)+λφx(x,y)=0fy(x,y)+λφy(x,y)=0φ(x,y)=0
由此方程组解出拉格朗日函数稳定点 ( x 0 , y 0 , λ 0 ) (x_{0},y_{0},λ_{0}) (x0,y0,λ0),则 ( x 0 , y 0 ) (x_{0},y_{0}) (x0,y0) 就是函数 f ( x , y ) f(x, y) f(x,y) 在附加条件 φ ( x , y ) = 0 \varphi(x,y)=0 φ(x,y)=0 下的可能极值点;
二、拉格朗日乘数法的推导
目标函数
f ( x , y ) = 0 (1) f(x, y) = 0 \tag{1} f(x,y)=0(1)
约束条件
φ ( x , y ) = 0 (2) \varphi(x,y) = 0 \tag{2} φ(x,y)=0(2)
如果函数(1)在点 $ (x_{0}, y_{0}) $ 得到极值,那么首先会满足约束条件
φ ( x 0 , y 0 ) = 0 (3) \varphi(x_{0},y_{0}) = 0 \tag{3} φ(x0,y0)=0(3)
设 f ( x , y ) f(x, y) f(x,y) 与 φ ( x , y ) \varphi(x,y) φ(x,y)在点 ( x 0 , y 0 ) (x_{0}, y_{0}) (x0,y0) 的某个邻域内有连续偏导数,且满足
φ y ( x 0 , y 0 ) ≠ 0 \varphi_{y}(x_{0},y_{0}) \ne 0 φy(x0,y0)=0
由隐函数存在定理,式(2)在点 $(x_{0}, y_{0}) $ 的某邻域内能唯一确定一个单值可导且具有连续导数的函数 y = y ( x ) y=y(x) y=y(x) ,并且有 y 0 = f ( x 0 ) y_{0}=f(x_{0}) y0=f(x0),以及
d y d x ∣ x = x 0 = − φ x ( x 0 , y 0 ) φ y ( x 0 , y 0 ) (4) \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)} \tag{4} dxdy∣∣∣∣x=x0=−φy(x0,y0)φx(x0,y0)(4)
将 y = y ( x ) y=y(x) y=y(x) 带入公式(1)得到
z = f ( x , y ( x ) ) (5) z = f(x, y(x)) \tag{5} z=f(x,y(x))(5)
公式(5)也同公式(1)在 $(x_{0}, y_{0}) $ 处取的极值,有一元函数取得极值的必要条件可得
d z d x ∣ x = x 0 = f x ( x 0 , y 0 ) + f y ( x 0 , y 0 ) d y d x ∣ x = x 0 = 0 (6) \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 \tag{6} dxdz∣∣∣∣x=x0=fx(x0,y0)+fy(x0,y0) dxdy∣∣∣∣x=x0=0(6)
将公式(4)带入公式(6)得到
f x ( x 0 , y 0 ) − f y ( x 0 , y 0 ) ⋅ φ x ( x 0 , y 0 ) φ y ( x 0 , y 0 ) = 0 (7) 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 \tag{7} fx(x0,y0)−fy(x0,y0)⋅φy(x0,y0)φx(x0,y0)=0(7)
为了解出 $(x_{0}, y_{0}) $ ,引入辅助变量
λ 0 = − f y ( x 0 , y 0 ) φ y ( x 0 , y 0 ) \lambda_{0}=-\frac{f_{y}\left(x_{0}, y_{0}\right)}{\varphi_{y}\left(x_{0}, y_{0}\right)} λ0=−φy(x0,y0)fy(x0,y0)
则公式(3)和公式(7)均成立等价于
{ f x ( x 0 , y 0 ) + λ 0 φ x ( x 0 , y 0 ) = 0 f y ( x 0 , y 0 ) + λ 0 φ y ( x 0 , y 0 ) = 0 φ ( x 0 , y 0 ) = 0 (8) \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. \tag{8} ⎩⎨⎧fx(x0,y0)+λ0φx(x0,y0)=0fy(x0,y0)+λ0φy(x0,y0)=0φ(x0,y0)=0(8)
在 f ( x , y ) , φ ( x , y ) f(x, y), \varphi(x,y) f(x,y),φ(x,y) 给定的前提下,我们可以通过公式(8)计算得到 ( x 0 , y 0 , λ 0 ) (x_{0}, y_{0}, \lambda_{0}) (x0,y0,λ0) ,我们可根据公式(8)的特点构造以下函数
F ( x , y , λ ) = f ( x , y ) + λ ϕ ( x , y ) F(x, y, \lambda)=f(x, y)+\lambda \phi(x, y) F(x,y,λ)=f(x,y)+λϕ(x,y)
可以看到公式(8)等价 F ( x , y , λ ) F(x, y, \lambda) F(x,y,λ) 的以下偏导数
{ F x ( x 0 , y 0 , λ 0 ) = 0 F y ( x 0 , y 0 , λ 0 ) = 0 F λ ( x 0 , y 0 , λ 0 ) = 0 \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. ⎩⎨⎧Fx(x0,y0,λ0)=0Fy(x0,y0,λ0)=0Fλ(x0,y0,λ0)=0
通过以上推演过程,函数 F ( x , y , λ ) F(x, y, \lambda) F(x,y,λ) 称为拉格朗日函数,参数λ称为拉格朗日乘数,点 ( x 0 , y 0 , λ 0 ) (x_{0}, y_{0}, \lambda_{0}) (x0,y0,λ0) 称为 F ( x , y , λ ) F(x, y, \lambda) F(x,y,λ) 的驻点或稳定点.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234962.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...