黑鹰优化算法(BEO)-2024年SCI新算法-公式原理详解与性能测评 Matlab代码免费获取

news2024/10/7 8:23:50

目录

原理简介

一、种群初始化

二、围捕行为

三、悬停行为

四、捕捉行为

五、抢夺行为

六、警告行为

七、迁徙行为

八、求偶行为

九、孵化行为

性能测评

参考文献

完整代码


黑鹰优化算法(Black eagle optimizer, BEO)是一种新型的元启发式算法(智能优化算法),结合了黑鹰的生物规律和数学变换来指导粒子的搜索行为。这个算法内容丰富,迭代优化的过程也算是比较新颖,值得一试!该成果由Haobin Zhang等人于2024年6月发表在SCI期刊《Cluster Computing》上!

由于发表时间较短,谷歌学术上还没人引用!你先用,你就是创新!

原理简介

黑鹰是一种中等大小的猛禽,因其特有的黑棕色羽毛而得名。黑鹰的主要生物学行为包括捕食、迁徙和繁殖。捕食行为可细分为跟踪、徘徊、捕捉、抢夺和警告;繁殖行为包括求偶和孵化。跟踪开始了黑鹰的掠食行为,黑鹰通常站在高处或树上寻找猎物。悬停飞行是黑鹰发现猎物后悄悄接近猎物的主要方式。当黑鹰接近猎物时,它会迅速俯冲下来捕捉猎物。

一、种群初始化

与大多数算法一样,通过以下公式产生的RBMO的初始搜索代理:

式中,lb和ub分别为搜索空间的下边界和上边界;Rand是维数为d的列向量,其元素为0到1之间的随机值。

二、围捕行为

式中,Xr为搜索空间中的随机位置,Xk为随机黑鹰的位置,Xbest为当前最佳位置,表示猎物的位置;α=e^||Xt-Xtbest||/D, D为Xbest到搜索边界的最远距离;r1是0到1的随机数,t1是Tent映射形成的0到1的随机数。式(4)模拟随机一只黑鹰站在高地上寻找猎物的潜在方向;式(5)是一种基于对立的学习策略,适合探索式(5)未探索的搜索空间;式(6)表示选择适应度最小的n个个体作为更新位置。通过模拟围捕行为提出的跟踪策略是一种高密度搜索方法,并通过自适应分布群体位置和增加种群规模来增加搜索密度,提高算法的全局寻优能力。

三、悬停行为

M是一个d维悬停矩阵,a=r2*2π, a为悬停角;R2是0到1之间的随机数。悬停操作用于执行旋转搜索,以进一步细化全局最优位置的范围。我们使用高维空间点的旋转方法模拟黑鹰的悬停,如下图所示,其中一个30维的点以p/12的旋转角度围绕一个固定点旋转120次,之后得到1-12维的图像,这证明了公式(7)的模拟是恰当和有效的。悬停策略在最初由跟踪策略确定的全局最优位置范围内进行旋转搜索。

四、捕捉行为

D1是位置调整因子1,D2为位置调整因子2,s0为维数为d的列向量,元素在0.5到1之间。式(8)和式(9)模拟了黑鹰在捕捉猎物时不断调整姿态以确保捕获成功的情况。捕获策略是一种自适应中心搜索方法,其目的是将所有个体的位置分布调整到以当前最优位置为中心的位置分布,为后续有效的局部开发做准备。该过程分为两个阶段:首先,通过D1尺度扩大所有个体与当前最优位置之间的距离,然后通过D2尺度将所有个体与当前最优位置之间的距离缩小到变化前的水平,以降低群体位置相对于当前最优位置的偏离程度。

五、抢夺行为

式中,r3为维数为d的随机向量,各维元素的值服从正态分布。式(10)简化了黑鹰从一点到另一点曲线飞行时的抢夺行为。然后利用点的跳跃运动来模拟黑鹰的抢夺行为。抓取策略是一种跳跃搜索方法,其目的是对前一策略调整过的位置进行跳跃搜索,以提高发现全局最优位置的机会。

六、警告行为

dsi为第i维中Xt best到搜索空间中心的距离,ds min和ds max分别为dsi的最小值和最大值,Xt d为Xt按照与Xt best的接近程度重新排列后的位置矩阵。式(11)和式(12)采用泊松分布引导粒子运动,模拟黑鹰之间的预警机制。效果如下图所示;在三维空间中,蓝点为当前局部最优位置,且靠近y维边界,此时触发预警机制,y维不再执行其他位置更新规则,预警机制引导粒子运动。警告机制防止粒子从每个维度的搜索空间中逃逸。

七、迁徙行为

fbest为当前最佳适应度值,f(j)为第j个个体的适应度值,s1为d维的列向量,元素在-1到1之间,t2为Tent混合映射形成的0.4到1之间的随机数。式(13)用适应度函数值表示黑鹰对环境的适应程度,并构造迁移函数z(f),进一步充分模拟黑鹰的迁移规律:对环境的适应程度越低,迁徙距离越远。迁移机制旨在将适应度较低的个体从当前最优位置移开,以降低陷入局部最优的可能性

