周建新,黃劍雄
(華北理工大學電氣工程學院,河北 唐山 063210)
蟻群算法自20世紀90年代提出以來就一直是控制科學領域研究的熱點課題。然而,由于傳統蟻群算法自身存在缺陷,對控制系統難以直接應用,為此近年來不少專家學者對蟻群算法進行改進來解決這一問題。唐立等人提出了一種改進蟻群算法對無人機進行路徑規劃,其通過泰森多邊形構造初始解,并加入約束條件,研究發現此算法使螞蟻搜索路徑長度更短,收斂速度更快[1]。王曉燕等人提出了一種改進勢場蟻群算法對機器人進行路徑規劃,通過引入啟發信息遞減系數和初始信息素不均衡分配原則,并設置迭代閾值,研究表明該方法提高了算法的搜索效率[2]。喻鍇等人利用遺傳算法對蟻群算法的參數進行優化,并應用優化后的蟻群算法去調節PID控制器的參數,研究表明蟻群算法參數優化后,系統的穩定性和魯棒性明顯加強[3]。
雖然PID神經網絡對于某些復雜的控制系統可以產生較好的控制效果,但傳統的PID神經網絡需要大量時間進行學習,并需要對其權值進行反復修正。針對這一問題,將智能算法與PID神經網絡結合,能夠達到較好的控制效果。杜永等人提出了一種將遺傳算法與PID神經網絡相結合的方法,其仿真研究表明當被控對象的參數產生變化時,系統也能夠保持系統的動態和靜態特性,提高了系統的魯棒性[4];黃曉萍等人采用粒子群算法對PID神經網絡進行優化,研究發現該方法不僅克服了神經網絡的缺陷,還提高了控制精度和響應速度[5];孫浩水等人將模糊算法與神經網絡相結合建立模糊神經網絡模型,并采用免疫算法對參數進行整定,其研究表明該算法降低了控制系統的穩態誤差,控制效果較好[6]。
上述研究雖然能夠解決復雜系統的部分控制問題,但是對于PID神經網絡控制器的優化仍然存在局限性。因此,本文采用改進蟻群免疫算法對PID神經網絡的權值進行優化,利用改進蟻群免疫算法收斂速度快的優點,使其盡快搜索到PID神經網絡的最優權值,以減少PID神經網絡的尋優時間。該方法能有效縮短PID神經網絡控制器達到穩態所需時間并減小超調量,因此其具有一定的理論研究和實際應用的價值。
蟻群算法主要是對螞蟻的覓食行為進行模擬,利用在螞蟻覓食過程中所釋放的信息素進行正反饋傳遞,螞蟻則會根據狀態轉移規則以較大的概率選擇信息素大的路徑[7]。隨著搜索過程的進行,較差路徑和較優路徑的信息素差異會明顯增大,最終所有螞蟻都會集中到一條路徑上去,該路徑便是最優路徑,而螞蟻便以最優的方式到達食物源獲取食物。
螞蟻主要根據路徑上信息素濃度和路徑長度來選擇下一個到達的節點,其狀態轉移概率公式為:
(1)
式中,α為信息啟發式因子;β為期望啟發式因子;τij(t)為t時刻節點i和節點j之間的信息量;ηij為啟發函數;allowedk為下一步允許到達的節點。
所有螞蟻完成一次迭代過后,需要對路徑上殘留的信息素進行處理,其按照式(2)進行更新:
(2)

