?

基于自適應蟻群優化的Volterra核辨識算法研究

2011-09-17 10:04李志農唐高松肖堯先鄔冠華
振動與沖擊 2011年10期
關鍵詞:級數螞蟻向量

李志農,唐高松,肖堯先,鄔冠華

(1.南昌航空大學 無損檢測技術教育部重點實驗室,南昌 330063;2.鄭州大學 機械工程學院,鄭州 450001)

蟻群優化(Ant Colony Optimization,ACO)算法是20世紀90年代意大利學者Dorigo[1]提出的一種新型模擬進化算法。它具有較強的魯棒性、良好的搜索性能和并行運算能力。其研究已經滲透到許多應用領域,為多維動態優化問題提供了一種新的智能方法?;赩olterra級數模型的非線性系統辨識已經成為當前非線性研究領域的一個熱點,該模型的辨識實質上是一個優化問題,基于此,我們把蟻群優化引入到非線性Volterra級數模型辨識中,提出了一種基于蟻群優化的Volterra核辨識方法[2],該方法與傳統的基于最小二乘算法的Volterra級數模型辨識方法相比,它克服了傳統方法要求目標函數連續可導,對測量噪聲很敏感,且需要利用梯度信息等缺陷。

然而,隨著研究不斷深入,我們發現,基于蟻群優化的Volterra級數模型的非線性系統辨識方法存在一些不足,如在算法,蟻群中多個個體的運動是隨機的,當群體規模較大時,要找出一條較好的路徑需要較長的搜索時間,另外,在算法中采用了正反饋機理,正反饋過強,很容易使優化過程陷于局部極小,正反饋強度過小,則使運行速度過慢,要得到最優解,往往需要很長的尋優時間。

針對基于蟻群優化的Volterra級數模型的非線性系統辨識方法存在的以上不足,本文將自適應的蟻群算法引入到非線性系統的Volterra時域核辨識中,提出了一種基于自適應蟻群優化的Volterra核辨識算法。通過自適應地改變記憶因子、揮發因子以及狀態轉移概率,使得本算法在搜索前期具有較大的隨機性,提高全局搜索能力,在搜索后期,降低隨機性,使算法能快速收斂。仿真結果表明,與傳統蟻群優化Volterra核辨識算法對比,本文提出的算法的收斂速度與魯棒抗噪性能有了明顯提高,并具有同樣好的收斂精度。

1 非線性系統Volterra級數模型的建立

Volterra級數模型已成為研究非線性系統的強有力的模型之一,它是線性系統脈沖響應函數模型對非線性系統的直接擴展,能夠描述一大類非線性系統。非線性系統的Volterra時域、頻域核屬于非參數模型,它不依賴于系統的輸入,因而完全反映了系統的本質特性。

設非線性系統可用記憶長度為M的N階Volterra級數模型近似描述,其離散截斷形式的Volterra級數模型可以描述為[3,4]:

其中,hn(m1,…,mn)稱為非線性系統的 n階 Volterra時域核,又稱為廣義脈沖響應函數。hn(m1,…,mn)具有對稱性,且對稱性是唯一的,利用Volterra核的對稱性,可大大減小用Volterra級數模型描述非線性系統所需的參數數目,從而可大大減小計算量。

式(1)可以寫成以下形式:

式中,Y為輸出觀測向量,U為輸入矩陣,H為非線性系統Volterra核向量。Y,U,H的表達式如下;

由式(2)可知,Volterra核向量的辨識實質是一個最優參數估計問題,利用系統的輸入輸出數據可以辨識Volterra核向量。在此,我們采用自適應蟻群優化算法來求解Volterra核向量。

2 自適應蟻群優化算法

普通蟻群算法是通過增加行經路徑上的信息素的辦法來強化較好的解。搜索開始時,信息素的分布是分散的,在算法進化一定的迭代步數后,信息素會集中到少數邊上,搜索方向也隨之基本上確定下來。當某些邊上的信息素強度明顯高于其余邊時,導致在搜索時,總是在少數幾條邊上進行,這樣就會使解的結構過于相似,搜索過程也會停頓下來,算法容易陷入局部最優解而無法跳出。

