趙景波,朱敬旭輝,邱騰飛,鞠建珂
(青島理工大學(xué)信息與控制工程學(xué)院,山東 青島 266520)
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)化控制系統(tǒng)憑借其架構(gòu)靈活、成本低、操作簡便等諸多優(yōu)點被廣泛運用到各類控制系統(tǒng)中。但通過網(wǎng)絡(luò)傳輸數(shù)據(jù)信號時,必然會出現(xiàn)時延、丟包等問題。將網(wǎng)絡(luò)引入到控制系統(tǒng)中后,不僅會造成控制性能的下降,甚至導(dǎo)致控制系統(tǒng)的失調(diào)。介于上述原因,網(wǎng)絡(luò)控制系統(tǒng)的穩(wěn)定性問題與網(wǎng)絡(luò)誘導(dǎo)時延的預(yù)測和補償問題引起學(xué)者們的廣泛關(guān)注[1-5]。
本文首先利用Matlab truetime 2.0對控制模型進行建模,分析系統(tǒng)誘導(dǎo)時延對控制系統(tǒng)產(chǎn)生的危害。以往有學(xué)者將粒子群算法應(yīng)用到網(wǎng)絡(luò)控制系統(tǒng)時延預(yù)測中,取得了一定的成果[6]。但在實際網(wǎng)絡(luò)工程中基于粒子群算法的實驗預(yù)測系統(tǒng)仍存在計算速度慢和精度不夠高的現(xiàn)象。為進一步提高系統(tǒng)的預(yù)測精度,更好的解決網(wǎng)絡(luò)控制系統(tǒng)時延問題,本文提出將麻雀搜索算法與BP神經(jīng)網(wǎng)絡(luò)進行結(jié)合,搭建一種基于麻雀搜索算法的改進BP神經(jīng)網(wǎng)絡(luò)(SSA-BP),利用SSA算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)中的權(quán)值與閾值。最后通過示例仿真及對比說明本文所提出方法預(yù)測的準(zhǔn)確性。
在網(wǎng)絡(luò)化控制系統(tǒng)中,各個控制環(huán)節(jié)之間依靠網(wǎng)絡(luò)進行連接。由于網(wǎng)絡(luò)帶寬和網(wǎng)絡(luò)資源的限制,節(jié)點在數(shù)據(jù)交換時,時常出現(xiàn)網(wǎng)路延遲的現(xiàn)象。
時延的產(chǎn)生勢必會對控制系統(tǒng)的性能產(chǎn)生影響。如圖1所示,根據(jù)各個控制環(huán)節(jié)的連接關(guān)系可知,NCS中的時延包括:控制器與執(zhí)行器之間的時延τca、控制器計算產(chǎn)生的時延τc、傳感器與控制器之間的時延τsc。其中,τca是控制器到執(zhí)行器之間的傳輸時延,因τca產(chǎn)生在控制器算法作用后,所以無法對其進行計算,只能進行預(yù)測。τsc是傳感器到控制器之間的時延,可通過優(yōu)化控制器內(nèi)算法對其影響進行消除。τc是控制器內(nèi)部算法運行所產(chǎn)生的延遲時間,但隨著芯片運算速度的提升,在對控制系統(tǒng)整體時延分析時,通常暫時忽略τc對系統(tǒng)的影響。在網(wǎng)絡(luò)控制系統(tǒng)當(dāng)中,控制器和執(zhí)行器均設(shè)置為事件驅(qū)動方式,因此通常將以上三部分時延加和作為一個時延值進行分析,即總時延為τ(k)=τca(k)+τsc(k)+τc(k),對τ(k)整體進行分析和補償[7-8]。
圖1 網(wǎng)絡(luò)控制系統(tǒng)結(jié)構(gòu)圖
麻雀搜索算法(SSA)是Jiankai Xue等人[9]提出的一種新的群智能優(yōu)化算法。與之前學(xué)者所用的粒子群算法相比,SSA以麻雀群的覓食行為和反捕食行為作為仿生對象,其本身具有更高精度,且收斂速度更快,穩(wěn)定性更強,具有更好的全局搜索能力。
根據(jù)網(wǎng)絡(luò)控制系統(tǒng)建模分析,針對網(wǎng)絡(luò)控制系統(tǒng)時延性質(zhì),將SSA算法中麻雀粒子做出如下特性規(guī)定:
1) 探索者(發(fā)現(xiàn)者)通常具有高水平的能源儲備,并為所有的跟隨者提供覓食區(qū)域或方向。它負責(zé)找到豐富食物來源的地區(qū)。在模型建立中能量儲備的高低取決于麻雀個體對應(yīng)適應(yīng)度值的好壞;
2) 一旦麻雀發(fā)現(xiàn)捕食者,個體就會發(fā)出鳴叫作為警報信號。當(dāng)報警值大于安全閾值時,探索者需要將所有的跟隨者(加入者)帶到安全區(qū)域;
3) 每只麻雀只要尋找更好的食物來源,都可以成為探索者,但探索者和跟隨者的比例在整個種群中是不變的;
4) 能量較高的麻雀通常會充當(dāng)探索者。為了獲得更多的能量,一些饑餓的跟隨者更有可能飛往其它地方尋找食物;
5) 追隨者會一直跟隨能提供最好食物的探索者,并從其食物中獲取食物或者在其周圍覓食。與此同時,一些追隨者也會為了增加自身的捕食率會進行食物的爭奪;
6) 群體邊緣的麻雀在意識到危險時,會迅速向安全區(qū)域移動,以獲得更好的位置,而群體中間的麻雀則會隨機移動,以接近其它麻雀。
首先麻雀的位置可以用下面的矩陣表示
(1)
其中n表示群體中麻雀數(shù)量,d表示待優(yōu)化變量的維數(shù)。同時,全部麻雀個體的適應(yīng)度參數(shù)可用式(2)向量表示
(2)
FX中每個行向量表示單一個體的適應(yīng)度。麻雀個體在搜尋食物過程中,擁有較高適應(yīng)度值的麻雀(探索者)會更早獲得食物。除此之外,因為探索者需要為整個群體搜尋獵物和引導(dǎo)整個群體的移動,所以探索者可以比跟隨者在更大的范圍內(nèi)尋找食物。根據(jù)規(guī)則1)和2),在每次迭代中,更新探索者的位置,更新算法如下
(3)
當(dāng)R 對于跟隨者,它們需要執(zhí)行規(guī)則4)和5)。同時,一些跟隨者更加頻繁地監(jiān)視探索者。一旦它們發(fā)現(xiàn)探索者已經(jīng)找到了好的食物,它們立即離開它們現(xiàn)在的位置去競爭食物。如果競爭獲勝,它們可以立即得到該探索者的食物,否則它們將繼續(xù)執(zhí)行規(guī)則5)。跟隨者的位置更新算法如下 (4) XP為當(dāng)前所有探索者占據(jù)的最優(yōu)位置。Xworst表示當(dāng)前的全局最差位置。A為一個1×d維的矩陣,當(dāng)中各元素隨機賦值為1或-1且滿足A+=AT(AAT)-1。當(dāng)i>n/2時表示種群中適應(yīng)度值較低的第i個跟隨者處于饑餓的狀態(tài),需要飛到其它地方進行覓食。 在模型構(gòu)建中,假定占總數(shù)10%-20%的麻雀意識到了危險。這些麻雀的初始位置是隨機產(chǎn)生的。根據(jù)規(guī)則6),建立數(shù)學(xué)模型如下 (5) 其中Xbest是當(dāng)前的全局最優(yōu)位置。β為系統(tǒng)步長控制參數(shù),其平均數(shù)為0、方差1的隨機數(shù),并滿足隨機分布。K∈[-1,1]是一個隨機數(shù)。這里fi是當(dāng)前麻雀的適應(yīng)度值。fb表示當(dāng)前最佳適應(yīng)度值,fw表示當(dāng)前最差適應(yīng)度值。ε是最小的常數(shù),避免引起分母為零。簡單起見,當(dāng)fi>fb時表示麻雀處于群體的邊緣。Xbest代表了麻雀群體中心的位置,周圍均為安全區(qū)域。當(dāng)fi=fb時表明處于種群中間的麻雀意識到了危險,該位置麻雀需要更新位置向其它麻雀靠近。K為麻雀移動的方向,也是步長控制系數(shù)?;谏鲜霾襟E,麻雀搜索算法程序流程圖如圖2所示。 圖2 麻雀智能算法程序流程 為解決網(wǎng)絡(luò)控制系統(tǒng)系統(tǒng)發(fā)生隨機時延的問題,導(dǎo)致數(shù)據(jù)無法及時的由傳感器發(fā)送至控制器,導(dǎo)致系統(tǒng)不能正常運行的現(xiàn)象,利用BP神經(jīng)網(wǎng)絡(luò)對系統(tǒng)實時時延進行預(yù)測,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖3所示[10]。 圖3 BP神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖 根據(jù)以往學(xué)者研究結(jié)果,BP神經(jīng)網(wǎng)絡(luò)自身存在:學(xué)習(xí)效率低,收斂慢;處理多數(shù)據(jù)容易出現(xiàn)過度擬合;初始化參數(shù)影響大等問題。以往學(xué)者將基于粒子群算法的PSO-BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于網(wǎng)絡(luò)時延預(yù)測,雖已取得顯著成果,但仍存在收斂速度慢、預(yù)測精度不夠高的現(xiàn)象?;诖?,本文將SSA進行優(yōu)化并提出應(yīng)用麻雀搜索算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)初始化參數(shù)的SSA-BP神經(jīng)網(wǎng)絡(luò),將其應(yīng)用到系統(tǒng)時延進行預(yù)測中。算法流程如下: 步驟1初始化神經(jīng)網(wǎng)絡(luò)的各層結(jié)構(gòu),以及麻雀位置和探索者占群體比重。 步驟2計算種群中各麻雀的適應(yīng)度參數(shù)。 步驟3求出群體全局最優(yōu)位置Xbest和群體全局最優(yōu)值fb,保留下來。 步驟4依據(jù)式(3)更新探索者位置,依據(jù)式(4)更新跟隨者位置,依據(jù)式(5)更新意識到危險麻雀的位置。 步驟5如滿足終止搜索條件,則尋優(yōu)結(jié)束,結(jié)果存盤。否則,退回步驟2重新計算。 步驟6利用步驟5計算結(jié)果,對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進行初始化。 步驟7按照結(jié)構(gòu)送入P個學(xué)習(xí)樣本,設(shè)當(dāng)前送入為第p個樣本。 步驟8依次計算各層的輸出誤差均方和,達到要求結(jié)束,否則執(zhí)行步驟9。 步驟9記錄訓(xùn)練樣本數(shù),如果樣本訓(xùn)練未結(jié)束,則跳到步驟7繼續(xù)。如果所有樣本訓(xùn)練完成,則轉(zhuǎn)到步驟6。 步驟10更新BP神經(jīng)網(wǎng)絡(luò)各層權(quán)值。 步驟11按照更新后的權(quán)值再計算誤差值是否達到設(shè)定要求或達到最大的學(xué)習(xí)次數(shù)則訓(xùn)練結(jié)束,否則,跳轉(zhuǎn)至步驟7繼續(xù)訓(xùn)練。 網(wǎng)絡(luò)控制系統(tǒng)時延數(shù)據(jù)采樣模型如圖4所示[11]。 圖4 實驗數(shù)據(jù)提取實驗?zāi)P?/p> 運用MATLAB truetime2.0對網(wǎng)絡(luò)控制系統(tǒng)進行建模,其中網(wǎng)絡(luò)選用IEEE 802.11b/g(WLAN)無線網(wǎng)絡(luò)。其中設(shè)置傳感器節(jié)點以定采樣周期對數(shù)據(jù)進行采的時間驅(qū)動方式。將數(shù)據(jù)采集值通過無線網(wǎng)絡(luò)模型傳送給控制器接收節(jié)點,控制器接收節(jié)點采用事件驅(qū)動方式,即信號進入后立刻啟動控制器計算接收到數(shù)據(jù)后被激活立即進行控制量計算??刂菩盘柾瑯咏?jīng)無線網(wǎng)絡(luò)傳送至執(zhí)行器數(shù)據(jù)接收節(jié)點,執(zhí)行器節(jié)點采用事件驅(qū)動方式。 利用上述仿真平臺,通過對執(zhí)行時間進行設(shè)置,記錄1500個時延樣本數(shù)據(jù),如圖5所示,將其中1400個時延數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)訓(xùn)練集,其余100個時延數(shù)據(jù)作為測試集。經(jīng)反復(fù)試驗得出最佳網(wǎng)絡(luò)結(jié)構(gòu)為11-25-1。輸入層設(shè)置為11個節(jié)點,網(wǎng)絡(luò)輸入分別為預(yù)測時間點前11個時間點的時延數(shù)據(jù);隱含層設(shè)置有25個節(jié)點;輸出層設(shè)置為1個節(jié)點,表示當(dāng)前預(yù)測時延。利用SSA-BP對數(shù)據(jù)進行運算,利用過去1-11個時間點的數(shù)據(jù)來預(yù)測第12個時間節(jié)點的時延數(shù)據(jù),2-12個時間點數(shù)據(jù)預(yù)測第13個時間點數(shù)據(jù)。以此類推,得到11維的訓(xùn)練、測試數(shù)據(jù)。 圖5 時延序列 本實驗以均方差為適應(yīng)度函數(shù)。通過多次試驗,改進SSA初始化參數(shù)設(shè)置:麻雀數(shù)N=30,popmax=5,popmin=-5;最大迭代數(shù)為100;最小誤差為 0.00001。麻雀適應(yīng)度曲線如圖6所示。PSO-BP算法和改進 SSA-BP算法的預(yù)測如圖7—圖8所示。 圖6 改進SSA尋優(yōu)適應(yīng)度曲線 圖7 PSO-BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差 圖8 SSA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差 結(jié)合圖5—圖8可以看出基于SSA(麻雀搜索算法)改進的BP神經(jīng)網(wǎng)絡(luò)SSA-BP的均方誤差和基于粒子群算法的PSO-BP相比,SSA-BP神經(jīng)網(wǎng)絡(luò)對于網(wǎng)絡(luò)時延的預(yù)測的準(zhǔn)確性明顯優(yōu)于后者,與實際值得擬合效果更佳。因此基于麻雀搜索算法的SSA-BP算法,針對網(wǎng)絡(luò)控制系統(tǒng)的時延預(yù)測問題具有顯著效果。 為了解決網(wǎng)絡(luò)化控制系統(tǒng)中存在的時延問題,提出了一種基于麻雀搜索算法(SSA)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測系統(tǒng)SSA-BP神經(jīng)網(wǎng)絡(luò)。利用麻雀搜索算法的快速搜索能力和高搜索精度,優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值,解決了BP神經(jīng)網(wǎng)絡(luò)自身存在學(xué)習(xí)效率偏低,收斂較慢以及過度擬合等問題。通過搭建網(wǎng)絡(luò)控制系統(tǒng)的模型進行預(yù)測仿真并與常用的PSO-BP神經(jīng)網(wǎng)絡(luò)時延預(yù)測結(jié)果進行對比,SSA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測誤差明顯小于PSO-BP神經(jīng)網(wǎng)絡(luò),預(yù)測效果更優(yōu)。現(xiàn)階段研究僅論證了SSA-BP神經(jīng)網(wǎng)絡(luò)對于網(wǎng)絡(luò)控制系統(tǒng)時延預(yù)測的有效性,下一步計劃將其應(yīng)用到網(wǎng)絡(luò)控制故障檢測中,構(gòu)建更加靈敏的網(wǎng)絡(luò)控制故障診斷系統(tǒng)。4 SSA-BP神經(jīng)網(wǎng)絡(luò)的時延預(yù)測
5 仿真研究
6 結(jié)論