pso解决tsp matlab,PSO粒子群算法解决旅行商问题的MATLAB源码

本文提供了一段MATLAB代码,利用粒子群优化算法(PSO)来解决旅行商问题。代码中定义了种群大小、城市数量、最大迭代次数等参数,并计算城市间的距离,通过迭代优化寻找最短路径。最后,代码绘制了随机解和优化解的路径图以及进化曲线。
摘要由CSDN通过智能技术生成

%粒子群算法求解旅行商问题

% By lReij

close all;

clear all;

PopSize=500;%种群大小

CityNum = 14;%城市数

OldBestFitness=0;%旧的最优适应度值

Iteration=0;%迭代次数

MaxIteration =2000;%最大迭代次数

IsStop=0;%程序停止标志

Num=0;%取得相同适应度值的迭代次数

c1=0.5;%认知系数

c2=0.7;%社会学习系数

w=0.96-Iteration/MaxIteration;%惯性系数,随迭代次数增加而递减

%节点坐标

node=[16.47 96.10; 16.47 94.44; 20.09 92.54; 22.39 93.37; 25.23

97.24;...

22.00 96.05; 20.47 97.02; 17.20 96.29; 16.30 97.38; 14.05

98.12;...

16.53 97.38; 21.52 95.59; 19.41 97.13; 20.09 94.55];

%初始化各粒子,即产生路径种群

Group=ones(CityNum,PopSize); for i=1:PopSize

Group(:,i)=randperm(CityNum)';

end

Group=Arrange(Group);

%初始化粒子速度(即交换序)

Velocity =zeros(CityNum,PopSize);

for i=1

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值