图7-8 构成初始复合形的几何描述
1)构成初始复合形。
2)计算各顶点的函数值。其中好点记为X(L),坏点记为X(H)。
X(L):F(X(L))=min{F(X(j)),j=1,2,…,k}
X(H):F(X(H))=max{F(X(j)),j=1,2,…,k}
3)计算除坏点外其余各顶点的中心点X0。
4)计算映射点X(R)。
X(R)=X0+α(X0-X(H))
通常取α=1.3,并要检查X(R)是否在可行域内,若X(R)为非可行点,将映射系数减半后再按上式改变映射点,直到X(R)进入可行域为止。
5)构成新复合形。计算映射点的目标函数值F(X(R)),可能有两种情况:
①映射点优于坏点,即
F(X(R))<F(X(H))在这种情况下,则用X(R)代替X(H),从而构成新的复合形。
②映射点劣于坏点,即
F(X(R))>F(X(H))
这种情况往往是由于映射点过远引起的,可用减半映射系数的办法把映射点拉近些,若有(www.xing528.com)
F(X(R))<F(X(H)),则又转化为情况①。
但也有可能经过多次映射系数减半,直到其已小于预先给定的δ(例如δ=10-5)时仍不能使映射点优于坏点,则说明映射方向不对。此时,应改变映射方向取次坏点X(SH)的映射。
X(SH):F(X(SH))=max{F(X(j)),j=1,2,…,k,j≠H}
确定不包括次坏点X(SH)在内的复合形顶点的中心点X0,并以此为映射轴心,计算X(SH)的映射点X(R):
X(R)=X0+α(X0-X(SH))
重新判断目标函数值F(X(R)),依情况构成新的复合形。
6)判别终止条件。当每一个新复合形构成之时,就用终止迭代的条件来判别是否结束迭代。由于在复合形逼近最优解的过程中,映射系数不断减半,复合形不断缩小,即各复合形各顶点之间的距离在逐渐地缩短。当复合形缩得很小时,各顶点的目标函数值必然十分近于相等。因此可用如下形式之一作为终止判据:
①各顶点与好点的函数值之差的均方根值小于误差值。
②好点与坏点的函数值之差的绝对值小于误差值,或者好、坏点函数值相对误差的绝对值小于误差值。
如果满足终止条件,可将最后的复合形好点X(L)及其函数值F(X(L))作为最优解输出,并结束运算。如果不满足终止条件,则返回步骤3)继续下一次迭代。
复合形法迭代过程如图7-9所示。
复合形法在解决约束优化问题上是一种效果较好的方法。它对目标函数和约束函数都没有特殊的要求,适用范围较广,程序编写也比较简单。但是,这种方法的收敛速度较慢,特别是当目标函数的维数较高和约束条件的数目增多时,这一缺点显得尤为突出。
图7-9 复合形法迭代过程框图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。