入门必看~~~~~群智能算法之鲸鱼优化算法(WOA)

群智能算法 专栏收录该内容
5 篇文章 2 订阅

前言:

鲸鱼优化算法(WOA)也是一种元启发式优化算法。一种新的模拟座头鲸狩猎行为的元启发式优化算法(鲸鱼优化算法,WOA)。目前的工作与其他群优化算法相比的主要区别在于,采用随机或最佳搜索代理来模拟捕猎行为,并使用螺旋来模拟座头鲸的泡泡网攻击机制。

算法原理:

座头鲸最有趣的地方是它们特殊的捕猎方法。这种觅食行为被称为泡泡网觅食法。座头鲸喜欢在接近海面的地方捕食磷虾或小鱼。值得一提的是,泡泡网捕食是一种独特的行为,只能在座头鲸身上观察到。本文对螺旋泡沫网进给机动进行了数学建模,以达到优化的目的。如下图所示:
在这里插入图片描述

包围猎物(Encircling prey):

座头鲸能够识别猎物的位置并将其包围。由于最优设计在搜索速度中的位置不是先验已知的,因此WOA算法假定当前的最佳候选解是目标猎物或接近最优解。在定义了最佳搜索代理之后,其他搜索代理将尝试向最佳搜索代理更新它们的位置。这一行为由以下方程(1)(2)表示:
在这里插入图片描述
其中t表示当前迭代,A和C是系数向量,X*是目前得到的最佳解的位置向量,X向量是位置向量,| |是绝对值,·是逐元素相乘。这里值得一提的是,如果存在更好的解决方案,那么应该在每次迭代中更新X*
其中向量A和C的计算方式如下(3)(4):
在这里插入图片描述
在整个迭代过程中 a 由2 线性降到 0; r1 和 r2 是 [0,1] 中的随机向量。

泡泡网攻击方式(Bubble-net attacking method):

方法一:收缩包围机制:这种行为是通过降低式(3)中a的值来实现的。注意A的波动范围也随着a的减小而减小,即a在迭代过程中从2减小到0而A的取值区间是[-a, a]中的一个随机值。即A为**[-2,2]**中的随机值,搜索代理的新位置可以定义在代理的原始位置和当前最佳代理的位置之间的任何位置。图(a)显示了在二维空间中当0<=A<=1时(X,Y)可能到达(X*,Y*)。
方法二:螺旋更新位置:如图(b)所示,这种方法首先计算位于(X,Y)的鲸鱼和位于(X*,Y*)的猎物之间的距离。然后在鲸鱼和猎物的位置之间建立一个螺旋方程,模拟座头鲸的螺旋形运动如下(5):

在这里插入图片描述
其中(6)
在这里插入图片描述
表示第i条鲸到猎物的距离(目前得到的最佳解),b为定义对数螺旋线形状的常数,l为[- 1,1]和中的随机数 . 是元素对元素的乘法。
泡泡网搜索机制在WOA中实现(X是目前获得的最佳解决方案):(a)收缩环绕机制和(b)螺旋更新位置如下图所示:
在这里插入图片描述

请注意,座头鲸在一个缩小的圆圈内绕着猎物游动,同时沿着螺旋形的路径游动。为了模拟这种同时发生的行为,我们假设有50%的概率可以在缩小的包围机制和螺旋模型之间做出选择,以更新鲸鱼的位置,数学模型如下(7):
在这里插入图片描述
其中p是0到1之间的随机数。

搜索猎物(Search for prey):

同样的基于向量A变化的方法也可以用来搜索猎物(探索)。事实上,座头鲸是根据彼此的位置随机搜索的。因此,我们使用随机值大于或小于1的A来迫使搜索代理远离参考鲸鱼。相对于开发阶段,我们根据随机选择的搜索代理来更新搜索代理在探索阶段的位置,而不是根据目前发现的最佳搜索代理。这种机制和|A| > 1强调探索,并允许WOA算法执行全局搜索。
数学模型如下(8)(9):
在这里插入图片描述

©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

Merry_hj

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值