在数学中的最优化问题中,拉格朗日乘数法(以数学家约瑟夫·拉格朗日命名)是一种寻找多元函数在其变量受到一个或多个条件的约束时的极值的方法。这种方法可以将一个有n个变量与k个约束条件的最优化问题转换为一个解有n + k个变量的方程组的解的问题。这种方法中引入了一个或一组新的未知数,即拉格朗日乘数,又称拉格朗日乘子,或拉氏乘子,它们是在转换后的方程,即约束方程中作为梯度(gradient)的线性组合中各个向量的系数。
比如,要求在时的最大值时,我们可以引入新变量拉格朗日乘数,这时我们只需要下列拉格朗日函数的极值:
拉格朗日乘数法所得的极点会包含原问题的所有极值点,但并不保证每个极值点都是原问题的极值点。拉格朗日乘数法的正确性的证明牵涉到偏微分,全微分或链法。
微积分中最常见的问题之一是求一个函数的极大极小值(极值)。但是很多时候找到极值函数的显式表达是很困难的,特别是当函数有先决条件或约束时。拉格朗日乘数则提供了一个非常便利方法来解决这类问题,而避开显式地引入约束和求解外部变量。
先看一个二维的例子:假设有函数:,要求其极值(最大值/最小值),且满足条件
c为常数。对不同的值,不难想像出
的等高线。而方程的可行集所构成的线正好是。想像我们沿着的可行集走;因为大部分情况下的等高线和的可行集线不会重合,但在有解的情况下,这两条线会相交。想像此时我们移动上的点,因为是连续的方程,我们因此能走到更高或更低的等高线上,也就是说可以变大或变小。只有当和相切,也就是说,此时,我们正同时沿着和走。这种情况下,会出现极值或鞍点。
气象图中就很常出现这样的例子,当温度和气压两列等高线同时出现的时候,切点就意味着约束极值的存在。