為了解決這個問題,提出了自適應蟻群算法(Adapt ant colony optimization,簡稱 AACO),根據解的搜索情況,動態地自適應調整信息素以及狀態轉移因子。

在進化前期,設定較大的信息素揮發因子及較小的狀態轉移因子,使蟻群搜索的隨機性增加,使其可以充分搜索到全局最優解的方向。進化一定代數后,蟻群得到最優解的大致方向,此時自適應調整揮發因子及轉移因子,減少搜索的隨機性,蟻群就可以充分地展開局部搜索,得到最優解。

假設要求Volterra核的有效位為a位,第i個核向量hi可以用a個十進制數來近似表示,就可以構造如下a×i×10+2個“城市”。城市一共有a×i+2層。第一層和最后一層分別僅含一個城市。中間a×i層,從上往下分別表示核向量hi的第一位有效數字、第二位有效數字,…,這些城市中,只有n-1與n層(n∈[2,a+2] )之間的各個城市有連接通路。設n-1層中代表十進制數p的城市與n層代表十進制數q的城市之間的連接上殘留的信息量為螞蟻k在一次循環中的第n層所在的城市用E(k,n)表示。當螞蟻k由當前所在城市E(k,n-1)=p移動到下一步到達的城市時,根據如下公式選擇[5]:

其中,f是[0,1] 區間內的隨機數,F0(t)稱為為狀態轉移因子,Srand表示用隨機選擇來確定下一步要移動到的城市,即根據式(7)計算第n層中每個城市的概率,然后用輪盤賭選擇法確定要移動到的城市:

其中,v(p,q)表示從當前層的城市p轉移到下一層的城市q的概率。

在式(6)中,狀態轉移因子F0(t)是一個非常重要的參數。在基于蟻群優化的Volterra核向量辨識方法中,F0(t)是一個[0,1] 上的常數,缺乏自適應。在本文的算法中,F0(t)的選擇如下:

其中,ε是正參數,控制F0(t)的上升速度。F0(t)從0逐漸升高到Fmax。

算法初期,F0(t)較小,f有較大概率大于F0(t)。有很大概率選取式(6)的下半部分,即計算轉移到每個城市的概率,然后用輪盤賭選擇法確定要移動到的城市,體現了隨機性。算法后期,F0(t)較大,f有較大概率會小于F0(t)。因此有很大概率選取式(6)的上半部分,即哪條路徑上的信息素最大,就選擇哪條路徑,體現了確定性。

在螞蟻經過的路徑上,按下式進行信息素的更新。

其中,τ0為信息素的初始化值,ρ為信息素的揮發因子。

信息素揮發因子ρ也是一個非常重要的參數,在基于蟻群優化的Volterra核向量辨識方法中,ρ是一個為[0,1] 上的常數,缺乏自適應性。而在本文的自適應算法中,ρ的自適應調整如下[6]:

其中:ρmin是預設的ρ的最小值,以防ρ太小導致信息素過度堆積;λ是預設的衰減常數.通過式(10),信息素揮發因子ρ從最大值隨著進化代數的增加,慢慢變小,但又不會低于ρmin,導致信息素過度堆積。與基本蟻群優化算法中的揮發因子選擇方法對比可以發現,ρ在進化初期取較大值,增加了搜索的隨機性,利于找到全局最優解的大致方向,ρ在進化后期逐漸變小,降低算法隨機性,利于局部搜索。顯示了本文算法的獨特優勢。

當所有螞蟻都走完一遍時,就開始信息素的全局更新。首先根據螞蟻的行經路徑,以及式(5),計算出螞蟻k得到的核向量:

根據目標函數,找出對應函數值最小的最優螞蟻:

其中,H(k)為第k只螞蟻的行經路徑解碼得到的核向量;D[H(k)] 為所求解問題的目標函數。

