張 杰,曲麗萍,何昌龍,高泰路
(北華大學(xué)電氣與信息工程學(xué)院,吉林 吉林 132021)
隨著智能電網(wǎng)的發(fā)展,電網(wǎng)的規(guī)模愈加龐大.當(dāng)電網(wǎng)某一區(qū)域出現(xiàn)故障時,為避免大規(guī)模連鎖故障的發(fā)生,要求準(zhǔn)確且快速地定位到故障區(qū)域并將其修復(fù),這給故障診斷帶來了新的挑戰(zhàn).電網(wǎng)故障診斷的相關(guān)研究早已開始,涌現(xiàn)出很多診斷方法[1],如人工神經(jīng)網(wǎng)絡(luò)、貝葉斯網(wǎng)絡(luò)、專家系統(tǒng)、Petri網(wǎng)理論[2]、模糊理論、解析模型[3]等.其中,人工神經(jīng)網(wǎng)絡(luò)因其強(qiáng)大的學(xué)習(xí)以及泛化能力,在故障診斷領(lǐng)域被廣泛應(yīng)用.比如,通過分析電流及其變化率,結(jié)合BP神經(jīng)網(wǎng)絡(luò)對直流電網(wǎng)進(jìn)行故障定位[4];在RBF神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上利用最小二乘算法優(yōu)化網(wǎng)絡(luò)參數(shù),并在4母線測試系統(tǒng)仿真中取得了優(yōu)于BP神經(jīng)網(wǎng)絡(luò)的結(jié)果[5];利用改進(jìn)的遺傳算法與神經(jīng)網(wǎng)絡(luò)相結(jié)合,優(yōu)化網(wǎng)絡(luò)參數(shù),提高了診斷的準(zhǔn)確率[6];在人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入模糊理論,構(gòu)建模糊神經(jīng)網(wǎng)絡(luò),在復(fù)雜模糊的故障信息識別中取得了良好的效果[7].但以往的研究也存在一些問題,比如,在電網(wǎng)規(guī)模比較大時,輸入數(shù)據(jù)量增加,使得神經(jīng)網(wǎng)絡(luò)計(jì)算量增加,診斷時間延長;當(dāng)故障信息丟失時,診斷系統(tǒng)往往得不到正確結(jié)果;在利用優(yōu)化算法優(yōu)化神經(jīng)網(wǎng)絡(luò)時,往往算法本身的尋優(yōu)能力就有局限,很容易陷入局部極值.
本文針對電網(wǎng)故障發(fā)生時故障信息丟失和診斷速度慢的問題,采用粗糙集中計(jì)算較為簡單、通用性較強(qiáng)的差別函數(shù)約簡冗余的條件屬性,簡化診斷網(wǎng)絡(luò)規(guī)模,提高神經(jīng)網(wǎng)絡(luò)的計(jì)算速度.與其他屬性約簡方法不同,利用差別函數(shù)可以一次性得到所有屬性約簡的結(jié)果;同時,為解決傳統(tǒng)遺傳優(yōu)化算法容易陷入局部極值的問題,采用比傳統(tǒng)遺傳算法全局尋優(yōu)能力更強(qiáng)的量子遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值.在兩種方法融合下,最大限度地提高電網(wǎng)故障診斷的準(zhǔn)確率、容錯性并縮短診斷時間.
BP神經(jīng)網(wǎng)絡(luò)是一種典型的前饋神經(jīng)網(wǎng)絡(luò),包括輸入層、隱含層和輸出層[8],其特點(diǎn)是具有非線性、學(xué)習(xí)能力和自適應(yīng)性.圖1是單隱含層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),x和y是網(wǎng)絡(luò)的輸入和輸出信號,輸入層至隱含層、隱含層至輸出層均通過權(quán)值ω連接.信號經(jīng)輸入層輸入,經(jīng)隱含層后傳遞到輸出層,這一過程稱為前向傳遞.當(dāng)輸出層的輸出未達(dá)到期望值時,通過計(jì)算期望輸出與網(wǎng)絡(luò)輸出的誤差形成誤差信號按原來的網(wǎng)絡(luò)通路反向計(jì)算,逐步調(diào)整各層神經(jīng)元的權(quán)值和閾值,使網(wǎng)絡(luò)誤差減小.
圖1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)銯ig.1 BP neural network topology
訓(xùn)練數(shù)據(jù)的獲取.將保護(hù)和斷路器的動作信息作為輸入,相應(yīng)的區(qū)域或者元件作為輸出,形成訓(xùn)練樣本集.BP算法的實(shí)現(xiàn)步驟如下(以梯度下降法為例).
1)根據(jù)輸入、輸出數(shù)據(jù)確定網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)、輸出層節(jié)點(diǎn)數(shù)、隱含層節(jié)點(diǎn)數(shù),初始化各層權(quán)值和閾值.
2)隱含層輸出:
式中:i=1,2,…,n,n為輸入層節(jié)點(diǎn)數(shù);j=1,2,…,l,l為隱含層節(jié)點(diǎn)數(shù);f為輸入層到隱含層的激勵函數(shù);ωij為輸入層和隱含層間的權(quán)值;xi為輸入數(shù)據(jù);aj為隱含層閾值.
3)輸出層輸出:
式中:k=1,2,…,m,m為輸出層節(jié)點(diǎn)數(shù);g為隱含層到輸出層的激勵函數(shù);ωjk為隱含層和輸出層之間的權(quán)值;bk為輸出層閾值.
4)誤差計(jì)算:
ek=Yk-Ok,
式中:k=1,2,…,m;Yk為期望輸出.
5)權(quán)值更新:
6)閾值更新:
7)判斷算法是否滿足終止條件,若不滿足,返回步驟2).
8)用故障樣本集測試訓(xùn)練好的神經(jīng)網(wǎng)絡(luò).
在利用神經(jīng)網(wǎng)絡(luò)進(jìn)行電網(wǎng)故障診斷時,粗糙集經(jīng)常被用來對數(shù)據(jù)進(jìn)行預(yù)處理.利用屬性約簡,刪除冗余的、容易對故障診斷形成干擾的屬性,從而簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提高故障診斷的準(zhǔn)確率.
差別矩陣在粗糙集理論中是一個極其重要的概念,其基本概念最早于1991年被提出.
差別矩陣定義:決策表S=(U,A,V,F(xiàn)),S的差別矩陣Mn×n是一個n×n的矩陣,x,y∈U,其中任意一個元素為[9]
(1)
由式(1)可知,在決策表中,若任意兩組的決策屬性值不同,且條件屬性值也不完全相同時,該矩陣元素為不同條件屬性的組合;若任意兩組決策屬性值相同,則矩陣元素記為0或?;若兩組決策屬性不同,但條件屬性完全相同,則記作矩陣元素為-1.
差別函數(shù)定義:決策表S=(U,A,V,F(xiàn)),S的差別函數(shù)Mn×n是一個n×n的矩陣,x,y∈U,其任一元素a(x,y)={a∈A:F(x,a)≠F(x,a)}.a(x,y)是區(qū)別x和y的所有屬性構(gòu)成的集合.對于a作如下定義:
用Δ表示差別函數(shù),則
(2)
基于差別函數(shù)的屬性約簡算法是在差別矩陣的基礎(chǔ)上,利用差別函數(shù)的概念[10],通過適當(dāng)?shù)倪壿嬘?jì)算得到約簡結(jié)果.與其他屬性約簡方法不同,利用差別函數(shù)可以一次得到所有可能的約簡結(jié)果.
在利用差別函數(shù)進(jìn)行屬性約簡時,首先要進(jìn)行求核運(yùn)算.主要方法:若所要約簡系統(tǒng)的差別矩陣存在單個屬性,則所有單個屬性構(gòu)成的集合即為系統(tǒng)的核.
當(dāng)面對比較龐大的系統(tǒng)時,利用差別函數(shù)進(jìn)行屬性約簡時的計(jì)算量往往比較大,因此,需要尋找一種方法來簡化邏輯運(yùn)算.本文采用文獻(xiàn)[10]中改進(jìn)的差別函數(shù)屬性約簡算法來簡化計(jì)算.
在電網(wǎng)故障診斷中,利用差別函數(shù)屬性約簡的具體操作步驟:
1)形成故障診斷決策表,將決策表中的保護(hù)和斷路器作為條件屬性,對應(yīng)的故障區(qū)域或元件作為決策屬性.
2)計(jì)算差別矩陣Mn×n.
3)差別矩陣中所有單個屬性構(gòu)成的集合為電網(wǎng)故障診斷決策表的核,記作CORE;
4)令所有包含核元素的矩陣元素為0,形成新的差別矩陣M′n×n.
5)根據(jù)差別函數(shù)的概念,先將M′n×n中所有的非空和非零元素cij析取,然后與其他元素進(jìn)行合取,即L∧(∨)(M′)=∧?cij,其中,cij=a(x,y),a(x,y)=a1∨a1∨…∨ak.
6)對步驟5)中的析取、合取式進(jìn)行運(yùn)算,轉(zhuǎn)化為析取范式,即L∧(∨)(M′)=∨Lk,其中,L為一個合取式.
7)將步驟6)中的合取式L與核組合,L∧(∨)(M)=∨(Lk∧CORE).
8)得到所有的約簡集合RED={Lk∧CORE},從中任意選取一個.
9)將選取的約簡屬性集合按照決策規(guī)則重新形成故障診斷決策表.
量子遺傳算法是量子計(jì)算理論與遺傳算法相結(jié)合的產(chǎn)物[11].作為一種優(yōu)化算法,量子遺傳算法通常用于求解函數(shù)極值以及解決背包問題.量子遺傳算法與傳統(tǒng)遺傳算法的一個不同點(diǎn)是編碼方式不同:傳統(tǒng)遺傳算法通常采用二進(jìn)制編碼或者實(shí)數(shù)編碼;而量子遺傳算法則是采用量子比特表示.量子比特的最大特點(diǎn)是疊加特性,每一個量子比特不僅能表示0或1,還能表示0和1之間的任意疊加態(tài)[12-13].表示方法:
式中:α、β為相應(yīng)的概率幅,且滿足歸一化條件:
|α|2+|β|2=1,
在QGA中采用概率幅作為染色體編碼方式:
其中:i=1,2,…,m為種群規(guī)模;n為量子比特?cái)?shù).由式(2)可以看出,n個量子比特能表示2n個狀態(tài),這就使得對于同一個優(yōu)化問題,量子遺傳算法設(shè)置很小的種群規(guī)模即可完成尋優(yōu).
量子遺傳算法與遺傳算法的另一個不同點(diǎn)是染色體放入更新方式不同.量子遺傳算法中個體的進(jìn)化是依靠量子旋轉(zhuǎn)門實(shí)現(xiàn)的.量子旋轉(zhuǎn)門:
式中:θ為旋轉(zhuǎn)角.
染色體更新方式:
量子旋轉(zhuǎn)門使概率幅發(fā)生改變,從而使種群向著最優(yōu)的方向進(jìn)化.通常,旋轉(zhuǎn)角θi=s(αi,βi)Δθi,其中:s(αi,βi)為旋轉(zhuǎn)方向;Δθi為角度步長,一般地,Δθi在[0.001π,0.05π]之間.通常旋轉(zhuǎn)角的確定可以通過查表法獲得,關(guān)于查表法的內(nèi)容文獻(xiàn)[11]有詳細(xì)描述,但在實(shí)際應(yīng)用中查表法過于煩瑣,針對此問題,文獻(xiàn)[12]中提出了一個對稱性更好、更易于軟件實(shí)現(xiàn)的轉(zhuǎn)角策略.本文所采用的轉(zhuǎn)角策略:
θi=sgn((f(x)-f(b))×(xi-bi)×αi×βi)Δθi.
量子遺傳算法僅僅通過單一的量子旋轉(zhuǎn)門使個體進(jìn)化,為了避免由于單一染色體更新方式造成算法陷入局部最優(yōu),引入量子災(zāi)變操作.當(dāng)量子遺傳算法進(jìn)化數(shù)代,其最優(yōu)值都不發(fā)生變化時,則判定算法陷入了局部最優(yōu),這時對算法進(jìn)行災(zāi)變操作,通過施加較大的擾動使其擺脫當(dāng)前狀態(tài).通常的做法是設(shè)定一個迭代閾值,若連續(xù)迭代次數(shù)超過設(shè)定閾值,而最優(yōu)解均沒有變化,此時保留最優(yōu)個體,其余個體重新生成.
1)確定網(wǎng)絡(luò)結(jié)構(gòu).
2)初始化種群大小、迭代次數(shù)、災(zāi)變閾值.
3)對種群進(jìn)行測量,得到二進(jìn)制編碼.
4)計(jì)算適應(yīng)度,并進(jìn)行個體評價,保存最優(yōu)個體.
5)判斷是否終止算法,若終止,則輸出最佳個體;若不終止,則進(jìn)行下述進(jìn)化操作.
6)量子旋轉(zhuǎn)門.確定旋轉(zhuǎn)角的大小和方向,利用旋轉(zhuǎn)門進(jìn)行更新進(jìn)化.
7)判斷是否達(dá)到量子災(zāi)變條件,若達(dá)到,則進(jìn)行量子災(zāi)變;若未達(dá)到,則將災(zāi)變計(jì)數(shù)加1,轉(zhuǎn)入步驟3).
8)重復(fù)步驟3)~8),直至滿足終止條件,解碼染色體,得到權(quán)值和閾值,訓(xùn)練網(wǎng)絡(luò).
以文獻(xiàn)[6]中的簡單配電網(wǎng)為例進(jìn)行仿真分析,見圖2.其中:S1~S5為5個區(qū)域;CO1~CO5為過流保護(hù);CB1~CB5為斷路器;RR1、RR3為該系統(tǒng)的后備保護(hù).
圖2 簡單配電網(wǎng)系統(tǒng)Fig.2 Simple distribution network system
通過分析發(fā)生故障時保護(hù)和斷路器的動作情況得到故障診斷決策表,見表1,其中,條件屬性由保護(hù)和斷路器組成,決策屬性由5個區(qū)域和1個無故障情況組成.“1”表示該保護(hù)和斷路器動作,“0”表示該保護(hù)和斷路器未動作.
表1 故障診斷決策表Tab.1 Fault diagnosis decision table
利用差別函數(shù)對上述故障診斷決策表進(jìn)行屬性約簡,經(jīng)計(jì)算可得CORE={CO2,CO3,CO4,CO5},RED={CO1,CO2,CO3,CO4,CO5,CB1,CB3}、{CO1,CO2,CO3,CO4,CO5,CB1,RR3}、{CO1,CO2,CO3,CO4,CO5,CB3,RR1}、{CO1,CO2,CO3,CO4,CO5,RR1,RR3}、{CO2,CO3,CO4,CO5,CB1,RR1,RR3}.從中任選一組,本文選取的約簡集合為{CO1,CO2,CO3,CO4,CO5,CB1,RR3}.根據(jù)保護(hù)和斷路器的動作信息,列出約簡后的故障診斷決策表,見表2.
表2 約簡后的故障診斷決策表Tab.2 Reduced fault diagnosis decision table
與表1相比,表2約簡了近一半的條件屬性,相當(dāng)于縮減了神經(jīng)網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)量,減小了網(wǎng)絡(luò)規(guī)模,提高了網(wǎng)絡(luò)的訓(xùn)練效率.
根據(jù)約簡后的故障診斷決策表構(gòu)建一個輸入層節(jié)點(diǎn)為7個,輸出層節(jié)點(diǎn)為6個的神經(jīng)網(wǎng)絡(luò).隱含層個數(shù)確定也是一個重要問題,隱含層節(jié)點(diǎn)數(shù)過少,會導(dǎo)致學(xué)習(xí)能力弱,診斷結(jié)果不準(zhǔn)確;隱含層節(jié)點(diǎn)數(shù)過多,會增加訓(xùn)練時間,而且還會導(dǎo)致容錯性變差.目前,神經(jīng)網(wǎng)絡(luò)隱含層的選取大多都是通過經(jīng)驗(yàn)公式獲得.該網(wǎng)絡(luò)的隱含層選取根據(jù)以下經(jīng)驗(yàn)公式得到:
式中:k為樣本數(shù);i為[0,n]之間的常數(shù);ni為第i個隱含層節(jié)點(diǎn)數(shù).當(dāng)神經(jīng)網(wǎng)絡(luò)采用單隱含層時,ni即為n1.
(3)
式中:n、m分別為輸入層和輸出層的節(jié)點(diǎn)數(shù)量;a為[1,10]之間的常數(shù).
n1=log2n,
(4)
本文神經(jīng)網(wǎng)絡(luò)中隱含層為1層,故通過式(3)和式(4)先得到隱含層節(jié)點(diǎn)數(shù)的大致范圍為5~23,然后通過神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,取最小均方誤差對應(yīng)的節(jié)點(diǎn)數(shù)為最佳隱含層節(jié)點(diǎn)數(shù).表3為隱含層取不同值時對應(yīng)的均方誤差.
表3 不同隱含層取值時對應(yīng)的均方誤差Tab.3 Mean square error corresponding to different hidden layer values
由表3可知,最佳隱含層數(shù)為12.因此,該網(wǎng)絡(luò)的結(jié)構(gòu)為7-12-6.設(shè)置量子遺傳算法的最大迭代次數(shù)為50,種群規(guī)模為40,災(zāi)變閾值為最大迭代次數(shù)的1/2,激活函數(shù)均采用sigmoid函數(shù),采用附加動量法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練.
表4為原始的故障測試樣本集,其中,樣本1和6分別為斷路器CB2、CB3誤動,樣本2為保護(hù)CO1誤動,樣本3、4、5為相應(yīng)的斷路器拒動.表5為屬性約簡后的故障測試樣本集.
表4 故障測試樣本Tab.4 Fault test sample
表5 屬性約簡后的故障樣本Tab.5 Fault sample after attribute reduction
本文通過傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)、遺傳算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)(GABP)和加入屬性約簡的量子遺傳神經(jīng)網(wǎng)絡(luò)(RSQGABP)3種方法對樣本進(jìn)行訓(xùn)練和測試.其中,網(wǎng)絡(luò)參數(shù)、訓(xùn)練方法均相同,規(guī)定輸出可信度閾值為0.7,當(dāng)數(shù)據(jù)大于或等于0.7時,認(rèn)為仿真結(jié)果是比較可信的.仿真結(jié)果見表6,故障診斷時間見表7.
表6 仿真結(jié)果Tab.6 Simulation results
表7 故障診斷時間Tab.7 Fault diagonosis time
通過故障測試樣本仿真結(jié)果可知:采用傳統(tǒng)BP網(wǎng)絡(luò)進(jìn)行故障診斷,在表6的6個故障測試樣本中,僅有測試樣本1、2、5能被正確診斷出來,診斷準(zhǔn)確率并不高,僅有50%;遺傳算法優(yōu)化后的準(zhǔn)確率有所提升,但對于樣本3、6仍然沒有給出正確的結(jié)果,診斷準(zhǔn)確率為66.7%;結(jié)合了粗糙集與量子遺傳算法后,6個故障測試樣本均能正確診斷出故障位置,故障診斷準(zhǔn)確率達(dá)到100%,同時通過屬性約簡后,即使故障信息丟失也能準(zhǔn)確診斷出故障位置.由表6、表7可以看出:基于粗糙集和量子遺傳算法的診斷結(jié)果和診斷數(shù)據(jù)均優(yōu)于BP法和GABP法,同時也因?yàn)橐雽傩约s簡縮小了網(wǎng)絡(luò)規(guī)模,減小了計(jì)算復(fù)雜度,故診斷時間也有所縮短.通過屬性約簡后的故障決策表也可以看出,該方法更適用于一些由斷路器拒動或者誤動造成的故障診斷.
由仿真分析可以看出,通過遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)后,故障診斷的準(zhǔn)確率有所提高,但還有提升空間.因此,在此基礎(chǔ)上引入了屬性約簡對數(shù)據(jù)進(jìn)行預(yù)處理,利用差別函數(shù)對原始決策樣本進(jìn)行屬性約簡后,網(wǎng)絡(luò)結(jié)構(gòu)大大簡化,縮短了診斷時間,診斷的準(zhǔn)確率再次提升,而且刪除了一些冗余的屬性.當(dāng)保護(hù)裝置的動作信息丟失時,該方法也能準(zhǔn)確地診斷出故障,提高了故障診斷的容錯性.在未來研究中,將面向規(guī)模更加龐大的電網(wǎng),研究在復(fù)雜系統(tǒng)中的診斷速度以及容錯性.