智能优化算法:人工蜂鸟算法

摘要:人工蜂鸟算法( AHA )是 ZHAO 等 于 2021 年提出的一种新型元启发式优化算法 . 该算法模拟了自然界中蜂鸟轴向飞行、对角飞行、全方位飞行 3 种特殊飞行技能和引导觅食、区域觅食、迁移觅食 3 种智能觅食策略,并通过引入访问表来实现蜂鸟寻找和选择食物来源的记忆功能,最终达到求解最优化问题的目的 .

1.人工蜂鸟算法

1.1 初始化

AHA 将 nnn 只蜂鸟放置在 nnn 种食物源上, 随机初 始化食物源位置:
xi=SL+r⋅(Su−SL),i=1,2,⋯,n(1)x_i=S_{\mathrm{L}}+r \cdot\left(S_{\mathrm{u}}-S_{\mathrm{L}}\right), i=1,2, \cdots, n \tag{1} xi​=SL​+r⋅(Su​−SL​),i=1,2,⋯,n(1)
式中: xix_ixi​ 表示第 iii 个食物源位置; nnn 表示种群规模; Su、SLS_u 、 S_{\mathrm{L}}Su​、SL​ 分别表示搜索空间上、下限值; rrr 表示 [0,1][0,1][0,1] 之 间均匀分布的随机数.
食物来源访问表初始化如下:
Vi,j={0,if i≠jnull, i=j,i=1,2,⋯,n;j=1,2,⋯,n(2)V_{i, j}=\left\{\begin{array}{cc} 0, & \text { if } i \neq j \\ \text { null, } & i=j \end{array}, i=1,2, \cdots, n ; j=1,2, \cdots, n\right. \tag{2} Vi,j​={0, null, ​ if i=ji=j​,i=1,2,⋯,n;j=1,2,⋯,n(2)
式中: i=ji=ji=j 表示蜂鸟在特定的食物来源处受食; i≠ji \neq ji=j 表示当前迭代中第 jjj 个食物源被第 iii 只蜂鸟访问过.

1.2 引导觅食

AHA 中, 蜂鸟为了获得更多的花蜜, 会在相同 访问级别的食物源中访问花蜜补充率最高的食物源. 在受食过程中, 通过引人方向切换向量描述全向飞 行、对角飞行和轴向飞行 3 种技能, 用于控制 ddd 维空 间中的一个或多个方向是否可行. 轴向飞行、对角飞 行、全向飞行技能分别描述如下:
D(i)={1,if i=rand⁡([1,d])0,else (3)\begin{gathered} D^{(i)}= \begin{cases}1, & \text { if } i=\operatorname{rand}([1, d]) \\ 0, & \text { else }\end{cases} \end{gathered} \tag{3} D(i)={1,0,​ if i=rand([1,d]) else ​​(3)
D(i)={1,if i=P(j),j∈[1,k],P=rand⁡(k),k∈{2,[r1⋅(d−2)+1]}0,else (4)D^{(i)}= \begin{cases}1, & \text { if } i=P(j), j \in[1, k], P=\operatorname{rand}(k), \\ k \in\left\{2,\left[r_1 \cdot(d-2)+1\right]\right\} \\ 0, & \text { else }\end{cases} \tag{4} D(i)=⎩⎨⎧​1,k∈{2,[r1​⋅(d−2)+1]}0,​ if i=P(j),j∈[1,k],P=rand(k), else ​(4)
D(i)=1(5)D^{(i)}=1 \tag{5} D(i)=1(5)

式中: D(i)D^{(i)}D(i) 表示飞行技能; i=rand⁡([1,d])i=\operatorname{rand}([1, d])i=rand([1,d]) 表示生成从 1 到 ddd 的随机整数; rand⁡(k)\operatorname{rand}(k)rand(k) 表示创建从 1 到 kkk 的 随机整数排列; r1r_1r1​ 表示 [0,1][0,1][0,1] 之间均匀分布的随机 数; ddd 表示问题维度. 其中 i=1,2,⋯,di=1,2, \cdots, di=1,2,⋯,d.
凭借这些飞行技能, 蜂鸟可以访问目标食物源, 从而获得候选食物源. 候选食物源位置更新数学描述 如下:
vi(t+1)=xi,tar (t)+a⋅D[xi(t)−xi,tar (t)](6)v_i(t+1)=x_{i, \text { tar }}(t)+a \cdot D\left[x_i(t)-x_{i, \text { tar }}(t)\right] \tag{6} vi​(t+1)=xi, tar ​(t)+a⋅D[xi​(t)−xi, tar ​(t)](6)
式中: vi(t+1)v_i(t+1)vi​(t+1) 表示第 t+1t+1t+1 次迭代第 iii 个候选食物源 位置; xi(t)x_i(t)xi​(t) 表示第 ttt 次迭代第 iii 个食物源位置; xi,tar x_{i, \text { tar }}xi, tar ​ (t)(t)(t) 表示第 iii 只蜂鸟将访问的目标食物源位置; aaa 表 示服从正态分布 ((( 均值 =0=0=0, 标准偏差 =1=1=1 ) 的引导因子.
依据式 (6), 引导受食第 iii 个食物源的位置更新 如下:
xi(t+1)={xi(t)f[xi(t)]⩽f[vi(t+1)]vi(t+1)f[xi(t)]>f[vi(t+1)](7)x_i(t+1)=\left\{\begin{array}{cc} x_i(t) & f\left[x_i(t)\right] \leqslant f\left[v_i(t+1)\right] \\ v_i(t+1) & f\left[x_i(t)\right]>f\left[v_i(t+1)\right] \end{array}\right. \tag{7} xi​(t+1)={xi​(t)vi​(t+1)​f[xi​(t)]⩽f[vi​(t+1)]f[xi​(t)]>f[vi​(t+1)]​(7)
式中: xi(t+1)x_i(t+1)xi​(t+1) 表示第 (t+1)(t+1)(t+1) 次迭代第 iii 个食物源位 置; f(⋅)f(\cdot)f(⋅) 表示函数适应度值; 其他参数意义同上.

1.3 区域觅食

蜂鸟在访问了目标食物源后, 很可能会移动到自 己领地外的邻近区域寻找新的食物源, 而不是访问其 他现有的食物源. 邻近区域候选食物源位置更新数学 描述如下:
vi(t+1)=xi(t)+b⋅D⋅xi(t)(8)v_i(t+1)=x_i(t)+b \cdot D \cdot x_i(t) \tag{8} vi​(t+1)=xi​(t)+b⋅D⋅xi​(t)(8)
式中: bbb 表示服从正态分布 ((( 均值 =0=0=0, 标准偏差 =1=1=1 ) 的区域因子; 其他参数意义同上.

1.4 迁徙觅食

当蜂鸟经常造访的区域缺乏食物时, 蜂鸟通常会 迁移到较远的食物来源区进行受食. 花蜜补充率最差 食物源位置更新数学描述如下:
xwor (t+1)=SL+r⋅(Su−SL)(9)x_{\text {wor }}(t+1)=S_{\mathrm{L}}+r \cdot\left(S_{\mathrm{u}}-S_{\mathrm{L}}\right) \tag{9} xwor ​(t+1)=SL​+r⋅(Su​−SL​)(9)
式中: xwor x_{\text {wor }}xwor ​ 表示种群中花蜜补充率最差的食物源位 置; 其他参数意义同上.

2.实验结果

3.参考文献

[1]Zhao Weiguo,Wang Liying,Mirjalili Seyedali. Artificial hummingbird algorithm: A new bio-inspired optimizer with its engineering applications[J]. Computer Methods in Applied Mechanics and Engineering,2022,388.

[2] 崔东文,袁树堂.基于WPD-AHA-ELM模型的水质时间序列多步预测[J/OL].三峡大学学报(自然科学版):1-8[2022-12-20].DOI:10.13393/j.cnki.issn.1672-948X.2023.01.002.

4.Matlab

5.Python

智能优化算法:人工蜂鸟算法 - 附代码相关推荐

  1. 【智能优化算法-人工蜂鸟算法】基于人工蜂鸟算法求解多目标优化问题附matlab代码MOAHA

    1 内容介绍 在这项工作中提出了一种新的仿生优化算法,称为人工蜂鸟算法(AHA)来解决优化问题. AHA算法模拟自然界中蜂鸟的特殊飞行技能和智能觅食策略.模拟了觅食策略中使用的三种飞行技能,包括轴向. ...

  2. 基于人工蜂鸟算法的函数寻优及工程优化应用

    文章目录 一.理论基础 1.人工蜂鸟算法 (1)初始化 (2)引导觅食 (3)区域性觅食 (4)迁徙觅食 2.AHA伪代码 二.仿真实验与分析 1.函数测试与数值分析 2.求解压缩弹簧设计优化问题 3 ...

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

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

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

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

  5. 多目标优化算法:多目标人工蜂鸟算法MOAHA(提供Matlab代码)

    一.算法简介 人工蜂鸟算法(Artificial hummingbird algorithm,AHA)由Weiguo Zhao等人于2021年提出,其灵感来自自然界中蜂鸟的特殊飞行技能和智能觅食策略. ...

  6. 优化算法:人工蜂鸟算法AHA

    目录 灵感 原理 初始化 引导觅食Guided foraging 领土觅食Territorial foraging 迁移觅食Migration foraging AHA伪代码 AHA与ABC的概念比较 ...

  7. 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码

    基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 文章目录 基于蝙蝠算法优化BP神经网络的数据分类算法及其MATLAB实现-附代码 1 蝙蝠算法与BP神经网络分类模型 1.1 蝙 ...

  8. 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码

    基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 文章目录 基于灰狼算法优化支持向量机的数据分类算法及其MATLAB实现-附代码 1 GWO-SVM 模型 1.1 灰狼优化器GWO ...

  9. 相位 unwrap 与 wrap 算法详解(附代码)

    相位 unwrap 与 wrap 算法详解(附代码) 最近接手了一个项目,光通信方面的,我负责编写初测结果的数据处理算法,其中有一个算法叫做 unwrap 与 wrap,之前没有听说过.通过询问同事与 ...

最新文章

  1. VBS基础篇 - wscript 对象
  2. 三四线城市高价房内幕:开发商坐庄,中介布局,购房者盲目下注
  3. 使用element ui 日期选择器获取值后的格式问题
  4. Google Mesa概览
  5. 【十二省联考2019】希望【点边容斥】【换根dp】【长链剖分】【线性数据结构】【回退数据结构】【离线逆元】
  6. 一个简单的单例模式的类
  7. 浅谈密码学中数论基础
  8. python中文件写入种类及功能方法
  9. 30 岁的超级玛丽怎样改变了游戏行业?
  10. Nvivo 12 Plus WIN版本丨中文英文 软件安装包下载 安装教程步骤丨WIN系统
  11. ie浏览器不支持java_用于解决IE浏览器中Java脚本无法执行
  12. [LaTeX] 将minipage环境中的脚注(footnote)放到正文并添加超链接
  13. windows2008 R2安装LoadRunner 11提示WindowsInstaller存储空间不足解决方法
  14. php显示cpu温度,cpu温度过高怎么办
  15. java enum compare_Java中枚举类型
  16. 深度学习论文: Cultivated Land Extraction from High-Resolution Remote Sensing Image
  17. 默认使用Adobe Acrobat DC打开设置
  18. VS2010+OSG3.2+CEGUI0.8.4环境下实现简单的HelloWorld程序
  19. 【强基计划】数学与物理竞赛中的微积分部分视频
  20. B2B电商平台--ChinaPay银联电子支付功能(实战)

热门文章

  1. 计算机常见故障排除实验报告,会计信息系统实验报告(1-6章)实验重点问题的分析问题...
  2. 分销模式多商户号设计
  3. Python网络爬虫进阶+正则表达式
  4. C#4.0捷径教程笔记(2)
  5. mysql进行getshell方法
  6. 日用化妆品行业如何利用订货软件进行统一管理
  7. 2021WSB-day2-4: Raffaele教授演示利用OpenCV和Python实现一个指纹识别系统 (含代码) part5
  8. 熊孩子天价打赏女直播,直播平台该如何应对?
  9. 【安全知识分享】安全生产标准化、6S和目视化.pptx(附下载)
  10. cpu刷新缓存是什么意思_CPU缓存刷新谬误