ARTICLE

拉格朗日乘数法

拉格朗日乘数法 (Lagrange Multiplier Method) 拉格朗日乘数法是在优化问题中寻找多元函数在等式约束下极值的核心方法。它将有约束优化转化为无约束优化,通过引入拉格朗日乘数 (Lagrange Multiplier) 实现。由数学家约瑟夫·拉格朗日提出。 核心思想与几何直观 在最优点,目标函数 f 的等高线与约束曲线 g(x,y)=c

浏览 53 更新 2025-10-10

拉格朗日乘数法 (Lagrange Multiplier Method)

拉格朗日乘数法是在优化问题中寻找多元函数在等式约束下极值的核心方法。它将有约束优化转化为无约束优化,通过引入拉格朗日乘数 (Lagrange Multiplier) λ\lambda 实现。由数学家约瑟夫·拉格朗日提出。

核心思想与几何直观

在最优点,目标函数 ff等高线与约束曲线 g(x,y)=cg(x,y)=c 相切。这意味着两个梯度平行:

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

其中 λ\lambda 就是拉格朗日乘数。

拉格朗日函数与求解步骤

对于目标函数 f(x1,,xn)f(x_1, \dots, x_n) 和约束 g(x1,,xn)=cg(x_1, \dots, x_n) = c

L(x1,,xn,λ)=f(x1,,xn)λ(g(x1,,xn)c)\mathcal{L}(x_1, \dots, x_n, \lambda) = f(x_1, \dots, x_n) - \lambda (g(x_1, \dots, x_n) - c)

一阶必要条件(产生 n+1n+1 个方程和 n+1n+1 个未知数):

Lxi=fxiλgxi=0,Lλ=(gc)=0\frac{\partial \mathcal{L}}{\partial x_i} = \frac{\partial f}{\partial x_i} - \lambda \frac{\partial g}{\partial x_i} = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = -(g - c) = 0

详细案例:效用最大化

目标:最大化 U(x,y)=xyU(x, y) = xy,约束:2x+5y=1002x + 5y = 100(价格 px=2p_x=2, py=5p_y=5,收入 M=100M=100)。

第一步:构建拉格朗日函数

L(x,y,λ)=xyλ(2x+5y100)\mathcal{L}(x, y, \lambda) = xy - \lambda (2x + 5y - 100)

第二步:求偏导

Lx=y2λ=0,Ly=x5λ=0,Lλ=(2x+5y100)=0\frac{\partial \mathcal{L}}{\partial x} = y - 2\lambda = 0, \quad \frac{\partial \mathcal{L}}{\partial y} = x - 5\lambda = 0, \quad \frac{\partial \mathcal{L}}{\partial \lambda} = -(2x + 5y - 100) = 0

第三步:求解得 y=2λy = 2\lambda, x=5λx = 5\lambda,相除得 x/y=5/2x/y = 5/22x=5y2x = 5y

经济学解释:λ=MUx/px=MUy/py\lambda = MU_x/p_x = MU_y/p_y,即在最优点,每单位货币花费在两种商品上的边际效用相等。

代入预算约束:10y=100    y=10,x=25,λ=510y = 100 \implies y = 10, x = 25, \lambda = 5。最大效用 U(25,10)=250U(25, 10) = 250

λ\lambda 的经济学解释λ=5\lambda = 5 表示收入增加1单位,最大效用约增加5。即 λ=Umax/M\lambda = \partial U_{\max} / \partial M,称为收入的边际效用

扩展

多个等式约束:为每个约束引入 λi\lambda_iL=fλi(gici)\mathcal{L} = f - \sum \lambda_i(g_i - c_i)。梯度关系:f=λigi\nabla f = \sum \lambda_i \nabla g_i

不等式约束与KKT条件:推广至卡鲁什-库恩-塔克条件。引入互补松弛性λ(g(x)c)=0\lambda(g(x) - c) = 0。如果约束不饱和(g(x)<cg(x) < c),则 λ=0\lambda = 0;如果 λ>0\lambda > 0,则约束必须饱和(g(x)=cg(x) = c)。