【智能算法】鹭鹰优化算法(SBOA)原理及实现

目录

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


1.背景

2024年,Y Fu受到自然界中鹭鹰生存行为启发,提出了鹭鹰优化算法(Secretary Bird Optimization Algorithm, SBOA)。

在这里插入图片描述
在这里插入图片描述

2.算法原理

2.1算法思想

SBOA生存需要不断地寻找猎物和躲避捕食者的追捕,探索阶段模拟鹭鹰捕食蛇,而开发阶段模拟鹭鹰逃离捕食者。在这个阶段,鹭鹰观察环境,选择最合适的方式到达安全的避难所。

在这里插入图片描述
在这里插入图片描述

2.2算法过程

鹭鹰捕猎策略(探索阶段)

鹭鹰以蛇为食时的捕猎行为通常分为三个阶段:寻找猎物、消耗猎物和攻击猎物。整个捕食过程分为三个相等的时间间隔,分别对应鹭鹰捕食的三个阶段:寻找猎物、消耗猎物和攻击猎物
在这里插入图片描述

寻找猎物阶段的位置更新:
W h i l e t < 1 3 T , x i , j n e w P 1 = x i , j + ( x r a n d o m 1 − x r a n d o m 2 ) × R 1 X i = { X i n e w , P 1 , i f F i n e w , P 1 < F i X i , e l s e (1) While t<\frac{1}{3}T,x_{i,j}^{new P1}=x_{i,j}+\left(x_{random_1}-x_{random_2}\right)\times R_{1}\\ X_i=\left\{\begin{array}{l}X_i^{new,P1},if F_i^{new,P1}<F_i\\X_i, else\end{array}\right.\tag{1} Whilet<31T,xi,jnewP1=xi,j+(xrandom1xrandom2)×R1Xi={Xinew,P1,ifFinew,P1<FiXi,else(1)

在消耗猎物阶段,引入布朗运动(RB)来模拟鹭鹰的随机运动,捕食阶段的位置更新:
R B = r a n d n ( 1 , D i m ) W h i l e 1 3 T < t < 2 3 T , x i , j n e w P 1 = x b e s t + exp ⁡ ( ( t / T ) ∧ 4 ) × ( R B − 0.5 ) × ( x b e s t − x i , j ) X i = { X i n e w , P 1 , i f F i n e w , P 1 < F i X i , e l s e (2) RB=randn(1,Dim)\\ While \frac{1}{3}T<t<\frac{2}{3}T, x_{i,j}^{new P1}=x_{best}+\exp\left((t/T)\wedge4\right)\times(RB-0.5)\times\left(x_{best}-x_{i,j}\right)\\ X_{i}=\left\{\begin{array}{l}{{X_{i}^{new,P1},if F_{i}^{new,P1}<F_{i}}}\\{{X_{i}, else}}\end{array}\right.\tag{2} RB=randn(1,Dim)While31T<t<32T,xi,jnewP1=xbest+exp((t/T)4)×(RB0.5)×(xbestxi,j)Xi={Xinew,P1,ifFinew,P1<FiXi,else(2)
鹭鹰在攻击猎物阶段的位置更新:
W h i l e t > 2 3 T , x i , j n e w P 1 = x b e s t + ( ( 1 − t T ) ∧ ( 2 × t T ) ) × x i , j × R L X i = { X i n e w , P 1 , i f F i n e w , P 1 < F i X i , e l s e (3) While t>\frac{2}{3}T, x_{i,j}^{new P1}=x_{best}+\left(\left(1-\frac{t}{T}\right)\wedge\left(2\times\frac{t}{T}\right)\right)\times x_{i,j}\times RL\\ X_i=\left\{\begin{array}{ll}X_i^{new,P1},if F_i^{new,P1}<F_i\\X_i, else\end{array}\right.\tag{3} Whilet>32T,xi,jnewP1=xbest+((1Tt)(2×Tt))×xi,j×RLXi={Xinew,P1,ifFinew,P1<FiXi,else(3)
为了提高算法的优化精度,作者使用加权Levy飞行:
R L = 0.5 × L e v y ( D i m ) (4) \mathrm{RL}=0.5\times Levy(Dim)\tag{4} RL=0.5×Levy(Dim)(4)

鹭鹰逃生策略(开发阶段)

当遇到这些威胁时,鹭鹰通常采用各种逃避策略来保护自己或它们的食物。这些策略大致可以分为两大类,第一种策略是逃跑或快速奔跑,第二种策略是伪装。

其中C1代表第一种策略,C2代表第二种策略:
x i , j n e w , P 2 = { C 1 : x b e s t + ( 2 × R B − 1 ) × ( 1 − t T ) 2 × x i , j , i f r a n d < r i C 2 : x i , j + R 2 × ( x r a n d o m − K × x i , j ) , e l s e X i = { X i n e w , P 2 , i f F i n e w , P 2 < F i (5) \left.x_{i,j}^{new,P2}=\left\{\begin{array}{l}C_{1}:x_{best}+(2\times RB-1)\times\left(1-\frac{t}{T}\right)^{2}\times x_{i,j},if r and <r_{i}\\C_{2}:x_{i,j}+R_{2}\times\left(x_{random}-K\times x_{i,j}\right),else\end{array}\right.\right.\\X_{i}=\left\{\begin{array}{l}X_{i}^{new,P2},if F_{i}^{new,P2}<F_{i}\end{array}\right.\tag{5} xi,jnew,P2={C1:xbest+(2×RB1)×(1Tt)2×xi,j,ifrand<riC2:xi,j+R2×(xrandomK×xi,j),elseXi={Xinew,P2,ifFinew,P2<Fi(5)
在这里插入图片描述
参数K表示整数1或2的随机选择:
K = r o u n d ( 1 + r a n d ( 1 , 1 ) ) (6) K=round(1+rand(1,1))\tag{6} K=round(1+rand(1,1))(6)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

在这里插入图片描述

4.参考文献

[1] Fu Y, Liu D, Chen J, et al. Secretary bird optimization algorithm: a new metaheuristic for solving global optimization problems[J]. Artificial Intelligence Review, 2024, 57(5): 1-102.

5.代码获取

资源清单

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

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

相关文章

MySQL:数据库管理的强大工具

MySQL&#xff1a;数据库管理的强大工具 文章目录 MySQL&#xff1a;数据库管理的强大工具引言MySQL的核心特性使用场景为什么选择MySQL结语 引言 在当今的数据驱动时代&#xff0c;数据库管理系统(DBMS)扮演着至关重要的角色。MySQL&#xff0c;作为一个开源的关系数据库管理…

Python - with语句 - 写一个支持with方法调用的类

Python - with语句 - 写一个支持with方法调用的类 前言 使用语句with open(a.txt, r) as f:可以自动关闭文件句柄&#xff0c;使用语句with torcu.no_grad()可以不计算梯度。 我学Py的时候咋好像没学过open和no_grad是怎么实现的&#xff1f; 于是今日了解了一下。 实现一…

【声呐仿真】学习记录2-运行ROV(带camera、sonar、dvl等传感器)例程

【声呐仿真】学习记录2-运行ROV&#xff08;带camera、sonar、dvl等传感器&#xff09;例程 前言第一阶段-学习Gazebo第二阶段-学习URDF、xacro第三阶段-寻找例程跑一个rexrov示例程序1.uuvsimulator quick_start2.能键盘控制的示例程序&#xff08;失败&#xff09;3.能键盘控…

Windows安装MySQL 8.4.0免安装版

下载地址&#xff1a;MySQL :: Begin Your Download 1 管理员权限打开cmd&#xff0c;切换到MySQL安装路径的bin目录下 cmd> C: cmd> cd ..\mysql-8.4.0-winx64\bin 2 移除已安装的MySQL服务&#xff08;若有&#xff09; 2.1 停止老的MySQL服务 net stop mysql …

Excel如何设置密码保护【图文详情】

文章目录 前言一、Excel如何设置密码保护&#xff1f;二、Excel如何取消密码保护&#xff1f;总结 前言 在软件项目开发过程中&#xff0c;会输出很多技术文档&#xff0c;其中也包括保密级别很高的服务器账号Excel文档。为了确保服务器账号相关的Excel文档的安全性&#xff0…

CSS 网格布局一行X个排列

<div class"icon-box"><divv-for"(item,index) in icon" :key"index" class"icon"style"cursor: pointer">{{item}}</div></div>.icon-box{display: grid; /**网格布局*/grid-template-columns: r…

NSS题目练习2

[LitCTF 2023]我Flag呢&#xff1f; 打开题目后查看源码即可发现flag [第五空间 2021]WebFTP 看到提示&#xff0c;首先想到用dirsearch扫描链接&#xff0c;看是否存在git泄露 发现存在git泄露&#xff0c;用githack解决 克隆提示目录为空&#xff0c;说明不正确&#xff0c…

容器监控与日志管理

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 一、Docker监控工具 二、容器日志工具docker logs 三、第三方日志工具 四、容器日志驱动 五、示例 5.1、查看容器中运行的进程的信息 5.2、查看…

液晶显示模块强光实验类目及太阳光模拟器

科技日新月异&#xff0c;液晶显示模块运用得也越来越广泛&#xff0c;用户在购买和使用时&#xff0c;都希望能买到显示效果好&#xff0c;性价比高的产品。本文主要介绍LCM&#xff0f;LED模块在光学方面主要测试项目类别及实验仪器。 测试项目类别 1. 透过率 透过率是指透…

【DRAM存储器二十九】DDR4介绍-DDR4 SDRAM的主要技术特性之Connectivity test mode

👉个人主页:highman110 👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容 参考资料:《镁光DDR4数据手册》 、《JESD79-4B》 目录 Connectivity test mode

Docker和containerd服务配置国内源

containerd配置国内源 在文件中添加&#xff1a; # /etc/containerd/config.toml [plugins."io.containerd.grpc.v1.cri".registry.mirrors."k8s.gcr.io"] endpoint ["registry.aliyuncs.com/google_containers"]docker配置国内源 在文件中添…

C# 实现加减乘除 (备忘)

请给出 计算表达式 (45.0)/ 4.2 * (35.3) using System; using System.Collections.Generic;public class ExpressionEvaluator {public static double Evaluate(string expression){var operands new Stack<double>();var operators new Stack<char>();for (in…

英语学习笔记7——Are you a teacher?

Are you a teacher? 你是教师吗&#xff1f; 词汇 Vocabulary name /neɪm/ n. 名字&#xff0c;名声 英文名字构成&#xff1a; 名 字 姓      given name family name  也叫做&#xff1a;first name last name      例&#xff1a;Yanyan Gao 例句&#xff1…

学习网络安全现在还有前景吗?行业分析报告

如果你现阶段选择入行网络安全&#xff0c;就相当于10年前学IT&#xff0c;当它发展起来的时候&#xff0c;你刚好遇到行业红利期。 网络安全这个职业完全可以改变很多人的人生轨迹。 因为它是个不需要你有多强大的情商&#xff0c;不需要你去学习更多复杂的职场和人际关系技…

halcon获取Licenses--每月一换

转到https://www.51halcon.com/ 点击授权&#xff0c;根据你的版本选择progress或者steady进行下载 记住每月一换哦

2024年小程序视频如何下载到电脑上

随着2024年的到来&#xff0c;将小程序视频无缝下载到电脑上&#xff0c;从此让精彩内容触手可及&#xff0c;不受时间和网络的限制&#xff0c;随时随地启发你的生活和工作。 小程序视频我已经打包好了&#xff0c;有需要的自己下载 小程序视频下载工具打包链接&#xff1a;…

AI数据中心网络技术选型,InfiniBand与RoCE对比分析

InfiniBand与RoCE对比分析&#xff1a;AI数据中心网络选择指南 随着 AI 技术的蓬勃发展&#xff0c;其对数据中心网络的要求也日益严苛。低延迟、高吞吐量的网络对于处理复杂的数据密集型工作负载至关重要。本文分析了 InfiniBand 和 RoCE 两种数据中心网络技术&#xff0c;帮助…

Docker安装oralce

Docker安装oralce 1.部署Oracle 11G企业版环境&#xff08;11.2.0.4) # 1.前提是安装好docker# 2.拉取镜像(该镜像是我修改过的&#xff0c;可以直接使用) [rootapi-new local]# docker pull xingyuyu123/oracle:oracle11204 oracle11204: Pulling from xingyuyu123/oracle 5…

【linux软件基础知识】- 文件的概念:Linux 中的文件

Linux 中的文件 在 Linux 中,文件是存储在存储设备(例如硬盘驱动器或固态驱动器)上的数据项的集合。 文件被组织为字节序列,并由文件系统中的唯一名称来标识。 以下是 Linux 中文件的一些关键特征: 字节序列:Linux 中的文件被视为字节序列。 每个字节可以表示一个字符…

付费文章合集第二期

☞☞付费文章合集第一期 感谢大家一年来的陪伴与支持&#xff01; 对于感兴趣的文章点标题能跳转原文阅读啦~~ 21、Matlab信号处理——基于LSB和DCB音频水印嵌入提取算法 22、CV小目标识别——AITOD数据集&#xff08;已处理&#xff09; 23、Matlab信号发生器——三角波、…