任久斌 曹中清
(西南交通大學機械工程學院 成都 610031)
PID 控制器具有結構簡單、實現方便、魯棒性強、可靠性高等特點[1~2],而且人們對它的控制原理和物理意義相當熟悉,使得其在工業控制領域得到廣泛使用。PID 控制器的性能取決于比例、積分、微分三個參數,因此,整定和優化PID 控制器參數具有重要的意義。相對于傳統費時費力的人工調整方法,目前出現了大量的基于自然啟發的智能優化算法,如遺傳算法(GA)、粒子群算法(PSO)、風驅動優化算法(WDO)等[3~8]。這些智能優化算法原理簡單、靈活性強,能夠解決大規模、非線性組合優化問題,但是當面對實際領域中存在的多種多樣的復雜優化問題時,也存在一定的不足,如算法收斂速度慢、收斂精度低,當種群規模較小時,容易陷入局部最優解,造成早熟收斂。針對PID 控制器參數優化問題,陳彬彬等[7]提出基于風驅動優化算法的方法,在收斂速度和精度上比遺傳算法和粒子群優化算法要好。
針對早熟收斂的問題,本文利用多個種群并行搜索的策略,提出一種基于多種群的風驅動優化算法(Multi-population Wind Driven Optimization,MW-DO)。通過種群之間的遷移操作保證群體之間的相互聯系,實現多個種群的協同進化,在進化的每一代通過選擇操作保存各個種群的歷史最優個體到精華種群中,同時將精華種群的最優個體保持代數作為衡量算法停止的依據。通過Matlab 對PID控制器參數優化過程進行仿真,并與標準的風驅動優化算法作比較,驗證了該算法的有效性和優越性。
風驅動優化算法(Wind Driven Optimization,WDO)是由Bayraktar 在2013 提出的一種基于種群的啟發式迭代搜索算法[9],該算法在求解全局優化問題時具有簡單易行和高效的特點。在地球表面,由于不同地區溫度差異造成了空氣密度的不同,進而導致大氣壓強的變化。氣壓的水平差異導致空氣以一定的速度從高壓區域流向低壓區域,以此來達到氣壓平衡的目的。
假設大氣中有一單位體積的空氣微團,其簡化后的牛頓第二運動定律和理想氣體狀態方程為

式中:ρ為氣體的密度,a為空氣微團的加速度,其大小為a= ΔuΔt,Δu為 Δt時間內速度的變化,Fi為作用在空氣微團上的力,P為大氣壓強,R為理想氣體常數,T為氣體溫度。
由空氣動力學知識可知,式(1)中的Fi主要包含了四種作用力[10~11],使得空氣微團以一定的速度向特定方向移動或者使其偏離現有路徑。這四種力分別是:氣壓梯度力(FPG)、摩擦力(FF)、重力(FG)和科里奧利力(FC)。氣壓梯度力是空氣微團運動的主要原因,控制空氣微團從高壓區域向低壓區域運動。摩擦力是由于空氣微團之間相互作用產生的,其方向與氣壓梯度力的方向相反。重力是空氣微團受地球的萬有引力作用引起的,其方向指向地心。科里奧利力是由于地球的旋轉而產生的,可以表示為地球旋轉角速度與空氣微團速度的矢量積。這四個力的簡化方程表示為

式中:-?P為氣壓梯度,負號表示的是梯度下降方向,δV為空氣微團的體積,這里假設δV=1,α為摩擦系數,u為空氣微團的運動速度,g為重力加速度,Ω為地球的旋轉角速度。令Δt=1,將式(3)~(6)代入式(1)后得:

將式(2)代入式(7)后得:

式中:Pcur為空氣微團當前所在的位置,速度的變化Δu=unew-ucur,其中ucur表示空氣微團當前迭代的速度,unew表示空氣微團下一次迭代的速度。將式(8)左右兩邊同時除以Pcur RT得:

在氣壓梯度力FPG的作用下,空氣微團從當前位置xcur向氣壓減小的位置xopt移動,可將氣壓梯度力簡化表示為?P= |Popt-Pcur|(xopt-xcur)。其中,Popt表示到目前為止找到的最優壓力值,Pcur表示當前位置的壓力值。將重力加速度矢量g改寫為g= |g|(0 -xcur),代入到式(9)中得:

科里奧利力可以用同一空氣微團其他任一維度的速度對當前維度的速度影響[12]簡化其他系數可以合并到單獨的一項c,即c=-2|Ω|RT,則式(10)可以改寫為

為了避免當壓力值較高的時候導致空氣微團的速度變得太大,從而降低WDO算法的性能,所以實際使用的是基于壓力值排序的方法[13],式(11)可以改寫為

式中:i代表所有空氣微團壓力值的升序排列次序,對于最優壓力值的排序為1。根據式(12)可以得出空氣微團的位置更新方程為

式中:xcur為空氣微團的當前位置,xnew為空氣微團下一次迭代的位置。為了簡單起見,假設Δt=1。
對與一般的優化問題,可以讓一組空氣微團以隨機速度從搜索空間中的隨機位置開始,在每次迭代過程中,利用式(12)和(13)調整每個空氣微團的速度和位置,所有空氣微團逐步向最優壓力值(即適應度值)移動,直到滿足最大迭代次數為止。
如同遺傳算法和粒子群算法一樣,風驅動優化算法也是一種基于群體的智能優化算法,種群的多樣性和早熟收斂問題息息相關[14~15]。標準的風驅動優化算法只有一個種群,當種群的規模較小時,若進化初期適應度較高的個體繁殖過快,會造成所有個體趨于同一狀態,使得算法的最終結果容易陷入局部最優。如果擴大種群的規模,勢必又會造成算法計算量的增加。為此,本文提出多種群競爭的方法,以改善標準風驅動優化算法的性能。
多種群風驅動優化算法(MWDO)的結構示意圖如圖1所示。

