当前位置: 首页 > news >正文

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

在这里插入图片描述

目录

    • 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.

相关文章:

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

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2021年,FA Hashim等人受到自然界中蜜獾狩猎行为启发,提出了蜜獾算法((Honey Badger Algorithm,HBA)。 2.算法原理 2.1算法思想 蜜獾以其…...

9、鸿蒙学习-开发及引用静态共享包(API 9)

HAR(Harmony Archive)是静态共享包,可以包含代码、C库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。…...

[Pytorch]:PyTorch中张量乘法大全

在 PyTorch 中,有多种方法可以执行张量之间的乘法。这里列出了一些常见的乘法操作: 总结: 逐元素乘法:*ortorch.mul()矩阵乘法:ortorch.mm()ortorch.matmul()点积:torch.Tensor.dot()批量矩阵乘法&#xff…...

【软考】防火墙技术

目录 1. 概念2. 包过滤防火墙3. 应用代理网关防火墙4. 状态检测技术防火墙 1. 概念 1.防火墙(Firewall)是建立在内外网络边界上的过滤封锁机制,它认为内部网络是安全和可信赖的,而外部网络是不安全和不可信赖的。2.防火墙的作用是防止不希望的、未经授权…...

OpenHarmony实战:Makefile方式组织编译的库移植

以yxml库为例,其移植过程如下文所示。 源码获取 从仓库获取yxml源码,其目录结构如下表: 表1 源码目录结构 名称描述yxml/bench/benchmark相关代码yxml/test/测试输入输出文件,及测试脚本yxml/Makefile编译组织文件yxml/.gitat…...

嵌入式C语言--GPT通用定时器

嵌入式C语言–GPT通用定时器 嵌入式C语言--GPT通用定时器 嵌入式C语言--GPT通用定时器一. GPT基本概念二. GPT的作用三. GPT通道的四个状态四. Continuous/One-Shot模式3.1)Continuous模式3.2)One-Shot模式 一. GPT基本概念 GPT即General Purpose Timer…...

『Apisix系列』破局传统架构:探索新一代微服务体系下的API管理新范式与最佳实践

一、『Apisix安装部署』 🚀 1.1 手把手教你从零部署APISIX高性能API网关 二、『Apisix入门篇』 🚀 2.1 从零到一掌握Apache APISIX:架构解析与实战指南 三、『Apisix进阶篇』 🚀 3.1 动态负载均衡:APISIX的实战演练…...

如何在极狐GitLab 自定义 Pages 域名、SSL/TLS 证书

本文作者:徐晓伟 GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 本文主要讲述了在极狐GitLab 用户…...

React Native 应用打包

引言 在将React Native应用上架至App Store时,除了通常的上架流程外,还需考虑一些额外的优化策略。本文将介绍如何通过配置App Transport Security、Release Scheme和启动屏优化技巧来提升React Native应用的上架质量和用户体验。 配置 App Transport…...

单链表就地逆置

算法思想&#xff1a;构建一个带头结点的单链表L&#xff0c;然后访问链表中的每一个数据结点&#xff0c;将访问到的数据结点依此插入到L的头节点之后。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef s…...

MTU/TCPMSS/VLAN/ACCESS/TRUNK/HYBRID

MTU RFC标准定义以太网的默认MTU值为1500 最小64字节是为了保证最极端的冲突能被检测到&#xff0c;64字节是能被检测到的最小值&#xff1b;最大不超过1518字节是为了防止过长的帧传输时间过长而占用共享链路太长时间导致其他业务阻塞。所以规定以太网帧大小为64~1518字节&am…...

Spring Boot的基础知识和应用

在快速发展的软件开发领域&#xff0c;Spring Boot已经成为了一个广受欢迎的框架&#xff0c;它极大地简化了Spring应用的初始搭建以及开发过程。Spring Boot遵循“约定优于配置”的原则&#xff0c;通过默认配置减少了开发者的配置工作量&#xff0c;使得开发者能够更专注于业…...

