ARTICLE

拉格朗日乘子法

拉格朗日乘子法 (Lagrange Multiplier Method) 拉格朗日乘子法(Lagrange Multiplier Method)是求解带有等式约束的最优化问题的经典数学方法,由法国数学家 Joseph-Louis Lagrange 在18世纪提出。其核心思想是将一个带约束的极值问题转化为一个无约束的拉格朗日函数(Lagrangian)的驻点问

浏览 13 更新 2026-07-18

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

拉格朗日乘子法(Lagrange Multiplier Method)是求解带有等式约束最优化问题的经典数学方法,由法国数学家 Joseph-Louis Lagrange 在18世纪提出。其核心思想是将一个带约束的极值问题转化为一个无约束的拉格朗日函数(Lagrangian)的驻点问题,通过引入辅助变量——拉格朗日乘子(Lagrange Multiplier),把约束条件"编码"进目标函数中。该方法在微观经济学宏观经济学计量经济学中有着极其广泛的应用,是分析消费者效用最大化、企业成本最小化等核心问题的标准工具。

数学构造

考虑一般形式的等式约束优化问题:

maxx1,,xnf(x1,,xn)s.t.g(x1,,xn)=c\max_{x_1, \ldots, x_n} f(x_1, \ldots, x_n) \quad \text{s.t.} \quad g(x_1, \ldots, x_n) = c

其中 ff 为目标函数,gg 为约束函数,cc 为常数。引入拉格朗日乘子 λ\lambda,构造拉格朗日函数

L(x1,,xn,λ)=f(x1,,xn)+λ(cg(x1,,xn))\mathcal{L}(x_1, \ldots, x_n, \lambda) = f(x_1, \ldots, x_n) + \lambda \big(c - g(x_1, \ldots, x_n)\big)

注意此处约束以 cg=0c - g = 0 的形式写入,λ\lambda 的符号约定因写法而异(亦可写作 fλ(gc)f - \lambda(g - c)),但一阶条件在本质上是等价的。

一阶必要条件

假设 ffgg 均连续可微。内点最优解 (x1,,xn,λ)(x_1^*, \ldots, x_n^*, \lambda^*) 必须满足拉格朗日函数对所有变量的偏导数为零:

\begin{align} \[ \frac{\partial \mathcal{L}}{\partial x_i} &= \frac{\partial f}{\partial x_i} - \lambda \frac{\partial g}{\partial x_i} = 0, \quad i = 1, \ldots, n \\ \] \[ \frac{\partial \mathcal{L}}{\partial \lambda} &= c - g(x_1, \ldots, x_n) = 0 \] \end{align}

第一个条件给出 nn 个方程,表明在最优点处,目标函数的边际替代率与约束函数的边际替代率成比例,比例因子恰为 λ\lambda;第二个条件即原始约束本身。共计 n+1n+1 个方程求解 n+1n+1 个未知数。

拉格朗日乘子的经济学含义:影子价格

拉格朗日乘子 λ\lambda^* 具有深刻的经济学含义。考虑将约束常数 cc 视为参数,定义值函数(Value Function):

V(c)=maxx{f(x)g(x)=c}V(c) = \max_{x} \{ f(x) \mid g(x) = c \}

在适当的正则条件下(见下文约束规格),包络定理Envelope Theorem)给出:

dVdc=Lc=λ\frac{dV}{dc} = \frac{\partial \mathcal{L}}{\partial c} = \lambda^*

这意味着 λ\lambda^* 度量了约束资源 cc 每放松一个单位时目标函数最优值的增量。在经济学语境中,λ\lambda^* 就是该资源的影子价格(Shadow Price)——它反映的不是资源的市场价格,而是其在特定最优配置下的内部边际价值。

典型经济学应用

消费者效用最大化:消费者在预算约束 p1x1+p2x2=mp_1 x_1 + p_2 x_2 = m 下最大化效用 U(x1,x2)U(x_1, x_2)。拉格朗日函数为 L=U(x1,x2)+λ(mp1x1p2x2)\mathcal{L} = U(x_1, x_2) + \lambda(m - p_1 x_1 - p_2 x_2)。一阶条件:

Ux1=λp1,Ux2=λp2\frac{\partial U}{\partial x_1} = \lambda p_1, \quad \frac{\partial U}{\partial x_2} = \lambda p_2

两式相除得到经典的等边际原理:MRS12=MU1/MU2=p1/p2MRS_{12} = MU_1 / MU_2 = p_1 / p_2。此处的 λ\lambda 即为收入的边际效用——每增加一单位收入所获得的额外效用。

企业成本最小化:企业在产出约束 f(K,L)=qf(K, L) = q 下最小化成本 wL+rKwL + rK。拉格朗日函数 L=wL+rK+λ(qf(K,L))\mathcal{L} = wL + rK + \lambda(q - f(K, L))。一阶条件导出 w/MPL=r/MPK=λw / MP_L = r / MP_K = \lambda,即最后一单位产出的边际成本等于 λ\lambda——影子价格在此即为边际成本本身。

与KKT条件的关系

拉格朗日乘子法仅处理等式约束。当约束中包含不等式(如 g(x)cg(x) \leq cx0x \geq 0)时,需要推广到KKT条件(Karush-Kuhn-Tucker Conditions)。KKT条件在拉格朗日乘子法的基础上引入了互补松弛条件(Complementary Slackness)和乘子的符号约束(对于不等式 g(x)cg(x) \leq c,要求 λ0\lambda \geq 0)。当所有约束均为等式时,KKT条件退化为经典的拉格朗日一阶条件。

约束规格与正则条件

拉格朗日乘子法的一阶必要条件成立的前提是满足约束规格(Constraint Qualification)。最常见的版本要求约束函数的梯度向量 g(x)\nabla g(x^*) 在最优解处线性无关(对于单一等式约束,即 g(x)0\nabla g(x^*) \neq \mathbf{0})。若梯度为零向量,则一阶条件可能丢失最优解或给出虚假解——此时最优解并非拉格朗日函数的驻点,需借助其他方法判别。