【高等数学笔记】拉格朗日乘数法(Lagrange Multiplier Method):其实也没那么难嘛 您所在的位置:网站首页 求函数的极值的例题 【高等数学笔记】拉格朗日乘数法(Lagrange Multiplier Method):其实也没那么难嘛

【高等数学笔记】拉格朗日乘数法(Lagrange Multiplier Method):其实也没那么难嘛

2024-06-16 17:41| 来源: 网络整理| 查看: 265

一、以二元函数引入

假设有一个二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y),现在我们要求它在满足条件 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0条件下的极值。

举个例子,求双曲线 x y = 2 xy=2 xy=2上到点 ( 5 , 3 ) (5,3) (5,3)最近的点。在这个问题当中,我们要求的就是距离函数 z = f ( x , y ) = ( x − 5 ) 2 + ( y − 3 ) 2 z=f(x,y)=(x-5)^2+(y-3)^2 z=f(x,y)=(x−5)2+(y−3)2的极值(同时也是最值),而约束条件则是 ϕ ( x , y ) = x y − 2 = 0 \phi(x,y)=xy-2=0 ϕ(x,y)=xy−2=0。

对于这个例子,我们完全可以把它化为一元函数极值/最值的问题。令 y = 2 x y=\frac{2}{x} y=x2​,则 z = f ( x , y ) = z ( x ) = ( x − 5 ) 2 + ( 2 x − 3 ) 2 z=f(x,y)=z(x)=(x-5)^2+\left(\frac{2}{x}-3\right)^2 z=f(x,y)=z(x)=(x−5)2+(x2​−3)2,然后对 z ( x ) z(x) z(x)求导数为 0 0 0的点即可。