【Linux】详解动静态库的制作和使用动静态库在系统中的配置步骤

一、库的作用 1、提高开发效率&#xff0c;让开发者所有的函数实现不用从零开始。 2、隐藏源代码。 库其实就是所有的.o文件用特定的方式进行打包形成一个文件&#xff0c;各个.o文件包含了源代码中的机器语言指令。 二、动态库和静态库的制作和使用 2.1、静态库的制作和使用…...

开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)

一、前言 预训练模型提供的是通用能力,对于某些特定领域的问题可能不够擅长,通过微调可以让模型更适应这些特定领域的需求,让它更擅长解决具体的问题。 本篇是开源模型应用落地-qwen-7b-chat-LoRA微调(一)进阶篇,学习通义千问最新1.5系列模型的微调方式。 二、术语介绍 …...

【现代企业管理】企业组织结构和组织文化的理论与实践——以华为为例

一、前言 管理是科学和艺术的统一体&#xff0c;它是企业成长的保证。企业管理中&#xff0c;管理者面对的往往不是一个完整的系统&#xff0c;而是各种不具有整体规律性的零碎信息的总和&#xff0c;因此进行信息的整合和研究是管理的重点和关键。 组织管理作为管理的四大职…...

【Kotlin】Sequence简介

1 前言 序列&#xff08;Sequence&#xff09;是 Kotlin 中为方便操作集合及其元素而定制的接口&#xff0c;是一个延迟获取数据的集合&#xff0c;只有需要元素时才会生产元素。在处理大量数据时&#xff0c;序列可以显著地提升性能。 Sequence 类似 Java 中的 Stream&#xf…...

【Java】Thread详解

&#x1f352;前言 本文将从以下几方面来展开对Thread的介绍。 1.线程创建 2.线程中断 3.线程等待 4.线程休眠 在前面的文章中&#xff0c;已经总结了关于Thread的一些理解。 在阅读本文之前&#xff0c;最好对其有一些基础的了解。 文章链接: 【JavaSE】进程是什么&#xff1f…...

QT TCP和UDP网络编程

代表网络概念的QTcpSocket,QTcpServer和QUdpSocket&#xff0c;以及QNetworkRequest,QNetworkReply和QNetworkAccessManager之类的高级类来执行使用通用协议的网络操作。 它还提供了QNetworkConfiguration,QNetworkConfigurationManager和QNetworkSession等&#xff0c;实现承载…...

Maven入门指南:构建与管理Java项目的利器

引言 在Java开发领域&#xff0c;项目构建和管理是一个至关重要的环节。随着项目规模和复杂度的不断增加&#xff0c;有效地管理项目的依赖、构建过程以及部署流程变得尤为关键。在这样的背景下&#xff0c;Apache Maven作为一款优秀的项目管理工具应运而生&#xff0c;成为了…...

EXCEL-VB编程实现自动抓取多工作簿多工作表中的单元格数据

一、VB编程基础 1、 EXCEL文件启动宏设置 文件-选项-信任中心-信任中心设置-宏设置-启用所有宏 汇总文件保存必须以宏启动工作簿格式类型进行保存 2、 VB编程界面与入门 参考收藏 https://blog.csdn.net/O_MMMM_O/article/details/107260402?spm1001.2014.3001.5506 二、…...

管人对账累垮人?巨有科技智慧市集系统一招减负

从城市商圈到景区古镇&#xff0c;从乡村田园到文创园区&#xff0c;各类市集遍地开花&#xff0c;但管理难题始终是制约行业发展的最大瓶颈。人工登记杂乱、对账结算繁琐、现场管控滞后、数据完全空白&#xff0c;一场中型市集就要耗费大量人力物力&#xff0c;大型市集更是纠…...

别再只盯着ODD了!从特斯拉FSD和华为ADS的实战,聊聊ODC(设计运行条件)到底怎么落地

