粒子群算法和灰狼算法的融合
2023-06-25索美霞张永立李梦婕易国荣
索美霞 张永立 李梦婕 易国荣
摘 要:為了解决传统粒子群算法(PSO)容易“早熟”、陷入局部最优以及灰狼算法(GWO)收敛速度慢的问题。首先,采用GWO算法的个体极值更新策略来实现个体包围式向最优值趋近,融入PSO算法的速度更新策略来实现群体向最优值的趋近,并且在原始粒子群算法基础上加入线性惯性权重递减来提高算法的收敛速度,从而提出了一种基于灰狼算法和改进的粒子群算法(IPSO)的融合优化算法(GW-IPSO);其次,通过6个经典算例进行仿真试验,将融合算法与PSO算法、IPSD算法、灰狼和粒子群结合算法(GW-PSO)进行对比;最后,应用融合算法对二级直线倒立摆的控制器设计进行参数寻优。结果表明:针对6个标准测试函数,混合算法的30次试验结果平均值更接近最优值,且标准差几乎都是最小的;应用在倒立摆控制问题上,系统在5 s左右进入稳定状态。融合后的GW-IPSO算法能够在一定程度上避免早熟和陷入局部极值的问题发生,并且能够很好地应用于控制器设计过程中参数寻优问题。
关键词:算法理论;粒子群算法;灰狼算法;倒立摆;控制器设计
中图分类号:TP183 文献标识码:A DOI: 10.7535/hbgykj.2023yx03008
Research on the fusion of PSO and GWO
SUO Meixia ZHANG Yongli LI Mengjie YI Guorong
(1.School of Automation and Electrical Engineering, Tianjin University of Technology and Education, Tianjin 300222, China; 2.Tianjin Key Laboratory of Information Sensing and Intelligent Control, Tianjin 300222, China; 3.School of Informatics, Beijing Institute of Technology, Zhuhai, Guangdong 519088, China)
Abstract:The purpose of this paper is to solve the problems that traditional particle swarm optimization (PSO) algorithm is prone to "precocious", easy to fall into local optimum, and the grey wolf optimization (GWO) algorithm converges slowly. Firstly, the individual extreme value update strategy of GWO algorithm was used to realize the individual enveloping approach to the optimal value, the speed update strategy of the PSO algorithm was integrated to achieve the approach of the population to the optimal value, and the linear inertia weight reduction was added to improve the convergence speed of the algorithm on the basis of the original particle swarm algorithm, so as to propose an optimization algorithm (GW-IPSO) based on the fusion of gray wolf algorithm and improved particle swarm algorithm. Secondly, through six classical examples, the GW-IPSO algorithm was compared with the PSO algorithm, the improved particle swarm algorithm, the gray wolf and the particle swarm combination algorithm. Finally, the fusion algorithm was applied to optimize the parameters of the controller design of the two-stage linear inverted pendulum. The experimental results show that for the six standard test functions, the average value of the 30 experimental results of the GW-IPSO algorithm is closer to the optimal value, and the standard deviation is almost the smallest. Applied to the inverted pendulum control problem, the system enters a stable state in about 5 seconds. The GW-IPSO algorithm can avoid the problems of precocious maturation and falling into local extremes to a certain extent, and can be well applied to the parameter optimization problem in the controller design process.
Keywords:algorithmic theory; particle swarm optimization; grey wolf optimization;invert pendulum; controller design
当前,遗传算法、人工免疫算法、灰狼算法(grey wolf optimization,GWO)、粒子群算法(particle swarm optimization,PSO)、模拟退火算法等智能优化算法越来越被广泛地应用于各种领域[1]。通过人们不断地探索和研究,发现传统的智能优化算法最大的缺点就是容易陷入局部最优值。GWO算法不易受参数影响,简单易于实现,已被应用在微电网、特征提取、图像分割、车间调度等领域,但算法后期收敛速度较慢[2]。PSO算法主要通过群体内个体之间的信息共享来完成寻优,原理简单,易于实现,收敛速度快,但是平衡全局的能力差[3],个体“自我认知”和“社会认知”部分的权重是搜索的关键因素,当算法参数不合适或者优化问题局部最优的欺骗性太强就很容易陷入局部最优。目前,针对优化算法容易陷入局部最优的问题主要有2个方面的改进方法:一是从算法自身进行研究,对参数设置、算法流程进行改进,提高算法性能,例如王鹏飞等[4]提出的改进收缩因子的粒子群优化算法,通过引入压缩因子方程,改进了粒子群算法速度迭代公式,减少了因学习因子设置不当对算法造成的影响;李二超等[5]提出了一种自适应粒子速度和位置更新策略,采用基于Logistic混沌呈非线性变化的惯性权重,以此来加快算法的收敛速度、平衡算法的全局和局部搜索能力、提高收敛精度。二是基于算法融合的思想,通过对不同算法的优缺点进行分析比较,取长补短,产生新的融合算法来提升算法性能。如赵经纬等[6]采用自适应惯性因子和学习因子,并引入遗传变异策略和精英保留策略,提出了一种改进的粒子群算法(improved particle swarm optimization,IPSO)。本文采用第2种算法改进方法,分析粒子群算法和灰狼算法的优缺点,提出灰狼算法和改进的粒子群算法的融合优化算法(grey wolf-improved particle swarm optimization,GW-IPSO)。
倒立摆是最典型的多变量、高阶次、非线性、强耦合、自然不稳定系统。倒立摆系统的稳定控制是控制理论中的典型问题,传统倒立摆稳摆常采用PID控制和LQR控制,其中LQR控制方法中Q,R矩阵的取值尤为重要,但目前还没有明确的计算方式,通常需要根据经验值来进行试凑,过程繁琐、耗时耗力。因此许多学者通过智能优化算法来确定相关参数[7-8]。为了验证算法的优越性,本文将GW-IPSO算法应用在倒立摆控制系统上,通过仿真试验与传统试凑法进行了对比。
1 算法及其融合策略
1.1 PSO算法
粒子群算法,最初是由Kennedy和Eberhart提出的。算法中每个粒子通过与群体中其他粒子之间的协作与竞争而寻求到最优解[9]。其进化过程见式(1)和式(2):
1.2 GWO算法
1.3 算法融合
粒子群算法和灰狼算法的融合策略主要包含基于GWO算法的个体极值更新、基于PSO算法的速度更新、以及惯性权重线性递减3个方面的融合与改进。
首先,GWO算法中的核心思想就是由α狼、β狼、δ狼3个等级的狼引导群体进行位置更新,可以弥补粒子群算法中单一的最优个体引导迭代策略的缺陷。同时灰狼算法采用的是包围式的向最優值趋近的策略。所以将这一核心思想融入到算法内部,可以提高算法的全局搜索能力。
但是,GWO算法中没有涉及到群体向最优位置移动速度的更新。因此,在GWO算法的基础上,融入粒子群算法的速度更新思想,如式(6)和式(7)所示:
2 算例验证与结果分析
2.1 标准测试函数
为证明改进算法的性能,使用单峰函数、多峰函数和固定多峰函数3种具有不同特点的标准测试函数测试改进算法的有效性,表1给出了具体的标准测试函数。采用原始粒子群算法(PSO)、加入惯性权重递减的改进粒子群算法(IPSO)、灰狼和粒子群的结合算法(grey wolf-particle swarm optimization,GW-PSO)、本文提出的融合算法(GWO-IPSO)分别对6个标准测试函数进行30次仿真试验,取适应度值的平均值和标准差进行比较。同时为保证试验结果的客观性,均选取相同的参数值,具体对比结果如表2所示。
2.2 时间复杂性分析
2.3 适应度函数
3 LQR参数寻优
通过算法的测试也可以看出GW-IPSO算法的性能较为稳定,因此,将其应用于二级直线倒立摆LQR控制器的权矩阵Q,R的优化选取,并与传统LQR稳摆控制效果进行对比。
3.1 二级倒立摆拉格朗日数学建模
图3所示为二级直线倒立摆的物理模型,主要由1个可以沿直线运动的小车和2个可以自由旋转的摆杆组成。现假设每一级倒立摆都是均匀刚体,驱动力无延迟地施加于小车,且运动过程中系统所有的摩擦阻力足够小,可忽略不计[15-17],具体物理参数如表4所示。
3.2 仿真试验
4 结 语
本文针对粒子群算法和灰狼算法的各自优缺点,融合了GWO算法的个体极值更新、PSO算法的速度更新和惯性权重线性递减的迭代方法,提出了GW-IPSO融合算法。在算法参数相同的前提下,与PSO算法、IPSO算法、GW-PSO算法分别对6个标准测试函数进行寻优,得出以下结论。
1)从30次试验结果来看,GW-IPSO算法寻优结果平均值更接近最优值,并且标准差比其他3个算法小1~15个数量级。
2)从6个测试函数的适应度值变化曲线来看,GW-IPSO算法在一定程度上能够很好地跳出局部最优值,且收敛速度较快。
3)从对测试函数f1,f2,f5的30次仿真试验平均运行时间来看,GW-IPSO算法的平均运行时间分别为0.340 6,0.171 9,0.156 2 s均比GW-PSO算法运行时间短。
通过将GW-PSO算法应用于二级直线倒立摆LQR控制器设计中权矩阵Q和R的参数寻优上,系统在5 s左右进入稳定状态,与传统试凑法相比,摆杆的超调量更小,小车的位移也更小。
但目前该算法仍然存在可能陷入局部最优值的问题。因此,今后可以尝试将多次运行的最优值作为下次运行的初值,来提升算法精度。
参考文献/References:
[1] 范伟伦,卫鑫,熊威.模拟退火——免疫粒子群融合算法研究[J].中国设备工程,2021(19):99-101.
[2] 杜卫康.基于GWO-PSO融合算法的USV群体对抗动态避障与协同围捕[D].长春:吉林大学,2022.DU Weikang.USV Group Adversarial Dynamic Obstacle Avoidance and Cooperative Hounding Based on the GWO-PSO Fusion Algorithm[D].Changchun:Jilin University,2022.
[3] 梁景泉,周子程,刘秀燕.粒子群算法改进灰狼算法的机器人路径规划[J].软件导刊,2022,21(5):96-100.LIANG Jingquan,ZHOU Zicheng,LIU Xiuyan.Robot path planning based on particle swarm optimization improved grey wolf algorithm[J].Software Guide,2022,21(5):96-100.
[4] 王鹏飞,任丽佳,高燕.基于改进收缩因子的粒子群优化算法[J].电子科技,2022,35(5):14-18.WANG Pengfei,REN Lijia,GAO Yan.PSO algorithm based on improved contraction factor[J].Electronic Science and Technology,2022,35(5):14-18.
[5] 李二超,高振磊.改进粒子速度和位置更新公式的粒子群优化算法[J].南京师大学报(自然科学版),2022,45(1):118-126.LI Erchao,GAO Zhenlei.Particle swarm optimization algorithm with improved particle velocity and position update formula[J].Journal of Nanjing Normal University (Natural Science Edition),2022,45(1):118-126.
[6] 趙经纬,张君毅,李佳.基于改进粒子群的分布式通信干扰资源分配[J].河北工业科技,2023,40(1):52-58.ZHAO Jingwei,ZHANG Junyi,LI Jia.Distributed communication jamming resource allocation method based on improved particle swarm optimization[J].Hebei Journal of Industrial Science and Technology,2023,40(1):52-58.
[7] 王莹.粒子群算法优化的改进及其在直线二级倒立摆系统中的应用研究[D].青岛:山东科技大学,2020.WANG Ying.Improvement of Particle Swarm Optimization and Its Application in Linear Double Inverted Pendulum System[D].Qingdao:Shandong University of Science and Technology,2020.
[8] 彭慧刚.改进粒子群算法在二级倒立摆控制系统中的研究[D].武汉:湖北工业大学,2016.PENG Huigang.Research on Improved Particle Swarm Optimization Algorithm in Double Stage Inverted Pendulum Control System[D].Wuhan:Hubei University of Technology,2016.
[9] 王万良,金雅文,陈嘉诚,等.多角色多策略多目标粒子群优化算法[J].浙江大学学报(工学版),2022,56(3):531-541.WANG Wanliang,JIN Yawen,CHEN Jiacheng,et al.Multi-objective particle swarm optimization algorithm with multi-role and multi-strategy[J].Journal of Zhejiang University (Engineering Science),2022,56(3):531-541.
[10]董如意,唐玉玉,桑可可.基于改进粒子群算法的PID控制器参数整定优化[J].吉林化工学院学报,2022,39(7):18-21.DONG Ruyi,TANG Yuyu,SANG Keke.Optimization design of PID controller based on particle swarm optimization algorithm[J].Journal of Jilin Institute of Chemical Technology,2022,39(7):18-21.
[11]邵士凯,石伟龙,杜云.基于粒子群算法的固定时间多约束无人机轨迹规划[J].河北科技大学学报,2022,43(3):259-267.SHAO Shikai,SHI Weilong,DU Yun.Fixed time multi-constraint UAV trajectory planning based on particle swarm optimization[J].Journal of Hebei University of Science and Technology,2022,43(3):259-267.
[12]李真,王帆,王冉珺.一种结合灰狼算法的粒子群优化算法[J].计算机测量与控制,2021,29(10):217-222.LI Zhen,WANG Fan,WANG Ranjun.An improved particle swarm optimization algorithm[J].Computer Measurement & Control,2021,29(10):217-222.
[13]李佳园,李耀南,惠继录.灰狼优化算法的应用综述[J].数字技术与应用,2022,40(9):10-13.
[14]陈贞,闫明晗.一种改进的灰狼优化算法[J].延边大学学报(自然科学版),2022,48(3):250-254.CHEN Zhen,YAN Minghan.An improved grey wolf optimization algorithm[J].Journal of Yanbian University (Natural Science Edition),2022,48(3):250-254.
[15]于蕾,方蒽,纪雯.一阶倒立摆系统建模与仿真研究[J].电子世界,2021(15):25-26.
[16]周长斌.基于直线电机倒立摆的控制算法及控制器设计[D].合肥:合肥工业大学,2018.ZHOU Changbin.Control Algorithm and Controller Design Based on Inverted Pendulum System of Linear Motor[D].Hefei:Hefei University of Technology,2018.
[17]王鵬飞,杜忠华,牛坤,等.基于改进粒子群算法的倒立摆LQR优化控制[J].计算机仿真,2021,38(2):220-224.WANG Pengfei,DU Zhonghua,NIU Kun,et al.LQR optimal control of inverted pendulum based on improved particle swarm optimization algorithm[J].Computer Simulation,2021,38(2):220-224.
[18]张永立.空间多级倒立摆非线性控制方法研究[D].大连:大连理工大学,2011.ZHANG Yongli.Research on Nonlinear Control Technique for Spherical Mult-rod Inverted Pendulum System[D].Dalian:Dalian University of Technology,2011.
[19]张继荣,张天.基于改进粒子群算法的PID控制参数优化[J].计算机工程与设计,2020,41(4):1035-1040.ZHANG Jirong,ZHANG Tian.Optimization of PID control parameters based on improved particle group algorithm[J].Computer Engineering and Design,2020,41(4):1035-1040.
[20]贺迟来,徐晓龙,钟晓伟,等.基于改进粒子群算法的旋转倒立摆PID参数整定[J].自动化技术与应用,2021,40(12):10-15.HE Chilai,XU Xiaolong,ZHONG Xiaowei,et al.PID parameters tuning of rotary inverted pendulum based on improved particle swarm optimization algorithm[J].Techniques of Automation and Applications,2021,40(12):10-15.
[21]庞新雨,范继祥,王阿南.基于PSO-LQR的二级旋转倒立摆控制系统设计[J].哈尔滨师范大学自然科学学报,2019,35(5):26-32.PANG Xinyu,FAN Jixiang,WANG Anan.Design of control system based on PSO-LQR for double rotary inverted pendulum[J].Natural Science Journal of Harbin Normal University,2019,35(5):26-32.