任久斌 曹中清
(西南交通大學(xué)機(jī)械工程學(xué)院 成都 610031)
PID 控制器具有結(jié)構(gòu)簡(jiǎn)單、實(shí)現(xiàn)方便、魯棒性強(qiáng)、可靠性高等特點(diǎn)[1~2],而且人們對(duì)它的控制原理和物理意義相當(dāng)熟悉,使得其在工業(yè)控制領(lǐng)域得到廣泛使用。PID 控制器的性能取決于比例、積分、微分三個(gè)參數(shù),因此,整定和優(yōu)化PID 控制器參數(shù)具有重要的意義。相對(duì)于傳統(tǒng)費(fèi)時(shí)費(fèi)力的人工調(diào)整方法,目前出現(xiàn)了大量的基于自然啟發(fā)的智能優(yōu)化算法,如遺傳算法(GA)、粒子群算法(PSO)、風(fēng)驅(qū)動(dòng)優(yōu)化算法(WDO)等[3~8]。這些智能優(yōu)化算法原理簡(jiǎn)單、靈活性強(qiáng),能夠解決大規(guī)模、非線性組合優(yōu)化問(wèn)題,但是當(dāng)面對(duì)實(shí)際領(lǐng)域中存在的多種多樣的復(fù)雜優(yōu)化問(wèn)題時(shí),也存在一定的不足,如算法收斂速度慢、收斂精度低,當(dāng)種群規(guī)模較小時(shí),容易陷入局部最優(yōu)解,造成早熟收斂。針對(duì)PID 控制器參數(shù)優(yōu)化問(wèn)題,陳彬彬等[7]提出基于風(fēng)驅(qū)動(dòng)優(yōu)化算法的方法,在收斂速度和精度上比遺傳算法和粒子群優(yōu)化算法要好。
針對(duì)早熟收斂的問(wèn)題,本文利用多個(gè)種群并行搜索的策略,提出一種基于多種群的風(fēng)驅(qū)動(dòng)優(yōu)化算法(Multi-population Wind Driven Optimization,MW-DO)。通過(guò)種群之間的遷移操作保證群體之間的相互聯(lián)系,實(shí)現(xiàn)多個(gè)種群的協(xié)同進(jìn)化,在進(jìn)化的每一代通過(guò)選擇操作保存各個(gè)種群的歷史最優(yōu)個(gè)體到精華種群中,同時(shí)將精華種群的最優(yōu)個(gè)體保持代數(shù)作為衡量算法停止的依據(jù)。通過(guò)Matlab 對(duì)PID控制器參數(shù)優(yōu)化過(guò)程進(jìn)行仿真,并與標(biāo)準(zhǔn)的風(fēng)驅(qū)動(dòng)優(yōu)化算法作比較,驗(yàn)證了該算法的有效性和優(yōu)越性。
風(fēng)驅(qū)動(dòng)優(yōu)化算法(Wind Driven Optimization,WDO)是由Bayraktar 在2013 提出的一種基于種群的啟發(fā)式迭代搜索算法[9],該算法在求解全局優(yōu)化問(wèn)題時(shí)具有簡(jiǎn)單易行和高效的特點(diǎn)。在地球表面,由于不同地區(qū)溫度差異造成了空氣密度的不同,進(jìn)而導(dǎo)致大氣壓強(qiáng)的變化。氣壓的水平差異導(dǎo)致空氣以一定的速度從高壓區(qū)域流向低壓區(qū)域,以此來(lái)達(dá)到氣壓平衡的目的。
假設(shè)大氣中有一單位體積的空氣微團(tuán),其簡(jiǎn)化后的牛頓第二運(yùn)動(dòng)定律和理想氣體狀態(tài)方程為
式中:ρ為氣體的密度,a為空氣微團(tuán)的加速度,其大小為a= ΔuΔt,Δu為 Δt時(shí)間內(nèi)速度的變化,F(xiàn)i為作用在空氣微團(tuán)上的力,P為大氣壓強(qiáng),R為理想氣體常數(shù),T為氣體溫度。
由空氣動(dòng)力學(xué)知識(shí)可知,式(1)中的Fi主要包含了四種作用力[10~11],使得空氣微團(tuán)以一定的速度向特定方向移動(dòng)或者使其偏離現(xiàn)有路徑。這四種力分別是:氣壓梯度力(FPG)、摩擦力(FF)、重力(FG)和科里奧利力(FC)。氣壓梯度力是空氣微團(tuán)運(yùn)動(dòng)的主要原因,控制空氣微團(tuán)從高壓區(qū)域向低壓區(qū)域運(yùn)動(dòng)。摩擦力是由于空氣微團(tuán)之間相互作用產(chǎn)生的,其方向與氣壓梯度力的方向相反。重力是空氣微團(tuán)受地球的萬(wàn)有引力作用引起的,其方向指向地心。科里奧利力是由于地球的旋轉(zhuǎn)而產(chǎn)生的,可以表示為地球旋轉(zhuǎn)角速度與空氣微團(tuán)速度的矢量積。這四個(gè)力的簡(jiǎn)化方程表示為
式中:-?P為氣壓梯度,負(fù)號(hào)表示的是梯度下降方向,δV為空氣微團(tuán)的體積,這里假設(shè)δV=1,α為摩擦系數(shù),u為空氣微團(tuán)的運(yùn)動(dòng)速度,g為重力加速度,Ω為地球的旋轉(zhuǎn)角速度。令Δt=1,將式(3)~(6)代入式(1)后得:
將式(2)代入式(7)后得:
式中:Pcur為空氣微團(tuán)當(dāng)前所在的位置,速度的變化Δu=unew-ucur,其中ucur表示空氣微團(tuán)當(dāng)前迭代的速度,unew表示空氣微團(tuán)下一次迭代的速度。將式(8)左右兩邊同時(shí)除以Pcur RT得:
在氣壓梯度力FPG的作用下,空氣微團(tuán)從當(dāng)前位置xcur向氣壓減小的位置xopt移動(dòng),可將氣壓梯度力簡(jiǎn)化表示為?P= |Popt-Pcur|(xopt-xcur)。其中,Popt表示到目前為止找到的最優(yōu)壓力值,Pcur表示當(dāng)前位置的壓力值。將重力加速度矢量g改寫(xiě)為g= |g|(0 -xcur),代入到式(9)中得:
科里奧利力可以用同一空氣微團(tuán)其他任一維度的速度對(duì)當(dāng)前維度的速度影響[12]簡(jiǎn)化其他系數(shù)可以合并到單獨(dú)的一項(xiàng)c,即c=-2|Ω|RT,則式(10)可以改寫(xiě)為
為了避免當(dāng)壓力值較高的時(shí)候?qū)е驴諝馕F(tuán)的速度變得太大,從而降低WDO算法的性能,所以實(shí)際使用的是基于壓力值排序的方法[13],式(11)可以改寫(xiě)為
式中:i代表所有空氣微團(tuán)壓力值的升序排列次序,對(duì)于最優(yōu)壓力值的排序?yàn)?。根據(jù)式(12)可以得出空氣微團(tuán)的位置更新方程為
式中:xcur為空氣微團(tuán)的當(dāng)前位置,xnew為空氣微團(tuán)下一次迭代的位置。為了簡(jiǎn)單起見(jiàn),假設(shè)Δt=1。
對(duì)與一般的優(yōu)化問(wèn)題,可以讓一組空氣微團(tuán)以隨機(jī)速度從搜索空間中的隨機(jī)位置開(kāi)始,在每次迭代過(guò)程中,利用式(12)和(13)調(diào)整每個(gè)空氣微團(tuán)的速度和位置,所有空氣微團(tuán)逐步向最優(yōu)壓力值(即適應(yīng)度值)移動(dòng),直到滿足最大迭代次數(shù)為止。
如同遺傳算法和粒子群算法一樣,風(fēng)驅(qū)動(dòng)優(yōu)化算法也是一種基于群體的智能優(yōu)化算法,種群的多樣性和早熟收斂問(wèn)題息息相關(guān)[14~15]。標(biāo)準(zhǔn)的風(fēng)驅(qū)動(dòng)優(yōu)化算法只有一個(gè)種群,當(dāng)種群的規(guī)模較小時(shí),若進(jìn)化初期適應(yīng)度較高的個(gè)體繁殖過(guò)快,會(huì)造成所有個(gè)體趨于同一狀態(tài),使得算法的最終結(jié)果容易陷入局部最優(yōu)。如果擴(kuò)大種群的規(guī)模,勢(shì)必又會(huì)造成算法計(jì)算量的增加。為此,本文提出多種群競(jìng)爭(zhēng)的方法,以改善標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)優(yōu)化算法的性能。
多種群風(fēng)驅(qū)動(dòng)優(yōu)化算法(MWDO)的結(jié)構(gòu)示意圖如圖1所示。
圖1 MWDO算法的結(jié)構(gòu)示意圖
多種群風(fēng)驅(qū)動(dòng)優(yōu)化算法在標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)優(yōu)化算法的基礎(chǔ)上引入了多個(gè)種群同時(shí)進(jìn)行優(yōu)化搜索,不同的種群彼此間相互獨(dú)立,僅通過(guò)遷移操作進(jìn)行聯(lián)系。在進(jìn)化的每一代,遷移操作是將源種群中出現(xiàn)的最優(yōu)個(gè)體引入到目標(biāo)種群中,替換目標(biāo)種群中的最差個(gè)體,實(shí)現(xiàn)種群之間的信息交換。在完成所有種群間的遷移操作后,通過(guò)選擇操作選擇出各個(gè)種群的最優(yōu)個(gè)體,并分別與精華種群中它們各自的歷史最優(yōu)值作比較,然后更新精華種群,作為下一代選擇操作時(shí)各個(gè)種群的歷史最優(yōu)。此外,選擇精華種群中最優(yōu)個(gè)體保持不變的代數(shù)作為終止判據(jù),與標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)優(yōu)化算法以最大迭代次數(shù)作為終止判據(jù)相比,可以有效地避免因最大進(jìn)化代數(shù)選擇不當(dāng)而造成的問(wèn)題未收斂到全局最優(yōu)。
基于MWDO的PID參數(shù)整定原理如圖2所示。
圖2 基于MWDO的PID參數(shù)整定原理
PID 控制器的優(yōu)化問(wèn)題就是確定一組合適的參數(shù)Kp、Ki、Kd,使得性能指標(biāo)(即適應(yīng)度)達(dá)到最優(yōu),這里選擇的性能指標(biāo)是ITAE指標(biāo),其定義為
用于PID參數(shù)整定的MWDO算法流程如下。
1)隨機(jī)初始化K個(gè)種群中所有空氣微團(tuán)的位置和速度,每個(gè)種群大小為M×N;初始化精華種群,其大小為K×N;初始化精華種群的最優(yōu)個(gè)體保持不變的最大代數(shù)Maxgen,將當(dāng)前保持不變的代數(shù)gen初始化為0。
2)根據(jù)式(14)計(jì)算所有種群中每個(gè)空氣微團(tuán)的適應(yīng)度值。
3)對(duì)每個(gè)種群中所有空氣微團(tuán)進(jìn)行適應(yīng)度值升序排序。
4)根據(jù)適應(yīng)度值對(duì)所有種群進(jìn)行遷移操作。
5)對(duì)遷移操作后的所有種群進(jìn)行選擇操作,更新精華種群。
6)記錄精華種群的最優(yōu)個(gè)體,若最優(yōu)個(gè)體的適應(yīng)度值發(fā)生改變,則將gen置零;否則,gen=gen+1。
7)若gen小于 Maxgen,則根據(jù)式(12)和(13)對(duì)所有種群中的空氣微團(tuán)進(jìn)行速度和位置更新,并返回步驟2);否則,終止算法并輸出結(jié)果。
為了驗(yàn)證MWDO 算法對(duì)PID 控制器參數(shù)整定性能的影響,選擇以下不穩(wěn)定系統(tǒng)作為本次實(shí)驗(yàn)的被控對(duì)象。
在 Matlab 的 Simulink 環(huán)境[16]下建立的模型如圖3所示。
分別采用 GA、PSO、WDO 和 MWDO 算法對(duì)以上系統(tǒng)進(jìn)行仿真,設(shè)置的種群規(guī)模均為M=40,三個(gè)待優(yōu)化參數(shù)Kp、Ki、Kd的范圍均為[0,300],維度為N=3。GA算法的參數(shù)設(shè)置:最大遺傳代數(shù)為100,交叉概率為px=0.7,變異概率為pm= 0.01,代溝為Ggap=0.95。PSO算法的參數(shù)設(shè)置為:最大進(jìn)化代數(shù)為100,學(xué)習(xí)因子c1=c2=2。WDO 算法的參數(shù)設(shè)置:RT=1.5,g=0.65,α=0.85,c=3.6,最大進(jìn)化代數(shù)為100。MWDO 算法的參數(shù)設(shè)置:RT=1.5 ,g=0.65 ,α=0.85 ,c=3.6 ,種群數(shù)為K=5 ,精華種群最優(yōu)個(gè)體的最大保持代數(shù)為Maxgen=50。WDO 算法和MWDO 算法的空氣微團(tuán)在搜索時(shí)的最大速度為1。輸入信號(hào)采用單位階躍信號(hào),采樣時(shí)間間隔設(shè)置為0.001s,仿真時(shí)間為10s。
利用 GA、PSO、WDO 和 MWDO 算法分別進(jìn)行PID 參數(shù)整定,得到它們各自的適應(yīng)度值變化過(guò)程曲線如圖4 所示,對(duì)優(yōu)化后的PID 控制器輸入單位階躍信號(hào),得到它們的階躍響應(yīng)曲線如圖5所示。
從圖4 中可以看出,WDO 算法比GA 算法和PSO 算法的收斂速度快、收斂精度高,但僅僅只是收斂到局部最優(yōu)解,而改進(jìn)后的MWDO 算法在收斂速度和收斂精度上改善程度更大,并且能夠收斂到全局最優(yōu)解,大約只需要進(jìn)化54 代就能夠使得ITAE 性能指標(biāo)達(dá)到0.61655。從圖5 中可以看出,經(jīng)由MWDO算法優(yōu)化后的PID控制器,其階躍響應(yīng)的超調(diào)量得到明顯的抑制,調(diào)整時(shí)間較其他三種算法更短,可見(jiàn),MWDO 算法優(yōu)化后的PID 控制器對(duì)控制對(duì)象具有更好的控制效果。
圖5 階躍響應(yīng)曲線
WDO 算法是一種新興的基于自然啟發(fā)的群智能優(yōu)化算法,該算法原理簡(jiǎn)單、全局搜索能力強(qiáng),但存在局部搜索能力弱、容易陷入局部最優(yōu)的缺點(diǎn)。為了改善標(biāo)準(zhǔn)WDO 算法的性能,本文提出了一種MWDO 算法。該算法在標(biāo)準(zhǔn)風(fēng)驅(qū)動(dòng)優(yōu)化算法的基礎(chǔ)上,利用多個(gè)種群同時(shí)對(duì)解空間進(jìn)行協(xié)同搜索,兼顧了算法全局搜索和局部搜索能力的均衡,對(duì)未成熟收斂的抑制具有明顯的效果。通過(guò)將其應(yīng)用到PID 控制器的參數(shù)整定當(dāng)中,并與GA、PSO、WDO 算法作比較。仿真結(jié)果表明,MWDO 算法具有更好的控制精度和收斂速度,由MWDO 設(shè)計(jì)出的最優(yōu)PID 控制器Kp、Ki、Kd選擇合理,驗(yàn)證了改進(jìn)算法的有效性和優(yōu)越性。