我们常见的拉格朗日乘数法的形式为:
Δx,ΔfΔy)=λ=λ1Δx,Δc1Δy)+λ2Δx,Δc2Δy)+⋯+λnΔx,ΔcnΔy)left}{Deltax},frac{Deltaf}{Deltay} ight)=lambdaleft=lambda_1left}{Deltax},frac{Deltac_1}{Deltay} ight)+lambda_2left}{Deltax},frac{Deltac_2}{Deltay} ight)+cdots+lambda_nleft}{Deltax},frac{Deltac_n}{Deltay} ight)即:
z=x2+y2z=x2+y2及其等高线
minz=fs.t.ci=0,i=1,2,…,negin{aligned}&min&&z=f&s.t.&&c_i=0,i=1,2,…,nend{aligned}其写成拉格朗日函数的形式为:
minf=x2+y2s.t.xy=3egin{aligned}&min&f&=x2+y2&s.t.&xy&=3end{aligned}即:在定义域xy=3xy=3内,求ff的最小值。两个函数的像如下:
现在让我们回到二维的平面,来看看相切时有什么等式成立:
2x=λy2y=λxegin{aligned}2x&=lambday2y&=lambdaxend{aligned}我们有:
xy=3xy=3
让我们把两个像融合到一起:
∇x,yf=λ→wg,λ∈R{ abla}_{x,y}f=lambdavec{w_g},lambdainR其中,→wgvec{w_g}表示函数gg的法向量,∇x,yf{ abla}_{x,y}f为函数ff在相切点的梯度。
通过上式,我们可以得到:
z=x2+y2z=x2+y2
minL=min+n∑i=1λici)minspaceL=min+sum^{n}_{i=1}lambda_ic_i)其实可以理解为:在可行域内,找到能够使ff的等高线,与所有cc,同时相切的,所有对应的值。∑ni=1λici)sum^{n}_{i=1}lambda_ic_i)可以看作是由多个函数组成的,单个函数,让我们记作为ψpsi。那么就可以套用上面的例子里面的推理过程,即:
xy=3xy=3
xy=3xy=3综合这三个等式,得到:
Δx,ΔfΔy)=λleft}{Deltax},frac{Deltaf}{Deltay} ight)=lambdaleft即:
首先我们来看看一个实例:
其实我不是很明白为什么低维的成立后,就可以运用到高维,而且高维的情况基本上都是重复几次低维的情况即可。
∈{,}in{,}所以minf=6minf=
在z=x2+y2z=x2+y2上划过的两个抛物线就是当点满足xy=3xy=3时的点在zz上的取值。这两条抛物线上的点一一对应着二维平面上的点。二维平面上的两条双曲线就是当前问题的可行域的可视化表示。现在让我们来看看对zz从最底部往上开始做水平切割,每次的切口都是一个圆,每个圆都对应着下面的二维平面上的一个圆,即等高线。随着往上攀爬,切口的圆表示的zz值越来越大,对应的等高线圆的也越来越大,当切口碰到那两条抛物线时,也就是在可行域内,zz取到了值,之前的值虽然都比现在的小,但是不作数,因为当时的值对应的点不在可行域内。继续往上,我们知道,zz的取值会变大,也就是说,只有在切口圆第一次碰到抛物线的时候,zz便已经取到了最大值,此时的切口圆对应的二维平面上的圆刚好与双曲线相切。
z=x2+y2z=x2+y2与xy=3xy=3
拉格朗日乘数法——通俗理解
三维视角下相切时可行域曲线与目标函数等高线
二维视角下相切时可行域曲线与目标函数等高线
文章为作者独立观点,不代表股票交易接口观点