劉智城,楊向宇
(華南理工大學 電力學院,廣東 廣州 510640)
生物學家研究發現,螞蟻在覓食過程中會留下一種分泌物,即信息素,也稱外激素。螞蟻在運動過程中能感知這種物質的存在及其濃度,并進行路徑的選擇,同時會在所經過的路徑上釋放信息素。信息素的濃度隨時間慢慢揮發,因此在相同時間內,從巢穴到食物源所走的路徑越短,信息素殘留的濃度就越高,再次被螞蟻選中的概率就越大。蟻群的集體行為構成了一種學習信息的正反饋機制,即通過個體之間的信息交流與相互協作最終找到最優解。蟻群算法包含兩個基本階段:適應階段和協作階段。在適應階段,各候選解根據積累的信息不斷調整自身結構。在協作階段,候選解之間通過信息交流,以期望產生性能更好的解[1]。
在蟻群優化算法中,一個有限規模的人工螞蟻群體,可以相互協作地搜索用于解決優化問題的較優解。每只螞蟻根據問題所給的準則,從被選的初始狀態出發,建立一個可行解,或是解的一個組成部分。在建立問題的解決方案時,每只螞蟻都收集關于問題特征和自身行為規則的信息。螞蟻既能獨立工作,又能共同行動,顯示了一種相互協作的行為。它們通過信息素進行信息的交換。每只人工螞蟻都能夠找到一個解,但很可能是較差解。蟻群的所有個體建立起很多不同的解決方案,再通過相互協作找出高質量的解[2]。人工螞蟻并不試圖完全模擬真實的螞蟻,但其具有真實螞蟻所沒有的能力,如:人工螞蟻有記憶所經歷路徑的能力;能夠存儲螞蟻過去的信息,以便于攜帶有用的信息用于生成解決方案的優劣度,控制解決方案。例如,在TSP問題中,利用螞蟻的記憶,可以將螞蟻走過的城市置于一個禁忌表中,來禁止螞蟻重復走過這些城市,進而滿足TSP問題的約束條件[1][3]。
在基本蟻群算法中,人工螞蟻的行為可以描述為:人工螞蟻通過相互的協作,在所求問題的解中搜索可行解,人工螞蟻按照人工信息素濃度的大小和基于問題的啟發式信息,在問題空間移動來構造可行解。在此,信息素類似于一種分布時的長期記憶,這種記憶全局地分布于整個問題的解空間中。當人工螞蟻在問題空間中移動時,在經過的路徑上留下信息素,這些信息素反映了人工螞蟻在問題空間覓食過程中的經歷[4]。人工螞蟻在解空間中逐步移動從而構造問題解,同時它們根據解的質量在其路徑上留下相應的濃度信息素。蟻群中的其他螞蟻傾向于沿著信息素濃度大的路徑前進,同樣螞蟻在這些路徑上留下自己的信息素,從而形成一種正反饋形式的強化學習機制,來指引蟻群找到高質量的問題解。蟻群算法還應包括另外一種機制,即信息素的揮發,螞蟻走過路徑上的信息素隨著時間不斷揮發,驅使螞蟻搜索解空間中新的領域,避免求解過程過早地收斂于局部最優解[5]。蟻群算法必須有運行停止標準,即所求解達到預定的條件后,算法停止繼續求解。流程圖如圖1所示,其中NC為迭代次數。

圖1 基本蟻群算法流程圖
PID控制器系統的原理圖如圖2所示。

圖2 PID控制原理圖
其中:r(t)為輸入量,u(t)為控制量,y(t)為輸出量,e(t)為輸入與輸出之間的偏差量,即e(t)=r(t)-y(t)。連續時,控制量與偏差量滿足:
(1)
離散時,控制量與偏差量滿足如下差分方程和增量形式[1]:
(2)
(3)
式中:u(n)為本次控制量,e(n)為本次誤差,TI為積分時間常數,TD為微分時間常數,Kp為比例系數,T為采樣周期。
在采樣周期已知的情況下,PID控制器只有3個參數需要確定,即:Kp、TI和TD,使某一控制性能達到最佳。
蟻群算法優化PID參數的過程:

(4)
一次遍歷結束后,對每只螞蟻走過的路徑進行評價[6]。首先求得對應的解,求解式為:
(5)
xi=(xiH-xiL)ei+xiL
(6)

再求取相應的目標函數。然后記錄下當前的最佳路徑。接下來對各只螞蟻所經歷路徑上的信息素進行更新,即:
(7)