八、求偶行为

K是阶跃因子,其函数表达式来源于Sigmoid函数的变形;r4、r6为0 ~ 1的随机数,r5、r7为d维的列向量,其元素服从正态分布。式(14)利用类似正弦余弦函数的波动和奇数-偶数的交替模式,模拟了黑鹰求偶期间雌雄黑鹰的互动行为。这种新的交替正弦余弦策略的优点是增加了局部搜索过程中个体的多样性,提高了可开发性。

九、孵化行为

式中R为一组正态分布的数组,Xd为组位置X从离巢Xbest从最近到最远重新排列后的组位置矩阵。式(15)根据正态分布模拟了孵育期间雄性黑鹰在巢附近活动较多,而在较远的地方活动较少,因为雄性黑鹰会保护孵卵的雌性。孵化策略是一种扩散搜索方法,允许一些个体继续接近当前最优,而其他个体向外扩散,从而防止陷入局部最优。

02

算法流程图和伪代码

根据黑鹰的跟踪、悬停、捕捉、抢夺、警告、求偶、孵化等行为建立了相应的数学模型,并以此构建了BEO优化算法。

以下提供BEO算法的流程图和伪代码,非常清晰!

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

性能测评

原文作者在30个CEC2017测试函数和12个最新的CEC2022测试函数上进行了性能综合测试,并将其性能与7种最先进的优化算法进行了比较。测试结果表明,BEO算法在100%的单峰函数中收敛精度达到理论值,在78.95%的复杂函数中收敛精度高于比较算法,在90.48%的函数中标准差排名前三,证明了BEO算法具有出色的局部优化能力、全局优化能力和稳定性。

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

可以看到,这个算法在F12、F13函数上效果特别好,达到了-30的数量级,基本是天花板的存在,其他函数的话对比PSO有一定的优势,大家应用到各类预测、优化问题中是一个不错的选择~

参考文献

[1]Zhang H, San H, Chen J, et al. Black eagle optimizer: a metaheuristic optimization method for solving engineering optimization problems[J]. Cluster Computing, 2024: 1-33.

完整代码

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

BEO

也可点击下方小卡片,再后台回复个人需求(比如BEO-SVM)定制以下BEO算法优化模型(看到秒回):

1.回归/时序/分类预测类:SVM、RVM、LSSVM、ELM、KELM、HKELM、DELM、RELM、DHKELM、RF、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路径优化、DBSCAN聚类、微电网优化、无线传感器覆盖优化、故障诊断等等均可~

5.原创改进优化算法(适合需要创新的小伙伴):原创改进2024年的BEO优化算法以及霜冰RIME、蜣螂DBO等任意优化算法均可,保证测试函数效果!

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

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

相关文章

Xinstall智能安装页面:一键唤起App,提升用户体验

在移动互联网时代,App已经成为我们日常生活中不可或缺的一部分。然而,随着App数量的不断增加,用户面临着越来越多的选择,如何快速、便捷地安装并打开App成为了用户的一大痛点。针对这一问题,Xinstall凭借其强大的技术实…

深入学习 Kafka(2)- Partition 和 Topic

1. Partition的作用 Topic是逻辑的概念,Partition是物理的概念: Partition 对一个 Topic 的消息进行物理上的分离,让消息可以分布在不同的实体机器上,可以提升系统吞吐量和并行处理能力。每个Partition可以有多个副本&#xff08…

二刷 动态规划

什么是动态规划 Dynamic Programming DP 如果某一问题有很多重叠子问题,使用动态规划时最有效的 动态规划中每一个状态是由上一个状态推导出来的。 动规五部曲 1.确定dp数组以及下标的含义 2.确定递归公式 3.dp数组如何初始化 4.确定遍历顺序 5.举例推导dp数…

软件开发案例参考

前言:基于平台现有需求进行新功能模块开发与实现,以下内容为部分源码解析,仅提供一些思路参考,不予以客观指导,毕竟条条大路通罗马嘛; 语言:C# 工具:visual studio 2017/visual st…

【unity实战】在Unity中使用有限状态机制作一个敌人AI

最终效果 文章目录 最终效果前言有限状态机的主要作用和意义素材下载逻辑图敌人动画配置优雅的代码文件目录状态机代码定义敌人不同状态切换创建敌人效果更多的敌人参考源码完结 前言 有限状态机以前的我嗤之以鼻,现在的我逐帧分析。其实之前我就了解过有限状态机&…

晚上睡觉要不要关路由器?一语中的

前言 前几天小白去了一个朋友家,有朋友说:路由器不关机的话会影响睡眠吗? 这个影响睡眠嘛,确实是会的。毕竟一时冲浪一时爽,一直冲浪一直爽……刷剧刷抖音刷到根本停不下来,肯定影响睡眠。 所以晚上睡觉要…

