一、拉格朗日乘数法简介
在日常的生产生活中,当我们要要安排生产生活计划的时候,常常会在现实物理资源约束的条件下,计算得到收益最大或者损失最小的计划; 像这种对自变量有附加条件的极值称为条件极值;拉格朗日乘数法是一种直接计算解决条件极值的方法;
拉格朗日乘数法的定义如下:
设有 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 \ varphileft(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,λ) 的驻点或稳定点.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/234962.html原文链接:https://javaforall.cn