【智能算法改进】非线性自适应分组灰狼算法


1.算法原理

【智能算法】灰狼算法(GWO)原理及实现

2.改进点

CPM映射初始化

混沌运动具有随机性和遍历性,在求解最优化问题时,这种特性可以保证种群多样性,提高算法全局搜索能力:
x n + 1 = { m o d ( ( x n d + cos ⁡ ( n c o s − 1 ( x n ⋅ π ) ) , 1 ) , 0 ⩽ x n < d m o d ( ( x n − d 0.5 − d + cos ⁡ ( n c o s − 1 ( x n ⋅ π ) ) ) , 1 ) , d ⩽ x n < 0.5 m o d ( ( 1 − d − x n 0.5 − d + cos ⁡ ( n c o s − 1 ( x n ⋅ π ) ) ) , 1 ) , 0.5 ⩽ x n < 1 − d m o d ( ( 1 − x n d + cos ⁡ ( n c o s − 1 ( x n ⋅ π ) ) ) , 1 ) , 1 − d ⩽ x n < 1 (1) x_{n+1}=\begin{cases}\mathrm{mod}\left(\left(\frac{x_n}{d}\right.+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right),1\right),0\leqslant x_n<d\\\\\mathrm{mod}\left(\left(\frac{x_n-d}{0.5-d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),d\leqslant x_n<0.5\\\\\mathrm{mod}\left(\left(\frac{1-d-x_n}{0.5-d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),0.5\leqslant x_n<1-d\\\\\mathrm{mod}\left(\left(\frac{1-x_n}{d}+\cos\left(n\mathrm{cos}^{-1}(x_n\cdot\pi)\right)\right),1\right),1-d\leqslant x_n<1\end{cases}\tag{1} xn+1= mod((dxn+cos(ncos1(xnπ)),1),0xn<dmod((0.5dxnd+cos(ncos1(xnπ))),1),dxn<0.5mod((0.5d1dxn+cos(ncos1(xnπ))),1),0.5xn<1dmod((d1xn+cos(ncos1(xnπ))),1),1dxn<1(1)

非线性控制参数调整策略

GWO算法的优化过程复杂,线性变化并不能充分平衡算法的全局搜索和局部搜索。提出了一种“ S”型非线性参数调整策略:
a = f min ⁡ + ( f max ⁡ − f min ⁡ ) × f max ⁡ 1 + e ( − 10 T max ⁡ ) × ( t − T max ⁡ 2 ) (2) a=f_{\min}+(f_{\max}-f_{\min})\times\frac{f_{\max}}{1+e^{(-\frac{10}{T_{\max}})\times(t-\frac{T_{\max}}2)}}\tag{2} a=fmin+(fmaxfmin)×1+e(Tmax10)×(t2Tmax)fmax(2)

自适应分组策略

由于GWO算法的不同个体所处位置不同,将狼群按照距离猎物的远近,既按照适应度值的大小分为 3 组,分别为捕食组、游荡组和搜索组。n1和n2为分组界限。 即将狼群按照适应度大小排序,优秀的个体为捕食组,一般的个体为游荡组,较差的个体为搜索组:
{ n 1   =   1 4 N ( 1   − t T max ⁡ ) 1 2 n 2   =   N − 1 4 N ( t T max ⁡ ) 1 2 (3) \begin{cases}n_1~=~\frac14N(1~-\frac t{T_{\max}})^{\frac12}\\\\n_2~=~N-\frac14N(\frac t{T_{\max}})^{\frac12}&\end{cases}\tag{3} n1 = 41N(1 Tmaxt)21n2 = N41N(Tmaxt)21(3)

改进的差分进化策略

采用改进的差分进化策略对分组后的捕食组狼群进行位置更新:
X i t + 1 = X α t + W × ( X β t 2 + X δ t 2 − X i t ) (4) X_i^{t+1} = X_\alpha^t + W\times\left(\frac{X_\beta^t}2 + \frac{X_\delta^t}2 - X_i^t\right)\tag{4} Xit+1=Xαt+W×(2Xβt+2XδtXit)(4)

随机反向学习策略

采用GWO的位置更新策略对分组后的游荡组进行位置更新:
x i , j ′   =   U B j   +   L B j   − r 3   ⋅ x i , j (5) x^{\prime}_{i,j}~=~UB_j~+~LB_j~-r_3~\cdot x_{i,j}\tag{5} xi,j = UBj + LBj r3 xi,j(5)

乘除算子位置更新策略

采用AOA算法的乘除算子对分组后的搜索组进行位置更新:
x i , j 1 = { x α , j × M O P × ( ( U B j − L B j ) × μ − L B j ) , r 4 < 0.5 x α , j ÷ ( M O P + ε ) × ( ( U B j − L B j ) × μ − L B j ) , o t h e r w i s e (6) x_{i,j}^1 = \begin{cases}x_{\alpha,j} \times MOP \times ( ( UB_j -LB_j ) \times\mu-LB_j ) ,r_4 < 0.5\\[2ex]x_{\alpha,j} \div ( MOP + \varepsilon ) \times ( ( UB_j -LB_j ) \times\mu-LB_j ) ,otherwise\end{cases}\tag{6} xi,j1= xα,j×MOP×((UBjLBj)×μLBj),r4<0.5xα,j÷(MOP+ε)×((UBjLBj)×μLBj),otherwise(6)

概率函数MOP:
M O P ( t )   =   1 − t 1 λ T m a x 1 λ (7) MOP(t)~=~1-\frac{t^{\frac1\lambda}}{T_{\mathrm{max}}^{\frac1\lambda}}\tag{7} MOP(t) = 1Tmaxλ1tλ1(7)

3.结果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.参考文献

[1] 马威,王巍,曹颖.非线性自适应分组灰狼算法[J].计算机仿真,2024,41(06):441-447+587.

5.代码获取

【资源清单】代码资源清单导航~

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小O的算法实验室

谢谢大佬的肯定!

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

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

打赏作者

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

抵扣说明:

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

余额充值