融合鲸鱼算法的混合灰狼优化算法

一、理论基础

1、基本灰狼优化算法

请参考这里

2、混合灰狼优化算法

(1)融入螺旋泡网狩猎机制

为了避免GWO算法陷入局部最优,本文不仅融入了WOA算法的螺旋泡网狩猎方式,同时也采用WOA算法中的随机概率因子来选择不同的狩猎行为。此外,WOA算法也易陷入局部最优且全局探索能力不强,因此需要通过基于Levy飞行算法的随机游走策略来提高算法的全局搜索能力以及提高种群的多样性。具体操作如下:
首先,按照蒙特卡洛方法生成随机向量 L e v y → \overrightarrow{Levy} Levy ,公式如下: L e v y → = ( s 1 , s 2 , ⋯   , s n ) ,    s i = μ ∣ ν ∣ 1 / λ ,    i = 1 , 2 , ⋯   , n (1) \overrightarrow{Levy}=(s_1,s_2,\cdots,s_n),\,\,s_i=\frac{\mu}{|\nu|^{1/\lambda}},\,\,i=1,2,\cdots,n\tag{1} Levy =(s1,s2,,sn),si=ν1/λμ,i=1,2,,n(1)其中,参数 λ \lambda λ取1.5, μ \mu μ ν \nu ν服从标准差为 σ μ = [ Γ ( 1 + λ ) ∗ sin ⁡ ( π ∗ λ / 2 ) Γ [ ( 1 + λ ) / 2 ] ∗ λ ∗ 2 ( λ − 1 ) / 2 ] 1 / λ \displaystyle\sigma_\mu=\left[\frac{\Gamma(1+\lambda)*\sin(\pi*\lambda/2)}{\Gamma[(1+\lambda)/2]*\lambda*2^{(\lambda-1)/2}}\right]^{1/\lambda} σμ=[Γ[(1+λ)/2]λ2(λ1)/2Γ(1+λ)sin(πλ/2)]1/λ σ ν = 1 \sigma_\nu=1 σν=1的正态分布。然后,引入随机概率因子 p ∈ [ 0 , 1 ] p\in[0,1] p[0,1],当 p ≥ 0.5 p\geq0.5 p0.5时,灰狼群体根据最优个体的位置 X → α \overrightarrow{X}_\alpha X α采用混合Levy飞行算法的螺旋泡网狩猎行为进行位置更新,即 X → ′ ( t ) = X → α ( t ) + L e v y → ⋅ ∣ X → α ( t ) − X → ( t ) ∣ ⋅ e b l ⋅ cos ⁡ ( 2 π l ) (2) \overrightarrow X'(t)=\overrightarrow X_\alpha(t)+\overrightarrow{Levy}\cdot\left|\overrightarrow X_\alpha(t)-\overrightarrow X(t)\right|\cdot e^{bl}\cdot\cos(2\pi l)\tag{2} X (t)=X α(t)+Levy X α(t)X (t)eblcos(2πl)(2)其中, b b b为螺旋方程的常量系数,通常取 b = 1 b=1 b=1 l l l [ − 1 , 1 ] [-1,1] [1,1]间的一个随机数。当 p < 0.5 p<0.5 p<0.5时,灰狼个体按照原始GWO模型进行包围狩猎。

(2)改变包围狩猎机制的位置更新公式

