呂微微++張堯??
摘要:針對Hammerstein模型中的非線性環節,傳統算法不易辨識,導致辨識精度低等問題。應采用合作協同進化算法利用異構雙種群搜索的方式,對Hammerstein模型的線性環節和非線性環節分開辨識,在鄰域模型中彼此合作構成完整解,根據適應度函數值尋求最優解。實驗證明,改進算法比傳統算法具有更高的精度、穩定性以及快速性,從而驗證了此算法在非線性系統辨識方面的優越性。
關鍵詞:協同進化算法;粒子群;Hammerstein模型;系統辨識
中圖分類號:TB文獻標識碼:Adoi:10.19311/j.cnki.16723198.2017.23.089
1引言
所謂的系統辨識問題就是根據工業過程中的過程輸入和輸出觀測數據,按照某種規則建立生產過程中的一種較為實用的模型的理論和方法。Hammerstein模型是典型的非線性系統模型,應用廣泛,結構復雜,眾多學者采用傳統的群智能算法對該模型進行辨識,但這些算法均存在對非線性環節不易辨識問題,導致辨識精度低等缺點。
針對該問題,本文提出異構雙種群合作協同算法對Hammerstein模型進行辨識,其思想為采用不同機制的雙種群在解空間中并行搜索,每個種群個體均為解的一部分,在鄰域模型中合作構成完整解,根據適應度函數選出最優值。仿真實驗證明,這一算法有效的解決了傳統算法在非線性系統辨識中的瓶頸問題,這對非線性系統辨識領域的研究具有非常重要的意義。
2Hammerstein模型的原理
Hammerstein模型由增益環節和動態線性環節構成,結構圖型如圖1所示。
Hammerstein模型的方程表達式為:
A(q-1)y(k)=B(q-1)x(k)+C(q-1)ξ(k)x(k)=r1u(k)+r2u2(k)+r3u3(k)+…+rpup(k)A(q-1)=1+a1q-1+a2q-2+…+amq-mB(q-1)=b1q-1+b2q-2+…+bnq-nC(q-1)=1+c1q-1+c2q-2+…+crq-r (1)
其中,q-1為滯后算子,
SymbolxA@ (k)是均值為零,方差為σ2的高斯白噪聲序列,u(k)和y(k)分別為系統的輸入和輸出,
SymbolxA@ (k)和u(k)相互無關。
3算法介紹
合作協同進化算法進化過程中,個體的適應度表現為種群之間的相互配合,揚長避短,尋找整個群落的最佳適應度值。兩個種群通過跟蹤個體極值和全局極值來更新粒子的速度和位置,公式為:
vid(k+1)=wvid(k)+c1r01(pBestid(k)-xid(k))+c2r02(gBestid(k)-xid(k))
xid(k+1)=xid(k)+vid(k+1) (2)
其中,i=1,2,…,n;d=1,2,…,D;k為當前的迭代次數,c1和c2為加速因子。r01和r02是取值介于(0,1)之間的隨機數。在迭代中速度、位置的最大值按下式替代:Vid(k+1)=vmaxd,vid(k+1)>vmaxd-vmaxd,vid(k+1)<-vmaxd,Xid(k+1)=xmaxd,xid(k+1)>xmaxd-xmaxd,xid(k+1)<-xmaxd
w值具有平衡全局和局部的收斂能力,兩個種群分別采用式(3)和(4)更新種群1(記為s1)和種群2(記為s2)的慣性因子w值。
w1 =w1max-k(w1max-w1min)/kmax(3)
w2=(w2max-w2min).*(kmax-k)./kmax+w2min(4)
本文采用合作協同進化算法,在搜索的過程中,一個種群辨識Hammerstein模型的非線性環節,另一種群辨識線性環節,兩個種群并行地、獨立地進化,他們通過共享鄰域模型發生合作關系,最終組成一個完整解。通過對Hammerstein模型的線性和非線性環節分開辨識,使辨識精度和收斂速度得到了很大提高,取得了很好的辨識效果。
4協同進化算法辨識非線性模型
適應度函數通常為實際輸出觀測模型與估計輸出參數模型的差的平方和,公式為:
f(θ)=Σsi=1[y(k-i)-y-(k-i)]2(5)
其中,s為辨識窗口,y(k)為估計參數模型的輸出。通過合作協同算法獲得(
SymbolqA@ )的最佳值,并保留相對應的參數值。
采用改進合作協同算法辨識分析Hammerstein模型,(
SymbolqA@ )作為選取最優值的評價準則, kmax為循環停止條件,其步驟為:
(1)初始化s1和s2種群的各參數。包含規模、維數、循環次數k,加速因子c1、c2,慣性因子w。
(2)隨機初始化種群s1及s2中每個粒子的初始位置和初始速度,個體最優解pBest及全局最優解gBest。
(3)種群s1辨識Hammerstein模型的非線性環節,種群s2辨識線性環節。兩種群互相配合、彼此合作構成完整解,再根據(
SymbolqA@ )函數,尋得整個群落的最佳解。
(4) 兩個種群分別采用式(3)和(4)更新s1和s2的慣性因子w值,再根據式(2),更新整個群落的當前參數空間。
(5)根據適應度值更新種群的pBest和gBest。
(6)判斷算法終止條件,如若達到kmax值,則循環終止,否則返回第3)步。
5仿真實例
選取模型式(6)進行檢驗改進算法的有效性:
A(q-1)y(k)=B(q-1)x(k)+c(q-1)ξ(k)endprint
x(k)=u(k)+0.5u2(k)+0.3u3(k)+…+0.1u4(k)A(q-1)=1+1.5q-1-0.7q-2B(q-1)=q-1+0.5q-2C(q-1)=1+1.5q-1 (6)
由式(6)可知,該模型參數有8個需要估計,即: θ1=(r2,r3,r4),θ2=(a1,a2,b1,b2,c1)。
參數設置:辨識窗口s=63;種群n=40,kmax=200,兩種群分別采用式(3)和(4)更新w值(其w1max=0.824,w1min=0.0615,w2max=0.932,w2min=0.327),種群1的加速因子:c1=c2=2.153,最大速度v1 max=0.1285,最大位置x1max=1,種群2的加速因子:c1=2.14,c2=2.362, v2max=0.3, x2max=2,用MATLAB軟件仿真,實驗結果如表1所示。
從表1中可以看出,采用不同機制的雙種群在解空間中并行搜索,能夠更加快速準確的找到整個群落的最優解值。辨識參數變化過程如圖2所示。
圖2合作協同進化算法參數估計值變化過程
從圖2看出,群體在迭代120次左右,辨識出的參數向量與真值較吻合,具有好的辨識效果。說明此算法辨識精度高。驗證了合作協同進化算法在非線性系統辨識中的有效性。
6結束語
本文采用改進的合作協同進化算法辨識非線性系統模型,通過多個種群之間選用不同的參數進化,并行的在解空間中尋找最優解,增強了種群的多樣性。多樣性的提高,使種群易避開局部極值,再經過各個種群聯手合作后可以很快的尋找到最優解值,有效的提高了速度和精度,這對非線性系統辨識問題具有重要意義。
參考文獻
[1]王琳, 馬平. 系統辨識方法綜述[J]. 電力情報, 2001,(4): 6366.
[2]TAN Aihui,WONG Hinkwan,GOD frey K. Identification of a Wiener-Hammerstein system using an incremental nonlinear optimization technique [J].Control Engineering Practice,2012,20(11):11401148.
[3]胡欣欣,尹義龍. 求解連續函數優化問題的合作協同進化布谷鳥搜索算法[J]. 模式識別與人工智能,2013,(11):10411049.
[4]劉長良,任燕燕,王東風,孟麗. 熱工系統Hammerstein-Wiener 模型辨識[J]. 計算機仿真, 2013,30(9):394397.
[5]伍大清,鄭建國. 基于混合策略自適應學習的并行粒子群優化算法[J]. 控制與決策, 2013,28(7):10881092.endprint