智能优化算法:秃鹰搜索算法

文章目录

  • 智能优化算法:秃鹰搜索算法
    • 1.算法原理
      • 1.1 选择搜索空间
      • 1.2 搜索空间猎物 (探索)
      • 1.3 俯冲捕获猎物 (利用)
    • 2.实验结果
    • 3.参考文献
    • 4.Matlab代码

摘要:秃鹰搜索 (bald eagle search,BES) 优化是马来西亚学者Alsattar 于2020年提出的一种新型元启发式算法, 该算法具有较强的全局搜索能力, 能够有效地解决各类复杂数值优化问题的优点。

1.算法原理

秃鹰遍布于北美洲地区, 飞行中视力敏锐, 观察能力优秀. 以捕食鲑鱼为例, 秃鹰首先会基于个体和种群到鲑鱼的浓度来选择搜索空间, 朝一个特定区域飞行; 其次在选定搜索空间内搜索水面, 直到发现合适的猎物; 最后秃鹰会逐渐改变飞行高度, 快速向下俯冲, 从水中成功捕获鲑鱼等猎物.

BES 算法以秃鹰捕食猎物的行为进行模拟, 将其分为选择搜索空间、搜索空间猎物和俯冲捕获猎物三个阶段, 数学模型如下所示:

1.1 选择搜索空间

秃鹰随机选择搜索区域, 通过判断猎物数目来确定最佳搜寻位置, 便于搜索猎物,该阶段秃鹰位置Pi,newP_{i,new}Pi,new​更新由随机搜索的先验信息乘以α\alphaα来确定. 该行为数学模型描述为:
Pi,new=Pbest+α∗r(Pmean−Pi)(1)P_{i,new}=P_{best}+\alpha*r(P_{mean}-P_i)\tag{1} Pi,new​=Pbest​+α∗r(Pmean​−Pi​)(1)
式中:ααα 表示控制位置变化参数, 变化范围为 (1.5,2);rrr为 (0,1) 间随机数;PbestP_{best}Pbest​ 为当前秃鹰搜索确定的最佳搜索位置;PmeanP_{mean}Pmean​ 为先前搜索结束后秃鹰的平均分布位置;PiP_iPi​ 为第iii 只秃鹰位置.

1.2 搜索空间猎物 (探索)

秃鹰在选定搜索空间内以螺旋形状飞行搜索猎物, 加速搜索进程, 寻找最佳俯冲捕获位置. 螺旋飞行数学模型采用极坐标方程进行位置更新, 如下所示:
θ(i)=a∗π∗rand(2)\theta(i) = a*\pi*rand \tag{2} θ(i)=a∗π∗rand(2)

r(i)=θ(i)+R∗rand(3)r(i)=\theta(i) + R*rand\tag{3} r(i)=θ(i)+R∗rand(3)

xr(i)=r(i)∗sin(θ(i))(4)xr(i)=r(i)*sin(\theta(i))\tag{4} xr(i)=r(i)∗sin(θ(i))(4)

yr(i)=r(i)∗cos(θ(i))(5)yr(i)=r(i)*cos(\theta(i))\tag{5} yr(i)=r(i)∗cos(θ(i))(5)

x(i)=xr(i)/max(∣xr∣)(6)x(i)=xr(i)/max(|xr|) \tag{6} x(i)=xr(i)/max(∣xr∣)(6)

y(i)=yr(i)/max(∣yr∣)(7)y(i)=yr(i)/max(|yr|)\tag{7} y(i)=yr(i)/max(∣yr∣)(7)

其中:θ(i)θ(i)θ(i) 与 r(i)r(i)r(i) 分别为螺旋方程的极角与极径;aaa 与RRR是控制螺旋轨迹的参数, 变化范围分别为 (0,5)、(0.5,2);randrandrand 为 (0,1) 内随机数,x(i)x(i)x(i) 与 y(i)y(i)y(i) 表示极坐标中秃鹰位置, 取值均为 (-1,1). 秃鹰位置更新如下:
Pi,new=Pi+x(i)∗(Pi−Pmean)+y(i)∗(Pi−Pi+1)(8)P_{i,new}=P_i+x(i)*(P_i-P_{mean})+y(i)*(P_i-P_{i+1})\tag{8} Pi,new​=Pi​+x(i)∗(Pi​−Pmean​)+y(i)∗(Pi​−Pi+1​)(8)