免疫算法以生物免疫系統中對于抗原的處理為主要出發點,通過抗體的生成、克隆、交叉變異以及免疫記憶等操作,最終與抗原結合并殺死抗原[8]。
免疫算法具有自組織、自適應和群體多樣性等特點并且其全局搜索能力相比于其他智能算法更好,可以快速地搜索到各個極值點。針對蟻群算法搜索速度慢,到達某節點處容易出現停滯現象等問題,本文將免疫算法中親和力的概念引入到蟻群算法。免疫算法中把需要解決的問題作為抗原,因此抗體為該問題的解,克隆、變異與選擇是免疫算法的三個基本操作,親和力主要體現在選擇策略過程中。
抗體間的親和力為兩抗體間的相似程度,引入到蟻群算法之中主要體現為螞蟻之間的差異,因此該方法豐富了蟻群多樣性,親和力計算如下:
p(Ai(k))=αf(Ai(k))+(1-α)d(Ai(k))
(3)
式中,f(Ai(k))為第i只螞蟻的適應度;d(Ai(k))為第i只螞蟻的濃度;α為權重系數。
基本蟻群算法的數學模型主要由狀態轉移規則和信息素更新規則兩部分組成,而對于蟻群算法改進也主要從這兩方面入手。首先在傳統的狀態轉移規則中引入搜索熱區的概念[9],以蟻穴和食物源為對角畫出一個矩形,將其作為搜索熱區,最短路徑在矩形內的概率遠遠大于在矩形外的概率。在狀態轉移概率公式中加入搜索權重,則蟻群轉移概率變為:
(4)
(5)
其次,傳統的信息素更新只考慮了蟻群迭代完成時根據總和數據進行更新,而沒有考慮到螞蟻路途中不同階段不同信息素的分布特點,因此傳統的信息素更新規則無法使算法達到最優。將信息素更新方式改為動態調節,其根據不同時間階段的算法收斂情況對局部信息素更新和全局信息素更新進行調整[10],其更新公式如下:
τij(t+n)=2/δ+1(1-ρ)τij(t)
(6)
τij(t+1)=(1-ε)δτij(t)
(7)
式中,Tbs為蟻群本次搜索的最優路徑;δ為自適應變量。
其中,式(6)為全局信息素更新規則,式(7)為局部信息素更新規則,當δ<1時,公式(6)的作用增強,公式(7)的作用減弱;當δ>1時則相反。上述對于信息素的調節方式是根據收斂次數建立的一個負反饋過程,保證了算法收斂和搜索的穩定性。
PID神經網絡控制器結構簡單,應用于大多數控制系統,尤其對于一些復雜的控制系統有著不錯的控制效果。但是PID神經網絡控制器如果不能找到合適的網絡權值參數,就很難發揮出它的優勢,實現其良好的控制性能。本文所提出的改進蟻群免疫算法,可以對PIDNN的權值進行優化訓練,以達到良好的控制性能。
PIDNN是一種多層前向神經元網絡,但與大多數多層前向神經元網絡的輸入輸出特性不同,其不僅具有靜態特性,還因隱含層輸入輸出函數的原因具有動態特性[11]。誤差反向傳播算法對于解決PIDNN調節連接權重有著不錯的效果,主要是對其進行在線的訓練與學習,最終使系統的目標函數得到最優解。
SPIDNN控制系統的輸入為設定值r和輸出反饋值x的偏差,控制量為網絡的輸出v,SPIDNN控制系統結構如圖1所示。

圖1 SPIDNN控制系統結構
對于任意采樣時間k,SPIDNN的算法模型如下:
1)輸入層
xi(k)=ui(k)
(8)
2)隱含層
隱含層輸入的總均值為:
(9)
隱含層各個神經元的輸出狀態為:
(10)
隱含層各個神經元的輸出為:
(11)
3)輸出層
SPIDNN的輸出層只包含一個神經元,負責神經元網絡的整體輸出,其輸入為:
(12)
輸出層神經元的輸出為:

