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

1、蜘蛛蜂优化算法SWO

蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。VRPTW(MATLAB):蜘蛛蜂优化算法SWO求解带时间窗的车辆路径问题VRPTW(提供参考文献及MATLAB代码)-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

二、SWO求解不闭合MD-MTSP

2.1部分代码

close all
clear
clc
Algorithm='SWO';
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];%起点城市的序号(可以修改) 必须由小到大排列 (建议:2到6个旅行商)
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->6->13->27->8->28->12

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

第2个旅行商的路径:5->2->21->9->26->29->3

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

第3个旅行商的路径:15->20->4->19->25->7->23

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

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

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

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

第1个旅行商的路径:1->12->6->29->3

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

第2个旅行商的路径:5->20->13->4->11

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

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

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

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

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

第5个旅行商的路径:19->24->27->28->21->10->2->26->9

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

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

三、完整MATLAB代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/493706.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合泰杯开发板HT66F2390入门教程(点亮LED灯)——获得成就:点灯大师

前言 前不久报名了合泰杯竞赛项目,然后手上也是有一个HT66F2390的开发板,我就打算先从点灯开始,学习一个新的芯片第一步都是先成为点灯大师。 一开始,我在网上搜寻了许多的代码示例,希望能够顺利实现LED的控制。然而&…

基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型

微❤关注“电气仔推送”获得资料(专享优惠) 本模型质量非常高,运行效果完美。本模型为4机并联孤岛系统,在下垂控制的基础上加入二次控制,二次电压与频率协同控制策略利用事件触发的方法来减少控制器的更新次数。该方法…

C++ //练习 9.16 重写上一题的程序,比较一个list<int>中的元素和一个vector<int>中的元素。

C Primer(第5版) 练习 9.16 练习 9.16 重写上一题的程序,比较一个list中的元素和一个vector中的元素。 环境:Linux Ubuntu(云服务器) 工具:vim 代码块 /**********************************…

【刷题】leetcode 1544.整理字符串

刷题 1544.整理字符串思路一(模拟栈速解版)思路二 (原地算法巧解版)思路三(C栈版) Thanks♪(・ω・)ノ谢谢阅读!!!下一篇文章见&#xff…

数据结构与算法|线性结构

数据结构与算法|线性结构 第二章 线性结构2.1 多项式表示2.2 什么是线性表2.3 线性表的实现方式2.3.1 线性表的顺序存储实现2.3.2 线性表的链式存储实现1. 单链表实现2. 双链表实现 上篇:第一章、绪论 第二章 线性结构 线性结构是数据结构中最基础的,也…

Rider 2023:打造高效.NET项目的智能IDE,让开发更简单mac/win版

JetBrains Rider 2023激活版下载是一款专为.NET开发者打造的强大集成开发环境(IDE)。这款IDE提供了丰富的功能,旨在帮助开发者更快速、更高效地编写、调试和测试.NET应用程序。 Rider 2023 软件获取 Rider 2023在保持了其一贯的智能代码补全…

如何下载B站高清视频、音频到本地?

在B站上找到了喜欢的视频?想要将它保存到本地或者与朋友分享?本文将向您详细介绍一种简单而有效的方法,帮助我们轻松下载并导出B站视频,以便随时欣赏或分享。 一、如何下载并导出B站视频? 手机端/平板端 第一步&…

排序(9.17)

1.排序的概念及其运用 1.1排序的概念 排序 :所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 稳定性 :假定在待排序的记录序列中,存在多个具有相同的关键字的记…

STM32通用定时器输入捕获

通用定时器输入捕获部分框图介绍 通用定时器输入捕获脉宽测量原理 要测量脉宽的高电平的时间:t2-t1(脉宽下降沿时间点-脉宽上升沿时间点) 假设:递增计数模式 ARR:自动重装载寄存器的值 CCRx1:t1时间点CCRx…

Ubuntu22.04环境下载安装中文搜狗输入法

0、查看CPU系统架构 确定架构后,下载对应的安装包,否则无法正常安装应用程序 1、进入搜狗拼音输入法官网,下载搜狗输入法 搜狗输入法-首页搜狗拼音输入法官网下载,荣获多个国内软件大奖的搜狗拼音输入法是一款打字更准、词库更大…

MySQL基础(二)

文章目录 MySQL基础(二)1. 数据库操作-DQL1.1 介绍1.2 语法1.3 基本查询1.4 条件查询1.5 聚合函数1.6 分组查询1.7 排序查询1.8 分页查询1.9 案例1.9.1 案例一1.9.2 案例二 2. 多表设计2.1 一对多2.1.1 表设计2.1.2 外键约束 2.2 一对一2.3 多对多2.4 案…

计网Lesson15 - TCP可靠传输

文章目录 1. 停止等待ARQ协议2. 连续ARQ协议与滑动窗口协议 1. 停止等待ARQ协议 ARQ(Automatic Repeat–reQuest)自动重传请求 几种重传情况 发送端丢失 发送方过久没有接收到接收方的确认报,这种情况会触发超时重传机制,发送方…