李 恒 郭 星,2 李 煒,2
1(安徽大學(xué)計(jì)算智能與信號處理重點(diǎn)實(shí)驗(yàn)室 安徽 合肥 230039)2(安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 安徽 合肥 230601)
?
基于改進(jìn)的螢火蟲算法的PID控制器參數(shù)尋優(yōu)
李 恒1郭 星1,2李 煒1,2
1(安徽大學(xué)計(jì)算智能與信號處理重點(diǎn)實(shí)驗(yàn)室 安徽 合肥 230039)2(安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 安徽 合肥 230601)
PID控制器的參數(shù)尋優(yōu)是當(dāng)代反饋控制系統(tǒng)設(shè)計(jì)的核心內(nèi)容。PID控制器參數(shù)尋優(yōu)意味著在三個(gè)參數(shù)空間域中尋找最優(yōu)解,使得控制系統(tǒng)的性能達(dá)到最佳。為更好地對PID控制器的參數(shù)整定,引入自適應(yīng)變步長策略的群智能螢火蟲算法。利用MATLAB 進(jìn)行仿真實(shí)驗(yàn),與粒子群(PSO)算法和經(jīng)典的Z-N參數(shù)整定方法進(jìn)行比較。實(shí)驗(yàn)表明,所提算法精度高、原理簡單,可高效整定PID控制器參數(shù)。
螢火蟲算法 自適應(yīng)步長 PID控制器 粒子群算法
在當(dāng)今的工業(yè)過程控制中,PID控制器由于易實(shí)現(xiàn)、結(jié)構(gòu)簡單、可靠性高、魯棒性能高等特點(diǎn),被廣泛應(yīng)用,長久以來占據(jù)著市場的主導(dǎo)地位[1]。PID控制器性能與比例系數(shù)(P)、積分時(shí)間(I)和微分時(shí)間(D)有直接的關(guān)系,所以其P值、I值、D值決定了一個(gè)PID控制器性能的優(yōu)劣。
PID控制器參數(shù)整定方法有傳統(tǒng)的Z-N[1]動態(tài)特性法等方法,這些方法難以實(shí)現(xiàn)最優(yōu)整定,并且過程相當(dāng)繁瑣,并且易產(chǎn)生大超調(diào)和震蕩現(xiàn)象。近些年,又出現(xiàn)了粒子群優(yōu)化算法PSO、遺傳算法GA等整定方法,這些方法也存在不足。GA算法包含太多參數(shù)、具有太大的計(jì)算量和復(fù)雜的編碼解碼過程[2];標(biāo)準(zhǔn)PSO算法,其本質(zhì)是利用自身信息、認(rèn)知信息和社會信息來引導(dǎo)粒子的運(yùn)動軌跡,當(dāng)自身信息和認(rèn)知信息占優(yōu)勢時(shí),粒子群算法容易陷入局部最優(yōu)[3],從而無法搜索到全局最優(yōu)解 。
螢火蟲GSO[4]算法是一種新型的群智能尋優(yōu)算法,是通過模擬自然界中螢火蟲在晚上通過散發(fā)的熒光素與同伴進(jìn)行求偶或者尋覓食物等信息交流現(xiàn)象而提出的。該算法簡單易理解、求解速度快、收斂能力強(qiáng)等優(yōu)點(diǎn),廣泛應(yīng)用于各種領(lǐng)域,如裝配序列規(guī)劃方法[5]優(yōu)化、阻塞流水線調(diào)度問題[6]、網(wǎng)絡(luò)入侵優(yōu)化[7]等。標(biāo)準(zhǔn)螢火蟲算法對于多峰值函數(shù)求解最優(yōu)值時(shí),能同時(shí)獲得多個(gè)極值點(diǎn),但是在算法后期會出現(xiàn)尋優(yōu)精度不高、收斂速度慢等問題,降低了算法的效率[8]。為此,針對標(biāo)準(zhǔn)螢火蟲算法的固定步長,提出了自適應(yīng)變步長螢火蟲算法,根據(jù)算法迭代的次數(shù)變化進(jìn)行自適應(yīng)改變。在仿真實(shí)驗(yàn)中,把改進(jìn)的算法應(yīng)用到PID控制器參數(shù)整定領(lǐng)域,與經(jīng)典的PID控制整定方法(Z-N方法)和群智能優(yōu)化算法(PSO方法)做實(shí)驗(yàn)比較,取得了較好的效果。
1.1 基本螢火蟲算法原理
人工螢火蟲算法(GSO)將螢火蟲個(gè)體作為目標(biāo)函數(shù)解域中的一個(gè)解,螢火蟲群會隨機(jī)的分布在解域中。然后按照自然界螢火蟲的移動方式進(jìn)行不斷的迭代運(yùn)動,最后使得螢火蟲可以聚集在較優(yōu)的值周圍,標(biāo)準(zhǔn)的螢火蟲算法包括熒光素更新、概率更新、位置更新、決策域范圍更新這四個(gè)步驟。其描述算法步驟如下[9]:
Step1 熒光素更新
每只螢火蟲i在t+1次迭代時(shí)所具有的熒光素值,將目標(biāo)函數(shù)值Ji(t+1)轉(zhuǎn)化為熒光素值Li(t+1):
Li(t+1)=(1-ρ)Li(t)+γJi(t+1)
(1)
式中,ρ(0<ρ<1)是螢火蟲的熒光素?fù)]發(fā)因數(shù),li(t)是算法在第t次迭代時(shí)螢火蟲i的熒光素大小,γ是螢火蟲的更新率參數(shù),Ji(t+1)是算法在t+1迭代時(shí)熒光蟲i的自適應(yīng)值。
Step2 螢火蟲概率更新
(2)
(3)
Step3 位置更新:
(4)
式中,s是每次迭代的移動步長,在標(biāo)準(zhǔn)GSO中是一個(gè)常量值,固定不變的。
Step4 決策域范圍更新
螢火蟲i位置更新之后,其決策域范圍也會隨之更新,其更新方式為:
(5)
1.2 改進(jìn)的螢火蟲算法
因?yàn)闃?biāo)準(zhǔn)螢火蟲算法的固定步長會導(dǎo)致算法易陷入局部最優(yōu),迭代速度慢,易產(chǎn)生震蕩等問題。本文根據(jù)式(5)和式(6)來動態(tài)的改變算法的移動步長,提出了一種改進(jìn)的變步長的人工螢火蟲算法。使步長可以在算法前期保持較大值,在全局內(nèi)搜索優(yōu)解,防止算法過早成熟,陷入局部最優(yōu)。在后期,使步長可以保持較小值,可以精確尋找最優(yōu)解。
s(t)=smax(p)c
(6)
(7)
式中,t表示當(dāng)前迭代次數(shù),tmax表示最大的迭代次數(shù)。p表示一個(gè)常量,取值為0.08。
2.1 參數(shù)編碼
令螢火蟲群的數(shù)目為N,PID控制器的三個(gè)控制參數(shù)Kp、Ki和Kd組成螢火蟲尋找的問題域的維數(shù)D=3,該螢火蟲群可用一個(gè)N×3的矩陣表示為:
(8)
控制系統(tǒng)的被控對象具有多樣性,由用戶根據(jù)以往的經(jīng)驗(yàn)決定各個(gè)參數(shù)的定義域。螢火蟲種群允許在定義域內(nèi)隨機(jī)產(chǎn)生。
2.2 適應(yīng)度函數(shù)的選擇
本文算法在不斷迭代的過程中用適應(yīng)度函數(shù)來判定螢火蟲i所在位置的優(yōu)劣,并作為以后迭代過程中的依據(jù),使初始解移向最優(yōu)解,最后聚集在最優(yōu)解周圍。PID參數(shù)整定有一個(gè)重要的性能指標(biāo):ITAE (The Integral of The Time Multiplied Absolute Value Of The Error),即誤差絕對值時(shí)間積分[10]。該適應(yīng)度函數(shù)的被控系統(tǒng)一般具有超調(diào)量小、平穩(wěn)、快速的特點(diǎn),使系統(tǒng)達(dá)到較好的系統(tǒng)性能,因此本文采用ITAE作為目標(biāo)適應(yīng)度函。即:
(9)
采用本文算法求最大值,因此需要處理適應(yīng)度函數(shù)。在對PID控制控制器進(jìn)行仿真建模時(shí),用適應(yīng)度函數(shù)的倒數(shù)值作為目標(biāo)函數(shù),即實(shí)現(xiàn)將目標(biāo)函數(shù)的最小值轉(zhuǎn)為最大值的需求。
2.3 本文算法在PID參數(shù)整定過程中的應(yīng)用
三個(gè)控制參數(shù)Kp、Ki和Kd直接影響到PID控制器的性能優(yōu)良,所以找到一組合適的Kp、Ki和Kd參數(shù),對PID控制器的性能至關(guān)重要。本文算法-PID控制器的結(jié)構(gòu)如圖1所示。
圖1 本文算法-PID控制器的結(jié)構(gòu)圖
本文算法整定PID參數(shù)的算法偽代碼描述如下:
1 初始化螢火蟲種群數(shù)N=100,空間維數(shù)D=3,最大迭代次數(shù)MaxIter,熒光素?fù)]發(fā)因子ρ=0.4,適應(yīng)度提取比例為0.6,領(lǐng)域變化率β=0.08,感知半徑為10,決策半徑為10。領(lǐng)域值N(t)=6。
2 定義PID控制器參數(shù)Kp、Ki和Kd的位置范圍。隨機(jī)的在空間域中初始化螢火蟲X=X1,X2,…,Xn。
3 計(jì)算適應(yīng)度函數(shù)的初始值f(x)
4 whilet 5 根據(jù)式(1)初始化螢火蟲個(gè)體的熒光素值 6 for 每只螢火蟲ido: 7 根據(jù)式(2)計(jì)算螢火蟲i的動態(tài)領(lǐng)域集Ni(t) 8 end for 9 fori 10 iflength(Ni(t)) >0 11 for 每只螢火蟲j,j∈Ni(t) do: 12 根據(jù)式(3)計(jì)算螢火蟲i動態(tài)決策域內(nèi)螢火蟲個(gè)體j的概率 13 end for 14 按輪盤賭法選擇螢火蟲j 15 根據(jù)式(6)、式(7)計(jì)算算法移動的步長s(t) 16 根據(jù)式(4)更新螢火蟲i的位置 17 根據(jù)式(5)更新螢火蟲i的動態(tài)決策域 18 end if 19i=i+1,go to step 6 20 end for 21t=t+1,go to step 4 22 end while 23 展示結(jié)果 24 算法終止 如偽代碼描述所示,本文算法整定PID控制器參數(shù)的步驟與GSO算法基本相同。不同之處是在位置更新階段,本文算法采用的是如式(6)、式(7)所示的自適應(yīng)變步長移動,而不是固定步長。 為了驗(yàn)證本文的設(shè)計(jì)方法,,設(shè)計(jì)了兩種被控對象實(shí)例,分別是二階滯后性仿真模型和四階連續(xù)型模型對象,如下: (10) (11) 本文與Z-N法、粒子群算法(PSO)、進(jìn)行仿真比較研究。對不同的被控對象,均采用單位階躍信號,群規(guī)模都設(shè)置為100,最大迭代次數(shù)為Iter_Max=50。本文算法相關(guān)參數(shù)設(shè)置為熒光素?fù)]發(fā)因子ρ=0.4,適應(yīng)度提取比例為0.6,領(lǐng)域變化率β=0.08,感知半徑為10,決策半徑為10。領(lǐng)域值N(t)=6。本文算法采用的步長是式(6)、式(7)所示的自適應(yīng)步長。 PSO算法[11]的相關(guān)參數(shù)ω=0.6,c1=c2=2。為對于式(10)表示的線性被控對象,Kp,Kd位置范圍是[0,50],Ki位置范圍是[0,10];對于式(11)表示的二階慣性加滯后對象,其位置范圍全部是[0,10]。 分別用Z-N、PSO、本文算法作用于PID控制器,對于不同的四階線性對象和二階慣性滯后對象得到的PID整定參數(shù)對比如表1所示。 表1 PID整定參數(shù)結(jié)果 分別用Z-N、PSO、本文算法作用于PID控制器,對于四階線性被控對象得到的單位階躍響應(yīng)對比如圖2所示。 圖2 四階線性被控對象單位階躍響應(yīng)圖 由圖2和表1可以看出,本文算法得到的階躍響應(yīng)曲線與Z-N方法相比,無論是在超調(diào)量誤差、動態(tài)調(diào)整時(shí)間,還是上升時(shí)間都有較顯著的優(yōu)勢。與PSO算法相比,控制系統(tǒng)的超調(diào)量優(yōu)勢較明顯,并且在調(diào)整時(shí)間和上升時(shí)間方面也表現(xiàn)出一定的優(yōu)勢。由此可知,本文算法可以較明顯提高其系統(tǒng)魯棒性和抗干擾性能,以此達(dá)到良好的控制效果。 分別用Z-N、PSO、本文算法作用于PID控制器,對于二階慣性滯后被控對象得到的單位階躍響應(yīng)對比如圖3所示。 圖3 二階慣性滯后被控對象單位階躍響應(yīng)圖 由圖3和表1可以看出,本文算法對于慣性滯后的被控系統(tǒng),表現(xiàn)出了較大的優(yōu)勢。本文算法超調(diào)量比Z-N算法、PSO算法都有明顯的下降,調(diào)整時(shí)間明顯變快,使系統(tǒng)較快達(dá)到穩(wěn)態(tài),提高系統(tǒng)的穩(wěn)定性。所以本文算法對于工業(yè)生產(chǎn)過程中具有慣性滯后的被控對象具有很好的控制效果。 本文對于標(biāo)準(zhǔn)螢火蟲算法存在的迭代速度較慢,易陷入局部最優(yōu)等缺陷,提出了一種自適應(yīng)變步長的改進(jìn)的螢火蟲算法,并且把本文改進(jìn)的螢火蟲算法應(yīng)用到PID參數(shù)整定的過程中。采用MATLAB中的Simulink 環(huán)境進(jìn)行仿真實(shí)驗(yàn),與經(jīng)典的PID參數(shù)整定Z-N方法和智能PSO優(yōu)化方法進(jìn)行比較。實(shí)驗(yàn)證明,本文算法可以較好地提高系統(tǒng)的動態(tài)性能,得到良好的控制效果。 [1] Ziegler J G,Nichols N B.Optimum Settings for Automatic Controllers[J].Transactions of the A.s.m.e,1942,115(2B):759-768. [2] Rao R V,Savsani V,Vakharia D P.Teaching-learning based Optimization:A Novel Method for Constrained Mechanical Design Optimization Problems[J].Computer-aided Design,2011,43(3):303-315. [3] Huang P C,Tong L I,Chang W W,et al.A two-phase algorithm for product part change utilizing AHP and PSO[J].Expert Systems with Applications,2011,38(7):8458-8465. [4] Krishnanand K N,Ghose D.Detection of multiple source locations using a glowworm metaphor with applications to collective robotics[C]//Swarm Intelligence Symposium,2005.Sis 2005.Proceedings.IEEE Xplore,2005:84-91. [5] 曾冰,李明富,張翼.基于改進(jìn)螢火蟲算法的裝配序列規(guī)劃方法[J].計(jì)算機(jī)集成制造系統(tǒng),2014,49(11):799-806. [6] 郭麗萍,李向濤,谷文祥,等.改進(jìn)的螢火蟲算法求解阻塞流水線調(diào)度問題[J].智能系統(tǒng)學(xué)報(bào),2013,8(1):34-38. [7] 周麗娟,于雪晶,魏卓.基于螢火蟲群算法的網(wǎng)絡(luò)入侵優(yōu)化檢測算法[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2015,33(3):339-343. [8] 郁書好,楊善林,蘇守寶.一種改進(jìn)的變步長螢火蟲優(yōu)化算法[J].小型微型機(jī)計(jì)算機(jī)系統(tǒng),2014,35(6):1396-1399. [9] 周永權(quán),黃正新,劉洪霞.求解TSP問題的離散型螢火蟲群優(yōu)化算法[J].電子學(xué)報(bào),2012,40(6):1164-1170. [10] Molina D,Lozano M,Herrera F.MA-SW-Chains: Memetic algorithm based on local search chains for large scale continuous global optimization[C]//Evolutionary Computation.IEEE Xplore,2010:1-8. [11] 胡偉,徐福緣.基于改進(jìn)粒子群算法的PID控制器參數(shù)自整定[J].計(jì)算機(jī)應(yīng)用研究,2012,29(5):1791-1794. PID CONTROLLER PARAMETER OPTIMIZATION BASED ON IMPROVED GLOWWORM SWARM OPTIMIZATION Li Heng1Guo Xing1,2Li Wei1,2 1(KeyLaboratoryofICSP,MinistryofEducation,AnhuiUniversity,Hefei230039,Anhui,China)2(SchoolofComputerScienceandTechnology,AnhuiUniversity,Hefei230601,Anhui,China) PID controller parameter optimization is the core of contemporary feedback control system design. PID controller parameter optimization means that in the three parameter space domain to find the optimal solution, making the control system performance to achieve the best. In order to optimize the parameters of PID controller, the improved GSO with adaptive step size strategy is introduced. The algorithm is simulated by MATLAB, and compared with PSO and classical Z-N parameter tuning method. Experiments show that the algorithm has high precision and simple principle, and it can efficiently set the parameters of PID controller. Glowworm swarm optimization Adaptive step size PID controller PSO 2016-06-26。國家科技支撐計(jì)劃項(xiàng)目(2015BAK24B00)。李恒,碩士生,主研領(lǐng)域:智能計(jì)算與信號處理。郭星,博士。李煒,教授。 TP301.6 A 10.3969/j.issn.1000-386x.2017.07.0423 仿真實(shí)驗(yàn)
4 結(jié) 語