【智能算法】鹭鹰优化算法(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.代码获取

资源清单

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Elasticsearch查看集群信息,设置ES密码,Kibana部署

Elasticsearch查看集群信息&#xff0c;设置ES密码&#xff0c;Kibana部署 查看集群信息查看节点信息查看集群健康状态查看分片信息查看其他集群信息 Kibana部署安装设置ES密码 查看集群信息 查看节点信息 curl http://127.0.0.1:9200/_cat/nodes?v 参数说明&#xff1a; ip…

OpenGL导入的纹理图片错位

在OpenGL中导入图片的纹理照片的函数为 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, p_w, p_h, 0, GL_BGR, GL_UNSIGNED_BYTE, pic_data);其中p_w, p_h为图片的宽和高&#xff0c;pic_data为指向图片存储空间的的地址(unsigned char *类型) 在OpenGL中图片默认是4字节对齐的&…

Web开发小知识点(二)

1.关于取余 我在Dart语言里&#xff08;flutter项目&#xff09; int checkNum (10 - 29) % 10; 那么checkNum等于1 但是在Vue项目里 const checkNum (10 - 29) % 10;却等于-9 语言的特性不同&#xff0c;导致结果也不同&#xff0c;如果要想和Dart保持一致&#xff0c;…

vue3.0(六) toRef,toValue,toRefs和toRow,markRaw

文章目录 toReftoValuetoRefstoRowmarkRawtoRef和toRefs的区别toRaw 和markRaw的用处 toRef toRef 函数可以将一个响应式对象的属性转换为一个独立的 ref 对象。返回的是一个指向源对象属性的 ref 引用&#xff0c;任何对该引用的修改都会同步到源对象属性上。使用 toRef 时需…

[蓝桥杯 2021 国 ABC] 123(java)——前缀和,思维

目录 题目 解析 代码 这么久了&#xff0c;我终于能不看别人代码完整写出来了&#xff0c;呜呜呜。虽然过程也是很曲折。 题目 解析 这个题&#xff0c;找其中数列的规律&#xff0c;1,1,2,1,2,3,1,2,3,4&#xff0c;...&#xff0c;因此我们把拆分成行列&#xff0c;如下…

Java并发处理

Java并发处理 问题描述:项目中业务编号出现重复编号 生成编号规则&#xff1a;获取数据库表最大值&#xff0c;然后再做1处理&#xff0c;即为新编号&#xff08;因为起始值是不固定的&#xff0c;还存在‘字符数据’格式&#xff0c;做了字典项可配置&#xff0c;所以不能直…

Ai 一键美术绘画文章,蓝海项目,流量巨大,盈利成效显著

今天我要向大家介绍一个全新的蓝海项目&#xff0c;那就是AI一键美术绘画文章。这个项目打破了传统的思维模式&#xff0c;更加吸引人的眼球&#xff0c;已经在各大网站上引发了大量的关注&#xff0c;轻松在抖音上热门也变得简单易行且稳定。 下载 地 址 &#xff1a; laoa…

PopClip for Mac 激活版:让文本处理更高效

还在为繁琐的文本处理而烦恼吗&#xff1f;PopClip for Mac来帮您解决&#xff01;这款神器般的文本处理工具&#xff0c;能让您轻松应对各种文本处理任务。无论是写作、编程还是日常办公&#xff0c;PopClip for Mac都能助您一臂之力&#xff0c;让您的文本处理更高效、更便捷…

【基础绘图】 09.小提琴图

效果图&#xff1a; 主要步骤&#xff1a; 1. 数据准备&#xff1a;生成随机数组 2. 数据处理&#xff1a;计算四分位数、中位数、均值、最大最小值 3. 图像绘制&#xff1a;绘制小提琴图 详细代码&#xff1a;着急的直接拖到最后有完整代码 步骤一&#xff1a;导入库包及…

动态规划----股票买卖问题(详解)