但并非所有的问题都能找到 y y y与 x x x的函数关系,此时隐函数 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0不能显化,不能直接代得到 y y y的表达式。比如像 e x y + y arctan ⁡ x = 0 e^xy+y\arctan x=0 exy+yarctanx=0这种奇怪的函数, y y y对 x x x的表达式根本写不出来。虽然这种 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0不能显化,但我们仍然可以把 y y y与 x x x的关系设出来: y = y ( x ) y=y(x) y=y(x),假装可以得到 y y y关于 x x x的表达式。那么 z = f ( x , y ) = f ( x , y ( x ) ) z=f(x,y)=f(x,y(x)) z=f(x,y)=f(x,y(x))是 x x x的一元函数,在 d z d x = 0 \frac{\text{d}z}{\text{d}x}=0 dxdz​=0时可能取得极值。假设 f f f对 x x x的偏导数为 f x f_x fx​,对 y y y的偏导数为 f y f_y fy​。由求导的链式法则得到 d z d x = d [ f ( x , y ( x ) ) ] d x = f x + f y d y d x \frac{\text{d}z}{\text{d}x}=\frac{\text{d}[f(x,y(x))]}{\text{d}x}=f_x+f_y\frac{\text{d}y}{\text{d}x} dxdz​=dxd[f(x,y(x))]​=fx​+fy​dxdy​那么式子里面的 d y d x \frac{\text{d}y}{\text{d}x} dxdy​,也就是 y y y对 x x x的导数等于多少呢?虽说是隐函数,导数仍然是可以求出来的。在 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0两端取微分,得到 ϕ x d x + ϕ y d y = 0 \phi_x\text{d}x+\phi_y\text{d}y=0 ϕx​dx+ϕy​dy=0,其中 ϕ x \phi_x ϕx​是 ϕ \phi ϕ对 x x x的偏导数, ϕ y \phi_y ϕy​是 ϕ \phi ϕ对 y y y的偏导数。那么 ϕ y d y = − ϕ x d x d y d x = − ϕ x ϕ y \phi_y\text{d}y=-\phi_x\text{d}x\\\frac{\text{d}y}{\text{d}x}=-\frac{\phi_x}{\phi_y} ϕy​dy=−ϕx​dxdxdy​=−ϕy​ϕx​​这样就求出了 y y y对 x x x的导数。注意,这里要求 ϕ y ≠ 0 \phi_y\ne0 ϕy​=0,否则就没法算了。带入 d z d x \frac{\text{d}z}{\text{d}x} dxdz​的表达式得 d z d x = d [ f ( x , y ( x ) ) ] d x = f x + f y d y d x = f x − f y ϕ x ϕ y \frac{\text{d}z}{\text{d}x}=\frac{\text{d}[f(x,y(x))]}{\text{d}x}=f_x+f_y\frac{\text{d}y}{\text{d}x}=f_x-f_y\frac{\phi_x}{\phi_y} dxdz​=dxd[f(x,y(x))]​=fx​+fy​dxdy​=fx​−fy​ϕy​ϕx​​在取得极值得时候它等于 0 0 0,也就是 f x − f y ϕ x ϕ y = 0 f_x-f_y\frac{\phi_x}{\phi_y}=0 fx​−fy​ϕy​ϕx​​=0两边同时乘以 ϕ y \phi_y ϕy​得 ϕ y f x − f y ϕ x = 0 \phi_yf_x-f_y\phi_x=0 ϕy​fx​−fy​ϕx​=0变形得到 f x ϕ x = f y ϕ y \frac{f_x}{\phi_x}=\frac{f_y}{\phi_y} ϕx​fx​​=ϕy​fy​​看起来蛮对称的哈。那我们引入参数 λ = − f x ϕ x = − f y ϕ y \lambda=-\frac{f_x}{\phi_x}=-\frac{f_y}{\phi_y} λ=−ϕx​fx​​=−ϕy​fy​​,变形一下有 { f x + λ ϕ x = 0 f y + λ ϕ y = 0 \begin{cases}f_x+\lambda\phi_x=0\\f_y+\lambda\phi_y=0\end{cases} {fx​+λϕx​=0fy​+λϕy​=0​这就是 d z d x = 0 \frac{\text{d}z}{\text{d}x}=0 dxdz​=0的条件。 我们梳理一下 ( x , y ) (x,y) (x,y)是极值点的条件:首先是 d z d x = 0 \frac{\text{d}z}{\text{d}x}=0 dxdz​=0,然后就是 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0。总结一下就是: { f x + λ ϕ x = 0 f y + λ ϕ y = 0 ϕ ( x , y ) = 0 \begin{cases}f_x+\lambda\phi_x=0\\f_y+\lambda\phi_y=0\\\phi(x,y)=0\end{cases} ⎩ ⎨ ⎧​fx​+λϕx​=0fy​+λϕy​=0ϕ(x,y)=0​

看到这三个式子,我们伟大的拉格朗日先生构造了一个函数: L ( x , y , λ ) = f ( x , y ) + λ ϕ ( x , y ) = 0 L(x,y,\lambda)=f(x,y)+\lambda\phi(x,y)=0 L(x,y,λ)=f(x,y)+λϕ(x,y)=0我们对它求导数: { ∂ L ∂ x = f x + λ ϕ x ∂ L ∂ y = f y + λ ϕ y ∂ L ∂ λ = ϕ ( x , y ) \begin{cases}\frac{\partial L}{\partial x}=f_x+\lambda\phi_x\\\frac{\partial L}{\partial y}=f_y+\lambda\phi_y\\\frac{\partial L}{\partial \lambda}=\phi(x,y)\end{cases} ⎩ ⎨ ⎧​∂x∂L​=fx​+λϕx​∂y∂L​=fy​+λϕy​∂λ∂L​=ϕ(x,y)​那么,这三个导数为 0 0 0不就和刚才我们提到的三个条件一模一样吗?于是我们只需要求 L L L梯度为 0 ⃗ \vec0 0 ,即 L L L对各个变量的偏导数都为 0 0 0的点(称为 L L L的驻点)就可以得到 f ( x , y ) f(x,y) f(x,y)在约束条件 ϕ ( x , y ) = 0 \phi(x,y)=0 ϕ(x,y)=0下的极值了!

L ( x , y , λ ) L(x,y,\lambda) L(x,y,λ)称为拉格朗日函数, λ \lambda λ称为拉格朗日乘数。

例 求 z = f ( x , y ) = 8 x 2 − 2 y z=f(x,y)=8x^2-2y z=f(x,y)=8x2−2y在 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1条件下的极值。 解:约束条件为 ϕ ( x , y ) = x 2 + y 2 − 1 = 0 \phi(x,y)=x^2+y^2-1=0 ϕ(x,y)=x2+y2−1=0。 令拉格朗日函数 L ( x , y , λ ) = f ( x , y ) + λ ϕ ( x , y ) = 8 x 2 − 2 y + λ x 2 + λ y 2 − λ = ( 8 + λ ) x 2 + λ y 2 − 2 y − λ \begin{aligned}L(x,y,\lambda)&=f(x,y)+\lambda\phi(x,y)\\&=8x^2-2y+\lambda x^2+\lambda y^2-\lambda\\&=(8+\lambda)x^2+\lambda y^2-2y-\lambda\end{aligned} L(x,y,λ)​=f(x,y)+λϕ(x,y)=8x2−2y+λx2+λy2−λ=(8+λ)x2+λy2−2y−λ​则 ∂ L ∂ x = 2 ( 8 + λ ) x ∂ L ∂ y = 2 λ y − 2 ∂ L ∂ λ = x 2 + y 2 − 1 \begin{aligned}\frac{\partial L}{\partial x}&=2(8+\lambda)x\\\frac{\partial L}{\partial y}&=2\lambda y-2\\\frac{\partial L}{\partial \lambda}&=x^2+y^2-1\end{aligned} ∂x∂L​∂y∂L​∂λ∂L​​=2(8+λ)x=2λy−2=x2+y2−1​令这三个导数为 0 0 0,解方程组,得到 x = 0 , y = ± 1 , λ = ∓ 1 x=0,y=\pm 1,\lambda=\mp 1 x=0,y=±1,λ=∓1或 x = ± 3 7 8 , y = − 1 8 , λ = − 8 x=\pm\frac{3\sqrt7}{8},y=-\frac1 8,\lambda=-8 x=±837 ​​,y=−81​,λ=−8。 (1) 当 ( x , y ) = ( 0 , ± 1 ) (x,y)=(0,\pm 1) (x,y)=(0,±1)时, f ( x , y ) = − 2 f(x,y)=-2 f(x,y)=−2,取极小值; (2) 当 ( x , y ) = ( ± 3 7 8 , − 1 8 ) (x,y)=(\pm\frac{3\sqrt7}{8},-\frac1 8) (x,y)=(±837 ​​,−81​)时, f ( x , y ) = 65 8 f(x,y)=\frac{65} 8 f(x,y)=865​,取极大值。∎

事实上,拉格朗日乘数法可以用可视化的方式理解。在这里插入图片描述 对于例子中给出的函数,我们画出 f ( x , y ) = 8 x 2 − 2 y f(x,y)=8x^2-2y f(x,y)=8x2−2y的等值线,例如 f ( x , y ) = − 1 f(x,y)=-1 f(x,y)=−1;我们对图像进行平移,即可得到 f ( x , y ) f(x,y) f(x,y)等于不同的值的等值线。约束条件 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1限定了 ( x , y ) (x,y) (x,y)只能在蓝色的圆上。我们看到,从上往下平移, f ( x , y ) f(x,y) f(x,y)越来越大。那么,当曲线 f ( x , y ) = a f(x,y)=a f(x,y)=a平移到与 x 2 + y 2 = 1 x^2+y^2=1 x2+y2=1恰好有交点时,最小值就找到了,此时 f ( x , y ) = − 1 f(x,y)=-1 f(x,y)=−1,就是图中红线标出来的。继续往下平移,会出现曲线顶点与圆相切的情况,这是另一个极小值,但不是最小值。接着平移,快要没有交点的时候,最大值就找出来了,此时曲线与圆相切并且有两个切点。

事实上,拉格朗日函数 L L L的各阶导数为 0 0 0的点真的是极值吗?是极大值还是极小值?还需另行判断,不过一般而言通过问题的实际意义就能推测出来了。

二、推广到多元的情形

现在我们考虑 n n n元函数 f ( x 1 , x 2 , ⋯   , x n ) f(x_1,x_2,\cdots,x_n) f(x1​,x2​,⋯,xn​)在 m m m个约束条件 { ϕ 1 ( x 1 , x 2 , ⋯   , x n ) = 0 ϕ 2 ( x 1 , x 2 , ⋯   , x n ) = 0 ⋯ ϕ m ( x 1 , x 2 , ⋯   , x n ) = 0 \begin{cases}\phi_1(x_1,x_2,\cdots,x_n)=0\\\phi_2(x_1,x_2,\cdots,x_n)=0\\\cdots\\\phi_m(x_1,x_2,\cdots,x_n)=0\end{cases} ⎩ ⎨ ⎧​ϕ1​(x1​,x2​,⋯,xn​)=0ϕ2​(x1​,x2​,⋯,xn​)=0⋯ϕm​(x1​,x2​,⋯,xn​)=0​下的极值。

此时我们取拉格朗日函数 L ( x 1 , x 2 , ⋯   , x n , λ 1 , λ 2 , ⋯   , λ m ) = f ( x 1 , x 2 , ⋯   , x n ) + λ 1 ϕ 1 ( x 1 , x 2 , ⋯   , x n ) + λ 2 ϕ 2 ( x 1 , x 2 , ⋯   , x n ) + ⋯ + λ m ϕ m ( x n , x 2 , ⋯   , x n ) = f ( x 1 , x 2 , ⋯   , x n ) + ∑ k = 1 m λ k ϕ k ( x 1 , x 2 , ⋯   , x n ) \begin{aligned}&L(x_1,x_2,\cdots,x_n,\lambda_1,\lambda_2,\cdots,\lambda_m)\\=&f(x_1,x_2,\cdots,x_n)+\lambda_1\phi_1(x_1,x_2,\cdots,x_n)\\&+\lambda_2\phi_2(x_1,x_2,\cdots,x_n)+\cdots+\\&\lambda_m\phi_m(x_n,x_2,\cdots,x_n)\\=&f(x_1,x_2,\cdots,x_n)+\sum\limits_{k=1}^m\lambda_k\phi_k(x_1,x_2,\cdots,x_n)\end{aligned} ==​L(x1​,x2​,⋯,xn​,λ1​,λ2​,⋯,λm​)f(x1​,x2​,⋯,xn​)+λ1​ϕ1​(x1​,x2​,⋯,xn​)+λ2​ϕ2​(x1​,x2​,⋯,xn​)+⋯+λm​ϕm​(xn​,x2​,⋯,xn​)f(x1​,x2​,⋯,xn​)+k=1∑m​λk​ϕk​(x1​,x2​,⋯,xn​)​此时 L L L对各个变量偏导数为 0 0 0的点就是我们要考虑的 f f f的极值点。

这就是拉格朗日乘数法的所有内容啦!是不是很简单呢?~



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有