PCL 点云最小图割(前景、背景点云提取)

点云最小图割 一、概述1.1 概念1.2 算法原理二、代码示例三、运行结果🙋 结果预览 一、概述 1.1 概念 最小图割算法(pcl::MinCutSegmentation):是一种基于图论的对象分割方法,主要用于点云数据的处理和分析。该算法将点云数据表示为一个图结构,其中点云中的点作为图的节…

【SkiaSharp绘图14】SKCanvas方法详解(三)URL注释、按顶点绘制、 是否裁切区域之外、旋转、缩放、倾斜、平移、保存/恢复画布

文章目录 SKCanvas方法DrawUrlAnnotation 绘制URL注释DrawVertices 按顶点绘制Flush 立即绘制QuickReject 判断区域是否在裁切区域之外ResetMatrix重置矩阵Restore、RestoreToCountRotateDegrees按角度旋转画布RotateRadians按弧度旋转画布SaveLayer保存并新建图层Scale 缩放画…

二叉树(2)

二叉树的销毁 分为三个部分的销毁:根节点,左子树和右子树 void TreeDestory(BTNode* root) {if(rootNULL)return;TreeDestory(root->left);TreeDestory(root->right);free(root);rootNULL; }层序遍历(上一层带下一层) ty…

nginx如何解决惊群效应

什么是惊群效应 惊群效应(thundering herd)是指多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线…

web权限到系统权限 内网学习第一天 权限提升 使用手工还是cs???msf可以不??

现在开始学习内网的相关的知识了,我们在拿下web权限过后,我们要看自己拿下的是什么权限,可能是普通的用户权限,这个连添加用户都不可以,这个时候我们就要进行权限提升操作了。 权限提升这点与我们后门进行内网渗透是乘…

用AI,每天创作200+优质内容,2分钟教会你操作!

前段时间发布了这篇“寻找爆款文案及标题的9大渠道,直接搬运都能搞流量!”,里面我讲到如何寻找爆款标题。最近不少朋友问我,如何创作这个标题相关的内容。 多数平台都有风控规则,有些平台内容也会有字数要求。为了让大…

【D3.js in Action 3 精译】1.2.2 可缩放矢量图形(三)

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介 1.1 何为 D3.js?1.2 D3 生态系统——入门须知 1.2.1 HTML 与 DOM1.2.2 SVG - 可缩放矢量图形 ✔️ 第一部分第二部分【第三部分】✔️ 1.2.3 Canvas 与 WebGL(精译中 ⏳)1.2.4 C…

10.8K star!史上最强Web应用防火墙雷池WAF

长亭雷池SafeLine是长亭科技耗时近 10 年倾情打造的WAF(Web Application Firewall), 一款敢打出口号 “不让黑客越雷池一步” 的 WAF,愿称之为史上最强的一款Web应用防火墙,足够简单、足够好用、足够强的免费且开源的 WAF,基于业…

全球首款商用,AI为视频自动配音配乐产品上线

近日,海外推出了一款名为Resona V2A的产品,这是全球首款商用视频转音频 (V2A) 技术产品。这项突破性技术利用AI,仅凭视频数据即可自动生成高质量、与上下文相关的音频,包括声音设计、音效、拟音和环境音,为电影制作人、…

单向链表结构

链表结构简介 链表结构是一种用比较特殊的数据结构类型,它也是线性数据结构中的一种,但是与栈结构等线性数据结构不同,它的内部结构并不是一个简单的存储空间,而是一个带有指向性质的单元。要理解链表结构要弄清楚两个问题&#x…

react_后台管理_项目

目录 1.运行项目 2. 项目结构 ①项目顶部导航栏 ②项目左侧导航栏 ③主页面-路由切换区 本项目使用的是 reacttsscss 技术栈。 1.运行项目 在当前页面顶部下载本项目,解压后使用编辑器打开,然后再终端输入命令: npm i 下载依赖后&am…

使用Python绘制动态螺旋线:旋转动画效果

文章目录 引言准备工作前置条件 代码实现与解析导入必要的库初始化Pygame绘制螺旋线函数主循环 完整代码 引言 螺旋线是一个具有美学和数学魅力的图形。通过编程,我们可以轻松创建动态旋转的螺旋线动画。在这篇博客中,我们将使用Python和Pygame库来实现…

【python脚本】批量检测sql延时注入

文章目录 前言批量检测sql延时注入工作原理脚本演示 前言 SQL延时注入是一种在Web应用程序中利用SQL注入漏洞的技术,当传统的基于错误信息或数据回显的注入方法不可行时,例如当Web应用进行了安全配置,不显示任何错误信息或敏感数据时&#x…

解决卡顿发热,超帧技术焕发中重载游戏动力

近几年,中国手游市场规模不断扩大,开发者通过在画面、玩法等方面的持续创新和打磨,推出更加精品化的产品。然而愈发精美的画质和复杂的玩法,也给硬件带来超高的负载,导致玩家在游戏过程中,频繁出现掉帧卡顿…