课题名称:基于标准粒子群算法的的旅行商问题TSP
程序版本:2023-05-10
代码获取方式:
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仿真结果:
标准粒子群算法PSO求解旅行商问题的路径顺序:
随机生成初始解的路径图:
粒子群算法求解旅行商路径图:
旅行商路径距离随着迭代次数的变化曲线: