拉格朗日乘子(Lagrange Multipliers)
梯度是理解拉格朗日乘数法的关键。
关于拉格朗日乘数法找到函数当x,y,z是不独立时f(x,y,z)的最小值或最大值,即有约束条件g(x,y,z)=c。
对于简单的约束条件,可以先把x,y,z的关系解出来,代入到原方程中。但是更加复杂的约束条件就不能这么解了。
先来看一个例子,找双曲线(hyperbola) xy=3 上离原点最近的点。等价的数学表达式是:
可以先画出 x^2 y^2 的等高线图,不同c的高线上每一个点 (x,y) 到原点的距离的平方都是常数c值。这个例子的几何意义就是在双曲线上找到距离原点最近的点。
主题无关,使用lambda符号代表拉格朗日乘子,很有可能是向拉格朗日致敬,因为都以L开头
现在要做的就是求解x,y和lambda三个未知量。
再加上限制条件g,三个方程三个未知数,答案就得到了:
首先x和y都等于0并不满足限制条件,所以是一组平凡解。非平凡解要求矩阵的行列式为0。
得到的值分别代入求证,找到最终解。
补充一点,拉格朗日乘法无法判断是最大值还是最小值,在三维空间中还有可能是鞍点。
证明一个函数在某种限制条件下的最小点或者最大点,这时,如果在g的等值面上移动,则y的值一定是增加或者减少的。而且f的一阶导数符号不会改变。
没有限制条件g的时候,最大值或者最小值的偏导数为0。在有限制条件的时候,偏导数只有在固定的方向上才是0,即指向g的等值面的延伸方向。
有限制条件的最小值或者最大值,在任何g=c的方向上,f的变化率是0。
从方向导数角度来看:
考虑任意一个与 g=c 相切的向量
都有:
所以:
由于:
所以:
对于梯度和等值面,参考《五分钟MIT公开课-多元微积分:梯度》。
如图,红色向量为u,是P在g=c上的切线,f是平面的情况
有最大值的情况:
有最小值的情况:
再来看一个例子:
函数图像是这样子的:
可行解都在限制条件g(x,y)上,如图所示为等高线图:
目标优化方程f(x,y)梯度向量:
限制条件g(x,y)梯度向量:
红圈处为最优解,梯度向量互相平行。
警告:如何知道是最小值还是最大值?
不能知道,而且不能用二次导来验证,只能带入值来求解。
复杂例子当有时候函数或者约束条件复杂,拉格朗日法计算也很吃力,牢记拉格朗日法的本质,会化繁为简。
已知金字塔的体积,找一个表面积最小的金字塔。
底面三点P1(x1,y1),P2(x2,y2),P1(x3,y3),要求顶点P(x,y,h)
由于高是固定的,来看下金字塔的底面,u1,u2,u3分别是到a1,a2,a3三条边的距离:
某一侧边的高是:
侧面的总面积 f(u1,u2,u3):
限制条件底面面积 g(u1,u2,u3):
使用拉格朗日乘数法方程:
也就是
顶点距离三条底边距离相等的时候,总面积最小。
传送门五分钟MIT公开课-多元微积分:向量,行列式和平面
五分钟MIT公开课-多元微积分:梯度