拉格朗日乘数法求条件极值
问题:求函数`u=xyz`在附加条件下的极值。
`1/x+1/y+1/z=1/a,(x>0,y>0,z>0,a>0)`
解:1.建立拉格朗日函数:`L(x,y,z,\lambda)=xyz+\lambda(1/x+1/y+1/z-1/a)`,其中`\lambda`是拉格朗日乘子
2.求偏导数。对上述`L`函数中的`x,y,z,\lambda`求偏导,并设置为`0`。即:`(\partial F)/(\partial x)=0,(\partial F)/(\partial y)=0,(\partial F)/(\partial z)=0,(\partial F)/\partial \lambda=0`。
3.解方程组,通过解这个方程组可以得到可能的极值点 `(x,y,z)`,即:
`L_x=yz-\lambda/x^2=0`
`L_y=xz-\lambda/y^2=0`
`L_z=xy-\lambda/z^2=0`
`L_{\lambda}=1/x+1/y+1/z-1/a=0`
有以上前三式,可以得出:`xyz=\lambda/x+\lambda/y+\lambda/z`,从而`x=y=z`,有了此结论,再联合最后一式,可得`x=y=z=3a`。
也就是说得到了拉格朗日唯一驻点是`(3a,3a,3a)`。
总结:把有约束的求最值问题,转成求驻点问题。
4.判断极值,得到可能的极值点后,需要利用二阶偏导数来判断这些点是否是真正的极值点(极大值或极小值)。这通常涉及到计算海森矩阵(Hessian matrix)并检查其正定性或负定性。
设约束条件`1/x+1/y+1/z-1/a=0`确定的隐函数为:
`z=z(x,y)`
则可将目标函数视作:
`u=xyz(x,y)=F(x,y)`,则变成了一个无条件的极值问题
当是不等式时,要应用KKT条件。