智能优化算法:黑猩猩优化算法-附代码

文章目录

  • 智能优化算法:黑猩猩优化算法-附代码
    • 1.算法原理
      • 1.1 驱赶和追逐猎物
      • 1.2 攻击方式
      • 1.3 攻击和寻找猎物
    • 2.算法结果
    • 3.参考文献
    • 4.Matlab代码

摘要:黑猩猩优化算法(ChOA) 是 M. Khishe 等人于2020 年根据黑猩猩群体狩猎行为提出的一种新型元启发式优化算法。具有收敛速度快,精度高等特点。

1.算法原理

ChOA 通过模拟攻击黑猩猩、驱赶黑猩猩、拦截黑猩猩和追逐黑猩猩 4 类黑猩猩协同狩
猎行为来达到求解问题的目的。

1.1 驱赶和追逐猎物

在黑猩猩狩猎过程中,通常根据黑猩猩个体智力和性动机来分配狩猎职责。任
何黑猩猩均可随机改变其在猎物周围空间中的位置,数学描述为:
d=∣cXprey(t)−mXchimp(t)∣(1)d=|cX_{prey}(t)-mX_{chimp}(t)| \tag{1} d=∣cXprey​(t)−mXchimp​(t)∣(1)

Xchimp(t+1)=Xprey(t)−ad(2)X_{chimp}(t+1)=X_{prey}(t)-ad\tag{2} Xchimp​(t+1)=Xprey​(t)−ad(2)

式中:ddd为黑猩猩与猎物间距; ttt为当前迭代次数;Xprey(t)X_{prey}(t)Xprey​(t)为猎物位置向量; Xchimp(t)X_{chimp}(t)Xchimp​(t)为黑猩猩位置向量; a、m、ca、m、ca、m、c​为系数向量,a=2fr1−fa = 2fr_1-fa=2fr1​−f,c=2r2c = 2r_2c=2r2​​ ,$m=Chaotic_value ​(基于混沌映射的混沌向量),​(基于混沌映射的混沌向量),​(基于混沌映射的混沌向量),f$ 为迭代过程中从2非线性降至0,r1,r2r_1,r_2r1​,r2​​为[0,1]范围内的随机向量。

1.2 攻击方式

