协同进化遗传算法求解TSP问题:Matlab实现

旅行商问题(Traveling Salesman Problem,简称TSP问题),即为求解最优化的城市线路组合,要求每个城市都要走且只走一遍,终点城市同出发城市为同一个,最终所走路程需最短。

本文在传统遗传算法基础上,对其进行改进优化,提出了精英保留的协同进化遗传算法,并分别以30、50和75个城市为例,对二者进行对比。该算法的运行流程如图1所示。

基于Matlab的协同进化遗传算法求解旅行商问题的图1

图1 协同进化遗传算法运行流程


产生初始种群后(设种群数量为POP),便按照适应度值(即总路程倒数)高低将其分为三个子种群,其中,子种群1的适应度值最大,子种群3的适应度值最小。接着,在各个子种群内部进行交叉变异操作,依次产生新子种群1、新子种群2、新子种群3。


同时,三个子种群两两之间,也进行交叉变异操作,依次产生新子种群4、新子种群5、新子种群6。最后便将这6个新子种群进行组合,然后从中随机挑选出POP-1个个体,并根据精英保留策略,将其与父代最优个体相合并,从而得到新种群、开始下一代的操作。

以30、50、75个城市为例,分别进行10次重复试验,取各次试验两种算法最优解的平均值进行对比,结果如图2所示。

基于Matlab的协同进化遗传算法求解旅行商问题的图2

图2 两种算法的寻优结果对比



显然,同传统遗传算法相比,协同进化遗传算法具备更强大的最优解搜索能力,尤其当城市数量较多时(如此例中的75),其能更有效地避免陷入局部最优,从而找到全局最优的解、使得总路程更小。以75个城市数量为例,两种算法所确定的最优路径分别如图3(a)与3(b)所示。

基于Matlab的协同进化遗传算法求解旅行商问题的图3

(a) 传统遗传算法

基于Matlab的协同进化遗传算法求解旅行商问题的图4

(b) 协同进化遗传算法

图3 两种算法所确定的最优路径对比


图3中,横轴纵轴分别为每个城市的横纵坐标,图中的数字即为每个城市的编号。显然,协同进化遗传算法所确定的最优路径更为规整,这表明其同传统遗传算法相比,具有更强的全局寻优能力,且具备更好的鲁棒性。

免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空