吳恬微
(安徽理工大學 電氣與信息工程學院,安徽 淮南 232000)
配電網是電力系統的重要組成部分,是保證供電質量、提高電網運行效率的關鍵環節[1].一旦發生故障,會給人們的生活帶來極大的不便,因此快速、精準地定位配電網故障對于提升電網運行的可靠性具有重要的意義.隨著配電網自動化程度的日益提高,通過FTU上傳的故障信息來確定故障區段的算法成為了研究的熱點[2],即:根據饋線上安裝的FTU對線路故障信息進行檢測,再把檢測結果上傳到SCADA終端,通過故障定位算法定位出故障區段.
目前,解決故障定位的算法主要有兩種:矩陣算法和智能算法.矩陣算法的原理是把配電網拓撲結構與故障信息相結合,生成故障判別矩陣,通過對故障判別矩陣的綜合分析獲得故障區段的位置.矩陣算法計算速度快,但對上傳的故障信息準確度要求高,容錯性差[3].智能算法有遺傳算法、蟻群算法等.遺傳算法容錯性較高,但搜索過程復雜,效率較低[4];蟻群算法能夠快速發現可行解,避免出現早熟收斂,但是搜索時間較長,容易出現停滯現象[5].
本文針對這一問題對傳統蟻群算法進行改進,提出了改進的ACOP算法,設置了初始信息素,并采用動態自適應調整信息素的方法,引入負信息素更新機制,整體采用正負信息素更新機制.經過仿真驗證表明了該算法的有效性和可行性.
蟻群算法(ACO)是Dorigo提出的一種模擬進化算法,其基本思想是使用一些本質上類似于真實螞蟻的人工螞蟻來尋找最優路徑,根據蟻群在搜索食物過程中所體現出的尋優能力來解決一些系統優化中的困難問題.


(1)

螞蟻每完成一次搜索后,需要對路徑上殘留的信息素進行更新,在t+n時刻路徑(i,j)上的信息素濃度為
τij(t+n)=
(1-ρ)τij(t)+Δτij(t),
(2)
(3)
式中:ρ表示信息素揮發因子;1-ρ表示信息素殘留因子;Δτijk(t)表示螞蟻k在完成一次迭代之后路徑(i,j)上的信息素量.
根據AntCycle模型,Δτij(t)的計算公式為

(4)
其中:Q表示信息素強度;Lk表示螞蟻k在本次循環中所走路徑的總長度.
蟻群算法是一個尋優算法,容錯能力較高,當故障信息出現畸變的時候,仍然可以準確地找出故障區域.蟻群算法最先應用于解決旅行商問題(TSP),在隨后的發展中,也成功地解決了其他多個組合優化問題.配電網的故障定位同樣是一個組合優化問題,本質上就是假設出各設備的故障狀態,使它最能符合FTU上傳的故障信息.
為了使用蟻群算法來實現故障定位,本文把配電網故障定位轉化為TSP問題來求解.TSP問題可以描述為:如果一個推銷員要訪問一系列城市,如何找到一條最短的路線不重復地經過所有城市.對應到配電網中,假設每一條饋線相當于一個城市,每條饋線都有無故障和故障兩個狀態(用0和1來表示),螞蟻通過判斷這兩個狀態上的信息素濃度,按照“輪盤法”選擇出每條饋線的狀態,螞蟻選擇所有饋線狀態的組合是一個可能解,接著計算該可行解的評價函數值. 假設有n個節點,每個饋線對應兩種狀態,那么一只螞蟻訪問完n個節點就有2n個可能解,在計算完每個可能解的評價函數值之后,根據評價函數值的大小來選擇各饋線狀態上釋放信息素的濃度大小.當評價函數值越小時,說明該狀態的組合越符合FTU上傳的故障信息,釋放的信息素也就越多;反之,當評價函數值越大時,釋放的信息素就越少.
在配電網故障定位中,構造評價函數是為了反映FTU上傳的故障信息與假設的故障狀態之間的差異,得出的評價函數值可以驗證該算法是否取得了最優解,本文構建的評價函數如下[6]:
(5)
式中,F(i)表示第i個解對應的適應度.
未發生故障時,
(6)

