大多数极值问题其变量的取值都会受到一定限制,这种限制由约束条件(hi、gj)来体现。
⎩⎪⎪⎨⎪⎪⎧minf(x)hi(x)=0,i=1,2,⋯,mgj(x)≥0,j=1,2,⋯,l 或 {minf(x)R={x∣gj(x)≥0,j=1,2,⋯,l}x∈R⊂En

如果方向D既是x(0)点的可行方向(约束范围内的方向),又是这个点的下降方向(和梯度方向成钝角的方向),就称它是该点的可行下降方向。该点存在可行下降方向与该点为极小点为互逆事件。
假定x∗是非线性规划的极小点,则有以下两种情况:
- 极小点位于可行域的内部,即为无约束问题,x∗必满足f(x∗)=0
- 极小点位于可行域的边界上,即为约束问题
库恩-塔克(Kuhn-Tucker)条件是确定某点为最优点的必要条件。
设x∗位于第一个约束条件形成的可行域边界上,即g1(x∗)=0,若x∗是极小点,则▽g1(x∗)与▽f(x∗)在一条直线上且方向相反。
▽f(x∗)−γ1▽g1(x∗)=0
若x∗有两个起作用的约束g1(x∗)=0、g2(x∗)=0,则▽f(x∗)必处于▽g1(x∗)与▽g2(x∗)的夹角之内。
▽f(x∗)−γ1▽g1(x∗)−γ2▽g2(x∗)=0

以此类推得
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧▽f(x∗)−j=1∑lγj∗▽gj(x∗)=0γj∗▽gj(x∗)=0γj∗≥0j=1,2,⋯,lj=1,2,⋯,l
满足该条件的点,称为库恩-塔克(K-T)点。
用K-T条件解非线性规划{minf(x)=(x−3)20≤x≤5
解
改写为⎩⎪⎪⎨⎪⎪⎧minf(x)=(x−3)2g1(x)=x≥0g2(x)=5−x≥0
计算出梯度⎩⎪⎪⎨⎪⎪⎧▽f(x)=2(x−3)▽g1(x)=1▽g2(x)=−1
设K-T点为x∗,该问题的K-T条件为⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧2(x∗−3)−γ1∗−(−γ2∗)=0γ1∗x∗=0γ2∗(5−x∗)=0γ1∗,γ2∗≥0
讨论
- γ1∗=0、γ2∗=0:x∗=0与x∗=5矛盾,无解
- γ1∗=0、γ2∗=0:得x∗=0,γ1∗=−6<0,不是K-T点
- γ1∗=0、γ2∗=0:得x∗=5,γ1∗=−4<0,不是K-T点
- γ1∗=0、γ2∗=0:得x∗=3,是K-T点
综上x∗=3就是其全局极小点。
构造函数ψ(t)={0∞t>0t<0,显然有ψ[gj(x)]={0∞x∈Rx∈/R
再构造函数
φ(x)=f(x)+j=1∑lψ[gj(x)]
这样一来,就把有约束问题的求解化成了求解无约束问题
min φ(x)
上述ψ(t)在t=0处不连续,没有导数。
故重新构造ψ(t)={0t2t≥0t<0,则有j=1∑lψ[gj(x)]{=0∈(0,∞)x∈Rx∈/R
取M>0(M充分大),重新构造φ(x)为P(x,M)=f(x)+Mj=1∑lψ[gj(x)],即
P(x,M)=f(x)+Mj=1∑l[min(0,gj(x))]2
minP(x,M)的解x(M)即为原问题的极小解或近似极小解。函数P(x,M)称为惩罚函数,Mj=1∑lψ[gj(x)]称为惩罚项,M称为惩罚因子。

随着M得增加惩罚函数中的惩罚项所起的作用随之增大。
⎩⎪⎪⎨⎪⎪⎧minf(x)=x1+x2g1(x)=−x12+x2≥0g2(x)=x1≥0
解
从{−x12+x2<0x1<0构造,从外侧趋近,即外点法。
构造P(x,M)=(x1+x2)+M{[min(0,(−x12+x2))]2+[min(0,x1)]2}
- ∂x1∂P=1+2M{(−x12+x2)(−2x1)+x1}
- ∂x2∂P=1+2M{(−x12+x2)}
令⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧∂x1∂P=0∂x2∂P=0,得⎩⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎧x1=2(1+M)−1x2=4(1+M)21−2M1,即有minP(x,M)的解
x(M)=⎣⎢⎢⎡2(1+M)−14(1+M)21−2M1⎦⎥⎥⎤
M=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧1⇒x=[−41,−167]T2⇒x=[−61,−92]T3⇒x=[−81,−19229]T4⇒x=[−101,−20023]T
综上,当M→∞时,x(M)→[0,0]T,即xmin=[0,0]T。
如果要求每次迭代得到的近似解都在可行域内,以便观察目标函数值的变化情况;或者,如果f(x)在可行域外的性质比较复杂,甚至没有定义,这时就无法使用外点法。
当越接近边界时,惩罚越大。
Pˉ(x,rk)=f(x)+rkj=1∑lgj(x)1rk>0
或
Pˉ(x,rk)=f(x)−rkj=1∑llog[gj(x)]rk>0
rkj=1∑lgj(x)1 或 −rkj=1∑llog[gj(x)]称为障碍项。
⎩⎪⎪⎪⎨⎪⎪⎪⎧minf(x)=31(x1+1)3+x2g1(x)=x1−1≥0g2(x)=x2≥0
构造障碍函数Pˉ(x,r)=31(x1+1)3+x2+x1−1r+x2r
- ∂x1∂Pˉ=(x1+1)2−(x1−1)2r
- ∂x2∂Pˉ=1−x22r
令⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧∂x1∂P=0∂x2∂P=0,得⎩⎪⎪⎨⎪⎪⎧x1(r)=1+rx2(r)=r
综上xmin=r→0lim[1+rr]=[1,0]T