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个粒子的速度矢量和位置表示为
,
,其中
。在下一时刻即(t + 1)时刻粒子速度更新公式为:
(1)
式中:
t——当前迭代次数;
w——惯性权重因子;
——学习因子;
——0~1之间分布的随机数。
记
为当前第i个粒子所搜索到的局部最优解,则
,记全局最优值
为整个粒子群搜索到当前最优解,则
,适应度值记为
。在(t + 1)时刻粒子i的位置最优由公式(2)确定。
(2)
通常需要设定粒子的速度范围
和位置范围
来防止在迭代过程中粒子飞出解集空间,并且粒子按照公式(3)进行位置更新。
(3)
式中需要根据实际情况来确定
的取值范围,并且按照式(2)及式(3)依次循环下去,直至取得达到要求的极值,因此可得如图1所示标准粒子群算法流程。

Figure 1. Flow chart of standard particle swarm optimization algorithm
图1. 标准粒子群算法流程图
3. 标准粒子群算法
3.1. 个体极值扰动策略
粒子群算法无论是全局收敛还是局部收敛,粒子群中的粒子都会出现早熟的现象,一旦粒子的全局收敛最优值陷入到函数的局部收敛最优值地带,其中个体最优值和全局最优值会停止更新,并且粒子此时会失去动能,无法找到最优位置 [10] [11]。此时可以给飞行中的粒子赋予其他方向的速度,有利于粒子跳出局部最优解探索其他区域。因此可以在个体最优的位置引入部分扰动以扩大迭代过程中粒子的搜索范围,本文的位置改进算法如下:
(4)
式中
是随机分布在
之间的常数,a是小常数,由于
的扰动,个体最优解会产生偏离并且伴随着速度方向和大小的变化。这种改进方法可以在迭代过程的初期扩大粒子的搜索区域,引导粒子搜索更多新的区域,最终有效的减少算法快速陷入局部最优的可能。
3.2. Rosenbrock搜索法
Rosenbrock方法又称为转轴法,于1960年由Howard Harry Rosenbrock提出 [12] [13]。Rosenbrock法是在当前位置所构造得n个正交方向上探测移动,直至找到缩小最快的方向,通过轴向的旋转产生一组新的方向为下一次迭代的轴向,如此循环 [14]。而粒子群算法全局搜索能力较强,但是容易早熟,局部搜索能力弱,因此在标准粒子群算法融入Rosenbrock算法来增强局部搜索的能力提高解的质量,Rosenbrock搜索是一种解决无约束最优化问题时不需要函数导数信息的直接方法 [15] [16],具体步骤如下:
Step1:初始化
给定初始解
、n个正交化的初始向量组
,初始步长
,方向取坐标轴方向,精度
,扩大系数a>1,缩小系数
。置
,
,
,置k = 1,j = 1。
Step2:计算适应值
若
,则令
,
。若
,则令
,
。
Step3:如果
,则置
,转Step2;否则,转Step4。
Step4:求得个体最佳适应值
,此时令
,命
,转至步骤Step2;若
,则进行Step5。
Step5:求得群体最佳适应值
若
,则转至步骤Step6;如果对每个参数j,都有
成立,则计算停止,此时
作为最优解的估计;若终止条件不满足,则令
,命j=1,转至步骤Step2。
Step6:判断算法是否结束
令
。若
,此时取
作为极小点的估计,此时计算停止并输出
,否者转至步骤Step7。
Step7:更新粒子位置和速度
令
建立新的标准化正交向量组
,令
,
,转Step2。
通过蒙特卡罗随机模拟的方式得到粒子位置方程表示为:
(5)
其中:u为
之间随机变化数。
(6)
(7)
式中:当达到第T次迭代时,取
,
为缩放因子,此时
为第i个粒子的最优历史解。
取
,
,标及准正交化的n个初始向量组取单位向量组,由于Rosenbrock搜索算法的嵌入使得粒子群算法的局部搜索能力增强,提高了算法精度并且在都搜索步长
、放大因子a和缩小因子
选择合理的情况下,Rosenbrock的搜索可以有效的改善单维度或是多维度陷入局部值得情况,帮助粒子跳出局部最优 [17],具体的改进算法步骤如下:
更新粒子群的初始化位置信息,并设定改进粒子群算法的各项参数。
评价粒子的适应度,并按照公式(1)改进的位置更新公式得到所有粒子的位置信息,记
为当前个体粒子的最优位置,
为种群最优位置。
假如在T次迭代中,全局最优粒子没有改变,则执行Rosenbrock搜索,直到算法收敛或是达到设定搜索次数;否则,转至步骤2。
当计算结束后,输出全局最优粒子的位置和适应值;否则,转至步骤Step2。
为了检验改进算法得有效性,如表1所示现采用4个经典函数进行实验,函数均取30维,实验条件:粒子种群大小为30,最大迭代次数为200,两种算法都采用惯性权重策略,
,
,在Rosenbrock搜索中,放大因子
,缩小因子
,允许误差
,最大搜索次数为100,搜索步长
为半搜索区间的10%,当达到最大搜索次数后跳出搜索。现采取4中算法独立运行30次以消除随机性的方法,求得平均值、标准差和最优值作为评估的标准,标准粒子群算法及改进粒子群算法实验结果可如表2和表3所示。

Table 2. Calculation results of standard particle swarm
表2. 标准粒子群计算结果

Table 3. Improved particle swarm optimization calculation results
表3. 改进粒子群计算结果
由表2看出,对于四个基准测试函数,标准粒子群算法基本陷入了局部最优。由表3可以看出,在4个测试函数求解过程中,改进粒子群算法无论是在求解高维度单峰或多峰函数时都表现优异,由于函数
是一个病态函数,在低维时呈现单峰特性,但在高维是呈现多峰特性,使得标准粒子群无论是最优值还是均值访民啊寻优结果都不理想,但改进粒子群算法得寻优精度可达到10−7,在对此函数得寻优过程中基本不会陷入局部最优。从以上结果表明,在函数维度升高时,本文中改进粒子群算法仍然具有良好得寻优性能,具有较好得鲁棒性。
4. PID参数优化
4.1. 参数优化基本思想
参数优化主要是根据误差来消除或者减小误差,根据被控对象的单位阶跃输出信号计算出比例、积分、微分3个参数,对于常规PID控制器参数
、
、
是基本不变的其表达式为:
(8)
相应的传递函数为:
(9)
式中:
为控制系统的输出;
为控制器比例因子;
为控制器积分因子;
为控制器微分因子。由式可知,通过调节控制参数
、
、
大小可实现输出
的改变,最终使得输出满足系统要求。改进粒子群算法进行PID控制参数的优化,其目的是寻找一组最优的
、
、
控制参数,使得粒子群寻得全局最优解,从而提高系统的控制性能。基于改进粒子群的PID控制结构如图2所示。由于参数之间相互影响,采用能体现综合性能指标最优的系统偏差与时间相联系的吸能指标,本文选取时间乘绝对偏差积分准则(ITAE)作为适应度函数 [18]。
(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,标准粒子群算法学习因子取
;改进粒子群算法中:取学习因子
,惯性权重参数
,仿真时间为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)。
NOTES
*通讯作者。