考慮到發生多點故障時,上述評價函數可能會導致誤判,本文在評價函數中引入故障診斷理論中最小集的概念[7],進一步降低誤判的概率,使期望的狀態組合與FTU上傳的故障信息之間的誤差最小.

(7)

在實際配電網中,大多為單點故障,發生三點以上故障的概率很低,本文對三點故障及以下同時故障的情形進行分析.配電網故障定位蟻群算法流程圖如圖1所示.

圖1 配電網故障定位蟻群算法流程圖
本文將從以下兩個方面出發,提出一種基于設置初始信息素濃度、動態信息素更新的高速收斂蟻群優化算法,簡稱ACOP算法.
(1)設置初始信息素
在蟻群算法中,每一次循環都需要螞蟻從起點出發,通過一系列尋優行為到達終點,由于算法初始化時信息素比較匱乏,導致初始解不具備優越性,很難在較短時間內找到一條較好的路徑.
當配電網中某一個區段發生故障時,假設共有n個區段,對每個區段不同路徑的初始信息素濃度進行設定,發生故障區段初始信息素濃度為a0,未發生故障區段的初始信息素濃度為b0,則
(8)
由于評價函數值越小,最終的解和最優解就最接近,同時FTU上傳的故障信息中含有的啟發因素可以指導螞蟻的搜索,因此螞蟻傾向于選擇評價函數值小的故障點,將其轉變為初始信息素,Fi為第i個區段發生故障時的評價函數,構造公式如下:
(9)
將公式(7)、(8)相結合,構造初始信息素公式如下:
(10)
(11)
其中,τi(a0)表示第i個區段上發生故障路徑的初始信息素濃度;τi(b0)表示第i個區段上未發生故障區段路徑的初始信息素濃度.
(2)動態更新信息素濃度
由于螞蟻間的相互聯系以及搜索主要靠信息素,信息素的更新策略是決定收斂速度的關鍵.針對蟻群算法易陷入局部最優并出現停滯現象的特點,本文采用動態自適應調整信息素的方法[8],使盡可能地擴大搜索空間和快速找到最優解達到一種平衡.
公式(4)中的信息素強度Q為常數項,本文采用時變函數Q(t)來代替Q,Q(t)會隨著螞蟻搜索過程的變化而做實時的調整,即:
(12)
由公式(1)可得,當信息素強度影響因子α為0時,即忽略信息素的影響,只有路徑的信息起作用,相當于最短路徑尋優,有
(13)
當能見度因子β為0時,即啟發函數的作用為0,此時相當于沒有目的的隨機搜索.有
(14)
在搜索的過程中,信息素會隨之蒸發或增多.選取時變函數Q(t)來代替Q,從而達到在解空間中的隨機搜索和受信息素啟發作用的平衡狀態,設置階梯函數如下:

(15)
為了避免在搜索的初期得到局部最優解,需要對正反饋機制進行一定的抑制,設定Q(t)為負數,使系統中加入負反饋信息,使算法的搜索范圍進一步擴大.
本文使用如圖2所示的IEEE33節點配電網系統模型來驗證此算法,使用MATLAB 2018b仿真軟件,編寫相應的算法程序,測試算法性能.

圖2 IEEE33節點配電網系統
該節點配電網系統包括33個節點和33支路,S表示主電源;節點S1~S32表示開關(包括分段開關和斷路器),并且安裝有FTU;S1~S32節點之間的區段L1~L32表示配電網的饋線區段.根據ACOP算法的原理,在編寫的MATLAB程序中設置相關參數:信息素強度影響因子α=1,能見度因子β=1,信息素揮發因子ρ=0.5,權重系數ω=0.07.
當區段發生單點故障時,開關上安裝的FTU把故障信息上傳到SCADA中心,根據ACOP算法的故障定位方法得到故障區段,并顯示出定位的結果.假設發生了2次單點故障,同時考慮到FTU上傳數據存在誤差,對含畸變的FTU單點故障也進行了仿真分析.每個測控點的狀態值為輸入量,各設備的狀態為輸出量,1表示檢測到過電流信息,0表示未檢測到過電流信息,測試結果如表1所列.

