§7条件极值问题与 Lagrange乘数法 Lagrange乘数法 在考虑函数的极值或最值问题时,经常需要对函数的自变量附加 定的条件。例如,求原点到直线 x+y+z=1, x+2y+3z=6 的距离,就是在限制条件x+y+z=1和x+2y+3z=6的情况下,计算函 数f(xy,x)=√x2+y2+z2的最小值。这就是所谓的条件极值问题
Lagrange 乘数法 在考虑函数的极值或最值问题时,经常需要对函数的自变量附加 一定的条件。例如,求原点到直线 ⎩⎨⎧ =++ =++ 632 ,1zyx zyx 的距离,就是在限制条件 + + zyx = 1和 + + zyx = 632 的情况下,计算函 数 222 ),,( ++= zyxzyxf 的最小值。这就是所谓的条件极值问题。 §7 条件极值问题与Lagrange乘数法
以三元函数为例,条件极值问题的提法是:求目标函数 f(x,, 3) 在约束条件 G(x,y,z)=0, H(x,y2=)=0 下的极值。 假定∫,F,G具有连续偏导数,且 Jacobi矩阵 HH H 在满足约束条件的点处是满秩的,即 rank J=2
以三元函数为例,条件极值问题的提法是:求目标函数 zyxf ),,( 在约束条件 ⎩ ⎨ ⎧ = = 0),,( ,0),,( zyxH zyxG 下的极值。 假定 ,, GFf 具有连续偏导数,且 Jacobi 矩阵 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = zyx zyx HHH GGG J 在满足约束条件的点处是满秩的,即 J = 2rank
先考虑条件极值点所满足的必要条件。上述约束条件可看成是空 间曲线的方程。设曲线上一点(x0,y0,=0)为条件极值点,由于在该点 mk/=2,不妨假设在(xn,y,)点C,)≠0,则由隐函数存在定理, a(y’,z) 在(xy,=a)附近由该方程可以唯一确定 y=y(x),2=2(x), xEO(o, p) 它是曲线方程的参数形式。 将它们代入目标函数,原问题就转化为函数 Φ(x)=f(x,y(x)x(x),x∈O(x0,p) 的无条件极值问题,x是函数Φ(x)的极值点,因此Φ(x)=0,即 dh dz f(x0,yo,=0)+f,(x0,y0,=0).+f(x0,yo,=0)x=0
先考虑条件极值点所满足的必要条件。上述约束条件可看成是空 间曲线的方程。设曲线上一点 ),,( 000 zyx 为条件极值点,由于在该点 J = 2rank ,不妨假设在 ),,( 000 zyx 点 0 ),( ),( ≠ ∂ ∂ zy HG ,则由隐函数存在定理, 在 ),,( 000 zyx 附近由该方程可以唯一确定 ),(),(),( = = ∈ xOxxzzxyy 0 ρ ( )(),( 0 00 0 = = xzzxyy )。 它是曲线方程的参数形式。 将它们代入目标函数,原问题就转化为函数 ),()),(),(,()( Φ = ∈ xOxxzxyxfx 0 ρ 的无条件极值问题, 0 x 是函数 Φ x)( 的极值点,因此 0)( Φ′ x0 = ,即 0),,(),,(),,( 000 + 000 + 000 = dx dz zyxf dxdy zyxfzyxf x y z
这说明向量 grad f(x0,y0,=0)=f(x0,y,-0ni+f(x0,y=0)j+(x,y,20)k 与向量τ dy dz 正交,即与曲线在(x0,y,=0)点的切向量正交,因 此 grad f(xnyo,=)可看作是曲线在(xn,yo,=)点处的法平面上的向量。由 定理1251,这个法平面是由 gradE(x02y,=0)与gadH(x02y,=)张成的, 因此 grad f(xn,yo,=0)可以由 grad(xn2y0,=0)和gadH(x0,yo,=)线性表出, 或者说,存在常数0,p0,使得 grad f(xo, yo, 2o)=no gradG(xo, yo, =o)+uo grad H( 这就是点(x,y0,=0)为条件极值点所满足的必要条件
这说明向量 i j ),,(),,(),,(),,(grad k 000 000 000 000 zyxfzyxfzyxfzyxf = x + y + z 与向量 ⎟⎠⎞ ⎜⎝⎛ = dxdz dxdy τ ,,1 正交,即与曲线在 ),,( 000 zyx 点的切向量正交,因 此 zyxf 000 ),,(grad 可看作是曲线在 ),,( 000 zyx 点处的法平面上的向量。由 定理 12.5.1,这个法平面是由 zyxG 000 ),,(grad 与 zyxH 000 ),,(grad 张成的, 因此 zyxf 000 ),,(grad 可以由 zyxG 000 ),,(grad 和 zyxH 000 ),,(grad 线性表出, 或者说,存在常数 00 λ ,μ ,使得 zyxf 000 ),,(grad =λ0 zyxG 000 ),,(grad + μ 0 zyxH 000 ),,(grad , 这就是点 ),,( 000 zyx 为条件极值点所满足的必要条件
将这个方程按分量写出就是 f2(x0,y0,=0)-A0G2(x0,y,20)-10H2(x0,y0,0)=0 f,(x0,y0,=0)-1G,(x0,y0,=0)-0H,(x0,y,=0)=0, f2(x0,y,z0)-0G2(x0,y,=0)-0H2(x0,y0,=0)=0 于是,如果构造 Lagrange函数 L(x,y, 2)=f(x,y, 2)-AG(,y, z)-uH(x,y, 2) (,称为 Lagrange乘数),则条件极值点就在方程组 Lr=fr-Gx-uH=0 J,-G,-H,=0 L=f:-1G2-HH2=0 G=0 H=0 的所有解(x0,yn,=0,40,4)所对应的点(x0,y,=a)中。用这种方法来求可 能的条件极值点的方法,称为 Lagrange乘数法
将这个方程按分量写出就是 ⎪ ⎩ ⎪ ⎨ ⎧ − − = − − = − − = .0),,(),,(),,( ,0),,(),,(),,( ,0),,(),,(),,( 00000000000 00000000000 00000000000 zyxHzyxGzyxf zyxHzyxGzyxf zyxHzyxGzyxf z z z y y y x x x λ μ λ μ λ μ 于是,如果构造 Lagrange 函数 = − λ − μ zyxHzyxGzyxfzyxL ),,(),,(),,(),,( ( ,μλ 称为 Lagrange 乘数),则条件极值点就在方程组 ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ = = =−−= =−−= =−−= 0 ,0 ,0 ,0 ,0 H G HGfL HGfL HGfL zzz z yy y y xx x x μλ μλ μλ 的所有解 ),,,,( μλ 00000 zyx 所对应的点 ),,( 000 zyx 中。用这种方法来求可 能的条件极值点的方法,称为 Lagrange 乘数法
作为一个例子,现在用 Lagrange乘数法来解决本节开始提出的 问题,即求函数 F(x,y,2) 在约束条件 +y+2=1, +2y+3z=6 下的最小值(最小值的平方根就是距离)。为此,作 Lagrange函数 L(x,y,z,,1)=x2+y2+22-A(x+y+2-1)-(x+2y+3-6), 在方程组 L3=2x--=0, L,=2y-2-2=0, L.=2-2-34.=0, +y+z-1=0, +2 y 3z-6=0. 中,把方程组中的第一、第二和第三式相加,再利用第四式得 +6L
作为一个例子,现在用 Lagrange 乘数法来解决本节开始提出的 问题,即求函数 222 ),,( ++= zyxzyxF 在约束条件 ⎩ ⎨ ⎧ =++ =++ 632 ,1 zyx zyx 下的最小值(最小值的平方根就是距离)。为此,作 Lagrange 函数 ),,,,( ( )632()1 222 μλ λ μ zyxzyxzyxzyxL −++−−++−++= , 在方程组 ⎪ ⎪ ⎪ ⎩ ⎪ ⎪ ⎪ ⎨ ⎧ =−++ =−++ =−−= =−−= =−−= .0632 ,01 ,032 ,022 2 ,0 zyx zyx zL yL xL z y x μλ μλ μλ 中,把方程组中的第一、第二和第三式相加,再利用第四式得 λ + μ = 263
把第一式、第二式的两倍和第三式的三倍相加,再利用第五式得 6+14=12 从以上两个方程解得 由此可得唯一的可能极值点x 33p 由于点到直线的距离,即这个问题的最小值必定存在,因此这个 唯一的可能极值点(-5,1.7必是最小值点,也就是说,原点到直线 333 xty+2 的距离为 x+2y+3z=6 55
把第一式、第二式的两倍和第三式的三倍相加,再利用第五式得 λ + μ = 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
般地,考虑目标函数f(x,x2…,xn)在m个约束条件 g,(x1,x2,…,xn)=0(=1,2,…,m,m<n) 下的极值,这里f,g(i=1,2,…,m)具有连续偏导数,且 Jacobi矩阵 g10g1 ag agm ag 在满足约束条件的点处是满秩的,即 rank j=m。那么我们有下述类似 的结论: f(x)满足约束条件的条件极值点,则必存在m个常数)为函数 定理12.7.1(条件极值的必要条件)若点x10=(x,x2 几,使 得在x点成立 grad f=λ grad g1+2 grad g2+…+ grad g
一般地,考虑目标函数 ),,,( 21 n " xxxf 在 m 个约束条件 );,,2,1(0),,,( 21 nmmixxxgi " n == " < 下的极值,这里 migf ),,2,1(, i = " 具有连续偏导数,且 Jacobi 矩阵 ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = n m m m n n x g x g x g x g x g x g x g x g x g J " ### " " 1 2 2 2 2 1 2 1 2 1 1 1 在满足约束条件的点处是满秩的,即rank = mJ 。那么我们有下述类似 的结论: 定理 12.7.1(条件极值的必要条件)若点 x0 ),,,( 00 2 0 1 n = " xxx 为函数 f x)( 满足约束条件的条件极值点,则必存在 m 个常数 λλλ m ,,, 21 " ,使 得在 0 x 点成立 m m grad f grad g grad g grad g = λ1 + λ21 2 "++ λ
于是可以将 Lagrange乘数法推广到一般情形。同样地构造 Lagrange函数 X,x )=f(x,x2…,x)-∑λg,(x1 那么条件极值点就在方程组 aL af ∑x3=0 l=1,2,…,m) 0 的所有解(x1,x2,…,xn,12…,λn)所对应的点(x1,x2…,xn)中
于是可以将 Lagrange 乘数法推广到一般情形。同样地构造 Lagrange 函数 ∑= = − m i n m n ii n xxxL xxxgxxxf 1 21 21 21 21 " " λλλ " λ " ),,,(),,,(),,,,,,,( , 那么条件极值点就在方程组 ( * ) ),,2,1;,,2,1( ,0 ,0 1 mlnk g x g x f x L l m i k i i kk = " = " ⎪ ⎩ ⎪ ⎨ ⎧ = = ∂ ∂ − ∂ ∂ = ∂ ∂ ∑= λ 的所有解 ),,,,,,,( 21 n 21 m " xxx λ λ " λ 所对应的点 ),,,( 21 n " xxx 中
判断如上所得的点是否为极值点有以下的一个充分条件,我们不 加证明地给出。 定理1272设点x=(x,x2…,x)及m个常数λ1,λ2,…满足方 程组(*),则当方阵 02L (x0,122…,n 为正定(负定)矩阵时,x为满足约束条件的条件极小(大)值点, f(x)为满足约束条件的条件极小(大)值
判断如上所得的点是否为极值点有以下的一个充分条件,我们不 加证明地给出。 定理 12.7.2 设点 0 x ),,,( 00 2 0 1 n = " xxx 及 m 个常数 λ λ λ m ,,, 21 " 满足方 程组( * ),则当方阵 nn m lk xx L × ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ ∂∂ ∂ ),,,( 210 2 x " λλλ 为正定(负定)矩阵时, 0 x 为满足约束条件的条件极小(大)值点, )( 0 f x 为满足约束条件的条件极小(大)值