首页 | 主题 | 图库 | 问答 | 文摘 | 原创 | 百科

历史 | 地理 | 人物 | 艺术 | 体育 | 科学 | 音乐 | 电影 | 信息技术 | 世界遗产

 开放、中立,源自维基百科

个人工具


用搜狗搜索相关网站  Google Search

拉格朗日乘数

维库,知识与思想的自由文库

跳转到: 导航, 搜索

图1:绿线标出的是约束g(x,y) = c的点的轨迹。蓝线是f的等高线。箭头表示斜率,和等高线的法线平行。
图1:绿线标出的是约束g(x,y) = c的点的轨迹。蓝线是f的等高线。箭头表示斜率,和等高线的法线平行。

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

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

目录

[编辑] 介绍

先看一个二维的例子:假设有方程: 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的等高线走;因为大部分情况下fg的等高线不会重合,但在有解的情况下,这两条线会相交。想象此时我们移动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上的方程,约束为gk(x) = 0(或将约束左移得到gk(x) − c = 0)。定义拉格朗日Λ

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

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

\nabla_{\mathbf x} \Lambda = 0 \Leftrightarrow \nabla_{\mathbf x} f = - \sum_k \lambda_k \nabla_{\mathbf x} g_k,

\nabla_{\mathbf \lambda} \Lambda = 0 \Leftrightarrow g_k = 0.

拉格朗日乘数常被用作表达最大增长值。原因是从式子:

\frac{\partial \Lambda}{\partial {g_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,因此我们得到的约束是g(p) = 1 和

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

可以使用拉格朗日乘数找到最高熵(概率的函数)。对于所有的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}.

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

[编辑] 经济学

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

[编辑] 参考

[编辑] 对外链接

参考拉格朗日原作或方法的命名:

更深入的介绍和互动applet:

其它语言
AD Links