改进收敛因子和比例权重的灰狼优化算法-附代码

改进收敛因子和比例权重的灰狼优化算法


摘要: 在分析灰狼优化算法不足的基础上,提出一种改进的灰狼优化算法(CGWO),该算法采用基于余弦规律变化的收敛因子,平衡算法的全局搜索和局部搜索能力,同时引入基于步长欧氏距离的比例权重更新灰狼位置,从而加快算法的收敛速度。

1.灰狼优化算法

基础灰狼算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107716390

2. 改进灰狼优化算法(CGWO)

2.1 基于余弦规律变化的收敛因子

当 |A|>1 时,灰狼群体将扩大搜索范围寻找猎物,即全局搜索,收敛速度快;当 |A|<1 时,灰狼群体将收缩搜索范围对猎物进行攻击,即局部搜索,收敛速度慢。因此, A 的大小与GWO算法的全局搜索和局部搜索能力有很大关系。由公式(3)可以看出, A 随着收敛因子 a 的变化而变化,收敛因子 a 是随着迭代次数从2线性递减到0,但是算法在不断收敛的过程中并不是线性的,由此可知,线性递减的收敛因子a 不能完全体现出实际的优化搜索过程。因此,本文提出了一种基于余弦规律变化的收敛因子,其修正表达式为:
{ a = a final  + ( a initial  − a final  ) 1 + [ cos ⁡ ( ( t − 1 ) π / ( t max ⁡ − 1 ) ) ] n 2 , t ⩽ 1 2 t max ⁡ a = a final  + ( a initial  − a final  ) 1 − ∣ cos ⁡ ( ( t − 1 ) π / ( t max ⁡ − 1 ) ) ∣ n 2 , 1 2 t max ⁡ ⩽ t ⩽ t max ⁡ , (7) \left\{\begin{array}{l} a=a_{\text {final }}+\left(a_{\text {initial }}-a_{\text {final }}\right) \frac{1+\left[\cos \left((t-1) \pi /\left(t_{\max }-1\right)\right)\right]^{n}}{2}, \\ t \leqslant \frac{1}{2} t_{\max } \\ a=a_{\text {final }}+\left(a_{\text {initial }}-a_{\text {final }}\right) \frac{1-\left|\cos \left((t-1) \pi /\left(t_{\max }-1\right)\right)\right|^{n}}{2}, \\ \frac{1}{2} t_{\max } \leqslant t \leqslant t_{\max } \end{array},\right. \tag{7} a=afinal +(ainitial afinal )21+[cos((t1)π/(tmax1))]n,t21tmaxa=afinal +(ainitial afinal )21cos((t1)π/(tmax1))n,21tmaxttmax,(7)
式中, a initial 和 a final 为收敛因子 a 的初始值和最终值,本文取 a initial =2 , a final =0 , t 为当前迭代次数, t max 为最大迭代次数, n 为递减指数, 0<n≤1 。

2.2 引入动态权重策略

提出一种基于步长欧氏距离的比例权重,表达式如下:
W 1 = ∣ X 1 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ , W 2 = ∣ X 2 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ , W 3 = ∣ X 3 ∣ ∣ X 1 ∣ + ∣ X 2 ∣ + ∣ X 3 ∣ (8) W_{1}=\frac{\left|\boldsymbol{X}_{1}\right|}{\left|\boldsymbol{X}_{1}\right|+\left|\boldsymbol{X}_{2}\right|+\left|\boldsymbol{X}_{3}\right|}, W_{2}=\frac{\left|\boldsymbol{X}_{2}\right|}{\left|\boldsymbol{X}_{1}\right|+\left|\boldsymbol{X}_{2}\right|+\left|\boldsymbol{X}_{3}\right|} , W_{3}=\frac{\left|\boldsymbol{X}_{3}\right|}{\left|\boldsymbol{X}_{1}\right|+\left|\boldsymbol{X}_{2}\right|+\left|\boldsymbol{X}_{3}\right|} \tag{8} W1=X1+X2+X3X1,W2=X1+X2+X3X2,W3=X1+X2+X3X3(8)
X ( t + 1 ) = X 1 ⋅ W 1 + X 2 ⋅ W 2 + X 3 ⋅ W 3 3 (9) \boldsymbol{X}(t+1)=\frac{\boldsymbol{X}_{1} \cdot W_{1}+\boldsymbol{X}_{2} \cdot W_{2}+\boldsymbol{X}_{3} \cdot W_{3}}{3} \tag{9} X(t+1)=3X1W1+X2W2+X3W3(9)

其中 W 1 、 W 2 、 W 3 W_1 、 W_2 、 W_3 W1W2W3 分别表示 ω 狼对 α 、 β 、 δ 狼的学习率。

综合以上改进策略描述,给出本文所提出的改进灰狼优化算法(CGWO)的步骤:
步骤1 设置种群规模 N ,最大迭代次数 t max ,随机生成 a 、 A 、 C 等参数。
步骤2 在搜索空间内随机初始化灰狼种群。
步骤3 计算种群中所有灰狼个体的适应度值,并按照适应度值进行排序,选择前三个最好的狼,记录其位置 X α 、 X β 和 X δ 。
步骤4 利用公式(5)、(8)和(9)更新种群中其他灰狼个体的位置。
步骤 5 利用公式(7)计算 a ,然后利用公式(3)和(4)更新 A , C 的值。
步骤6 判断算法是否满足结束条件,若达到预定的最大迭代次数 t max ,则停止计算,输出最优位置 X α ,否则,重复执行步骤3~步骤5。

3.实验结果

请添加图片描述

4.参考文献

[1]王秋萍,王梦娜,王晓峰.改进收敛因子和比例权重的灰狼优化算法[J].计算机工程与应用,2019,55(21):60-65+98.

5.Matlab代码

6.python代码

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
灰狼优化算法(Grey Wolf Optimizer,GWO)是一种基于模拟灰狼群体行为的启发式优化算法。该算法模拟了灰狼群体的领导层次和协作行为,通过追踪领导者的位置来搜索最优解。 收敛因子a是灰狼优化算法中的一个重要参数,它控制了收敛速度和搜索过程的探索能力。较小的a值使得灰狼个体更容易聚集在领导者周围,从而加快收敛速度。然而,较小的a值也可能导致陷入局部最优解。较大的a值可以增强搜索算法的探索能力,提高全局搜索能力,但可能导致收敛速度减慢。 为了改进收敛因子a的性能,可以采取以下方法: 1. 自适应调整a值:在算法的不同迭代阶段,根据搜索的状态和过程进行自适应地调整a值。例如,在初期阶段可以选择较大的a值以加强全局搜索能力,而在后期阶段可以逐渐减小a值以加快收敛速度。 2. 多因子组合:将其他参数与a值进行组合调整,从而提高搜索算法的性能。例如,将a值与灰狼个体的适应度值、领导者位置之间的距离等因素相结合,动态地调整收敛因子a。 3. 混合策略:将灰狼优化算法与其他优化算法结合起来,以改进收敛因子a的效果。例如,结合粒子群优化算法,可以通过探索和利用混合策略来动态调整a值,提高优化算法的性能。 总之,改进收敛因子a的方法是灰狼优化算法中的关键问题之一。通过适当的参数调整和策略组合,可以提高算法的全局搜索能力和收敛速度,从而更好地解决实际问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

智能算法研学社(Jack旭)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值