Self-tuning PID Parameters by Using Artificial Bee Colony Algorithm
蔡 超1 周武能1,2
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院1,上?!?01620;數(shù)字化紡織服裝技術(shù)教育部工程研究中心2,上海 201620)
人工蜂群算法整定PID控制器參數(shù)
Self-tuning PID Parameters by Using Artificial Bee Colony Algorithm
蔡超1周武能1,2
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院1,上海201620;數(shù)字化紡織服裝技術(shù)教育部工程研究中心2,上海201620)
摘要:針對(duì)工業(yè)控制中常用的PID控制器參數(shù)整定困難的問(wèn)題,提出一種基于人工蜂群算法的參數(shù)整定方法。將PID控制器待整定參數(shù)看作蜜源,利用蜂群特有的角色轉(zhuǎn)變機(jī)制搜索優(yōu)質(zhì)的參數(shù)組合;選取絕對(duì)誤差矩積分性能指標(biāo)作為參數(shù)尋優(yōu)的目標(biāo)函數(shù)。仿真實(shí)驗(yàn)結(jié)果表明,所采用的算法能夠提高控制系統(tǒng)的動(dòng)態(tài)性能,增強(qiáng)系統(tǒng)的快速性和穩(wěn)定性,適用于PID 控制器的自整定。
關(guān)鍵詞:PID控制人工蜂群算法適應(yīng)度參數(shù)尋優(yōu)蜜源
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控制器自產(chǎn)生以來(lái),一直是工業(yè)生產(chǎn)過(guò)程中應(yīng)用最廣、最成熟的控制器,其控制質(zhì)量的好壞取決于控制器參數(shù)的整定,因而其參數(shù)整定問(wèn)題受到人們的關(guān)注。所謂參數(shù)整定,即對(duì)于一個(gè)完整的PID控制系統(tǒng),通過(guò)合理調(diào)整其參數(shù),達(dá)到滿意的控制效果。目前,PID參數(shù)整定方法有很多,傳統(tǒng)整定方法有Z-N法、單純形法等,智能整定方法有粒子群算法、遺傳算法、神經(jīng)網(wǎng)絡(luò)等。傳統(tǒng)PID 控制不能使目標(biāo)值跟蹤特性和干擾抑制特性同時(shí)最優(yōu),而任何一個(gè)工業(yè)過(guò)程對(duì)擾動(dòng)抑制品質(zhì)和跟蹤給定品質(zhì)都是有要求的[1]。如今,將自適應(yīng)控制、最優(yōu)控制、預(yù)測(cè)控制、魯棒控制和智能控制策略引入傳統(tǒng)PID 控制,逐步發(fā)展成為一種新型PID 控制。
人工蜂群算法(artificial bee colony,ABC)是由土耳其學(xué)者Karaboga于2005年提出。與微粒群算法、遺傳算法等智能算法相比,該算法的突出優(yōu)點(diǎn)是在每次迭代過(guò)程中都進(jìn)行全局和局部搜索,因而可以在較大程度上避免局部最優(yōu)。由于該算法具有搜索精度較高、控制參數(shù)少、魯棒性較強(qiáng)等優(yōu)點(diǎn),已被越來(lái)越多的學(xué)者所關(guān)注。目前,該算法已成功應(yīng)用于神經(jīng)網(wǎng)絡(luò)訓(xùn)練[2]、數(shù)字濾波器設(shè)計(jì)[3]、圖像處理[4]、多維背包優(yōu)化[5]、電力系統(tǒng)優(yōu)化[6]等多個(gè)領(lǐng)域。鑒于該算法應(yīng)用領(lǐng)域的不斷拓寬,本文嘗試將其應(yīng)用于PID控制器的參數(shù)自整定,并借助Matlab強(qiáng)大的數(shù)學(xué)運(yùn)算及仿真能力,通過(guò)實(shí)例比較證明了該方法的優(yōu)越性。
1常規(guī)PID控制算法
PID控制器是將偏差的比例、積分、微分進(jìn)行線性組合構(gòu)成控制量,從而對(duì)被控對(duì)象進(jìn)行控制[7],其系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 PID控制器結(jié)構(gòu)
PID的控制規(guī)律為:
(1)
e(t)=r(t)-y(t)
(2)
式中:Kp為比例增益;Ki為積分增益;Kd為微分增益;r(t)為系統(tǒng)的參考輸入;e(t)為系統(tǒng)的反饋偏差,即PID控制器的輸入;u(t)為PID控制器的輸出;y(t)為系統(tǒng)的輸出[8]。
寫(xiě)成傳遞函數(shù)形式為:
G(s)=Kp+Ki/s+Kds
(3)
PID控制器就是通過(guò)調(diào)整Kp、Ki和Kd三個(gè)參數(shù)使系統(tǒng)達(dá)到滿意的性能指標(biāo)。
2ABC-PID控制器設(shè)計(jì)
人工蜂群算法是一種模擬蜜蜂覓食行為的新型智能算法,蜜蜂群體通過(guò)引領(lǐng)蜂、待工蜂(包括跟隨蜂和偵查蜂)的分工協(xié)作和信息共享對(duì)蜜源進(jìn)行搜索。蜜源即解空間內(nèi)所有可能的解,其優(yōu)劣采用“適應(yīng)度”衡量。引領(lǐng)蜂通過(guò)搖擺舞和其他蜜蜂分享蜜源信息,跟隨蜂在巢內(nèi)等待,通過(guò)分享引領(lǐng)蜂的信息尋找蜜源,偵查蜂搜索新的蜜源。
蜂群對(duì)蜜源搜索過(guò)程分為:①引領(lǐng)蜂和具體的蜜源聯(lián)系在一起,其發(fā)現(xiàn)蜜源,并通過(guò)搖擺舞分享蜜源信息;②跟隨蜂根據(jù)引領(lǐng)蜂所分享的信息選擇一個(gè)蜜源,并在其附近進(jìn)行采蜜,尋找新蜜源,若搜索到更高適應(yīng)度的蜜源,則跟隨蜂轉(zhuǎn)變?yōu)橐I(lǐng)蜂;③引領(lǐng)蜂在其前次搜索到的蜜源鄰域附近進(jìn)行多次搜索,當(dāng)多次搜索仍未找到更高適應(yīng)度的蜜源時(shí),則放棄該蜜源,轉(zhuǎn)變?yōu)閭刹榉?,隨機(jī)搜索新蜜源,當(dāng)搜索到高適應(yīng)度的蜜源時(shí),其又轉(zhuǎn)變?yōu)橐I(lǐng)蜂。
在人工蜂群算法搜索最優(yōu)解過(guò)程中,引領(lǐng)蜂起到保持優(yōu)良蜜源的作用;跟隨蜂則增加優(yōu)良蜜源所對(duì)應(yīng)的蜜蜂數(shù),提高算法收斂速度;偵查蜂隨機(jī)搜索新蜜源,能有效地使算法跳出局部最優(yōu)[9]。
假設(shè)求解問(wèn)題的空間維度為D,蜜蜂種群代數(shù)為n,蜜蜂總數(shù)為NA,其中引領(lǐng)蜂規(guī)模為NG,跟隨蜂規(guī)模為NF,一般取NG=NF。在搜索開(kāi)始階段,隨機(jī)生成NA個(gè)蜜源,即初始解(X1,X2,…,XNA),且:
(4)
式中:U和L分別為搜索空間的上下限,j∈{1,2,…,D};j為被優(yōu)化參數(shù)組成的D維解向量的某個(gè)分量。
再計(jì)算各個(gè)解的適應(yīng)度,將排名前NG的解作為初始代引領(lǐng)蜂種群X(0),對(duì)于第n代的引領(lǐng)蜂Xi(n),i∈{1,2,…,NG},在蜜源i位置進(jìn)行鄰域搜索,即:
(5)
采用貪婪選擇法,在蜜源Vi和Xi中選取較優(yōu)適應(yīng)度的蜜源,并保留至下一代種群。當(dāng)所有引領(lǐng)蜂完成式(5)的搜索后,將蜜源信息共享。接著,各跟隨蜂按照引領(lǐng)蜂種群適應(yīng)度值選擇一個(gè)引領(lǐng)蜂,并同樣對(duì)其鄰域進(jìn)行搜索,選擇概率為:
(6)
式中:f(Xi)為第i個(gè)蜜源的適應(yīng)度值。
若某只引領(lǐng)蜂在其周?chē)阉鞔螖?shù)T1達(dá)到一定閾值T2仍未找到更優(yōu)解,則放棄該蜜源,對(duì)應(yīng)的引領(lǐng)蜂轉(zhuǎn)變?yōu)閭刹榉鋄10],同時(shí)重新初始化該引領(lǐng)蜂對(duì)應(yīng)的蜜源,即:
(7)
根據(jù)人工蜂群算法的運(yùn)行機(jī)制,將其與PID控制器相結(jié)合,Kp、Ki和Kd三者的某種組合可看作一個(gè)蜜源,將Kp、Ki和Kd的取值范圍作為蜜蜂群體的搜索空間。蜂群在進(jìn)行空間動(dòng)態(tài)搜索時(shí),需要判斷某個(gè)蜜源(即Kp、Ki和Kd取值的某種組合)的適應(yīng)度大小,此時(shí)則將PID控制器在取值為Kp、Ki和Kd時(shí)的某種性能指標(biāo)作為評(píng)價(jià)該蜜源優(yōu)劣的依據(jù)。由此,可構(gòu)建ABC-PID優(yōu)化模型,如圖2所示。
圖2 ABC-PID優(yōu)化模型
ABC-PID優(yōu)化模型可分為兩個(gè)部分,一部分為傳統(tǒng)PID控制器模塊,將系統(tǒng)偏差的比例、微分、積分經(jīng)加權(quán)系數(shù)疊加后輸出作為被控對(duì)象的輸入;另一部分為ABC算法模塊,如圖2虛線框內(nèi)所示。系統(tǒng)實(shí)時(shí)運(yùn)行,計(jì)算出適應(yīng)度,并根據(jù)ABC算法運(yùn)行機(jī)制搜索更優(yōu)蜜源,作為PID的參數(shù)。這樣設(shè)計(jì)的優(yōu)點(diǎn)是ABC算法無(wú)須知道待求問(wèn)題的特點(diǎn),只需通過(guò)比較不同參數(shù)所對(duì)應(yīng)的適應(yīng)度值來(lái)調(diào)整參數(shù),從而實(shí)現(xiàn)PID控制器參數(shù)自整定。
PID參數(shù)整定的實(shí)質(zhì)是基于一定目標(biāo)函數(shù)的參數(shù)尋優(yōu)問(wèn)題,其核心問(wèn)題是利用某種尋優(yōu)算法尋找到一組控制參數(shù),使得系統(tǒng)某種性能指標(biāo)達(dá)到極小。為便于比較,本文選取與文獻(xiàn)[11]相同的絕對(duì)誤差矩積分(integral time absolute error,ITAE)性能指標(biāo):
(8)
與誤差平方積分(integral square error,ISE)、平方誤差矩積分(integral square time error,ISTE)、誤差絕對(duì)值積分(integral absolute error,IAE)等性能指標(biāo)相比,ITAE具有很好的實(shí)用性和選擇性(系統(tǒng)參數(shù)變化引起指標(biāo)變化越大,選擇性越好)[12]。由于PID參數(shù)優(yōu)化是求目標(biāo)函數(shù)極小,而蜜蜂種群是向更高適應(yīng)度的方向搜索,所以要將其進(jìn)行變換,將適應(yīng)度函數(shù)取為ITAE的倒數(shù):
(9)
從而使高質(zhì)量的蜜源對(duì)應(yīng)較高的適應(yīng)度,引導(dǎo)蜜蜂種群在解空間內(nèi)搜尋優(yōu)質(zhì)蜜源。
采用人工蜂群算法優(yōu)化PID控制器參數(shù)的具體實(shí)現(xiàn)步驟如下。
① 確定PID控制器參數(shù)Kp、Ki和Kd的取值范圍,初始化蜂群種群規(guī)模NA、最大迭代次數(shù)N和最大搜索次數(shù)T2。
② 迭代次數(shù)n=1,按式(4)初始化蜜源Xi,將蜜源Xi對(duì)應(yīng)的控制器參數(shù)代入控制系統(tǒng)運(yùn)行,并根據(jù)式(9)計(jì)算其適應(yīng)度值,同時(shí)將蜜蜂分為引領(lǐng)蜂和跟隨蜂。
③ 每只引領(lǐng)蜂在原蜜源附近采蜜,尋找新蜜源,并按貪婪選擇機(jī)制進(jìn)行更新。
④ 由式(6)計(jì)算引領(lǐng)蜂搜索到的蜜源被跟隨的概率。
⑤ 跟隨蜂按照與引領(lǐng)蜂相同的方式進(jìn)行搜索,并按貪婪選擇法保留更優(yōu)質(zhì)的蜜源。
⑥ 若某只引領(lǐng)蜂搜索次數(shù)達(dá)到T2仍未找到更高適應(yīng)度的蜜源,則放棄該蜜源,且引領(lǐng)蜂轉(zhuǎn)變?yōu)閭刹榉洌㈦S機(jī)產(chǎn)生一個(gè)新蜜源。
⑦ 記錄最優(yōu)解和其適應(yīng)度值,n=n+1,跳轉(zhuǎn)至步
驟②,重復(fù)運(yùn)行,直至最大迭代次數(shù)N,并輸出PID控制器最優(yōu)參數(shù)及最優(yōu)適應(yīng)度值。
3仿真實(shí)驗(yàn)及結(jié)果分析
為了驗(yàn)證人工蜂群算法優(yōu)化的PID控制器的性能,現(xiàn)采用Matlab/Simulink平臺(tái)進(jìn)行交互式仿真??刂破鲄?shù)Kp、Ki和Kd的取值范圍均為[0,100],算法參數(shù)選擇為:D=3(對(duì)應(yīng)三個(gè)被優(yōu)化參數(shù)),種群數(shù)量和最大迭代次數(shù)取值與文獻(xiàn)[11]相同,分別為NA=20,N=100,搜索次數(shù)閾值T2=80。選取被控對(duì)象為文獻(xiàn)[11]中的二階系統(tǒng),其傳遞函數(shù)為:
(10)
經(jīng)過(guò)100代進(jìn)化,蜜蜂種群搜索到的最優(yōu)參數(shù)為:Kp=89.546 1,Ki=2.518 4、Kd=6.796 82,其最優(yōu)性能指標(biāo)為0.103 703。
圖3為系統(tǒng)單位階躍響應(yīng)曲線比較圖,其中曲線1為本文人工蜂群算法(ABC)優(yōu)化的階躍響應(yīng)曲線,曲線2為文獻(xiàn)[11]改進(jìn)PSO算法(PSO-I)優(yōu)化的階躍響應(yīng)曲線,曲線3為文獻(xiàn)[11]二進(jìn)制GA算法(GA-B)優(yōu)化的階躍響應(yīng)曲線,曲線4為Ziegler-Nichols優(yōu)化的階躍響應(yīng)曲線。
圖3 系統(tǒng)單位階躍響應(yīng)曲線比較圖
四種不同優(yōu)化算法的整定結(jié)果對(duì)比如表1所示。
表1 不同PID優(yōu)化算法整定結(jié)果對(duì)比
從表1中數(shù)據(jù)可以看出,采用人工蜂群算法得到的控制器參數(shù)能使系統(tǒng)調(diào)節(jié)時(shí)間大大縮小,系統(tǒng)超調(diào)量也較小,且無(wú)反向超調(diào),系統(tǒng)在大約0.9 s時(shí)即達(dá)到穩(wěn)定。此外,與文獻(xiàn)[11]中的粒子群優(yōu)化算法相比,本文所采用算法的參數(shù)優(yōu)化范圍不依賴于Ziegler-Nichols的優(yōu)化結(jié)果,即參數(shù)尋優(yōu)范圍不需要設(shè)定在Z-N法整定結(jié)果附近,體現(xiàn)了人工蜂群算法能夠在更大解空間范圍內(nèi)進(jìn)行更高效的尋優(yōu)。圖4為目標(biāo)函數(shù)的優(yōu)化歷程。從圖4可以看出,人工蜂群算法經(jīng)過(guò)大約40代進(jìn)化即可快速收斂。
圖4 人工蜂群算法的尋優(yōu)歷程
4結(jié)束語(yǔ)
在已有的研究中,PID控制器參數(shù)整定方法有很多。本文結(jié)合人工蜂群算法高效并行的搜索機(jī)制,將PID控制器的待優(yōu)化參數(shù)形象地看作為蜜源,將參數(shù)取值范圍視作蜂群動(dòng)態(tài)搜索空間,形成一種新型的ABC-PID優(yōu)化策略。該方法不要求目標(biāo)函數(shù)可微,而且算法控制參數(shù)少、使用方便,只需稍作修改即可用于其他模型的參數(shù)優(yōu)化。
人工蜂群算法在搜索PID控制器最優(yōu)參數(shù)時(shí),利用跟隨蜂按概率選擇引領(lǐng)蜂進(jìn)行跟隨,有助于加快算法的收斂速度。同時(shí),利用偵查蜂隨機(jī)搜索防止算法陷入局部最優(yōu),從而在解空間內(nèi)快速搜索到最優(yōu)解,提升了PID控制器的控制效果,有著很好的工程應(yīng)用前景。
參考文獻(xiàn)
[1] 鄧麗,蔣婧,費(fèi)敏銳.基于免疫粒子群算法的PID參數(shù)整定與自適應(yīng)[J].自動(dòng)化儀表,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] 肖永豪,余衛(wèi)宇.基于蜂群算法的圖像邊緣檢測(cè)[J].計(jì)算機(jī)應(yīng)用研究,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] 劉金琨.先進(jìn)PID控制及其MATLAB仿真[M].北京:電子工業(yè)出版社,2003.
[8] 黃友銳,曲立國(guó).PID控制器參數(shù)整定與實(shí)現(xiàn)[M].北京:科學(xué)出版社,2010.
[9] 段海濱,張祥銀,徐春芳.仿生智能計(jì)算[M].北京:科學(xué)出版社,2011.
[10]李霜天,段海濱.基于人工蜂群優(yōu)化的高超聲速飛行器在線參數(shù)辨識(shí)[J].中國(guó)科學(xué):信息科學(xué),2012,42(11):1350-1363.
[11]郭大慶,李曉,趙永進(jìn).基于改進(jìn)PSO算法的PID參數(shù)自整定[J].計(jì)算機(jī)工程,2007,33(18):202-204.
[12]徐峰,李東海,薛亞麗.基于ITAE指標(biāo)的PID參數(shù)整定方法比較研究[J].中國(guó)電機(jī)工程學(xué)報(bào),2003,23(8):206-210.
中圖分類號(hào):TH89;TP273+.24
文獻(xiàn)標(biāo)志碼:A
DOI:10.16086/j.cnki.issn1000-0380.201508019
上海市教育委員會(huì)科研創(chuàng)新重點(diǎn)基金資助項(xiàng)目(編號(hào):12zz06);
高等學(xué)校博士學(xué)科點(diǎn)專項(xiàng)科研基金資助項(xiàng)目(編號(hào):20120075120009)。
修改稿收到日期:2015-01-07。
第一作者蔡超(1989-),男,現(xiàn)為東華大學(xué)控制科學(xué)與工程專業(yè)在讀碩士研究生;主要從事智能控制系統(tǒng)、工業(yè)過(guò)程控制方面的研究。