适合做应用的算法-鲸鱼优化算法(WOA)详细原理-附matlab代码

鲸鱼优化算法 (Whale optimization Algorithm, WOA)是 2016 年由 Mirjalili 等提出的一种新型启发式搜索算法,该算法通过模仿座头鲸在海洋中的捕食行为, 对鲸鱼群体搜索、包围和攻击过程模拟实现来寻找最优解. 与传统的元启发式优化算法相比, 鲸鱼优化算法具有操作简单, 需要设置的参数少, 寻优能力强等优点 . 目前 WOA 已应用在特征规划、光伏发电短期预测、云计算任务调度、路径规划等多个领域。如果你还在为你的应用寻找合适的算法,那么不妨试试这个算法,这个算法一般能在较好的效果的基础上够很好地满足约束体条件和惩罚项。

目前谷歌学术引用量达到10651次,基本上各种应用都有,使用非常广泛。

目前在中国知网上相关的额文献为2104篇,尽管它是2016年提出的,但是并不是特别久远,属于现在应用比较多、流行的算法。

可以看出,基本山各行各业都有一定的应用。

基本原理:

鲸鱼优化算法是模仿座头鲸独特的捕猎行为, 根据鲸鱼的捕食特点, 将鲸鱼的捕食行为分为三个阶段: 收缩包围,与泡网攻击, 随机搜索.

  1. 收缩包围

    在自然界中,鲸鱼可以找到猎物的位置并对它们进行包围捕食,WOA中假设当前种群的最优个体是猎物,种群中其他鲸鱼个体均向最优鲸鱼位置包围来更新其自身位置,其位置由公式(1)和(2)更新:

2.气泡网

座头鲸在捕猎时,以螺旋运动的轨迹游向猎物,在WOA,鲸鱼个体通过公式(6)和(7)来更新位置:

3.开发阶段

鲸鱼优化算法的开发阶段包括收缩包围和气泡网攻击两个阶段。当A的绝对值小于1时,由于鲸鱼在缩小的包围圈内围绕猎物沿着螺旋轨迹游动,因此鲸鱼有50%的可能选择包围猎物,还有50的可能会选择气泡网攻击,这个过程通过公式(8)得到:

4.探索阶段(随机搜索)

当A的绝对值大于等于1时,鲸鱼根据其位置随机搜索和捕食,在WOA中,鲸鱼通过公式(9)和(10)更新其位置:

执行过程:

在cec2005上运行,

F1:

F3:

F5:

F7:

matlab代码,微信公众号:算法仓库,后台回复:WOA鲸鱼

相关推荐
Peregrine97 分钟前
C++ - > 类和对象
java·c++·算法
Gigavision1 小时前
DEAP数据集 2026最新Transformer算法 DEAP 数据集 下载
深度学习·算法·transformer
夜之眷属1 小时前
PriorityQueue:for-each 遍历和 poll 取出,顺序一样吗?
java·服务器·数据结构·后端·算法
地平线开发者2 小时前
不是线程越多越快:用 hrt_model_exec 在 征程6M 上给 YOLOv5x 建立性能基线
算法
姜鱼问生3 小时前
fail2ban 实战:从默认配置到生产可用
后端·算法·架构
垆边人似月.3 小时前
华为题:全排列
算法·深度优先·图论
杜 硕3 小时前
快速排序详解01
数据结构·算法·排序算法
chhttty3 小时前
Stateflow状态机建模:数据
matlab·simulink
Matlab程序猿3 小时前
【MATLAB源码-第459期】基于matlab的D-H模型与阻尼最小二乘逆运动学的六自由度机械臂五次轨迹规划及动力学前馈PD控制仿真。
人工智能·算法·matlab·d-h建模·六自由度串联机械臂
信奥卷王3 小时前
[GESP202606 六级] 满二叉树
数据结构·算法