为了提高灰狼优化算法的收敛速度,本文设计一种新的位置更新公式来替代原始公式,具体的数学表达式如下: W → 1 = ∣ X → 1 ∣ / ( ∣ X → 1 ∣ + ∣ X → 2 ∣ + ∣ X → 3 ∣ ) (3) \overrightarrow W_1=\left|\overrightarrow X_1\right|/(\left|\overrightarrow X_1\right|+\left|\overrightarrow X_2\right|+\left|\overrightarrow X_3\right|)\tag{3} W 1=X 1/(X 1+X 2+X 3)(3) W → 2 = ∣ X → 2 ∣ / ( ∣ X → 1 ∣ + ∣ X → 2 ∣ + ∣ X → 3 ∣ ) (4) \overrightarrow W_2=\left|\overrightarrow X_2\right|/(\left|\overrightarrow X_1\right|+\left|\overrightarrow X_2\right|+\left|\overrightarrow X_3\right|)\tag{4} W 2=X 2/(X 1+X 2+X 3)(4) W → 3 = ∣ X → 3 ∣ / ( ∣ X → 1 ∣ + ∣ X → 2 ∣ + ∣ X → 3 ∣ ) (5) \overrightarrow W_3=\left|\overrightarrow X_3\right|/(\left|\overrightarrow X_1\right|+\left|\overrightarrow X_2\right|+\left|\overrightarrow X_3\right|)\tag{5} W 3=X 3/(X 1+X 2+X 3)(5) X → ′ ( t ) = W → 1 ⋅ ( X → 1 − X → α ) + W → 2 ⋅ ( X → 2 − X → β ) + W → 3 ⋅ ( X → 3 − X → δ ) (6) \overrightarrow X'(t)=\overrightarrow W_1\cdot\left(\overrightarrow X_1-\overrightarrow X_\alpha\right)+\overrightarrow W_2\cdot\left(\overrightarrow X_2-\overrightarrow X_\beta\right)+\overrightarrow W_3\cdot\left(\overrightarrow X_3-\overrightarrow X_\delta\right)\tag{6} X (t)=W 1(X 1X α)+W 2(X 2X β)+W 3(X 3X δ)(6)并且这里 C → = 2 r → 1 (7) \overrightarrow C=2\overrightarrow r_1\tag{7} C =2r 1(7)其中 r → 1 \overrightarrow r_1 r 1取值与原始公式中的 r → 1 \overrightarrow r_1 r 1相同。

(3)贪婪选择策略

