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

1.简述

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

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

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

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

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

智能优化算法论文python复现,附代码--鲸鱼优化算法(WOA)-1_第1张图片

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

2.算法模型及流程

 模型公式:

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

 其中,t表示当前迭代次数, X(t)是待更新个体的位置向量,X^{*}(t)是当前鲸鱼种群最佳位置,\vec{A}\vec{C}是参数向量,由如下定义:

智能优化算法论文python复现,附代码--鲸鱼优化算法(WOA)-1_第2张图片

其中,\vec{a}的分量在迭代过程中2线性减少至0,\vec{r1}\vec{r2}的分量是取值在[0,1]之间的随机数.

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

其中,\left \| X^{*}(t)- X(t)\right \|鲸鱼个体到猎物的距离,b是对数螺旋线常数,l之间的随机数,e是自然常数.结合包围猎物的公式,整体搜索策略为:

智能优化算法论文python复现,附代码--鲸鱼优化算法(WOA)-1_第3张图片

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

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

其中,X_{rand}为任意随机鲸鱼个体

 算法流程:

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

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

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

智能优化算法论文python复现,附代码--鲸鱼优化算法(WOA)-1_第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_第5张图片

你可能感兴趣的:(优化算法,算法,启发式算法,python)