寻找“最好”(3)——函数和泛函的拉格朗日乘数法
拉格朗日乘数法
大多数的优化问题都会加入特定的约束,而不仅仅是指定起点和终点,此时需要更好的办法去解决优化问题,拉格朗日乘数法正是一种求约束条件下极值的方法。
简单地说,拉格朗日乘数法(又称为拉格朗日乘数法)是用来最小化或最大化多元函数的。如果有一个方程f(x,y,z),在这个方程里的变量之间不是独立的,也就是说这些变量之间是有联系的,这个联系可能是某个方程g(x,y,z) = C;也就是g(x,y,z) = C定义了x,y,z之间的关系,这个关系对变量做出了一定的的限制,我们需要在这个限制下来最小化或最大化f(x,y,z)。
拉格朗日乘数法的解释
假设(x,y)表示经纬度,f(x, y)是江浙两省所有大山的海拔高度;g(x, y) = C是约束条件,将范围缩小到江浙边界。现在需要找出找出在跨越江浙两省的大山中,处于江浙边界的最高点,用数学符号表示:
s.t.是subject to 的缩写,意思是使maxf满足于s.t.中规定的条件。由于约束条件是等式,所以这种优化也称为等式约束优化。我们以位于两省边界附近的大山为例,画出它的等高线和两省的分界线:
如果f(x,y)中有满足g(x,y) = C的点,那么一定处于二者相切处:
切点就是极值,该极值的判定条件是,红绿两条等高线的梯度方向相同。这里切点是必要条件,如果有极值,极值点一定在切点处,但切点未必是极值点。这类似于普通条件下的极值判定,导数为0的点也可能是鞍点。
求解过程
根据上一节的思路,可以将最初的问题转换为方程组:
其中λ就是拉格朗日乘子,这就将极值问题转换成普通的方程组求解问题。更多拉格朗日乘数法,可参考《多变量微积分笔记6——拉格朗日乘数法》。
盒子的最小表面积
固定容积的无顶盖的盒子,盒子底部是正方形,使其表面积最小是多少?
如上图所示,设盒子的底边x,高为y,则体积V = x2y,表面积S = x2 + 4xy。该问题可以使用单变量的极值求解法处理(可参考《单变量微积分笔记8——最值问题和相关变率》),但是有些复杂,现在用拉格朗日乘数法直接求解:
根据拉格朗日乘数法:
当x = 2y时,便面积最小。
多个约束条件
上面的例子仅有一个约束条件,如果碰到多约束条件的时候如何处理?
一般过程
设目标函数为f(x,y,z),约束条件为gk(x,y,z),如果寻找在约束下f(x)的最小值:
如果用向量表示,还可以写成:
然后对F中的所有未知量(x和λ)求偏导,令其等于0:
这将形成一个方程组,通过解方程组求得所有未知量。
示例
5个方程,5个未知数,可以求得方程组的解。
泛函拉格朗日乘数法
一般形式
拉格朗日乘数法也可以在泛函中使用,它的一般形式是:
这里F和G都是简单泛函,C是一个常数。因为C是常数,所以求A的极值等同于求A – λC的极值,这就将问题和约束条件联合到一起,构成新的泛函极值问题:
周长固定的图形中,面积最大的是圆
长度固定的绳子围成的图形中,面积最大的是什么图形?
令曲线方程是y = y(x),线段长度是C,问题用数学描述就是:
使用拉格朗日乘数法,求A的极值相当于求A-λC的极值:
设置泛函L:
现在可以使用欧拉-拉格朗日方程:
这正是圆的公式,所以说长度固定的绳子围成的图形中,面积最大的是圆。
作者:我是8位的
出处:http://www.cnblogs.com/bigmonkey
本文以学习、研究和分享为主,如需转载,请联系本人,标明作者和出处,非商业用途!
扫描二维码关注公众号“我是8位的”