协调探索和开发能力的改进灰狼优化算法
文章目录
协调探索和开发能力的改进灰狼优化算法1.灰狼优化算法2. 改进灰狼优化算法2.1 佳点集种群初始化2. 2 非线性控制参数策略2.3基于个体记忆功能的位置更新公式 3.实验结果4.参考文献5.Matlab代码6.Python代码摘要:提出一种协调探索和开发能力的灰狼优化算法. 利用佳点集方法初始化灰狼个体的位置,为全局搜索多样性奠定基础;为协调算法的全局探索和局部开发能力,给出一种基于正切三角函数描述的非线性动态变化控制参数;为加快算法的收敛速度,受粒子群优化算法个体记忆功能的启发,设计一种新的个体位置更新公式.
1.灰狼优化算法
基础灰狼算法的具体原理参考,我的博客:/u011835903/article/details/107716390
2. 改进灰狼优化算法
2.1 佳点集种群初始化
在进行迭代前,基本GWO算法的初始种群个体是随机产生的,难以保证初始种群的多样性,从而在一定程度上影响算法的搜索效率.佳点集是一种有效的、能够均匀选点的方法,与随机方法相比,利用佳点集方法取点能够更均匀地分布在搜索空间中 . 目前,佳点集方法已在GA、PSO、DE、ABC等群体智能优化算法中得到了成功的应用,因此,本文将佳点集方法应用到GWO算法中生成初始种群个体.
2. 2 非线性控制参数策略
受PSO算法中惯性权重设置的启发,本文提出一种基于正切三角函数的非线性控制参数策略,即:
a ( t ) = a initial − ( a initial − a final ) × tan ( 1 ε ⋅ t t max π ) (8) a(t)=a_{\text {initial }}-\left(a_{\text {initial }}-a_{\text {final }}\right) \times \tan \left(\frac{1}{\varepsilon} \cdot \frac{t}{t_{\max }} \pi\right) \tag{8} a(t)=ainitial−(ainitial−afinal)×tan(ε1⋅tmaxtπ)(8)
其中:a initial 和a final 分别为控制参数a的初始值和最终值;ε > 0为非线性调节系数;t为当前迭代次数,t max 为最大迭代次数. 由式(8)可知,控制参数a随迭代次数的增加非线性动态变化,以协调GWO算法的全局探索和局部开发能力.
2.3基于个体记忆功能的位置更新公式
为了改善GWO算法的局部开发能力,受粒子群优化(PSO)算法的启发,将PSO算法中对粒子自身运动历史最优解进行记忆保存的思想引入到GWO算法中,对个体的记忆功能加以改进,使其能够记忆自身进化过程中的最优解. 为此,本文提出一种基于个体自身记忆功能的位置更新公式替代式(6),表示为:
X i d ( t + 1 ) = b 1 ⋅ ∑ j = α , β , δ w j X i , j d ( t + 1 ) + b 2 ⋅ rand 3 ⋅ ( P best d − X i d ( t ) ) (9) \begin{array}{r} X_{i}^{d}(t+1)=b_{1} \cdot \sum_{j=\alpha, \beta, \delta} w_{j} X_{i, j}^{d}(t+1)+ b_{2} \cdot \operatorname{rand}_{3} \cdot\left(P_{\text {best }}^{d}-X_{i}^{d}(t)\right) \end{array} \tag{9} Xid(t+1)=b1⋅∑j=α,β,δwjXi,jd(t+1)+b2⋅rand3⋅(Pbestd−Xid(t))(9)
其中:b 1 ∈ [0,1]为群体交流系数,b 2 ∈ [0,1]为个体记忆系数,rand 3 为[0,1]间的随机数,P dbest 为第i只灰狼个体所经历过的最佳位置. 类似于PSO算法,通过调节b 1 和b 2 的值,可以协调群体交流与个体记忆对算法搜索的影响.
综上所述,改进灰狼优化(IGWO)算法的步骤如下所示.
Step1:设置算法参数:种群规模N,最大迭代次数t max ,参数a的初始值a initial ,最终值a final ,非线性调节系数ε,群体交流系数b1 和个体记忆系数b2 ;
Step2:利用2.1节所描述的佳点集方法产生初始化灰狼种群{X i , = 1,2,··· ,N},令t = 0;
Step3:计算每个个体的适应度值{f(X i ), i =1,2,··· ,N}并排序,当前适应度值排列前3位的个体分别记为α、β和δ,其对应的位置分别为X α 、X β 和X δ ;
Step4:重复Step3,直至达到最大迭代次数或满足给定精度.
IGWO算法步骤的伪代码表示如下:
while (t < t max ) do
for i = 1 to N do
根据式(8)计算控制参数α的值
根据式(2)和(3)更新参数A和C的值
根据式(9)更新其他个体的位置
end for
计算每个个体的适应度{f(X i ), i = 1,2,··· ,N}
更新α、β、δ及其相应位置X α 、X β 和X δ
t = t + 1
end while
3.实验结果
4.参考文献
[1]龙文,伍铁斌.协调探索和开发能力的改进灰狼优化算法[J].控制与决策,,32(10):1749-1757.
5.Matlab代码
6.Python代码
如果觉得《协调探索和开发能力的改进灰狼优化算法 -附代码》对你有帮助,请点赞、收藏,并留下你的观点哦!