Modeling and Simulation
Vol. 10  No. 02 ( 2021 ), Article ID: 42264 , 9 pages
10.12677/MOS.2021.102041

基于改进粒子群算法的PID控制参数整定

岳朗,孟令启*,李进,束仁东

安徽科技学院机械工程学院,安徽 凤阳

收稿日期:2021年2月24日;录用日期:2021年5月6日;发布日期:2021年5月13日

摘要

目的:为解决PID控制中参数整定不合理导致控制性能差、超调量大、耗时等问题,提出一种基于改进粒子群算法整定PID控制器控制参数的方法。方法:针对标准粒子群算法在寻优过程中易陷入局部的情况,引入Rosenbrock算法增强粒子在增强局部搜索的能力,从而提高解的质量,并利用改进后的粒子群算法整定PID参数,得到整定后的PID控制参数用于控制系统,并通过Matlab进行仿真试验,将文中改进粒子群算法与标准粒子群对比。结果:仿真结果显示融合Rosenbrock搜索的粒子群算法所整定出的PID控制参数在仿真中超调量为9.5%,系统调整至稳态时间为1.69 s,ITAE性能指标约为4.25;标准粒子群超调量为24.65%,系统调整时间为2.32 s,ITAE性能指标约为5.52。结论:相比于标准粒子群算法,文中改进粒子群算法所整定的PID控制参数在仿真实验中的综合性能更好,且超调量较小,调节时间短,响应速度较快,鲁棒性强,为PID控制参数整定提供了方法。

关键词

PID控制,参数整定,粒子群算法,Rosenbrock搜索

PID Control Parameter Tuning Based on Improved Particle Swarm Optimization Algorithm

Lang Yue, Lingqi Meng*, Jin Li, Rendong Shu

School of Mechanical Engineering, Anhui Science and Technology University, Name of Organization, Fengyang Anhui

Received: Feb. 24th, 2021; accepted: May 6th, 2021; published: May 13th, 2021

ABSTRACT

Objective: To solve the problems in PID control, such as poor control performance, large overshooting and time consuming caused by unreasonable parameter setting, a PID parameter setting method based on improved particle swarm optimization (PSO) was proposed. Method: According to the standard particle swarm algorithm, in the case of easy trapped in local optimum process, introducing Rosenbrock algorithm enhances particle in strengthening the ability of local search, thus improves the quality of the solution, and by using the improved particle swarm optimization (PSO) setting the PID parameter, after setting, the PID control parameters are used to control system, and through Matlab simulation test, this paper improves particle swarm algorithm and standard particle swarm. Results: The simulation results showed that the overshot of PID control parameters adjusted by the particle swarm optimization algorithm fused Rosenbrock was 9.5%, the system adjusted to the steady-state time was 1.69 s, and ITAE performance index was about 4.25. The standard particle swarm overshoot was 24.65%, the system adjustment time was 2.32 s, and the ITAE performance index was about 5.52. Conclusion: Compared with the standard particle swarm optimization algorithm, the PID control parameters set by the improved particle swarm optimization algorithm in this paper have better comprehensive performance in the simulation experiment, and the overshot is small, the regulation time is short, the response speed is fast, the robustness is strong, providing a method for PID control parameter setting.

Keywords:PID Control, Parameter Setting, Particle Swarm Optimization, Rosenbrock Search

Copyright © 2021 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 引言

PID控制器由于稳定性强、结构简单被普遍应用在工业控制领域来控制例如流量、压力、温度等一些连续变化的物理量,且一般采取闭环控制方式 [1]。在PID控制器中,PID参数的整定往往是决定控制效果的核心因素,其直接影响到整个控制系统的优劣,但是PID整定参数的过程往往十分的繁琐和复杂,在实际的工业生产中,如若没有优异的控制参数整定能力会导致整个系统的动态、静态性能达不到生产要求,甚至导致系统无法运行 [2] [3] [4] [5]。

