与内点法将惩罚函数定义于可行域内,且求解无约束问题的探索点总是保持在可行域内的特点不同,外点法的特点是将惩罚函数定义于约束可行域之外,且求解无约束问题的探索点是从可行域外部逼近原目标函数的约束最优解的,它既可处理带不等式约束的问题,又能求解含等式约束的问题。
外点惩罚函数法构造的新的目标函数的一般形式随约束条件的不同而异。
1)当约束条件为gu(X)≤0(u=1,2,…,m)时:
式中 α——构造惩罚函数的指数,其值将影响φ(X,Mk)等值线在约束面处的性质,一般取α=2;
Mk——惩罚因子,是大于零的一个递增数列,即应满足:0<M0<M1<M2<…<Mk<…,
在惩罚项中:
2)当约束条件为gu(X)≥0(u=1,2,…,m)时:
一般取α=2。同样应满足:
而在惩罚项中:
3)当约束条件中尚包括hv(X)=0(v=1,2,…,p)的等式约束时,则在式(5-26)、式(5-27)中的右边加进。
容易看出,上述两式中的惩罚项在可行域内部点上其值为零。惩罚因子Mk被取成递增正数序列,以不断强化惩罚项作用,把φ(X,Mk)的最小点逐步引向约束最优点X*。在此过程中,惩罚项之值将逐渐减小,直至为零(到达约束面上)为止,因此它又称为衰减函数。
外点惩罚函数法的计算步骤如下:(www.daowen.com)
1)选择一个初始点X(0),并选择适当的M0>0,给定允许误差ε1>0和ε2>0,确定递增系数,令k=k+1。
2)以X(k-1)为起点,用无约束最优化算法求φ(X,Mk)的最小点X(k)=X*(Mk)。
3)检查X(k)-X(k-1)≤ε1及f(X(k))-f(X(k-1))≤ε2。
4)如果满足3)中收敛准则,终止计算,取X*=X(k);否则,取Mk+1=CMk,其中,可取递增系数C=8,然后,可令k=k+1,返回到2)。
【例5-7】试用外点惩罚函数法求目标函数f(X)=x1+x2在约束条件g1(X)=-x21+x2≥0,g2(X)=x1≥0下的最优解。
解 构造惩罚函数:
为说明问题,用解析法求解:
解此方程组,得
…
Mk→∞,Xk=(0,0)T
图5-9表示目标函数等值线与可行域的关系。从图中看出,Xk从可行域的内部随着Mk的增大而收敛于原问题的最优解X*=(0,0)T。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。