基于混合粒子群算法的PID 参数寻优
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于混合粒子群算法的PID参数寻优
曹志松,朴英
(清华大学航天航空学院,北京 100084)
摘要: 提出一种将单纯形法SM与粒子群算法PSO结合的混合粒子群算法HPSO。通过对3种常用测试函数进行优化和比较,结果表明HPSO比PSO和SM都更容易找到全局最优解。然后用HPSO优化算法对某涡扇发动机PID控制中的参数进行优化并将结果与混合遗传算法HGA的结果进行比较,结果表明HPSO在找寻最优解效率上好于HGA。且算法实现简单,具有很高的可靠性,是一种PID控制参数寻优的有效方法。
关键词: 粒子群优化算法; 单纯形算法; 航空发动机; PID控制; 遗传算法
中图分类号:TP391 文献标识码:B
Optimization Methodology of PID Parameters for Aeroengines Based on Hybrid PSO
CAO Zhi-song, PIAO Ying
(School of Aerospace, Tsinghua University, Beijing 100084, China)
Abstract: A hybrid particle swarm optimization algorithm (HPSO) was proposed based on PSO and simplex method (SM). HPSO, PSO and SM are used to resolve three widely used test functions’ optimization problems. Results show that HPSO has greater efficiency and better performance than PSO and SM. HPSO is used to optimize the aeroengine PID controller parameters, and the result indicates that HPSO can obtain the optimum solutions more easily than HGA. Although very easy to implement, this HPSO is an efficient way to optimize the PID controller parameters.
Key words: particle swarm optimization(PSO); simplex algorithm(SM); aeroengine; PID control; genetic algorithm(GA)
1 引言
工程实际中的条件优化问题本质上可以转换为函数优化问题,对于函数优化问题,现有许多成熟的解决方法,如间接寻优法, 梯度法, 爬山法等。而在工程上单纯形法、专家整定法应用较广, 虽然两者都具有良好的寻优特性, 但却存在着一些弊端, 单纯形法对初值比较敏感, 容易陷入局
部最优解, 造成寻优失败, 专家整定法则需要太多的经验, 不同的目标函数对应不同的经验,而整理知识库又是一项长时间的工程。为了解决这一问题可以采用具有全局搜索能力的算法来解决,如遗传算法GA,粒子群算法PSO等。
PSO算法是美国Kennedy和Eberhart博士受鸟群觅食行为的启发,于1995年提出的一种生物进化算法[1]。PSO算法简单,易于实现。但是它的局部搜索能力比较差,不能有效求解高维、复杂的工程问题。本文提出了一种将单纯形法SM与粒子群算法PSO结合的混合粒子群算法HPSO。它将SM有机地融入PSO中,不但可以减少计算规模,而且有效的增强了PSO算法的局部搜索能力,提高了算法的鲁棒性能。
2 HPSO算法
PSO是一新兴的全局优化方法,但是它的局部搜索能力比较差,不能有效求解高维、复杂的工程问题,将PSO与局部搜索技术结合起来;在搜索过程中,以PSO的优化结果作为局部搜索的起点、利用局部搜索的结果指导PSO的搜索方向,双方有机的结合,达到提高搜索效率的目的。SM是确定性的单目标优化方法, SM利用n维空间中的n+1个顶点的多面体的反射、内缩、缩边等性质进行优化,从一个优良的初始点出发,可以迅速地得到单目标的局部最优解[2]。HPSO算法将SM方法和PSO方法混合,形成优势互补,在优化n维变量时,从PSO搜索的结果中选择包含最优粒子在内的空间位置互不相同的n+1个粒子作为SM的顶点、再用SM搜索若干步,并用搜索后的各顶点代替当前适应值最差的n+1个粒子,然后进行PSO的下一步搜索。
另外,通过分析标准PSO算法可知,当w较大时,PSO算法具有全局收敛性,但运算量很大;
当w 较小时,算法容易收敛,但容易陷入局部最优。本文对w 值的选取采用线性递减算法[3],w 随着粒子群的迭代次数线性减少。求解w 的线性公式如下:
max max min max ()iter w w w w iter =−− (1)
w max 、w min 分别为最大惯性权重和最小惯性权重。iter 为当前粒子的迭代次数,iter max 为粒子群算法开始设置的最大迭代次数。通过分析公式(1)可以知道,较大的w max 有利于大范围的搜索,但是粒子在搜索过程中就可能将一些空间忽略掉,可能影响到最优解的出现。反之,较小的w max 有利于局部小范围搜索,但可能导致找到的是局部最优解。
HPSO 的算法流程如下所示:
(1)初始化粒子群,包括粒子群的大小、随机位置和速度,设置算法的最大迭代次数。
(2)按优化函数评价各粒子的初始适应值。
(3)根据式(1)和式(2)更新粒子的速度和位置;根据(3)式计算w值。
(4)按优化函数计算出每个粒子的对应适应值。
(5)更新并储存各粒子的个体历史最优位置和个体历史最优适应值;更新并储存粒子群的全局历史最优位置和全局历史最优适应值。
(6)从PSO搜索的结果中选择包含最优粒子在内的空间位置互不相同的n+1个粒子作为SM的顶点、再用SM搜索若干步,用搜索后的各顶点代替当前适应值最差的n+1个粒子。
(7)更新并储存回代粒子的个体历史最优位置和个体历史最优适应值,更新并储存整群的全局历史最优位置和全局历史最优适应值。
(8) 若满足停止条件(适应值误差小于设定的适应值误差限或迭代次数超过最大允许迭代次数),搜索停止,输出全局历史最优位置和全局历史最优适应值为所求结果。否则,返回(3)继续搜索。 3 测试函数的优化与结果讨论
3.1 测试函数介绍
测试函数1:
21
min ()(10cos(2)10)
5.12 5.12
n
i i i i f x x x x π==−+−≤≤∑ (2)
测试函数2:
552212121211
12min (,){cos[(1)]}{cos[(1)}0.5[( 1.42513)(0.80032)]
10,10i i f x x i i x i i i x i x x x x ===++∗++++++−≤≤∑∑ (3)
测试函数3:
211
min ()14000600600n n
i i i i x f x x ===−+−≤≤∑∏ (4) 以上测试函数都是很难的多峰值函数。第1个测试函数为Rastrigrin函数,此函数有一个全局最小点(0,0),最小值为0。第2个是Shubert函数,此函数有760个局部极小点,其中只有一个
(-1.42513,-0.80032)为全局最小,最小值为-186.7309。第3个为Griewank函数,此函数有一个全局最小点(0,0),最小值为0。
3.2 优化结果及讨论