【TSP问题】基于麻雀算法求解旅行商问题含Matlab源码
【TSP问题】基于麻雀算法求解旅行商问题含Matlab源码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
旅行商 (TSP) 问题是数学领域组合优化中著名的 NP 难题之一, 又称旅行推销员问题[1]. 该问题的求解一直是学术界研究的热点问题. 旅行商问题的表述比较容易, 但对于路径的优化求解比较困难. 对于 TSP 问题求解的传统方法有蛮力法、动态规划法、分枝限界法等[2], 但当 TSP 问题的规模较大时, 传统算法往往不能解决. 针对大规模的 TSP 问题, 近年来兴起的群体智能优化算法在该问题的求解中得到了很好的应用.
2 部分代码
%% 基于麻雀算法的tsp问题
%%
1
.清空环境变量
clear;
clc;
%%
2
.导入数据
% load citys51.mat; %数据集的变量名为citys
% % %%
3
.计算城市间相互距离
% citys=citys51;
load citys_data.mat;
n=size(citys,
1
);
D=zeros(n,n);
for
i=
1
:n
for
j=i+
1
:n
D(i,j)=
sqrt
(sum((citys(i,:)-citys(j,:)).^
2
));
D(j,i)=D(i,j);
end
end
%%
4
初始化参数
ST=
0
.
8
; %预警阈值
m
=
500
; %麻雀种群数量
popn=
m
;
pop
=zeros(
m
,n);
PD_percent=
0
.
2
;
SD_percent=
0
.
2
;
genmax=
500
; %最大迭代次数
gen=
1
;
fitness=zeros(
m
,
1
); %适应度函数值
Pbest=zeros(
m
,n); %个体极值路径
Pbest_fitness=zeros(
m
,
1
); %个体极值
Gbest=zeros(genmax,n); %群体极值路径
Gbest_fitness=zeros(genmax,
1
); %群体极值记录
Length_ave=zeros(genmax,
1
); %各代路径的平均长度
3 仿真结果
4 参考文献
[1]张月栋, 莫愿斌. 改进的麻雀搜索算法及其求解旅行商问题[J]. 计算机系统应用, 2022, 31(2):7.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
