摘 要: PID控制器是过程控制中应用最为广泛的控制器,而传统PID控制器参数整定难以达到最优状态,同时,存在控制结果超调量过大、调节时间偏长等缺点,因此,将变异粒子群优化算法(Mutation Particle Swarm Optimization,MPSO)运用于BP-PID的参数整定过程中,设计了一种高效、稳定的自适应控制器。考虑MPSO的变异机制,以种群适应度方差与种群最优适应度值为标准,进行种群变异操作,可以克服早熟,提高收敛精度和PSO的全局搜索能力,使MPSO优化的BP神经网络整定的PID控制器能以更快的速度、更高的精度完成过程控制操作。在实验中,通过比较BP-PID、PSO-BP-PID以及MPSO-BP-PID三控制器仿真结果,证明了所提MPSO算法的有效性和所设计MPSO-BP-PID控制器的优越性。
关键词: 变异粒子优化算法;BP神经网络;PID控制器;MATLAB仿真
0 引言
PID控制即比例-积分-微分控制,它是建立在经典控制理论基础上的一种控制策略。PID控制器具有算法简单、鲁棒性强、稳定可靠等优点[1]。其中,PID参数整定是PID控制器设计的关键所在[2-5],而传统的PID控制器参数整定主要通过人工经验完成,不仅费时,而且不能保证获得最佳的控制效果。在这种情况下,智能化算法[6-9]被引入到PID参数调整中,其中神经网络[8]以其具有的非线性特性、优化和自适应控制性能等被引入到PID控制器设计中。但是在其实际应用的过程中,采用BP神经网络所设计的BP-PID控制器时,由于其反向传播学习算法的全局搜索能力弱,易陷入局部最优,其控制效果并不理想,从而限制了神经网络在PID控制器中的应用。
针对上述问题,本文将变异操作引入粒子群算法,形成变异粒子群算法。以变异粒子群算法作为BP神经网络新的学习算法,设计了MPSO-BP-PID控制器。该控制器不仅克服了粒子群算法最优值搜索易陷入局部最优值[8]以及BP神经网络反向传播学习算法全局搜索能力弱的缺点,而且可以较大程度地提高其控制过程的稳定性、精确性和鲁棒性。本文通过实验仿真,建立了MPSO-BP-PID控制器,并在过程控制中与BP-PID、PSO-PID控制器进行对比,结果证明MPSO-BP-PID控制器不仅在寻优精度上,而且在寻优速度上都比BP-PID和PSO-BP-PID控制器表现得更为优异。
1 MPSO-BP-PID控制器整体结构
如图1所示,MPSO-BP-PID控制器由传统PID控制器及MPSO优化的BP神经网络组成。其中,由MPSO优化的BP神经网络部分称为MPSO-BP;而将MPSO-BP用到PID控制参数整定的部分称为MPSO-BP-PID控制器。工作过程中,利用系统输入rin(k)和yout(k)之间的误差信号error(k),同时根据某种性能指标的最优化,利用MPSO-BP在线实时调整PID控制器kp,ki,kd参数,得到PID调节器的输出u(k),再根据控制对象的传递函数得到系统的输出yout(k),从而实现直接对被控对象进行闭环控制。
本文采用3层BP神经网络[10],如图2所示,输入层有3个神经元即系统输入rin(k),系统输出yout(k),输入与输出之间的误差error(k),输入信号经隐含层权值wij进入隐含层,隐含层有5个神经元,隐含层输出值乘以输出层权值woj输入输出层,输出层有3个神经元分别为kp,ki,kd。隐含层、输出层的激活函数fh,fo分别为式(1)和(2)[10]:
2 MPSO算法
2.1 PSO算法
粒子群算法(Particle Swarm Optimization,PSO)是由Kennedy和Eberhart[11]博士在1995年提出的基于群智能的随机优化算法,是模拟鸟类群体觅食行为的一种新的进化计算方法。在D维搜索空间中,第i个粒子在D维空间中的位置表示为:xi=(xi1,xi2,xi3,...xiD),第i个粒子经历的最好位置(个体最好适应度)记为:pi=(pi1,pi2,pi3,...piD),在整个群体中,所有粒子经历过的最好位置为:pg=(pg1,pg2,pg3,...pgD)。每个粒子的飞行速度为:vi=(vi1,vi2,vi3,...viD)。每一代粒子根据式(3)和式(4)更新自己的速度和位置:
vid=wvid+c1r1(pid-xid)+c2r2(pgd-xid)(3)
xid=xid+vid(4)
其中:w为惯性权重[12],惯性权重的引进使PSO可以调节算法的全局与局部寻优能力;c1和c2为正常数,称为加速系数;r1和r2是[0,1]的随机数。更新过程中,粒子每一维的位置、速度都限制在允许的范围之内。
PSO算法结构简单,搜索速度快,同时也容易出现早熟现象,为了避免早熟对寻优结果的影响,保存个体的多样性,从而提高系统的全局搜索能力,在此引入变异操作,使得粒子陷入局部最优时能够朝新的方向重新搜索,增大寻找全局最优的几率,即为MPSO算法。
2.2 MPSO算法
MPSO算法引入的变异操作[7]是以群体适度方差σ2和粒子数N为判断标准,在人为设置的最大、最小变异概率之内,群体适应度方差越小,即各粒子越靠近时,全局极值的变异概率越大;反之,当适应度方差越大即群体还保持较高的多样性时,全局极值的变异概率越小。具体粒子群变异操作的概率如式(5):
其中:Pm为群体全局极值的变异概率,σ2为群体适应度方差,Pmax为变异概率的最大值,Pmin为变异概率的最小值。
考虑到粒子在当前全局最佳适应度f(gbest)的作用下可能找到更好位置,因此MPSO算法将变异操作设计成为一个随机算子,即对满足变异条件的f(gbest)按一定的概率Pm进行变异操作。计算过程如式(6):
其中,k可以取[0.1,0.2]之间的任意数值。σ2的取值与实际问题有关,一般远小于σ2的最大值,fd为理论最优值。在进行粒子群寻优的过程中,由于变异操作避免粒子群陷入一些伪最优值,从而使算法的全局搜索能力及鲁棒性大大增强,从而更加容易发现目标的全局最优值。
3 MPSO-BP-PID控制器工作过程
由图3可知,在MPSO-BP-PID控制器工作过程中,第一步是由MPSO算法优化BP神经网络。在此过程中MPSO算法结合PID控制对象的控制误差error(k)对神经网络的隐含层权值wij及输出层权值woj进行优化更新,从而为BP神经网络提供优化过的权值,得到PID最优化的控制参数kp,ki,kd;第二步,在控制参数的作用下,由PID控制器输出最优化的控制参数u(k),从而完成最终对被控制对象的最优控制。
3.1 MPSO-BP-PID控制器
MPSO-BP-PID控制器具体执行过程如下:
(1)初始化BP神经网络基本参数,确定网络结构以及节点数,并给出加权系数初始值;初始化粒子群算法中的基本参数,确定粒子速度与位置的范围等。
(2)由当前输入值rin(k)及被控制对象的传递函数,控制器输出初始值计算当前输出yout(k),以及误差函数error(k)=rin(k)-yout(k),得BP神经网络的输入信号rin(k)、yout(k)、error(k),对输入信号进行采样、归一化预处理,之后输入BP神经网络。
(3)正向计算BP神经网络各层神经元输入、输出,BP神经网络输出的三个输出值即为PID控制器的三个可调参数kp,ki,kd。
(4)本文以增量式PID为例,由式(7)可得PID控制器的输出为u(k),将得到的u(k)送入被控制系统,对被控制系统进行在线调控。
3.2 MPSO优化BP神经网络
MPSO优化BP神经网络具体过程如下:
(1)粒子群开始寻优,将粒子的位置及速度向量都设计为隐含层和输出层个数之和的维数M,其中N个粒子即为隐含层与输出层权值wij、woj可能的解;
(2)根据公式(3)和公式(4),更新每个粒子的位置和速度;
(3)由式(8)计算每个粒子的适应度值,更新粒子个体最优值及全局最优值;
(4)计算种群适应度方差σ2,判断种群适应度方差及种群最优适应度值,确定变异操作的概率,如果Pm超出[Pmin,Pmax],则以公式(6)进行变异操作,否则以公式(5)进行变异操作;
(5)判断迭代次数以及误差值,若满足则终止迭代,则寻优结束,得到最优粒子群即wij、woj,将其送入BP神经网络,否则迭代次数加一返回步骤(2)。
4 实验结果
将MPSO优化的BP神经网络PID控制器应用于非线性模型控制中,被控制对象模型如式(9):
其输入为指数衰减信号,如式(10):
rin(k)=e-1.5×k×ts×sin(2π×k×ts)(10)
设种群大小为40,迭代次数为10,粒子群惯性权重为[wmax,wmin]=[0.9,0.4]呈线性递减,加速系数c1=c2= 1.496 2,位置的初始范围设置在[-1,1]之间,速度的初始范围设置在[-0.5,0.5]之间。BP神经网络结构为:输入层3个神经元,隐含层5个神经元,输出层3个神经元,神经网络的学习速率η=0.20,惯性系数α=0.05。输入信号的采样点数为6 000,其采样间隔为0.001。图4所示为BP-PID、PSO-BP-PID、MPSO-BP-PID三种控制器的控制效果图,其中,在t=3.5 s时加入幅值为0.15的干扰量。
从图4、图5可见,BP-PID、PSO-BP-PID、MPSO-BP-PID三种控制器对于被控制系统都起到了一定的控制作用。由控制器控制效果曲线图以及kp、ki、kd过程变化曲线可知,控制器在初始阶段都会产生误差抖动,其中,BP-PID控制器初始阶段中,误差抖动幅度较大且持续时间较长,相比于BP-PID控制器误差抖动,PSO-BP-PID控制器初始阶段误差抖动幅度与抖动所持续的时间都有所减小。而MPSO-BP-PID控制器在初始阶段的调整中不论在调整幅度还是在调整时间等方面相比BP-PID和PSO-BP-PID控制器都有更好的控制效果。
在t=3.5 s加入突变式干扰量时,三种控制器都能对外界干扰做出反应。其中,BP-PID控制器反应速度较慢,且调整过程存在的误差抖动幅度较大;相比于BP-PID控制器,PSO-BP-PID控制器也同样存在着反应时间长、所持续的误差抖动较大的问题。而MPSO控制器对于干扰的反应速度较于BP-PID控制器和PSO-BP-PID控制器快,且调整幅度小,过渡时间短,这将有利于MPSO-BP-PID控制器在复杂坏境情况下对于被控制对象的实时控制。
导致上述控制效果的主要原因:BP-PID控制器以传统的误差反向传播的BP算法为学习算法,然而BP算法的全局搜索能力弱且易陷入局部最优值与伪最优值,因此控制效果并不理想,对于突变式干扰,通常会有较大的误差抖动;而以PSO优化算法为学习算法的PSO-BP-PID控制器虽然操作简单,方便易行,并且在一定程度上克服了BP算法易陷入局部最优值的问题,但在算法优化后期也存在着优化速度降低以及早熟等情况,导致其全局搜索能力减弱而不继续优化以获得最优值,因此,其控制效果欠佳,对于突变式干扰的适应性较差并且导致个别区域误差比较大;MPSO-BP-PID控制器则采用具有变异能力的MPSO优化算法,与PSO算法相比较,MPSO优化算法考虑到粒子多样性对寻优的有利影响,在PSO的基本框架中增加了由种群适应度方差以及粒子数确定的随机变异算子和通过对最优适应度值的判断而确定固定变异算子来提高粒子群跳出局部最优解的能力且增加粒子群的多样性,从而在PSO优化算法后期,跳出其中伪最优值与次优解,继而克服了PSO算法自身所具有的早熟问题,使其全局搜索能力增强,算法的鲁棒性也得到了较大提高,从而确保PID控制完成对被控制对象的精确控制。因此,MPSO-BP-PID控制器能在较大程度上提高其控制过程的稳定性、精确性与鲁棒性。
5 结论
本文提出了一种新的改进粒子群算法,即变异粒子群算法,用于优化BP神经网络权值,从而建立了MPSO-BP-PID控制器。由于MPSO优化算法引入变异的概念,在粒子群寻优过程中,使其具有更强的全局及局部寻优能力,该算法在增加种群多样性的同时也有效地克服了传统PSO易陷入局部最优的缺点,充分发挥了PSO种群间搜索信息的能力,从而保证其在寻优权值时能得到最优权值,缩短了BP神经网络的训练时间,同时使BP-PID控制器在初始阶段,能更有效果地跟踪系统整体变化,在快速应变方面有着更为优秀的表现。仿真结果表明,基于MPSO-BP-PID控制器可以实现对被控系统的有效控制,并使相应控制过程的稳定性、精确性与鲁棒性都有较大的提高。
参考文献
[1] VILANOVA R, ALFARO V. Robust PID control: an overview[J]. Revista Iberoamericana De Automatica E Informatica Industrial, 2011, 8(3):141-158.
[2] Zhang Jinhua, Zhuang Jian, Du Haifeng, et al. Self-organizing genetic algorithm based tuning of PID controllers[J]. Information Sciences, 2009,179(7):1007-1018.
[3] NTOGRAMATZIDIS L, FERRANTE A. Exact tuning of controllers in control feedback design[J]. IET Control Theory And Applications, 2011, 5(4): 565-578.
[4] 王伟,张晶涛,柴天佑.PID参数先进整定方法综述[J].自动化学报,2000,26(3):347-355.
[5] 霍延军.基于量子粒子群算法的PID参数自整定方法[J].微电子学与计算机,2012,20(10):194-197.
[6] NTOGRAMATZIDIS L, FERRANTE A. Exact tuning of controllers in control feedback design[J]. IET Control Theory and Applications, 2011, 5(4): 565-578.
[7] HSU C F, TSAI J Z, CHIU C J. Chaos synchronization of nonlinear gyros using self-learning PID control approach[J]. Applied Soft Computing, 2012, 12(1): 430-439.
[8] SENG T L, BIN K, YUSOF R. Tuning of a neuro-fuzzy controller by genetic algorithm[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1999,29(2):226-236.
[9] MOHAN B M. Fuzzy PID control via modified takagi-sugeno rules[J]. Intelligent Automation and Soft Computing, 2011, 17(2): 165-174.
[10] 刘金琨.先进PID控制MATLAB仿真[M].北京:电子工业出版社,2004.
[11] KENNEDY J, EBERHART R. Particle swarm optimization[C]. Proceedings of the 1995 IEEE International Conference on neural networks, 1995: 1942-1948.
[12] SHI Y, EBERHART R C. Particle swarm optimization: developments, applications and resources[C]. Proceedings of the IEEE Congress on Evolutionary Computation, 2001:81-86.