陳春霞,孫祥娥
(長江大學(xué)電子信息學(xué)院,湖北 荊州,434024)
模糊PID控制器因融合了模糊控制優(yōu)良的動態(tài)性能和PID控制器良好的穩(wěn)定性能而得到廣泛應(yīng)用,根據(jù)所應(yīng)用的系統(tǒng)不同,通常采用比例、積分、微分3個控制規(guī)律中的全部或部分構(gòu)成3種不同的控制器,即模糊P+I+D控制器(FPID)、模糊P+I控制器(FPI)和模糊P+D控制器(FPD)。模糊PID控制器的性能與輸入量化因子、輸出比例因子、隸屬函數(shù)以及模糊控制規(guī)則等參數(shù)的選擇密切相關(guān),而參數(shù)間的相互影響使模糊PID控制器的參數(shù)整定相比于傳統(tǒng)PID控制器更為復(fù)雜。到目前為止,也沒有特別好的適用于模糊PID參數(shù)整定的指導(dǎo)性方法。
隨著智能優(yōu)化算法的發(fā)展,其在PID控制器參數(shù)整定領(lǐng)域的應(yīng)用已成為一個研究熱點(diǎn)[1-5]。其中,差分進(jìn)化(Differential Evolution,DE)算法因結(jié)構(gòu)簡單、待定參數(shù)少,在求解非線性、不可微、多極值和高維復(fù)雜函數(shù)時表現(xiàn)出較強(qiáng)的全局收斂能力和魯棒性而受到青睞,并在PID參數(shù)優(yōu)化整定中得到成功應(yīng)用[6-8]。然而,差分進(jìn)化算法仍然存在以下問題:進(jìn)化后期的種群多樣性急劇下降,全局搜索能力被削弱,導(dǎo)致算法極易陷入局部最優(yōu)而早熟收斂[9]。為此,研究者提出了一系列針對變異策略、變異因子和交叉因子的改進(jìn)差分進(jìn)化算法[10-12],提高了算法的應(yīng)用性能。
本文提出一種基于雙變異策略協(xié)同工作的自適應(yīng)差分進(jìn)化算法(簡稱為DSDE)。該算法將經(jīng)典差分進(jìn)化算法中的DE/target-to-best/1和DE/rand/2兩種變異策略各自生成的變異個體通過一個標(biāo)量權(quán)重因子組合成新的個體,并采用隨當(dāng)前迭代次數(shù)變化的正弦函數(shù)來動態(tài)調(diào)整該權(quán)重因子,同時采用Z型函數(shù)根據(jù)當(dāng)前迭代次數(shù)動態(tài)調(diào)整變異因子,使得算法在“開發(fā)”和“探索”之間達(dá)到一個良好的平衡,在一定程度上提高算法的收斂速度和搜索精度。然后,將該算法應(yīng)用于模糊PI控制器的參數(shù)整定,并通過仿真實(shí)驗(yàn)來驗(yàn)證其優(yōu)越性。
差分進(jìn)化算法是一種基于群體差異的智能優(yōu)化算法,其包括初始化、變異、交叉和選擇4個基本步驟。
(1)初始化。根據(jù)式(1)在解空間隨機(jī)產(chǎn)生一個初始種群:
(1)
(2)變異操作。在初始種群中隨機(jī)選擇若干與當(dāng)前個體xi(t)互不相同的個體xp1(t)、xp2(t)、xp3(t)、…,根據(jù)不同策略進(jìn)行變異操作,生成新的個體hi(t+1)。差分進(jìn)化算法常用的5種變異策略如下:
①DE/rand/1:
hi(t+1)=xp1(t)+F(xp2(t)-xp3(t))
(2)
②DE/best/1:
hi(t+1)=xbest(t)+F(xp1(t)-xp2(t))
(3)
③DE/target-to-best/1:
hi(t+1)=xi(t)+F(xbest(t)-xi(t))+
F(xp1(t)-xp2(t))
(4)
④DE/best/2:
hi(t+1)=xbest(t)+F(xp1(t)-xp2(t))+
F(xp3(t)-xp4(t))
(5)
⑤DE/rand/2:
hi(t+1)=xp1(t)+F(xp2(t)-xp3(t))+
F(xp4(t)-xp5(t))
(6)
式(2)~式(6)中:t為當(dāng)前迭代次數(shù);xbest(t)為當(dāng)前最優(yōu)個體;F為變異因子。
(3)交叉操作。根據(jù)式(7)將hi(t+1)和xi(t)按照一定的交叉概率進(jìn)行交叉操作,產(chǎn)生試驗(yàn)個體vi(t+1):
(7)
式中:下標(biāo)j代表個體向量的第j維分量;CR為交叉概率因子。
(4)選擇操作。按式(8)將試驗(yàn)個體與目標(biāo)個體基于適應(yīng)度函數(shù)進(jìn)行比較,確定進(jìn)入下一代的個體:
xi(t+1)=
(8)
式中:f(·)為適應(yīng)度函數(shù)。
按以上步驟進(jìn)行迭代,直至最大進(jìn)化代數(shù)或滿足其他停止進(jìn)化條件。
大多數(shù)基于群體的搜索算法都試圖在算法的全局探索能力和局部開發(fā)能力之間取得平衡[13]。對于差分進(jìn)化算法而言,一種有效的方法是通過選擇合理的變異策略來實(shí)現(xiàn)。
在差分進(jìn)化算法的5種變異策略中,DE/target-to-best/1策略因所有個體在進(jìn)化過程中都朝著適應(yīng)度值最好的個體進(jìn)化,使得算法更快地收斂于最優(yōu)值,有利于提高算法的局部開發(fā)能力;而DE/rand/2策略因基礎(chǔ)向量的隨機(jī)性以及采用兩個向量差進(jìn)行變異,增強(qiáng)了算法的全局探索能力。
有別于傳統(tǒng)DE算法通常選取一種策略進(jìn)行變異操作,本文采用雙變異策略協(xié)同工作,在進(jìn)化過程中使用DE/rand/2和DE/target-to-best/1兩種變異策略各產(chǎn)生一個變異向量,并采用基于當(dāng)前迭代次數(shù)的正弦函數(shù)動態(tài)調(diào)整加權(quán)因子ω,將兩個向量線性組合成最終的變異個體向量。具體計算過程如式(9)~式(12)所示:
F(xp4(t)-xp5(t))
(9)
F(xp1(t)-xp2(t))
(10)
(11)
(12)
式(11)中:tmax為最大進(jìn)化代數(shù)。
變異因子F是差分進(jìn)化算法的重要參數(shù),它控制著種群的多樣性和收斂性。進(jìn)化過程中,F(xiàn)值較小時,群體的多樣性減小,算法極易陷入局部極值而過早收斂;F值較大時,群體的多樣性增加,算法雖然容易跳出局部極值,但收斂速度會減慢。標(biāo)準(zhǔn)差分進(jìn)化算法中F一般在[0,2]區(qū)間取一個固定值,這種取值方法不能充分發(fā)揮變異因子在不同進(jìn)化階段的作用。為此,本文采用隨迭代次數(shù)的增加而減小的Z型函數(shù)對變異因子F進(jìn)行動態(tài)調(diào)整,計算公式如下:
(13)
F(t)=Fmin+α(t)(Fmax-Fmin)
(14)
式中:Fmax和Fmin分別為變異因子的上限和下限。
結(jié)合式(9)~式(12)可知,在進(jìn)化初期,種群多樣性較高,F(xiàn)取較大值有利于種群朝著最優(yōu)解進(jìn)化的同時還能保持其多樣性;在進(jìn)化后期,算法逐漸收斂,F(xiàn)取較小值有利于在最佳區(qū)域周圍進(jìn)行搜索的同時適當(dāng)提高種群多樣性,從而提高算法的收斂速度和搜索精度。
DSDE算法的具體流程如圖1所示。
圖1 DSDE算法流程
如圖2所示,本文研究的模糊調(diào)諧PI控制器由模糊控制器和PI控制器組成。模糊控制器首先將偏差e、偏差變化ec通過量化因子Ke和Kec變換成模糊量E和EC,然后根據(jù)模糊規(guī)則對模糊輸入量進(jìn)行模糊推理得到模糊控制量,最后乘以相應(yīng)的比例因子,輸出到PI控制器,對其比例系數(shù)和積分系數(shù)進(jìn)行在線修改。
圖2 模糊PI控制器結(jié)構(gòu)
然而,模糊調(diào)諧PI控制器的控制效果很大程度上取決于輸入量化因子、輸出比例因子、隸屬函數(shù)和模糊規(guī)則的選擇,其中輸入量化因子和輸出比例因子是影響全局的參數(shù)。為此,本文通過DSDE算法對模糊PI控制器參數(shù)進(jìn)行整定優(yōu)化,將Ke、Kec、Kup、Kui這4個參數(shù)構(gòu)成一個4維向量,進(jìn)行浮點(diǎn)數(shù)編碼,組成差分進(jìn)化算法的個體向量。以常用的系統(tǒng)性能指標(biāo)函數(shù)ITAE(時間乘絕對偏差積分)作為DSDE算法的適應(yīng)度函數(shù)。
在MATLAB環(huán)境下,采用某二階系統(tǒng)作為仿真對象,其傳遞函數(shù)如下:
(15)
首先設(shè)定DSDE參數(shù):種群規(guī)模通常為問題空間維度的5~10倍,種群數(shù)越大,種群多樣性越豐富,獲得最優(yōu)解概率越大,但是計算時間更長,本文問題空間維度為4,為節(jié)省計算量,取種群數(shù)為維度的5倍,即NP=20;變異因子下限Fmin=0.1、上限Fmax=2;交叉概率因子CR=0.6;最大迭代次數(shù)tmax=50;個體各個維度分量的尋優(yōu)范圍均設(shè)為[0.001,2]。仿真開始時給系統(tǒng)施加一個階躍輸入信號,采樣時間ts=0.001 s,仿真時長為1 s。
經(jīng)過DSDE算法針對上述系統(tǒng)進(jìn)行FPI控制器的參數(shù)整定優(yōu)化,得到最優(yōu)控制器參數(shù)為Ke=1.03、Kec=0.001、Kup=1.897、Kui=0.05,控制系統(tǒng)性能指標(biāo)ITAE值為3.667。
圖3為DSDE算法優(yōu)化得到的性能指標(biāo)ITAE變化曲線。由圖3可以看出,ITAE值在進(jìn)化過程中不斷減小,DSDE算法收斂速度較快,且在進(jìn)化后期仍然具有較強(qiáng)的探索能力,在第44步時收斂到最優(yōu)值。
為了驗(yàn)證DSDE算法在FPI參數(shù)整定中的優(yōu)越性,將本文DSDE-FPI與傳統(tǒng)FPI、采用標(biāo)準(zhǔn)差分進(jìn)化算法進(jìn)行參數(shù)整定的DE-FPI以及基于文獻(xiàn)[8]中自適應(yīng)變異PID參數(shù)整定的AMDE-FPI進(jìn)行仿真對比分析,得到二階系統(tǒng)(式(15))的階躍響應(yīng)曲線如圖4所示,部分性能指標(biāo)(調(diào)節(jié)時間ts、峰值時間tp、超調(diào)量δ)如表1所示。
圖3 ITAE指標(biāo)變化曲線
圖4 系統(tǒng)階躍響應(yīng)曲線
Table 1 Comparison of performance indexes of different control methods
控制方法ts/stp/sδ/%FPI0.2650.2286.16DE-FPI0.0690.1401.13AMDE-FPI0.0930.2200.57DSDE-FPI0.0640.1390.69
由表1可知:從這3項(xiàng)指標(biāo)來看,DSDE-FPI均優(yōu)于FPI和DE-FPI,并且DSDE-FPI的超調(diào)量比DE-FPI的超調(diào)量降低了38.9%;與AMDE-FPI相比,雖然DSDE-FPI的超調(diào)量大了0.12個百分點(diǎn),但調(diào)節(jié)時間和峰值時間分別減少了31.2%和36.8%。綜合來看,與FPI、DE-FPI及AMDE-FPI控制相比較,DSDE-FPI控制具有比較明顯的優(yōu)勢。
本文提出了一種基于雙變異策略協(xié)同工作的差分進(jìn)化算法DSDE。該算法選用有助于提升局部開發(fā)能力的DE/target-to-best/1變異策略以及有助于提升全局探索能力的DE/rand/2變異策略,在進(jìn)化過程中同時生成兩個變異個體,并采用隨進(jìn)化代數(shù)變化的權(quán)重因子ω將兩個變異個體線性組合成一個新的個體,同時還采用隨進(jìn)化代數(shù)變化的Z型函數(shù)對變異因子F進(jìn)行動態(tài)調(diào)節(jié)。在進(jìn)化初期種群多樣性較好的情況下,其朝著最優(yōu)解進(jìn)化的同時搜索范圍也得到有效擴(kuò)大;在進(jìn)化后期算法收斂的情況下,種群在最佳區(qū)域周圍進(jìn)行搜索的同時也能適當(dāng)提高多樣性。從本文算法在以某二階模型為被控對象的模糊PI參數(shù)整定中的應(yīng)用效果來看,與FPI,DE-FPI、AMDE-FPI控制器相比,DSDE-FPI控制器在考慮超調(diào)量、調(diào)節(jié)時間和峰值時間3個主要指標(biāo)的綜合性能上優(yōu)勢明顯。