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

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

目录

原理简介

一、种群初始化

二、围捕行为

三、悬停行为

四、捕捉行为

五、抢夺行为

六、警告行为

七、迁徙行为

八、求偶行为

九、孵化行为

性能测评

参考文献

完整代码


黑鹰优化算法(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.mzph.cn/news/861523.shtml

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

相关文章

qt qml-Table表格组件

文章目录 示例代码代码详解运行效果扩展功能总结在QML中创建一个表格组件,可以使用 TableView 或 TableView 结合 ListModel 和 TableViewColumn。下面是一个完整的示例,展示了如何使用这些组件创建一个简单的表格,并附上详细的代码说明。 示例代码 main.qml import Q…

OpenVINO部署

OpenVINO部署 什么是 OpenVINO?OpenVINO 的优势安装指南系统要求:安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO? OpenVINO(Open Visual Inference and Neural Network Optimization)是由…

centos上快速搭建zfile文件网站

什么是zfile? zfile文件网站是最方便快捷的在线目录展示程序,支持将本地文件、FTP、SFTP、S3、OneDrive 等存储在网站上展示并浏览! 本教程参考: https://docs.zfile.vip/install/os-linux复现 今天的搭建环境是centos7.9 第一…

如何安装和配置 Django 与 Postgres、Nginx 和 Gunicorn

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 先决条件 本教程假设您已经在Debian 7或类似的Linux发行版(如Ubuntu)上设置了您的droplet(VPS&#…

Spring Boot 整合 JSP

Spring Boot 是一个开源的 Java 框架,用于创建独立、生产级的基于 Spring 框架的应用程序。它简化了基于 Spring 的应用程序的创建和部署过程。JSP(JavaServer Pages)是一种动态网页技术,允许开发者在 HTML 中嵌入 Java 代码。将 …

时间戳转换日期格式 filters实现

filters: { time: function time(value) { const now new Date(value) const y now.getFullYear() const m now.getMonth() 1 const d now.getDate() return ${y}-${m < 10 ? 0${m} : m}-${d < 10 ? 0${d} : d} ${now .toTimeString() .substr(0, 8)} } …

简单的springboot整合activiti5-serviceImpl部分(1)

简单的springboot整合activiti5.22.0-serviceImpl部分(1) 原来的流程serviceImpl部分代码过多&#xff0c;所以此处单独记录一下&#xff0c;此处记录的是serviceImpl第一部分代码 package cn.git.workflow.service.impl;import cn.git.cache.api.BaseCacheApi; import cn.gi…

CSS|03 尺寸样式属性文本与字体属性

尺寸样式属性 height:元素高度height的值&#xff1a;auto 自动length 使用px定义高度% 基于包含它的块级对象的百分比高度 width&#xff1a;元素的宽度width的值与height一样span标签可以设置宽度、高度吗&#xff1f; 答&#xff1a;不可以&#xff0c;因为span标签是一个行…

A-8 项目开源 qt1.0

A-8 2024/6/26 项目开源 由于大家有相关的需求&#xff0c;就创建一个项目来放置相关的代码和项目 欢迎交流&#xff0c;QQ&#xff1a;963385291 介绍 利用opencascade和vulkanscene实现stp模型的查看器打算公布好几个版本的代码放在不同的分支下&#xff0c;用qt实现&am…

科技赋能·创领未来丨智合同和百胜中国就Contract AI Studio项目达成合作

#智合同 #百胜中国 #AIGC #NLP #LLM #Contract AI Studio 近期&#xff0c;国内AIGC和LLM大语言模型发展可谓是如火如荼&#xff0c;其迅速崛起为社会和产业发展起到了非常重要的作用。人们利用AI技术&#xff08;AIGC、LLM大语言模型、NLP等&#xff09;将其赋能到企业生…

华为仓颉编程语言

目录 一、引言 二、仓颉编程语言概述 三、技术特征 四、应用场景 五、社区支持 六、结论与展望 一、引言 随着信息技术的快速发展&#xff0c;编程语言作为软件开发的核心工具&#xff0c;其重要性日益凸显。近年来&#xff0c;华为公司投入大量研发资源&#xff0c;成功…

记录待办事项的便签软件哪个好用?

在快节奏的现代生活中&#xff0c;我们经常需要处理各种各样的待办事项&#xff0c;为了更好地管理时间&#xff0c;许多人选择使用便签软件来记录自己的待办事项。那么&#xff0c;记录待办事项的便签软件哪个好用&#xff1f;市面上众多的便签软件中&#xff0c;哪一个才是最…

强引用、软引用、弱引用、幻象引用有什么区别?

强引用:我们平常典型编码Object obj new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运 行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于…

红队py项目-AWVSsqlmapXray

免责声明:内容仅供参考... 目录 AWVS自动添加任务字典 AWVS环境: SQLmap api 自动扫描 Xray 扫描漏洞发现报告 AWVS自动添加任务字典 AWVS13批量脚本_111111111115-CSDN博客 import requests, json# https://blog.csdn.net/wy_97/article/details/106872773 # 创建任务…

【C++题解】1715. 输出满足条件的整数5

问题&#xff1a;1715. 输出满足条件的整数5 类型&#xff1a;简单循环 题目描述&#xff1a; 有这样一个四位数,其千位和百位之和为偶数&#xff0c;十位和个位之和为奇数&#xff0c;且前两位之和大于后两位之和&#xff0c;且含有因数 8 &#xff0c;请输出满足上述条件的…

如何确保日常安全运维中的数据加密符合等保2.0标准?

等保2.0标准下的数据加密要求 等保2.0标准是中国信息安全等级保护制度的升级版&#xff0c;它对信息系统的安全保护提出了更为严格的要求。在日常安全运维中&#xff0c;确保数据加密符合等保2.0标准&#xff0c;主要涉及以下几个方面&#xff1a; 数据加密技术的选择&#xff…

49-3 内网渗透 - MSI安 装策略提权

靶场环境搭建: 这里还是用我们之前的windows2012虚拟机进行搭建 1)打开一些设置让靶场存在漏洞 打开组策略编辑器(gpedit.msc) 使用运行命令打开: 按下 Win + R 组合键来打开运行对话框。输入 gpedit.msc,然后按下 Enter 键。使用搜索打开: 点击任务栏上的搜索框(W…

【Docker】安装和加速

目录 1.安装 2.了解 docker 信息 3.查询状态 4. 重新启动Docker 1.安装 yum install –y docker 2.了解 docker 信息 cat /etc/redhat-release 3.查询状态 systemctl status docker 4.支持 1.12 的 docker 镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docke…

Nuxt 项目的默认目录结构(三)

这个目录结构是 Nuxt.js 默认提供的&#xff0c;但开发者可以根据项目需求进行调整。例如&#xff0c;可以在 pages/ 目录下创建更多的页面文件或目录来定义应用程序的路由&#xff0c;或者在 components/ 目录下添加更多的 Vue 组件。此外&#xff0c;Nuxt.js 也支持自定义目录…

临床试验中样本量估算的若干问题

一、什么是脱落率&#xff1f; 脱落&#xff1a;是指临床试验的受试者由于任何原因不能继续按研究方案进行到所要求的最后一次随访。 &#xff08;ICH E9&#xff09; 根据定义&#xff0c;只要没有按照试验要求完成所有访视即为脱落&#xff0c;计算脱落率是基于试验总结页“…