失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 协调探索和开发能力的改进灰狼优化算法 -附代码

协调探索和开发能力的改进灰狼优化算法 -附代码

时间:2024-02-24 13:57:31

相关推荐

协调探索和开发能力的改进灰狼优化算法 -附代码

协调探索和开发能力的改进灰狼优化算法

文章目录

协调探索和开发能力的改进灰狼优化算法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​⋅tmax​t​π)(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=α,β,δ​wj​Xi,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代码

如果觉得《协调探索和开发能力的改进灰狼优化算法 -附代码》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。