【智能算法】蜜獾算法(HBA)原理及实现

news/2024/4/21 0:53:10/

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2021年,FA Hashim等人受到自然界中蜜獾狩猎行为启发,提出了蜜獾算法((Honey Badger Algorithm,HBA)。

2.算法原理

2.1算法思想

蜜獾以其独特的狩猎方式而闻名,它利用嗅觉定位猎物,通过挖掘来捕获目标。虽然蜜獾喜欢蜂蜜,但并不擅长找到蜂巢。与此不同的是,蜂蜜向导鸟擅长定位蜂巢,却无法获得蜂蜜。因此,蜜獾会依靠蜂蜜向导鸟的帮助找到蜂巢,并与其共享收获。HBA主要分为挖掘阶段和采蜜阶段
在这里插入图片描述

2.2算法过程

定义强度

蜜獾的嗅觉强度不仅与猎物的集中强度有关,还与猎物和蜜獾之间的距离有关。Ii是猎物的气味强度,气味强度越高,蜜獾运动越快:
I i = r 2 × S 4 π d i 2 S = ( x i − x i + 1 ) 2 d i = x p rey − x i (1) \begin{aligned}I_i&=r_2\times\frac{S}{4\pi d_i^2}\\S&=(x_i-x_{i+1})^2\\d_i&=x_{p\text{rey}} - x_i\end{aligned}\tag{1} IiSdi=r2×4πdi2S=(xixi+1)2=xpreyxi(1)

更新密度因子:

密度因子w控制时变随机化,以确保勘探到开发的平稳过渡。当更新随着迭代次数减少时,密度因子w也会减少随机化:
w = C exp ⁡ ( − t t m a x ) (2) w=\text{C}\exp(\frac{-t}{t_{\mathrm{max}}})\tag{2} w=Cexp(tmaxt)(2)

挖掘阶段

在挖掘阶段,蜜獾运动范围类似于心形:
X n e n , = x p r e y + F × β × I × x p r e y + F × r 3 × w × d i × ∣ cos ⁡ ( 2 π r 4 ) × [ l − cos ⁡ ( 2 π r 5 ) ] ∣ (3) \begin{aligned} X_{nen}, =x_{prey}+F\times\beta\times I\times x_{prey}+F\times r_{3}\times w\times d_{i}\times |\cos(2\pi r_{4})\times[\text{l}-\cos(2\pi r_{5})]| \end{aligned}\tag{3} Xnen,=xprey+F×β×I×xprey+F×r3×w×di×cos(2πr4)×[lcos(2πr5)](3)
在这里插入图片描述
其中 x p r e y x_{prey} xprey是猎物的全局最优位置, β \beta β是蜜獾获取食物的能力。F是改变搜索方向参数:
F = { 1 i f − 1 e l s e , r 6 ≤ 0.5 (4) F=\begin{cases}1&if\\-1&else,\end{cases}r_6\leq0.5\tag{4} F={11ifelse,r60.5(4)

采蜜阶段

蜜獾跟随导蜜鸟找到蜂巢:
x n e w = x p v e y + F × r 7 × w × d i (5) x_{new}=x_{pvey}+F\times r_{7}\times w\times d_{i}\tag{5} xnew=xpvey+F×r7×w×di(5)

伪代码
在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Hashim F A, Houssein E H, Hussain K, et al. Honey Badger Algorithm: New metaheuristic algorithm for solving optimization problems[J]. Mathematics and Computers in Simulation, 2022, 192: 84-110.


http://www.ppmy.cn/news/1405587.html

相关文章

关于网络丢包的一种可能性分析

最近我在工作中经常遇到有些客户的网络传输性能不理想。 通过wireshark抓包后我发现经常会有稍大的包timeout需要重传,这个现象导致了网络传输效率的大幅下降,因此我对网络丢包方面进行了进一步的研究。 根据我的经验总结,网络丢包有两种情况…

JVM 记录

记录 工具 https://gceasy.io 资料 尚硅谷宋红康JVM全套教程(详解java虚拟机) https://www.bilibili.com/video/BV1PJ411n7xZ?p361 全套课程分为《内存与垃圾回收篇》《字节码与类的加载篇》《性能监控与调优篇》三个篇章。 上篇《内存与垃圾回收篇…

【C+ +】第一个C+ + 项目的创建及namespace命名空间解释C++中的输入输出

目录 1.创建第一个c项目 1.1项目创建 1.2 .cpp源文件建立 1.3 第一个c程序hello world对比c语言hello world 2.命名空间 2.1 C关键字 2.2 命名空间---解决c语言中的命名冲突 2.2.1 namespace命名空间用法 2.2.2 :: 预作用限定符 2.2.3 命名空间的嵌套…

搭建跨境电商电商独立站如何接入1688平台API接口|通过1688API接口采集商品通过链接搜索商品下单

接口设计|接口接入 对于mall项目中商品模块的接口设计,大家可以参考项目的Swagger接口文档,以Pms开头的接口就是商品模块对应的接口。 参数说明 通用参数说明 参数不要乱传,否则不管成功失败都会扣费url说明……d.cn/平台/API类型/ 平台&…

Lumos学习王佩丰Excel第一讲:认识Excel

最近发现自己在操作excel的一些特殊功能时会有些不顺手,所以索性找了一个比较全的教程(王佩丰excel24讲)拿来学习,刚好形成文档笔记,分享给有需要但没有时间看视频的朋友们。整体笔记以王老师授课的知识点去记录&#…

基本环境搭建指南

前端相关 Nodejs 官网下载:https://nodejs.cn/ 网盘下载:https://yun.mllt.cc/s/Rvtm 数据库相关 MySQL https://dev.mysql.com/downloads/mysql/5.7.html navcat https://navicat.com.cn/products redis 官网下载:https://redis.io/docs/ins…

自适应动态规划硕士博士论文学习

基于自适应动态规划的非线性系统最优控制-南邮硕毕 主要内容: 外部扰动下,基于事件触发自适应动态规划。设计触发阈值,由评价网络近似性能指标函数,两个动作网络分别逼近控制输入和外部扰动。外部扰动和状态约束下,基…

Neo4j基础知识

图数据库简介 图数据库是基于数学里图论的思想和算法而实现的高效处理复杂关系网络的新型数据库系统。它善于高效处理大量的、复杂的、互连的、多变的数据。其计算效率远远高于传统的关系型数据库。 在图形数据库当中,每个节点代表一个对象,节点之间的…

Windows下Docker安装Kafka3+集群

编写 docker-compose.yaml 主要参照:https://www.cnblogs.com/wangguishe/p/17563274.html version: "3"services:kafka1:image: bitnami/kafka:3.4.1container_name: kafka1environment:- KAFKA_HEAP_OPTS-Xmx1024m -Xms1024m- KAFKA_ENABLE_KRAFTyes- K…

MySQL的基本操作(超详细)

👨‍💻作者简介:👨🏻‍🎓告别,今天 📔高质量专栏 :☕java趣味之旅 📔(零基础)专栏:MSQL数据库 欢迎🙏点赞&…

路径优化算法 | 基于A_Star算法实现复杂地形下无人机威胁概率地图最短路径避障三维航迹规划

概述 A* (A-Star) 算法是一种广泛使用的路径搜索和图形遍历算法,用于在给定起点和终点的情况下找到最短路径。对于无人机在复杂地形下的三维航迹规划,A* 算法可以与其他技术结合,例如威胁概率地图(Threat Probability Map),以实现避障和最短路径规划。 以下是一个基于 …

AI音乐GPT时刻来临:Suno 快速入门手册!

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

基于springboot实现校园周边美食探索及分享平台系统项目【项目源码+论文说明】

基于springboot实现园周边美食探索及分享平台系统演示 摘要 美食一直是与人们日常生活息息相关的产业。传统的电话订餐或者到店消费已经不能适应市场发展的需求。随着网络的迅速崛起,互联网日益成为提供信息的最佳俱渠道和逐步走向传统的流通领域,传统的…

成员变量没有多态性

若子类重写了父类方法,就意味着子类里定义的方法彻底覆盖了父类里的同名方法,系统将不可能把父类里的方法转移到子类中。 对于实例变量则不存在这样的现象,即使子类里定义了与父类完全相同的实例变量,这个实例变量依然不可能覆盖…

基于8086贪吃蛇游戏系统方恨设计

**单片机设计介绍,基于8086贪吃蛇游戏系统方恨设计 文章目录 一 概要二、功能设计三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于8086的贪吃蛇游戏系统设计是一个结合了微处理器控制、游戏逻辑以及图形显示技术的综合性项目。该系统旨在通过8086微处理器…

实现顺序表的增删查改

现在让我们探索数据结构这个美妙的世界吧! 概念介绍 线性表是具有相同特性的数据元素的有限序列。线性表是一种在实际运用中广泛运用的线性结构,如线性表,栈,队列,字符串等。 顺序表的本质是数组,实现了…

Docker 笔记

1.Ubuntu安装Docker 安装Docker看这篇文章 http://t.csdnimg.cn/IsSsJ 2.在docker中运行python代码 2.1搭建python环境 docker部署python环境看这篇文章 http://t.csdnimg.cn/TYz0G 2.2在python shell中运行python代码 2.2.1查看镜像 2.2.1启动python,厦门这个…

java实现小程序授权登录以及获取手机号

1、引入依赖 <dependency><groupId>com.github.binarywang</groupId><artifactId>weixin-java-miniapp</artifactId><version>4.1.0</version></dependency>2、引入封装好的工具类 import cn.binarywang.wx.miniapp.api.WxMaS…

28.ReentrantLock-多条件变量

synchronized中也有条件变量&#xff0c;当条件不满足时进入WaitSet等待。 ReentrantLock的条件变量比Synchronized强大之处在于它支持多个条件变量。 await和signal方法 多条件变量的使用流程 1.await需要获得锁。 2.await执行后会释放锁&#xff0c;进入ConditionObject…

Windows Edge浏览器兼容性问题诊断与修复策略详解

随着Microsoft Edge浏览器的持续迭代与更新&#xff0c;其性能与兼容性已得到了显著提升。然而&#xff0c;在面对互联网上纷繁复杂的网页内容时&#xff0c;仍有可能遇到兼容性问题。本文旨在探讨Edge浏览器在处理网页兼容性问题时的常见场景、原因分析及相应的解决方案&#…