课题名称:标准遗传算法求解TSP问题
版本时间:2023-03-17
程序运行:直接运行GA_TSP.m 文件即可
代码获取方式:
QQ:491052175
VX:Matlab_Lover
模型介绍:
第一步:导入实际问题数据,进行编码。每个粒子的维度等于城市数量,对于n个城市的TSP问题,能够得到的解就是对1~n的一个排列,其中每个数字为对应城市的编号,如对10个城市的TSP问题,则 1|10|2|4|5|6|8|7|9|3就是一个合法的解,采用产生随机排列的方法产生一个初始解S。
第二步:初始化种群并计算适应度值。
第三步:选择适应度值高的染色体(个体,在粒子群里叫粒子)
第四步:对该染色体进行选择、交叉、变异、进化逆转操作得到新的种群
选择:从旧群体中以一定的概率选择个体到新群体中
交叉:采用部分映射杂交,确定交叉操作的父代,将父代样本两两分组
变异:变异策略采取随机选取两个点,将其对换位置
进化逆转:改善局部搜索能力,在上述操作后引进连续多次的进化逆转操作,这里的进化是指逆转算子的单方向性,即只有经逆转后,适应度值有提高的才接受下来,否则逆转无效。
第五步:重复上述迭代次数直至满足终止条件
第六步解码得到最终结果
特殊说明:
1.程序支持导入包含城市坐标的Excel文件,也可以随机产生一定数量的城市坐标
2.神经网络每一次的预测结果都不相同,为了得到更好的结果,建议多次运行取最佳值
3.城市坐标及距离矩阵可以打开CityInfo.mat文件查看
Matlab仿真结果
标准遗传算法GA求解旅行商问题的路径顺序:
随机生成初始解的路径图 :
遗传算法求解旅行商的路径图:
旅行商路径距离随着迭代次数的变化曲线 :