高数里面有一个内容叫做拉格朗日乘子法,用于求解约束条件下的极值问题,过程简单巧妙,也是各类考试的常考题型。

然而,拉格朗日乘子法的原理我却一直不是很清楚,这两天在网上查了资料,也说说我自己的理解,用一个例子来解释。

 

求解例题如下:

  (1)

其中min表示求函数f(x,y)的最小值,后面的s.t.表示约束条件,即x,y满足后面的等式。

下面我们使用拉格朗日乘子法来求解,我们用g(x,y)描述约束条件,将约束条件改写为

  (2)

而后我们引入拉格朗日乘子λ,并构造一个新的函数

  (3)

根据约束条件g(x,y)=0,于是h(x,y)=f(x,y),因此当f(x,y)取得极小值时有

  (4)

联立求解方程组得到

  (5)

于是我们得到x=y=1时,f(x,y)取得最小值,最小值为2,这就是拉格朗日乘子法的求解过程。


 

拉格朗日乘子法非常巧妙,但其中的原理却难以琢磨,从几何角度观察此题我们可以更加直观地理解拉格朗日乘子法的原理以及这个乘子λ的几何含义。

首先我们观察约束条件g(x,y)=0,在x,y平面上是一条直线如下图中的蓝色直线所示。

 再看f(x,y),令f(x,y)=r这表示f(x,y)的某一条等高线,随着r的改变我们得到了多条等高线,在下图中以绿色圆圈表示。

在图中,如果某一条等高线f(x,y)=r与直线g(x,y)=0相交,则表示在g(x,y)=0的约束条件下,f(x,y)可以取到r的值。为了求得f(x,y)的最小值,在保证绿色圆圈f(x,y)=r与蓝色直线g(x,y)=0有交点的前提下,逐渐将r缩小,直到绿色等高线圆小到与蓝色直线相切,此时r0最小,我们认为f(x,y)获得了最小值fmin=r0

下面我们来计算fmin,在图中我们看到等高线圆f(x,y)=r0与约束直线g(x,y)=0相切。此时在切点处,等高线圆与约束直线具有相同的切线方向与法线方向。

又因为等高线f(x,y)=r的切线方向与f(x,y)在该点的梯度方向相互正交,于是f(x,y)=r的法线方向即是f(x,y)的梯度方向,而该梯度方向为

  (6)

同理直线g(x,y)=0的法线方向也就是g(x,y)的梯度方向

  (7)

在切点处Gf与Gg的方向相同,因此我们引入乘子λ,并且有

  (8)

上式与式(4)相同。到此我们也已经获得了与拉格朗日乘子法相一致的结论。于是我们从几何角度解释了拉格朗日乘子引入的过程,也验证了拉格朗日乘子法的结论。