孫鐵成+張思敏+李超波
摘 要: 鑒于傳統PID參數整定方法的不足,提出了一種采用蟻群算法優(yōu)化選取PID控制參數的方法。通過建立數學模型將PID控制參數選擇問題抽象成路徑選擇問題,從而將蟻群算法成功的應用于PID參數優(yōu)選,并對尋優(yōu)過程進行了仿真。將結果與常用的臨界比例度法整定的結果進行了比較,發(fā)現基于蟻群算法的PID參數優(yōu)選方案可使系統超調量大幅減小,并明顯縮短系統調節(jié)時間,具有良好的應用前景。此外,討論了蟻群算法中的關鍵參數對算法性能的影響,對比了不同參數下算法的收斂速度和求解質量。
關鍵詞: PID控制; 蟻群算法; 信息素; 參數優(yōu)選
中圖分類號: 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控制是最早發(fā)展起來的控制策略之一,由于其算法簡單易實現、魯棒性好、可靠性高、不依賴被控對象的數學模型,因此至今仍然是工業(yè)控制領域應用最廣泛的控制方式。然而PID控制的控制效果好壞強烈依賴于控制參數的選擇,傳統的PID參數選取多采用人工試湊的方式,這往往需要操作人員具備大量的經驗且相當耗時,顯然不適合應用在通常包含數百個PID控制回路的現代工業(yè)系統中。
近年來,隨著傳統PID技術與現代計算機技術的結合,涌現出了一系列全新的PID參數整定方法,例如將遺傳算法、神經網絡、蟻群算法等先進技術用于PID參數尋優(yōu)[1?3],使傳統的PID控制煥發(fā)出了新的活力。在這些先進方法當中,蟻群算法作為求解組合優(yōu)化問題的有效手段,引起了國內外學者的廣泛關注[4?7]。本文采用蟻群算法進行PID參數尋優(yōu),克服了傳統PID參數整定法的不足,并通過仿真證明該方法的有效性。同時,還通過仿真研究蟻群算法中信息啟發(fā)因子以及信息素揮發(fā)系數這兩個關鍵參數對算法收斂速度和求解質量的影響。
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只螞蟻從起始點出發(fā)去探索可行的路徑,螞蟻每到一個城市ci,便根據該城市到其他可選城市路徑上的信息素的量來決定下一站的目的地。具體來說,螞蟻k從節(jié)點i(城市ci)轉向節(jié)點j(城市cj)的狀態(tài)轉移概率為:
[pkij=τijαηijβs?tabuknτisαηisβ, 若j?tabuk0, else] (1)
式中:tabuk(k=1,2,…,m)用來存儲螞蟻k走過的節(jié)點;tij表示節(jié)點i到節(jié)點j路徑上的信息素含量,因此,某條路徑上的信息素含量越高,選擇該路徑的概率就越大;α為信息啟發(fā)式因子,表示之前的螞蟻在行進過程中積累的信息對當前螞蟻的啟發(fā)作用,其值越大,則螞蟻越傾向于選擇其他螞蟻走過的路徑,螞蟻之間協作性越強;ηij為能見度信息,通常取ηij=[1dij];β為能見度的重要性,能見度的引入可以加快算法收斂的速度,但是如果β過大會造成螞蟻每次只選擇離當前節(jié)點最近的可選節(jié)點,但最終產生的總路徑不一定最小,即造成蟻群算法陷入局部尋優(yōu),因此蟻群算法在實際應用中,可以將能見度這一項忽略(即令β=0),完全用信息素決定螞蟻轉移的概率。
當m只螞蟻都完成了一次路線探索之后,要對兩兩城市之間路徑的信息素含量進行更新,更新規(guī)則如下:
[τ*ij=(1-ρ)τij+Δτij] (2)
[Δτij=k=1mΔτkij] (3)
式中:[ρ]表示信息素揮發(fā)系數,取值范圍在0~1之間。[Δτij]表示本次探索中路徑(i,j)上的信息量增量。上述策略模擬了自然界中螞蟻信息素揮發(fā)的特點,可以很好地淘汰掉一些曾經探索過的較差路徑。[Δτkij]則表示第k只螞蟻在本次探索中留在路徑(i,j)上的信息量,其計算方法為:
[Δτkij=FQk, 若螞蟻k經過路徑(i,j)0, else] (4)
式中:F為一個常數,表示螞蟻在完成一次探索時所釋放的信息素總濃度;Qk表示第k只螞蟻本次探索的路徑的評價函數值,評價函數的選取視具體問題而定。在TSP問題中,為本次探索出的路徑的總長度,可見路徑長度越?。窂皆絻?yōu)),留下的信息素越多。
之后,反復使用m只人工螞蟻重復上述過程,每次探索結束都根據式(2)~式(4)修改路徑信息素含量,直至m只螞蟻選擇的路徑歸于同一條,此時蟻群算法收斂,所得的路徑便是TSP問題的解。
2 采用蟻群算法優(yōu)化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控制參數的選取可以理解為一個組合優(yōu)化的問題,即為了達到最佳的控制效果,如何選擇這3個參數。這樣,PID算法參數優(yōu)選問題完全可以采用蟻群算法協助解決。
可以將PID參數優(yōu)選問題與經典TSP問題進行類比。設比例系數KP用4位有效數字來表示,其中整數部分2位,小數部分2位。
由于PID系統對積分部分十分敏感,積分系數過大會導致系統超調量過大、系統不穩(wěn)定且調整時間過長,根據經驗,積分系數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所示。圖中的節(jié)點便對應序列為25261788203,與經典的旅行商問題進行類比,圖中的每一個格點都可以比作一個城市,格點的連接線構成了PID參數優(yōu)選問題中的一個路徑,這樣PID參數優(yōu)選問題就轉化成了類似TSP問題中的路徑選擇問題。與TSP問題不同的是,這時的螞蟻每次在橫坐標上只能前進一步,即若某只螞蟻當前所在節(jié)點的橫坐標為i,則下一步只能選擇節(jié)點橫坐標為i+1的點作為目的地。
圖3 節(jié)點與路徑示意圖
蟻群算法中評價函數的設計直接關系到蟻群算法求解的質量。在經典的旅行商問題中,商人把所有目的城市都走到且不重復經過城市所走過的總距離便是旅行商問題的評價函數值。這個值越?。偩嚯x越短),則方案越好,反之則越差。將這個思路類比到PID參數選擇問題上來,關系到控制品質的因素有:上升時間、超調量、穩(wěn)定時間等,為此,可以采用絕對誤差的矩的積分作為評價控制性能的指標:
[Q=T2i=1LPie(i)] (7)
式中:T為采樣間隔;LP為仿真計算的點數。這樣,當系統超調量過大或穩(wěn)定時間過長等情況時,Q值都會較大,反之則較小。
2.2 算法實現流程
(1) 首先選擇m只人工螞蟻,放在起始點原點處,并設置算法初始參數;
(2)為每只人工螞蟻設置一個長度為11的數組tabuk(k=1,2,…,m),用來記錄每只螞蟻的位置信息;
(3) 迭代開始,所有人工螞蟻從原點出發(fā),每到達一個網格節(jié)點便根據式(1)來計算狀態(tài)轉移概率,然后根據輪盤賭法則為每只螞蟻選擇下一個節(jié)點,并將人工螞蟻轉移到該點上,更新數組tabuk;
(4) 經過11個時間單位后所有人工螞蟻都爬到終點,完成了一次迭代,根據每只螞蟻的tabuk數組得到相應的(KP,KI,KD),根據式(7)得到評價值。然后根據式(2)~式(4)更新信息素,并記錄本次迭代最好的評價值以及對應的PID參數;
(5) 如果結果尚未收斂且未達到最大迭代次數則進行下一次迭代,否則輸出收斂結果或最后一次迭代的最優(yōu)結果作為最終的優(yōu)選結果。最終得到用蟻群算法優(yōu)選PID參數的流程圖,如圖4所示。
圖4 蟻群算法求解PID最優(yōu)參數流程圖
2.3 結果仿真
采用自動控制領域常見的二階慣性系統來模擬被控對象,其傳遞函數為G(s)=[5ss+20]。取采樣周期T=1 ms,輸入信號為一階躍信號。
選取人工螞蟻數m=50,a=1.3,ρ=0.1,F=50,各路徑初始信息素量C=10 000,在本方案中,為了避免蟻群算法陷入局部尋優(yōu),故取消了能見度的作用,即令β=0,完全由信息素的作用來尋優(yōu)。圖5~圖8為蟻群尋優(yōu)的過程。
圖5 第1次迭代后的路徑
圖6 第150次迭代后的路徑
圖7 第265次迭代后的路徑
圖8 第313次迭代后的路徑
可以看出,第1次迭代的時候,由于設定了各個子路徑上的信息素含量均為常數C,根據式(1)可知,螞蟻在一個節(jié)點上轉向所有可選節(jié)點的概率是相等的,因此第1次迭代時各個螞蟻選擇的路徑呈現高度隨機性,如圖5所示。隨著迭代周期數的增加,根據蟻群算法的正反饋機制:較優(yōu)的路徑上的信息素積累得越來越多,反過來吸引更多的螞蟻選擇較優(yōu)的路徑,而較差的路徑由于揮發(fā)效應,信息素慢慢淡化,逐漸被淘汰。最終蟻群選擇的路徑趨于融合,算法收斂,如圖8所示。本次仿真中算法經過313次迭代后收斂,獲得優(yōu)化參數為KP=97.46,KI=0.006 1,KD=56.9。
將蟻群算法尋優(yōu)得到的PID控制參數用于二階慣性系統G(s)=[5ss+20]中,可得其閉環(huán)階躍響應曲線如圖9中的G1所示,G2為采用傳統的臨界比例度法[10]整定PID參數對應的閉環(huán)階躍響應曲線??梢?,相比于臨界比例度法,基于蟻群算法的PID參數優(yōu)選方案響應速度更快,顯著減小了系統超調量,同時明顯縮短了系統的調節(jié)時間。
圖9 兩種PID控制參數尋優(yōu)方法對應的系統閉環(huán)響應
3 蟻群算法中主要參數對算法性能的影響
在蟻群算法中,參數的選取影響著算法的求解質量、收斂速度等。但是,目前并沒有完善的理論來支持怎樣合理的選取蟻群算法參數,大部分情況下都是根據經驗來選取參數。本節(jié)討論信息素揮發(fā)系數以及信息啟發(fā)式因子這兩個關鍵參數對算法性能的影響,在各組對比中,均采用上節(jié)中選用的參數(m=50,α=1.3,ρ=0.1,F=50)作為對照組,采用控制變量法,改變其中一個參數,比較算法收斂速度以及最優(yōu)解的質量。首先在對照組參數條件下仿真10次,得到10組算法收斂周期以及最優(yōu)解的評價值Q,如表1所示。
表1 對照組10次仿真結果
3.1 信息素揮發(fā)系數對算法性能的影響
理論上,揮發(fā)系數對解的收斂速度有影響,揮發(fā)系數越大,算法應該收斂越快,可通過下面的仿真進行證實:選取ρ=0.3,進行10次仿真,將達到收斂時的迭代次數以及評價函數的值與對照組進行對比,結果如圖10所示。
圖10 ρ=0.3與對照組ρ=0.1算法性能對比
由圖10(a)可見信息素揮發(fā)系數ρ=0.3時,算法達到收斂時的迭代周期數均明顯小于ρ=0.1的收斂周期數。同時由圖10(b)可知,ρ=0.3時最優(yōu)解的評價值普遍大于ρ=0.1時最優(yōu)解的評價值,對于蟻群算法求解PID參數問題中,評價函數采用式(7)的計算方式,其值越大說明解的質量越差。圖10說明了揮發(fā)系數增大會導致算法收斂速度加快但求解質量下降。
造成這種現象的原因是蟻群算法尋優(yōu)的機制造成的,每只螞蟻在節(jié)點處選擇路徑的時候,是根據各個備選路徑上的信息素的量來決定選擇那一條路徑,信息素多的被選擇的概率就大,反之就小。那么當信息素揮發(fā)系數較大時,較次的路徑上的信息素迅速減少,導致被選中的概率變得更低,因此這時算法便能較快的排除次解得到較優(yōu)解,收斂速度加快。但是,揮發(fā)系數大也會造成求解質量的下降,例如在初始時刻各路徑上的信息素含量為相等的常數,因此螞蟻在一個路口上選擇路徑的概率相等,這樣由于隨機性,螞蟻可能沒有選中一條比較好(評價函數值較?。┑穆窂剑虼嗽诒敬蔚?,較好的路徑上沒有留下信息素或留下的很少,這樣在下一次迭代時,由于揮發(fā)系數較大,那條路徑上信息素的含量就更低了,被選擇的概率就更小,這樣就有可能漏掉一些優(yōu)解。
3.2 啟發(fā)因子對算法性能的影響
如圖11所示,10次仿真中,α=2時算法收斂速度明顯快于α=1.3時算法收斂速度,但最優(yōu)解的質量較α=1.3時要差。與3.1節(jié)的結論類似,信息啟發(fā)因子α增大會導致算法收斂速度加快但求解質量會下降。
圖11 α=2與對照組α=1.3算法性能對比
由式(1)可知,信息啟發(fā)因子α表示前面的螞蟻留下的信息素對當前螞蟻選擇路徑時的指導作用,因此其值越大,螞蟻越容易選擇其他螞蟻走過的路徑,收斂速度越快,但是正因為這樣,如果先前的螞蟻選擇了質量較差的路徑,往往會“誤導”后來的螞蟻,使其不去開發(fā)新的路徑,而直接選擇這條較差的路徑,這就會造成較優(yōu)的路徑被漏掉。同時若啟發(fā)因子取值過小,易造成算法收斂過慢甚至不收斂的現象。例如,取α=0.98,迭代了2 000周期后算法仍未收斂,如圖12所示。
圖12 α=0.98,迭代2 000次后蟻群路徑圖
4 結 語
蟻群算法本質上是一個復雜的智能系統,具有較強的魯棒性、優(yōu)良的分布式計算機制、易于與其他方法結合的優(yōu)點,是解決組合優(yōu)化問題的理想方案。本文將蟻群算法運用于PID參數尋優(yōu)上,通過仿真證實了該方法的有效性。此外,還研究了信息素揮發(fā)系數以及信息啟發(fā)因子這兩個關鍵參數對算法性能的影響,發(fā)現兩個參數的增大都會使算法收斂速度加快,但相應的會導致算法求解質量下降;此外,信息啟發(fā)因子不應取值過小,否則會導致算法收斂過慢甚至不收斂。
參考文獻
[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控制器參數優(yōu)化中的應用研究[J].計算機仿真,2011(1):238?241.