劉夢茹 李俊紅 徐珊玲
(南通大學(xué)電氣工程學(xué)院 江蘇 南通 226019)
系統(tǒng)辨識是研究建立系統(tǒng)數(shù)學(xué)模型的理論與方法。近幾十年來,系統(tǒng)辨識已經(jīng)成為控制理論的一個(gè)十分活躍而又重要的分支[1]。在非線性系統(tǒng)辨識方面,一些智能辨識算法如遺傳算法、粒子群優(yōu)化算法和神經(jīng)網(wǎng)絡(luò)算法取得了較好的結(jié)果[2]。
大部分非線性系統(tǒng)可以用Hammerstein或者Wiener模型來描述。Narendra等[3]最早于1966年提出關(guān)于此類模型的辨識方法,他們將Hammerstein模型分成線性的動態(tài)子系統(tǒng)和非線性的靜態(tài)子系統(tǒng)。目前為止,許多研究人員已經(jīng)提出一些算法用于辨識Hammerstein非線性系統(tǒng),比如最小二乘算法、隨機(jī)梯度算法等[4]。由于傳統(tǒng)辨識算法對于Hammerstein系統(tǒng)辨識往往存在辨識精度不夠高、收斂速度較慢等問題,尤其是針對含有有色噪聲的Hammerstein模型。近年來,啟發(fā)式群智能優(yōu)化算法成為解決復(fù)雜問題的熱門選擇,受到廣泛關(guān)注。其中,DE算法是一種典型的啟發(fā)式算法,最早由Storn等[5]提出,目的是求解切比雪夫多項(xiàng)式問題。DE算法自提出以來,因其控制參數(shù)少、魯棒性強(qiáng)等優(yōu)點(diǎn),已經(jīng)成為進(jìn)化計(jì)算領(lǐng)域的研究熱點(diǎn)之一。
然而,基本DE算法存在局部最優(yōu)的問題。針對這一現(xiàn)象,許多研究者對DE算法進(jìn)行了改進(jìn)。Fan等[6]提出了ZEPDE算法,用于控制參數(shù)且分區(qū)自適應(yīng)變異策略。Tvrdik等[7]提出將DE算法和K均值算法結(jié)合的新算法,通過聚類中心加快搜索速度。Wang等[8]提出一種基于搜索數(shù)據(jù)分析的自適應(yīng)差分進(jìn)化算法用于解決多目標(biāo)優(yōu)化問題,采用多個(gè)子種群協(xié)同進(jìn)化。盧峰等[9]為解決DE算法中存在的過早收斂和搜索停滯的問題,根據(jù)個(gè)體適應(yīng)度值的大小將種群分成三個(gè)不同的子種群,采取不同的變異策略,加快了算法的收斂速度。Biswas等[10]為減少選擇階段的計(jì)算提出了LoINDE算法。
針對Hammerstein受控自回歸滑動平均(CARMA)模型,本文利用改進(jìn)DE算法對該模型進(jìn)行參數(shù)辨識,為了證明改進(jìn)算法的有效性和可行性,本文還推導(dǎo)了遞推最小二乘(Recursive Least Squares,RLS)算法,在仿真實(shí)驗(yàn)中將改進(jìn)DE算法與RLS算法、基本DE算法和粒子群(PSO)算法對比,驗(yàn)證了改進(jìn)DE算法的有效性。
Hammerstein CARMA模型如圖1所示。其中:u(t)是模型輸入信號;y(t)是模型輸出信號;v(t)是白噪聲;w(t)是有色噪聲。
圖1 Hammerstein CARMA模型
假設(shè)y(t)=0,u(t)=0,m(t)=0且v(t)=0(t≤0)。非線性部分方程為:
m(t)=f(u(t))=γ1f1(u(t))+γ2f2(u(t))+
…+γmfm(u(t))=f(u(t))γ
(1)
f(u(t))=[f1(u(t)),f2(u(t)),…,fm(u(t))]∈R1×m
(2)
式(2)是基函數(shù)構(gòu)成的行向量。而非線性部分的參數(shù)向量γ可以表示為:
γ=[γ1,γ2,…,γm]T∈Rm
(3)
線性部分的方程為:
A(z-1)y(t)=B(z-1)m(t)+D(z-1)v(t)
(4)
其中:
噪聲部分為:
式中:z-1是單位后移算子。
z-1y(t)=y(t-1)
(7)
式中:A(z-1)、B(z-1)和D(z-1)是z-1的常數(shù)系數(shù)時(shí)不變多項(xiàng)式,可以定義為:
A(z-1)=1+a1z-1+a2z-2+…+anz-na=
B(z-1)=b0+b1z-1+b2z-2+…+bnz-nb=
D(z-1)=1+d1z-1+d2z-2+…+dnz-nd=
式中:aj、bj、dj和γj是要估計(jì)模型的未知參數(shù),并且階數(shù)na、nb、nd和m是已知的[11]。我們假定多項(xiàng)式B(z-1)的首項(xiàng)b0=1,定義參數(shù)向量η和信息向量φ(t)如下:
η=[a1,a2,…,ana,b1,b2,…,bnb,γ1,γ2,…,
γm,d1,d2,…,dnd]T∈Rn
(11)
n=na+nb+nd+m
φ(t)=[-y(t-1),-y(t-2),…,-y(t-na),
m(t-1),m(t-2),…,m(t-nb),
f1(u(t)),f2(u(t)),…,fm(u(t)),
v(t-1),v(t-2),…,v(t-nd)]T∈Rn
(12)
則Hammerstein CARMA系統(tǒng)可以表示為:
通過式(11)-式(13),可以得到如下辨識模型:
y(t)=φT(t)η+v(t)
(14)
定義目標(biāo)函數(shù):
(15)
式中:l是數(shù)據(jù)的長度;J1(k)表示DE算法適應(yīng)度函數(shù)。下面用改進(jìn)DE算法和RLS算法分別對Hammerstein CARMA模型進(jìn)行辨識。
DE算法是基于群體智能理論的優(yōu)化算法,通過種群內(nèi)個(gè)體間的合作競爭產(chǎn)生的群體智能指導(dǎo)優(yōu)化搜索[12]。DE算法的核心步驟是變異操作、交叉操作和選擇操作。
2.1.1生成初始群體
在初始化階段,需要在n維空間里確定算法的基本參數(shù),包括種群大小M、變異因子F、交叉因子ω和最大迭代次數(shù)G,具體措施設(shè)置如下:
i=1,2,3,…,M
(16)
j=1,2,3,…,n
2.1.2變異操作
變異操作是種群中隨機(jī)選擇3個(gè)個(gè)體,任取兩個(gè)個(gè)體的向量差加權(quán)后按一定的規(guī)則與第三個(gè)個(gè)體求和而產(chǎn)生變異個(gè)體[13]?;镜淖儺惒僮骺杀硎緸?
2.1.3交叉操作
交叉操作是為了增加群體的多樣性[14]。變異個(gè)體與某個(gè)預(yù)先決定的目標(biāo)個(gè)體進(jìn)行比較,生成實(shí)驗(yàn)個(gè)體,將交叉因子定義為ω,具體操作如下:
2.1.4選擇操作
(19)
相比傳統(tǒng)算法,基本DE算法具有收斂速度快和魯棒性強(qiáng)的特點(diǎn),但算法中仍然存在許多值得進(jìn)一步研究的問題。種群的大小將影響計(jì)算的復(fù)雜性,而變異因子F和交叉因子ω是控制種群多樣性和收斂性的重要參數(shù)[16]。
變異操作和交叉操作兩個(gè)過程是相輔相成,互相影響的,因此對DE算法的變異過程和交叉過程進(jìn)行改變,將變異因子F和交叉因子ω從固定值變成自適應(yīng)動態(tài)值,以提高算法的精度和有效性。
2.2.1改進(jìn)的變異操作
變異因子F在算法中起調(diào)節(jié)作用[17],為了使算法最有效地逼近最優(yōu)解,在變異操作中引入了自適應(yīng)算子α,具體改進(jìn)策略如下:
F=F0×2α
(21)
式中:F0是初始變異系數(shù);自適應(yīng)算子α為周期函數(shù);G為最大迭代次數(shù);k為當(dāng)前迭代次數(shù)(1≤k≤T)。在基本DE算法中,變異因子F取常數(shù)值,難以確定最優(yōu)值,而引入具有周期性質(zhì)的自適應(yīng)算子,以動態(tài)值來代替基本算法的靜態(tài)固定值,讓變異因子的搜索范圍始終處在一個(gè)合理的范圍內(nèi),隨著迭代次數(shù)不斷地增加,變異因子F也在不斷改變尋找最優(yōu)值,在初期可以保持多樣性,防止過早收斂。
2.2.2改進(jìn)的交叉操作
為了提高算法的優(yōu)化性能,交叉運(yùn)算自適應(yīng)調(diào)整策略可以更好地平衡全局和局部搜索能力,算法可以更快地搜索最優(yōu)解。具體的改進(jìn)策略為:
ω=0.6×(1+rand())
(23)
式中:rand()是[0,1]之間的隨機(jī)數(shù)。
改進(jìn)DE算法用于估計(jì)參數(shù)向量η的公式總結(jié)如下:
(24)
F=F0×2α
(27)
ω=0.6×(1+rand())
(29)
(31)
改進(jìn)DE算法估計(jì)參數(shù)η的步驟如下:
1) 初始化種群,設(shè)置初始參數(shù),包括種群大小M、參數(shù)個(gè)數(shù)D、最大迭代次數(shù)G和初始變異因子F0。
2) 設(shè)置當(dāng)前種群的最優(yōu)個(gè)體,通過式(25)進(jìn)行初始化。
3) 根據(jù)式(24)計(jì)算群體中每個(gè)個(gè)體的適應(yīng)值。
4) 根據(jù)式(26)-式(28)執(zhí)行變異操作。
5) 根據(jù)式(29)-式(30)執(zhí)行交叉操作。
7) 確定是否滿足終止條件k>G,如果滿足此條件,則產(chǎn)生最優(yōu)個(gè)體,否則返回步驟3)。
改進(jìn)DE算法的流程如圖2所示。
圖2 改進(jìn)DE算法流程
L(t)=P(t-1)φ(t)[1+φT(t)P(t-1)φ(t)]-1
(33)
P(t)=[I-L(t)φT(t)]P(t-1),P(0)=p0I
(34)
式中:L(t)為增益向量,P(t)為協(xié)方差矩陣。
L(t)=P(t)φ(t)∈Rn×n
(35)
考慮以下Hammerstein CARMA系統(tǒng):
A(z-1)y(t)=B(z-1)m(t)+D(z-1)v(t)
A(z-1)=1+a1z-1+a2z-2=1-1.132z-1+1.1z-2
B(z-1)=1+b1z-1+b2z-2=1+z-1-1.14z-2
m(t)=f(u(t))=γ1f1(u(t))+γ2f2(u(t))=
0.091u(t)-0.148u2(t)
D(z-1)=1+d1z-1+d2z-2=1+0.98z-1-1.5z-2
表3 DE算法參數(shù)估計(jì)與誤差
表4 PSO參數(shù)估計(jì)與誤差
圖3 改進(jìn)DE算法估計(jì)誤差曲線
圖4 改進(jìn)DE算法適應(yīng)度演化曲線
圖6 DE算法估計(jì)誤差曲線
圖7 PSO估計(jì)誤差曲線
可以看出,在噪聲方差為σ2=0.102的情況下,改進(jìn)DE算法和RLS算法的估計(jì)誤差越來越小,改進(jìn)DE算法比RLS算法、基本DE算法和PSO具有更高的辨識精度和更快的收斂速度。
控制反應(yīng)器的反應(yīng)物濃度一直以來都是化工過程控制領(lǐng)域的研究熱點(diǎn),連續(xù)攪拌反應(yīng)釜是工業(yè)過程中廣泛應(yīng)用的一類反應(yīng)器[20],如圖8所示,反應(yīng)釜工作時(shí),攪拌器快速攪拌,容積內(nèi)部濃度相等。反應(yīng)釜夾套冷卻水帶走反應(yīng)產(chǎn)生的熱量,保持釜器內(nèi)各處溫度相等和穩(wěn)定[21]。
連續(xù)攪拌反應(yīng)釜可以建模為Hammerstein模型結(jié)構(gòu)[22]。在圖8展示的連續(xù)攪拌反應(yīng)釜中,非線性部分為多項(xiàng)式函數(shù),線性部分為CARMA結(jié)構(gòu),模型為:
A(z-1)=1+a1z-1+a2z-2=1-0.918z-1+0.286z-2
B(z-1)=1+b1z-1+b2z-2=1+z-1-1.5z-2
m(t)=f(u(t))=γ1f1(u(t))+γ2f2(u(t))=
-0.07u(t)+0.383u2(t)
D(z-1)=1+d1z-1+d2z-2+d3z-3=
1+0.56z-1-0.925z-2+0.46z-3
模型的線性部分參數(shù)為:
a=[-0.918,0.286],b=[1,-1.5],d=[0.56,-0.925,0.46]
多項(xiàng)式函數(shù)的系數(shù)為:
γ=[-0.07,0.383]
將改進(jìn)DE算法用于連續(xù)攪拌反應(yīng)釜的辨識,辨識誤差曲線結(jié)果如圖9所示,適應(yīng)度演化曲線如圖10所示。
圖9 連續(xù)攪拌反應(yīng)釜辨識誤差曲線
圖10 連續(xù)攪拌反應(yīng)釜辨識適應(yīng)度演化曲線
可以看出,隨著迭代次數(shù)的增加,連續(xù)攪拌反應(yīng)釜辨識的參數(shù)估計(jì)誤差越來越小,而且適應(yīng)度演化曲線趨于0,說明辨識算法是有效的。
本文提出改進(jìn)DE算法來辨識Hammerstein CARMA系統(tǒng),并且與RLS算法、基本DE算法和PSO進(jìn)行對比。仿真結(jié)果表明,改進(jìn)DE算法相對于RLS算法、基本DE算法和PSO可以更有效地辨識Hammerstein CARMA系統(tǒng)的參數(shù),其參數(shù)估計(jì)精度更高,收斂速度更快。將改進(jìn)DE算法應(yīng)用在連續(xù)攪拌反應(yīng)釜中,取得了較好的應(yīng)用效果。