陳路偉
摘 要: 針對(duì)傳統(tǒng)的PID參數(shù)整定方法越來越費(fèi)時(shí)且難以滿足控制要求的問題,提出一種采用螢火蟲算法來優(yōu)化PID控制參數(shù)的方法,設(shè)計(jì)了基于Simulink的參數(shù)優(yōu)化模型,并進(jìn)行仿真計(jì)算。結(jié)果表明,利用螢火蟲算法優(yōu)化PID控制器參數(shù)的階躍響應(yīng)響應(yīng)時(shí)間短,基本沒有超調(diào),跟蹤過程較平穩(wěn),仿真結(jié)果證明將螢火蟲算法應(yīng)用于PID參數(shù)優(yōu)化是切實(shí)可行的。
關(guān)鍵詞: PID; 螢火蟲算法; 參數(shù)優(yōu)化; Simulink
中圖分類號(hào): TN911?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)18?0005?03
Abstract: Since the traditional PID parameter tuning method has become more and more time?consuming, and is hard to meet the control requirements, a new method of optimizing PID control parameters by using firefly algorithm is proposed in this paper, and a parameters optimization model based on Simulink was designed to carry out the simulation calculation. The results show that PID controller parameters optimized with the firefly algorithm has short step response time and stable tracking process, and proves that it is feasible to adopt the firefly algorithm in PID parameter optimization.
Keywords: PID; firefly algorithm; parameter optimization; Simulink
PID控制是比例微分積分控制的簡(jiǎn)稱。在生產(chǎn)過程控制的發(fā)展歷程中,PID控制是歷史最悠久、生命力最頑強(qiáng),并且也是目前為止應(yīng)用最多的控制方法[1]。PID控制的精確程度主要取決于其[KP,KI,KD]三個(gè)控制參數(shù),但這三個(gè)參數(shù)的參數(shù)整定復(fù)雜繁瑣。過去人們往往使用經(jīng)驗(yàn)規(guī)則加試湊的方式來調(diào)整PID控制參數(shù),但隨著控制工程的快速發(fā)展,這種方法越來越費(fèi)時(shí)且難以滿足控制要求。為解決這種情況,采用智能優(yōu)化算法來優(yōu)化PID控制參數(shù)應(yīng)運(yùn)而生,并取得了明顯的效果。文獻(xiàn)[2]研究了采用蟻群算法優(yōu)化PID控制器參數(shù);文獻(xiàn)[3]研究了使用遺傳算法優(yōu)化PID參數(shù)的方法;文獻(xiàn)[4]在基礎(chǔ)上改進(jìn)了用于優(yōu)化的遺傳算法,提出了基于自適應(yīng)遺傳算法的PID參數(shù)整定方法;文獻(xiàn)[5]采用改進(jìn)的粒子群算法對(duì)PID參數(shù)進(jìn)行了整定,均取得了一定的成果。在本文中研究采用一種全新的智能算法——螢火蟲算法對(duì)PID參數(shù)進(jìn)行整定,研究其在PID參數(shù)整定的可行性及其效果。
1 螢火蟲算法
螢火蟲算法(GSO)是群集智能優(yōu)化算法領(lǐng)域的最新算法,它是由印度學(xué)者Krishnan和Ghose提出的一種群智能隨機(jī)優(yōu)化算法[6]。該算法從仿生學(xué)角度出發(fā),模擬自然界中的螢火蟲發(fā)光特性,通過熒光素值大小相互吸引對(duì)方,達(dá)到彼此交流信息的目的。實(shí)驗(yàn)表明,螢火蟲算法在尋找各種全局最優(yōu)解方面比遺傳算法等更有效,成功率更高[7]。
螢火蟲算法的核心思想是被絕對(duì)亮度比他大的螢火蟲吸引,并根據(jù)位置更新公式更新自身位置。具體算法步驟為[8]:
首先建立螢火蟲的絕對(duì)亮度和目標(biāo)函數(shù)的關(guān)系,用螢火蟲的絕對(duì)亮度表征螢火蟲所在位置處潛在解的目標(biāo)函數(shù)值,即:
[Ii=f(xi→)]
假設(shè)螢火蟲i的絕對(duì)亮度大于螢火蟲j的絕對(duì)亮度,那么認(rèn)為螢火蟲j被螢火蟲i吸引而向其移動(dòng),這種吸引力的大小與由兩者之間的相對(duì)亮度成正比,考慮到螢火蟲i的亮度隨著距離的增加以及空氣的吸收而減弱,定義兩者之間的相對(duì)亮度為:
[Iij(rij)=Iie-γr2ij]
式中:[rij]為兩螢火蟲之間的距離;[γ]為光吸收系數(shù)。
那么螢火蟲i對(duì)螢火蟲j的吸引力為:
[βij(rij)=β0e-γr2ij]
式中[β0]為最大吸引力。
螢火蟲j的位置更新公式為:
[xi→(t+1)=xj→(t)+βij(rij)(xi→(t)-xj→(t))+αεj→]
式中:[t]為算法的迭代次數(shù);[α]為常數(shù);[εj→]為隨機(jī)數(shù)向量。
綜上所述,螢火蟲算法的基本流程可以用圖1描述。
2 螢火蟲算法優(yōu)化PID控制器參數(shù)步驟
2.1 問題描述
PID控制器系統(tǒng)結(jié)構(gòu)圖如圖2所示。
PID控制器的優(yōu)化問題就是確定一組合適的參數(shù)[KP,KI,KD],使得指標(biāo)達(dá)到最優(yōu)。
為了獲得滿意的過渡過程動(dòng)態(tài)特性,采用誤差絕對(duì)值時(shí)間積分作為待優(yōu)化的最小目標(biāo)函數(shù),為了防止控制能量過大,在目標(biāo)函數(shù)中加入控制輸入的平方項(xiàng)[9]:
[J=0∞(w1e(t)+w2u2(t))dt+w3t] (1)
式中:[e(t)]為系統(tǒng)誤差;[u(t)]為控制器輸入;[w]為權(quán)值。
選取的被控對(duì)象為式(2):
[G(s)=s+2s4+8s3+4s2-s+0.4] (2)
建立的優(yōu)化模型如圖3所示。
圖3中輸出端口1即為式(2)所示指標(biāo),通過將時(shí)間及誤差絕對(duì)值進(jìn)行積分后得到。
2.2 優(yōu)化設(shè)計(jì)過程
優(yōu)化過程如圖4所示。
如圖4所示,螢火蟲優(yōu)化算法與Simulink之間連接的紐帶是螢火蟲(即PID控制器參數(shù))和其對(duì)應(yīng)的適應(yīng)值(即控制系統(tǒng)的性能指標(biāo))。
首先產(chǎn)生初始化的螢火蟲種群(即控制其參數(shù)的初始值)依次賦給PID控制器參數(shù),然后運(yùn)行控制系統(tǒng)模型,得到相應(yīng)的性能指標(biāo),傳遞給優(yōu)化算法作為其適應(yīng)度值,最后判斷優(yōu)化是否結(jié)束。
2.3 仿真
設(shè)置螢火蟲算法仿真參數(shù)如下所述,螢火蟲數(shù)目為40,最大迭代次數(shù)為100, 最大吸引力[β0=1.0],光吸收系數(shù)[γ=1.0]。優(yōu)化后得到的性能指標(biāo)和控制器參數(shù)為:[KP=16.129,KI=0.220 9,KD=0.220 9,ITAE=][24.981 2]。
整定過程中性能指標(biāo)[J]變化如圖5所示;采用優(yōu)化后的參數(shù)的PID階躍響應(yīng)如圖6所示。由仿真結(jié)果可以看出利用螢火蟲算法優(yōu)化PID控制器參數(shù)的階躍響應(yīng)時(shí)間短,基本沒有超調(diào),跟蹤過程較平穩(wěn),仿真結(jié)果說明采用螢火蟲算法優(yōu)化PID控制器參數(shù)是確實(shí)可行的。
3 結(jié) 論
本文改進(jìn)了傳統(tǒng)的PID參數(shù)優(yōu)化方法,提出采用螢火蟲算法的參數(shù)優(yōu)化方法,利用Simnulink構(gòu)建了基于螢火蟲算法的PID參數(shù)優(yōu)化仿真模型,并針對(duì)算例進(jìn)行了仿真計(jì)算。結(jié)果表明,該算法實(shí)現(xiàn)簡(jiǎn)單尋優(yōu)快速并具有較高的全局收斂能力。階躍響應(yīng)時(shí)間短,基本沒有超調(diào),跟蹤過程較平穩(wěn),可以說采用螢火蟲算法優(yōu)化PID控制器參數(shù)是確實(shí)可行的。
參考文獻(xiàn)
[1] 劉金琨.先進(jìn)PID控制MATLAB仿真[M].北京:清華大學(xué)出版社,2005.
[2] 段海濱,王道波,黃向華,等.基于蟻群算法的PID參數(shù)優(yōu)化[J].武漢大學(xué)學(xué)報(bào):工學(xué)版,2004,37(5):97?100.
[3] 毛敏,于希寧.基于遺傳算法的PID參數(shù)優(yōu)化[J].中國電力,2002,20(3):48?51.
[4] 陳丹,方康玲,陳喬禮.遺傳算法在PID參數(shù)優(yōu)化中的應(yīng)用[J].微計(jì)算機(jī)信息,2007(7):55?59.
[5] 張娜,李祥崇.改進(jìn)粒子群算法在PID參數(shù)優(yōu)化中的應(yīng)用[J].沈陽工程學(xué)院學(xué)報(bào),2011,7(3):263?267.
[6] 劉長(zhǎng)平,葉春明.一種新穎的仿生群智能優(yōu)化算法:螢火蟲算法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(9):95?97.
[7] 彭喜元,彭宇,戴毓豐.群智能理論及應(yīng)用[J].電子學(xué)報(bào),2003,31(z1):1982?1988.
[8] 劉鵬,劉弘,鄭向偉,等.基于改進(jìn)螢火蟲算法的動(dòng)態(tài)自動(dòng)聚集路徑規(guī)劃方法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(11):46?49.
[9] 史峰.Matlab智能算法30個(gè)案例分析[M].北京:北京航空航天大學(xué)出版社,2011.