正余弦算法作者又提出新算法!徒步优化算法(HOA)-2024年一区顶刊新算法-公式原理详解与性能测评 Matlab代码免费获取

        声明:文章是从本人公众号中复制而来,因此,想最新最快了解各类智能优化算法及其改进的朋友,可关注我的公众号:强盛机器学习,不定期会有很多免费代码分享~

目录

原理简介

算法伪代码

性能测评

参考文献

完整代码


徒步优化算法(Hiking Optimization Algorithm ,HOA)是一种新型的元启发式算法(智能优化算法),灵感来源于人类的徒步旅行,算法简单高效,值得一试!该成果由Sunday O于2024年7月发表在SCI一区顶刊《Knowledge-Based Systems》上!

注意!该算法的作者中包括了Seyedali Mirjalili等优化算法领域大名鼎鼎的学者。熟悉该作者的小伙伴都知道,非常经典的灰狼优化算法WOA、正余弦优化算法SCA、海洋捕食者算法MPA等性能优异的算法都包含他的名字,说明这个算法的性能是有保证的!

由于发表时间较短,谷歌学术上仅被引用1次!你先用,你就是创新!

原理简介

灵感:徒步旅行者在攀登山峰、丘陵或岩石的过程中,通常会面对陡峭的地形和小径,这不仅减慢了他们的步伐,还延长了整个徒步旅行的时间。通过了解地形的地理特征,徒步旅行者能够大致估算到达山顶所需的时间。这种过程类似于在优化问题中寻找局部最优点或全局最优点的过程。

HOA的数学基础是基于著名的Tobler徒步函数,其公式为:

其中wi,t为迭代或时间𝑡时的徒步者速度(即km∕h),si,t为步道或地形的坡度,公式为:

其中,dh和dx分别表示徒步者所走过的海拔和距离的差异。另外,si,t为轨迹或地形的倾斜角,在[0,50°]范围内。

徒步者i的当前速度为:

公式中,yi,t是在[0,1]范围内均匀分布的数;Wi,t和Wi,t−1分别表示徒步旅行者i的当前速度和初始速度。βbest是领先徒步旅行者的位置,αi,t是扫描因子(SF),范围在[1,3]之间。

算法伪代码

为了使大家更好地理解,这边给出作者算法的伪代码,非常清晰!

如果实在看不懂,不用担心,可以看下源代码,再结合上文公式理解就一目了然了!

性能测评

原文作者通过29个著名的测试函数(包括单峰、多峰、固定维多峰和复合函数)、3个工程设计问题(包括工字梁、拉/压缩弹簧和齿轮系问题)和2个N-P难问题(即旅行推销员和背包问题)的基准测试来证明。此外,将HOA的结果与其他14种元启发式算法进行了比较,包括基于教学的优化算法(TLBO)、遗传算法(GA)、差分进化算法(DE)、粒子群优化算法、灰狼优化器(GWO)以及新引入的算法,如Komodo Mlipir算法(KMA)、二次插值优化算法(QIO)等算法进行比较,证明了HOA在许多情况下,优于前面提到的众所周知的元启发式。

这边为了方便大家对比与理解,采用23个标准测试函数,即CEC2005,设置种群数量为30,迭代次数为1000,并与经典的粒子群算法进行对比!这边展示其中5个测试函数的图,其余十几个测试函数大家可以自行切换尝试!

可以看到,这个算法在绝大多数函数中超越了粒子群算法!大家应用到各类预测、优化问题中也是一个不错的选择~

参考文献

[1]Oladejo S O, Ekwe S O, Mirjalili S. The Hiking Optimization Algorithm: A novel human-based metaheuristic approach[J]. Knowledge-Based Systems, 2024, 296: 111880.

完整代码

如果需要免费获得图中的完整测试代码,只需后台回复关键字,不区分大小写:

HOA

也可后台回复个人需求(比如HOA-LSTM)定制以下HOA算法优化模型(看到秒回):

1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、SAE、LSTM、BiLSTM、GRU、BiGRU、PNN、CNN、BP、XGBoost、TCN、BiTCN、ESN等等均可~