从特斯拉FSD到华为ADS&#xff1a;ODC实战落地的工程密码 当特斯拉车主在暴雨天启动FSD时&#xff0c;系统会先检查挡风玻璃上的雨滴传感器数据&#xff1b;而华为ADS用户试图在未系安全带状态下激活系统&#xff0c;仪表盘会立即弹出红色警告——这些看似简单的交互背后&…...

51单片机Proteus仿真实战:从零构建流水灯系统

1. 环境准备&#xff1a;搭建51单片机开发环境 第一次接触51单片机的朋友可能会被各种工具软件搞晕&#xff0c;其实只需要两个核心工具就能完成流水灯仿真&#xff1a;Proteus和Keil。我刚开始学单片机时也踩过不少坑&#xff0c;这里把最稳定的版本和安装要点分享给大家。 Pr…...

【手把手】FFmpeg音视频开发从入门到实战:一文吃透音视频同步原理与代码实现(附完整源码)

文章目录第一章 基础必懂&#xff1a;音视频开发的核心概念与FFmpeg框架1.1 别再被封装格式忽悠&#xff1a;MP4、MKV、AVI到底差在哪&#xff1f;1.2 搞懂解码流程&#xff1a;FFmpeg处理音视频的4个核心结构体第二章 深入原理&#xff1a;音视频同步的核心机制2.1 播放器卡顿…...

Qt实战:用QCustomPlot的QCPColorMap绘制声呐/热力图,附完整代码与色条(QCPColorScale)美化技巧

Qt实战&#xff1a;用QCustomPlot实现专业级声呐热力图可视化 第一次在项目中尝试用QCustomPlot绘制声呐数据时&#xff0c;我被它强大的性能震撼了——5000100的数据矩阵渲染仅需200毫秒&#xff0c;而Matplotlib处理同样规模的数据需要近3秒。这个发现让我彻底放弃了Python方…...

SDMatte Web服务灰度发布:新模型版本AB测试与用户反馈闭环机制

SDMatte Web服务灰度发布&#xff1a;新模型版本AB测试与用户反馈闭环机制 1. 引言 在AI图像处理领域&#xff0c;模型迭代更新是持续提升服务质量的必经之路。SDMatte作为一款专注于高质量图像抠图的AI模型&#xff0c;近期完成了新版本SDMatte的研发工作。本文将详细介绍我…...

保姆级教程:ROS1/ROS2下rosbag录制与播放的10个实战技巧(含脚本与launch文件)

ROS1/ROS2高效数据管理&#xff1a;rosbag录制与播放的工程化实践指南 第一次接触rosbag时&#xff0c;我花了整整三天时间才搞明白为什么录制的数据总是无法正常播放。当时在实验室调试移动机器人&#xff0c;每次测试都要重新跑一遍完整流程&#xff0c;效率低得令人抓狂。直…...

Claude浏览器扩展漏洞允许通过任意网站实现零点击XSS提示注入

网络安全研究人员披露了Anthropic公司Claude谷歌浏览器扩展中存在的一个漏洞&#xff0c;攻击者只需诱使用户访问特定网页即可触发恶意提示注入。漏洞原理分析Koi Security研究员Oren Yomtov在提供给The Hacker News的报告中指出&#xff1a;"该漏洞允许任何网站静默地向该…...

如何高效提取网页SVG内容:3步实现可视化数据导出

如何高效提取网页SVG内容&#xff1a;3步实现可视化数据导出 【免费下载链接】svg-crowbar Extracts an SVG node and accompanying styles from an HTML document and allows you to download it all as an SVG file. 项目地址: https://gitcode.com/gh_mirrors/sv/svg-crow…...

Kettle错误处理实战:如何用表输出步骤捕获并存储ETL过程中的异常数据

Kettle错误处理实战&#xff1a;如何用表输出步骤捕获并存储ETL过程中的异常数据 在数据仓库和ETL&#xff08;Extract, Transform, Load&#xff09;流程中&#xff0c;错误处理是确保数据质量的关键环节。Kettle&#xff08;现称Pentaho Data Integration&#xff09;作为一款…...