三维的情况
我们考虑一下三维的情况,问题模型如下,
maxs.t.f(x1,x2,x3)g1(x1,x2,x3)=c1g2(x1,x2,x3)=c2(1)
其中,约束条件确定了一条曲线。依据前面讨论,该曲线上使得目标函数取得最大值的位置,必定与该位置目标函数等高面 f(x1,x2,x3)=c 相切。换句话讲,曲线的切向方向与 f(x1,x2,x3) 梯度方向垂直。
⎧⎩⎨⎪⎪⎪⎪⎪⎪∂g1∂x1dx1∂g2∂x1dx1++∂g1∂x2dx2∂g2∂x2dx2++∂g1∂x3dx3∂g2∂x3dx3==00(2)
其中,
Gx=⎛⎝⎜⎜⎜∂g1∂x1∂g1∂x2∂g1∂x3∂g2∂x1∂g2∂x2∂g2∂x3⎞⎠⎟⎟⎟(3)
称为 Jacobian 矩阵。由 (2) 式可知,约束条件曲线的切线方向 dx=(dx1,dx2,dx3) 是 Jacobian 矩阵行向量所在平面的法线。哈哈,我们知道目标函数 f(x1,x2,x3 在路径最大值位置的梯度向量,必然落在 Jacobian 矩阵行向量确定的平面内。于是,
∇f(x1,x2,x3)=λ1∇g1(x1,x2,x3)+λ2∇g2(x1,x2,x3)(4)
接下来求解过程与二维情况完全一样,不再赘述。