适合做应用的算法-鲸鱼优化算法(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鲸鱼

相关推荐
非优秀程序员1 小时前
第05章 播放器大战,暴风、快播与那一夜|《互联网产品恩仇录》
算法
武子康8 小时前
驾驶轨迹换个坐标,就能给移动机器人用吗?
人工智能·算法·机器学习
lisw0514 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
一起学安全技术14 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Delightrs15 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信1504130575916 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法
.道阻且长.21 小时前
AI 按数据模态分类:计算机视觉、NLP、语音处理,一篇理清
人工智能·计算机视觉·分类
GoAI1 天前
DeepSeek Harness Memory (一)主流记忆插件总结
后端·算法·面试