1103 字
6 分钟
拉格朗日乘数法:在约束中寻找最优的数学艺术

一张温暖的木质书桌特写,金黄色的午后阳光透过窗户洒在桌面上,摊开的笔记本上写满了手写的最优化方程和几何图解,铅笔画的曲线与约束线在切点处相交,一杯冒着热气的红茶静静放在旁边,背景是微微模糊的旧书架,整张照片充满胶片颗粒质感和宁静的学术氛围

宝贝们中午好呀~今天 YuKi 来聊聊优化理论里一个特别优雅的方法——拉格朗日乘数法!💡✨


一个生活中的优化问题#

想象一下:你有一块长方形纸板,想做一个容积最大的无盖盒子。但纸板面积是固定的——这就是一个典型的带约束的优化问题

  • 目标:最大化盒子容积 V(x,y,z)=xyzV(x, y, z) = xyz
  • 约束:纸板面积 S(x,y,z)=xy+2xz+2yz=AS(x, y, z) = xy + 2xz + 2yz = A(常数)

在没有约束的情况下,容积可以无限大。但有了约束之后,最优解必须在「可行域」的边界上找——这正是拉格朗日乘数法要解决的问题!


核心直觉:梯度平行#

拉格朗日乘数法的几何直觉其实超级美:

在约束曲面上,目标函数 ff 的最优点处,ff 的梯度 f\nabla f 必须与约束函数 gg 的梯度 g\nabla g 平行

为什么呢?如果 f\nabla fg\nabla g 不平行,那 f\nabla f 在约束曲面的切线方向上就会有一个分量——沿着那个方向走一小步,ff 的值就会变大或变小,说明当前点不是最优的!

只有在两个梯度共线时,沿着约束曲面任何方向移动,ff 的变化率都为零——这就是极值点!

用数学表达就是:

f(x,y)=λg(x,y)\nabla f(x, y) = \lambda \nabla g(x, y)

这里的 λ\lambda 就是传说中的拉格朗日乘数(Lagrange Multiplier)!


拉格朗日函数的巧妙构造#

拉格朗日(Joseph-Louis Lagrange)在 18 世纪想出了一个巧妙的办法:构造一个辅助函数

L(x,y,λ)=f(x,y)λg(x,y)\mathcal{L}(x, y, \lambda) = f(x, y) - \lambda \cdot 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λ=g(x,y)=0\frac{\partial \mathcal{L}}{\partial \lambda} = -g(x, y) = 0 恰好就是约束条件本身!三个方程,三个未知数,解出来就得到最优解啦~


举个🌰:最简单的例子#

问题:在 x+y=10x + y = 10 的约束下,最大化 f(x,y)=xyf(x, y) = xy

构造拉格朗日函数

L(x,y,λ)=xyλ(x+y10)\mathcal{L}(x, y, \lambda) = xy - \lambda(x + y - 10)

求偏导并令为零

Lx=yλ=0y=λ\frac{\partial \mathcal{L}}{\partial x} = y - \lambda = 0 \quad\Rightarrow\quad y = \lambda

Ly=xλ=0x=λ\frac{\partial \mathcal{L}}{\partial y} = x - \lambda = 0 \quad\Rightarrow\quad x = \lambda

Lλ=(x+y10)=0x+y=10\frac{\partial \mathcal{L}}{\partial \lambda} = -(x + y - 10) = 0 \quad\Rightarrow\quad x + y = 10

由前两个方程得 x=y=λx = y = \lambda,代入第三个得 x=y=5x = y = 5,最大值 f(5,5)=25f(5,5) = 25

这个结果很直观——固定和的情况下,两数越接近乘积越大。但拉格朗日乘数法给了我们处理任意复杂约束的通用框架!


推广到多个约束#

如果有 mm 个约束 g1=0,g2=0,,gm=0g_1 = 0, g_2 = 0, \ldots, g_m = 0,只需引入 mm 个乘数:

L=fλ1g1λ2g2λmgm\mathcal{L} = f - \lambda_1 g_1 - \lambda_2 g_2 - \cdots - \lambda_m g_m

然后对所有变量和乘数求偏导即可。在机器学习里,支持向量机(SVM) 的优化问题就是用 KKT 条件(拉格朗日乘数法的推广)来解的!


拉格朗日乘数的物理意义#

λ\lambda 不仅是数学工具,它还有深刻的物理意义——它衡量的是约束条件的「影子价格」:如果约束放宽一个单位(比如总预算从 10 变成 11),目标函数最优值大约会增加 λ\lambda

在经济学里,这被称为边际价值(Marginal Value),是资源分配决策的核心依据!


拉格朗日乘数法教会我们的,不只是数学技巧,更是一种哲学:有限制并不意味着无法最优——在约束中找到自由,本身就是一种优雅的艺术 💕

好啦~今天的数学小课堂就到这里!下次想听 YuKi 讲什么呀?凸优化?还是 KKT 条件的深入版?评论区告诉窝~ 🎀✨

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

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