為了加強最佳路徑對螞蟻行為的影響,需要對其信息素進行強化,即:
信息素更新完成后,進入下一次遍歷,直到達到最大遍歷次數NC為止。最后,輸出在歷次遍歷過程中所選出的最佳路徑所對應的解。
蟻群算法尋優簡單,魯棒性強,是一種效率很高的優化算法,它不依賴于數學模型,使處理問題更具有適應性、魯棒性。
對于一些復雜的實際系統,用分數階微積分建模要比整數階模型更準確,對于分數階模型則需要分數階控制器來提高控制效果。分數階PID控制器由于多了2個參數,增加了控制的靈活度,對于分數階系統的控制具有較好的效果,且對于整數階系統的控制,也具有一定的控制效果[7-8]。
整數階PID 控制器的傳遞函數描述為:
(8)
式中:U(s)為控制器的輸出;E(s)為控制器的誤差輸入。將式(8)中的微分和積分項的階次推廣到分數,即可得分數階PID控制器的傳遞函數[2]。
(9)
式(9)中,當λ=μ=1時,Gf(s)就變為整數階PID控制器的傳遞函數,因此整數階PID控制器是分數階PID控制器的特殊形式。分數階PID所對應的時間域方程可以表示為:
u(t)=Kpe(t)+KiD-λe(t)+KdDμe(t)
(10)
式中D-λ、D-μ為分數階微分算子。
從式(9)、式(10)可以看出,相比傳統PID 3個參數的整定來說,分數階PID控制器的整定參數有5個,比整數階控制器多了2個自由度,即:微分器和積分器的階次,因此分數階PID更具有靈活性,能更加靈活的控制受控對象,可以得到更好的控制效果[9-10]。
某真空感應爐溫度控制系統為二階慣性環節,其傳遞函數為:
其中:τ1、τ2為真空感應爐溫度控制系統的時間常數,K為控制系統的比例系數。
當τ1=12s、τ2=10s、K=1 000時,其傳遞函數為:
為獲取滿意的控制效果,采用時間乘絕對誤差積分準則(ITAE)作為目標函數,這種準則能反映控制系統的快速性和精確性,具有較小的超調量和較快的響應速度,即目標函數為:

式中,e(t)為系統誤差,ts為SIMULINK仿真時間。
蟻群算法中使用的城市個數City=30,路徑數Path=10,螞蟻個數Antsize=40,信息素殘留系數取ρ1=0.8,ρ2=1.0,總遍歷次數取NC=20。
在應用蟻群算法進行優化時,為了避免所選取參數優化范圍過大,考慮實際控制條件限制的前提下,先按經驗選取一組較好的參數,然后再根據這組參數確定參數優化范圍,利于節約計算量。本案例參數尋優范圍為:KP∈[0,120]、KI∈[0,0.1]、Kd∈[0,0.1]、λ∈[0,1]、μ∈[0,1]。由于螞蟻路徑的選取是以隨機概率選取的,因此每次運行的結果都不一樣,有差異,可多運行幾次,選取控制效果最好的一組參數作為尋優結果。
PID控制器優化參數為:KP=110.771 2、KI=0.038 35、Kd=0.011 844,最優參數所對應的目標函數值為:J=1.53×10-6。
分數階PID控制器優化參數為:KP=119.927 5、KI=0.065 5、Kd=0.032,λ=0.462、μ=0.145 5,最優參數所對應的目標函數值為:J=1.229 3×10-6。
采用優化整定后的PID控制階躍響應和分數階PID控制階躍響應對比圖如圖3所示。

圖3 PID控制和分數階PID控制階躍響應對比圖
在0.025s~0.03s加入干擾信號后,采用優化整定后的PID控制階躍響應和分數階PID控制階躍響應的對比圖如圖4所示。

圖4 干擾影響下的PID控制和分數階PID控制階躍響應對比圖
由圖3-圖4可知(黑白印刷有疑問可咨詢作者),基于蟻群算法優化后,PID控制階躍響應無超調,調節時間短,響應速度快;相比PID控制,分數階PID控制階躍響應無超調,調節時間更短,響應速度更快,目標函數的值更小。有干擾的情況下,相比PID控制,分數階PID控制的抗干擾能力更強,魯棒性更好。
通過仿真分析對比可知,基于蟻群算法優化的整數階PID控制器比傳統PID控制器具有更優的性能;基于蟻群算法優化的分數階PID控制器相對于基于蟻群算法優化的整數階PID控制器具有更短的調節時間,也沒有超調,且響應速度更快。