SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、光谱优化算法LSO

光谱优化算法(Light Spectrum Optimizer,LSO)由Mohamed Abdel-Basset等人于2022年提出。

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第1张图片

参考文献:

[1]Abdel-Basset M, Mohamed R, Sallam KM, Chakrabortty RK. Light Spectrum Optimizer: A Novel Physics-Inspired Metaheuristic Optimization AlgorithmMathematics. 2022; 10(19):3466. Mathematics | Free Full-Text | Light Spectrum Optimizer: A Novel Physics-Inspired Metaheuristic Optimization Algorithm

二、单仓库多旅行商问题SD-MTSP

单仓库多旅行商问题(Single-Depot Multiple Travelling Salesman Problem, SD-MTSP):个推销员从同一座中心城市出发,访问其中一定数量的城市并且每座城市只能被某一个推销员访问一次,最后返回到中心城市,通常这种问题模型被称之为SD-MTSP。

多旅行商问题(Multiple Traveling Salesman Problem, MTSP):单仓库多旅行商问题及多仓库多旅行商问题(含动态视频)_IT猿手的博客-CSDN博客

三、光谱优化算法LSO求解SD-MTSP

本文选取国际通用的TSP实例库TSPLIB中的测试集bayg29作为测试例子,数据集可以自行修改。

3.1部分代码(可更改起点及旅行商个数)

close all
clear
clc
%数据集参考文献  REINELT G.TSPLIB-a traveling salesman problem[J].ORSA Journal on Computing,1991,3(4):267-384.
global data StartPoint Tnum
% 导入TSP数据集 bayg29
load('data.txt')
Tnum=5;%旅行商个数(可以自行更改)2-6
StartPoint=10; %选择起点城市(可以自行更改)
Dim=size(data,1)-1;%维度
lb=-10;%下界
ub=10;%上界
fobj=@Fun;%计算总距离
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=1000; % 最大迭代次数(可以修改)
[fMin,bestX,curve]=LSO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj); 

3.2部分结果

(1)5个旅行商

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第2张图片

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第3张图片

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第4张图片

第1个旅行商的路径:10->20->29->26->12->21->10

第1个旅行商的总路径长度:1254.990040

第2个旅行商的路径:10->13->24->1->8->16->10

第2个旅行商的总路径长度:977.957054

第3个旅行商的路径:10->2->3->9->5->4->10

第3个旅行商的总路径长度:1489.429421

第4个旅行商的路径:10->18->17->14->22->15->10

第4个旅行商的总路径长度:958.644877

第5个旅行商的路径:10->19->11->25->7->27->23->28->6->10

第5个旅行商的总路径长度:1787.680061

所有旅行商的总路径长度:6468.701453

(2)6个旅行商

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第5张图片

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第6张图片

SD-MTSP:光谱优化算法LSO求解单仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)_第7张图片

第1个旅行商的路径:10->4->17->14->2->10

第1个旅行商的总路径长度:1315.902732

第2个旅行商的路径:10->7->11->22->18->10

第2个旅行商的总路径长度:1582.971889

第3个旅行商的路径:10->5->9->3->29->10

第3个旅行商的总路径长度:1360.808583

第4个旅行商的路径:10->15->25->23->16->10

第4个旅行商的总路径长度:1277.106104

第5个旅行商的路径:10->13->24->1->21->10

第5个旅行商的总路径长度:765.767589

第6个旅行商的路径:10->20->26->6->12->28->8->27->19->10

第6个旅行商的总路径长度:1385.063175

所有旅行商的总路径长度:7687.620072

四、完整Matlab代码

你可能感兴趣的:(TSP,单目标应用,MATLAB,matlab,算法)