对于只有等式约束的问题,如:
minf(x)
s.t.hi(x)=0
用拉格朗日函数优化求解的方法是
构造拉格朗日函数
L(x,λi)=f(x)+∑ki=1λihi(x)
用条件
∂L∂x=0
以及
hi(x)=0
求解
===============================例题=============================
求解:
min−8xyz
s.t.x2a2+y2b2+z2c2=1
解题过程是:
构建拉格朗日函数
L(x,y,z,λ)=−8xyz−λ(x2a2+y2b2+z2c2−1)
求解条件是:
x2a2+y2b2+z2c2=1
−8yz−λa22x=0
−8xz−λb22y=0
−8xy−λc22z=0
得
x=3√3a
y=3√3b
z=3√3c
============================================================
对于含有不等式约束的优化问题,如
minf(x)
s.t.hi(x)=0
gj(x)≤0
构造拉格朗日函数
L(x,λ,μ)=f(x)+∑λihi(x)+∑μjgj(x)
可用K.K.T条件求解
hi(x)=0
μjgj(x)=0
∂L∂x=0
还有2个约束条件,对求解没有帮助
μj≥0
gj(x)≤0
================================例题===============================
minx+3y
s.t.x+y≥2
x,y≥0
构建拉格朗日函数
L(x,y,μ)=x+3y+μ1(2−x−y)+μ2(−x)+μ3(−y)
根据K.K.T条件,解方程组
μ1(2−x−y)=0
μ2(−x)=0
μ3(−y)=0
1−μ1−μ2=0
3−μ1−μ3=0
得
μ1=1
μ2=0
μ3=2
x=2
y=0