拉格朗日乘数

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

拉格朗日乘数(Lagrange Multipliers)

目录

什么是拉格朗日乘数

  在数学最优化问题中,拉格朗日乘数法(以数学家约瑟夫•拉格朗日命名)是一种寻找变量受一个或多个条件所限制的多元函数的极值的方法。这种方法将一个有n变量k 个约束条件的最优化问题转换为一个有n + k个变量的方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量未知数,即拉格朗日乘数:约束方程的梯度(gradient)的线性组合里每个向量的系数。

  简单举例:

  最大化 f(x,y)

  受限于 g(x,y) = c

  引入新变量拉格朗日乘数λ,即可求解下列拉格朗日方程

  \Lambda(x,y,\lambda) = f(x,y) + \lambda \cdot \Big(g(x,y)-c\Big),

  此方法的证明牵涉到偏微分,全微分或链法,从而找到能让设出的隐函数的微分为零的未知数的值。

拉格朗日乘数的介绍

  微积分中最常见的问题之一是求一个函数的极大极小值(极值)。但是很多时候找到极值函数的显式表达是很困难的,特别是当函数有先决条件或约束时。拉格朗日乘数则提供了一个非常便利方法来解决这类问题,而避开显式地引入约束和求解外部变量。

  先看一个二维的例子:假设有函数:f(x,y),要求其极值(最大值/最小值),且满足条件:g\left( x,y \right) = c

  c 为常数。对不同dn的值,不难想象出f \left( x, y \right)=d_n的等高线。而方程g可行集所构成的线正好是g(x,y) = c想象我们沿着g = c的可行集走;因为大部分情况下f的等高线和g的可行集线不会重合,但在有解的情况下,这两条线会相交。想象此时我们移动g = c上的点,因为f是连续的方程,我们因此能走到f \left( x, y \right)=d_n更高或更低的等高线上,也就是说dn可以变大或变小。只有当g = cf \left( x, y \right)=d_n相切,也就是说,此时,我们正同时沿着g = cf \left( x, y \right)=d_n走。这种情况下,会出现极值或鞍点。

  气象图中就很常出现这样的例子,当温度和气压两列等高线同时出现的时候,切点就意味着约束极值的存在。

  用向量的形式来表达的话,我们说相切的性质在此意味着fg的切线在某点上平行。此时引入一个未知标量λ,并求解:

  \nabla \Big[f \left(x, y \right) + \lambda \left(g \left(x, y \right) - c \right) \Big] = 0

  且λ ≠ 0。

  一旦求出λ的值,将其套入下式,易求在无约束极值和极值所对应的点。

  F \left( x , y \right) = f \left( x , y \right) + \lambda \left( g \left( x , y \right) - c \right)

  新方程F(x,y)在达到极值时与f(x,y)相等,因为F(x,y)达到极值时g(x,y) − c总等于零。

拉格朗日乘数的运用方法

  如f定义为在Rn上的方程,约束为gkx)= ck(或将约束左移得到gk(x) − ck = 0)。定义拉格朗日Λ

  \Lambda(\mathbf x, \boldsymbol \lambda) = f + \sum_k \lambda_k(g_k-c_k)

  注意极值的条件和约束现在就都被记录到一个式子里了:

  \nabla \Lambda = 0 \Leftrightarrow \nabla f = - \sum_k \lambda_k \nabla\ g_k,\nabla_{\mathbf \lambda} \Lambda = 0 \Leftrightarrow g_k = c_k

  拉格朗日乘数常被用作表达最大增长值。原因是从式子:-\frac{\partial \Lambda}{\partial {c_k}} = \lambda_k。中我们可以看出λk是当方程在被约束条件下,能够达到的最大增长率。拉格朗日力学就使用到这个原理。

  拉格朗日乘数法在Karush-Kuhn-Tucker最优化条件被推广。

拉格朗日乘数例子

案例一

  求此方程的最小值:

  f(x,y) = x2y

  同时未知数满足

  x2 + y2 = 1

  因为只有一个未知数的限制条件,我们只需要用一个乘数λ

  g(x,y) = x2 + y2 − 1

  Φ(x,y,λ) = f(x,y) + λg(x,y) = x2y + λ(x2 + y2 − 1)

  将所有Φ方程的偏微分设为零,得到一个方程组,最大值是以下方程组的解中的一个:

  2xy + 2λx = 0

  x2 + 2λy = 0

  x2 + y2 − 1 = 0

案例二

  求此概率分布|离散分布的最大熵 (信息论)|熵:

  f(p_1,p_2,\ldots,p_n) = -\sum_{k=1}^n p_k\log_2 p_k

  所有概率的总和是1,因此我们得到的约束是gp)= 1即

  g(p_1,p_2,\ldots,p_n)=\sum_{k=1}^n p_k=1

  可以使用拉格朗日乘数找到最高熵(概率的函数)。对于所有的k 从1到n,要求

  \frac{\partial}{\partial p_k}(f+\lambda (g-1))=0,

  由此得到

  \frac{\partial}{\partial p_k}\left(-\sum_{k=1}^n p_k \log_2 p_k + \lambda (\sum_{k=1}^n p_k - 1) \right) = 0

  计算出这n个等式的微分,我们得到:

  -\left(\frac{1}{\ln 2}+\log_2 p_k \right) + \lambda = 0

  这说明pi都相等 (因为它们都只是λ的函数)。

  解出约束∑k pk = 1,得到

  p_k = \frac{1}{n}

  因此,使用均匀分布可得到最大熵的值。

拉格朗日乘数在经济学中的应用

  约束最优化在经济学占有很重要的地位。例如一个消费者的选择问题可以被视为一个求效用|效用方程在预算约束下的最大值问题。拉格朗日乘数在经济学中被解释影子价格,设定在某种约束下,在这里即收入边际效用

  拉格朗日乘数就是效用函数在最优解出对收入的偏导数,也就是在最优解处增加一个单位收入带来的效用增加,或者说在最优解处有效用衡量收入的价值,称之为收入的边际效用。

  在企业生产问题中,拉格朗日乘数用来衡量要素投入变动所带来的收入变动,du/dm=λ,u表示效用函数或生产函数,m表示收入或要素投入。

  在具体数学推导中还可以运用包络定理的内容。

本条目对我有帮助18
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请编辑条目

本条目由以下用户参与贡献

Tracy,小月肖朱熹的熹读第一声,Mis铭.

评论(共0条)

提示:评论内容为网友针对条目"拉格朗日乘数"展开的讨论,与本站观点立场无关。

发表评论请文明上网,理性发言并遵守有关规定。

打开APP

以上内容根据网友推荐自动排序生成