然后對最優路徑上的信息素按式(12)進行全局更新:

其中 g=E(kmin,n -1),h=E(kmin,n),n∈[2,a+2] ,α為信息素的累積速度。它為[0,1] 上的常數。

重復以上步驟直到設定的循環次數或得到的解在一定的循環次數后沒有得到進一步的改善為止。

3 基于AACO的Volterra核辨識步驟

由式(2)可以看出,利用式(2)求解Volterra級數核,實際上就是尋求一組n維的核向量使得y-最小。構造如下目標函數:

其中,L表示系統的輸入輸出的數據長度。當目標函數D[H(k)] 取得最小時,即為最優螞蟻。算法具體步驟如下:

(1)初始化:用一個較小的值τ0初始化所有的

(2)將所有螞蟻置于第一層唯一的一個城市。即令E(k,1)=0(k=1,2,…,K0),其中,K0為螞蟻總數。

圖1 基于AACO的Volterra核辨識算法Fig.1 Volterra kernel identification method based on the AACO

(3)根據式(6)和式(7)得到螞蟻k在第n層到達的城市E(k,N)。

(5)對每只螞蟻執行步驟3和步驟4,直到每只螞蟻都到達最后一層。

(6)根據式(12)找出最優螞蟻kmin,并用式(13)進行最優路徑的信息素濃度更新。

(7)根據式(8),式(10)自適應調整信息素揮發因子ρ(t)和狀態轉移因子F0(t)。

(8)判斷是否達到設定的迭代次數,達到則輸出結果,否則轉向步驟2。

4 仿真研究

考慮如下的二階非線性模型:

由Volterra理論得,該非線性系統的核矢量H=[3,4,2.7,6.9,6.4,0,0,5.7,2.8,0]

在本文的算法中,選取的參數為 α=0.8,λ=0.95,ε =0.5,a=3,Fmax=0.9,τ0=0.01,K0=40,循環次數為200次。

輸入信號為方差為1的白噪聲信號。輸入、輸出疊加不同程度的噪聲干擾,采用二階Volterra級數模型對該非線性系統進行建模。

首先,我們來考察本文算法的辨識精度和抗噪性能,表1給出了無噪聲情況下,本文提出的辨識方法得到的Volterra核參數的估計值,為了比較,也給出了基于傳統蟻群算法所得到的Volterra核參數的估計值。

表1 無噪聲情況下Volterra核參數的估計值Tab.1 The Volterra kernel estimation under the free-noise environment

由表1可知,在無噪聲的干擾下,不論是本文的辨識方法,還是基本蟻群辨識算法,Volterra核參數的估計值和實際真值都完全一致,自適應蟻群辨識算法與基本蟻群辨識算法一樣,都得到了非常高的辨識精度。

同時,我們也考察了輸入輸出端加入不同程度干擾下的Volterra核參數的辨識精度和該算法的抗噪能力,表2給出了信噪比20 dB下,自適應蟻群優化辨識方法和基本蟻群優化辨識方法得到的Volterra核參數的估計值。

由表2可知,在輸入、輸出端加入20 dB噪聲干擾下,Volterra核參數的估計值與真值之間的誤差非常小,并沒有因為噪聲的干擾而對辨識精度產生影響,不論是自適應蟻群辨識算法,還是基本蟻群辨識方法,Volterra核參數的辨識結果還是非常滿意的。體現了本文提出的算法具有較強的魯棒抗噪性。

表2 SNR=20 d B時Volterra核參數的估計值Tab.2 The Volterra kernel estimation(SNR=20 dB)

接下來,討論本文提出的方法的收斂的穩定性和快速性。圖2給出了無噪聲的情況下,基本蟻群辨識算法和自適應蟻群辨識算法分別得到的一階核參數h1(0),二階核參數h2(1,2)的收斂曲線。這兩個參數的真值分別為 h1(0)=3.4,h2(1,2)=2.8。

