基于分工和模糊控制的粒子群算法
2024-04-29李金张纪会高学柳张保华
李金 张纪会 高学柳 张保华
摘要: 为解决粒子群算法在求解复杂优化问题时容易陷入局部最优、寻优精度低、后期收敛慢等问题,提出一种基于分工和模糊控制的粒子群算法,使用分工、参数自适应调整和融合距离因素的模拟退火三种策略对粒子群算法进行改进。将粒子分为侦察粒子和后卫粒子,侦察粒子负责进行探索,后卫粒子向个体最优解和全局最优解学习,保证种群多样性并加快搜索速度;使用Sigmoid函数调节惯性权重,模糊逻辑控制学习因子,以平衡算法的探索和开发能力;以模拟退火机制更新全局最优粒子,同时兼顾距离因素,增强算法跳出局部最优解的能力。采用25个标准测试函数进行仿真实验,仿真结果表明,改进算法在收敛精度、速度和稳定性上都有更好表现。
关键词: 群体智能;粒子群算法;个体最优更新率;分工策略;模糊逻辑;模拟退火
中图分类号: TP301 文献标识码: A
Particle Swarm Optimization Algorithm Based on Labor Division and Fuzzy Control
LI Jin1, ZHANG Jihui1, GAO Xueliu2, ZHANG Baohua2
(1.a.Institute of Complexity Science; b.Shandong Key Laboratory of Industrial Control Technology, Qingdao University, Qingdao 266071, China; 2.Qingdao Port International Company, Ltd, Qingdao 266011, China)
Abstract: In order to overcome the shortages of the particle swarm optimization algorithm, such as low accuracy, slow convergence and falling into local optima, a particle swarm optimization algorithm based on labor division and fuzzy control is proposed, which improves the algorithm by using the division of labor, parameter adaptive adjustment and simulated annealing with distance factors. Particles are divided into scout and rearguard ones, the former searches randomly and the latter learns from the best individual solutions as well as the best global solution to ensure the diversity of population and to accelerate the search. A sigmoid function is used to adjust the inertial weight and fuzzy logic is applied to balance exploration and exploitation capability of the algorithm. The best global particle is updated according to simulated annealing with distance factors taken into account, which improves the ability of the algorithms to jump out of the local optima. Simulation experiments on 25 standard test functions show that the improved algorithm has better performance in terms of convergence accuracy, speed and stability.
Keywords: swarm intelligence; particle swarm optimization; individual optimal update rate; division of labor;fuzzy logic; simulated annealing
0 引言
粒子群算法(Particle Swarm Optimization, PSO)是Kennedy和Eberhart在1995年提出的一種群智能优化算法[12]。虽然粒子群算法已广泛应用于特征选择、神经网络训练等诸多领域[38],但仍存在容易陷入局部最优、后期收敛速度慢、收敛精度不高等缺陷。为此,国内外学者对PSO进行了很多优化和改进,具体研究集中于3个方面:1)对粒子群迭代策略进行优化改进,包括参数调整和迭代方案的优化。文献[9]提出了惯性系数线性递减的方案(iwPSO)。文献[10]用Sigmoid函数控制惯性权重,随着迭代过程逐渐递减,学习因子按照双曲正切函数规律变化。文献[11]提出了基于Sigmoid函数的加权策略,自适应地调整学习因子,自适应加权策略考虑了粒子的位置信息,提高了算法收敛速度。文献[12]使用模糊逻辑,将6个种群信息作为输入自适应调整两个学习因子。文献[13]将粒子群根据适应度排序分组,使用社会学习策略更新整合了更多种群信息,提高了算法的收敛速度和精度,在高维问题上有较好表现。2)对粒子种群的邻域拓扑结构进行优化改进,利用更多种群信息。文献[14]融合两种邻居拓扑结构,将种群分为3个子种群,设定不同的学习因子,赋予各子种群不同的搜索任务,从而提升算法的综合性能,在复杂多峰函数上有较好的鲁棒性。文献[15]将具有信息定向流动的闭环拓扑结构与星型拓扑结构或四边形拓扑结构相结合,保证种群在多样性和整体收敛性的平衡,实验表明其在收敛速度、精度和鲁棒性上有更好表现。文献[16]将粒子分组,考虑位置因素和适应度因素,分别为各组粒子设置时变邻域,增强了粒子间的交流,在处理复杂问题时有较好表现。3)将粒子群算法与其他算法进行融合,利用其他算法的优势对粒子群算法进行改进。文献[17]将粒子群算法与遗传算法借助模糊逻辑进行融合,引入的交叉和突变因子减小了粒子陷入局部最优的几率。文献[18]将粒子群算法与模拟退火算法相结合,提出了一种自适应模拟退火粒子群算法,自适应调整算法参数,模拟退火机制加强了算法跳出局部最优的能力,实验证明了算法在收敛速度、精度和稳定性上的优势。
对于一些多峰、高维、复杂优化问题,现有算法仍存在收敛精度低容易陷入局部最优等问题[19]。为进一步解决这些问题,提出了一种基于分工和模糊控制的粒子群算法(Particle Swarm Optimization Algorithm based on Labor Division and Fuzzy Controling, LDFSPSO)。利用模拟退火的思想增强种群跳出局部最优的能力,避免算法陷入局部最优,在标准粒子群算法的基础上,使用了3种改进策略进行改进:1) 分工策略:受樽海鞘群算法(Salp Swarm Algorithm, SSA)[20]启发,将种群分为侦察粒子和后卫粒子,执行不同迭代方案,加快收敛速度,同时适当增强种群多样性,防止陷入局部最优;2)参数自适应调整策略:使用Sigmoid型函数控制惯性权重,考虑迭代进程和种群信息的双输入双输出模糊系统控制学习因子,以平衡算法的全局搜索能力和局部寻优能力;3)融合距离因素的模拟退火策略:引入模拟退火机制的同时,为减少其对寻优效率的影响,定义基于距离判断的模拟退火因子,减少模拟退火机制对寻优过程的负面影响。将所提算法在多种维度的25个测试函数进行验证,并与iwPSO,SAPSO[18],SSA进行了对比。结果表明,对于大多数基准函数,改进算法有较好的效果。
1 标准粒子群算法
由N个粒子组成的群体在D维搜索空间中以一定的速度飞行,每个粒子在考虑自身搜索经验和群体搜索经验的基础上进行迭代寻优。在迭代中,第i个粒子的位置Xi= (xi1, xi2,…, xiD)T代表问题的一个解,速度为Vi= (vi1, vi2, …, viD)T,个体最优位置为Pbesti= (pbesti1, pbesti2, … , pbestiD)T,全局最优位置为Gbest= (gbest1, gbest2 , …, gbestD)T。粒子的速度和位置按照式(1)更新:
在设计模糊系统规则时,考虑如下基本原则:随着迭代过程, c1逐渐降低,c2逐渐增大;种群多样性大时增强探索能力,增大c1,减小c2;种群多样性小时增强开发能力,减小c1,增大c2;在迭代初期要保证较高的探索能力,在迭代末期要保持较高的开发能力。在此基础上进行模糊规则的设计,模糊规则如表1所示。
2.3 融合距离因素的模拟退火策略
模拟退火算法中依概率接受劣解的思想可以增强算法跳出局部最优解的能力。在模拟退火算法的基础上,为减少得到的新解与旧解落在同一个局部最优解附近从而影响寻优效率的情况出现,定义融合距离因素的模拟退火因子pk,在更新Gbest时允许其依概率pk接受差解,且pk随迭代进行递减,计算方式为
其中,δ为判断系数,dki为新解Xi与Gbest之间的欧氏距离,dkmin为两两粒子之间的最短距离,Tk为第k次迭代中的温度。
2.4 改进算法流程
基于以上描述,提出的LDFSPSO算法基本流程为:
步骤1,设定算法参数,初始化粒子群得到初始种群,设置初代Pbest;
步骤2,计算各粒子适应度,设置初代Gbest,求解distance_gbi;
步骤3,据式(4)和(15)分别设置rpb,T;
步骤4,据分工策略将粒子重新排序,将粒子分为侦察粒子和后卫粒子;
步骤5,由式(8)~(10)计算模糊系统的输入指标,由式(7)更新ω,由模糊系统更新c1和c2,式(6)更新α;
步骤6,侦察粒子和后卫粒子分别按式(5)~(6),(1)~(2)进行更新;
步骤7,求解各粒子适应度,更新Pbest,统计nupdate,依据融合距离因素的模拟退火策略更新Gbest;
步骤8,判断是否达到终止条件,若达到则输出最优适应度值,结束算法,否则返回步骤3。
3 仿真实验及结果分析
在Matlab R2016a环境下,使用处理器为Intel(R) Core(TM) i7-6700 CPU 3.41GHz,内存为16G的计算机进行仿真实验。使用单峰、多峰、固定维多峰三种类型,共25个标准测试函数进行仿真测试。表2给出了标准测试函数的名称、搜索范围和最优值。实验选取的25个标准测试函数中:f1~f7为单峰标准测试函数,均具有唯一局部极值点,即全局最优点,该类型函数可用于測试算法的局部开发能力,检验算法的收敛速度;f8~f15为多峰标准测试函数,具有多局部极值点和唯一全局最优点,可用于检测算法跳出局部最优的能力,测试算法的全局寻优能力;f16~f25为固定维多峰标准测试函数,该类型函数拥有的局部最优点数量少,贴近实际的工程优化问题。
3.1 算法性能测试
为测试LDFSPSO的性能,选择iwPSO,SAPSO,SSA进行对比实验。经过前期仿真实验发现,增加SSA中领导者数目可以提高SSA算法的性能。为增强SSA算法的搜索能力,将SSA中领导者的数目由1个增加为种群数目的一半,其余参数均按文献[19]设置。为验证LDFSPSO中分工策略的有效性,与去除分工策略的算法(Fuzzy Adaptive Simulated Annealing PSO,FSPSO)进行对比实验。为验证参数自适应调整策略的有效性,与去除参数模糊自适应策略的算法(Simulated Annealing PSO based on Labor Division,LDSPSO)进行对比实验。算法均设置种群规模N=30,最大迭代次数kmax=1000,ωmax=0.95,ωmin=0.4。各算法其他参数设置与文献[9]和文献[18]相同。将f1~f15在10维、30维、50维和100维,f16~f25在固定维度下独立运行30次。为充分考虑算法的性能,记录不同算法所得结果的最优值、最差值、平均值和标准差,限于篇幅,表3只列出了100维测试函数的统计结果。为对比各维度下算法表现,统计各算法的最佳表现次数,如图4所示。
由图4可知,在大部分实验中,LDFSPSO的各项统计指标表现优秀,在整体上表现出了较高的寻优精度和较强的开发能力。通过与iwPSO,SAPSO,SSA这3种算法进行对比,可以发现对于100维问题,LDFSPSO在稳定性和寻优能力上都有最好的表现。对于单峰问题,LDFSPSO在绝大多数问题上表现最好。对于多峰问题,LDFSPSO能在f3~f11上取得最好的效果。对于f15,随着问题维度的升高,局部最优解数量大量增加,盲目搜索极易陷入局部最优,LDFSPSO拥有向Pbest和Gbest学习能力的同时,兼具一定的随机搜索能力,且模拟退火策略增加了跳出局部最优的能力,故能取得最好的效果。
对于固定维多峰函数,LDFSPSO在所有测试问题上都有最好的表现,验证了本文算法在跳出局部最优能力上的优势,限于篇幅不再列出具体统计数据。
3.2 各策略作用分析
为验证LDFSPSO中改进策略的有效性,设计了与LDSPSO、FSPSO的对比实验,实验数据见表3。 LDFSPSO整体性能最好,其次是LDSPSO和FSPSO。LDFSPSO中分工策略使得侦察粒子能够在较好的解附近进行侦察操作,搜索可能更有价值的位置,原有的学习机制使算法保持了向Pbest和Gbest学习的能力。此外,在参数调整时充分利用种群信息可以获得算法探索和开发能力更好的平衡。各策略的综合作用使得LDFSPSO取得较好的效果。
3.3 LDFSPSO粒子分布情况分析
为验证LDFSPSO的优势,以2维Sphere和Schwefel函数为例,跟踪LDFSPSO算法中粒子分布情况,如图5~图6所示,两图中背景为等值线图,等值线颜色越深代表值越小,对于极小化问题意味着解越优秀。
Sphere函数只有一个全局最优解,理论最优解为原点。在第2次迭代时,群体最优粒子就找到了全局最优解的位置,据图5所示,在第80代时,所有个体最优粒子均已收敛到全局最优解附近,表明算法有较快的收敛速度。
Schwefel函数有搜索空间大、局部最优点多且分布不规则等特点,其理论全局最优解为[420.968 7,…,420.968 7]。图6a~c中,群体最优粒子迅速向全局最优解靠近,可以发现本文算法有较强的全局搜索能力,图6d~f中,可以发现在迭代中后期,算法仍能保持较好的开发能力,在1 000代时所有粒子都收敛在理论全局最优解附近。
3.4 稳定性对比
箱线图可以描述统计数据的情况,反映数据分布的中心位置和散布范围,揭示数据离散程度、异常值、分布差异等。从表3可知,LDFSPSO表现出了更好的稳定性。为进一步对比分析算法的稳定性,将测试函数在各算法下独立运行30次的结果绘制成箱线图,限于篇幅,这里只展示部分函数的数据箱线图,如图7所示。观察箱线图中的适应度的中值、离群值等信息,可以看到即使在高维多峰问题和复杂固定维多峰问题上,LDFSPSO仍有最佳的精度和稳定性。
3.5 收敛情况对比
为观察LDFSPSO的收敛速度、精度及跳出局部最优的能力,将不同维度下各测试函数的迭代情况绘制成收敛曲线图。限于论文篇幅,圖8只给出了各对比实验中部分函数的收敛曲线。在图8a和8b中可以看出,在一些单峰问题上,LDSAPSO收敛速度远远快于对比算法,表明引入分工机制后,通过对粒子进行排序分工,提升了算法收敛速度和精度。在图8c和8f中可以看出,面对多峰问题,LDSAPSO在引入分工机制和模拟退火因子后,可以增强全局搜索能力,避免陷入局部最优。为做好探索和开发之间的平衡,参数模糊自适应调整需要利用更多种群信息,降低收敛速度,这对于复杂、多峰问题是必要的,对于一些简单、单峰问题,参数线性调整策略也有很好的表现。
4 结论
融合3种策略,提出了一种基于分工和模糊控制的粒子群算法。分工策略提高种群多样性,加快算法收敛速度;参数自适应调整策略和融合距离因素的模拟退火策略增强算法跳出局部最优的能力,平衡算法的探索和开发能力。通过实验结果可以看出,改进算法整体上可以取得不错的效果。工程实践中有很多问题是带约束的优化问题,下一步工作将研究约束优化问题的求解,如何将约束处理机制与算法有机结合将是后续研究的重点。
参考文献:
[1]KENNEDY J, EBERHART R. Particle swarm optimization[C]//International Conference on Neural Networks. Piscataway: IEEE, 1995,4: 1942-1948.
[2]WANG D S, TAN D P, LIU L. Particle swarm optimization algorithm: an overview[J]. Soft Computing, 2018, 22(2): 387-408.
[3]WANG F, ZHANG H, ZHOU A. A particle swarm optimization algorithm for mixed-variable optimization problems[J]. Swarm and Evolutionary Computation, 2021, 60(2): 100808.
[4]CHEN K, XUE B, ZHANG M ,et al. Correlation-guided updating strategy for feature selection in classification with surrogate-assisted particle swarm optimization[J]. IEEE Transactions on Evolutionary Computation,2022,26(5):1015-1029.
[5]JUNIOR F, YEN G. Particle swarm optimization of deep neural networks architectures for image classification[J]. Swarm and Evolutionary Computation, 2019, 49: 62-74.
[6]LIU Y, LIU J, JIN Y. Surrogate-assisted multipopulation particle swarm optimizer for high-dimensional expensive optimization[J]. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 2022, 52(7): 4671-4684.
[7]卿東升,邓巧玲,李建军,等.基于粒子群算法的满载需求可拆分车辆路径规划[J].控制与决策, 2021, 36(6): 1397-1406.
QING D S, DENG Q L, LI J J ,et al. Split vehicle route planning with full load demand based on particle swarm optimization[J]. Control and Decision, 2021, 36(6): 1397-1406.
[8]帅茂杭,熊国江,胡晓,等.基于改进多目标骨干粒子群算法的电力系统环境经济调度[J].控制与决策, 2022, 37(4): 997-1004.
SHUAI M H, XIONG G J, HU X ,et al. Economic emission dispatch of power system based on improved bare-bone multi-objective particle swarm optimization algorithm[J]. Control and Decision, 2022, 37(4): 997-1004.
[9]SHI Y, Eberhart R. A modified particle swarm optimizer[C]//IEEE International Conference on Evolutionary Computation. Anchorage,AK,USA:IEEE, 1998: 69-73.
[10] 路复宇,童宁宁,冯为可,等.自适应杂交退火粒子群优化算法[J].系统工程与电子技术,2022,44(11):3470-3476.
LU F Y, TONG N N, FENG W K ,et al. Adaptive hybrid annealing particle swarm optimization algorith-m[J]. Systems Engineering and Electronics,2022,44(11):3470-3476.
[11] LIU W, WANG Z, YUAN Y, et al. A novel sigmoid-function-based adaptive weighted particle swarm optimizer[J]. IEEE Transactions on Cybernetics, 2021, 51(2): 1085-1093.
[12] NESHAT M. FAIPSO: fuzzy adaptive informed particle swarm optimization[J]. Neural Computing & Applications, 2013, 23(1): S95-S116.
[13] MENG Z Y, ZHONG Y X, MAO G J ,et al. Pso-sono:a novel pso variant for single-objective numerical optimization[J]. Information Sciences, 2022, 586: 176-191.
[14] 邓先礼,魏波,曾辉,等.基于多种群的自适应迁移PSO算法[J].电子学报, 2018, 46(8): 1858-1865.
DENG X L, WEI B, ZENG H ,et al. A multi-population based self-adaptive migration PSO[J]. ACTA ELECTRONICA SINICA, 2018, 46(8): 1858-1865.
[15] 许胜才,蔡军,程昀,等. 基于拓扑结构与粒子变异改进的粒子群优化算法[J].控制与决策, 2019, 34(2): 419-428.
XU S C, CAI J, CHENG Y ,et al. Modified particle swarm optimization algorithms based on topology and particle mutation[J]. Control and Decision, 2019, 34(2): 419-428.
[16] LI H, LI J, WU P S, et al. A ranking-system-based switching particle swarm optimizer with dynamic learning strategies[J]. Neurocomputing, 2022, 494: 356-367.
[17] DZIWINSKI P, BARTCZUK L. A new hybrid particle swarm optimization and genetic algorithm method controlled by fuzzy logic[J]. IEEE Transactions on Fuzzy Systems, 2019, 28(6): 1140-1154.
[18] 闫群民,马瑞卿,马永翔,等.一种自适应模拟退火粒子群优化算法[J].西安电子科技大学学报, 2021, 48(4): 120-127.
YAN Q M, MA R Q, MA Y X ,et al. Adaptive simulated annealing particle swarm optimization algorithm.[J] Joural of Xidian University, 2021, 48(4): 120-127.
[19] 黄晨晨,魏霞,黄德启,等.求解高维复杂函数的混合蛙跳–灰狼优化算法[J]. 控制理论与应用, 2020,37(7): 1655-1666.
HUANG C C, WEI X, HUANG D Q ,et al. Shuffled frog leaping grey wolf algorithm for solving high dimensional complex functions[J]. Control Theory & Applications, 2020, 37(7): 1655-1666.
[20] MIRJALILI S, GANDOMI A H, Mirjalili S Z ,et al. Salp swarm algorithm: a bio-inspired optimizer for engineering design problems[J]. Advances in Engineering Software, 2017, 114: 163-191.
[21] 王英聪,刘军辉,肖人彬.基于刺激响应分工机制的人工蜂群算法[J].控制与决策, 2022, 37(4): 881-891.
WANG Y C, LIU J H, XIAO R B ,et al. Artifificial bee colony algorithm based on stimulus-response labor division[J]. Control and Decision, 2022, 37(4): 881-891.
(責任编辑 耿金花)
收稿日期: 2022-10-16;修回日期:2022-11-17
基金项目: 国家自然科学基金(61673228,62072260);青岛市科技计划(21-1-2-16-zhz)
第一作者: 李金(1996-),男,山东泰安人,硕士研究生,主要研究方向为智能优化方法。
通信作者: 张纪会(1969-),男,山东青岛人,博士,教授,主要研究方向为复杂系统建模、智能优化理论与方法。