1.3 俯冲捕获猎物 (利用)

秃鹰从搜索空间的最佳位置快速俯冲飞向目标猎物, 种群其他个体也同时向最佳位置移动并攻击猎物, 运动状态仍用极坐标方程描述, 如下:

θ(i)=a∗π∗rand(9)\theta(i) = a*\pi*rand \tag{9} θ(i)=a∗π∗rand(9)

r(i)=θ(i)(10)r(i)=\theta(i)\tag{10} r(i)=θ(i)(10)

xr(i)=r(i)∗sinh(θ(i))(11)xr(i)=r(i)*sinh(\theta(i))\tag{11} xr(i)=r(i)∗sinh(θ(i))(11)

yr(i)=r(i)∗cosh(θ(i))(12)yr(i)=r(i)*cosh(\theta(i))\tag{12} yr(i)=r(i)∗cosh(θ(i))(12)

x1(i)=xr(i)/max(∣xr∣)(13)x1(i)=xr(i)/max(|xr|) \tag{13} x1(i)=xr(i)/max(∣xr∣)(13)

y1(i)=yr(i)/max(∣yr∣)(14)y1(i)=yr(i)/max(|yr|)\tag{14} y1(i)=yr(i)/max(∣yr∣)(14)

俯冲中秃鹰位置更新公式为:
{δx=x1(i)∗(Pi−c1∗Pmean)δy=y1(i)∗(Pi−c2∗Pbest)(15)\begin{cases} \delta_x = x1(i)*(P_i-c_1*P_{mean})\\ \delta_y = y1(i)*(P_i-c_2*P_{best}) \end{cases}\tag{15} {δx​=x1(i)∗(Pi​−c1​∗Pmean​)δy​=y1(i)∗(Pi​−c2​∗Pbest​)​(15)

Pi,new=rand∗Pbest+δx+δy(16)P_{i,new}=rand*P_{best}+\delta_x+\delta_y\tag{16} Pi,new​=rand∗Pbest​+δx​+δy​(16)

式中:c1c_1c1​ 与 c2c_2c2​ 表示秃鹰向最佳与中心位置的运动强度, 取值均为 (1,2).

算法流程:

step1:初始化秃鹰算法参数,初始化种群

step2:计算适应度值

step3:秃鹰选择搜索空间,利用式(1)更新位置

step4:秃鹰在搜索空间搜索猎物,利用式(6)更新位置

step5:秃鹰俯冲,利用式(16),更新位置

step6: 判断是否达到结束条件,如果达到则输出最优结果,否则重复步骤step2-step6.

2.实验结果

3.参考文献

[1]Alsattar H A, Zaidan A A, Zaidan B B. Novel meta-heuristic bald eagle search optimisation algorithm[J]. Artificial Intelligence Review: An International Science and Engineering Journal, 2020,53(8): 2237-2264.

[1]贾鹤鸣,姜子超,李瑶.基于改进秃鹰搜索算法的同步优化特征选择[J/OL].控制与决策:1-9[2021-02-09].https://doi.org/10.13195/j.kzyjc.2020.1025.

4.Matlab代码

改进算法matlab代码

名称 说明或者参考文献
基于levy飞行和模拟退火改进的秃鹰算法(IBES) [1]贾鹤鸣,姜子超,李瑶.基于改进秃鹰搜索算法的同步优化特征选择[J/OL].控制与决策:1-9[2021-11-10].https://doi.org/10.13195/j.kzyjc.2020.1025.

个人资料介绍

智能优化算法:秃鹰搜索算法 -附代码相关推荐

  1. 【9种优化算法比较】CGO、SCA、GWO、CSA、SSA、HHO、WOA、PSO、TSO智能优化算法比较(Matlab代码实现)

  2. 《Python智能优化算法:从原理到代码实现与应用》出版啦

    <Python智能优化算法:从原理到代码实现与应用> 各位亲爱的小伙伴,让各位久等了.我们撰写的<Python智能优化算法:从原理到代码实现与应用>由电子工业出版社出版了. 本 ...

  3. 浣熊优化算法(COA)(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论.我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出 ...

  4. 智能优化算法:闪电搜索算法-附代码

    智能优化算法:闪电搜索算法-附代码 文章目录 智能优化算法:闪电搜索算法-附代码 1.算法原理 1.1 过渡放电体 1.2 空间放电体 1.3 引导放电体 2.算法结果 3.参考文献 4.Matlab ...

  5. 智能优化算法:布谷鸟搜索算法-附代码

    智能优化算法:布谷鸟搜索算法-附代码 文章目录 智能优化算法:布谷鸟搜索算法-附代码 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 摘要:谷鸟搜索算法(cuckoo search , ...

  6. 智能优化算法:麻雀搜索算法-附代码

    2020智能优化算法:麻雀搜索算法 文章目录 2020智能优化算法:麻雀搜索算法 1.算法原理 2.算法结果 3.参考文献 4.Matlab代码 5.Python代码 摘要:麻雀搜索算法(Sparro ...

  7. 智能优化算法:爬行动物搜索算法-附代码

    智能优化算法:爬行动物搜索算法 文章目录 智能优化算法:爬行动物搜索算法 1.算法原理 1.1 初始化 1.2 包围阶段(探索) 1.3 狩猎阶段(开发) 2.实验结果 3.参考文献 4.Matlab ...

  8. 麻雀优化算法_多种智能优化算法应用案例分享-附代码

    1.智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割 智能优化算法应用:基于灰狼算法的Otsu图像多阈值分割-附代码_Jack旭的博客-CSDN博客​blog.csdn.net 2.智能优化算法 ...

  9. gwo算法matlab源代码,智能优化算法应用:基于GWO优化BP神经网络 - 附代码

    智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 - 附代码 智能优化算法应用:基于GWO优化BP神经网络 文章目录智能优化算法应用:基于GWO优 ...

  10. 【智能优化算法】基于全局优化的改进鸡群算法求解单目标优化问题(ECSO)附matlab代码

    1 简介 智能算法分为两种,一种是群体智能算法(swarmintelligencealgorithm),该算法大多模拟自然界中动植物的特有行为,并将其表达成数学语言,从而进行迭代寻优,如模拟蝙蝠回声定 ...

最新文章

  1. 大学计算机课程改革项目,大学计算机课程改革.ppt
  2. Sping WebSocket SockJS使用
  3. MySQL 5.6 手册 第三章 目录
  4. 前端那么多框架,我们到底学哪一个
  5. php接口数据安全解决方案(一)
  6. boost::log模块测量日志记录发射的性能
  7. ROS学习之日志消息
  8. Android之Lollipop DevicePolicyManager学习(下)
  9. Java远程通讯技术及原理分析
  10. JVM思维导图、正则表达式符号图、企业内部开发流程图
  11. 前端开发 简单表格的编写练习 0228
  12. 河南理工大学计算机学院课表,河南理工大学实验课课程表.doc
  13. Axure 8 Tab制作
  14. 【Java从0到架构师】Filter_Listener_AJAX
  15. 字节流Stream(Output 、Input)、字符流(Reader、Writer)
  16. hwclock(Linux)
  17. Git通过SSH拉取报错kex_exchange_identification
  18. 计算机组成中位、字节、字、字长、存储单元、存储字、存储字的辨析
  19. Mtk Camera中Hal1/Hal3的Picture size和Preview size配置
  20. 【2016——-编程语言排行以及优缺点分析】

热门文章

  1. 利用Latex在线表格绘制表格以及多行合并垂直居中
  2. 收藏!常用的档案馆(室)检索工具及编制方法
  3. sql server日期时间转字符串
  4. IOS swift 清理缓存
  5. 【国家集训队】跳跳棋(LCA+二分答案)
  6. python正则查找_python正则匹配
  7. 如何扩大电脑c盘分区,c盘空间不足怎么扩容
  8. 为什么说跳槽加薪低于30%,等于在“降薪”?
  9. 在SQL Sever中使用form membership认证
  10. java one_javaone是什么意思