现阶段,在工业生产中一般采用ZieglerNichols整定方法、Cohen-Coon整定算法或是工业经验法来整定控制参数 [6]。就ZieglerNichols整定方法而言,此种方法对于时间滞后性较大的控制对象时往往效果不理想,因此在PID参数整定方法上仍然有较大的改善空间。曾冰等提出一种基于鲸鱼群算法的PID控制参数整定方法,在考虑调节时间和稳定裕度的目标函数后,将邻域搜索策略加入迭代计算器的鲸鱼算法,具有一定的有效性和实用性 [7]。叶海平通过自适应调整惯性因子,达到改善粒子群算法的搜索能力,使得整体控制系统响应速度快、超调量小 [8]。以上方法在一定程度上取得理较好的效果,但是在实际应用过程中,控制系统的数学模型较为复杂,在面对多维函数模型时在求最优解的过程中往往会陷入局部最优解使粒子出现早熟的情况,使得粒子失去动能难以逃离局部最优。因此本文结合PID参数整定优化,在标准粒子算法的基础上,加入Rosenbrock算法来增强局部搜索的能力提高解的质量,并通过仿真实验证明改进粒子群算法所整定PID控制参数的优越性。

2. 标准粒子群算法

粒子群优化(Particle Swarm Optimization, PSO)算法是Kennedy和Eberhart受到人工生命研究结果的启发,通过模拟鸟群觅食过程中的聚集和迁徙行为而提出的一种基于群体智能的全局随机搜索算法 [9]。假设在d维空间内存在一个种群,种群中有n个粒子,则第i个粒子的速度矢量和位置表示为 V i = ( v i 1 , v i 2 , , v i d ) X i = ( x i 1 , x i 2 , , x i d ) ,其中 i = 1 , 2 , , d 。在下一时刻即(t + 1)时刻粒子速度更新公式为:

V i d ( t + 1 ) = w v i d ( t ) + c 1 r 1 ( P i d ( t ) x i d ( t ) ) + c 2 r 2 ( P g d ( t ) x i d ( t ) ) (1)

式中:

t——当前迭代次数;

w——惯性权重因子;

c 1 , c 2 ——学习因子;

r 1 , r 2 ——0~1之间分布的随机数。

P b e s t 为当前第i个粒子所搜索到的局部最优解,则 P b e s t = ( P i 1 , P i 2 , , P i d ) ,记全局最优值 g b e s t 为整个粒子群搜索到当前最优解,则 g b e s t = ( P g 1 , P g 2 , , P g d ) ,适应度值记为 Q b e s t i 。在(t + 1)时刻粒子i的位置最优由公式(2)确定。