黑猩猩能够探查猎物位置(通过驱赶、拦截和追逐),然后包围猎物。狩猎过程通常由
攻击黑猩猩进行,驱赶黑猩猩、拦截黑猩猩和追逐黑猩猩参与狩猎过程。4 类黑猩猩通过下式更新其位置,其他黑猩猩根据最佳黑猩猩位置更新其位置,猎物位置由最佳黑猩猩个体位置估计。数学描述为:
{dAttacker=∣c1XAttacter−m1X∣dBarrier=∣c2XBarrier−m2X∣dChaser=∣c3XChaser−m3X∣dDriver=∣c4XDriver−m4X∣(3)\begin{cases}d_{Attacker}=|c_1X_{Attacter}-m_1X|\\ d_{Barrier}=|c_2X_{Barrier}-m_2X|\\ d_{Chaser}=|c_3X_{Chaser}-m_3X|\\ d_{Driver}=|c_4X_{Driver}-m_4X|\end{cases}\tag{3} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​dAttacker​=∣c1​XAttacter​−m1​X∣dBarrier​=∣c2​XBarrier​−m2​X∣dChaser​=∣c3​XChaser​−m3​X∣dDriver​=∣c4​XDriver​−m4​X∣​(3)

{X1=XAttacter−a1dAttackerX2=XBarrier−a2dBarrierX3=XChaser−a3dChaserX4=XDriver−a4dDriver(4)\begin{cases}X_1=X_{Attacter}-a_1d_{Attacker}\\ X_2=X_{Barrier}-a_2d_{Barrier}\\ X_3=X_{Chaser}-a_3d_{Chaser}\\ X_4 =X_{Driver}-a_4d_{Driver} \end{cases}\tag{4} ⎩⎪⎪⎪⎨⎪⎪⎪⎧​X1​=XAttacter​−a1​dAttacker​X2​=XBarrier​−a2​dBarrier​X3​=XChaser​−a3​dChaser​X4​=XDriver​−a4​dDriver​​(4)

X(t+1)=X1+X2+X3+X44(5)X(t+1)=\frac{X_1+X_2+X_3+X_4}{4}\tag{5} X(t+1)=4X1​+X2​+X3​+X4​​(5)

式中: dAttacker、dBarrier、dChaser、dDriverd_{Attacker} 、d_{Barrier} 、d_{Chaser} 、d_{Driver}dAttacker​、dBarrier​、dChaser​、dDriver​​​ 分别为当前攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩与猎物的间距; xAttacker、xBarrier、xChaser、xDriverx_{Attacker} 、x_{Barrier} 、x_{Chaser} 、x_{Driver}xAttacker​、xBarrier​、xChaser​、xDriver​​ 分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩相对于猎物的位置向量; a1~a4、m1~m4、c1~c4a_1 ~ a_4 、m_1 ~ m_4 、c_1~ c_4a1​~a4​、m1​~m4​、c1​~c4​​ 分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩、驱赶黑猩猩系数向量;$ X_1 、X_2 、X_3 、X_4 $​​分别为攻击黑猩猩、拦截黑猩猩、追逐黑猩猩和驱赶黑猩猩位置更新向量; XXX​为其他黑猩猩位置向量。

1.3 攻击和寻找猎物

在狩猎最后阶段,一方面黑猩猩根据攻击者、驱赶者、拦截者和追逐者位置更新位置,并攻击猎物;另一方面黑猩猩通过分散寻找猎物显示探查过程,即 ChOA 全局搜索。

2.算法结果

3.参考文献

[1]Khishe M., ,and Mosavi M.R…“Chimp Optimization Algorithm.” Expert Systems with Applications .prepublish(2020): doi:10.1016/j.eswa.2020.113338.

[1]程国森,崔东文.黑猩猩优化算法-极限学习机模型在富水性分级判定中的应用[J].人民黄河,2021,43(07):62-66+103.

4.Matlab代码

改进算法matlab代码

名称 说明或者参考文献
多策略黑猩猩优化算法 [1]黄倩,刘升,李萌萌,郭雨鑫.多策略黑猩猩优化算法研究及其工程应用[J/OL].计算机工程与应用:1-12[2021-10-25].http://kns.cnki.net/kcms/detail/11.2127.TP.20210806.1055.011.html.

智能优化算法:黑猩猩优化算法-附代码相关推荐

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

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

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

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

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

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

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

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

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

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

  6. 数据挖掘领域十大经典算法之—SVM算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-Apriori算法 数据挖掘领域十大经 ...

  7. 二分查找算法详解(附代码)

    二分查找算法详解(附代码) 注: 现有一个升序 不重复的数组 查询target是否在此数组中并返回序号 使用条件 使用二分算法的两个条件: 有序 不重复 混淆处 二分算法两种方式容易弄混淆的地方:就是 ...

  8. 数据挖掘领域十大经典算法之—AdaBoost算法(超详细附代码)

    相关文章: 数据挖掘领域十大经典算法之-C4.5算法(超详细附代码) 数据挖掘领域十大经典算法之-K-Means算法(超详细附代码) 数据挖掘领域十大经典算法之-SVM算法(超详细附代码) 数据挖掘领 ...

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

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

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

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

最新文章

  1. 【Socket研究】~。~ Scoket开发蛋疼笔记 Silverlight
  2. day34 异常处理、断言、socket之ftp协议
  3. c语言如何跟进自定义赋值,用最简单的C语言编写自定义函数之数字后移
  4. ECMAScript6 新特性——“字符串的扩展”
  5. html百度蜘蛛跳转代码,php搜索引擎劫持,百度蜘蛛劫持,搜索引擎蜘蛛劫持原理及代码分享...
  6. Java初学者的学习思路与建议
  7. ios开发之plist 的文件的读写以及沙盒容器路径打印
  8. 最简单的 post 请求发起方式、调用其它系统接口
  9. LeetCode 1236. 网络爬虫(BFS/DFS)
  10. mysql视图存储_Mysql 视图、存储过程以及权限控制
  11. javax.crypto.IllegalBlockSizeException: Input length not multiple of 8 bytes
  12. Delphi应用程序的调试(三)监视变量
  13. 将python中的小数直接进位的函数_python保留小数位的三种实现方法
  14. [BZOJ4521][Cqoi2016]手机号码 (数位dp)
  15. Qt下PDF阅读器的开发
  16. ZZULIOJ-1047,对数表(Python)
  17. AI资源对接需求汇总: 第4期
  18. 移动互联网时代的 Google,战略指向笔记本
  19. 【Linux】FirefoxBrowser 火狐浏览器安装 FlashPlayer 插件
  20. python中求和符号怎么打_参数siz向量的python符号求和与微分

热门文章

  1. 08. 切勿创建包含auto_ptr的容器
  2. zookeeper 进入客户端_探究—Zookeeper的启动过程
  3. python中正则表达式的用法_详解Python中的正则表达式的用法
  4. java实现电子面单pdf生成_福利!使用Aspose.Words在Java中将Word格式转换为PDF完整指南...
  5. hbase动态更改行键设计_nosql – HBase行键设计,用于单调递增键
  6. C语言获取linux接口状态,[linux] C语言Linux系统编程-TCP通信的11种状态
  7. Java编程:弗洛伊德算法(无向图所有顶点最小路径)
  8. SLAM_SLAM中一般是如何求解相机的运动的?
  9. 论文评析-Incremental Boosting Convolutional Neural Network for Facial Action Unit Recognition,NIPS, 2016
  10. opencv中的图像拼接