基于鲸鱼优化算法的函数寻优算法

一、理论基础

1、启发

鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili等提出的一种新的群体智能优化算法,其优点在于操作简单、参数少以及跳出局部最优的能力强。
在这里插入图片描述

图1 座头鲸的狩猎摄食行为

2、包围猎物

座头鲸能识别猎物的位置并围着它们转。由于最优位置在搜索空间中的位置是未知的,WOA算法假设当前的最佳候选解是目标猎物或接近最优解。在定义了最佳候选解之后,其他候选位置将尝试向最佳位置移动并更新其位置。此行为由以下等式表示: D → = ∣ C → X ∗ → ( t ) − X → ( t ) ∣ (1) \overrightarrow{\boldsymbol D}=|\overrightarrow{\boldsymbol C}\overrightarrow{\boldsymbol X^*}(\boldsymbol{t})-\overrightarrow{\boldsymbol X}(\boldsymbol{t})|\tag{1} D =C X (t)X (t)(1) X → ( t + 1 ) = X ∗ → ( t ) − A → ⋅ D → (2) \overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol A}\boldsymbol\cdot \overrightarrow{\boldsymbol D}\tag{2} X (t+1)=X (t)A D (2)其中, t t t是当前迭代次数; A → \overrightarrow{\boldsymbol A} A C → \overrightarrow{\boldsymbol C} C 为系数向量, X ∗ ( t ) \boldsymbol X^*(t) X(t)表示目前为止最好的鲸鱼位置向量, X ( t ) \boldsymbol X(t) X(t)表示当前鲸鱼的位置向量。
向量 A → \overrightarrow{\boldsymbol A} A C → \overrightarrow{\boldsymbol C} C 可由以下计算得到: A → = 2 a → ⋅ r → − a → (3) \overrightarrow{\boldsymbol A}=2\overrightarrow{\boldsymbol a}\cdot\overrightarrow{\boldsymbol r}-\overrightarrow{\boldsymbol a}\tag{3} A =2a r a (3) C → = 2 ⋅ r → (4) \overrightarrow{\boldsymbol C}=2\cdot \overrightarrow{\boldsymbol r}\tag{4} C =2r (4)其中, a \boldsymbol a a的值从2线性减少到0, r → \overrightarrow{\boldsymbol r} r 是[0,1]中的随机向量。

3、狩猎行为

