图1:绿线标出的是约束
g(
x,
y) =
c的点的轨迹。蓝线是
f的等高线。箭头表示斜率,和等高线的法线平行。
在
数学最优化问题中,
拉格朗日乘数法(以数学家
约瑟夫·拉格朗日命名)是一种寻找
变量受一个或多个条件所限制的多元
函数的
极值的方法。这种方法将一个有
n 个变量与
k 个约束条件的最优化问题转换为一个有
n +
k个变量的
方程组的极值问题,其变量不受任何约束。这种方法引入了一种新的标量
未知数,即
拉格朗日乘数:约束方程的
梯度(gradient)的
线性组合里每个向量的系数。
简单举例:
- 最大化
- 受限于
引入新变量拉格朗日乘数
,即可求解下列拉格朗日方程
此方法的证明牵涉到
偏微分,
全微分或
链法,从而找到能让设出的隐函数的微分为零的未知数的值。
[编辑] 介绍
微积分中最常见的问题之一是求一个函数的极大极小值(极值)。但是很多时候找到极值函数的显式表达是很困难的,特别是当函数有先决条件或约束时。拉格朗日乘数则提供了一个非常便利方法来解决这类问题,而避开显式地引入约束和求解外部变量。
先看一个二维的例子:假设有函数:
,要求其极值(最大值/最小值),且满足条件
c 为常数。對不同
的值,不难想像出
的等高线。而方程
的等高线正好是
。想像我们沿着
的等高线走;因为大部分情况下
和
的等高线不会重合,但在有解的情况下,这两条线会相交。想像此时我们移动
上的点,因为
是连续的方程,我们因此能走到
更高或更低的等高线上,也就是说
可以变大或变小。只有当
和
相切,也就是说,此时,我们正同时沿着
和
走。这种情况下,会出现
极值或
鞍点。
气象图中就很常出现这样的例子,当温度和气压两列等高线同时出现的时候,切点就意味着约束极值的存在。
用
向量的形式来表达的话,我们说相切的性质在此意味着
和
的斜率在某点上平行。此时引入一个未知标量
λ,并求解:
且
λ ≠ 0.
一旦求出
λ的值,将其套入下式,易求在无约束极值和极值所对应的点。
- =
新方程
在达到极值时与
相等,因为
达到极值时
总等于零。
[编辑] 拉格朗日乘数的运用方法
如
f定义为在
Rn上的方程,约束为
gk(
x)=
ck(或将约束左移得到
gk(
x) −
ck =
0)。定义拉格朗日
Λ为
注意极值的条件和约束现在就都被记录到一个式子里了:
和
拉格朗日乘数常被用作表达最大增长值。原因是从式子:
中我们可以看出
λk是当方程在被约束条件下,能够达到的最大增长率。
拉格朗日力学就使用到这个原理。
拉格朗日乘数法在
Karush-Kuhn-Tucker最優化條件被推广。
[编辑] 例子
No comments:
Post a Comment