拉格朗日乘数法详解:高中生也能看懂的最值求解教程

一、问题背景

假设我们要在有约束条件的情况下求函数的最大值或最小值。例如:

  • 用固定长度的篱笆围出最大面积的矩形
  • 在固定预算下购买商品组合获得最大效用

虽然在高中,这类题只需要使用基本不等式就可以轻松解决,但是对于更复杂的有约束条件的极值问题,我们可以用拉格朗日乘数法高效解决。

二、方法核心思想

当函数 ​f\left (x,y \right ) 在约束 ​g\left (x,y \right )=0 下取极值时,函数与约束的等高线相切,此时两曲线的梯度方向平行

三、详细步骤(以二维为例)

步骤 1:构造拉格朗日函数

构造新函数:

\mathcal{L}(x,y,\lambda) = f(x,y) - \lambda \cdot g(x,y)

其中 (​ \lambda ) 称为拉格朗日乘子

当然,我作为一名普通高中生,第一次见到这样的式子也确实感到头疼,不过接下来,让我们拾起一把新的武器——偏导数


1. 偏导数是什么?(高中生版)

想象你站在一个山坡上,​f\left (x,y \right ) 表示不同位置的海拔高度。

  • ​x 的偏导数:只沿着东西方向走时,高度的变化率

    \frac{\partial f}{\partial x} = 在 x 方向的海拔变化快慢
  • ​y 的偏导数:只沿着南北方向走时,高度的变化率

    \frac{\partial f}{\partial y} = 在 y 方向的海拔变化快慢

那么我们如何进行偏导数的求导运算呢,其实非常简单,这里我们只需要有主元思想

比如对于

f\left ( x,y \right) = ax^3 + 2by^3 +x^2 + 2xy

如果我们要进行求对 ​x 的偏导数,那就要以 ​x 为主元进行求导。更简单的理解就是​x 作为唯一的自变量,而把 ​y 当做一个系数进行求导

\frac{\partial f}{\partial x} = 3ax^2 + 2x + 2y

求对 ​y 的偏导数,

\frac{\partial f}{\partial y} = 6by^2 + 2x

如此看来,求偏导数的运算其实并不复杂,只不过是这样奇异的运算符号会给人莫名高深的感觉,当然,偏导数本身是有严格的数学定义的,还是建议读完本文之后进一步去了解一下这样实用的数学工具。

2. 拉格朗日函数的组成

  • ​f\left (x,y \right ) :你的目标函数(比如面积、利润等)
  • ​g\left (x,y \right )=0:必须满足的约束条件(比如周长固定、预算限制等)
  • ​ \lambda :一个“调节系数”,用来平衡目标和约束之间的关系

3. 为什么这样构造?

当你在约束条件下找极值时,相当于在“允许的路径”上找最高点与最低点。拉格朗日函数通过 ​ \lambda 将约束条件“融合”到目标函数中,使极值点满足两个条件:

  • 目标函数的增长方向与约束条件允许的方向一致。
  • 约束条件本身被严格满足(即 ​g\left (x,y \right )=0

步骤 2:求偏导数并设为零

对每个变量求偏导:

\begin{cases} \frac{\partial \mathcal{L}}{\partial x} = 0 \\ \frac{\partial \mathcal{L}}{\partial y} = 0 \\ \frac{\partial \mathcal{L}}{\partial \lambda} = 0 \quad (\text{即 } g(x,y)=0) \end{cases}

步骤 3:解方程组

解这组方程得到候选点 ​\left ( x,y \right )​\lambda,每个点对应一个可能的极值,可以类比基本不等式的去等条件“当且仅当”。

在我们把得到的候选点 ​\left ( x,y \right ) 带入​f\left (x,y \right ) 后求出来的就是我们的极值。

步骤 4:验证极值类型

比较各候选点的函数值,找出最大值与最小值(也有可能存在只有最大值或最小值的情况)

不过光看以上理论方法并不能有效理解拉乘在高中的运用,还是来点例题加深一下印象吧!


四、例题

问题 (2007上海卷第五题)​若实数x,y满足x+4y=1,则xy的最大值为

解答:

构造函数

f\left ( x,y,\lambda \right ) = xy + \lambda \left ( x+4y-1 \right )

\begin{cases} \frac{\partial f}{\partial x} = x+4\lambda =0 \\ \frac{\partial f}{\partial y} = y+\lambda =0 \\ x+4y = 1 \end{cases}

解得

\begin{cases} x= \frac{1}{2} \\ y= \frac{1}{8} \\ \lambda = -\frac{1}{8} \end{cases}

带入

f\left ( x,y \right ) = xy = \frac{1}{16}

则所求的 ​xy 的最大值为

xy = \frac{1}{16}

实际上,这样的方法除了几乎万能以外并没有太多优势,拉乘的确可以帮你暴力计算高中你遇到的所有不等式题,减少你的思考压力,但是解一个复杂的方程组也并不是什么高明的选择,如果可以稍作思考想到基本不等式或者其他更好的做法,我并不推荐直接使用拉乘(除非你计算能力逆天且注意力惊人)

五、注意事项

  1. 多个解的情况:可能出现多个候选点,需全部计算比较
  2. 边界检查:当变量有自然限制时(如长度>0),需检查边界值
  3. 几何验证:当约束条件为闭合曲线时,极值一定存在(高中一般不会遇到这种问题,要么求出唯一一个最大值或者最小值,要么求出来两者)

当然,拉乘肯定不局限于二维,也就是二元形式,一元式子求极值也可用拉乘,多元式子求极值也可以用拉乘。对于一元式子,我们可以考虑用换元的方法把他变成二元的,多元情况下那可能就需要很强的计算力,或者——Attention is all you need.

开个玩笑,这里举一个经典的一元换元方法:

对于求下式的最值

f\left (a\right ) = \sqrt{2a-10} +\sqrt{2-a}

我们不妨令

x= \sqrt{2a-10} , y=\sqrt{2-a}

可得约束

x^2 + 2y^2 - 6 = 0

此时,问题转化在以上约束下求下二元函数最值

f\left (x,y\right ) = x+y

这样我们就可以愉快的使用拉乘了

当然,使用这样的方法的时候一定要注意定义域,注意去等条件是否可以满足


六、方法原理(高中生版)

直观理解

当函数 ​f 的等高线与约束曲线 ​g=0 相切时:

  • 在切点处,两曲线的变化趋势相同
  • 这意味着它们的梯度向量成比例:​\nabla f = \lambda \nabla g

数学推导简版

设曲线上某点​\left ( x,y \right )是极值点,则在该点沿曲线方向的导数应为零:

df = \frac{\partial f}{\partial x}dx + \frac{\partial f}{\partial y}dy = 0

同时满足约束条件:

dg = \frac{\partial g}{\partial x}dx + \frac{\partial g}{\partial y}dy = 0

这说明 ​\nabla f​\nabla g 共线,即存在比例系数 ​\lambda


通过这个方法,我们可以将复杂的约束优化问题转化为方程组求解问题。记得多做练习来巩固理解!
——By JiomLan

为梦想创造现实!