单目标应用:人工兔优化算法(Artificial Rabbits Optimization ,ARO)求解旅行商问题TSP(提供MATLAB代码)

news2025/3/3 4:39:29

一、算法简介

人工兔优化算法(Artificial Rabbits Optimization ,ARO)由Liying Wang等人于2022年提出,该算法模拟了兔子的生存策略,包括绕道觅食和随机躲藏,并通过能量收缩在两种策略之间转换。绕道觅食策略迫使兔子吃其他兔子巢附近的草,这可以防止它的巢穴被捕食者发现。随机隐藏策略使兔子能够从自己的洞穴中随机选择一个洞穴进行隐藏,这可以减少被敌人捕获的可能性。此外,兔子的能量收缩将导致从绕道觅食策略过渡到随机隐藏策略。

ARO算法描述:

在这里插入图片描述

ARO算法流程:

在这里插入图片描述

参考文献: Liying Wang, Qingjiao Cao, Zhenxing Zhang, et al. Artificial rabbits optimization: A new bio-inspired meta-heuristic algorithm for solving engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2022, 114: 105082.

二、旅行商问题

旅行商问题(Traveling salesman problem, TSP)是一个经典的组合优化问题,它可以描述为一个商品推销员去若干城市推销商品,要求遍历所有城市后回到出发地,目的是选择一个最短的路线。当城市数目较少时,可以使用穷举法求解。而随着城市数增多,求解空间比较复杂,无法使用穷举法求解,因此需要使用优化算法来解决TSP问题。
一般地,TSP问题可描述为:一个旅行商需要拜访n个城市,城市之间的距离是已知的,若旅行商对每个城市必须拜访且只拜访一次,求旅行商从某个城市出发并最终回到起点的一条最短路径。
记n个城市序号构成集合为N={1,2,…,n},旅行商拜访完n个城市所经过的回路记为:
P = { p 1 → p 2 → ⋯ → p n → p 1 } P=\left\{p_{1} \rightarrow p_{2} \rightarrow \cdots \rightarrow p_{n} \rightarrow p_{1}\right\} P={p1p2pnp1}
其中, p i ∈ N , p i ≠ p j ( i ≠ j ) , i = 1 , 2 , ⋯   , n p_{i} \in N, p_{i} \neq p_{j}(i \neq j), i=1,2, \cdots, n piN,pi=pj(i=j),i=1,2,,n
若城市之间的距离矩阵为 D = ∣ d i j ∣ n × n D=\left|d_{i j}\right|_{n \times n} D=dijn×n,则TSP问题的数学模型可表示为:
min ⁡ f ( P ) = ∑ i = 1 n − 1 d p i , p i + 1 + d p n , p 1 \min f(P)=\sum_{i=1}^{n-1} d_{p_{i}, p_{i+1}}+d_{p_{n}, p_{1}} minf(P)=i=1n1dpi,pi+1+dpn,p1
其中, f ( P ) f(P) f(P)表示旅行商行走路线的总路径长度。

三、求解结果

本文选取国际通用的TSP实例库TSPLIB中的测试集bayg29,bayg29中城市分布如下图所示:
在这里插入图片描述

本文采用人工兔优化算法求解bayg29:

close all
clear
clc
%数据集参考文献  REINELT G.TSPLIB-a traveling salesman problem[J].ORSA Journal on Computing,1991,3(4):267-384.
% 人工兔优化算法Artificial Rabbits Optimization (ARO)参考文献: Liying Wang, Qingjiao Cao, Zhenxing Zhang, et al. Artificial rabbits optimization: A new bio-inspired meta-heuristic algorithm for solving engineering optimization problems[J]. Engineering Applications of Artificial Intelligence, 2022, 114: 105082.

Dim=size(data,1)-1;%维度
lb=-100;%下界
ub=100;%上界
fobj=@Fun;%计算总距离
SearchAgents_no=100; % 种群大小(可以修改)
Max_iteration=2000; % 最大迭代次数(可以修改)
[bestX,fMin,curve]=ARO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj);  %Artificial Rabbits Optimization (ARO)人工兔优化算法

代码链接:https://pan.baidu.com/s/11I6eMyMU3k-UHfUu1O_mIA 
提取码:1234

其中一次结果:

人工兔优化算法的收敛曲线:
在这里插入图片描述

人工兔优化算法求得的路径:
在这里插入图片描述

ARO求解的最短总路径:9074.148

四、参考代码

文件夹内包含所有代码及使用说明,点击main.m即可运行。

在这里插入图片描述

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

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

相关文章

显示订单列表【项目 商城】

显示订单列表【项目 商城】前言显示订单列表1 持久层1.1 规划SQL语句1.2 实现接口与抽象方法1.3 配置SQL映射测试2 业务层2.1 规划异常2.2 编写接口与抽象方法2.3 实现抽象方法测试3 控制器3.1 处理异常3.2 设计请求3.3 处理请求测试4 前端页面测试前言 写作于 2022-10-14 17:…

【MySQL】安装与配置(内附安装包+未将对象引用设置到对象的实例的错误解决方法)

