什么是粒子群算法(基于质心和自适应指数惯性权重改进的粒子群算法)
粒子群优化算法[1]是一种基于种群优化的算法,具有全局优化能力[2],能够解决多峰优化问题,在科学和工程领域得到了广泛的应用[3]。然而,粒子群算法容易陷入局部最优解,导致粒子进化停滞[4]。为了提高粒子群算法的优化性能,许多学者对对进行了改进。以球体等六个基本函数作为测试对图像,实验结果表明,与SDIWPSO等算法相比,CEPSO具有较强的优化能力。在LDWPSO算法中,惯性权重是以时变递减的方式设计的。
为了提高粒子群算法的优化性能,许多学者对对进行了改进。史等[5]通过引入惯性权重,修正了粒子群算法中的速度计算公式,提出了线性递减权重粒子群算法。研究表明,较大的惯性权重有利于粒子的全局优化,而较小的惯性权重可以提高粒子的局部优化能力。为了揭示粒子群优化算法的工作原理,Clerc等人[6]从代数和解析的角度对其进行了理论研究,并将收缩因子引入到粒子群优化算法中。研究表明,约束因子可以保证算法的收敛性,提高粒子群优化算法的优化能力。埃伯哈特等人[7]对对基于惯性权重的粒子群算法和带约束因子的粒子群算法进行了比较研究,认为后者是前者的特殊体现。就惯性权重的表达形式而言,主要有线性[5]、指数[8-10]、随机数[11-12]和其他非线性形式[13]。文献[14]总结了其在对的表达形式,其中文献[8]使用了两种形式的指数惯性权重并提出了e1PSO和e2PSO算法,文献[9]使用Sigmoid函数设计了两种形式的指数惯性权重,SDIW和SIIW。最近,丁等人[15]设计了一个新的惯性权重框架,并通过实验验证,给出了在惯性权重中设置相关参数的建议,得出了EPSO算法优于LDWPSO算法的结论[15]。然而,从粒子群优化算法的迭代运算过程来看,在初始阶段,随机初始化粒子的位置使得粒子间的位置更加分散,种群具有良好的多样性。随着迭代运算次数的增加,粒子逐渐聚集到一个或多个位置,种群越来越集中,越来越接近局部最优解。在迭代的后期,种群的聚集度趋于最高值,算法也趋于收敛[16]。在选择丁等人[15]设计的惯性权重模型时,如何根据粒子群的当前状态动态调整惯性权重以提高粒子的寻优能力?结合质心模型和丁等人[15]设计的惯性权重,设计了一种基于双质心和分段惯性权重的改进粒子群优化算法。以球体等六个基本函数作为测试对图像,实验结果表明,与SDIWPSO等算法相比,CEPSO具有较强的优化能力。对粒子群算法和其他算法将在下面描述。1粒子群优化算法
粒子群优化算法中的每个粒子都有自己的位置向量、速度向量和评价粒子位置质量的适应值。让问题的解为D维向量,粒子适应度函数为F,粒子群大小为S,最大进化代数为CS,中第粒子位置向量为Xi(t=(x(ti1,x(ti2,…,x(tij,…,x(tiD)),速度向量为Vi(t=(v(ti1,v)),对适应度值为f(ti=f(Xi(t)),到目前为止,第I粒子和粒子群的最佳适应度为f(ri,f(rg),对因此,在粒子群算法启动后,每个粒子的速度和位置根据公式(1)、(2)进行更新,并计算pi和pg。 v(t 1ij=v(tij C1R1 (pij-x(tij C2R2 (pgj-x(tij(1
X (t1ij=x (tij v (t1ij)(在公式2 (1)中)
C1和c2是调整参数,r1和r2是u [0,1]中的随机数,g=arg maxi{ 1,2,…,S}{f(ri},r=arg maxt{f(ti})。为了提高算法的收敛性能,石等人[5]在粒子群算法中引入惯性权重的概念,并将速度更新公式(1)调整为公式(3),从而提出了LDWPSO算法。v(t 1ij=w(tv(tij C1R1 (pij-x(tij C2R2 (pgj-x(tij(3
在LDWPSO算法中,惯性权重是以时变递减的方式设计的。当惯性权重范围为[wmin,wmax]且最大迭代次数为CS时,第t次迭代中对的惯性权重如下