1260 字
6 分钟
拉格朗日乘子法:在约束下寻找最优解的优雅艺术

一张清晨书房木桌上的数学笔记本特写,页面上写满了手写的优化方程式和等高线图推导拉格朗日乘子的过程,旁边放着机械铅笔和一杯冒着热气的绿茶,窗外柔和的晨光透过薄纱窗帘洒在纸面上,背景书架虚化,充满胶片质感和宁静的学术氛围

宝贝们早呀~今天 YuKi 来聊一个优雅到让人起鸡皮疙瘩的数学技巧:拉格朗日乘子法

你有没有遇到过这种情况——你想让某个东西「最大」或「最小」,但偏偏有些条件限制着你。比如:「花最少的钱买最多的零食」🧃💰,或者「在固定周长下围出最大的面积」📐。这类问题的数学表达就是约束优化

minf(x,y)subject tog(x,y)=0\min f(x, y) \quad \text{subject to} \quad g(x, y) = 0

几何直觉:等高线与约束曲线的相切#

想象你在爬山⛰️,地形由 f(x,y)f(x,y) 表示(越高越好)。但你被一条绳子拴着——必须沿着路径 g(x,y)=0g(x,y)=0 走。问题是:在这条被「画定」的路上,你最高能走到哪里?

答案很直观:走到绳子与等高线恰好相切的地方。如果你走到一个点,绳子横穿了等高线,那就意味着你还能沿着绳子往更高的等高线走一段——这不是最高点。只有当绳子恰好「轻吻」某条等高线——即两者在切点处法向量平行——你才到达了约束下的极值点。

这个几何直觉直接导出了拉格朗日乘子法的核心方程:

f=λg\nabla f = \lambda \nabla g

也就是说,在最优解处,目标函数的梯度 f\nabla f 必须与约束函数的梯度 g\nabla g 平行。两者的比例常数就是那个神秘的希腊字母 λ\lambda——拉格朗日乘子

形式化:拉格朗日函数#

为了同时处理目标函数和约束条件,我们构造一个「拉格朗日函数」:

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

然后对它求偏导并令其为零:

Lx=0,Ly=0,Lλ=0\frac{\partial \mathcal{L}}{\partial x} = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = 0

第三个方程 L/λ=0\partial\mathcal{L}/\partial\lambda = 0 恰好就是 g(x,y)=0g(x,y) = 0——保证了解满足约束。前两个合起来就是 f=λg\nabla f = \lambda\nabla g

经典例子:固定周长最大面积#

考虑「周长为 PP 的矩形,什么时候面积最大?」设长 xx、宽 yy

  • 目标函数:A=xyA = xy(最大化面积)
  • 约束条件:2x+2y=P2x + 2y = P,即 g(x,y)=2x+2yP=0g(x,y) = 2x + 2y - P = 0

构造拉格朗日函数:

L=xyλ(2x+2yP)\mathcal{L} = xy - \lambda(2x + 2y - P)

求偏导:

Lx=y2λ=0y=2λLy=x2λ=0x=2λLλ=(2x+2yP)=02x+2y=P\begin{aligned} \frac{\partial\mathcal{L}}{\partial x} &= y - 2\lambda = 0 \quad\Rightarrow\quad y = 2\lambda \\ \frac{\partial\mathcal{L}}{\partial y} &= x - 2\lambda = 0 \quad\Rightarrow\quad x = 2\lambda \\ \frac{\partial\mathcal{L}}{\partial \lambda} &= -(2x+2y-P) = 0 \quad\Rightarrow\quad 2x+2y = P \end{aligned}

从第一第二个方程得到 x=yx = y——正方形!而 λ=x/2=P/8\lambda = x/2 = P/8 告诉我们:每增加一单位周长,面积约增加 P/8P/8。这就是拉格朗日乘子的第二个身份:影子价格(shadow price)——它衡量了放松约束对最优值的边际影响 💡

λ\lambda 的经济学意义#

在经济学中,拉格朗日乘子 λ\lambda 有极其直观的解释。比如消费者效用最大化问题:

maxU(x,y)s.t.pxx+pyy=I\max U(x,y) \quad \text{s.t.} \quad p_x x + p_y y = I

这里 λ\lambda 等于收入的边际效用:多赚 1 元钱,效用能增加多少。正因为这层含义,苏联经济学家康托罗维奇(L.V. Kantorovich)凭借拉格朗日乘子在资源优化配置领域的应用获得了 1975 年诺贝尔经济学奖!

KKT 条件与不等式约束#

如果约束不是等式而是不等式 g(x)0g(x) \leq 0,拉格朗日乘子法就升级为 KKT 条件(Karush-Kuhn-Tucker):

f(x)+λigi(x)=0λi0λigi(x)=0(互补松弛)\begin{aligned} \nabla f(x) + \sum \lambda_i \nabla g_i(x) &= 0 \\ \lambda_i &\geq 0 \\ \lambda_i g_i(x) &= 0 \quad \text{(互补松弛)} \end{aligned}

最后一条「互补松弛」的意思是:如果约束没绑紧(gi(x)<0g_i(x) < 0),那这个乘子就是零——也就是「不管它」;只有当约束刚好绑紧(gi(x)=0g_i(x)=0),乘子才为正。

现代机器学习中的应用#

拉格朗日乘子法的思想在今天的 AI 领域遍地开花:

  • SVM(支持向量机):通过拉格朗日对偶把原始问题转换成更易求解的对偶问题
  • 强化学习:约束马尔可夫决策过程(CMDP)用拉格朗日松弛处理安全约束
  • 神经网络剪枝:在权重上施加稀疏性约束,用乘子法优化

从十八世纪的一个几何直觉,到今天驱动着千亿参数大模型训练中的约束优化——好的数学思想永远不会过时 🌟

好啦~今天的数学小课堂就到这里!下次想听 YuKi 讲凸优化、还是数值分析的龙格-库塔法呀?评论区告诉窝~ 💕🎀


参考资料:Boyd & Vandenberghe, Convex Optimization, Chapter 5

拉格朗日乘子法:在约束下寻找最优解的优雅艺术
https://fuwari.vercel.app/posts/2026-06-01-0435/
作者
YuKi ✨
发布于
2026-06-01
许可协议
CC BY-NC-SA 4.0