1 引例
我想大多数人对于朗格朗日乘数法的学习已经是好多年前的事情,其中的细节也自然是慢慢模糊了起来,但是对于它的作用我想几乎是不会忘记的,那就是用来求解条件极值。既然大多数人的记忆都停留在这个地方,那么我们就从这个开始重新拾起拉格朗日乘数法。下面就以一个例题来重温一下求解过程:
求解目标函数在约束条件下的条件极值。
解:作拉格朗日函数
由式子可得的驻点:
解方程组便可以求得:
由此我们便可以知道,目标函数在约束条件下的条件极值为。那为什么可以通过这样的方法来求得条件极值呢?
2 什么是拉格朗日乘数法
在数学优化问题中,拉格朗日乘数法(Lagrange multipliers )是一种用于求解等式约束条件下局部最小(最大)值的策略。它的基本思想是通过将含约束条件的优化问题转化为无约束条件下的优化问题,以便于得到各个未知变量的梯度,进而求得极值点[1]。因此,一句话就是拉格朗日乘数法是一种用来求解条件极值的工具。那什么又是条件极值呢?
2.1 条件极值
所谓条件极值是指,在一定约束条件下(通常为方程)目标函数的极值就称为条件极值。
![47f0792731fb6d2b69a60310e89838be.png](https://i-blog.csdnimg.cn/blog_migrate/fd1625381457ea35ce073d25f1675094.png)
如图所示,函数在其定义域上的极大值(也是最大值)为;但如果此时对其施加一个约束条件,那这就等价的告诉函数极值点同时还要满足约束条件。因此,在约束条件下的极值点只能在处获得(因为此时的,而即不满足约束条件)。现在我们已经对条件极值有了一个直观上的理解,那么接下来要探究的就是怎么才能找到这个极值。
2.2 如何求解条件极值
我们知道在一元函数中可以利用极值的必要条件来求解的极值。一元函数极值的必要条件为:若在处取得极值,且存在,那么立即有。也就是说,我们可以通过令来求得极值点。那如果函数在约束条件下取得了条件极值,那么我们该怎么求解其极值点呢?换句话说条件极值的必要条件是什么呢?
设是在条件下的条件极值,同时等式确定了一个一元隐函数;则此时有一元函数将在处取得极值。
根据一元函数极值的必要条件有:
同时,根据隐函数的求导公式可知:
由式子可得:
由可得:
那么,此时我们便可以理解成,即目标函数和约束条件在取得条件极值处的梯度平行。由此可知,取得条件极值的必要条件为:
由可知:
使得进一步,如果我们令,那么由可得,即是函数的驻点。因此,求的条件极值就可以转换为求驻点的问题。
同时,我们称为条件极值的拉格朗日函数,称为拉格朗日乘数。因此,函数在点处取得条件条件下极值的必要条件为:使得为拉格朗日函数的的驻点。
2.3 拉格朗日乘数法的求解步骤
求多元函数在条件下的极值:
第一步:作拉格朗日函数
第二步:求的驻点,即解如下方程组:
第三步:便是可能的条件极值点
3 总结
在本篇文章中,笔者首先介绍通过一个引例介绍了如何通过拉格朗日乘数法来求解条件极值;然后通过一元函数极值的必要条件推导出了拉格朗日乘数法的原理;最后再推广得到了如何用拉格朗日乘数法来求解多元函数的条件极值。本次内容就到此结束,感谢阅读!
若有任何疑问与见解,请发邮件至moon-hotel@hotmail.com并附上文章链接,青山不改,绿水长流,月来客栈见!
引用
[1]https://en.wikipedia.org/wiki/Lagrange_multiplier
[2]《高等数学学习手册》徐小湛