2.组合预测类:CNN/TCN/BiTCN/DBN/Adaboost结合SVM、RVM、ELM、LSTM、BiLSTM、GRU、BiGRU、Attention机制类等均可(可任意搭配非常新颖)~

3.分解类:EMD、EEMD、VMD、REMD、FEEMD、TVFEMD、CEEMDAN、ICEEMDAN、SVMD、FMD等分解模型均可~

4.路径规划类:机器人路径规划、无人机三维路径规划、冷链物流路径优化、VRPTW路径优化等等~

5.优化类:光伏电池参数辨识优化、储能容量配置优化、微电网优化、PID参数整定优化、无线传感器覆盖优化、故障诊断等等均可~~

6.原创改进优化算法(适合需要创新的同学):原创改进2024年的徒步优化算法HOA以及蛇鹫SBOA、蜣螂DBO等任意优化算法均可,保证测试函数效果!

 更多免费代码链接:更多代码链接

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

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

相关文章

基于vue-onlyoffice实现企业office web在线应用

目录 1.背景... 1 2.Onlyoffice介绍... 2 3.Onlyoffice核心api介绍... 2 3.1 ApiDocument 2 3.2 ApiParagraph. 2 3.3 ApiTable. 2 3.4. ApiRange. 3 4.Onlyoffice插件介绍... 3 4.1 插件定义... 3 4.2 插件对象... 3 4.3 插件结构... 4 4.4 插件内嵌使用方式... 4…

搜索引擎项目(四)

SearchEngine 王宇璇/submit - 码云 - 开源中国 (gitee.com) 基于Servlet完成前后端交互 WebServlet("/searcher") public class DocSearcherServlet extends HttpServlet {private static DocSearcher docSearcher new DocSearcher();private ObjectMapper obje…

Luma AI发布文生视频大模型Dream Machine——可免费在线试玩

Sora模型的文生视频能力,想必一定惊艳过你。虽然Sora模型很惊艳,但是并没有开放给普通大众。Luma AI发布文生视频大模型Dream Machine模型,可以免费供大家使用,任何人只要到Luma AI的官方网站,就可体验Luma AI的文生视…

java使用JNA调用C/C++动态库,char*无法转换问题

java使用JNA调用C/C动态库,char*无法转换问题 例如: C如下写法 char* test01(const char* &name, const int &age);对应: java中序如下写法 //导入的包 import com.sun.jna.Pointer;//java中需要对应的写法 Pointer test01(String…

六个开源的PDF转Markdown项目

✨ 1: gptpdf gptpdf 是一个利用VLLM解析PDF为Markdown的工具,几乎完美支持数学公式、表格等。 GPTPDF 是一个使用视觉大模型(如 GPT-4o)将 PDF 文件解析成 Markdown 文件的工具。它主要用于高效地解析 PDF 文档中的排版、数学公式、表格、…

React Native新架构系列-新架构介绍

从今天起,会陆续更新React Native新架构相关的系列内容,本系列基于React Native 0.73.4版本,从一名Android开发者的视角进行介绍。本系列介绍的内容默认读者对React Native有一定的了解,对基础的开发内容不再赘述。 前言 首先介绍…

【优选算法】——leetcode——438.找到字符串中所有字母异位词

目录 1.题目 2.题目理解 3.算法原理 1.如何快速判断两个字符串是否是异位词 2.解决问题 暴力求解——>滑动窗口哈希表 滑动窗口 利用滑动窗口哈希表解决问题 优化:更新结果的判断条件 4.编程代码 C代码 1.频率统计 2. 双指针 C语言代码 1.字符频率…

MATLAB C++语言编写MEX函数示例:求解本源根

作为一种提升运行效率的手段,MATLAB的MEX函数最初支持C语言编写,从2018a才开始支持基于C11的“现代”C编写MEX,并实现更多现代特性(尤其是程序安全性方面)。目前,MATLAB官方已不推荐继续用传统C语言编写新的…

【qt小系统】传感器云平台3D散点图(附源码)

摘要:本文主要使用QT5,实现了一个传感器云平台的小示例,模拟的是各类传感器的添加,例如:热成像传感器、温度传感器、超声波传感器,模拟添加完成后,会自动将此传感器的三维坐标增加到3D散点图上&…

Vmware安装openstack

安装虚拟机 创建完成后,点击开启虚拟机 稍等执行成功后 上传压缩包到指定目录。将yoga_patch.tar.gz包上传至/root目录下,将stack3_without_data.tar.gz包使用WinSCP上传至/opt目录下 vim run_yoga.sh #/bin/bash cd /root sudo apt-get update tar -xzv…

添加好友

目录 添加好友的思路: 1.假设A添加B a.如果B在线 b.如果B不在线 添加好友的思路: 1.假设A添加B A给服务端发送要添加B的消息,服务端接受后,先把A添加B的信息存入数据库,再去个人信息表查看B是否在线 a.如果B在线…

「问题解决」jdk高版本导致请求返回对象转换报错

报错:Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not “opens java.lang” to unn…

UnityShaderUI编辑器扩展

前言: 当我们在制作通用Shader的时候,避免不了许多参数混杂在一起,尽管在材质面板已经使用过Header标签来区分,但是较长的Shader参数就会导致冗余,功能块不够简约明了,如图: 对于Shader制作者来…

FPGA开发——蜂鸣器的控制

一、概述 在项目开发的过程当中,我会通常会需要一个东西就行报警显示,有使用语音报警,信息报警等注入此类的方式,但最为简单使用的还是蜂鸣器的使用,蜂鸣器控制简单,成本低,是最为常用的模块之…

测试面试宝典(三十七)—— 接口测试中的加密参数如何处理?

1)先了解接口使用的加密方式(md5、rsa...) 2)检查接口测试工具是否支持这种加密方式,如果支持的话,直接使用对应功能就行了(比如Jmeter支持md5);如果加密方式是公司内部特有的算法,可以在接口测试工具中调…

