Lagrange 乘数法
在考虑函数的极值或最值问题时, 经常需要对函数的自变量附加
一定的条件。例如,求原点到直线
?
?
?
=++
=++
632
,1
zyx
zyx
的距离,就是在限制条件 1=++ zyx 和 632 =++ zyx 的情况下,计算函
数
222
),,( zyxzyxf ++= 的最小值。这就是所谓的 条件极值 问题。
§ 7 条件极值问题与 Lagrange乘数法
以三元函数为例,条件极值问题的提法是:求目标函数
),,( zyxf
在 约束条件
?
?
?
=
=
0),,(
,0),,(
zyxH
zyxG
下的极值。
假定 GFf ,, 具有连续偏导数,且 Jacobi 矩阵
?
?
?
?
?
?
?
?
=
zyx
zyx
HHH
GGG
J
在满足约束条件的点处是满秩的,即 2rank =J 。
先考虑条件极值点所满足的必要条件。 上述约束条件可看成是空
间曲线的方程。设曲线上一点 ),,(
000
zyx 为条件极值点,由于在该点
2rank =J ,不妨假设在 ),,(
000
zyx 点 0
),(
),(
≠
?
?
zy
HG
,则由隐函数存在定理,
在 ),,(
000
zyx 附近由该方程可以唯一确定
),(),(),(
0
ρxOxxzzxyy ∈== ( )(),(
0000
xzzxyy == )。
它是曲线方程的参数形式。
将它们代入目标函数,原问题就转化为函数
),()),(),(,()(
0
ρxOxxzxyxfx ∈=Φ
的无条件极值问题,
0
x 是函数 )(xΦ 的极值点,因此 0)(
0
=Φ
′
x ,即
0),,(),,(),,(
000000000
=++
dx
dz
zyxf
dx
dy
zyxfzyxf
zyx
。
这说明向量
kji ),,(),,(),,(),,(grad
000000000000
zyxfzyxfzyxfzyxf
zyx
++=
与向量
?
?
?
?
?
?
=
dx
dz
dx
dy
,,1τ 正交,即与曲线在 ),,(
000
zyx 点的切向量正交,因
此 ),,(grad
000
zyxf 可看作是曲线在 ),,(
000
zyx 点处的法平面上的向量。 由
定理 12.5.1,这个法平面是由 ),,(grad
000
zyxG 与 ),,(grad
000
zyxH 张成的,
因此 ),,(grad
000
zyxf 可以由 ),,(grad
000
zyxG 和 ),,(grad
000
zyxH 线性表出,
或者说,存在常数
00
,μλ ,使得
),,(grad
000
zyxf =
0
λ ),,(grad
000
zyxG +
0
μ ),,(grad
000
zyxH ,
这就是点 ),,(
000
zyx 为条件极值点所满足的必要条件。
将这个方程按分量写出就是
?
?
?
?
?
=??
=??
=??
.0),,(),,(),,(
,0),,(),,(),,(
,0),,(),,(),,(
00000000000
00000000000
00000000000
zyxHzyxGzyxf
zyxHzyxGzyxf
zyxHzyxGzyxf
zzz
yyy
xxx
μλ
μλ
μλ
于是,如果构造 Lagrange 函数
),,(),,(),,(),,( zyxHzyxGzyxfzyxL μλ ??=
( μλ, 称为 Lagrange 乘数 ),则条件极值点就在方程组
?
?
?
?
?
?
?
?
?
=
=
=??=
=??=
=??=
0
,0
,0
,0
,0
H
G
HGfL
HGfL
HGfL
zzzz
yyyy
xxxx
μλ
μλ
μλ
的所有解 ),,,,(
00000
μλzyx 所对应的点 ),,(
000
zyx 中。用这种方法来求可
能的条件极值点的方法,称为 Lagrange 乘数法 。
作为一个例子,现在用 Lagrange 乘数法来解决本节开始提出的
问题,即求函数
222
),,( zyxzyxF ++=
在约束条件
?
?
?
=++
=++
632
,1
zyx
zyx
下的最小值(最小值的平方根就是距离)。为此,作 Lagrange 函数
)632()1(),,,,(
222
?++??++?++= zyxzyxzyxzyxL μλμλ ,
在方程组
?
?
?
?
?
?
?
?
?
=?++
=?++
=??=
=??=
=??=
.0632
,01
,032
,022
,02
zyx
zyx
zL
yL
xL
z
y
x
μλ
μλ
μλ
中,把方程组中的第一、第二和第三式相加,再利用第四式得
263 =+ μλ 。
把第一式、第二式的两倍和第三式的三倍相加,再利用第五式得
12146 =+ μλ 。
从以上两个方程解得
4,
3
22
=?= μλ ,
由此可得唯一的可能极值点
3
7
,
3
1
,
3
5
==?= zyx 。
由于点到直线的距离,即这个问题的最小值必定存在,因此这个
唯一的可能极值点
?
?
?
?
?
?
?
3
7
,
3
1
,
3
5
必是最小值点,也就是说,原点到直线
?
?
?
=++
=++
632
,1
zyx
zyx
的距离为
3
25
3
7
,
3
1
,
3
5
=
?
?
?
?
?
?
?F =
3
5
。
一般地,考虑目标函数 ),,,(
21 n
xxxf " 在 m 个约束条件
);,,2,1(0),,,(
21
nmmixxxg
ni
<== "