全球旧事资料 分类
b1yE
d交换函数fu
ctio
xyexcha
gexytempxxyytemp
5
fbbi
goorg版权所有
本遗传算法中并未引入变异操作,当程序迭代次数满足设定条件时,程序得出近似最优解。
四、程序结果分析
初始值种群数目设为500,进化迭代次数为5000,归一化淘汰加速指数设为2,淘汰保护指数设为08时,运行程序,得最短距离为14893,结果如下:
图3城市位置坐标(左)、初始解(中)、最终解(右)
图4种群数为500,进化数为5000,TSP问题最优路径
6
fbbi
goorg版权所有
图5种群数为500,进化数为5000,TSP问题寻优历史
从图4可以看出,迭代次数超过500次时,所得的解已接近近似最优解。只改变种群数量,进行多次计算,可得下表:种群数量5010020050010002000最终解距离267972053017476148931499816246
表一不同种群数量下最终解
综上所述,种群越大、迭代越多求解的结果越优化,但是需要花费大量的运算时间;由于算法中存在多个随机参数,因此每次计算结果不一定相同,须根据需要设定初值进行多次计算取多组中最优解。
五、另一种的遗传算法解决该问题
上述算法中,只采用了遗传算法中交换操作,以下算法,则采用变异操作解决同一问题。算法核心思路是,在每次迭代中,解的个体随机按4个为1组,每
7
fbbi
goorg版权所有
组中只保留最优解,然后对此最优解进行左右翻转、交换、向前移位三种变异操作,生成三个新个体,再参与下次迭代。整个算法不需要计算归一化适应度,核心源代码如下:
forp44pop_sizertespopra
d_pairp3pdiststotal_distra
d_pairp3pig
oreidxmi
distsbest_of_4_rtertesidxi
s_ptssortceil
ra
d12Ii
s_pts1Ji
s_pts2fork14tmp_popkbest_of_4_rteswitchk保留最佳个体,繁殖三个新个体生成1x2每一列元素按照升序排列矩阵
case2左右翻转tmp_popkIJfliplrtmp_popkIJcase3交换tmp_popkIJtmp_popkJIcase4向前移动一位tmp_popkIJtmp_popkI1JIotherwisee
de
d
ew_popp3ptmp_pope
dpop
ew_pop
在此算法中,每次迭代淘汰率固定为75,三种变异操作覆盖面比较广,直接以最短距离为适应函数,省去每次适应度的计算。初始值种群数目设为500,进化迭代次数为5000,寻得最优解为129572,如下:
8
fbbi
goorg版权所有
图5省会位置(左上)、各省会距离分布(右上)、最优路径(左下)、寻优历史(右下)
由上图及最终结果可以看出,该算法比上一算法所得结果更优化,从寻优历史可见,迭代次数在接近1000次才能得到近似最优解(见表二),总体r
好听全球资料 返回顶部