为了提高GWO算法的求解精度,比较 X → ( t ) \overrightarrow X(t) X (t) X → ′ ( t ) \overrightarrow X'(t) X (t)的适应度值,保留较小适应度值所对应的位置,作为本次更新后的位置 X → ( t + 1 ) \overrightarrow X(t+1) X (t+1)。具体操作如下:
f ( X → ′ ( t ) ) < f ( X → ( t ) ) f\left(\overrightarrow X'(t)\right)<f\left(\overrightarrow X(t)\right) f(X (t))<f(X (t)),则 X → ( t + 1 ) = X → ′ ( t ) \overrightarrow X(t+1)=\overrightarrow X'(t) X (t+1)=X (t),否则, X → ( t + 1 ) = X → ( t ) \overrightarrow X(t+1)=\overrightarrow X(t) X (t+1)=X (t)。其中, f ( X → ) f\left(\overrightarrow X\right) f(X )为灰狼的适应度值。

(4)混合灰狼优化算法步骤

混合灰狼优化(HWGWO)算法步骤如下:
步骤1 设置算法参数:种群规模 N N N,最大迭代次数 M a x _ i t e r Max\_iter Max_iter。初始化灰狼种群的位置 X → i ( 0 ) ( i = 1 , 2 , ⋯   , N ) \overrightarrow X_i(0)(i=1,2,\cdots,N) X i(0)(i=1,2,,N),令 t = 0 t=0 t=0
步骤2 计算灰狼种群 X → i ( t ) \overrightarrow X_i(t) X i(t)的适应度值大小,选择适应度最小的三只灰狼 X → α , X → β , X → δ \overrightarrow X_\alpha,\overrightarrow X_\beta,\overrightarrow X_\delta X α,X β,X δ
步骤3 随机生成概率因子 p p p,随机数 l l l,设置 b = 1 b=1 b=1,并生成参数 A → \overrightarrow A A C → \overrightarrow C C
步骤4 按照随机概率因子的大小选择不同的位置更新公式得到 X → ′ ( t ) \overrightarrow X'(t) X (t)
步骤5 计算 X → ′ ( t ) \overrightarrow X'(t) X (t)的适应度值并与 X → i ( t ) \overrightarrow X_i(t) X i(t)的适应度值比较,保留较小适应度值所对应的位置将其记为 X → i ( t + 1 ) \overrightarrow X_i(t+1) X i(t+1)。判断是否满足最大迭代次数或者是否达到指定精度,若是则输出全局最优解 X → ∗ \overrightarrow X^* X ,否则令 t = t + 1 t=t+1 t=t+1,并转入步骤2

二、仿真实验与结果分析

将HWGWO与GWO和WOA进行对比,以常用23个测试函数中的F1、F4(单峰函数/30维)、F10、F11(多峰函数/30维)、F19、F20(固定维度多峰函数/3维、6维)为例,实验设置种群规模为50,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
HWGWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GWO:最差值: 1.5796e-69, 最优值: 1.5621e-72, 平均值: 1.9259e-70, 标准差: 3.763e-70, 秩和检验: 1.2118e-12
WOA:最差值: 1.4022e-170, 最优值: 3.9e-183, 平均值: 4.9901e-172, 标准差: 0, 秩和检验: 1.2118e-12
函数:F4
HWGWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GWO:最差值: 1.1227e-16, 最优值: 3.2946e-19, 平均值: 1.899e-17, 标准差: 3.0066e-17, 秩和检验: 1.2118e-12
WOA:最差值: 83.8686, 最优值: 6.7192e-06, 平均值: 32.3623, 标准差: 25.9957, 秩和检验: 1.2118e-12
函数:F10
HWGWO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
GWO:最差值: 1.8652e-14, 最优值: 7.9936e-15, 平均值: 1.3323e-14, 标准差: 2.7598e-15, 秩和检验: 5.6393e-13
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 3.6119e-15, 标准差: 2.412e-15, 秩和检验: 2.5064e-07
函数:F11
HWGWO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GWO:最差值: 0.015431, 最优值: 0, 平均值: 0.0015168, 标准差: 0.0040977, 秩和检验: 0.041926
WOA:最差值: 0.055985, 最优值: 0, 平均值: 0.0036985, 标准差: 0.014076, 秩和检验: 0.1608
函数:F19
HWGWO:最差值: -3.8348, 最优值: -3.8597, 平均值: -3.853, 标准差: 0.0055526, 秩和检验: 1
GWO:最差值: -3.8549, 最优值: -3.8628, 平均值: -3.8613, 标准差: 0.0030306, 秩和检验: 9.2603e-09
WOA:最差值: -3.8549, 最优值: -3.8628, 平均值: -3.8613, 标准差: 0.0025266, 秩和检验: 2.6695e-09
函数:F20
HWGWO:最差值: -1.6047, 最优值: -3.1326, 平均值: -2.6827, 标准差: 0.42524, 秩和检验: 1
GWO:最差值: -3.0937, 最优值: -3.322, 平均值: -3.2722, 标准差: 0.069839, 秩和检验: 3.3384e-11
WOA:最差值: -3.1398, 最优值: -3.322, 平均值: -3.2657, 标准差: 0.071778, 秩和检验: 3.0199e-11

实验结果表明:HWGWO算法在求解精度、计算量和收敛速度上普遍好于GWO算法。

三、参考文献

[1] 梁昔明, 李星, 龙文. 融合鲸鱼算法的混合灰狼优化算法[J]. 数学的实践与认识, 2022, 52(6): 130-138.

  • 1
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
鲸鱼优化算法(Whale Optimization Algorithm,WOA)和灰狼优化算法(Grey Wolf Optimizer,GWO)都是进化算法中的优化算法,用于解决优化问题。它们有一些共同之处,但也存在一些不同之处。 1. 算法原理: - WOA:鲸鱼优化算法受到鲸鱼群体行为的启发,其中每条鲸鱼代表一个潜在解,并通过模拟鲸鱼搜索食物的过程来更新解的位置。 - GWO:灰狼优化算法受到灰狼群体行为的启发,其中每只灰狼代表一个潜在解,并通过模拟灰狼群体的寻找食物的过程来更新解的位置。 2. 群体行为模拟: - WOA:WOA模拟了鲸鱼群体中的主导鲸鱼和非主导鲸鱼,主导鲸鱼根据自身位置对其他鲸鱼进行引导,而非主导鲸鱼则通过向主导鲸鱼靠近来更新自己的位置。 - GWO:GWO模拟了灰狼群体中的4种行为:掠夺者、领导者、追随者和孤狼。这些行为根据灰狼在群体中的地位和目标来确定。 3. 参数调节: - WOA:WOA算法中的主要参数是收缩因子(a)和搜索范围(A)。它们的取值会影响算法的收敛速度和搜索效果。 - GWO:GWO算法中的主要参数是收敛因子(a)和搜索范围(A)。它们的取值也会影响算法的收敛速度和搜索效果。 4. 算法性能: - WOA:WOA算法在某些问题上表现出色,尤其是对于连续优化问题。它具有全局搜索能力和较快的收敛速度。 - GWO:GWO算法也在一些问题上表现良好,尤其是对于连续优化问题。它具有较强的局部搜索能力和较好的收敛性能。 总的来说,鲸鱼优化算法灰狼优化算法都是有效的优化算法,但在具体问题中,选择哪种算法要根据问题的性质、约束条件和算法参数的调节来确定。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心️升明月

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

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

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

打赏作者

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

抵扣说明:

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

余额充值