表1 單點故障測試結果
假設節點2與節點3之間的饋線區段發生故障,則故障信息為:11000 00000 00000 00111 10000 00000 000,運行算法程序,各設備的狀態為:01000 00000 00000 00000 00000 00000 000,說明L2區段發生了故障.假設節點10和節點11之間的饋線區段發生故障,則故障信息為:11111 11111 00000 00111 11111 11111 111,當FTU上傳的信息發生故障,假設節點12的故障信息發生了畸變(0畸變成1),節點30的故障信息發生了畸變(1畸變成0),故障信息就變成了:11111 11111 01000 00111 11111 11110 111,運行程序后,各設備的狀態為:00000 00001 00000 00000 00000 00000 000,即L10區段發生了故障,FTU畸變的信息對于算法運行的結果沒有影響.綜上所述,無論FTU上傳的有沒有發生畸變,該算法都能準確地定位出故障區段的位置,容錯性較好.
盡管在配電網中,發生的故障大多為單點故障,但是不能忽略發生多點故障的可能性.假設發生兩點故障和三點故障各兩次,將FTU采集的故障信息上傳到控制中心,分別代入到ACOP算法程序中,得到故障區段結果.兩組故障均設置了FTU發生畸變時的對照組,測試結果如表2所列.

表2 多點故障測試結果
發生兩點故障時:假設節點4與節點5、節點28與節點29間的饋線區段發生故障,則故障信息為:11111 10000 00000 00111 11111 11100 000,運行算法程序,各設備的狀態為:00010 00000 00000 00000 00000 00100 000,說明L4區段和L28區段發生了故障.
同理,假設節點19和節點20、節點23和節點24之間的饋線區段發生故障,則故障信息為:11000 00000 00000 00110 01100 00000 000,當FTU上傳的信息發生故障,假設節點16的故障信息發生了畸變(0畸變成1),故障信息就變成:11000 00000 00000 10110 01100 00000 000,運行程序后,各設備的狀態為:00000 00000 00000 00010 00100 00000 000,即L19區段和L23區段發生了故障,與預期結果一致.
發生三點故障時的分析過程同上.
根據表2的多點故障測試結果可知, ACOP算法同樣適用于兩點故障和三點故障,并且在FTU上傳的信息出現畸變時,仍然能夠準確地定位出故障區段的位置.
用MATLAB編寫經典的蟻群算法(ACO)、遺傳算法(GA)和粒子群算法(PSO)的程序,與改進的蟻群算法(ACOP)從平均迭代次數、迭代時間和算法精確度3個方面進行對比,以單點故障為例,每個算法程序運行50次,各算法的收斂特性對比如圖3所示,數據的總體運行結果如表3所列.結果表明,改進的蟻群算法可以最快找到最優解,優越性較高.
由圖3可以看出,在算法運行的過程中,適應度值隨著迭代次數的增加而減少,直到達到最小的適應度值,其中,ACOP算法的迭代次數為15次,其他算法的迭代次數分別為:26次、37次和42次,改進的蟻群算法的迭代次數遠遠小于其他3種算法,最快找到最優解.

圖3 算法收斂特性對比
由表3可知,在運行了50次程序后,相比于傳統的蟻群算法、遺傳算法和粒子群算法,改進的蟻群算法的平均迭代次數最少,迭代時間最短,正確度最高,具有較高的穩定性,有效地提高了配電網故障定位的效率和準確性.

表3 算法性能測試結果
本文通過比對TSP問題與配電網故障定位中相近的地方,用改進的蟻群算法來解決配電網故障定位問題.改進后的算法解決了擴大搜索空間和快速找到最優解的矛盾,避免了陷入局部最優,由于蟻群算法具有并行搜索及信息正反饋的特點,提高了尋找最優解的速度.通過33節點配電網算例分析表明,改進的蟻群算法適用于單點故障及多點故障類型,并且在FTU上傳信息出現少量畸變時仍能找到正確的故障區段,但是該方法對FTU等設備采集信息的精度要求較高,在算法性能上仍有改進的空間.