开丰娱乐-开丰注册登录绿色站

0898-08980898  13876453617

网站公告
诚信为本,市场在变,诚信永远不变...

分享本站:

开丰资讯

0898-08980898
传真:0000-1234-5678
邮件:admin@youweb.com
客服:

行业新闻

您当前的位置: 首页 > 开丰资讯 > 行业新闻

超详细 | 鲸鱼优化算法原理及其实现(Matlab/Python)

点击数:     更新时间:2024-07-08 14:16:52

鲸鱼优化算法(whale optimization algorithm,WOA)是由Mirjalili和Lewis[1]于2016年提出的一种新型群体智能优化搜索方法,它源于对自然界中座头鲸群体狩猎行为的模拟,该算法整个过程包含搜索觅食、收缩包围和螺旋更新位置三个阶段

鲸鱼优化算法的三个种群更新机制相互独立,因此其寻优阶段的全局探索和局部开发过程得以分别运行及控制。此外, 鲸鱼优化算法不需要人为的设置各种控制参数值, 提高了算法的使用效率并降低了应用难度。与其它群体智能优化算法相比, WOA算法结构新颖, 控制参数少,在许多数值优化和工程问题的求解中表现出较好的寻优性能,优于蚁群算法和粒子群算法等智能优化算法[1-2]。

下面对其原理及其编程实现作详细阐述,(ps:最近我也在学习Python,因此在编程实现中,我加入了Python的实现,写的不好请原谅

,希望对朋友们有帮助)


00 目录

1 鲸鱼优化算法原理

2 代码目录

3 算法性能

4 源码获取


01 鲸鱼优化算法原理

鲸鱼优化算法模拟鲸鱼的泡泡网捕食行为。这种攻击是座头鲸包围猎物时,沿着螺旋路径形成独特气泡来完成的[3],如图1所示。



图1 鲸鱼的泡泡网觅食行为

基于上述鲸鱼的泡泡网觅食行为,Mirjalili和Lewis 衍生出了鲸鱼优化算法。

WOA 算法假设鲸鱼捕捉的猎物为最优解,鲸鱼所在位置为潜在解。每次迭代时,通过随机数 p的取值和系数向量 A 的模来决定每头鲸鱼的位置更新策略更新策略即三种更新机制)。随着迭代的进行,鲸鱼种群不断向最优解靠拢。WOA 算法的3种种群更新机制中,

搜索觅食机制的数学定义为:


式中: X? rand(t)是从当前鲸鱼群体中随机选取的一个鲸鱼个体位置向量, X? (t)是当前的鲸鱼个体位置向量, |C?X? rand(t) ?X? (t)|表示当前鲸鱼个体和随机选取鲸鱼个体之间的距离向量,系数向量A?和C?的定义为:


式中控制参数向量?a随着迭代次数的增加从2线性减小到0, ?r是一个分布于[0, 1]之间的随机向量。

收缩包围机制的数学模型定义如下:


式中: X? best(t)是当前鲸鱼群体中目标函数值最优的 鲸鱼个体位置向量; A? |C? X? best(t) ? X? (t)|为当前鲸鱼个体的包围步长, A?越小时鲸鱼游走的步长越小。

螺旋更新位置阶段, 其数学模型可表示为:


式中: |X? best(t) ? X? (t)|表示当前鲸鱼个体与最佳位置鲸鱼之间的距离向量; 常量系数b决定了鲸鱼个体螺旋前进时的螺旋线形状, b取值为1时即为普通的对数螺旋线, l是[?1, 1]之间的随机数. WOA算法中鲸鱼个体位置向量X? (t)的每一个分量在种群更新时均独立进行。

综上所述,基本WOA算法流程图如下:


图2 WOA流程图

02 代码目录


MATLAB


Python


包含MATLAB和Python的程序、乱码解决以及一篇参考文献

考虑到很多同学获取代码后有乱码(matlab版本问题),可以将matlab版本改为2020或2021,或使用乱码解决文件夹中的txt文件即可。

部分代码:

MATLAB:

Python:


03 算法性能

采用CEC的测试函数F10来初步检验其寻优性能,F10的数学表达式如下:


在MATLAB中执行程序结果如下:


在Python中执行程序结果如下:


04 源码获取

公众号(KAU的云实验台)回复: WOA 大写字母

鲸鱼算法同样也有许多针对性的改进方法,作者在后面也会进行介绍和实现。

参考文献

[1]MIRJALILI S,LEWIS A. The whale optimization algorithm[J].Advances in Engineering Software,2016,95:51一 67.

[2]BUI D T,ABDULLAHI M M,GHAREH S,et al. Fine-tuning of neural computing using whale optimization algorithm for predicting compressive strength of concrete[J]. Engineering with Computers,2021,37(1):701- 712.

[3]Watkins W A, Schevill WE.Aerial observation of feeding behavior in four baleen whales: Eubalaena glacialis,Balaenoptera borealis,Megaptera novaeangliae,and Balaenoptera physalus[J]. Journal of Mammalogy,1979,60(1): 155-163.

另:如果有伙伴有待解决的优化问题(各种领域都可),可以发我,我会选择性的更新利用优化算法解决这些问题的文章。

如果这篇文章对你有帮助或启发,可以点击右下角的赞/在看(? _)?(不点也行),你们的鼓励就是我坚持的动力!若有定制需求,可私信作者。

(联系方式:公众号个人主页中--代码相关-定制代码)。

客服头部
0898-08980898
13876453617

网站二维码

平台注册入口