温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
反向
学习
精英
提升
速度
动态
粒子
算法
曾依浦
计算机与现代化JISUANJI YU XIANDAIHUA2023年第3期总第331期文章编号:1006-2475(2023)03-0113-08收稿日期:2022-04-19;修回日期:2022-05-09基金项目:上海市自然科学基金资助项目(19ZR1461500)作者简介:曾依浦(1998),男,福建漳州人,硕士研究生,研究方向:群智能优化算法,E-mail:;戴毅茹(1972),女,河南新蔡人,副研究员,博士,研究方向:系统工程,E-mail:;陈雨田(2001),男,陕西西安人,本科生,研究方向:微电子,E-mail:。0引言粒子群优化算法是一种基于社会行为模拟的随机优化方法,其主要思想是初始化一组随机解,通过迭代搜寻优化问题的最优解。粒子群算法由于结构简单、容易实现等优势,被广泛地用于求解最优化问题。与此同时,基础粒子群算法在处理复杂和高维的优化问题时存在搜索能力弱1-2、解的分散性不佳3-4、收敛速度不稳定5、容易陷入局部最优问题6。针对上述问题,研究者从多个角度提出了改进方法,其中比较主流的改进方法是通过调整优化粒子群速度更新方程来提高粒子搜索质量。Li 等人7提出了一种基于局部版本的并行粒子群优化算法,在精度不受影响的前提下显著加快进化速度。为了提高算法收敛速度与简化参数设置,El-Sherbiny8提出了一种去除粒子速度项的方法,采用个体最佳位置和种群全局最佳位置之间的随机线性组合更新粒子位置。Mohammadian等人9在基础粒子群算法的基础上提出了一种根据迭代次数动态调整惯性权重的方法。张天泽等人10结合RMSprop算法对粒子每一个维度进行自适应惯性权重设置。Liu等人11采用精英学习策略和联合学习策略提高解决方案的质量。Jian等人12提出了一种区域编码方案,将解的表示从一点扩展到一个区域,有助于加快算法收敛速度。众多研究通过设计多种群结构提高算法的全局搜索能力,Wang等人13采用主从多子种群分布模式,并提基于反向学习和精英提升的无速度项动态粒子群算法曾依浦,戴毅茹,陈雨田(同济大学电子与信息工程学院,上海 201804)摘要:针对粒子群优化算法在处理复杂优化问题时搜索精度低、收敛速度慢且易陷入局部最优的问题,提出一种基于反向学习和精英提升的动态多种群无速度项粒子群算法。首先基于无速度项的粒子位置更新模式,动态划分子群并采用不同的进化策略,利用反向学习为子群拓宽搜索范围,保证种群多样性的同时避免粒子过早陷入局部最优。然后为充分利用优秀粒子的信息并提高搜索精度,改进精英提升策略优化个体历史最优粒子,使用差分进化算法对种群最优粒子进行更新。最后通过CEC2006提出的22个测试函数进行性能测试。结果表明,本文提出的算法相比于其他算法在搜索精度和稳定性上拥有更加出色的性能,并能有效提升算法收敛速度。关键词:粒子群优化算法;无速度项;动态划分;反向学习;精英提升;差分进化中图分类号:TP301.6文献标志码:ADOI:10.3969/j.issn.1006-2475.2023.03.020Dynamic Particle Swarm Optimization without Velocity Based on Opposition-basedLearning and Elite PromotionZENG Yi-pu,DAI Yi-ru,CHEN Yu-tian(College of Electronic and Information Engineering,Tongji University,Shanghai 201804,China)Abstract:To resolve the problem that particle swarm optimization algorithm has low search accuracy,slow convergence speed andeasy to fall into local optimization when dealing with complex optimization problems,a dynamic multi population particle swarmwithout velocity based on opposition-based learning and elite promotion is proposed.Firstly,based on the particle position updatemode without velocity term,this algorithm dynamically divides subpopulations and adopts different evolutionary strategies.Opposition-based learning is used to broaden the search range for subgroups,ensuring population diversity and avoid particles falling into local optimization too early.Then,in order to make full use of the information of excellent particles and improve the searchaccuracy,the elite promotion strategy is improved to optimize the individual historical optimal particles.The differential evolutionalgorithm is used to update the optimal particle of the population.Finally,the performance is tested by 22 test functions proposedby CEC2006.The experimental results show that the proposed algorithm has more excellent performance in search accuracy andstability compared with other algorithms.In addition,the proposed algorithm can effectively improve the convergence speed.Key words:particle swarm optimization algorithm;no-velocity term;dynamic partition;opposition-based learning;elite promotion;differential evolution计算机与现代化2023年第3期出自适应粒度学习策略以确定合适的子种群规模,从而平衡探索能力和收敛速度。薛文等人14将种群划分为PSO机制迭代分群和混沌机制迭代分群,对种群实行两阶段优化。Xu等人15提出了一种基于不同学习策略的双群粒子群算法。唐可心等人16采用了一种以粒子适应度中位值为界来划分子群的策略。Chen等人17提出了一种动态划分子群的策略来促进种群内信息交换。此外,另一种优化思路是将粒子群算法与其他进化算法结合构建混合算法,如粒子群-萤火虫混合算法18、粒子群-蝴蝶混合算法19、粒子群-蝙蝠混合算法20等。为了进一步改善PSO算法的求解精度和收敛速度,本文在无速度项粒子群的基础上,动态划分种群并对不同子群采取不同的进化策略,以反向学习和子群间信息交互的方式防止搜索过程中种群多样性丢失和算法过早收敛;对个体历史最优粒子采用精英提升进化策略,提升个体最优粒子的质量,从而提高算法的搜索精度;对种群全局最优粒子采用差分进化策略增强算法的局部精细化搜索能力,进一步改进算法的寻优精度和稳定性。1无速度项粒子群算法基础粒子群算法中,飞行速度Vti代表了粒子在整个搜索空间中进行遍历的能力21,直接决定了粒子位置更新的方向以及步长;同时,为了避免粒子速度过大导致粒子位置容易超过可行解范围,通常将速度限制在-Vmax,Vmax 中,Vmax一般取可行解范围的10%20%。为了尽量避免算法参数设置并简化算法,文献 8 提出了一种无速度项的粒子群(PSWV)优化算法,将第t+1代粒子Xt+1i的探索建立在个体历史最佳位置Pbestti以及全局最优粒子Gbestt之间的随机线性组合的基础上。无速度项的粒子位置更新公式为:Xt+1i=c1r1Pbestti+c2r2Gbestt(1)其中,c1、c2分别代表个体学习因子和群体学习因子,r1、r2代表区间 0,1 内的随机数,每次计算粒子位置时随机获取。每个粒子的新位置被分配在粒子个体最优和种群全局最优之间的区域。无速度项的粒子群算法的优点是无需设置速度惯性权重和速度限制范围。Ang等人22指出,虽然无速度项的粒子群算法在解决某些问题时的收敛速度有所提高,但由于只依赖于个体最优位置和种群历史最优位置信息的单一搜索算子来更新粒子位置,算法容易陷入早熟收敛。2基于反向学习和精英提升的动态多种群无速度项粒子群(OEPSOWV)2.1动态种群划分在传统粒子群算法中,所有个体受全局最优个体与历史最优个体影响而运动,一方面加快了算法的收敛速度,但另一方面也严重影响了算法后期的种群多样性,容易使算法陷入局部最优。多种群PSO 算法是一种基于特殊邻域拓扑结构的局部PSO 算法23,有助于提升个体信息交流效率。生物种群一般指在一定区域内生活的同种生物个体,种群间存在的迁入迁出现象带来的信息交换促进物种进化。基于自然界中生物的种群特性,本文提出一种区域动态种群划分策略来模拟这种特性:从主种群中选择距离随机参考点Rk最近的N/K个粒子形成子群Psub,k,并将这些粒子从主种群中删除。通过重复上述操作实现动态种群划分,以此保证种群多样性并避免算法过早陷入局部最优。本文定义通过动态划分形成的第一个子群为首子群。伪代码表示如算法1所示。算法1动态种群划分Input:P=X1,X2,Output:K sub-swarms=Psub,1,Psub,2,Psub,K1.For k=1:K do2.Generate a random point Rk;3.N=size(P);/*Get the size of current main swarm*/4.For i=1:N do5.Calculate the Euclidean distance between Xiand Rk;6.End For7.Select the nearest N/K particles to form Psub,k;8.Eliminate the particles in Psub,kfrom P;9.End For其中,K为子群数,N为种群粒子总数,Rk为解空间中随机生成的种群划分参考点,生成公式为:Rkd=Xmind+rand(Xmaxd-Xmind)(2)其中,Rkd代表Rk的第d维,Xmind和Xmaxd代表解空间在第d维的最小、最大边界值,rand代表在区间(0,1)内均匀分布的随机数。2.2子群进化策略本文对不同的子群采用不同的进化策略,从2个方面提高粒子群算法搜索能力:1)首种群根据反向学习拓宽搜索域24;2)其他子群模拟迁入与迁出促进种群间信息交流,以此保证种群多样性,避免陷入局部最优。首子群采用个体历史最优与个体反向学习解结合的方法对粒子位置进行更新,通过同时搜索当前解与其反向解,从而快速扩大解空间,更快地逼近全局最优解。首种群的位置更新公式表示为:Xt+1i=c1r1Pbestti+c2r2X?ti(3)X?ti,d=k(Xmind+Xmaxd)-Xti,d,d=1,2,D(4)