鲸鱼优化算法(WOA)

鲸鱼优化算法(WOA)

1.前言:

一种元启发式优化算法,模拟座头鲸狩猎行为的元启发式优化算法。该算法具有机制简单、参数少、寻优能力强等优点,在众多领域得到广泛的应用。

2.算法基本原理:

标准 WOA 模拟了座头鲸特有的搜索方法和围捕机制,主要包括:围捕猎物、气泡网捕食、搜索猎物三个重要阶段。WOA 中每个座头鲸的位置代表一个潜在解,通过在解空间中不断更新鲸鱼的位置,最终获得全局最优解。
(1)围捕猎物(Encircling prey)
鲸鱼的搜索范围是全局解空间,需要先确定猎物的位置以便包围。在定义了最佳搜索代理之后,其他搜索代理将尝试向最佳搜索代理更新它们的位置。这一行为由以下方程
D = ∣ C × X ∗ ( t ) − X ∗ ( t ) ∣ D = \left| {C \times X*(t) - X*(t)} \right| D=C×X(t)X(t) X ( t + 1 ) = X ∗ ( t ) − A ∗ D X(t + 1) = X*(t) - A*D X(t+1)=X(t)AD
其中:t表示当前迭代次数,A和C是系数向量,X*(t)是目前得到的最佳解的位置向量,X(t)向量是位置向量,其中向量A和C的计算方式如下
A = 2 a × r 1 − a A = 2a \times {r_1} - a A=2a×r1a C = 2 × r 2 C = 2 \times {r_2} C=2×r2
在整个迭代过程中 a 由2线性降到0; r1 和 r2 是0-1中的随机向量。
(2)气泡网捕食:
座头鲸捕食主要有两个机制:包围捕食和气泡网捕食。采用气泡网捕食时,座头鲸与猎物间的位置更新用对数螺旋方程表达。
X ( t + 1 ) = D ′ × e b l × cos ⁡ ( 2 π l ) + X ∗ ( t ) X(t + 1) = D' \times {e^{bl}} \times \cos (2\pi l) + X*(t) X(t+1)=D×ebl×cos(2πl)+X(t) D ′ = ∣ X ∗ ( t ) − X ( t ) ∣ D' = \left| {X*(t) - X(t)} \right| D=X(t)X(t)
D’ ——当前搜索个体与当前最优解的距离;
b——螺旋形状参数;
l ——值域为[-1,1]均匀分布的随机数。
由于靠近猎物过程中有两种捕食行为,因此 WOA 根据概率 p 来选择气泡网捕食或者收缩包围,位置更新公式如下。
p 为[0,1]的随机数。随着迭代次数 t 的增加,参数 A 和收敛因子 a 逐渐减小,若|A| < 1,则各鲸鱼逐渐包围当前最优解,在 WOA 中属于局部寻优阶段。
(3)搜索猎物:
为保证所有鲸鱼在解空间中充分搜索,WOA 根据鲸鱼彼此之间的距离来更新位置,达到随机搜索的目的。因此,当|A| ≥ 1|时,搜索个体会游向随机鲸。
D ′ ′ = ∣ C × X r a n d ( t ) − X ( t ) ∣ D'' = \left| {C \times {X_{rand}}(t) - X(t)} \right| D′′=C×Xrand(t)X(t) X ( t + 1 ) = X r a n d ( t ) − A ∗ D X(t + 1) = {X_{rand}}(t) - A*D X(t+1)=Xrand(t)AD式中:
D’'——当前搜索个体与随机个体的距离。
X r a n d ( t ) {X_{rand}}(t) Xrand(t)——当前随机个体的位置

3仿真图片:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昨日与你1

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值