蜘蛛蜂优化算法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代码
相关文章:
蜘蛛蜂优化算法SWO求解不闭合MD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)
1、蜘蛛蜂优化算法SWO 蜘蛛蜂优化算法(Spider wasp optimizer,SWO)由Mohamed Abdel-Basset等人于2023年提出,该算法模型雌性蜘蛛蜂的狩猎、筑巢和交配行为,具有搜索速度快,求解精度高的优势。VRPTW&#x…...
Java架构师之路六、高并发与性能优化:高并发编程、性能调优、线程池、NIO、Netty、高性能数据库等。
目录 高并发编程: 性能调优: 线程池: NIO: Netty: 高性能数据库: 上篇:Java架构师之路五、微服务:微服务架构、服务注册与发现、服务治理、服务监控、容器化等。-CSDN博客 下篇…...
MySQL-行转列,链接查询
1. 行转列 1.1 示例数据准备 create table test_9(id int,name varchar(22),course varchar(22),score decimal(18,2) ); insert into test_9 (id,name,course,score)values(1,小王,java,99); insert into test_9 (id,name,course,score)values(2,小张,java,89.2); inse…...
Linux之安装jdk,tomcat,mysql,部署项目
目录 一、操作流程 1.1安装jdk 1.2安装tomcat(加创建自启动脚本) 1.3 安装mysql 1.4部署项目 一、操作流程 首先把需要用的包放进opt文件下 1.1安装jdk 把jdk解压到/usr/local/java里 在刚刚放解压包的文件夹打开vim /etc/profile编辑器,…...
HTMLElement.click()的回调触发踩坑
先看看以下代码 const el document.getElementById("btn") el.addEventListener("click", () > {Promise.resolve().then(() > console.log("microtask 1"));console.log("1"); }); el.addEventListener("click", (…...
mysql锁-这条sql加了哪些锁
文章目录 1、 InnoDB的三种行锁2、常见的加锁语句2.1、常见隐式加锁语句2.1、常见显示加锁语句 3、加锁的2条规则4、案例4.1、唯一索引等值查询4.2、唯一索引范围查询4.3、非唯一索引等值查询4.4、非唯一索引范围查询 InnoDB 存储引擎中的行锁的加锁规则。 1、 InnoDB的三种行锁…...
Docusaurus框架——快速搭建markdown文档站点介绍sora
文章目录 ⭐前言⭐初始化项目💖 创建项目(react-js)💖 运行项目💖 目录文件💖 创建一个jsx页面💖 创建一个md文档💖 创建一个介绍sora的文档 ⭐总结⭐结束 ⭐前言 大家好࿰…...
Prompt 编程的优化技巧
一、为什么要优化 一)上下文限制 目前 GPT-3.5 以及 GPT-4最大支持 16K 上下文,比如你输入超过 16k 的长文本,ChatGPT 会提示文本过大,为了避免 GPT 无法回复,需要限制 上下文在16k 以内 上下文对于 GPT 来说是非常重…...
React PureComponent 和 React.memo()区别
1 注意 ● PureComponent和memo仅作为性能优化的方式存在 ● 不要依赖它来阻止渲染,会产生BUG ● PureComponnet 和memo 都是通过对 props 值的浅比较来决定该组件是否需要更新的。 2 PureComponent 和React.memo() 区别 PureComponent 和React.memo()都是React优化…...
CentOS 7全系列免费
CentOS 7 全系列免费:桌面版、工作站版、服务器版等等………… 上文,关于CentOS 7这句话,被忽略了。 注意版本:知识产权、网络安全。...
【Spring连载】使用Spring Data访问 MongoDB----Aggregation Framework支持
【Spring连载】使用Spring Data访问 MongoDB----聚合框架支持 一、基础槪念二、投影表达式Projection Expressions三、分面分类法Faceted Classification3.1 桶Buckets3.2 多方面的聚合Multi-faceted Aggregation3.3 按计数排序Sort By Count3.4 投影表达式中的Spring表达式支持…...
【深入理解设计模式】适配器设计模式
适配器设计模式 适配器设计模式是一种结构型设计模式,用于将一个类的接口转换成客户端所期望的另一个接口,从而使得原本由于接口不兼容而不能一起工作的类能够一起工作。适配器模式通常用于以下场景: 现有接口与需求不匹配:当需要…...
ASP.NET-实现图形验证码
ASP.NET 实现图形验证码能够增强网站安全性,防止机器人攻击。通过生成随机验证码并将其绘制成图像,用户在输入验证码时增加了人机交互的难度。本文介绍了如何使用 C# 和 ASP.NET 创建一个简单而有效的图形验证码系统,包括生成随机验证码、绘制…...
解决Maven爆红以及解决 Idea 卡在 Resolving问题
关于 Idea 卡在 Resolving(前提是Maven的setting.xml中配置好了阿里云和仓库) 参考文章https://blog.csdn.net/jiangyu1013/article/details/95042611 解决Maven爆红参考文章https://devpress.csdn.net/beijing/656d993b76f0791b6eca7bb0.html?dp_toke…...
MySQL集群 双主架构(配置命令)
CSDN 成就一亿技术人! 今天刚开学第一天给大家分享一期:MySQL集群双主的配置需求和命令 CSDN 成就一亿技术人! 神秘泣男子主页:作者首页 <———— MySQL专栏 :MySQL数据库专栏<———— MySQL双主是一…...
网络安全之安全事件监测
随着人们对技术和智能互联网设备依赖程度的提高,网络安全的重要性也在不断提升。因此,我们需要不断加强网络安全意识和措施,确保网络环境的安全和稳定。 网络安全的重要性包含以下几点: 1、保护数据安全:数据是组织和…...
【BUG 记录】MyBatis-Plus 处理枚举字段和 JSON 字段
【BUG 记录】MyBatis-Plus 处理枚举字段和JSON字段 一、枚举字段(mysql环境已测、postgresql环境已测)1.1 场景1.2 定义枚举常量1.3 配置枚举处理器1.4 测试 二、JSON字段(mysql环境已测)2.1 导包2.2 使用对象接受2.3 测试 三、JS…...
Web性能优化-详细讲解与实用方法-MDN文档学习笔记
Web性能优化 查看更多学习笔记:GitHub:LoveEmiliaForever MDN中文官网 性能优良的网站能够提高访问者留存和用户满意度,减少客户端和服务器之间传输的数据量可降低各方的成本 不同的业务目标和用户需求需要不同的性能度量,要提高…...
组态王连接施耐德M580PLC
组态王连接施耐德M580 网络架构 网线连接PLC和装组态王软件的PC组态设置帮助 可先查看帮助:菜单栏点击【帮助】->【驱动帮助】,在弹出窗口中PLC系列选择莫迪康PLC的“modbusRtu\ASSCII\TCP”查看组态配置流程: 相关说明: 1、…...
pop链构造 [NISACTF 2022]babyserialize
打开题目 题目源代码如下 <?php include "waf.php"; class NISA{public $fun"show_me_flag";public $txw4ever;public function __wakeup(){if($this->fun"show_me_flag"){hint();}}function __call($from,$val){$this->fun$val[0];…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的
修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...
深度学习水论文:mamba+图像增强
🧀当前视觉领域对高效长序列建模需求激增,对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模,以及动态计算优势,在图像质量提升和细节恢复方面有难以替代的作用。 🧀因此短时间内,就有不…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
