拉格朗日乘数法(Lagrange multiplier)

先摆公式,再说推导。

求二元函数z=f(x,y)在条件φ(x,y)=0

(1)作Lagrange函数

F(x,y,λ)=f(x,y)+λφ(x,y);

(2)求F(x,y,λ)的驻点(x0,y0,λ0)

FxFyFλ=fx(x,y)+λφx(x,y)=0;=fy(x,y)+λφy(x,y)=0;=φ(x,y)=0

(3)(x0,y0)便是可能的条件极值点

拉格朗日乘数法所得的极点会包含原问题的所有极值点,但并不保证每个极值点都是原问题的极值点。(维基百科)


例如,目标函数:z=xy,约束条件:x+y=1

解: 作Lagrange函数

F(x,y,λ)=xy+λ(x+y1)

求F的驻点:

FxFyFλ=y+λ=0=x+λ=0=x+y1=0x=12;y=12;λ=12


公式推导

条件极值:在一定约束条件下(一般为方程)的极值就称为条件极值。

条件极值的几何解释:

拉格朗日乘数法(Lagrange multiplier)

约束条件φ(x,y)=0是指,在曲线φ(x,y)上取一点,使得f(x,y)有极值(由图可知为极大值)

条件极值的必要条件:

函数z=f(x,y)在条件φ(x,y)=0,下的极值的必要条件是什么?

先看一个比较直观的图

拉格朗日乘数法(Lagrange multiplier)

图中黑色曲线为z=f(x,y)的等值线,红色曲线为约束条件φ(x,y)=0,那么函数f(x,y)在哪里取得条件最大值?

推导:

z0=f(x0,y0)z=f(x,y)在条件φ(x,y)=0下的条件极值。设y=y(x)是约束条件φ(x,y)=0所确定的隐函数。

则:z=f(x,y(x))此时就变成了一个一元函数,且在x=x0处取得极值。

(1)由一元函数极值的必要条件可知:f(x)x=x0处取得极值,且f(x0)存在,则有f(x0)=0

所以有:

dzdx=fx1+fydydx=0fx(x0,y0)+fy(x0,y0)y(x0)=0y(x0)=fx(x0,y0)fy(x0,y0)(1)

(2)由隐函数求导公式可知

y(x0)(1)(2)=φx(x0,y0)φy(x0,y0)fx(x0,y0)fy(x0,y0)=φx(x0,y0)φy(x0,y0)fx(x0,y0)φx(x0,y0)=fy(x0,y0)φy(x0,y0)(2)

那么此时我们可以理解成{fx(x0,y0),fy(x0,y0)}//{φx(x0,y0),φy(x0,y0)},即两个向量平行

Δf(x0,y0)//Δφ(x0,y0)

我们知道某一点的梯度就是,该点所在平面对应的一个法向量。(知道的可以略过这点,不知道的接着往下看)


证明:

设二元函数F(x,y)=0,则其在点x=x0处的斜率k=Fx(x0,y0)Fy(x0,y0).设A(x1,y1),B(x2,y2)为该切线上的两个点,则k又可以写成k=y2y1x2x1

AB=(x2x1,y2y1)1x2x1AB=(1,y2y1x2x1)λAB=(1,k)=(1,Fx(x0,y0)Fy(x0,y0))λFy(x0,y0)AB=(Fy(x0,y0),Fx(x0,y0))μAB=(Fy(x0,y0),Fx(x0,y0))

于是我们可以得到的结论就是,若直线斜率为k,则他的一个方向向量为a⃗ =(1,k)

我们又知道,F(x,y)=0在点(x0,y0)处,所在平面(曲面在某一点的切平面)的法向量,垂直于该点所在平面的任意直线,当然也就包括切于该点的所有切线。于是该点法线的斜率k=1k

线a⃗ a⃗ Fx(x0,y0)=(1,1k)=(1,Fy(x0,y0)Fx(x0,y0))=(Fx(x0,y0),Fy(x0,y0))

所以取a⃗ =(Fx(x0,y0),Fy(x0,y0))=ΔF(x0,y0), Fx(x0,y0)为常数,不影响。

证毕


Δf(x0,y0)//Δφ(x0,y0)可知:

λ0,使Δf(x0,y0)=λ0Δφ(x0,y0)Δf(x0,y0)+λ0Δφ(x0,y0)=0⃗ Δ{f(x0,y0)+λ0φ(x0,y0)}=0⃗ Δ(f+λ0φ)=0⃗ 

此时我们可以用最原始的定义来求解上面的例题,即:
x+y=1,Δz(x,y)+λΔφ(x,y)=0⃗ (y,x)+λ(1,1)=0⃗ ()y+λ=0,x+λ=0x=y=λx=y=12,λ=12

由此我们可以得到的结论是:

令函数F(x,y,λ)=f(x,y)+λφ(x,y),若ΔF(x0,y0,λ0)=0⃗ ,则(x0,y0,λ0)是函数F(x,y,λ)的驻点,通过如下步骤,就可以就得驻点的值。

Fx=0Fy=0Fλ=0

F(x,y,λ)称为拉格朗日函数,λ称为拉格朗日乘数(Lagrange multiplier)


另外,由下图也可以直观的看出,在约束条件下,z=xye(x2+y2)取得极值。且此时,z=xye(x2+y2)在点P处的法向量与xy=1在P处的法向量平行。

拉格朗日乘数法(Lagrange multiplier)

从等高线图来看:

拉格朗日乘数法(Lagrange multiplier)

总结一句话,拉格朗日乘除法就是根据在P点出两个法向量平行这个条件推导出来的。

感谢徐小湛老师的《高等数学》视频