蜣螂优化算法DBO求解不闭合MD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)

作品简介

一、蜣螂优化算法(Dung beetle optimizer,DBO)

蜣螂优化算法(Dung beetle optimizer,DBO)由Jiankai Xue和Bo Shen于2022年提出,该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得。

参考文献:Xue, J., Shen, B. **Dung beetle optimizer: a new meta-heuristic algorithm for global optimization**. J Supercomput (2022). https://doi.org/10.1007/s11227-022-04959-6

二、蜣螂优化算法DBO求解不闭合MD-MTSP

2.1部分代码

close all
clear
clc
Algorithm='DBO';
global data  StartPoint Tnum
%数据集参考文献  REINELT G.TSPLIB-a traveling salesman problem[J].ORSA Journal on Computing,1991,3(4):267-384.
% 导入TSP数据集 bayg29
load('data.txt')
StartPoint=[1 5 15 16 17];%起点城市的序号(可以修改) 必须由小到大排列 (建议:26个旅行商)
Tnum=length(StartPoint);%旅行商个数
Dim=size(data,1)-Tnum;%维度
lb=-10;%下界
ub=10;%上界
fobj=@Fun;%计算总距离
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=1000; % 最大迭代次数(可以修改)
algorithm=str2func(Algorithm);
[fMin,bestX,curve]=algorithm(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj);  

2.2部分结果

第1个旅行商的路径:1->2->4->19->23->24->27

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

第2个旅行商的路径:5->28->8->21->29->6->12

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

第3个旅行商的路径:15->25->7->11->17->18->20

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

第4个旅行商的路径:16->13->9->26->3->10->14->22

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

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

第1个旅行商的路径:1->8->27->6->9

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

第2个旅行商的路径:5->26->29->2->10

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

第3个旅行商的路径:15->18->14->11->25

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

第4个旅行商的路径:16->13->24->23->7

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

第5个旅行商的路径:17->22->19->4->20->3->21->12->28

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

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

三、完整MATLAB代码






创作时间: