Self-tuning PID Parameters by Using Artificial Bee Colony Algorithm
蔡 超1 周武能1,2
(东华大学信息科学与技术学院1,上海 201620;数字化纺织服装技术教育部工程研究中心2,上海 201620)
人工蜂群算法整定PID控制器参数
Self-tuning PID Parameters by Using Artificial Bee Colony Algorithm
蔡超1周武能1,2
(东华大学信息科学与技术学院1,上海201620;数字化纺织服装技术教育部工程研究中心2,上海201620)
摘要:针对工业控制中常用的PID控制器参数整定困难的问题,提出一种基于人工蜂群算法的参数整定方法。将PID控制器待整定参数看作蜜源,利用蜂群特有的角色转变机制搜索优质的参数组合;选取绝对误差矩积分性能指标作为参数寻优的目标函数。仿真实验结果表明,所采用的算法能够提高控制系统的动态性能,增强系统的快速性和稳定性,适用于PID 控制器的自整定。
关键词:PID控制人工蜂群算法适应度参数寻优蜜源
Abstract:Aiming at the difficult problems in parameter tuning of PID controllers in industrial control, the parameter tuning method based on artificial bee colony algorithm is proposed. In this algorithm, the parameter of PID controller need to be tuned is seen as the nectar source; the high-quality combination of parameters is searched using the unique role change mechanism of the bees; and the ITAE index is selected as the objective function for parameter optimization. The simulation experiments show that this algorithm can enhance dynamic performance of the control system, and strengthen the speediness and stability of the system, it’s suitable for PID controller self-tuning.
Keywords:PID controlArtificial bee colony algorithmAdaptionParameter optimizationNectar source
0引言
PID控制器自产生以来,一直是工业生产过程中应用最广、最成熟的控制器,其控制质量的好坏取决于控制器参数的整定,因而其参数整定问题受到人们的关注。所谓参数整定,即对于一个完整的PID控制系统,通过合理调整其参数,达到满意的控制效果。目前,PID参数整定方法有很多,传统整定方法有Z-N法、单纯形法等,智能整定方法有粒子群算法、遗传算法、神经网络等。传统PID 控制不能使目标值跟踪特性和干扰抑制特性同时最优,而任何一个工业过程对扰动抑制品质和跟踪给定品质都是有要求的[1]。如今,将自适应控制、最优控制、预测控制、鲁棒控制和智能控制策略引入传统PID 控制,逐步发展成为一种新型PID 控制。
人工蜂群算法(artificial bee colony,ABC)是由土耳其学者Karaboga于2005年提出。与微粒群算法、遗传算法等智能算法相比,该算法的突出优点是在每次迭代过程中都进行全局和局部搜索,因而可以在较大程度上避免局部最优。由于该算法具有搜索精度较高、控制参数少、鲁棒性较强等优点,已被越来越多的学者所关注。目前,该算法已成功应用于神经网络训练[2]、数字滤波器设计[3]、图像处理[4]、多维背包优化[5]、电力系统优化[6]等多个领域。鉴于该算法应用领域的不断拓宽,本文尝试将其应用于PID控制器的参数自整定,并借助Matlab强大的数学运算及仿真能力,通过实例比较证明了该方法的优越性。
1常规PID控制算法
PID控制器是将偏差的比例、积分、微分进行线性组合构成控制量,从而对被控对象进行控制[7],其系统结构如图1所示。
图1 PID控制器结构
PID的控制规律为:
(1)
e(t)=r(t)-y(t)
(2)
式中:Kp为比例增益;Ki为积分增益;Kd为微分增益;r(t)为系统的参考输入;e(t)为系统的反馈偏差,即PID控制器的输入;u(t)为PID控制器的输出;y(t)为系统的输出[8]。
写成传递函数形式为:
G(s)=Kp+Ki/s+Kds
(3)
PID控制器就是通过调整Kp、Ki和Kd三个参数使系统达到满意的性能指标。
2ABC-PID控制器设计
人工蜂群算法是一种模拟蜜蜂觅食行为的新型智能算法,蜜蜂群体通过引领蜂、待工蜂(包括跟随蜂和侦查蜂)的分工协作和信息共享对蜜源进行搜索。蜜源即解空间内所有可能的解,其优劣采用“适应度”衡量。引领蜂通过摇摆舞和其他蜜蜂分享蜜源信息,跟随蜂在巢内等待,通过分享引领蜂的信息寻找蜜源,侦查蜂搜索新的蜜源。
蜂群对蜜源搜索过程分为:①引领蜂和具体的蜜源联系在一起,其发现蜜源,并通过摇摆舞分享蜜源信息;②跟随蜂根据引领蜂所分享的信息选择一个蜜源,并在其附近进行采蜜,寻找新蜜源,若搜索到更高适应度的蜜源,则跟随蜂转变为引领蜂;③引领蜂在其前次搜索到的蜜源邻域附近进行多次搜索,当多次搜索仍未找到更高适应度的蜜源时,则放弃该蜜源,转变为侦查蜂,随机搜索新蜜源,当搜索到高适应度的蜜源时,其又转变为引领蜂。
在人工蜂群算法搜索最优解过程中,引领蜂起到保持优良蜜源的作用;跟随蜂则增加优良蜜源所对应的蜜蜂数,提高算法收敛速度;侦查蜂随机搜索新蜜源,能有效地使算法跳出局部最优[9]。
假设求解问题的空间维度为D,蜜蜂种群代数为n,蜜蜂总数为NA,其中引领蜂规模为NG,跟随蜂规模为NF,一般取NG=NF。在搜索开始阶段,随机生成NA个蜜源,即初始解(X1,X2,…,XNA),且:
(4)
式中:U和L分别为搜索空间的上下限,j∈{1,2,…,D};j为被优化参数组成的D维解向量的某个分量。
再计算各个解的适应度,将排名前NG的解作为初始代引领蜂种群X(0),对于第n代的引领蜂Xi(n),i∈{1,2,…,NG},在蜜源i位置进行邻域搜索,即:
(5)
采用贪婪选择法,在蜜源Vi和Xi中选取较优适应度的蜜源,并保留至下一代种群。当所有引领蜂完成式(5)的搜索后,将蜜源信息共享。接着,各跟随蜂按照引领蜂种群适应度值选择一个引领蜂,并同样对其邻域进行搜索,选择概率为:
(6)
式中:f(Xi)为第i个蜜源的适应度值。
若某只引领蜂在其周围搜索次数T1达到一定阈值T2仍未找到更优解,则放弃该蜜源,对应的引领蜂转变为侦查蜂[10],同时重新初始化该引领蜂对应的蜜源,即:
(7)
根据人工蜂群算法的运行机制,将其与PID控制器相结合,Kp、Ki和Kd三者的某种组合可看作一个蜜源,将Kp、Ki和Kd的取值范围作为蜜蜂群体的搜索空间。蜂群在进行空间动态搜索时,需要判断某个蜜源(即Kp、Ki和Kd取值的某种组合)的适应度大小,此时则将PID控制器在取值为Kp、Ki和Kd时的某种性能指标作为评价该蜜源优劣的依据。由此,可构建ABC-PID优化模型,如图2所示。
图2 ABC-PID优化模型
ABC-PID优化模型可分为两个部分,一部分为传统PID控制器模块,将系统偏差的比例、微分、积分经加权系数叠加后输出作为被控对象的输入;另一部分为ABC算法模块,如图2虚线框内所示。系统实时运行,计算出适应度,并根据ABC算法运行机制搜索更优蜜源,作为PID的参数。这样设计的优点是ABC算法无须知道待求问题的特点,只需通过比较不同参数所对应的适应度值来调整参数,从而实现PID控制器参数自整定。
PID参数整定的实质是基于一定目标函数的参数寻优问题,其核心问题是利用某种寻优算法寻找到一组控制参数,使得系统某种性能指标达到极小。为便于比较,本文选取与文献[11]相同的绝对误差矩积分(integral time absolute error,ITAE)性能指标:
(8)
与误差平方积分(integral square error,ISE)、平方误差矩积分(integral square time error,ISTE)、误差绝对值积分(integral absolute error,IAE)等性能指标相比,ITAE具有很好的实用性和选择性(系统参数变化引起指标变化越大,选择性越好)[12]。由于PID参数优化是求目标函数极小,而蜜蜂种群是向更高适应度的方向搜索,所以要将其进行变换,将适应度函数取为ITAE的倒数:
(9)
从而使高质量的蜜源对应较高的适应度,引导蜜蜂种群在解空间内搜寻优质蜜源。
采用人工蜂群算法优化PID控制器参数的具体实现步骤如下。
① 确定PID控制器参数Kp、Ki和Kd的取值范围,初始化蜂群种群规模NA、最大迭代次数N和最大搜索次数T2。
② 迭代次数n=1,按式(4)初始化蜜源Xi,将蜜源Xi对应的控制器参数代入控制系统运行,并根据式(9)计算其适应度值,同时将蜜蜂分为引领蜂和跟随蜂。
③ 每只引领蜂在原蜜源附近采蜜,寻找新蜜源,并按贪婪选择机制进行更新。
④ 由式(6)计算引领蜂搜索到的蜜源被跟随的概率。
⑤ 跟随蜂按照与引领蜂相同的方式进行搜索,并按贪婪选择法保留更优质的蜜源。
⑥ 若某只引领蜂搜索次数达到T2仍未找到更高适应度的蜜源,则放弃该蜜源,且引领蜂转变为侦查蜂,并随机产生一个新蜜源。
⑦ 记录最优解和其适应度值,n=n+1,跳转至步
骤②,重复运行,直至最大迭代次数N,并输出PID控制器最优参数及最优适应度值。
3仿真实验及结果分析
为了验证人工蜂群算法优化的PID控制器的性能,现采用Matlab/Simulink平台进行交互式仿真。控制器参数Kp、Ki和Kd的取值范围均为[0,100],算法参数选择为:D=3(对应三个被优化参数),种群数量和最大迭代次数取值与文献[11]相同,分别为NA=20,N=100,搜索次数阈值T2=80。选取被控对象为文献[11]中的二阶系统,其传递函数为:
(10)
经过100代进化,蜜蜂种群搜索到的最优参数为:Kp=89.546 1,Ki=2.518 4、Kd=6.796 82,其最优性能指标为0.103 703。
图3为系统单位阶跃响应曲线比较图,其中曲线1为本文人工蜂群算法(ABC)优化的阶跃响应曲线,曲线2为文献[11]改进PSO算法(PSO-I)优化的阶跃响应曲线,曲线3为文献[11]二进制GA算法(GA-B)优化的阶跃响应曲线,曲线4为Ziegler-Nichols优化的阶跃响应曲线。
图3 系统单位阶跃响应曲线比较图
四种不同优化算法的整定结果对比如表1所示。
表1 不同PID优化算法整定结果对比
从表1中数据可以看出,采用人工蜂群算法得到的控制器参数能使系统调节时间大大缩小,系统超调量也较小,且无反向超调,系统在大约0.9 s时即达到稳定。此外,与文献[11]中的粒子群优化算法相比,本文所采用算法的参数优化范围不依赖于Ziegler-Nichols的优化结果,即参数寻优范围不需要设定在Z-N法整定结果附近,体现了人工蜂群算法能够在更大解空间范围内进行更高效的寻优。图4为目标函数的优化历程。从图4可以看出,人工蜂群算法经过大约40代进化即可快速收敛。
图4 人工蜂群算法的寻优历程
4结束语
在已有的研究中,PID控制器参数整定方法有很多。本文结合人工蜂群算法高效并行的搜索机制,将PID控制器的待优化参数形象地看作为蜜源,将参数取值范围视作蜂群动态搜索空间,形成一种新型的ABC-PID优化策略。该方法不要求目标函数可微,而且算法控制参数少、使用方便,只需稍作修改即可用于其他模型的参数优化。
人工蜂群算法在搜索PID控制器最优参数时,利用跟随蜂按概率选择引领蜂进行跟随,有助于加快算法的收敛速度。同时,利用侦查蜂随机搜索防止算法陷入局部最优,从而在解空间内快速搜索到最优解,提升了PID控制器的控制效果,有着很好的工程应用前景。
参考文献
[1] 邓丽,蒋婧,费敏锐.基于免疫粒子群算法的PID参数整定与自适应[J].自动化仪表,2013,34(2):65-67.
[2] Karaboga D,Akay B.Artificial bee colony algorithm on training artificial neural networks[C]//Proceedings of the 15th IEEE Signal Processing and Communication Applications Conference.Dubai,United Arab Emirates:Signal Processing and Communications Applications,2007:1-4.
[3] Karaboga N.A new design method based on artificial bee colony algorithm for digital IIR filters[J].Journal of the Franklin Institute,2009,346(4):328-348.
[4] 肖永豪,余卫宇.基于蜂群算法的图像边缘检测[J].计算机应用研究,2010,27(7):2748-2750.
[5] Sundar S,Singh A,Rossi A.An artificial bee colony algorithm for the 0-1 multidimensional knapsack problem[J].Communications in Computer and Information Science,2010,94(1):41-151.
[6] Cobanli S,Ozturk A,Guvenc U.Active power loss minimization in electric power systems through artificial bee colony algorithm[J].International Review of Electrical Engineering,2010,25(5):2217-2223.
[7] 刘金琨.先进PID控制及其MATLAB仿真[M].北京:电子工业出版社,2003.
[8] 黄友锐,曲立国.PID控制器参数整定与实现[M].北京:科学出版社,2010.
[9] 段海滨,张祥银,徐春芳.仿生智能计算[M].北京:科学出版社,2011.
[10]李霜天,段海滨.基于人工蜂群优化的高超声速飞行器在线参数辨识[J].中国科学:信息科学,2012,42(11):1350-1363.
[11]郭大庆,李晓,赵永进.基于改进PSO算法的PID参数自整定[J].计算机工程,2007,33(18):202-204.
[12]徐峰,李东海,薛亚丽.基于ITAE指标的PID参数整定方法比较研究[J].中国电机工程学报,2003,23(8):206-210.
中图分类号:TH89;TP273+.24
文献标志码:A
DOI:10.16086/j.cnki.issn1000-0380.201508019
上海市教育委员会科研创新重点基金资助项目(编号:12zz06);
高等学校博士学科点专项科研基金资助项目(编号:20120075120009)。
修改稿收到日期:2015-01-07。
第一作者蔡超(1989-),男,现为东华大学控制科学与工程专业在读硕士研究生;主要从事智能控制系统、工业过程控制方面的研究。