【摘要】:设定种群规模m、混沌序列个数d、种群最大迭代次数Kmax、初始温度T0以及自适应参数Pc1、Pc2、Pm1、Pm2。采用整体退火选择机制,允许父代参与竞争,每个个体通过相对适应度函数式(6.2)和选择概率式(6.3)筛选出下一代。采用算术交叉方法执行交叉操作,交叉算子由式(6.4)得到。选取后者作为收敛条件,即当k<Kmax,返回第三步;否则,计算收敛,输出最优解。该算法的流程如图6.2所示。图6.2自适应混沌整体退火遗传算法流程图
第一步:参数初始化。设定种群规模m、混沌序列个数d、种群最大迭代次数Kmax、初始温度T0以及自适应参数Pc1、Pc2、Pm1、Pm2。
第二步:种群初始化。根据Logistic映射公式,在混沌空间随机生成n组混沌序列,映射到解空间内生成m个不同的个体构成种群,种群个体由各电站不同时段的水位值(zi1,zi2,…,zin)构成。
第三步:评价个体适应度。直接采用目标函数作为适应度评价函数,同时采用最优保存策略,即记录每一代最优个体,不参与交叉运算和变异运算,在本代计算结束后,替换掉适应度最差的个体,确保其顺利进入下一代。
第四步:选择运算。采用整体退火选择机制,允许父代参与竞争,每个个体通过相对适应度函数式(6.2)和选择概率式(6.3)筛选出下一代。
第五步:交叉运算。采用算术交叉方法执行交叉操作,交叉算子由式(6.4)得到。
第六步:变异运算。采用非均匀变异方式执行变异操作,变异算子由式(6.5)得到。(www.xing528.com)
第七步:计算父代和子代个体适应度。假设父代个体Xi经过交叉、变异生成子代X′i,若f(X′i)>f(Xi),则用X′i代替Xi;否则,以概率exp{[f(X′i)-f(Xi)/Tk]}保留Xi。
第八步:参数更新。迭代次数k=k+1,温度Tk=1/ln(k/T0+1)。
第九步:判断迭代是否结束。根据SCWAGA的特点,可以根据退火温度Tk或最大迭代次数作为收敛条件。选取后者作为收敛条件,即当k<Kmax,返回第三步;否则,计算收敛,输出最优解。
该算法的流程如图6.2所示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。