蚁群算法在PID控制中的应用及其参数影响
2015-10-26孙铁成张思敏李超波
孙铁成+张思敏+李超波
摘 要: 鉴于传统PID参数整定方法的不足,提出了一种采用蚁群算法优化选取PID控制参数的方法。通过建立数学模型将PID控制参数选择问题抽象成路径选择问题,从而将蚁群算法成功的应用于PID参数优选,并对寻优过程进行了仿真。将结果与常用的临界比例度法整定的结果进行了比较,发现基于蚁群算法的PID参数优选方案可使系统超调量大幅减小,并明显缩短系统调节时间,具有良好的应用前景。此外,讨论了蚁群算法中的关键参数对算法性能的影响,对比了不同参数下算法的收敛速度和求解质量。
关键词: PID控制; 蚁群算法; 信息素; 参数优选
中图分类号: TN911?34; TP301.6 文献标识码: A 文章编号: 1004?373X(2015)20?0020?06
Application and parameter influence of ACO in PID control
SUN Tiecheng, ZHANG Simin, LI Chaobo
(Key Laboratory of Microelectronics Devices and Integrated Technology, Institute of Microelectronics, Chinese Academy of Science, Beijing 100029, China)
Abstract: In view of the deficiencies of traditional PID parameters tuning method, a new method to optimize and select PID control parameters by means of ACO (ant colony algorithm) is proposed, in which the selection problem of PID control parameters is abstracted into the routing selection problem by building a mathematical model, thus ACO is applied successfully to PID parametric optimization and the optimizing process is simulated. It is found by comparing with tuned results of common critical proportioning method that the PID parameter optimization scheme based on ACO can reduce system overshoot significantly and shorten tuning time of system obviously, and has a great application prospect. In addition, the influence of key parameter in ACO on algorithm performance is discussed, and convergence velocity and solution quality of the algorithm with different parameters are compared.
Keywords: PID control; ant colony algorithm; pheromone; parameter optimization
0 引 言
PID控制是最早发展起来的控制策略之一,由于其算法简单易实现、鲁棒性好、可靠性高、不依赖被控对象的数学模型,因此至今仍然是工业控制领域应用最广泛的控制方式。然而PID控制的控制效果好坏强烈依赖于控制参数的选择,传统的PID参数选取多采用人工试凑的方式,这往往需要操作人员具备大量的经验且相当耗时,显然不适合应用在通常包含数百个PID控制回路的现代工业系统中。
近年来,随着传统PID技术与现代计算机技术的结合,涌现出了一系列全新的PID参数整定方法,例如将遗传算法、神经网络、蚁群算法等先进技术用于PID参数寻优[1?3],使传统的PID控制焕发出了新的活力。在这些先进方法当中,蚁群算法作为求解组合优化问题的有效手段,引起了国内外学者的广泛关注[4?7]。本文采用蚁群算法进行PID参数寻优,克服了传统PID参数整定法的不足,并通过仿真证明该方法的有效性。同时,还通过仿真研究蚁群算法中信息启发因子以及信息素挥发系数这两个关键参数对算法收敛速度和求解质量的影响。
1 蚁群算法基本原理
蚁群算法(Ant Colony Algorithm)是20世纪90年代由意大利科学家Dorigo Macro等人通过观察自然界中的蚂蚁集体寻径行为提出的[8]。自然界中的蚂蚁没有视觉,但是会依靠行走过程中释放的一种叫信息素(Pheromone)的物质来相互协作,最终使得蚂蚁群体具有高度的自组织性[9]。蚁群算法最初成功的应用在求解著名的旅行商问题(TSP)上,下面就以该问题为背景介绍蚁群算法的基本原理。
设C={c1,c2,…,cn}为n个城市的集合,dij是集合中任意两个城市ci和cj之间的欧几里得距离,TSP问题的目的是找到一条走完C中所有城市的最短路线,并要求每个城市只访问1次。采用蚁群算法求解TSP问题时使用人工蚂蚁来代替旅行商。假设有m只蚂蚁从起始点出发去探索可行的路径,蚂蚁每到一个城市ci,便根据该城市到其他可选城市路径上的信息素的量来决定下一站的目的地。具体来说,蚂蚁k从节点i(城市ci)转向节点j(城市cj)的状态转移概率为:
[pkij=τijαηijβs?tabuknτisαηisβ, 若j?tabuk0, else] (1)
式中:tabuk(k=1,2,…,m)用来存储蚂蚁k走过的节点;tij表示节点i到节点j路径上的信息素含量,因此,某条路径上的信息素含量越高,选择该路径的概率就越大;α为信息启发式因子,表示之前的蚂蚁在行进过程中积累的信息对当前蚂蚁的启发作用,其值越大,则蚂蚁越倾向于选择其他蚂蚁走过的路径,蚂蚁之间协作性越强;ηij为能见度信息,通常取ηij=[1dij];β为能见度的重要性,能见度的引入可以加快算法收敛的速度,但是如果β过大会造成蚂蚁每次只选择离当前节点最近的可选节点,但最终产生的总路径不一定最小,即造成蚁群算法陷入局部寻优,因此蚁群算法在实际应用中,可以将能见度这一项忽略(即令β=0),完全用信息素决定蚂蚁转移的概率。
当m只蚂蚁都完成了一次路线探索之后,要对两两城市之间路径的信息素含量进行更新,更新规则如下:
[τ*ij=(1-ρ)τij+Δτij] (2)
[Δτij=k=1mΔτkij] (3)
式中:[ρ]表示信息素挥发系数,取值范围在0~1之间。[Δτij]表示本次探索中路径(i,j)上的信息量增量。上述策略模拟了自然界中蚂蚁信息素挥发的特点,可以很好地淘汰掉一些曾经探索过的较差路径。[Δτkij]则表示第k只蚂蚁在本次探索中留在路径(i,j)上的信息量,其计算方法为:
[Δτkij=FQk, 若蚂蚁k经过路径(i,j)0, else] (4)
式中:F为一个常数,表示蚂蚁在完成一次探索时所释放的信息素总浓度;Qk表示第k只蚂蚁本次探索的路径的评价函数值,评价函数的选取视具体问题而定。在TSP问题中,为本次探索出的路径的总长度,可见路径长度越小(路径越优),留下的信息素越多。
之后,反复使用m只人工蚂蚁重复上述过程,每次探索结束都根据式(2)~式(4)修改路径信息素含量,直至m只蚂蚁选择的路径归于同一条,此时蚁群算法收敛,所得的路径便是TSP问题的解。
2 采用蚁群算法优化PID控制
2.1 数学模型的建立
PID控制系统原理图如图1所示。
图1 PID控制系统原理图
图中:r为设定值;y为输出值;e为设定值与输出值的偏差;u为控制量。偏差e与控制量u之间的关系为:
[u(n)=KPe(n)+TTIj=0ne(j)+TDe(n)-e(n-1)T] (5)
式中:KP为比例系数;TI为积分时间;TD为微分时间;T为计算机采样周期。式(5)称为PID的位置型算式,位置型PID算式需要用到误差的累积,不利于计算机编程实现,实际系统中常采用增量型算式:[Δu(n)=KPe(n)-e(n-1)+KIe(n)+ KDe(n)-2e(n-1)+e(n-2)] (6)
式中:KP为比例增益;KI=KP[TTI]称为积分系数;KD=KP[TDT]称为微分系数。这样,PID控制系统就只有KP,KI,KD需要确定,这3个参数的选择直接关系到算法的控制品质,因此PID控制参数的选取可以理解为一个组合优化的问题,即为了达到最佳的控制效果,如何选择这3个参数。这样,PID算法参数优选问题完全可以采用蚁群算法协助解决。
可以将PID参数优选问题与经典TSP问题进行类比。设比例系数KP用4位有效数字来表示,其中整数部分2位,小数部分2位。
由于PID系统对积分部分十分敏感,积分系数过大会导致系统超调量过大、系统不稳定且调整时间过长,根据经验,积分系数KI选取在0~1之间,小数部分取4位有效数字。
微分系数KD取3位有效数字,整数部分2位,小数部1位。这样,就可以将一组参数(KP,KI,KD)和一个长度为11位的数字序列一一对应起来,如图2所示(由于KI整数部分始终取为0,因此只用4位数代表它的小数部分即可)。
图2 PID控制参数与11位数字序列对应关系
例如一组参数KP=25.26,KI=0.178 8,KD=20.3,与之对应的11位数字序列为25261788203。可以画出一个二维坐标系,横坐标为0~11,纵坐标为0~9,如图3所示。图中的节点便对应序列为25261788203,与经典的旅行商问题进行类比,图中的每一个格点都可以比作一个城市,格点的连接线构成了PID参数优选问题中的一个路径,这样PID参数优选问题就转化成了类似TSP问题中的路径选择问题。与TSP问题不同的是,这时的蚂蚁每次在横坐标上只能前进一步,即若某只蚂蚁当前所在节点的横坐标为i,则下一步只能选择节点横坐标为i+1的点作为目的地。
图3 节点与路径示意图
蚁群算法中评价函数的设计直接关系到蚁群算法求解的质量。在经典的旅行商问题中,商人把所有目的城市都走到且不重复经过城市所走过的总距离便是旅行商问题的评价函数值。这个值越小(总距离越短),则方案越好,反之则越差。将这个思路类比到PID参数选择问题上来,关系到控制品质的因素有:上升时间、超调量、稳定时间等,为此,可以采用绝对误差的矩的积分作为评价控制性能的指标:
[Q=T2i=1LPie(i)] (7)
式中:T为采样间隔;LP为仿真计算的点数。这样,当系统超调量过大或稳定时间过长等情况时,Q值都会较大,反之则较小。
2.2 算法实现流程
(1) 首先选择m只人工蚂蚁,放在起始点原点处,并设置算法初始参数;
(2)为每只人工蚂蚁设置一个长度为11的数组tabuk(k=1,2,…,m),用来记录每只蚂蚁的位置信息;
(3) 迭代开始,所有人工蚂蚁从原点出发,每到达一个网格节点便根据式(1)来计算状态转移概率,然后根据轮盘赌法则为每只蚂蚁选择下一个节点,并将人工蚂蚁转移到该点上,更新数组tabuk;
(4) 经过11个时间单位后所有人工蚂蚁都爬到终点,完成了一次迭代,根据每只蚂蚁的tabuk数组得到相应的(KP,KI,KD),根据式(7)得到评价值。然后根据式(2)~式(4)更新信息素,并记录本次迭代最好的评价值以及对应的PID参数;
(5) 如果结果尚未收敛且未达到最大迭代次数则进行下一次迭代,否则输出收敛结果或最后一次迭代的最优结果作为最终的优选结果。最终得到用蚁群算法优选PID参数的流程图,如图4所示。
图4 蚁群算法求解PID最优参数流程图
2.3 结果仿真
采用自动控制领域常见的二阶惯性系统来模拟被控对象,其传递函数为G(s)=[5ss+20]。取采样周期T=1 ms,输入信号为一阶跃信号。
选取人工蚂蚁数m=50,a=1.3,ρ=0.1,F=50,各路径初始信息素量C=10 000,在本方案中,为了避免蚁群算法陷入局部寻优,故取消了能见度的作用,即令β=0,完全由信息素的作用来寻优。图5~图8为蚁群寻优的过程。
图5 第1次迭代后的路径
图6 第150次迭代后的路径
图7 第265次迭代后的路径
图8 第313次迭代后的路径
可以看出,第1次迭代的时候,由于设定了各个子路径上的信息素含量均为常数C,根据式(1)可知,蚂蚁在一个节点上转向所有可选节点的概率是相等的,因此第1次迭代时各个蚂蚁选择的路径呈现高度随机性,如图5所示。随着迭代周期数的增加,根据蚁群算法的正反馈机制:较优的路径上的信息素积累得越来越多,反过来吸引更多的蚂蚁选择较优的路径,而较差的路径由于挥发效应,信息素慢慢淡化,逐渐被淘汰。最终蚁群选择的路径趋于融合,算法收敛,如图8所示。本次仿真中算法经过313次迭代后收敛,获得优化参数为KP=97.46,KI=0.006 1,KD=56.9。
将蚁群算法寻优得到的PID控制参数用于二阶惯性系统G(s)=[5ss+20]中,可得其闭环阶跃响应曲线如图9中的G1所示,G2为采用传统的临界比例度法[10]整定PID参数对应的闭环阶跃响应曲线。可见,相比于临界比例度法,基于蚁群算法的PID参数优选方案响应速度更快,显著减小了系统超调量,同时明显缩短了系统的调节时间。
图9 两种PID控制参数寻优方法对应的系统闭环响应
3 蚁群算法中主要参数对算法性能的影响
在蚁群算法中,参数的选取影响着算法的求解质量、收敛速度等。但是,目前并没有完善的理论来支持怎样合理的选取蚁群算法参数,大部分情况下都是根据经验来选取参数。本节讨论信息素挥发系数以及信息启发式因子这两个关键参数对算法性能的影响,在各组对比中,均采用上节中选用的参数(m=50,α=1.3,ρ=0.1,F=50)作为对照组,采用控制变量法,改变其中一个参数,比较算法收敛速度以及最优解的质量。首先在对照组参数条件下仿真10次,得到10组算法收敛周期以及最优解的评价值Q,如表1所示。
表1 对照组10次仿真结果
3.1 信息素挥发系数对算法性能的影响
理论上,挥发系数对解的收敛速度有影响,挥发系数越大,算法应该收敛越快,可通过下面的仿真进行证实:选取ρ=0.3,进行10次仿真,将达到收敛时的迭代次数以及评价函数的值与对照组进行对比,结果如图10所示。
图10 ρ=0.3与对照组ρ=0.1算法性能对比
由图10(a)可见信息素挥发系数ρ=0.3时,算法达到收敛时的迭代周期数均明显小于ρ=0.1的收敛周期数。同时由图10(b)可知,ρ=0.3时最优解的评价值普遍大于ρ=0.1时最优解的评价值,对于蚁群算法求解PID参数问题中,评价函数采用式(7)的计算方式,其值越大说明解的质量越差。图10说明了挥发系数增大会导致算法收敛速度加快但求解质量下降。
造成这种现象的原因是蚁群算法寻优的机制造成的,每只蚂蚁在节点处选择路径的时候,是根据各个备选路径上的信息素的量来决定选择那一条路径,信息素多的被选择的概率就大,反之就小。那么当信息素挥发系数较大时,较次的路径上的信息素迅速减少,导致被选中的概率变得更低,因此这时算法便能较快的排除次解得到较优解,收敛速度加快。但是,挥发系数大也会造成求解质量的下降,例如在初始时刻各路径上的信息素含量为相等的常数,因此蚂蚁在一个路口上选择路径的概率相等,这样由于随机性,蚂蚁可能没有选中一条比较好(评价函数值较小)的路径,因此在本次迭代中,较好的路径上没有留下信息素或留下的很少,这样在下一次迭代时,由于挥发系数较大,那条路径上信息素的含量就更低了,被选择的概率就更小,这样就有可能漏掉一些优解。
3.2 启发因子对算法性能的影响
如图11所示,10次仿真中,α=2时算法收敛速度明显快于α=1.3时算法收敛速度,但最优解的质量较α=1.3时要差。与3.1节的结论类似,信息启发因子α增大会导致算法收敛速度加快但求解质量会下降。
图11 α=2与对照组α=1.3算法性能对比
由式(1)可知,信息启发因子α表示前面的蚂蚁留下的信息素对当前蚂蚁选择路径时的指导作用,因此其值越大,蚂蚁越容易选择其他蚂蚁走过的路径,收敛速度越快,但是正因为这样,如果先前的蚂蚁选择了质量较差的路径,往往会“误导”后来的蚂蚁,使其不去开发新的路径,而直接选择这条较差的路径,这就会造成较优的路径被漏掉。同时若启发因子取值过小,易造成算法收敛过慢甚至不收敛的现象。例如,取α=0.98,迭代了2 000周期后算法仍未收敛,如图12所示。
图12 α=0.98,迭代2 000次后蚁群路径图
4 结 语
蚁群算法本质上是一个复杂的智能系统,具有较强的鲁棒性、优良的分布式计算机制、易于与其他方法结合的优点,是解决组合优化问题的理想方案。本文将蚁群算法运用于PID参数寻优上,通过仿真证实了该方法的有效性。此外,还研究了信息素挥发系数以及信息启发因子这两个关键参数对算法性能的影响,发现两个参数的增大都会使算法收敛速度加快,但相应的会导致算法求解质量下降;此外,信息启发因子不应取值过小,否则会导致算法收敛过慢甚至不收敛。
参考文献
[1] SUH J H, LEE J W, LEE Y J. Anti?sway control of an ATC using NN predictive PID control [C]// Proceedings of 30th Annual Conference of IEEE Industrial Electronics Society. Busan: IEEE, 2004: 2998?3003.
[2] 占永明,罗中明.基于遗传算法PID参数的自动整定[J].哈尔滨理工大学学报,2000(2):34?37.
[3] 段海滨.蚁群算法原理及其应用[M].北京:科学出版社,2005.
[4] 尹玉萍,刘万军,魏林.基于改进蚁群算法的多目标跟踪数据关联方法[J].计算机工程与应用,2014(16):16?20.
[5] RUDY J, ELAZNY D. Solving multi?objective job shop problem using nature?based algorithms: new Pareto approximation features [J]. An International Journal of Optimization and Control: Theories & Applications, 2014, 5(1): 1?11.
[6] ANSARI A, KATIYAR S. Application of ant colony algorithm for calculation and analysis of performance indices for adaptive control system [C]// Proceedings of 2014 Innovative Applications of Computational Intelligence on Power, Energy and Controls with their impact on Humanity. [S.l.]: IEEE, 2014: 3180?3183.
[7] NARAYANA K L, KUMAR V N, DHIVYA M, et al. Application of ant colony optimization in tuning a PID controller to a conical tank [J]. Indian Journal of Science and Technology, 2015, 8(2): 217?223.
[8] DORIGO M, GAMBARDELLA L M. Ant colony system: a cooperative learning approach to the traveling salesman problem [J]. IEEE Transactions on Evolutionary Computation, 1997, 1(1): 53?66.
[9] BONABEAU E, DORIGO M, THERAULAZ G. Inspiration for optimization from social insect behaviour [J]. Nature, 2000, 406(6791): 39?42.
[10] 孙跃光,林怀蔚,周华茂,等.基于临界比例度法整定 PID 控制器参数的仿真研究[J].现代电子技术,2012,35(8):192?195.
[11] 王琨,黄立勤.蚁群算法在全方向M型心动图检测中的应用与研究[J].现代电子技术,2014,37(22):14?16.
[12] 陈书谦,张丽虹.蚁群算法在PID控制器参数优化中的应用研究[J].计算机仿真,2011(1):238?241.