一种基于Tent 映射的混合灰狼优化的改进算法-附代码

一种基于Tent 映射的混合灰狼优化的改进算法


摘要: 针对基本灰狼算法易陷入局部最优、未考虑个体自身经验等问题,本文提出一种基于 Tent 映射的混合灰狼优化算法(grey wolf optimization algorithm based on particle swarm optimization,简称 PSO_GWO). 首先,其通过 Tent 混沌映射产生初始种群,增加种群个体的多样性;其次,采用非线性控制参数,前期递减速度慢,能够增加全局搜索能力,避免算法陷入局部最优,后期收敛因子递减速度快,增加算法局部搜索能力,从而提高整体收敛速度;最后,引入粒子群算法的思想,将个体自身经历过最优值与种群最优值相结合来更新灰狼个体的位置信息,从而保留灰狼个体自身最佳位置信息.

1.灰狼优化算法

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

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

2.1 Tent混沌映射

本文引用的 Tent 混沌映射的公式为:
x t + 1 = { 2 x t , 0 ⩽ x t ⩽ 1 2 ; 2 ( 1 − x t ) , 1 2 ⩽ x t ⩽ 1. (14) x_{t+1}=\left\{\begin{array}{l} 2 x_{t}, \quad 0 \leqslant x_{t} \leqslant \frac{1}{2} ; \\ 2\left(1-x_{t}\right), \quad \frac{1}{2} \leqslant x_{t} \leqslant 1 . \end{array}\right. \tag{14} xt+1={ 2xt,0xt21;2(1xt),21xt1.(14)

2.2 非线性控制参数策略

本文提出一种新的非线性控制参数为:
a 1 ( t ) = a i n i − ( a i n i − a f i n ) × ( t T max ⁡ ) 2 (15) a_{1}(t)=a_{\mathrm{ini}}-\left(a_{\mathrm{ini}}-a_{\mathrm{fin}}\right) \times\left(\frac{t}{T_{\max }}\right)^{2} \tag{15} a1(t)=aini(ainiafin)×(Tmaxt)2(15)
式中: a i n i a _{ini} aini a f i n a_{fin} afin 分别为控制参数的初始值及终值;t为当前的迭代次数; T m a x T_{max} Tmax 为最大迭代数目.

2.3 PSO思想

GWO 算法在位置更新过程中只考虑灰狼个体位置信息与种群的最优解、优解、次优解位置信息,并实现灰狼个体与种群之间的信息交流. 但是忽略灰狼个体与自身经验之间的信息交流. 因此,引入粒子群算法(particle swarm optimization,PSO)的思想来改进位置更新过程.在 PSO 算法中,利用粒子自身经历过的最佳位置信息以及群体最佳位置信息来更新当前粒子的位置. 因此,本文结合 PSO 算法思想将灰狼个体经历过的最优位置信息引入位置更新公式,使其能够保留自身最优位置信息. 新的位置更新为:
X i ( t + 1 ) = c 1 r 3 ( w 1 X 1 ( t ) + w 2 X 2 ( t ) + w 3 X 3 ( t ) ) + c 2 r 4 ( X i b e s t − X i ( t ) ) (16) X_{i}(t+1)=c_{1} r_{3}\left(w_{1} X_{1}(t)+w_{2} X_{2}(t)+w_{3} X_{3}(t)\right) +c_{2} r_{4}\left(X_{i b e s t}-X_{i}(t)\right) \tag{16} Xi(t+1)=c1r3(w1X1(t)+w2X2(t)+w3X3(t))+c2r4(XibestXi(t))(16)
式中: c 1 c_1 c1 为社会学习因子, c 2 c_2 c2 为认知学习因子,其分别表示个体所经历的最优值和群体最优值对算法搜索能力的影响.

X i b e s t X_{ibest} Xibest表示灰狼个体本身经历过最优的位置; w 1 , w 2 , w 3 w_1 ,w_2 ,w_3 w1w2w3 为惯性权重系数,通过调节 α , β , δ α,β,δ αβδ 狼对更新个体影响的权重比例,能够动态权衡算法的全局及局部搜索能力,其具体公式如下:
w 1 = ∣ X 1 ∣ ∣ X 1 + X 2 + X 3 ∣ , (17) w_{1}=\frac{\left|X_{1}\right|}{\left|X_{1}+X_{2}+X_{3}\right|}, \tag{17} w1=X1+X2+X3X1,(17)

w 2 = ∣ X 2 ∣ ∣ X 1 + X 2 + X 3 ∣ , (18) w_{2}=\frac{\left|X_{2}\right|}{\left|X_{1}+X_{2}+X_{3}\right|}, \tag{18} w2=X1+X2+X3X2,(18)

w 3 = ∣ X 3 ∣ ∣ X 1 + X 2 + X 3 ∣ . (19) w_{3}=\frac{\left|X_{3}\right|}{\left|X_{1}+X_{2}+X_{3}\right|} . \tag{19} w3=X1+X2+X3X3.(19)

请添加图片描述

3.实验结果

请添加图片描述

4.参考文献

[1]滕志军,吕金玲,郭力文,许媛媛.一种基于Tent映射的混合灰狼优化的改进算法[J].哈尔滨工业大学学报,2018,50(11):40-49.

5.Matlab代码

6.Python代码

猜你喜欢

转载自blog.csdn.net/u011835903/article/details/125358164