目录 一.买卖股票的最佳时机&#xff1a; 二.买卖股票的最佳时机含冷冻期&#xff1a; 三.买卖股票的最佳时期含⼿续费&#xff1a; 四.买卖股票的最佳时机III: 五.买卖股票的最佳时机IV: 买卖股票的最佳时机问题介绍&#xff1a;动态规划买卖股票的最佳时机是一个经典的…

排序2——冒泡排序,快速排序(3种递归方式+3种非递归方式)

目录 1.交换排序 2.冒泡排序 2.1基本思路 1.1.2复杂度分析 3.快速排序 3.1基本思想 3.2Hoare版本&#xff08;最初的&#xff09; 3.2.1缺点 3.2.2优化 第一种——随机选key 第二种——三数取中 第三种——小区间优化 3.3挖坑版本&#xff08;更好理解&#xff09…

【谷粒商城】01-环境准备

1.下载和安装VirtualBox 地址&#xff1a;https://www.virtualbox.org/wiki/Downloads 傻瓜式安装VirtualBox 2.下载和安装Vagrant官方镜像 地址&#xff1a;https://app.vagrantup.com/boxes/search 傻瓜式安装 验证是否安装成功 打开CMD,输入vagrant命令&#xff0c;是否…

pyqt5将ui文件转为python文件

在pyqt5中使用 pyuic将ui文件转为py文件&#xff1a; 例如&#xff1a;将home.ui文件转为vio_detect.py文件&#xff0c;所需命令如下&#xff1a; pyuic5 -x home.ui -o vio_detect.py

【Linux】基于 Jenkins+shell 实现更新服务所需文件 -->两种方式:ssh/Ansible

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

STL-Hashtable

hashtable hashtable是通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系&#xff0c;这样在查找的时候就可以很快的找到该元素。 哈希函数 哈希函数的定义域必须包括需要存储的全部关键码&#xff0c;而如果散列表允许有m个地址时&#xff0c…

C++内存管理(1)

目录 1.new用法说明 2.new/delete在栈里面的运用 3.operator new/operator delete函数 4.构造函数的显式调用 5.malloc&&new&&free&&delete区别 1.new用法说明 &#xff08;1&#xff09;在C语言阶段&#xff0c;我们无论是为数组开辟空间&#x…

瀚高数据库(HighGoDB)Windows安装使用

1.下载 2.安装 瀚高数据库下载与安装&#xff08;Windows版&#xff09;-CSDN博客 3.连接工具 4.建库、建表操作 瀚高数据库管理工具-CSDN博客 *报错Cant access non-default database&#xff0c;需要右键数据库-设为活动对象 5.导入外部数据&#xff08;迁移、对比&…

云贝教育 |【好课上新】ITSS服务工程师与服务经理认证培训

课程前言 ITSS是中国电子技术标准化研究院推出的&#xff0c;包含“IT 服务工程师”和“IT 服务经理”的系列培训。有效满足GB/T 28827.1 的符合性评估要求和ITSS服务资质升级要求。 IT 服务工程师”结合 IT服务从业人员能力规范和要求&#xff0c;从服务技术、服务技巧和服务…

Linux环境下parted工具使用

在工作中&#xff0c;我们经常会遇到大于分区大于2T的磁盘&#xff0c;由于系统盘最大不能超2T&#xff0c;我们会在做raid时将划分VD来进行装系统&#xff0c;但系统自动安装后无法将磁盘全部识别出来&#xff0c;管理员有时会要求手动对分区进行挂载&#xff0c;这个文档介绍…

基于PSO粒子群优化的PV光伏发电系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 粒子群优化算法基础 4.2 PV系统及其最大功率点跟踪 4.3 PSO在PV MPPT中的应用 5.完整工程文件 1.课题概述 基于PSO粒子群优化的PV光伏发电系统simulink建模与仿真。通过PSO粒子群优化进行最大功率…