拉格朗日乘子法
(2011-09-14 10:18:01) 标签: 转载 |
介绍
先看一个二维的例子:假设有方程: f(x,y),要求其最大值,且
g(x,y) = c;
c 为常数。对不同dn的值,不难想象出
f(x,y) = dn
的等高线。而方程g的等高线正好是g(x,y) = c。想象我们沿着g = c的等高线走;因为大部分情况下f和g的等高线不会重合,但在有解的情况下,这两条线会相交。想象此时我们移动g = c上的点,因为f是连续的方程,我们因此能走到更高或更低的等高线上,也就是说dn可以变大或变小。只有当g = c和相切,也就是说,此时,我们正同时沿着g = c和走。这种情况下,会出现极值或鞍点。
用向量的形式来表达的话,我们说相切的性质在此意味着f和g的斜率在某点上平行。此时引入一个未知标量λ,并求解:
V[f(x,y)+λ(g(x,y)-c)]=0;
且 λ ≠ 0.
例子
求此方程的最大值:
- 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