根据座头鲸的狩猎行为,它是以螺旋运动游向猎物,故狩猎行为的数学模型如下: X → ( t + 1 ) = D ′ → ⋅ e b l ⋅ c o s ( 2 π l ) + X ∗ → ( t ) (5) \overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol D'}\cdot e^{bl}\cdot cos(2\pi l)+\overrightarrow{\boldsymbol X^*}(t)\tag{5} X (t+1)=D eblcos(2πl)+X (t)(5)其中, D ′ → = ∣ X ∗ → ( t ) − X → ( t ) ∣ \overrightarrow{\boldsymbol D'}=|\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol X}(t)| D =X (t)X (t)表示鲸鱼和猎物之间的距离, X ∗ → ( t ) \overrightarrow{\boldsymbol X^*}(t) X (t)表示目前为止最好的位置向量, b b b是对数螺线形状的常数, l l l是[-1,1]中的一个随机数。
注意到座头鲸在一个缩小的包围圈内绕着猎物游动,同时沿着螺旋形的路径游动。为了模拟这种同时发生的行为,我们假设有50%的可能性来选择收缩包围机制或螺旋模型来更新优化过程中鲸鱼的位置。数学模型如下: X → ( t + 1 ) = { X ∗ → ( t ) − A → ⋅ D → i f     p < 0.5 X → ( t + 1 ) = D ′ → ⋅ e b l ⋅ c o s ( 2 π l ) + X ∗ → ( t ) i f     p > 0.5 (6) \overrightarrow{\boldsymbol X}(t+1)=\begin{dcases}\overrightarrow{\boldsymbol X^*}(t)-\overrightarrow{\boldsymbol A}\cdot\overrightarrow{\boldsymbol D}\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad if\,\,\, p < 0.5\\\overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol D'}\cdot e^{bl}\cdot cos(2\pi l)+\overrightarrow{\boldsymbol X^*}(t)\quad if\,\,\, p > 0.5\end{dcases}\tag{6} X (t+1)=X (t)A D ifp<0.5X (t+1)=D eblcos(2πl)+X (t)ifp>0.5(6)算法设定当 ∣ A → ∣ < 1 |\overrightarrow{\boldsymbol A}|<1 A <1时,鲸鱼向猎物发起攻击。

4、搜索猎物

数学模型如下: D → = ∣ C → ⋅ X r a n d → − X → ∣ (7) \overrightarrow{\boldsymbol D}=|\overrightarrow{\boldsymbol C}\cdot\overrightarrow{\boldsymbol X_{rand}}-\overrightarrow{\boldsymbol X}|\tag{7} D =C Xrand X (7) X → ( t + 1 ) = X r a n d → − A → ⋅ D → (8) \overrightarrow{\boldsymbol X}(t+1)=\overrightarrow{\boldsymbol X_{rand}}-\overrightarrow{\boldsymbol A}\cdot\overrightarrow{\boldsymbol D}\tag{8} X (t+1)=Xrand A D (8)其中, X r a n d → \overrightarrow{\boldsymbol X_{rand}} Xrand 是随机选择的鲸鱼位置向量,算法设定当 ∣ A → ∣ > 1 |\overrightarrow{\boldsymbol A}|>1 A >1时,随机选择一个搜索个体,根据随机选择的鲸鱼位置来更新其他鲸鱼的位置,迫使鲸鱼偏离猎物,借此找到一个更合适的猎物,这样可以加强算法的探索能力使WOA算法能够进行全局搜索。

二、结果显示

在这里插入图片描述

图2 基准函数的三维图形

在这里插入图片描述

图3 算法进化过程

三、参考文献

[1] Seyedali Mirjalili, Andrew Lewis. The Whale Optimization Algorithm[J]. Advances in Engineering Software, 2016, 95: 51-67.

  • 4
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于自然界鲸鱼行为的启发式优化算法。该算法模拟了鲸鱼群体中的个体行为,通过迭代搜索来寻找最优解。 基于鲸鱼优化算法的VMD(Variational Mode Decomposition)是一种信号处理方法,用于分解非线性和非平稳信号。VMD算法通过将信号分解为一系列本征模态函数(Intrinsic Mode Functions, IMF)和一残差项来提取信号的时频信息。 在VMD中,基于鲸鱼优化算法的优点主要体现在两个方面。首先,鲸鱼优化算法具有全局搜索能力和快速收敛速度,可以帮助VMD更好地找到信号的本征模态函数。其次,鲸鱼优化算法具有强大的自适应性和灵活性,可以自动调整算法参数以适应不同的信号特征和噪声干扰情况。 基于鲸鱼优化算法的VMD的具体步骤如下: 1. 初始化鲸鱼群体,并为每个鲸鱼随机分配初始位置和速度。 2. 根据每个鲸鱼的位置,计算信号的本征模态函数。 3. 计算每个鲸鱼的适应度值,其中适应度值可以根据本征模态函数的频域和时域信息进行评估。 4. 根据适应度值更新鲸鱼的速度和位置,以便更好地搜索更优的解。 5. 判断是否达到停止条件,如达到最大迭代次数或满足预定准确度。 6. 如果停止条件未满足,重复步骤2至5。 7. 输出最优的本征模态函数和残差项,作为信号的分解结果。 基于鲸鱼优化算法的VMD能够有效地提取信号的时频信息,并在信号处理、振动分析、通信等领域具有广泛的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值