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-),男,現為東華大學控制科學與工程專業在讀碩士研究生;主要從事智能控制系統、工業過程控制方面的研究。