柯尔莫哥洛夫-阿诺德网络

柯尔莫哥洛夫-阿诺德网络(Kolmogorov-Arnold Network,简称KAN)是一个理论框架,主要用于描述高维函数如何通过一组低维函数的组合来近似表示。这个理论的基础源自安德烈柯尔莫哥洛夫和弗拉基米尔阿诺德在函数逼近理论中的工作&…

NSSRound#4 Team

[NSSRound#4 SWPU]1zweb 考察&#xff1a;phar的反序列化 1.打开环境&#xff0c;审计代码 1.非预期解 直接用file伪协议读取flag,或直接读取flag file:///flag /flag 2.正常解法 用读取文件读取index.php,upload.php的源码 index.php: <?php class LoveNss{publi…

3. Docker的数据管理与持久化

在Docker容器化应用中&#xff0c;数据的持久化和管理是一个关键问题。容器的生命周期短暂&#xff0c;容器的停止和删除会导致数据丢失。因此&#xff0c;了解Docker的数据卷&#xff08;Volumes&#xff09;和挂载&#xff08;Mounts&#xff09;的管理方式&#xff0c;对保障…

环境搭建-Docker搭建ClickHouse

Docker搭建ClickHouse 一、前言二、ClickHouse安装2.1 拉取镜像运行ClickHouse服务 三、测试安装3.1 进入clickhouse容器3.2 命令补充说明 四、测试连接五、设置CK的用户名密码 一、前言 本文使用的Docker使用Windows搭建&#xff0c;Linux版本的搭建方式一样。 Windows系统搭…

Data Race: 并发编程中的数据竞争问题

Data Race: 并发编程中的数据竞争问题 &#x1f50d; &#x1f680; Data Race: 并发编程中的数据竞争问题 &#x1f50d;摘要引言正文内容一、什么是数据竞争&#xff1f; &#x1f914;1.1 数据竞争的定义1.2 数据竞争的特征 二、数据竞争的原因和影响 &#x1f6a8;2.1 原因…