当前位置: 首页 > news >正文

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

一、蜘蛛蜂优化算法SWO

蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。蜘蛛蜂优化算法(Spider wasp optimizer,SWO)_IT猿手的博客-CSDN博客

参考文献:

[1]Abdel-Basset, M., Mohamed, R., Jameel, M. et al. Spider wasp optimizer: a novel meta-heuristic optimization algorithm. Artif Intell Rev (2023). Spider wasp optimizer: a novel meta-heuristic optimization algorithm | SpringerLink

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

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

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

三、蜘蛛蜂优化算法SWO求解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=4;%旅行商个数(可以自行更改)2-6
StartPoint=1; %选择起点城市(可以自行更改)
Dim=size(data,1)-1;%维度
lb=-10;%下界
ub=10;%上界
fobj=@Fun;%计算总距离
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=2000; % 最大迭代次数(可以修改)
[fMin,bestX,curve]=SWO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj); 

3.2部分结果

(1)5个旅行商

第1个旅行商的路径:10->29->3->26->1->27->10

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

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

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

第3个旅行商的路径:10->19->11->15->20->2->10

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

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

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

第5个旅行商的路径:10->24->8->28->6->12->9->5->21->10

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

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

(2)4个旅行商

第1个旅行商的路径:10->22->17->20->29->3->26->9->10

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

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

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

第3个旅行商的路径:10->21->1->28->12->6->5->2->10

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

第4个旅行商的路径:10->27->23->7->11->14->18->15->10

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

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

四、完整Matlab代码

http://www.lryc.cn/news/119849.html

相关文章:

  • 【ARM 嵌入式 编译系列 3.1 -- GCC __attribute__((used)) 使用】
  • C++ ModBUS TCP客户端工具 qModMaster 介绍及使用
  • 笔记本电脑如何把sd卡数据恢复
  • 【2023 华数杯全国大学生数学建模竞赛】 B题 不透明制品最优配色方案设计 39页论文及python代码
  • Exams/ece241 2013 q4
  • Android OkHttp源码分析--分发器
  • 大数据面试题:说下Spark中的Transform和Action,为什么Spark要把操作分为Transform和Action?
  • 【图像去噪的扩散滤波】基于线性扩散滤波、边缘增强线性和非线性各向异性滤波的图像去噪研究(Matlab代码实现)
  • python函数、运算符等简单介绍2(无顺序)
  • k8s 自身原理 3
  • SpringBoot 3自带的 HTTP 客户端工具
  • Spring Boot多级缓存实现方案
  • 机器学习笔记:李宏毅chatgpt 大模型 大资料
  • 2023年中国智慧公安行业发展现况及发展趋势分析:数据化建设的覆盖范围不断扩大[图]
  • Apache Dubbo概述
  • React UI组件库
  • 计算机科学的伟大变革:从机械计算到人工智能
  • 微服务详解
  • Python爬虫的requests(学习于b站尚硅谷)
  • PHP最简单自定义自己的框架view使用引入smarty(8)--自定义的框架完成
  • 字符串的常用操作
  • 开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,开箱即用
  • 文心一言 VS 讯飞星火 VS chatgpt (74)-- 算法导论7.2 2题
  • 大数据第二阶段测试
  • 06 为什么需要多线程;多线程的优缺点;程序 进程 线程之间的关系;进程和线程之间的区别
  • datax-web报错收集
  • YOLO相关原理(文件结构、视频检测等)
  • 深入解析Spring Boot的核心特性与示例代码
  • 什么是Java中的观察者模式?
  • 无涯教程-Perl - endhostent函数