拉格朗日函数用于约束优化问题。约束优化问题简而言之就是在有一堆约束Σi=1gi(x)\Sigma_{i=1} g_i(x)Σi=1gi(x)的情况下求目标函数f(x)f(x)f(x)的问题,说起来很抽象,直接来点例子看比较直观。
例1. 求f(x,y,z)=xyzf(x,y,z)=xyzf(x,y,z)=xyz在条件1x+1y+1z=1a (x,y,z,a>0)\frac{1}{x}+\frac{1}{y}+\frac{1}{z}=\frac{1}{a}\ (x,y,z,a>0)x1+y1+z1=a1 (x,y,z,a>0)下的最小值。
直接构造拉格朗日函数L(x,y,z,λ)=f(x,y,z)+λg(x)=xyz+λ(1x+1y+1z−1a)L(x,y,z,\lambda)=f(x,y,z)+\lambda g(x)= \\ xyz+\lambda (\frac{1}{x}+\frac{1}{y}+\frac{1}{z}-\frac{1}{a})L(x,y,z,λ)=f(x,y,z)+λg(x)=xyz+λ(x1+y1+z1−a1)
然后L(x,y,z,a)L(x,y,z,a)L(x,y,z,a)分别对x,y,z,ax,y,z,ax,y,z,a求导,可的一系列方程式:
∂L∂x=yz−λx2=0∂L∂y=xz−λy2=0∂L∂z=xy−λz2=0∂L∂λ=1x+1y+1z−1a=0\frac{\partial L}{\partial x}=yz-\frac{\lambda}{x^2}=0 \\ \frac{\partial L}{\partial y}=xz-\frac{\lambda}{y^2}=0\\ \frac{\partial L}{\partial z}=xy-\frac{\lambda}{z^2}=0\\ \frac{\partial L}{\partial \lambda}=\frac{1}{x}+\frac{1}{y}+\frac{1}{z}-\frac{1}{a}=0∂x∂L=yz−x2λ=0∂y∂L=xz−y2λ=0∂z∂L=xy−z2λ=0∂λ∂L=x1+y1+z1−a1=0
然后将带有λ\lambdaλ的挪到右边并且把分母乘过去:
x2yz=λ,xy2z=λ,xyz2=λx^2yz=\lambda,xy^2z=\lambda, xyz^2=\lambda x2yz=λ,xy2z=λ,xyz2=λ
再依次相除,并代入∂L∂λ\frac{\partial L}{\partial \lambda}∂λ∂L中,可得x=y=z=3ax=y=z=3ax=y=z=3a。
如果还是不太懂可以再看一个例子:
例2. u=xy+2yzu=xy+2yzu=xy+2yz在约束条件x2+y2+z2=10x^2+y^2+z^2=10x2+y2+z2=10的最大最小值。
直接构造拉格朗日函数:
L(x,y,z,λ)=xy+2yz+λ(x2+y2+z2−10)L(x,y,z,\lambda)=xy+2yz+\lambda(x^2+y^2+z^2-10)L(x,y,z,λ)=xy+2yz+λ(x2+y2+z2−10)
分别求偏导:
∂L∂x=y+2λx=0∂L∂y=x+2z+2λy=0∂L∂z=2y+2λz=0\frac{\partial L}{\partial x}=y+2\lambda x=0 \\
\frac{\partial L}{\partial y}=x+2z+2\lambda y =0\\
\frac{\partial L}{\partial z}=2y+2\lambda z=0∂x∂L=y+2λx=0∂y∂L=x+2z+2λy=0∂z∂L=2y+2λz=0
这里是一个标准的线性方程组的形式,可以直接行列式求解,得到λ=52,−52,0\lambda=\frac{\sqrt{5}}{2}, -\frac{\sqrt{5}}{2}, 0λ=25,−25,0,分别带回去,λ=52\lambda=\frac{\sqrt{5}}{2}λ=25可得驻点(1,−5,2),(−1,5,−2)(1,-\sqrt{5},2),(-1,\sqrt{5},-2)(1,−5,2),(−1,5,−2),他们两个对应一个极值u=−55u=-5\sqrt{5}u=−55,而λ=−52\lambda=-\frac{\sqrt{5}}{2}λ=−25可得驻点(1,5,2),(−1,−5,−2)(1,\sqrt{5},2),(-1,-\sqrt{5},-2)(1,5,2),(−1,−5,−2),代回原式可得极值555\sqrt{5}55。当λ=0\lambda=0λ=0, 可得驻点(22,0,−2),(−22,0,2)(2\sqrt{2},0,-\sqrt{2}),(-2\sqrt{2},0,\sqrt{2})(22,0,−2),(−22,0,2),可得极值为0。 所以最大值最小值就显而易见。