姜蘇英
(寶雞文理學(xué)院電子電氣工程學(xué)院,陜西 寶雞 721013)
實(shí)際系統(tǒng)中很多是分?jǐn)?shù)階的[1],如加熱系統(tǒng)、粘彈性系統(tǒng)等,對(duì)于這些分?jǐn)?shù)階系統(tǒng),如果采用傳統(tǒng)的PID控制算法控制效果不是很理想,必須使用分?jǐn)?shù)階控制器對(duì)這類系統(tǒng)進(jìn)行控制,才能滿足需要。分?jǐn)?shù)階PIλDμ控制器由著名學(xué)者I.Podlubny教授提出,由于該控制器引入了微積分階次λ和μ,因此多了2個(gè)可調(diào)參數(shù),控制器的設(shè)計(jì)變得更加靈活,控制效果有所提高,但是控制器參數(shù)整定的難度也有所增加。近年來,分?jǐn)?shù)階PIλDμ控制器應(yīng)用越來越廣泛,因此PIλDμ控制器參數(shù)的整定與優(yōu)化也成了控制界重點(diǎn)關(guān)注的課題。
很多學(xué)者在分?jǐn)?shù)階PID控制器參數(shù)的整定方面做了大量研究,并取得了一定的研究成果,如文獻(xiàn)[2]提出了一種基于給定相位裕量和幅值裕量整定分?jǐn)?shù)階PIλDμ控制器參數(shù)的方法,該方法有效地實(shí)現(xiàn)了控制器參數(shù)的整定,但是該算法有點(diǎn)復(fù)雜;文獻(xiàn)[3-5]基于伯德理想傳遞函數(shù)討論了分?jǐn)?shù)階PIλDμ的設(shè)計(jì)。上述方法均可以實(shí)現(xiàn)對(duì)控制器參數(shù)的整定,但是算法的實(shí)現(xiàn)都比較復(fù)雜。
還有很多學(xué)者使用優(yōu)化算法,如遺傳算法(GA)、PSO算法等整定PIλDμ控制器參數(shù)。文獻(xiàn)[6]提出一種使用GA算法對(duì)PIλDμ的參數(shù)進(jìn)行整定,但是該算法本身具有一定的局限性,如GA算法需要復(fù)制、交叉、變異操作,迭代過程復(fù)雜,因此整定的參數(shù)有時(shí)無法達(dá)到最優(yōu);文獻(xiàn)[7]提出采用PSO算法解決PIλDμ參數(shù)的優(yōu)化設(shè)計(jì)問題。PSO算法由美國學(xué)者J.Kennedy和R.C.Eberhart于1995年提出,該算法的基本思想是:隨機(jī)初始化一群沒有體積沒有質(zhì)量的粒子,將每個(gè)粒子看作優(yōu)化問題的一個(gè)可行解,粒子的好壞由一個(gè)事先設(shè)定好的適應(yīng)度函數(shù)來決定。每個(gè)粒子將在可行解空間中運(yùn)動(dòng),并由一個(gè)速度變量決定其方向和距離。通常粒子將追隨當(dāng)前的最優(yōu)粒子,并經(jīng)逐代搜索最后得到最優(yōu)解。在該算法的每一次迭代過程中,粒子都將追蹤2個(gè)極值,即粒子本身能找到的最優(yōu)解和整個(gè)群體能找到的最優(yōu)解。在這種情況下,種群中粒子的多樣性會(huì)逐漸減小,種群會(huì)很快在自身和全局近優(yōu)點(diǎn)附近陷入局部最優(yōu),也就是說該算法容易陷入局部最優(yōu)解。因此,使用傳統(tǒng)PSO算法整定PIλDμ控制器的參數(shù)不一定是最優(yōu)參數(shù)。
針對(duì)上述問題,本文提出一種基于細(xì)菌趨化的改進(jìn)粒子群算法的分?jǐn)?shù)階PIλDμ參數(shù)優(yōu)化方法。該方法主要思想是:將細(xì)菌趨化現(xiàn)象中的吸引與排斥轉(zhuǎn)換操作引入帶收縮因子的粒子群優(yōu)化算法中,得到一種改進(jìn)PSOPB算法,并使用該算法設(shè)計(jì)分?jǐn)?shù)階PIλDμ控制器的參數(shù),使系統(tǒng)的魯棒性更強(qiáng)。最后,以某加熱系統(tǒng)為對(duì)象,進(jìn)行仿真研究,仿真結(jié)果表明使用該算法整定分?jǐn)?shù)階PIλDμ參數(shù)更簡潔,且系統(tǒng)的魯棒性更好。
分?jǐn)?shù)階PIλDμ控制器的傳遞函數(shù)為:
(1)
式(1)中,Kp、Ki、Kd分別為比例、積分、微分增益;λ、μ分別為積分階次和微分階次。
本文的分?jǐn)?shù)階微積分算子均采用Oustaloup濾波器逼近。在[wb,wh]頻段內(nèi)實(shí)現(xiàn)分?jǐn)?shù)階微分算子sα的近似,則逼近表達(dá)式為[8-11]:
(2)
其中,N為非負(fù)整數(shù),且:
(3)
(4)
(5)
由式(1)可以看出,當(dāng)λ、μ為0和1的不同組合時(shí),即為傳統(tǒng)的P、PI、PD、PID控制器。這些類型的PID控制器都是分?jǐn)?shù)階PIλDμ的某一個(gè)特殊情況。分?jǐn)?shù)階PIλDμ控制器比傳統(tǒng)PID控制器多了λ、μ這2個(gè)參數(shù)。通過合理地選擇PIλDμ控制器的5個(gè)參數(shù),可以提高系統(tǒng)的控制效果。為了使控制器的參數(shù)盡可能地趨于最優(yōu),控制效果盡可能最好,本文提出一種使用基于細(xì)菌趨化的改進(jìn)粒子群算法優(yōu)化分?jǐn)?shù)階PIλDμ控制器參數(shù)的方法。
為了提高PSO算法的搜索能力,M.Clerc在SPSO算法中引入收縮因子,提出了帶收縮因子的粒子群優(yōu)化算法,在該算法中用收縮因子取代SPSO算法中的慣性權(quán)重。
設(shè)在N維搜索空間中,由m個(gè)粒子構(gòu)成一個(gè)種群。第i個(gè)粒子的當(dāng)前位置為Xi=(xi1,xi2,…,xiN)T,粒子的飛行速度為Vi=(vi1,vi2,…,viN)T,該粒子所經(jīng)歷的最優(yōu)位置為Pi=[pi1,pi2,…,piN]T,種群的全局最優(yōu)位置為Pg=[pg1,pg2,…,pgN]T,那么第i個(gè)粒子根據(jù)式(6)、式(7)更新自己的速度和位置[12-16]。
(6)
(7)
式(6)中K為收縮因子,由式(8)決定。
(8)
帶收縮因子的PSO算法能更有效地控制約束粒子的飛行速度,增強(qiáng)算法局部搜索能力。但是,在帶收縮因子的PSO算法中,每個(gè)粒子在飛行過程中都向自己的歷史最優(yōu)位置和群體最優(yōu)位置靠近,這樣,種群的多樣性會(huì)失去,種群極易陷入自身及局部最優(yōu)[17],因此,該算法和SPSO算法一樣容易陷入局部最優(yōu)解。鑒于此,本文提出一種在確保PSO算法多樣性的同時(shí)不改變算法收斂速度及避免早熟收斂的方法。
本文從生物學(xué)角度研究帶收縮因子的PSO算法因多樣性丟失而陷入局部最優(yōu)的問題。趨化是細(xì)菌群體的一種常見的生物行為。趨化機(jī)制可以使細(xì)菌個(gè)體趨向有利于自身生長的環(huán)境,而逃避不利的生長環(huán)境。本文將細(xì)菌趨化現(xiàn)象中的吸引與排斥機(jī)制引入帶收縮因子的PSO算法中,提出基于細(xì)菌趨化的改進(jìn)PSO算法。
在基于細(xì)菌趨化的改進(jìn)PSO算法中,吸引操作定義為每個(gè)粒子向自身的最優(yōu)位置與群體最優(yōu)靠近,粒子速度按式(6)更新。
排斥操作規(guī)定為逃離粒子的歷史最差位置與群體最差位置,粒子的速度按式(9)更新:
vid=K(vid-R1c1(Wid-xid)-R2c2(Wgd-xid))
(9)
式(9)中,Wid表示粒子的歷史最差位置;Wgd表示群體最差位置。
因此,在基于細(xì)菌趨化的改進(jìn)PSO算法中,粒子的行為既受到最優(yōu)位置的影響,也受到最差位置的影響。在該改進(jìn)PSO算法中,粒子被前面的最優(yōu)位置和自身的最優(yōu)位置吸引,同時(shí)也被自身歷史最差位置和群體最差位置所排斥。當(dāng)粒子受到當(dāng)前最差位置排斥時(shí),粒子向較好區(qū)域飛行的可能性更大,更有可能找到更好的位置。在改進(jìn)PSO算法中,當(dāng)算法為吸引操作時(shí),多樣性會(huì)逐漸失去,當(dāng)算法為排斥操作時(shí),多樣性會(huì)逐漸增加。
為了確保吸引操作及排斥操作在任何情況下執(zhí)行,本文使用一種多樣性控制方法。多樣性的度量公式[18]如下:
(10)
對(duì)于種群的多樣性,可以設(shè)定一個(gè)范圍dlow和dhigh,當(dāng)種群的多樣性小于dlow時(shí),基于細(xì)菌趨化的改進(jìn)PSO算法就會(huì)轉(zhuǎn)入排斥操作機(jī)制,從而增加種群的多樣性;當(dāng)種群多樣性大于dhigh時(shí),該算法轉(zhuǎn)入吸引操作機(jī)制,從而使種群的多樣性減少。通過這種策略使種群的多樣性在一個(gè)范圍內(nèi),不至于太大,也不至于太小,從而保證粒子能在最短的時(shí)間內(nèi)找到最優(yōu)位置。
本文選取時(shí)間與誤差平方乘積的積分(ISTE)函數(shù)作為優(yōu)化指標(biāo)。采用基于細(xì)菌趨化的改進(jìn)PSO算法整定PIλDμ控制器的5個(gè)參數(shù),具體步驟如下:
1)初始化各類參數(shù)。根據(jù)本文情況設(shè)置以下參數(shù):種群規(guī)模S,學(xué)習(xí)因子c1、c2,粒子維度D,粒子速度范圍[vmin,vmax],多樣性閾值范圍[dlow,dhigh],最大迭代次數(shù)tmax,收斂精度ξ,隨機(jī)給定粒子的最初位置與速度。
2)設(shè)置當(dāng)前迭代次數(shù)t=0,當(dāng)前模式為吸引操作,對(duì)每個(gè)粒子i執(zhí)行如下操作。
3)根據(jù)適應(yīng)度函數(shù)即本文優(yōu)化指標(biāo),計(jì)算粒子的適應(yīng)度函數(shù)值。
7)更新個(gè)體最優(yōu)位置和群體最優(yōu)位置,個(gè)體最差位置和群體最差位置。
8)若當(dāng)前迭代次數(shù)達(dá)到了預(yù)先設(shè)定的最大次數(shù)tmax,或最終結(jié)果小于預(yù)先設(shè)定的收斂精度ξ要求,則停止迭代,輸出最優(yōu)解,否則轉(zhuǎn)到步驟3。
為了驗(yàn)證本文算法的有效性,本文選取某加熱系統(tǒng)為研究對(duì)象進(jìn)行仿真研究。該加熱系統(tǒng)主要由2個(gè)部分組成,即鋼制管道和熱電模塊,其中管道中的物料是均勻放置的,本文只考慮一種物料的情況。
管道上縱向位置Z處的溫度與加熱源處熱通量的動(dòng)態(tài)關(guān)系如式(11)所示[19]:
(11)
其中,T(s,z)為系統(tǒng)輸出,H(s,0)為系統(tǒng)輸入。k=0.8209,a=33.0597,z=0.2623,α=0.7779。
通過階躍響應(yīng)辨識(shí)法,對(duì)式(11)進(jìn)行降階[19]:
(12)
其中,模型參數(shù)K=0.589,T=44.085,L=19.237,β=0.797。
以上述加熱系統(tǒng)為對(duì)象,使用分?jǐn)?shù)階PIλDμ控制器對(duì)其控制,控制器的參數(shù)通過文中改進(jìn)粒子群優(yōu)化算法整定。
采用改進(jìn)粒子群算法優(yōu)化PIλDμ控制器的參數(shù),仿真過程參數(shù)設(shè)置如下:種群規(guī)模為100;最大迭代次數(shù)為100;收斂精度為0.001;慣性權(quán)重wstart=0.9,wend=0.4;學(xué)習(xí)因子c1、c2的最大值和最小值一致,分別為cmax=2.5,cmin=0.5;搜索空間Kp∈[0.001,5],Ki∈[0.001,5],kd∈[0.001,5],λ∈[0.05,2],μ∈[0.001,2];多樣性閾值范圍dlow=0.25,dhigh=0.35。
為了驗(yàn)證本文算法的有效性,分別使用GA、SPSO算法、本文改進(jìn)算法來優(yōu)化PIλDμ控制器的5個(gè)參數(shù)。為了確保對(duì)比的公平性,仿真過程中,各種算法的搜索空間保持一致。同時(shí),為了消除算法隨機(jī)性的影響,每個(gè)算法獨(dú)立運(yùn)行20次,取20次優(yōu)化結(jié)果的平均值作為控制器的最終參數(shù)。分別使用這3種算法得到的控制器,對(duì)本文加熱系統(tǒng)進(jìn)行控制,系統(tǒng)的時(shí)間乘以誤差絕對(duì)值積分指標(biāo)及各算法運(yùn)行20次所得平均最優(yōu)適應(yīng)值如表1所示,系統(tǒng)的單位階躍響應(yīng)曲線如圖1所示。
表1 各算法的結(jié)果
算法平均適應(yīng)值ITAEGA46952.041892SPSO35614.082651本文算法28480.591531
由表1可知,使用本文算法整定控制器參數(shù),最優(yōu)適應(yīng)度函數(shù)值的平均值最?。皇褂帽疚乃惴ǖ玫降目刂破鲗?duì)系統(tǒng)進(jìn)行控制,系統(tǒng)的ITAE指標(biāo)最小,因此,使用本文算法整定控制器參數(shù),系統(tǒng)誤差更小。
圖1 3種算法相應(yīng)速度對(duì)比
由圖1明顯可見,當(dāng)使用SPSO算法、遺傳算法優(yōu)化控制器參數(shù)時(shí),系統(tǒng)響應(yīng)曲線有較大的超調(diào),使用本文算法優(yōu)化控制器參數(shù),系統(tǒng)超調(diào)極小??芍?dāng)使用本文算法得到的控制器對(duì)系統(tǒng)進(jìn)行控制時(shí),系統(tǒng)能更快進(jìn)入穩(wěn)態(tài),系統(tǒng)響應(yīng)度快,調(diào)節(jié)時(shí)間短。
圖2 對(duì)象參數(shù)增大時(shí)響應(yīng)曲線對(duì)比
圖3 對(duì)象參數(shù)減小時(shí)響應(yīng)曲線對(duì)比
當(dāng)被控對(duì)象增益、時(shí)間常數(shù)及時(shí)滯均增大或減小20%時(shí),控制器參數(shù)不變,系統(tǒng)響應(yīng)曲線分別如圖2、圖3所示。由圖2可知,當(dāng)被控對(duì)象參數(shù)增大時(shí),使用SPSO、GA算法,系統(tǒng)超調(diào)較大,而使用本文算法系統(tǒng)超調(diào)量很小。由圖3可知,當(dāng)被控對(duì)象參數(shù)減小時(shí),使用SPSO、GA算法,系統(tǒng)有超調(diào),但使用本文算法系統(tǒng)沒有超調(diào)量。綜上所述,當(dāng)被控對(duì)象的參數(shù)攝動(dòng)時(shí),使用本文算法得到的控制器對(duì)系統(tǒng)進(jìn)行控制,系統(tǒng)響應(yīng)曲線波動(dòng)小,比較穩(wěn)定,本文算法控制效果更好,因此本文算法的魯棒性更好。
由于分?jǐn)?shù)階PIλDμ控制器有5個(gè)參數(shù),且各個(gè)參數(shù)之間有一定的耦合性,因此整定時(shí)比較復(fù)雜。如果使用試湊法,有時(shí)控制器參數(shù)無法達(dá)到最優(yōu),并且比較費(fèi)時(shí)間;如果使用SPSO算法,由于粒子容易陷入局部最優(yōu)解,所以優(yōu)化得到的控制器參數(shù)可能不是最優(yōu)解。由于存在上述問題,因此本文使用一種基于細(xì)菌趨化的改進(jìn)粒子群算法對(duì)PIλDμ控制器參數(shù)進(jìn)行優(yōu)化整定,使控制器參數(shù)的調(diào)整變得簡單。然后,以加熱系統(tǒng)為對(duì)象,使用分?jǐn)?shù)階PIλDμ控制器對(duì)其控制,分別使用SPSO算法、GA、本文方法優(yōu)化控制器參數(shù),并進(jìn)行仿真研究。仿真結(jié)果表明,與SPSO算法和遺傳算法相比,使用基于細(xì)菌趨化的改進(jìn)粒子群算法得到的分?jǐn)?shù)階PIλDμ控制器,可使系統(tǒng)的動(dòng)態(tài)性能更好,同時(shí)還保證了系統(tǒng)的魯棒性。