目录 一、数据库分类 (1)关系型数据库(RDBMS) (2)非关系型数据库 二、MySQL服务器安装 三、安装包文件分享 一、数据库分类 数据库大体可以分为关系型数据库和非关系型数据库 (1&#xff0…

U盘复制错误0x80071ac3如何解决?

U盘是一款移动存储设备,但是在使用中也会遇到一些错误问题,比如文件复制、粘贴或移动时提示0x80071ac3错误代码要如何解决呢?下面就和小编一起来看看解决办法吧。 方法一: 1、有些用户是使用U盘时出现的问题,先按下快捷…

记宝塔使用webhook自动化同步gitee代码

1、服务器ssh密钥 1.1、输入命令查看服务器是否存在密钥: cd ~/.sshls id_xxx.pub的是公钥、id_xxx的是私钥 如果没有,就要先生成一下,生成ssh密钥参考https://gitee.com/help/articles/4181#article-header0 1.2、复制ssh公钥到码云公钥…

【Hack The Box】linux练习-- Blocky

HTB 学习笔记 【Hack The Box】linux练习-- Blocky 🔥系列专栏:Hack The Box 🎉欢迎关注🔎点赞👍收藏⭐️留言📝 📆首发时间:🌴2022年11月17日🌴 &#x1f3…

UE4 回合游戏项目 22- 添加第二个玩家

在上一节(UE4 回合游戏项目 21- 添加多种类型的敌人)基础上新添加一个玩家角色 效果: 步骤: 1.打开进阶游戏资源,解压“回合迁移_第七节(只是新人物包)” 2.解压后双击打开工程 3.选中“ziyuan…

如何通过快解析实现外网远程访问JupyterNotebook

什么是Jupyter Notebook?官网介绍:Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。简单地说,Jupyter Notebook是以网页的形式打开,可以在网页页面…

Spring Boot——yml和properties详解

文章目录1. 配置文件作用2. 配置文件的格式和分类2.1 规则(tips)2.2 为配置文件安装提示插件3. properties 配置文件说明3.1 properties 基本语法3.2 关于 properties 中文乱码的问题处理:4. 读取 properties 配置文件4.1 读取单个配置文件5.…

Spring @DateTimeFormat日期格式化时注解浅析分享

文章目录总结写前面为什么用怎么用场景一场景二场景三场景四场景五方式一方式二总结写前面 关于它 DateTimeFormat: 可以接收解析前端传入字符时间数据;不能格式化接收的字符时间类型数据,需要的转换格式得配置;入参格式必须与后…

罗丹明PEG羟基,RB-PEG-OH,Rhodamine-PEG-OH

产品名称:罗丹明PEG羟基 英文名称:RB-PEG-OH,Rhodamine-PEG-OH,Rhodamine PEG hydroxyl,RB-PEG-OH CAS:1030-000-8 结构式: 罗丹明吸收波长570 nm,发射波长约595 nm。罗丹明B可追踪粉红色和红…

Git——Git介绍及安装步骤

目录 一、Git概述:分布式版本控制工具 1.1 版本控制介绍 1.1.3为什么需要版本控制? 1.2 版本控制工具 1.2.1 集中式版本控制工具 1.2.2 分布式版本控制工具 1.3 工作机制和代码托管中心(远程库) 二、Git安装 2.1 官网下载安装…

用物理光学建模演示点阵投影仪的工作原理

摘要 点阵投影仪是启用Apple Face ID的关键组件。 该系统通常由发光单元阵列,透镜和分束光栅组成。 透镜系统与光栅一起投射,并复制阵列光源图案。 在此示例中,我们构建了这种点阵投影仪系统并演示了其工作原理。为进行系统分析,我…

[Java]枚举类

文章目录🍊 枚举类理解🍊 自定义枚举类🍊 使用 enum 关键字定义枚举类🍊 Enum类的常用方法🥭 toString()🥭 Enum.valueOf(Class enumClass, String name)🥭 valueOf(String name)🥭 …

艾美捷Bio-Helix BluPAD双LED蓝白光照胶台丨舒适、方便

艾美捷Bio-Helix BluPAD双LED蓝白光照胶台(切胶仪,透射仪),适用于各种生命科学研究领域,用于观察和分析核酸和蛋白质。鉴于其对凝胶切割、数据成像和归档等观察后应用的最优化和人性化设计,希望为研究人员提…

搭建包含swift组件的openstack云平台详解

由于今天做实验。。。 安装完成虚拟机仅主机模式和nat模式双网卡后,开启网卡进入界面直接ping百度,ping通直接执行下面操作 开启虚拟机,切换到root模式关闭防火墙 查看防火墙是否开启,如果开启请关闭(出现Active: ac…

广东的介绍

附录: 1、画图工具:https://www.ldmap.net/map.html?id97f83161-ce02-4e11-989b-fb6645469320 广东之地 因字幅有限,故先列举最端。 巧合点 分隔各地,却有相同的点,是否有相同的影响因素。广东最南,最…

免费搜题接口

免费搜题接口 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击跳转&a…

[附源码]计算机毕业设计JAVA基于web鲜花销售系统论文2022

[附源码]计算机毕业设计JAVA基于web鲜花销售系统论文2022 项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: …

企业数据集成难?Qlik 与微软助你事半功倍

微软年度峰会 Ignite 2022 落下帷幕,正式推出微软智能数据平台,统一微软旗下数据库、数据分析和管理服务,一个基于微软云合规、安全等优势、云端数据平台 开发服务为核心的生态系统初见雏形。 Qlik 作为微软金牌合作伙伴,其数据…

思考思维(2):《极简思考》结构化思维

前言 之前在架构师成长之路(5)--架构师具备的思维_hguisu的博客-CSDN博客_架构思维能力已经总结过了,这里再次全面总结。 有一种人的口头禅是“我只说三点”,这种人通常很厉害。 有人三句话说明白一件事,有人说半天别人也没听懂在说啥。这是…