1.简述

注:代码在文末链接,有条件的建议读原始论文,白嫖给个点赞,谢谢各位读者大老爷。

简述:鲸鱼优化算法是模仿自然界中鲸鱼捕食行为的新型群体智能优化算法,而鲸鱼的捕食行为主要分为3类:

1)包围猎物,即局部搜索

2)泡网攻击捕猎,即局部搜索

3)搜索捕食,即全局搜索

通过数学公式模拟鲸鱼捕食猎物的三种行为,即可完成算法的搜索。

2.算法模型及流程

模型公式:

1)包围猎物:鲸鱼选择种群中最优的个体进行跟踪,以期望找到一个比当前位置更优的地方(发现比当前解更优的解),数学模型如下。

其中,表示当前迭代次数, 是待更新个体的位置向量,是当前鲸鱼种群最佳位置,是参数向量,由如下定义:

其中,的分量在迭代过程中由2线性减少至0,的分量是取值在[0,1]之间的随机数.

2) 气泡网攻击捕猎:鲸鱼选择种群中最优的个体发起气泡网螺旋进攻策略,以最优个体为中心进行螺旋式搜索,数学模型如下。

其中,为鲸鱼个体到猎物的距离,是对数螺旋线常数,是之间的随机数,是自然常数.结合包围猎物的公式,整体搜索策略为:

为在0~1之间均匀分布的任意随机数,用于控制鲸鱼选择围猎策略

3) 搜索捕食:鲸鱼随机选择种群中的任意个体进行跟踪,数学模型如下:

其中,为任意随机鲸鱼个体

算法流程:

参照原论文的算法流程进行

(1)初始化参数,鲸鱼种群规模大小,最大迭代次数
        (2)算法初始化鲸鱼种群的位置;
        (3)计算每鲸鱼的适应度值,找到其中最优的个体。

(4)依据A和P的值选择3种策略当中的搜索方式进行种群的更新。
        (5)若达到终止条件,则输出最优个体;否则,返回步骤(4)

参考文献:

Seyedali Mirjalili,Andrew Lewis. The Whale Optimization Algorithm[J]. Advances in Engineering Software,2016,95

3.代码及实现效果

链接:https://pan.baidu.com/s/1APz67shJR2bvF-FL0HxnMw 
提取码:ys5h

代码运行效果:

 欢迎关注,持续更新,后续更新函数测试集。。。

智能优化算法论文python复现,附代码--鲸鱼优化算法(WOA)-1相关推荐

  1. 手把手教你在多种无监督聚类算法实现Python(附代码)

    来源: 机器之心 本文约2704字,建议阅读6分钟. 本文简要介绍了多种无监督学习算法的 Python 实现,包括 K 均值聚类.层次聚类.t-SNE 聚类.DBSCAN 聚类. 无监督学习是一类用于 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  10. 百度上线惊雷算法3.0,附百度SEO惊雷算法解读

    近日宋九九编辑发现百度上线了惊雷算法3.0,这次的算法主要是打击刷点击排名作弊行为,也就是这几年在SEO圈中非常火的"快排"方法,也能说是一种黑帽SEO.作者宋九九 相对于惊雷算法 ...

最新文章

  1. Linux shell 学习笔记(3)— shell 父子关系及内建命令
  2. 你未必知道的CSS故事:揭开leading的面纱
  3. MySIAM与Innodb引擎
  4. 《数据库系统实训》实验报告——数据库维护
  5. C++——《算法分析与设计》实验报告——二分搜索算法
  6. windows路由表 重启后就还原了_绕过Apple id并可以随意重启的终极方案来了 (Windows下操作)...
  7. Js原生元素选择器 _$获取id class attr 属性集合
  8. mysql sakila world_MySQL 安装示例数据库(employee、world、sakila、menagerie 等)
  9. 多线程并发-java内存模型和计算机基础
  10. 「备战春招/秋招」美团Java面经总结终结篇(附详解答)
  11. 出去计算机写保护,Win7复制文件提示磁盘被写保护,请去掉写保护或另一张磁盘怎么解除...
  12. sir模型初始值_SIR模型简单了解(Susceptible Infected Recovered Model)
  13. PostgreSQL安装(绿色版)
  14. [zabbix]cat ‘/home/cjw/create (1).sql/data‘ | mysql -uzabbix -p123456 -Dzabbix ERROR 1049 (42000):
  15. thinkphp5实现评论回复功能
  16. Unity Steam_VR VRTK开发插件自带案例详解(一)
  17. 是时候用ActiveSync同步Traveler手机邮件了
  18. 微信域名防封之使用自定义短域名和短域名服务器-不死鸟微信域名防封系统
  19. R语言计算相关系数时出现NA的解决办法
  20. torch.mul() 和 torch.mm() 的区别

热门文章

  1. js前端之浅拷贝与深拷贝
  2. Java中重写与重载的区别
  3. Qt::QWidget 无默认标题栏边框的拖拽修改大小方式
  4. vector::erase()的那些事儿
  5. 计算机截图工具无法运行,win7运行截图工具提示截图工具未运行解决方法
  6. 舆情监测平台TOOM
  7. win10计算机优化技巧,教你win10优化技巧
  8. 关于传奇MapInfo地图文件参数详细说明
  9. 仿英雄联盟网页HTML代码 学生网页设计与制作期末作业下载 大学生网页设计与制作成品下载 DW游戏介绍网页作业代码下载
  10. Windows上如何搭建web网站,并发布到外网可访问?2-2