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
() (,(),()),(,)xfxyxzx xOxΦ ρ= ∈
的无条件极值问题,
0
x 是函数 ()xΦ 的极值点,因此
0
()0xΦ
′
=,即
000 000 000
dd
(,,) (,,) (,,) 0
xy z
yz
fxyz fxyz fxyz
xx
+ +=。
这说明向量
0 00 0 00 0 00 0 00
(,,) (,,) (,,) (,,)
xy z
f x y z f x y z f x y z f x y z= ++grad i j k
与向量
dd
1,,
dd
yz
xx
τ
=
正交,即与曲线在 ),,(
000
zyx 点的切向量正交,因此
000
(,,)f xyzgrad 可看作是曲线在 ),,(
000
zyx 点处的法平面上的向量。 由定理 12.5.1,这个法平面是由
000
(,,)Gx y zgrad 与
000
(,,)Hx y zgrad 张成的,
因此
000
(,,)f xyzgrad 可以由
000
(,,)Gx y zgrad 和
000
(,,)Hx y zgrad 线性表出,
或者说,存在常数
00
,μλ,使得
000
(,,)f xyzgrad =
0
λ
000
(,,)Gx y zgrad +
0
μ
000
(,,)Hx y zgrad,
这就是点 ),,(
000
zyx 为条件极值点所满足的必要条件。
将这个方程按分量写出就是
=
=
=
.0),,(),,(),,(
,0),,(),,(),,(
,0),,(),,(),,(
00000000000
00000000000
00000000000
zyxHzyxGzyxf
zyxHzyxGzyxf
zyxHzyxGzyxf
zzz
yyy
xxx
μλ
μλ
μλ
于是,如果构造 Lagrange 函数
(,,,,) (,,) (,,) (,,)Lxyz f xyz Gxyz Hxyzλ μλμ=
( μλ,称为 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
<== "
在考虑函数的极值或最值问题时,经常需要对函数的自变量附加一定的条件。例如,求原点到直线
=++
=++
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
() (,(),()),(,)xfxyxzx xOxΦ ρ= ∈
的无条件极值问题,
0
x 是函数 ()xΦ 的极值点,因此
0
()0xΦ
′
=,即
000 000 000
dd
(,,) (,,) (,,) 0
xy z
yz
fxyz fxyz fxyz
xx
+ +=。
这说明向量
0 00 0 00 0 00 0 00
(,,) (,,) (,,) (,,)
xy z
f x y z f x y z f x y z f x y z= ++grad i j k
与向量
dd
1,,
dd
yz
xx
τ
=
正交,即与曲线在 ),,(
000
zyx 点的切向量正交,因此
000
(,,)f xyzgrad 可看作是曲线在 ),,(
000
zyx 点处的法平面上的向量。 由定理 12.5.1,这个法平面是由
000
(,,)Gx y zgrad 与
000
(,,)Hx y zgrad 张成的,
因此
000
(,,)f xyzgrad 可以由
000
(,,)Gx y zgrad 和
000
(,,)Hx y zgrad 线性表出,
或者说,存在常数
00
,μλ,使得
000
(,,)f xyzgrad =
0
λ
000
(,,)Gx y zgrad +
0
μ
000
(,,)Hx y zgrad,
这就是点 ),,(
000
zyx 为条件极值点所满足的必要条件。
将这个方程按分量写出就是
=
=
=
.0),,(),,(),,(
,0),,(),,(),,(
,0),,(),,(),,(
00000000000
00000000000
00000000000
zyxHzyxGzyxf
zyxHzyxGzyxf
zyxHzyxGzyxf
zzz
yyy
xxx
μλ
μλ
μλ
于是,如果构造 Lagrange 函数
(,,,,) (,,) (,,) (,,)Lxyz f xyz Gxyz Hxyzλ μλμ=
( μλ,称为 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
<== "