P b e s t ( t + 1 ) = { P b e s t ( t ) Q [ x i ( t + 1 ) ] > Q b e s t i x i ( t + 1 ) Q [ x i ( t + 1 ) ] Q b e s t i (2)

通常需要设定粒子的速度范围 [ v min , v max ] 和位置范围 [ x min , x max ] 来防止在迭代过程中粒子飞出解集空间,并且粒子按照公式(3)进行位置更新。

x i d ( t + 1 ) = x i d ( t ) + v i d ( t + 1 ) (3)

式中需要根据实际情况来确定 x i d 的取值范围,并且按照式(2)及式(3)依次循环下去,直至取得达到要求的极值,因此可得如图1所示标准粒子群算法流程。

Figure 1. Flow chart of standard particle swarm optimization algorithm

图1. 标准粒子群算法流程图

3. 标准粒子群算法

3.1. 个体极值扰动策略

粒子群算法无论是全局收敛还是局部收敛,粒子群中的粒子都会出现早熟的现象,一旦粒子的全局收敛最优值陷入到函数的局部收敛最优值地带,其中个体最优值和全局最优值会停止更新,并且粒子此时会失去动能,无法找到最优位置 [10] [11]。此时可以给飞行中的粒子赋予其他方向的速度,有利于粒子跳出局部最优解探索其他区域。因此可以在个体最优的位置引入部分扰动以扩大迭代过程中粒子的搜索范围,本文的位置改进算法如下:

v i d ( t + 1 ) = ω v i d ( t ) + c 1 r 1 ( ( 0 .5 + 0 .5 r 3 ) p i d ( t ) x i d ( t ) ) + r 2 ( p g t ( t ) x i d ( t ) ) (4)

式中 r 3 是随机分布在 [ 0,1 ] 之间的常数,a是小常数,由于 r 3 的扰动,个体最优解会产生偏离并且伴随着速度方向和大小的变化。这种改进方法可以在迭代过程的初期扩大粒子的搜索区域,引导粒子搜索更多新的区域,最终有效的减少算法快速陷入局部最优的可能。

3.2. Rosenbrock搜索法

Rosenbrock方法又称为转轴法,于1960年由Howard Harry Rosenbrock提出 [12] [13]。Rosenbrock法是在当前位置所构造得n个正交方向上探测移动,直至找到缩小最快的方向,通过轴向的旋转产生一组新的方向为下一次迭代的轴向,如此循环 [14]。而粒子群算法全局搜索能力较强,但是容易早熟,局部搜索能力弱,因此在标准粒子群算法融入Rosenbrock算法来增强局部搜索的能力提高解的质量,Rosenbrock搜索是一种解决无约束最优化问题时不需要函数导数信息的直接方法 [15] [16],具体步骤如下:

Step1:初始化

给定初始解 x ( 1 ) R n 、n个正交化的初始向量组 { d ( 1 ) , d ( 2 ) , , d ( n ) } ,初始步长 δ 0 = ( δ 1 0 , δ 2 0 , , δ n 0 ) T > 0 ,方向取坐标轴方向,精度 ε > 0 ,扩大系数a>1,缩小系数 β ( 0,1 ) 。置 y ( 1 ) = x ( 1 ) δ i = δ i ( 0 ) i = 1 , 2 , , n ,置k = 1,j = 1。

Step2:计算适应值

f ( y ( j ) + δ j d ( j ) ) f ( y ( j ) ) ,则令 y ( j + 1 ) = y ( j ) + δ j d ( j ) δ j = α δ j 。若 f ( y ( j ) + δ j d ( j ) ) > f ( y ( j ) ) ,则令 y ( j + 1 ) = y ( j ) δ j = β δ j

Step3:如果 j < n ,则置 j = j + 1 ,转Step2;否则,转Step4。

Step4:求得个体最佳适应值

f ( y ( n + 1 ) ) < f ( y ( 1 ) ) ,此时令 y ( 1 ) = y ( n + 1 ) ,命 j = 1 ,转至步骤Step2;若 f ( y ( n + 1 ) ) = f ( y ( 1 ) ) ,则进行Step5。

Step5:求得群体最佳适应值

f ( y ( n + 1 ) ) < f ( x ( k ) ) ,则转至步骤Step6;如果对每个参数j,都有 | δ j | < ε 成立,则计算停止,此时 x ( k ) 作为最优解的估计;若终止条件不满足,则令 y ( 1 ) = y ( n + 1 ) ,命j=1,转至步骤Step2。

Step6:判断算法是否结束

x ( k + 1 ) = y ( n + 1 ) 。若 x ( k + 1 ) x ( k ) < ε ,此时取 x ( k + 1 ) 作为极小点的估计,此时计算停止并输出 x ( k + 1 ) ,否者转至步骤Step7。

Step7:更新粒子位置和速度

d 1 ˜ = x ( k + 1 ) x ( k ) 建立新的标准化正交向量组 { d 0 , d 1 , , d n } k + 1 ,令 δ ( k + 1 ) = δ ( 0 ) k = k + 1 ,转Step2。

通过蒙特卡罗随机模拟的方式得到粒子位置方程表示为:

X ( t ) = P ± L 2 ln ( 1 / u ) (5)

其中:u为 [ 0,1 ] 之间随机变化数。

L ( t + 1 ) = 2 β | m b e s t x ( t ) | (6)

m b e s t = i = 1 n P i / n = ( i 1 n P i 1 / n , i 1 n P i 2 / n , , i 1 n P i d / n ) (7)

式中:当达到第T次迭代时,取 β = 0 β 为缩放因子,此时 P i 为第i个粒子的最优历史解。

a [ 2 , 3 ] β 0 .5 ,标及准正交化的n个初始向量组取单位向量组,由于Rosenbrock搜索算法的嵌入使得粒子群算法的局部搜索能力增强,提高了算法精度并且在都搜索步长 δ 、放大因子a和缩小因子 β 选择合理的情况下,Rosenbrock的搜索可以有效的改善单维度或是多维度陷入局部值得情况,帮助粒子跳出局部最优 [17],具体的改进算法步骤如下:

更新粒子群的初始化位置信息,并设定改进粒子群算法的各项参数。

评价粒子的适应度,并按照公式(1)改进的位置更新公式得到所有粒子的位置信息,记 P i 为当前个体粒子的最优位置, P g 为种群最优位置。

假如在T次迭代中,全局最优粒子没有改变,则执行Rosenbrock搜索,直到算法收敛或是达到设定搜索次数;否则,转至步骤2。

当计算结束后,输出全局最优粒子的位置和适应值;否则,转至步骤Step2。

为了检验改进算法得有效性,如表1所示现采用4个经典函数进行实验,函数均取30维,实验条件:粒子种群大小为30,最大迭代次数为200,两种算法都采用惯性权重策略, c 1 = c 2 = 2 ω = 0 .9 ,在Rosenbrock搜索中,放大因子 a = 1.4 ,缩小因子 β = 0 .5 ,允许误差 ε = 10 6 ,最大搜索次数为100,搜索步长 β 为半搜索区间的10%,当达到最大搜索次数后跳出搜索。现采取4中算法独立运行30次以消除随机性的方法,求得平均值、标准差和最优值作为评估的标准,标准粒子群算法及改进粒子群算法实验结果可如表2表3所示。

Table 1. Benchmark functions

表1. 基准测试函数

Table 2. Calculation results of standard particle swarm

表2. 标准粒子群计算结果

Table 3. Improved particle swarm optimization calculation results

表3. 改进粒子群计算结果

表2看出,对于四个基准测试函数,标准粒子群算法基本陷入了局部最优。由表3可以看出,在4个测试函数求解过程中,改进粒子群算法无论是在求解高维度单峰或多峰函数时都表现优异,由于函数 f 1 是一个病态函数,在低维时呈现单峰特性,但在高维是呈现多峰特性,使得标准粒子群无论是最优值还是均值访民啊寻优结果都不理想,但改进粒子群算法得寻优精度可达到10−7,在对此函数得寻优过程中基本不会陷入局部最优。从以上结果表明,在函数维度升高时,本文中改进粒子群算法仍然具有良好得寻优性能,具有较好得鲁棒性。

4. PID参数优化

4.1. 参数优化基本思想

参数优化主要是根据误差来消除或者减小误差,根据被控对象的单位阶跃输出信号计算出比例、积分、微分3个参数,对于常规PID控制器参数 K P K I K D 是基本不变的其表达式为:

u ( t ) = K P [ e ( t ) + 1 K i e ( t ) d t + K d d e ( t ) d t ] (8)

相应的传递函数为:

G ( s ) = K P [ 1 + 1 T I s + T D s ] = K P + K I s + K D s (9)

式中: u ( t ) 为控制系统的输出; K P 为控制器比例因子; K I 为控制器积分因子; K D 为控制器微分因子。由式可知,通过调节控制参数 K p K i K d 大小可实现输出 u ( t ) 的改变,最终使得输出满足系统要求。改进粒子群算法进行PID控制参数的优化,其目的是寻找一组最优的 K P K I K d 控制参数,使得粒子群寻得全局最优解,从而提高系统的控制性能。基于改进粒子群的PID控制结构如图2所示。由于参数之间相互影响,采用能体现综合性能指标最优的系统偏差与时间相联系的吸能指标,本文选取时间乘绝对偏差积分准则(ITAE)作为适应度函数 [18]。

ITAE = 0 t | e ( t ) | d t (10)

Figure 2. PID control system structure of improved PSO

图2. 改进PSO的PID控制系统结构

4.2. 仿真试验

为了避免陷入局部最优,文献 [19] [20] 提出了自适应权重PSO和线性递减权重PSO算法,这两种算法在局部搜索能力及收敛速度方面都得到提高,但是辨识精度低,难以同时满足收敛速度和精度。为了验证改进算法的优越性,现使用标准PSO算法与改进粒子群算法现利用Matlab软件对模型进行测试,选取群体数量为N = 30,迭代次数T = 200,标准粒子群算法学习因子取 c 1 = c 2 = 2 ;改进粒子群算法中:取学习因子 c 1 = c 2 = [ 0.5 , 2.0 ] ,惯性权重参数 ω = 0.9 ,仿真时间为10s采样时间T为0.01 s,2种算法整定的PID参数如表4所示。

Table 4. PID control parameters under the two methods

表4. 两种方法下PID控制参数

经Matlab仿真后,得到标准粒子群算法和改进粒子群算法整定的最优绝对误差积分数值随着迭代次数变化的趋势图,由图3所得改进粒子群算法在初始阶段误差数值较大,但是算法的寻优能力强、收敛速度快等特性使得最优绝对误差积分值快速下降,最终结果表明改进粒子群算法要优于标准粒子群算法。

Figure 3. Simulation comparison of algorithm

图3. 算法仿真对比

性能指标对比如表5所示,结合图4所示标准粒子群与改进粒子群算放整定结果对比分析可知:改进粒子群算法超调量在1 s处最大值为9.5%,标准粒子群算法超调量峰值达到24.4%;标准粒子群算法在0.8~2.5 s内调整量在[24.4%, −10%]之间不断震荡调整,在2.5 s后逐渐平稳。改进粒子群算法调整时间为1 s并且无负值波动现象;表5中可看出文中所提出的改进粒子群算法在超调量、调节时间、ITAE这3个性能指标均优于标准粒子群算法所计算得到的结果。由以上分析可得,文章中所提到的改进粒子群算法所整定得到的PID参数的控制效果明显优于标准粒子群算法整定出来的参数,且具有超调量小、响应速度快、调节时间短等特点。

Table 5. Comparison results of performance indicators

表5. 性能指标对比结果

Figure 4. Comparison of tuning results between standard particle swarm optimization and improved particle swarm optimization

图4. 标准粒子群与改进粒子群算法整定结果对比

5. 结语

本文针对标准粒子群算法在寻优过程中容易陷入局部最优解、收敛速度慢及收敛精度低等问题,提出一种改进粒子群算法,并将该算法应用于PID控制器中。对标准粒子群在解决问题时存在的收敛速度慢、收敛精度低及易陷入局部最优等问题提出了一种以简化后的粒子群更新公式为基础,分别对个体加入扰动并且在最优位置长时间停滞时候利用Rosenbrock搜索提高解的质量以整定PID控制参数。仿真结果表明,与标准粒子群算法相比,本文中改进粒子群算法所整定的PID控制参数的控制性能指标更好且超调量小、响应速度快,但面对不同控制情况下,PID控制参数可能会影响算法的整体搜索能力,因此需要进一步深入研究算法的可适用性。

基金项目

安徽省高校协同创新项目(GXXT-2019-021)。

文章引用

岳 朗,孟令启,李 进,束仁东. 基于改进粒子群算法的PID控制参数整定
PID Control Parameter Tuning Based on Improved Particle Swarm Optimization Algorithm[J]. 建模与仿真, 2021, 10(02): 400-408. https://doi.org/10.12677/MOS.2021.102041

参考文献

  1. 1. 张霞. 混沌粒子群优化算法在PID参数整定中的应用[J]. 石油化工自动化, 2016, 52(4): 32-33+39. http://dx.chinadoi.cn/10.3969/j.issn.1007-7324.2016.04.010

  2. 2. 杨小健, 许瀚之. 工业过程PID控制系统优化设计与仿真[J]. 计算机仿真, 2016, 33(7): 388-391. http://dx.chinadoi.cn/10.3969/j.issn.1006-9348.2016.07.085

  3. 3. 李刘川. PID控制在过程控制中的应用探讨[J]. 电子技术与软件工程, 2016(12): 150.

  4. 4. 赵政. PID在工业自动控制中的应用[J]. 中小企业管理与科技(上旬刊), 2016(13): 131-132. http://dx.chinadoi.cn/10.3969/j.issn.1673-1069.2016.13.082

  5. 5. 赵国山, 仇性启. 自适应PID的发展概况[J]. 化工自动化及仪表, 2006, 33(5): 1-5. http://dx.chinadoi.cn/10.3969/j.issn.1000-3932.2006.05.001

  6. 6. 苏攀, 张伟, 李强, 李世港. 基于改进粒子群算法的PID参数优化研究[J]. 软件导刊, 2020, 19(10): 94-97.

  7. 7. 曾冰, 黄凌翔, 彭郎军, 张硕望, 宋晓萍, 阳雪兵. 基于鲸鱼群算法的PID独立变桨控制参数整定方法[J]. 船舶工程, 2020, 42(S1): 550-553+557.

  8. 8. 叶海平. 基于改进粒子群PID的注塑机温度自动控制[J]. 湖北师范大学学报(自然科学版), 2020, 40(3): 62-66.

  9. 9. Kennedy, J. and Eberhart, R.C. (1995) Particle Swarm Optimization. Proceedings of the1995 IEEE In-ternational Joint Conference on Neural Networks, Perth, 27 November-1 December 1995, 1942-1948. https://doi.org/10.1109/ICNN.1995.488968

  10. 10. 唐可心, 梁晓磊, 周文峰, 马千慧, 张煜. 具有重组学习和混合变异的动态多种群粒子群优化算法[J/OL]. 控制与决策: 1-10[2020-11-17].

  11. 11. 梁田, 曹德欣. 基于莱维飞行的改进简化粒子群算法[J/OL]. 计算机工程与应用: 1-14[2020-11-17].

  12. 12. 朱源. 两种Rosenbrock改进算法及其比较[J]. 信息与电脑(理论版), 2017(6): 85-88.

  13. 13. 邵鹏, 吴志健. 基于改进PSO算法的Rosenbrock函数优化问题的研究[J]. 计算机科学, 2013, 40(9): 194-197. http://dx.chinadoi.cn/10.3969/j.issn.1002-137X.2013.09.041

  14. 14. 夏桂梅, 张丹, 赵晋彬. 一种结合Rosenbrock算法的混合MIMIC算法及其应用[J]. 太原科技大学学报, 2018, 39(2): 150-154. http://dx.chinadoi.cn/10.3969/j.issn.1673-2057.2018.02.013

  15. 15. 贾树晋, 杜斌. Rosenbrock搜索与动态惯性权重粒子群混合优化算法[J]. 控制与决策, 2011, 26(7): 1060-1064.

  16. 16. 黄卓超, 张伟, 王亚刚. 改进粒子群算法的啤酒灌装机液位控制PID参数整定[J]. 包装工程, 2020, 41(19): 159-165.

  17. 17. 刘静秋, 杜文莉, 张飞. 基于粒子群算法的函数复杂度分类法[J]. 控制工程, 2020, 27(8): 1337-1345.

  18. 18. 徐亚健, 杨益群. 基于改进粒子群算法的ITAE标准型参数寻优[J]. 上海应用技术学院学报(自然科学版), 2016, 16(2): 164-169. http://dx.chinadoi.cn/10.3969/j.issn.1671-7333.2016.02.011

  19. 19. 毛焕宇, 王文东. 融合隶属度函数的自适应惯性权重模式的粒子群优化算法[J]. 计算机应用与软件, 2020, 37(1): 277-283.

  20. 20. 石丽莉. 一种拟合下降非线性惯性权重PSO算法[J]. 技术与市场, 2019, 26(7): 22-24.

  21. NOTES

    *通讯作者。

期刊菜单