(13)
輸出層神經元的輸出就等于整個神經網絡控制器的總輸出v(k):
v(k)=x(k)
(14)
對SPIDNN進行學習與訓練是為了使神經網絡的實際輸出值和理想輸出值之差的平方和E達到最小,亦系統穩態誤差達到最小,即:
(15)
本文利用抗體與抗體之間親和力原理和改進的轉移規則、信息素更新規則對傳統蟻群算法進行改進,并利用改進蟻群算法神經網絡進行訓練。PID神經網絡依據公式(15)進行訓練,蟻群的適應度函數為公式(15)所示[12],使得輸出值和給定值之間的誤差最小。
首先,建立一個神經網絡權值參數的集合,螞蟻從初始位置出發去覓食,即蟻群中的每只螞蟻在權值參數的集合中選擇一個權值,這樣整個蟻群就會選擇出一組神經網絡權值。搜索過程中,每只螞蟻對地點的選擇行為是相互獨立的,會根據每個地點的信息素和狀態轉移概率進行選擇。當螞蟻經過一系列地點之后就會到達食物所在的位置,最后調節每個地點的信息素。上述過程反復進行,直到達到要求的迭代次數或進化的趨勢不明顯為止,整個算法流程如下:
1)參數初始化;
2)將m只螞蟻放入n個節點中,并把該節點添加進該螞蟻的禁忌表之中;
3)判斷禁忌表,根據狀態轉移規則公式選擇下一個節點;
4)螞蟻選擇完成后,根據局部信息素更新規則公式對路徑進行調整,直到全部螞蟻完成搜索為止;
5)記錄全部螞蟻產生的最優解,形成螞蟻的抗體群;
6)從螞蟻的抗體群中選擇初始抗體群,對初始抗體群進行克隆、變異和選擇等操作,進而產生新一代抗體群;
7)更新最優解,并根據全局信息素更新規則公式更新;
8)重復步驟(2)~(7)直到滿足終止條件為止,并輸出SPIDNN控制器的權值系數wij和wj。
為了驗證本文所提出的改進蟻群免疫算法的有效性和優越性,確定參數:蟻群規模m=40,信息啟發式因子α=1,期望值啟發式因子β=10,信息素殘留系數ρ=0.5,克隆比例NB=4,最大迭代次數NC=100。仿真結果如圖2和圖3所示。
圖2和圖3分別為傳統蟻群算法和改進蟻群免疫算法的收斂曲線,由圖可知改進蟻群免疫算法在最小路徑長度上要短于傳統蟻群算法,在迭代次數上也展現出明顯的優勢,收斂速度顯著提升。

圖3 改進蟻群算法收斂曲線

圖2 傳統蟻群算法收斂曲線
改進蟻群免疫算法的PIDNN控制器應用范圍很廣,本文對熱連軋加熱爐的溫度進行控制,并將理想溫度值設定為1200 ℃。由于加熱爐具有很強的非線性,難以對其精確建模,其數學模型選用二階系統純滯后環節表示,其傳遞函數為:
(16)
式中,K/(s+1)(Ts+1)代表二階慣性部分;e-τs代表純滯后部分,其參數選擇為T=220、τs=30s、K=100,其仿真結果如圖4和圖5所示。
圖4和圖5分別為傳統PIDNN加熱爐溫度控制和改進蟻群免疫算法的PIDNN加熱爐溫度控制曲線。由仿真結果可知,傳統PIDNN加熱爐溫度控制到達設定溫度需要44 min,而改進蟻群免疫算法的PIDNN加熱爐溫度控制到達設定溫度只需要31 min,系統的調節時間明顯縮短,并且改進蟻群免疫算法的PIDNN加熱爐溫度控制曲線的超調量更小,取得了比較滿意的控制效果。

圖4 傳統PIDNN加熱爐溫度控制

圖5 改進蟻群算法的PIDNN加熱爐溫度控制
本文在傳統蟻群算法的狀態轉移規則和信息素更新規則改進的基礎上,引入免疫處理機制,加快了算法的收斂速度,并得到較短的最小路徑長度;同時,應用改進蟻群免疫算法優化了神經網絡權值,加快了加熱爐控制系統的收斂速度并降低了超調量,控制效果明顯改善,說明基于改進蟻群免疫算法的PIDNN加熱爐溫度控制具有一定的理論和實踐價值。