圖3給出了信噪比20 dB的情況下,基本蟻群算法和自適應蟻群算法分別得到的一階核參數h1(0)和二階核參數h2(1,2)的收斂曲線。

從Volterra核的收斂曲線來看,不論是在無噪聲環境下,還是在有噪聲干擾下,本文算法和基本蟻群算法都具有很好的收斂性和穩定性。而本文方法的收斂速度明顯快于基本蟻群算法。其他參數的收斂曲線,同樣能反映出AACO算法的優勢。這是因為基于蟻群優化的Volterra級數模型的非線性系統辨識方法中,蟻群中多個個體的運動是隨機的,當群體規模較大時,要找出一條較好的路徑需要較長的搜索時間,另外,在算法中采用了正反饋機理,正反饋過強,容易使優化過程陷于局部極小,正反饋強度過小,則使運行速度過慢,要得到最優解,往往需要很長的的尋優時間。

圖2 無噪聲時h1(0),h2(1,2)的收斂曲線Fig.2 The convergence curves of the volterra kernel vectorh1(0),h2(1,2)under the free-noise environment

圖3 SNR=20dB時h1(0),h2(1,2)的收斂曲線Fig.3 The convergence curves of the volterra kernel vector h1(0),h2(1,2)(SNR=20dB)

而基于自適應蟻群優化的Volterra級數模型的非線性系統辨識方法能動態地自適應調整信息素以及狀態轉移因子,減少搜索的隨機性,從而,很好地克服了基本蟻群優化的Volterra核向量辨識方法的不足。

5 結論

本文將自適應蟻群算法引入到非線性系統的Volterra核辨識中,提出了一種基于自適應蟻群優化的Volterra核辨識算法,并與基于蟻群優化的Volterra級數模型的非線性系統辨識方法進行了對比分析,仿真研究表明,不論是在無噪聲的干擾下,還是在有噪聲的干擾下,基于自適應蟻群優化的Volterra核辨識算法與基于蟻群優化的Volterra核辨識算法都能得到非常好的辨識精度和魯棒抗噪性能,從收斂曲線來看,即使在噪聲的干擾下,兩種辨識方法的收斂過程平穩,然而,相對來說,本文提出的基于自適應蟻群優化的Volterra核辨識算法的收斂速度快于基于蟻群優化的Volterra核辨識算法,這是因為本文提出的方法能動態地自適應調整信息素以及狀態轉移因子,減少搜索的隨機性,很好地克服了基本蟻群優化的Volterra核向量辨識方法中因群體規模較大而運行速度過慢的不足。本文的研究為非線性系統辨識提供了一種新的有效方法,具有重要的理論價值和實際應用價值。

[1] Dorigo M,Caro G D,Gambardella L M.Ant algorithms for discrete optimization[J] .Artificial Life,1999,5(3):137 -172.

[2] 唐高松.基于蟻群優化的Volterra級數模型的非線性系統辨識及在故障診斷中應用[D] .鄭州:鄭州大學,2010.

[3] 魏瑞軒.基于Volterra級數模型的非線性系統辨識及故障診斷方法研究[D] .西安:西安交通大學,2001.

[4] 李 湧.非線性頻譜分析理論及其在故障診斷中的應用研究[D] .西安交通大學,1999.

[5] 陳 燁.用于連續函數優化的蟻群算法[J] .四川大學學報,2004,36(6):117-120.

[6] 王 穎,謝劍英.一種自適應蟻群算法及其仿真研究[J] .系統仿真學報,2002,14(1):31- 33.

猜你喜歡
級數螞蟻向量
向量的分解
擬齊次核的Hilbert型級數不等式的最佳搭配參數條件及應用
聚焦“向量與三角”創新題
求收斂的數項級數“和”的若干典型方法
一個非終止7F6-級數求和公式的q-模擬
我們會“隱身”讓螞蟻來保護自己
螞蟻
向量垂直在解析幾何中的應用
向量五種“變身” 玩轉圓錐曲線
幾種常用的正項級數審斂法的比較
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合