理论教育 内点惩罚函数法优化算法

内点惩罚函数法优化算法

时间:2023-06-17 理论教育 版权反馈
【摘要】:P的作用相当于在原约束的边界上筑起一道屏障,防止设计点越出可行域,所以内点惩罚函数法又称障碍函数法。最常见的惩罚函数P及因子rk的取法为式中 t——给定常数。内点惩罚函数法求约束优化问题的算法如下:1)选取一个初始可行设计点X和适当的r1及t,令k=1。 利用内点惩罚函数法求解目标函数f=x-1,约束条件为x≥0的最优解。图5-8 例5-6解的几何表示由上例可见,初始惩罚因子r0的选择对内点法的计算效率影响很大。

内点惩罚函数法优化算法

内点惩罚函数法仅适用于具有不等式约束的优化问题,根据下列的目标函数和约束条件函数:

978-7-111-29617-1-Chapter05-142.jpg

构造新目标函数φXrk)的无约束优化问题:

978-7-111-29617-1-Chapter05-143.jpg

式中 rkPX)——障碍项;

PX)——依赖于guX)的障碍函数;

rk——惩罚因子,它满足:①r0r1r2>…;②978-7-111-29617-1-Chapter05-144.jpg

PX)的取法使得当设计点X在区域内部且离边界很远时,其值几乎为零,φf;而当X从内部靠近边界时,PX)→∞。PX)的作用相当于在原约束的边界上筑起一道屏障,防止设计点越出可行域,所以内点惩罚函数法又称障碍函数法。由前可知,最优解往往是在边界上,为了允许设计点逐渐接近边界,随k→∞,让rk→0,使得对设计点靠近边界所受的惩罚逐渐减小。

最常见的惩罚函数PX)及因子rk的取法为

978-7-111-29617-1-Chapter05-145.jpg

978-7-111-29617-1-Chapter05-146.jpg

式中 t——给定常数。

内点惩罚函数法求约束优化问题的算法如下:

1)选取一个初始可行设计点X(0)和适当的r1t,令k=1。

2)从Xk-1)出发优化φXrk),记为X*=Xk

3)检查收敛准则

978-7-111-29617-1-Chapter05-147.jpg

如满足则停止;否则进行4)。

4)计算978-7-111-29617-1-Chapter05-148.jpg,返回2)。(www.daowen.com)

【例5-6】 利用内点惩罚函数法求解目标函数fX)=x-1,约束条件为x≥0的最优解。

解 构造内点惩罚函数:

978-7-111-29617-1-Chapter05-149.jpg

对于固定的rkφXrk)的极小点满足:

978-7-111-29617-1-Chapter05-150.jpg

解得978-7-111-29617-1-Chapter05-151.jpg

为保证Xk的可行性,应取正根978-7-111-29617-1-Chapter05-152.jpg。显然,当k→∞时,rk→0,Xk→0。事实上,X*=0也就是原问题的最优解。图5-8为rk=1、0.1和0.01时φXrk)的曲线。显然,φ所代表的曲线严格地在可行域(X≥0)内。

978-7-111-29617-1-Chapter05-153.jpg

图5-8 例5-6解的几何表示

由上例可见,初始惩罚因子r0的选择对内点法的计算效率影响很大。若r0值选得太小,则在惩罚函数φXrk)中惩罚项的作用就会很小,极值点有可能跑出可行域;反之,则开始几次构造的φXrk)的无约束极值点就会远离约束边界,使计算效率降低。可取r0≈1~5,一般取r0=1。通常,当初始点X(0)是一个严格的内点时,r0可由下式确定:

978-7-111-29617-1-Chapter05-154.jpg

若约束区域是非凸的且X(0)亦不靠近约束边界,则r0可取上式算得值的0.1~0.5倍。

为避免当r0取过大时计算效率降低现象的发生,可增加一个新的约束条件:

978-7-111-29617-1-Chapter05-155.jpg

这样,式(5-19)和式(5-20)分别写成:

978-7-111-29617-1-Chapter05-156.jpg

978-7-111-29617-1-Chapter05-157.jpg

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