駱通,何晉,管恩齊,楊凡,曹魯成,周石金
(1.云南民族大學電氣信息工程學院,昆明 650000;2.國網(wǎng)山東省電力公司單縣供電公司,山東 菏澤 274300)
越來越多的風力發(fā)電、光伏發(fā)電和水利發(fā)電等分布式電源接入配電網(wǎng)[1-2],使得配電網(wǎng)由原來的單電源供電變?yōu)槎鄠€電源供電,配電網(wǎng)的結(jié)構(gòu)發(fā)生變化,更加復(fù)雜[3-4]。當配電網(wǎng)的某個地方發(fā)生故障時,流過故障點的電流除了來自于系統(tǒng)電源外,還來自于分布式電源,功率也可能發(fā)生倒向,使故障定位的難度增加[5]。
目前故障定位的算法主要有兩大類,一類是基于饋線終端裝置(feeder terminal unit,F(xiàn)TU)的矩陣算法[6],矩陣算法容錯較差,對FTU 上傳的故障信息準確性要求比較高,如果FTU 上傳的信息發(fā)生畸變,則容易導(dǎo)致誤判,無法正確識別故障區(qū)段。另一類是基于饋線終端裝置檢測的智能算法,包括粒子群算法[7]、遺傳算法[8]、蟻群算法[9]、蝙蝠算法[10]、神經(jīng)網(wǎng)絡(luò)算法[11]等。文獻[7]采用的方法收斂速度快,但容易陷入局部最優(yōu)。文獻[8]對解空間進行協(xié)同搜索,提高了收斂效率。但交叉變異概率為定值,不能隨個體適應(yīng)度值的大小自動調(diào)整。文獻[9]采用的方法需要設(shè)置合適的參數(shù),否則收斂效果不好。文獻[10]采用的方法同樣有些依賴參數(shù)的調(diào)整,同時后期收斂速度可能會變慢。文獻[11]采用的方法在識別雙重故障進行故障定位時正確率不夠高。
針對上述問題,提出了一種模擬退火算法和天牛群算法相結(jié)合的算法,并將此算法應(yīng)用到含分布式電源配電網(wǎng)的故障定位中。利用Matlab 進行仿真,檢驗提出的算法,并與其他算法進行比較,結(jié)果證明了該算法在的優(yōu)勢。
天牛群優(yōu)化算法[12]是2020 年提出的一種用于全局尋優(yōu)的智能算法,結(jié)合甲蟲覓食機制和群體優(yōu)化算法,具有良好的魯棒性和運行速度,本文借鑒此算法,將天牛須算法和粒子群算法相結(jié)合。天牛須算法[13-14]是2017 年提出的一種用于全局尋優(yōu)的智能算法,來源于天牛尋找食物的過程,天牛須算法是模擬一只天牛尋找食物的過程,天牛的左右須可以感受到食物散發(fā)的氣味濃度,天牛判斷左須和右須感受到的濃度差別來決定下一步移動的方向,以此類推,直到找到食物為止。天牛須算法不需要了解具體公式,不需要梯度信息,就可以實現(xiàn)高效全局尋優(yōu)。群體化后各天牛之間可以進行信息共享,使收斂速度加快。
天牛群算法的原理如下所示:
1)假設(shè)天牛群中天牛個數(shù)為N,待優(yōu)化問題變量維數(shù)為D,初始化天牛群的位置為X、速度為V,且X和V都是N×D的矩陣,第i個天牛的速度向量為Vi=Vmax(V1,V2,V3,…,Vn),位置向量為Xi=(X1,X2,X3,…,Xn)并確定個體最優(yōu)Pbest和全局最優(yōu)Gbest。
2)利用式(1)來更新速度,并利用式(2)對速度進行歸一化處理,求得天牛右須指向左須的朝向:
3)根據(jù)朝向,由式(3)可得第i個天牛的左須位置,由式(4)可得第i個天牛的右須位置:
式中,d為天牛左須和右須之間的間距。
4)根據(jù)第i個天牛的左須位置和右須位置,可求的天牛左須和右須的適應(yīng)度函數(shù)值fl和fr,fl=f(xl),fr=f(xr),并按照式(5)來更新第i個天牛位置,公式為
式中,d表示步長。
5)判斷迭代次數(shù),如果迭代次數(shù)達到要求,則迭代完成,否則按照式(1)至式(5)繼續(xù)迭代。
模擬退火算法[15]的基本思想來自物理退火過程,該過程主要由以下幾個組成部分:加溫過程、等溫過程和冷卻過程。
該算法的具體流程如下:
1)設(shè)置初始溫度T0(根據(jù)具體情況充分大)、初始解狀態(tài)X0、每個溫度T值需要迭代的次數(shù)為L。
2)對k=1,2,3,…,L,重復(fù)第3)步至第6)步。
3)產(chǎn)生新的解狀態(tài)X′。
4)計算增量ΔE,ΔE=E(X′)-E(X),其中E(X)為構(gòu)造的評價函數(shù)。
5)如果ΔE小于0,則接受X′作為新的當前解,否則以概率exp(-ΔE/T)接受X′作為新的當前解。
6)如果滿足終止條件,則輸出當前解作為最優(yōu)解,結(jié)束程序。
7)T漸漸降低,且T趨近與0,然后轉(zhuǎn)第2)步。
由于天牛須算法和粒子群算法結(jié)合僅僅是讓天牛群體化,實現(xiàn)信息共享,增加其搜尋的效率,可以更加快速地找到最優(yōu)的目標,但在一定程度上仍然不能避免其陷入局部最優(yōu)。所以,在此基礎(chǔ)上,引入模擬退火算法,可以避免其陷入局部最優(yōu)。
該算法是以天牛群算法為主體算法,同時引入模擬退火機制。
其算法步驟如下:
1)初始化天牛群的位置和速度后,求得個體最優(yōu)解和全局最優(yōu)解,比較兩個最優(yōu)解并保留更優(yōu)解,然后,確定初始溫度T0,計算公式為
2)根據(jù)式(7)確定當前溫度下各天牛的適應(yīng)值。
3)根據(jù)式(8)、式(9)以一定的概率,從所有的天牛中確定全局最優(yōu)的替代值。
4)接著按照式(1)-式(5)更新個體最優(yōu)和全局最優(yōu),然后進行退溫操作。
式中,lamda 為降溫速率。
當算法滿足迭代次數(shù),則停止迭代,輸出最優(yōu)解,否則返回公式(7)繼續(xù)計算。
算法的流程圖見圖1。
圖1 SABSO算法流程圖Fig.1 Flow chart of SABSO algorithm
配電網(wǎng)發(fā)生故障后,收集安裝在配電網(wǎng)各線路開關(guān)處的FTU 在故障發(fā)生時上傳的故障電流信息,進行二進制編碼,然后計算開關(guān)函數(shù)和適應(yīng)度函數(shù),并通過算法逐次迭代,找到最優(yōu)解,即故障位置。
對FTU 上傳的故障電流信息進行二進制編碼,一般的單電源電路的線路故障電流信息可以用二進制編碼“0”或“1”來表示,但是含有分布式配電網(wǎng)的線路故障則無法用二進制編碼“0”或“1”來表示,因為分布式電源的并入,使得故障點的電流不僅僅來自于配電網(wǎng)的系統(tǒng)電源,還可以從分布式電源流入故障點。所以我們用“1”,“0”,“-1”來表示故障電流信息[16],假定從系統(tǒng)電源流向各區(qū)段的方向為正,這樣可以得出:
式中,Ij(j=1,2,3,…,N)為第j個開關(guān)狀態(tài)的編碼,N為開關(guān)總個數(shù)。
本文采用文獻[17]中的開關(guān)函數(shù),應(yīng)用于含分布式電源配電網(wǎng)的故障定位,開關(guān)函數(shù)為
式中:“Σ”為邏輯或運算;M和N分別為以編號為j的開關(guān)為分界點的上游配電網(wǎng)和下游配電網(wǎng)中線路區(qū)段的數(shù)目;KS1為上游配電區(qū)域的系統(tǒng)電源是否接入配電網(wǎng),KS2為下游配電區(qū)域的分布式電源是否接入配電網(wǎng)電源的開關(guān)系數(shù),“0”代表沒有接入,“1”代表接入;Xj,s1和Xj,s2分別為編號是j的開關(guān)到上游配電區(qū)域的系統(tǒng)電源或分布式式電源和到下游配電區(qū)域的分布式電源的路徑上所經(jīng)過的所有線路區(qū)段的狀態(tài)值;Xj(n)和Xj(m)分別為以編號是j的開關(guān)為分界點的上游配電網(wǎng)和下游配電網(wǎng)中線路區(qū)段的狀態(tài)值。
適應(yīng)度函數(shù)對算法能否得到最優(yōu)解即配電網(wǎng)能否準確定位起著決定性作用,文獻[18]提出適應(yīng)度函數(shù),該適應(yīng)度函數(shù)是單電源配電網(wǎng)故障定位常用的適應(yīng)度函數(shù),同時也適用于含分布式電源的多電源配電網(wǎng)的故障定位,具體公式為
式中:Ij為FTU 上傳的第j個開關(guān)的狀態(tài)信息;I*j(SB)為第j個開關(guān)的期望狀態(tài);N為配電網(wǎng)開關(guān)總個數(shù);M為配電網(wǎng)饋線總數(shù);SB(j)為區(qū)段狀態(tài)編碼,“1”代表該區(qū)段有故障,“0”代表該區(qū)段沒有故障;w為設(shè)置的系數(shù),取值為[0,1]之間的正實數(shù),本文取w=0.5。
本文采用如圖2 所示的典型33 節(jié)點含分布式電源配電網(wǎng)。其中S 代表系統(tǒng)電源,DG1、DG2、DG3代表3 個接入的分布式電源,K1、K2、K3代表3 個分布式電源與配電網(wǎng)的開關(guān),0 表示分布式電源沒有接入配電網(wǎng),1 表示分布式電源接入配電網(wǎng);1-33 為開關(guān)的節(jié)點編號,(1)-(33)為相對應(yīng)的線路區(qū)段編號。本文采用Matlab2019a 來對基于模擬退火的天牛群算法進行編程,具體參數(shù)設(shè)置如下:種群數(shù)目N=100,維度為D=33,天牛加速因子w1=1.6 和w2=1.445,最大迭代次數(shù)M=50,初始溫度T,Vmax=3,降溫速率lamda=0.6,每個溫度迭代N次,步長δ=10,兩須之間的距離d=1,慣性常數(shù)eta=0.95。
圖2 含DG的33節(jié)點配電網(wǎng)模型Fig.2 33-node distribution network model containing DG
假設(shè)配電網(wǎng)在線路的不同位置發(fā)生單區(qū)段故障,在考慮分布式電源是否接入配電網(wǎng)以及各線路上FTU 上傳的各分段開關(guān)的信息是否發(fā)生畸變等不同情況進行仿真,測試結(jié)果見表1。
表1 單重故障仿真結(jié)果Table 1 Simulation result of single fault
由表1 可以看出,當發(fā)生單區(qū)段故障時,無論FTU 上傳的各分段開關(guān)的信息是否發(fā)生畸變,以及分布式電源是否接入配電網(wǎng),模擬退火天牛群算法都可以準確識別出故障區(qū)域。
現(xiàn)實生活中,兩個區(qū)段及以上同時發(fā)生故障以及FTU 上傳的各分段開關(guān)的信息發(fā)生畸變的概率很低,為了充分測試算法的性能,所以進行配電網(wǎng)多區(qū)段故障仿真,假設(shè)配電網(wǎng)在線路的不同位置發(fā)生多區(qū)段故障,在考慮分布式電源是否接入配電網(wǎng)以及各線路上FTU 上傳的各分段開關(guān)的信息是否發(fā)生畸變等不同結(jié)果進行仿真,測試結(jié)果見表2。
表2 多重故障仿真結(jié)果Table 2 Simulation result of multiple faults
由表2 可以看出,當發(fā)生多區(qū)段故障時,無論FTU 上傳的各分段開關(guān)的信息是否發(fā)生畸變,以及分布式電源是否接入配電網(wǎng),模擬退火天牛群算法都可以準確識別出故障區(qū)域。
在參數(shù)設(shè)置相同條件下,分布式電源接入情況為K1=1、K2=1、K3=1,分別采用模擬退火粒子群(SAPSO)算法、天牛群(BSO)算法和模擬退火天牛群(SABSO)算法對以下情況進行模擬仿真,對比圖見圖3。
1):饋線(8)發(fā)生故障,無信息畸變;
2):饋線(8)發(fā)生故障,6 號開關(guān)處FTU 上傳的信息發(fā)生畸變;
3):饋線(8)(20)發(fā)生故障,無信息畸變;
4):饋線(8)(20)發(fā)生故障,6 號和18 號開關(guān)處FTU 上傳的信息發(fā)生畸變。
從圖3 可以看出,在以上4 種情況下,3 種算法均可以達到理想的適應(yīng)度值。模擬退火天牛群算法的收斂速度明顯快于模擬退火粒子群算法的收斂速度,也比天牛群算法的收斂速快。并且,隨著故障難度的提升,模擬退火粒子群算法和天牛群算法的迭代次數(shù)都會有小幅度的增加,大致上,在單一故障的情況下,模擬退火天牛群算法在迭代4 次左右就可以尋得最優(yōu)解,而天牛群算法和模擬退火粒子群算法則分別需要迭代6 次和10 次左右。而在多重故障的情況下,模擬退火天牛群算法依然可以在迭代4 次左右就可以尋得最優(yōu)解,而天牛群算法和模擬退火粒子群算法則分別需要迭代7 次和12 次左右。
圖3 算法仿真對比圖Fig.3 Comparison diagram of algorithm simulation
針對圖3 的4 種情況,分別用模擬退火粒子群(SAPSO)算法、天牛群(BSO)算法和模擬退火天牛群(SABSO)算法進行模擬仿真,每種情況均仿真20次,結(jié)果見表3。
表3 3種算法故障定位正確率對比Table 3 Comparison fault location accuracy of three algorithms
由表3 對比可得,SABSO 算法在故障定位中的準確性高,即使存在信息畸變,準確性也高,具有高容錯性,比較可靠。相比于該算法,BSO 算法在故障定位中正確率也較高,但在信息畸變的多重故障情況下,正確率不如SABSO 算法,而SAPSO 算法隨著故障難度的提升正確率在不斷下降。
本文利用模擬退火天牛群算法實現(xiàn)了對含分布式電源配電網(wǎng)的故障區(qū)間定位,并通過Matlab 驗證了該算法在含分布式電源配電網(wǎng)故障定位中的優(yōu)勢。
該算法融合了天牛須算法的高效性,粒子群算法的信息交流以及模擬退火算法的可靠性,可以快速準確地求得全局最優(yōu)解,避免陷入局部最優(yōu)。在單區(qū)段和多區(qū)段發(fā)生故障甚至FTU 上傳數(shù)據(jù)發(fā)生畸變等復(fù)雜情況下,通過Matlab 算例仿真,驗證了該算法的有效性、快速性和容錯性,這為含分布式電源配電網(wǎng)以及更復(fù)雜配電網(wǎng)故障定位的深入研究提供了新的思路。