圖1 MWDO算法的結構示意圖
多種群風驅動優化算法在標準風驅動優化算法的基礎上引入了多個種群同時進行優化搜索,不同的種群彼此間相互獨立,僅通過遷移操作進行聯系。在進化的每一代,遷移操作是將源種群中出現的最優個體引入到目標種群中,替換目標種群中的最差個體,實現種群之間的信息交換。在完成所有種群間的遷移操作后,通過選擇操作選擇出各個種群的最優個體,并分別與精華種群中它們各自的歷史最優值作比較,然后更新精華種群,作為下一代選擇操作時各個種群的歷史最優。此外,選擇精華種群中最優個體保持不變的代數作為終止判據,與標準風驅動優化算法以最大迭代次數作為終止判據相比,可以有效地避免因最大進化代數選擇不當而造成的問題未收斂到全局最優。
基于MWDO的PID參數整定原理如圖2所示。

圖2 基于MWDO的PID參數整定原理
PID 控制器的優化問題就是確定一組合適的參數Kp、Ki、Kd,使得性能指標(即適應度)達到最優,這里選擇的性能指標是ITAE指標,其定義為

用于PID參數整定的MWDO算法流程如下。
1)隨機初始化K個種群中所有空氣微團的位置和速度,每個種群大小為M×N;初始化精華種群,其大小為K×N;初始化精華種群的最優個體保持不變的最大代數Maxgen,將當前保持不變的代數gen初始化為0。
2)根據式(14)計算所有種群中每個空氣微團的適應度值。
3)對每個種群中所有空氣微團進行適應度值升序排序。
4)根據適應度值對所有種群進行遷移操作。
5)對遷移操作后的所有種群進行選擇操作,更新精華種群。
6)記錄精華種群的最優個體,若最優個體的適應度值發生改變,則將gen置零;否則,gen=gen+1。
7)若gen小于 Maxgen,則根據式(12)和(13)對所有種群中的空氣微團進行速度和位置更新,并返回步驟2);否則,終止算法并輸出結果。
為了驗證MWDO 算法對PID 控制器參數整定性能的影響,選擇以下不穩定系統作為本次實驗的被控對象。

在 Matlab 的 Simulink 環境[16]下建立的模型如圖3所示。
分別采用 GA、PSO、WDO 和 MWDO 算法對以上系統進行仿真,設置的種群規模均為M=40,三個待優化參數Kp、Ki、Kd的范圍均為[0,300],維度為N=3。GA算法的參數設置:最大遺傳代數為100,交叉概率為px=0.7,變異概率為pm= 0.01,代溝為Ggap=0.95。PSO算法的參數設置為:最大進化代數為100,學習因子c1=c2=2。WDO 算法的參數設置:RT=1.5,g=0.65,α=0.85,c=3.6,最大進化代數為100。MWDO 算法的參數設置:RT=1.5 ,g=0.65 ,α=0.85 ,c=3.6 ,種群數為K=5 ,精華種群最優個體的最大保持代數為Maxgen=50。WDO 算法和MWDO 算法的空氣微團在搜索時的最大速度為1。輸入信號采用單位階躍信號,采樣時間間隔設置為0.001s,仿真時間為10s。
利用 GA、PSO、WDO 和 MWDO 算法分別進行PID 參數整定,得到它們各自的適應度值變化過程曲線如圖4 所示,對優化后的PID 控制器輸入單位階躍信號,得到它們的階躍響應曲線如圖5所示。
從圖4 中可以看出,WDO 算法比GA 算法和PSO 算法的收斂速度快、收斂精度高,但僅僅只是收斂到局部最優解,而改進后的MWDO 算法在收斂速度和收斂精度上改善程度更大,并且能夠收斂到全局最優解,大約只需要進化54 代就能夠使得ITAE 性能指標達到0.61655。從圖5 中可以看出,經由MWDO算法優化后的PID控制器,其階躍響應的超調量得到明顯的抑制,調整時間較其他三種算法更短,可見,MWDO 算法優化后的PID 控制器對控制對象具有更好的控制效果。

圖5 階躍響應曲線
WDO 算法是一種新興的基于自然啟發的群智能優化算法,該算法原理簡單、全局搜索能力強,但存在局部搜索能力弱、容易陷入局部最優的缺點。為了改善標準WDO 算法的性能,本文提出了一種MWDO 算法。該算法在標準風驅動優化算法的基礎上,利用多個種群同時對解空間進行協同搜索,兼顧了算法全局搜索和局部搜索能力的均衡,對未成熟收斂的抑制具有明顯的效果。通過將其應用到PID 控制器的參數整定當中,并與GA、PSO、WDO 算法作比較。仿真結果表明,MWDO 算法具有更好的控制精度和收斂速度,由MWDO 設計出的最優PID 控制器Kp、Ki、Kd選擇合理,驗證了改進算法的有效性和優越性。