程 松,俞 浩,錢建平
(國網(wǎng)泰州供電公司信息通信分公司,泰州 225300)
通過分析當前工業(yè)通信網(wǎng)絡運行工作狀態(tài)可知,現(xiàn)有的網(wǎng)絡安全技術(shù)滿足不了當前的社會需求[1]。在日常工作中,故障事件頻繁發(fā)生,給人們生產(chǎn)、生活造成了不可估計的損失,所以減少工業(yè)通信網(wǎng)絡控制器故障事件發(fā)生,是保障網(wǎng)絡使用安全的必要手段[2]。通信網(wǎng)絡控制器故障診斷中,故障位置檢測是故障診斷的核心,也是最難的部分,因此研究工業(yè)通信網(wǎng)絡控制器故障位置檢測方法具有重要意義。
當前該領域出現(xiàn)多種故障節(jié)點位置檢測技術(shù):文獻[3]采用ReLU、Softplus 激活函數(shù)改進原始激活函數(shù),通過小波神經(jīng)網(wǎng)絡模型結(jié)合免疫算法,完成告警信息的加權(quán)處理,根據(jù)加權(quán)數(shù)值情況判斷故障位置;文獻[4]利用BP 神經(jīng)網(wǎng)絡建立故障位置檢測模型通過免疫算法求解,以此實現(xiàn)各通信網(wǎng)絡故障位置檢測。這2 種方法都能保證檢測結(jié)果精度,但計算過程較為復雜,且故障信息傳播過程難以確定,主要因為工業(yè)通信網(wǎng)絡控制器之間的故障告警關(guān)系很復雜,以免疫算法為主的故障位置檢測很容易陷入局部最優(yōu),導致故障位置檢測難度增加。
為了確保工業(yè)通信網(wǎng)絡控制器故障位置檢測效率和準確率,本文采用改進免疫算法完成工業(yè)通信網(wǎng)絡控制器故障位置檢測。
工業(yè)通信網(wǎng)絡控制器故障告警數(shù)據(jù)中給出合理的故障源的解釋,是故障位置檢測必要環(huán)節(jié),故障關(guān)聯(lián)函數(shù)根據(jù)故障告警關(guān)系二分圖進行故障位置問題表述[5],故障告警關(guān)系如圖1 所示。
圖1 故障告警關(guān)系示意圖Fig.1 Schematic diagram of fault alarm relationship
假設工業(yè)通信網(wǎng)絡控制器故障告警關(guān)系二分圖用BG={B,G,LF(B,W)}表述,其中B={b1,b2,…,bn}表示故障集合,b1,b2,…,bn為故障源;G={g1,g2,…,gn}表示告警事件集合,g1,g2,…,gn為告警數(shù)據(jù);LF表示故障、告警之間的關(guān)系邊集合。
因故障源bi引發(fā)的故障告警集合為
告警gi引發(fā)的故障源數(shù)據(jù)集合為
關(guān)系邊L 主要有無權(quán)值與有權(quán)值2 種情況。當其為無權(quán)值時,故障傳播數(shù)學模型期望使用最少的故障源來描述目前的工業(yè)通信網(wǎng)絡控制器故障情況;當其為有權(quán)值時,各條邊表示故障源引發(fā)故障告警的經(jīng)驗概率。
為此,文中選用無權(quán)值的故障關(guān)聯(lián)函數(shù),故已知告警集合G,尋找故障源數(shù)據(jù)的子集B0?B,并保證|B0|值最小,同時符合約束條件,即B0與其對應的告警集合和G 等同,以此完成故障關(guān)聯(lián)函數(shù)構(gòu)建,故障關(guān)聯(lián)函數(shù)如下所示:
式中:Z(t)表示故障相似度度量函數(shù)。
故障關(guān)聯(lián)函數(shù)輸出數(shù)據(jù)的高頻部分分解是數(shù)據(jù)特征提取關(guān)鍵部分[6-7]。本文采用小波包方法完成控制器故障數(shù)據(jù)特征提取。
假設ψ(t)為基礎小波,ψ(π)表示ψ(t)的傅里葉變換,ρ 表示圓頻率。若ψ(t)∈l2(R),同時滿足小波約束條件,即:
根據(jù)小波基本原理形成的二進離散小波的表達式為
根據(jù)式(4)可知,小波簇{ψa(t)|j,a∈Z}是組成l2(R)的正交基,則x(t)∈l2(R)的正交小波分解結(jié)果為
當j=n 時,根據(jù)小波原理得出ψ(t)的小波變換結(jié)果,即ψ(t)=un(t)與ψ(t)=un-1(t):
設un為正交度尺度函數(shù)un(t)的小波包,則un(t)=ψ(t)。h 與g 分別表示2 個不同的分解系數(shù),則g(a)=(-1)ah(1-a),表明這2 個系數(shù)均符合正交關(guān)系。由此將其分解中的正交小波分解擴展到小波包分解中,則故障數(shù)據(jù)的小波包描述為
小波包分解過程中,若分解層數(shù)越多,表明分解結(jié)果精度越高。將故障關(guān)聯(lián)函數(shù)的輸出數(shù)據(jù)分解成2n層后,各層得到特征均為部分數(shù)據(jù),也就是該數(shù)據(jù)分解到各正交頻帶上,各頻帶總能量與初始能量相等。
利用小波包分解方法對故障數(shù)據(jù)做分解處理可以獲得每個頻段上的能量,即:對初始采樣集合通過n 層小波包分解,獲得第1-n 層總共2n個頻段的小波包分解集合{d1,d2,…,d2n};求解每一個頻段上小波包分解系數(shù)集合的能量。用En,j表示第各頻段的能量,則其計算公式如下:
每一個子頻帶的能量元素En,j作為該數(shù)據(jù)重建的特征矢量,則有{E1,E2,…,E2n}。結(jié)合其對能量集合進行歸一化處理,使得集合的和為單位1,處理后的集合即控制器故障數(shù)據(jù)特征提取結(jié)果,具體用Ti表示,即:
通過式(10)、式(11)得出特征矢量集合{Ti|i=1,2,…,2n},以此完成故障數(shù)據(jù)特征提取。
傳統(tǒng)的單一搜索算法易丟失部分數(shù)據(jù)特征,本文引入粒子群算法對其進行改進,完善后免疫記憶能力增強,抗體種類增多,并確保數(shù)據(jù)不被丟失,以此保證故障位置檢測的精準度。
粒子群算法是通過分析鳥群覓食后,得出一種仿生物進化尋優(yōu)算法,該算法的關(guān)鍵是速度和位置更新[8-9],即:
式中:χ 表示慣性權(quán)重值;k 表示迭代次數(shù);i′表示粒子;α1與α2分別表示自我學習與社會學習因子;μ1與μ2是0~1 之間任一實數(shù)值;與分別表示粒子i ′迭代時的速度與位置與分別表示粒子i′迭代時個體與群體的最優(yōu)位置。速度過快或者過慢,都會影響局部尋優(yōu)的結(jié)果,需要將其控制在[vmin,vmax]范圍內(nèi)。
慣性權(quán)重χ 通過下述公式計算得出:
式中:χ′與χ″分別表示尋優(yōu)開始與停止時的慣性權(quán)重大?。篢max表示最大迭代次數(shù)。
在網(wǎng)絡控制器故障位置檢測過程中,其迭代過程均為二進制,則速度壓縮至[0,1]區(qū)間內(nèi),使用sigmoid 函數(shù)完成變換,計算過程為
免疫算法經(jīng)過種群的選取、交叉、變異等環(huán)節(jié)增加物種類型,進而在迭代時以一定概率跳出局部的最優(yōu)解。在故障位置檢測時,當抗體種群具有一定規(guī)模時,免疫算法就能跳出局部最優(yōu),并隨著迭代次數(shù)的增多,使其收斂至全局最優(yōu)[10]。粒子群算法的各粒子反復迭代后,各粒子的特征大致相同,進而降低種群種類,若陷入局部最優(yōu)時,無法跳出。
基于此,本文融合這2 種方法的特征,對免疫算法進行改進,實現(xiàn)過程如下:
(1)在初始化種群后,將原始種群分成2 個子種群,即粒子群尋優(yōu)的子種群與免疫方法尋優(yōu)的子種群。
(2)首次尋優(yōu)迭代完成后,把粒子群獲得全局最優(yōu)粒子和免疫算法記憶庫中的抗體對比與交流,假設粒子群得出適應度數(shù)值大于記憶庫中的抗體,就需要對記憶庫進行更新。
(3)結(jié)合更新后的結(jié)果,確定粒子群的位置與速度,與此同時生成新的抗體。
基于改進免疫算法的工業(yè)通信網(wǎng)絡控制器故障位置檢測詳細流程如下:
(1)參數(shù)設定。n′表示尋優(yōu)迭代最大次數(shù),N′表示抗體群的規(guī)模,N″表示記憶細胞數(shù)量,L′表示抗體長度,Pc與Pm分別表示交叉與變異的概率。
(2)初始化。N′+N″表示原始抗體群,把N′種群分成2 個相同種群,即N1與N2。
(3)評估抗體N1+N″與N2。根據(jù)粒子群算法得出新抗體群N2,并尋找N2中全局與個體的最優(yōu)抗體,即
(4)對記憶細胞進行更新處理。選取和抗原親和度最高的N″個抗體與原記憶細胞中的抗體比較,若親和度大于原細胞中的抗體,則更新記憶細胞中的抗體,親和度計算公式為
式中:S 表示抗體;Fv表示適應度函數(shù)。根據(jù)式(15)得出記憶細胞中各抗體的適應度數(shù)值,并對比分析和抗體群N2中的全局最優(yōu)抗體與個體最優(yōu),若與大于記憶庫中抗體,則更新記憶庫。
(5)不斷更新子群體N1+N″。從N1+N″中提取期望值繁殖率最高的N1個抗體作為父代群體,并對其進行選擇、交叉與變異操作,生成新的抗體群N1與記憶細胞中的抗體,建立新的抗體群N1+N″。
(6)更新N2子種群。提取記憶庫中適應度最佳的抗體,把其當作全局最優(yōu)抗體,以此更新粒子群的位置與速度更新。
(7)判定是否符合最大迭代次數(shù)n′,若是,則終止循環(huán),輸出最優(yōu)抗體;反之,返回步驟(4),直到滿足最大迭代次數(shù)n′為止。
實驗訓練樣本總數(shù)分別為300、600、1200、2400,任意抽取20%的樣本作為測試集用于實驗,將小波神經(jīng)網(wǎng)絡與BP 神經(jīng)網(wǎng)絡作為本文方法的對比方法。實驗設定相關(guān)參數(shù)如表1 所示。
表1 實驗相關(guān)參數(shù)Tab.1 Experimental related parameters
2.2.1 故障位置檢測結(jié)果
工業(yè)通信網(wǎng)絡控制器分布如圖2 所示。
圖2 工業(yè)通信網(wǎng)絡控制器分布Fig.2 Distribution of industrial communication network controllers
3 種方法的控制器故障位置檢測結(jié)果如圖3 所示。
圖3 故障位置檢測結(jié)果Fig.3 Fault location detection results
圖3 中正方形框表示不同方法檢測出的故障位置。分析圖3 中的結(jié)果可知,小波神經(jīng)網(wǎng)絡與BP 神經(jīng)網(wǎng)絡不能夠檢測出全部的故障位置,而改進免疫算法通過告警關(guān)系二分圖建立故障關(guān)聯(lián)函數(shù),并制定告警邊約束條件,能夠精準找出實際的故障源,分析出故障所在的位置,以此得出的故障位置檢出率較高。
2.2.2 故障位置誤檢率
3 種方法的工業(yè)通信網(wǎng)絡控制器故障位置誤檢率比較結(jié)果如圖4 所示。
圖4 故障位置誤檢率對比示意圖Fig.4 Comparison diagram of fault location error detection rate
分析圖4 可知,小波神經(jīng)網(wǎng)絡與BP 神經(jīng)網(wǎng)絡算法誤檢率變化曲線遠高于改進免疫算法,原因是所提本文方法通過粒子群算法改進免疫算法,有效提升種群類型,增強免疫記憶能力,使其故障位置檢測誤檢率下降。
2.2.3 故障位置檢測耗時
3 種方法的故障位置檢測耗時變化情況如圖5所示。從圖5 能夠看出,改進免疫算法耗時最短,因其采用小波包方式能夠全面提取故障數(shù)據(jù)特征,為故障位置檢測節(jié)省大量時間;而小波神經(jīng)網(wǎng)絡與BP神經(jīng)的控制器故障位置檢測環(huán)節(jié)較多,需要消耗大量時間,進而證實本文方法的故障位置效率高,實際應用效果好。
圖5 故障位置檢測耗時情況Fig.5 Time consumption of fault location detection
標準單一挖掘算法在工業(yè)通信網(wǎng)絡控制器故障位置檢測過程中尋找最優(yōu)解速度較慢,極難找出全局最優(yōu)解,以此本文通過粒子群算法改善遺傳免疫算法的性能,從而通過增加種群種類,增強該算法的全局尋優(yōu)能力,進而提升工業(yè)通信網(wǎng)絡控制器故障位置檢測的精度。通過實驗證明,所提方法在故障位置檢測效果、誤檢率與檢測耗時方面均具有一定的優(yōu)勢,驗證了該方法的有效性。