劉智城,楊向宇
(華南理工大學(xué) 電力學(xué)院,廣東 廣州 510640)
生物學(xué)家研究發(fā)現(xiàn),螞蟻在覓食過程中會留下一種分泌物,即信息素,也稱外激素。螞蟻在運(yùn)動過程中能感知這種物質(zhì)的存在及其濃度,并進(jìn)行路徑的選擇,同時會在所經(jīng)過的路徑上釋放信息素。信息素的濃度隨時間慢慢揮發(fā),因此在相同時間內(nèi),從巢穴到食物源所走的路徑越短,信息素殘留的濃度就越高,再次被螞蟻選中的概率就越大。蟻群的集體行為構(gòu)成了一種學(xué)習(xí)信息的正反饋機(jī)制,即通過個體之間的信息交流與相互協(xié)作最終找到最優(yōu)解。蟻群算法包含兩個基本階段:適應(yīng)階段和協(xié)作階段。在適應(yīng)階段,各候選解根據(jù)積累的信息不斷調(diào)整自身結(jié)構(gòu)。在協(xié)作階段,候選解之間通過信息交流,以期望產(chǎn)生性能更好的解[1]。
在蟻群優(yōu)化算法中,一個有限規(guī)模的人工螞蟻群體,可以相互協(xié)作地搜索用于解決優(yōu)化問題的較優(yōu)解。每只螞蟻根據(jù)問題所給的準(zhǔn)則,從被選的初始狀態(tài)出發(fā),建立一個可行解,或是解的一個組成部分。在建立問題的解決方案時,每只螞蟻都收集關(guān)于問題特征和自身行為規(guī)則的信息。螞蟻既能獨(dú)立工作,又能共同行動,顯示了一種相互協(xié)作的行為。它們通過信息素進(jìn)行信息的交換。每只人工螞蟻都能夠找到一個解,但很可能是較差解。蟻群的所有個體建立起很多不同的解決方案,再通過相互協(xié)作找出高質(zhì)量的解[2]。人工螞蟻并不試圖完全模擬真實的螞蟻,但其具有真實螞蟻所沒有的能力,如:人工螞蟻有記憶所經(jīng)歷路徑的能力;能夠存儲螞蟻過去的信息,以便于攜帶有用的信息用于生成解決方案的優(yōu)劣度,控制解決方案。例如,在TSP問題中,利用螞蟻的記憶,可以將螞蟻走過的城市置于一個禁忌表中,來禁止螞蟻重復(fù)走過這些城市,進(jìn)而滿足TSP問題的約束條件[1][3]。
在基本蟻群算法中,人工螞蟻的行為可以描述為:人工螞蟻通過相互的協(xié)作,在所求問題的解中搜索可行解,人工螞蟻按照人工信息素濃度的大小和基于問題的啟發(fā)式信息,在問題空間移動來構(gòu)造可行解。在此,信息素類似于一種分布時的長期記憶,這種記憶全局地分布于整個問題的解空間中。當(dāng)人工螞蟻在問題空間中移動時,在經(jīng)過的路徑上留下信息素,這些信息素反映了人工螞蟻在問題空間覓食過程中的經(jīng)歷[4]。人工螞蟻在解空間中逐步移動從而構(gòu)造問題解,同時它們根據(jù)解的質(zhì)量在其路徑上留下相應(yīng)的濃度信息素。蟻群中的其他螞蟻傾向于沿著信息素濃度大的路徑前進(jìn),同樣螞蟻在這些路徑上留下自己的信息素,從而形成一種正反饋形式的強(qiáng)化學(xué)習(xí)機(jī)制,來指引蟻群找到高質(zhì)量的問題解。蟻群算法還應(yīng)包括另外一種機(jī)制,即信息素的揮發(fā),螞蟻走過路徑上的信息素隨著時間不斷揮發(fā),驅(qū)使螞蟻搜索解空間中新的領(lǐng)域,避免求解過程過早地收斂于局部最優(yōu)解[5]。蟻群算法必須有運(yùn)行停止標(biāo)準(zhǔn),即所求解達(dá)到預(yù)定的條件后,算法停止繼續(xù)求解。流程圖如圖1所示,其中NC為迭代次數(shù)。
圖1 基本蟻群算法流程圖
PID控制器系統(tǒng)的原理圖如圖2所示。
圖2 PID控制原理圖
其中:r(t)為輸入量,u(t)為控制量,y(t)為輸出量,e(t)為輸入與輸出之間的偏差量,即e(t)=r(t)-y(t)。連續(xù)時,控制量與偏差量滿足:
(1)
離散時,控制量與偏差量滿足如下差分方程和增量形式[1]:
(2)
(3)
式中:u(n)為本次控制量,e(n)為本次誤差,TI為積分時間常數(shù),TD為微分時間常數(shù),Kp為比例系數(shù),T為采樣周期。
在采樣周期已知的情況下,PID控制器只有3個參數(shù)需要確定,即:Kp、TI和TD,使某一控制性能達(dá)到最佳。
蟻群算法優(yōu)化PID參數(shù)的過程:
(4)
一次遍歷結(jié)束后,對每只螞蟻走過的路徑進(jìn)行評價[6]。首先求得對應(yīng)的解,求解式為:
(5)
xi=(xiH-xiL)ei+xiL
(6)
再求取相應(yīng)的目標(biāo)函數(shù)。然后記錄下當(dāng)前的最佳路徑。接下來對各只螞蟻所經(jīng)歷路徑上的信息素進(jìn)行更新,即:
(7)
為了加強(qiáng)最佳路徑對螞蟻行為的影響,需要對其信息素進(jìn)行強(qiáng)化,即:
信息素更新完成后,進(jìn)入下一次遍歷,直到達(dá)到最大遍歷次數(shù)NC為止。最后,輸出在歷次遍歷過程中所選出的最佳路徑所對應(yīng)的解。
蟻群算法尋優(yōu)簡單,魯棒性強(qiáng),是一種效率很高的優(yōu)化算法,它不依賴于數(shù)學(xué)模型,使處理問題更具有適應(yīng)性、魯棒性。
對于一些復(fù)雜的實際系統(tǒng),用分?jǐn)?shù)階微積分建模要比整數(shù)階模型更準(zhǔn)確,對于分?jǐn)?shù)階模型則需要分?jǐn)?shù)階控制器來提高控制效果。分?jǐn)?shù)階PID控制器由于多了2個參數(shù),增加了控制的靈活度,對于分?jǐn)?shù)階系統(tǒng)的控制具有較好的效果,且對于整數(shù)階系統(tǒng)的控制,也具有一定的控制效果[7-8]。
整數(shù)階PID 控制器的傳遞函數(shù)描述為:
(8)
式中:U(s)為控制器的輸出;E(s)為控制器的誤差輸入。將式(8)中的微分和積分項的階次推廣到分?jǐn)?shù),即可得分?jǐn)?shù)階PID控制器的傳遞函數(shù)[2]。
(9)
式(9)中,當(dāng)λ=μ=1時,Gf(s)就變?yōu)檎麛?shù)階PID控制器的傳遞函數(shù),因此整數(shù)階PID控制器是分?jǐn)?shù)階PID控制器的特殊形式。分?jǐn)?shù)階PID所對應(yīng)的時間域方程可以表示為:
u(t)=Kpe(t)+KiD-λe(t)+KdDμe(t)
(10)
式中D-λ、D-μ為分?jǐn)?shù)階微分算子。
從式(9)、式(10)可以看出,相比傳統(tǒng)PID 3個參數(shù)的整定來說,分?jǐn)?shù)階PID控制器的整定參數(shù)有5個,比整數(shù)階控制器多了2個自由度,即:微分器和積分器的階次,因此分?jǐn)?shù)階PID更具有靈活性,能更加靈活的控制受控對象,可以得到更好的控制效果[9-10]。
某真空感應(yīng)爐溫度控制系統(tǒng)為二階慣性環(huán)節(jié),其傳遞函數(shù)為:
其中:τ1、τ2為真空感應(yīng)爐溫度控制系統(tǒng)的時間常數(shù),K為控制系統(tǒng)的比例系數(shù)。
當(dāng)τ1=12s、τ2=10s、K=1 000時,其傳遞函數(shù)為:
為獲取滿意的控制效果,采用時間乘絕對誤差積分準(zhǔn)則(ITAE)作為目標(biāo)函數(shù),這種準(zhǔn)則能反映控制系統(tǒng)的快速性和精確性,具有較小的超調(diào)量和較快的響應(yīng)速度,即目標(biāo)函數(shù)為:
式中,e(t)為系統(tǒng)誤差,ts為SIMULINK仿真時間。
蟻群算法中使用的城市個數(shù)City=30,路徑數(shù)Path=10,螞蟻個數(shù)Antsize=40,信息素殘留系數(shù)取ρ1=0.8,ρ2=1.0,總遍歷次數(shù)取NC=20。
在應(yīng)用蟻群算法進(jìn)行優(yōu)化時,為了避免所選取參數(shù)優(yōu)化范圍過大,考慮實際控制條件限制的前提下,先按經(jīng)驗選取一組較好的參數(shù),然后再根據(jù)這組參數(shù)確定參數(shù)優(yōu)化范圍,利于節(jié)約計算量。本案例參數(shù)尋優(yōu)范圍為:KP∈[0,120]、KI∈[0,0.1]、Kd∈[0,0.1]、λ∈[0,1]、μ∈[0,1]。由于螞蟻路徑的選取是以隨機(jī)概率選取的,因此每次運(yùn)行的結(jié)果都不一樣,有差異,可多運(yùn)行幾次,選取控制效果最好的一組參數(shù)作為尋優(yōu)結(jié)果。
PID控制器優(yōu)化參數(shù)為:KP=110.771 2、KI=0.038 35、Kd=0.011 844,最優(yōu)參數(shù)所對應(yīng)的目標(biāo)函數(shù)值為:J=1.53×10-6。
分?jǐn)?shù)階PID控制器優(yōu)化參數(shù)為:KP=119.927 5、KI=0.065 5、Kd=0.032,λ=0.462、μ=0.145 5,最優(yōu)參數(shù)所對應(yīng)的目標(biāo)函數(shù)值為:J=1.229 3×10-6。
采用優(yōu)化整定后的PID控制階躍響應(yīng)和分?jǐn)?shù)階PID控制階躍響應(yīng)對比圖如圖3所示。
圖3 PID控制和分?jǐn)?shù)階PID控制階躍響應(yīng)對比圖
在0.025s~0.03s加入干擾信號后,采用優(yōu)化整定后的PID控制階躍響應(yīng)和分?jǐn)?shù)階PID控制階躍響應(yīng)的對比圖如圖4所示。
圖4 干擾影響下的PID控制和分?jǐn)?shù)階PID控制階躍響應(yīng)對比圖
由圖3-圖4可知(黑白印刷有疑問可咨詢作者),基于蟻群算法優(yōu)化后,PID控制階躍響應(yīng)無超調(diào),調(diào)節(jié)時間短,響應(yīng)速度快;相比PID控制,分?jǐn)?shù)階PID控制階躍響應(yīng)無超調(diào),調(diào)節(jié)時間更短,響應(yīng)速度更快,目標(biāo)函數(shù)的值更小。有干擾的情況下,相比PID控制,分?jǐn)?shù)階PID控制的抗干擾能力更強(qiáng),魯棒性更好。
通過仿真分析對比可知,基于蟻群算法優(yōu)化的整數(shù)階PID控制器比傳統(tǒng)PID控制器具有更優(yōu)的性能;基于蟻群算法優(yōu)化的分?jǐn)?shù)階PID控制器相對于基于蟻群算法優(yōu)化的整數(shù)階PID控制器具有更短的調(diào)節(jié)時間,也沒有超調(diào),且響應(yīng)速度更快。