拉格朗日乘数法:条件极值的4步解法与例题

更新于

拉格朗日乘数法用来求函数 f(x, y) 在约束 φ(x, y)=0 下的极值,固定四步:构造 L=f+λφ;对每个自变量求偏导并令其为零;把这些方程与约束方程联立,解出候选点;把各候选点的函数值拿来比较,大的是最大值、小的是最小值。第三步最常见的漏洞是忘了把约束方程放进方程组,第四步最常见的漏洞是解出候选点就停下、没有比较。下面三道例题依次是圆上的线性函数、长方体体积、椭圆上的乘积。

四步写法速查

以二元函数、一个约束为例,每一步写出来的东西如下:

  1. 构造:L(x, y, λ)=f(x, y)+λφ(x, y),φ 要先移项成「=0」的形式。
  2. 求偏导:L_x=f_x+λφ_x=0,L_y=f_y+λφ_y=0。
  3. 联立:上面两个方程加上 φ(x, y)=0,三个方程解 x、y、λ 三个未知量。
  4. 比较:把所有候选点代入 f,按大小定最大值、最小值;实际问题里只有一个候选点、且按实际意义最值确实存在时,它就是所求。

λ 前面写加号还是减号都可以,只影响 λ 的符号,候选点完全相同。解方程组时常用的技巧是先消去 λ:从两个偏导方程各解出 λ,令二者相等。

这个方法的几何含义是:在条件极值点上,目标函数的梯度 ∇f 与约束曲线的法向量 ∇φ 平行(前提是 ∇φ≠0),比例系数就是 λ(差一个负号)。f 的等值线恰好与约束曲线相切,沿约束移动时 f 在这一点暂时不增也不减。

拉格朗日乘数法构造、求偏导、联立、比较四步

三道例题逐步写

例 1:求 f=x+y 在圆 x²+y²=2 上的最大值和最小值。

构造 L=x+y+λ(x²+y²−2)。求偏导:1+2λx=0,1+2λy=0。两式都解出 λ,得 −1/(2x)=−1/(2y),所以 x=y。代入约束:2x²=2,x=±1。候选点 (1, 1) 和 (−1, −1)。

比较:f(1, 1)=2,f(−1, −1)=−2,最大值 2,最小值 −2。用参数 x=√2cos t、y=√2sin t 验算,x+y=2sin(t+π/4),范围正是 [−2, 2]。

例 2(长方体体积):表面积为 24 的长方体,长宽高各取多少时体积最大?

设长宽高为 x、y、z(都大于 0),约束 2(xy+yz+zx)=24,即 xy+yz+zx=12。构造 L=xyz+λ(xy+yz+zx−12)。

求偏导:

  • L_x=yz+λ(y+z)=0
  • L_y=xz+λ(x+z)=0
  • L_z=xy+λ(x+y)=0

三式依次乘 x、y、z,左边都出现 xyz,于是 λx(y+z)=λy(x+z)=λz(x+y)。λ≠0(否则 yz=0),展开前两个得 xz=yz,所以 x=y;同理 y=z。代入约束 3x²=12,x=2。长宽高都是 2 时体积最大,最大体积 8,此时是正方体,表面积 6×4=24,核对无误。

编辑器里长方体体积问题的四个联立方程

例 3:求 f=xy 在椭圆 x²+4y²=4 上的最大值。

构造 L=xy+λ(x²+4y²−4)。求偏导:y+2λx=0,x+8λy=0。由第一式 λ=−y/(2x),代入第二式得 x−4y²/x=0,即 x²=4y²。这里除以 x 之前先检查 x=0:此时第一式给出 y=0,而 (0, 0) 不在椭圆上,可以排除。

代入约束:4y²+4y²=4,y²=1/2,x²=2。xy 取正时 x=√2、y=√2/2 或两者都取负,f=1;xy 取负时 f=−1。所以最大值 1,最小值 −1。参数验算:x=2cos t,y=sin t,xy=sin 2t,范围 [−1, 1]。

例 3 在椭圆约束下构造的拉格朗日函数

常见错误对照

错误 后果 改法
方程组里漏写约束 两个方程解不出三个未知量 偏导方程个数 + 约束个数 = 未知量个数
消 λ 时直接除以变量 可能丢掉变量为零的候选点 先单独检查变量为零的情形
求出候选点就停 分不清最大值还是最小值 逐个代入 f 比较
约束没移项成 =0 L 里的常数项位置出错 先写成 φ(x, y)=0

三道例题候选点与函数值的比较表

条件极值是多元函数极值的一部分,偏导、全微分与无条件极值的判别方法见 多元函数微分学。

把方程组录成可复查的推导

例 2 这种三个偏导方程加一个约束的方程组,手写时最容易抄错下标。打开公式编辑页点「LaTeX」,用 cases 环境把四个方程排在一个大括号里:

\begin{cases}
yz+\lambda(y+z)=0 \\
xz+\lambda(x+z)=0 \\
xy+\lambda(x+y)=0 \\
xy+yz+zx=12
\end{cases}
\;\Rightarrow\; x=y=z=2,\quad V_{\max}=8

录好后在「可视化」模式下逐行对照草稿核对,下标与乘数都对上了再从「导出」选「SVG 矢量」,插进课程报告里放大也清晰;导出要登录并开通本站会员。

延伸阅读

常见问题

有两个约束条件怎么写?
每个约束配一个乘数。目标函数加上第一个乘数乘第一个约束,再加上第二个乘数乘第二个约束,构成拉格朗日函数。三元函数带两个约束时,未知量是三个自变量加两个乘数共五个,对三个自变量求偏导令其为零得三个方程,再加上两个约束方程,正好五个方程联立求解,最后同样把各个候选点的函数值拿来比较。