蜣螂优化算法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). Dung beetle optimizer: a new meta-heuristic algorithm for global optimization | The Journal of Supercomputing

二、蜣螂优化算法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];%起点城市的序号(可以修改) 必须由小到大排列 (建议: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->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代码

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

kubectl使用及源码阅读

目录 概述实践样例yaml 中的必须字段 kubectl 代码原理kubectl 命令行设置pprof 抓取火焰图kubectl 中的 cobra 七大分组命令kubectl createcreateCmd中的builder模式createCmd中的visitor访问者模式外层VisitorFunc分析 结束 概述 k8s 版本 v1.24.16 kubectl的职责 1.主要的…

SQL注入之order by脚本盲注

一、环境 还是用上次搭建的sql-labs靶机环境 搭建sql注入环境 二、什么是order by盲注 在有的时候我们进行sql注入时,源码的查询语句后面为order by; 众所周知,order by 后面接的字段或者数字不一样,那么这个数据表的排序就会…

嵌入式学习第二十一天!(线程)

线程: 1. 基本概念: 线程:线程是一个轻量级的进程,位于进程空间内部,一个进程中可以创建多个线程 2. 线程创建: 线程独占栈空间,文本段、数据段和堆区与进程共享 3. 线程调度: 与进程…

探索比特币现货 ETF 对加密货币价格的潜在影响

撰文:Sean,Techub News 文章来源Techub News,搜Tehub News下载查看更多Web3资讯。 自美国比特币现货交易所交易基金(ETF)上市以来,比特币现货 ETF 的相关信息无疑成为了影响比特币价格及加密货币市场走向…

Java四大引用详解:强引用、软引用、弱引用、虚引用

在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在商店购买了某样物品后,如果有用就一直保留它,否则就把它扔到…

Spring Boot项目中不使用@RequestMapping相关注解,如何动态发布自定义URL路径

一、前言 在Spring Boot项目开发过程中,对于接口API发布URL访问路径,一般都是在类上标识RestController或者Controller注解,然后在方法上标识RequestMapping相关注解,比如:PostMapping、GetMapping注解,通…

【UnityShader入门精要学习笔记】第六章(1)Unity中的基础光照

本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更,有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 光照的原理光源吸收和散射着…

LinkedList的使用(Java)

目录 一、介绍二、LinkedList的使用1、LinkedList的构造2、 LinkedList的其他常用方法介绍3、LinkedList的遍历 三、ArrayList和LinkedList的区别 一、介绍 LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点…

开发知识点-.netC#图形用户界面开发之WPF

C#图形用户界面开发 框架简介WinForms(Windows Forms):WPF(Windows Presentation Foundation):UWP(Universal Windows Platform):MAUI(Multi-platform App UI):选择控件参考文章随笔分类 - WPF入门基础教程系列基于C#语言的GUI开发,主要介绍WPF框架

IP对讲终端SV-6002(防水)

SV-6002(防水)是一款IP对讲终端,具有10/100M以太网接口,其接收网络的音频数据,解码后播放,外部DC12~24V电源供电端子,提供单路2W的音频输出。基于TCP/IP网络通信协议和数字音频技术,…

MATLAB练习题:并行计算的parfor循环

​讲解视频:可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇(数学建模清风主讲,适合零基础同学观看)_哔哩哔哩_bilibili 在MATLAB中,parfor(Parallel for&…

Centos配置SSH并禁止密码登录

CentOS8 配置SSH使用密钥登录并禁止密码登录 一、概念 SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。 SSH提供两个级别的认证: 基于口令的认证 基于密钥的认证 基本使…

【大厂AI课学习笔记NO.55】2.3深度学习开发任务实例(8)模型训练

作者简介:giszz,腾讯云人工智能从业者TCA认证,信息系统项目管理师。 博客地址:https://giszz.blog.csdn.net 声明:本学习笔记来自腾讯云人工智能课程,叠加作者查阅的背景资料、延伸阅读信息,及学…

LockBit官宣复活,表示将更多针对政府部门

仅仅在11国联合执法行动宣布成功查封LockBit基础设施服务器不到一周后,2月24日,LockBit 宣布将恢复勒索软件业务,并威胁会将更多的攻击集中在政府部门。 在一个新上线的数据泄露网站上,LockBit仍然使用其3.0 版本的名称&#xff…

【iOS ARKit】ARWorldMap

ARWorldMap 用于存储 ARSession 检测扫描到的空间信息数据,包括地标(Landmark)、特征点(Feature Point)、平面(Plane)等,以及使用者的操作信息,如使用者添加的 ARAnchor …

Wget: 如何批量下载风云卫星和NASA数据?

01 批量下载风云数据 首先进入风云卫星服务官网: https://satellite.nsmc.org.cn/portalsite/default.aspx 假定我们下载火点数据,如下先找到下载界面: 接着依据数据所对应卫星\传感器\产品名称进行检索: 选定需要的数据加入到购物车中: 接着提交订单等待所有数据回调完成就…

TensorFlow2.x 精选笔记(2)自动求导与概率

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

python爬虫实战:获取电子邮件和联系人信息

引言 在数字时代,电子邮件和联系人信息成为了许多企业和个人重要的资源,在本文中,我们将探讨如何使用Python爬虫从网页中提取电子邮件和联系人信息,并附上示例代码。 目录 引言 二、准备工作 你可以使用以下命令来安装这些库&a…

记录一下 Unity团结引擎开发OpenHarmony Next 应用 环境搭建流程

原视频链接 记录环境搭建过程~,本文是图文版本 一、打开团结引擎官网下载对应的 团结引擎版本 官网地址:https://unity.cn/tuanjie/releases 根据各自的开发环境下载对应的软件版本,我是 windwos 环境,我就下载 windows 环境 …

【学习笔记】Vue3源码解析:第二部分-实现响应式(2)

课程地址:【已完结】全网最详细Vue3源码解析!(一行行带你手写Vue3源码) 第二部分-实现响应式(2):(对应课程的第6-9节) 第6节:《实现proxy代理以及解决重复代…