s7条件极值问题与Lagrange乘数法Lagrange乘数法在考虑函数的极值或最值问题时,经常需要对函数的自变量附加一定的条件。例如,求原点到直线x+y+z=1,x+2y+3z = 6的距离,就是在限制条件x+y+z=1和x+2y+3z=6的情况下,计算函数f(x,y,2)=x2++=?的最小值。这就是所谓的条件极值问题
Lagrange 乘数法 在考虑函数的极值或最值问题时,经常需要对函数的自变量附加 一定的条件。例如,求原点到直线 ⎩⎨⎧ =++ =++ 632 ,1zyx zyx 的距离,就是在限制条件 + + zyx = 1和 + + zyx = 632 的情况下,计算函 数 222 ),( ++= zyxzyxf 的最小值。这就是所谓的条件极值问题。 §7 条件极值问题与Lagrange乘数法
以三元函数为例,条件极值问题的提法是:求目标函数f(x,y,z)在约束条件[G(x, y,z) = 0,H(x,y,z) = 0下的极值。假定f,FG具有连续偏导数,且Jacobi矩阵GGyG.HH,H.在满足约束条件的点处是满秩的,即rankJ=2
以三元函数为例,条件极值问题的提法是:求目标函数 zyxf ),( 在约束条件 ⎩ ⎨ ⎧ = = 0),( ,0),( zyxH zyxG 下的极值。 假定 , GFf 具有连续偏导数,且 Jacobi 矩阵 ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ = zyx zyx HHH GGG J 在满足约束条件的点处是满秩的,即 J = 2rank
先考虑条件极值点所满足的必要条件。上述约束条件可看成是空间曲线的方程。设曲线上一点(xo,yo,=)为条件极值点,由于在该点rankJ=2,不妨假设在(%o=)点(G.0,则由隐函数存在定理,a(y,z)在(xoo,z。)附近由该方程可以唯一确定y= y(x), z=z(x), xeO(xo,p)( y。= y(xo),zo= z(x))。它是曲线方程的参数形式。将它们代入目标函数,原问题就转化为函数D(x) = f(x, y(x),z(x), x EO(xo,p)的无条件极值问题,x是函数(x)的极值点,因此Φ(x)=0,即.(0. o,0)+,(0, 0)*+ (0, 0,0)-0。dxdx
先考虑条件极值点所满足的必要条件。上述约束条件可看成是空 间曲线的方程。设曲线上一点 ),( 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(xo,yo,zo)= f(xo,yo,z)i +f,(xo.yo,zo)j+ f.(xo,yo,zo)kdy dz1.0与向量t=正交,即与曲线在(xo,yo,z。)点的切向量正交,因dxdx此gradf(xoyo,z)可看作是曲线在(xo,yo,z)点处的法平面上的向量。由定理12.5.1,这个法平面是由gradG(xo,yo,zo)与gradH(xo,o,zo)张成的,因此grad f(xo,yo,zo)可以由gradG(xo,yo,zo)和grad H(xo,Jo,zo)线性表出,或者说,存在常数,o,使得grad f(xo, Yo,2o)=2o gradG(xo, Yo,20)+ μo grad H(xo, yo,z0) ,这就是点(xo,yo,z。)为条件极值点所满足的必要条件
这说明向量 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 为条件极值点所满足的必要条件
将这个方程按分量写出就是f.(xo.yo,2o)-2.G.(xo,Yo,zo)-HoH(xo.Yo,zo)=0f,(xo,yo,zo)-a.G,(xo,yo,z0)-μoH,(xo,yo,zo)=0f.(xo, yo,zo) -2G.(xo, yo,zo) -μoH.(xo, yo,zo) = 0.于是,如果构造Lagrange函数L(x, y,z) = f(x, y,z) - aG(x, y,z) -μuH(x, y,2)(a,μ称为Lagrange乘数),则条件极值点就在方程组L=f-aG-uH,=0,L,= J,-aG,-uH,= 0,L, = f. -G, -uH, =0,G=0,H=0的所有解(xo,y,zo,o,o)所对应的点(xo,yo,zo)中。用这种方法来求可能的条件极值点的方法,称为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 乘数法