謝學磊
(國網天津市寶坻供電分公司,天津301800)
配電網的穩(wěn)定安全運行關乎著千家萬戶以及企業(yè)的用電穩(wěn)定,但是由于長時間的運行,配電網難免會出現(xiàn)一些故障,因此快速找到配電網中的故障節(jié)點就顯得尤為重要?,F(xiàn)有技術對該問題也做了一定的研究,其中文獻[1]采用二進制粒子群算法來實現(xiàn)復雜配電網的故障定位,構造了故障評價函數(shù),以IEEEE33 節(jié)點配電網為例,分別對單點故障和多點故障定位進行仿真,驗證結果表明該算法具有高效性和高容錯性,但是該算法的準確性不高;文獻[2]也采用二進制粒子群算法來對配電網的故障進行定位,在其基礎上提出了一種免疫二進制粒子群優(yōu)化算法,通過免疫系統(tǒng)信息處理機制對算法進行一定的改進,建立記憶細胞單元存儲優(yōu)質抗體,從而避免了抗體種群更新后的群體退化,引入抗體濃度調節(jié)機制與免疫選擇操作來保持抗體種群多樣性,強化算法的全局搜索能力,防止算法早熟,但是由于引入的免疫機制,算法的性能會受到抗體較大影響。
基于以上內容,針對粒子群算法的缺陷,本研究提出了一種自適應學習因子的混沌二進制粒子群優(yōu)化算法,首先采用混沌策略初始化粒子群,然后根據適應度值以及當前粒子與最優(yōu)粒子之間的距離設計粒子成長因子,反映種群的進化狀態(tài),通過成長因子和迭代計算設計自適應學習因子更新機制。最后構建了評價函數(shù)將改進的二進制粒子群算法應用到配電網故障定位中。
二進制粒子群算法是Kennedy 和Eberhart 于1997年在粒子群算法的基礎上提出的,主要是改變了粒子群算法的速度和位置更新過程[3],在二進制粒子群算法中,粒子的位置變化是通過區(qū)間[0,1]上的概率值來表示的。二進制粒子群算法的粒子速度更新公式為[4]
式中:t 為第t 次迭代次數(shù);i,j 為1~N 中的整數(shù),N為種群數(shù)量;w 為慣性權重;c1,c2為學習因子,用來削弱全局最優(yōu)或者局部最優(yōu)在搜索中的影響;r1,r2為大小在0~1 之間的隨機數(shù);vij(t)為粒子i 在第j維上的第t 次迭代的速度;xij(t)為粒子i 在第j 維上的第t 次迭代的位置。
S 型映射函數(shù)的公式為[5]
式中:S(vij)為xij取1 的概率。
根據式(2),可以得到粒子位置的更新公式為
將種群粒子的進化過程表示為種群粒子的成長過程,這是自適應學習因子的二進制粒子群算法的核心思想。首先需要設計粒子的成長因子,通過粒子的成長因子來判斷種群的成長狀態(tài);然后根據種群的成長狀態(tài)來自適應調整成長因子,從而實現(xiàn)全局搜索與局部搜索的平衡,提高算法的精度[6]。
改進后的算法的粒子的速度更新采用的還是基本二進制的粒子速度更新機制,采用的是V 型映射函數(shù),其計算公式為[7]
粒子的位置更新機制與基礎二進制粒子群算法一致,都是非強制性,其計算公式為[8]
基礎的二進制粒子群算法采用隨機方式來生成初始的粒子種群,這種方式會導致粒子種群的初始粒子中的質量不高,為了解決這一問題,采用混沌策略來生成初始的粒子種群,其計算公式為[9]
式中:μ=4;如果Xn<0.5,則取Xn=0;如果Xn≥0.5,則取Xn=1。
粒子種群的進化機制對算法的尋優(yōu)結果具有較大的影響,一個合理的進化機制能夠有效地提高算法的收斂速度。在本研究中,粒子的成長因子能夠反映種群的進化機制,粒子因子會受到當前粒子與全局最優(yōu)粒子之間的距離以及適應度的值的共同作用,其表達式為[10]
式中:d 為當前粒子與全局最優(yōu)粒子之間的距離;dc為當前粒子;dg為全局最優(yōu)粒子。為了更簡單的表示,對成長因子進行歸一化處理使其轉化到0~1 之間的值[11]:
算法的局部開采和全局尋優(yōu)能力會受到學習因子的影響。本研究中,學習因子分為兩部分,自我學習因子c1和社會學習因子c2。自我學習因子的大小會影響粒子向粒子本身最優(yōu)學習的程度,其值越大,代表著粒子的學習會越偏向pbest,從而提高了算法的搜索能力;社會學習因子c2的大小會影響粒子向全局最優(yōu)粒子學習的程度,其值越大,代表著粒子的學習會越偏向于gbest,從而提高算法的局部開采能力[12]。因此,合理的c1、c2能夠有效地平衡算法的局部開采能力和全局最優(yōu)能力,提高算法的收斂性能[13]。
本研究提出的自適應學習因子的更新方式是參考粒子的成長狀態(tài)和迭代次數(shù),使得粒子在不同的成長狀態(tài)下具有不同的學習因子更新方式,實現(xiàn)不同狀態(tài)下都具有最優(yōu)的學習因子[14],因此,學習因子的更新方式顯得尤為重要。
自我學習因子c1的更新方式為[15]
社會學習因子c2的更新方式為
從公式中可以看出,學習因子的大小會受到成長因子g f 的影響,式(9)中c1的大小隨著g f 的增加而增加;式(10)中c2的大小隨著g f 的增加而減小,而g f 的大小又能反映出種群的成長狀態(tài)[16]。當g f 的值較小時,則說明粒子距離最優(yōu)解的距離越遠,這時需要增加c1的值,減小c2的值,提高算法的全局搜索能力;當g f 的值較大時,則說明粒子距離最優(yōu)解的距離較近,這時需要減小c1的值,增加c2的值,提高算法的局部尋優(yōu)能力[17]。
配電網的故障定位就是對在配電網絡中各個區(qū)段的運行狀態(tài)進行分析,找到運行存在問題的區(qū)段[18]。定義粒子維數(shù)為配電網饋線區(qū)間的數(shù)量,區(qū)間的狀態(tài)分為故障和正常2 種,正常狀態(tài)用0 表示,故障狀態(tài)用1 表示,則粒子所在位置的維數(shù)的數(shù)字可以用來表現(xiàn)區(qū)間的運行狀態(tài)。需要注意的是安裝在戶外開關附近的FTU 會將發(fā)生短路故障的電流信息傳輸?shù)奖O(jiān)測中心,短路故障電流信號也用1 和0 來表示,1 表示有短路故障電路,0 表示沒有短路故障電流[19]。在算法搜尋最優(yōu)解的時候,需要構造一個評價函數(shù)來計算粒子的適應度值,然后與當前的最優(yōu)值進行比較,根據比較結果來進行下一步的操作,最終得到的全局最優(yōu)解就是整個配電網絡的各個區(qū)間的運行狀態(tài)。本研究采用的評價函數(shù)為[20]
式中:N 為配電網絡中饋線區(qū)間的數(shù)量;Ij為第j 個開關處的FTU 傳輸?shù)墓收想娏餍畔?,Ij=0 或1;(SB)為各個節(jié)點開關的期望狀態(tài),(SB)=0 或1;SB為各設備的狀態(tài),SB=0 或1;w為最小集觀點確定的w 和判斷存在故障區(qū)間的乘值,本研究中w 取值為0.5,能夠有效地避免出現(xiàn)無故障的誤判情況。下面以一個簡單的4 節(jié)點網絡來說明評價函數(shù)的構造,4 節(jié)點配電網絡如圖1 所示。
圖1 簡單的4 節(jié)點配電網絡Fig.1 Simple 4-node distribution network
L1、L2、L3、L4為配電網絡饋線的區(qū)間編號,區(qū)間內發(fā)生短路故障時,短路電流會流經整個區(qū)間內的所有開關,故饋線區(qū)間的故障信息會影響聯(lián)絡開關或者斷路器狀態(tài)期望,因此可以得到圖1 中各個開關節(jié)點的期望函數(shù)[21]:
式中:I*(CB1)、I*(S1)、I*(S2)、I*(S3)分別為開關節(jié)點CB1、S1、S2、S3的期望函數(shù)。
根據式(11)和式(12),可以得到該配電網絡的評價函數(shù)為
因此,自適應學習因子的二進制粒子群算法在配電網的故障定位中的具體應用步驟為
(1)設置參數(shù),粒子群的數(shù)量N,空間位置維數(shù)D 等相關參數(shù);
(2)根據需要檢測的配電網的具體狀況,通過式(11)和式(12)確定其評價函數(shù)和開關的期望函數(shù);
(3)采用混沌因子策略初始化粒子種群,并隨機賦予每個種群的位置(1 和0),然后通過步驟(2)中得到的評價函數(shù)可以得到每個粒子在捕食狀態(tài)下的初始個體極值,初始全局極值為所有的初始個體極值中的最小值,粒子的更新速度通常設置在[-4,4]之間[22];
(4)通過式(1)和式(6)來更新粒子的速度和位置;
(5)根據式(7)來計算粒子群的成長因子,并根據成長因子來判斷粒子群的成長狀態(tài);
(6)通過步驟5 得到的成長因子和式(9)和式(10)來自適應更新學習因子;
(7)通過評價函數(shù)得到當前粒子種群的全局極值和個體極值,如果個體極值優(yōu)于全局極值,繼續(xù)進行更新,否則輸出此時的最優(yōu)極值;
(8)輸出的全局最優(yōu)的位置就是該配電網絡各個饋線區(qū)間的運行狀態(tài)。
由于配電網絡的復雜性和算法的編程困難,選擇在實驗室內使用計算機來對算法的性能進行驗證,使用的計算機操作系統(tǒng)為Windows 7,CPU 為Inter Core i7-9700H,運行內存為DDR4 3200 MHz 16 G,硬盤大小為2 TB。檢測的配電網絡為為標準的IEEE33 節(jié)點的配電網絡,一共具有33 個饋線區(qū)間,設置不同位置節(jié)點的故障分別采用基礎的二進制粒子群算法(BPOS)和自適應學習因子的二進制粒子群算法(ZBPOS)對故障進行檢測。
首先假設整個配電網絡只有一處饋線存在故障,為了提高試驗的隨機性,分別設置了5、13、18、26 四處饋線存在故障,根據FTU 上傳的完整信息采用上述的兩種算法對故障進行定位,將得到的測試結果與FTU 上傳的數(shù)據進行對比,結果表明兩種算法對單點故障的定位效果比較優(yōu)秀。然后對比兩種算法的收斂速度和信息容錯性,假設區(qū)間5 發(fā)生了短路故障,當FTU 上傳的信息正常時,通過對試驗數(shù)據的整理和分析,能夠得到圖2 的算法的進化代數(shù)對比。
圖2 單點故障信息完整時的算法對比Fig.2 Algorithm comparison when single-point fault information is complete
從圖2 中可以看出,在FTU 上傳的電流信息完整時,BPOS 得到故障定位結果粒子群需要進化的代數(shù)為30 左右,而ZBPOS 只需要10 代左右,并且其收斂速度明顯優(yōu)于BPOS 算法。
假設FTU 上傳的信息發(fā)生了畸變,采用兩種算法進行故障定位比較兩種算法的容錯率,根據試驗的數(shù)據,可以得到圖3 的算法對比圖。
圖3 單點故障信息畸變時的算法對比Fig.3 Algorithm comparison when single-point fault information is distorted
從圖3 中可以看出,BPOS 算法對畸變信息的處理在進化100 次還不能得到故障區(qū)間,而ZBPOS算法經過11 次的進化就得到了全局最優(yōu)解,即故障的位置,表明了ZBPOS 算法對信息畸變的處理能力較好,容錯率較高。
對于單點故障的定位并不能完全說明兩種算法的性能好壞,配電網的故障中往往會存在多處故障,即多點故障,下面設置多點故障對兩種算法的性能進行進一步的驗證。假設區(qū)間(8,12)、(18,22,26)、(19,26,30)發(fā)生了短路故障,第一種情況是FTU 上傳的信息完整時采用兩種算法分別進行故障的定位,對數(shù)據進行整理,能夠得到圖4的算法對比圖。
圖4 多點故障信息完整的算法對比Fig.4 Comparison of algorithms with complete multi-point fault information
從圖4 中可以看出對于多點故障,BPOS 經過120 次進化后仍然無法得到定位結果,而ZBPOS 經過45 次進化后就得到故障定位的結果,說明ZBPOS 對復雜數(shù)據信息的處理能力比BPOS 算法優(yōu)秀,并且收斂速度快。
第二種情況是,F(xiàn)TU 上傳的信息發(fā)生畸變時,分別采用兩種算法對故障進行定位,記錄整理數(shù)據,能夠得到圖5 的算法對比圖。
圖5 多點故障信息畸變時的算法對比Fig.5 Algorithm comparison when multi-point fault information is distorted
從圖5 中可以看出,當多點故障信息發(fā)生畸變時,兩種算法都能得到故障位置,但是BPOS 需要43 次進化,而ZBPOS 只需要18 次進化,且收斂速度明顯優(yōu)于BPOS 算法。
綜上所述,ZBPOS 算法的收斂性、 準確度和容錯性高于BPOS 算法。
本研究對配電網故障定位的人工智能算法進行了改進,提高其收斂速度、準確度和容錯性,并得到了以下結論:①自適應學習因子的二進制粒子群算法是一種位置尋優(yōu)算法,通過區(qū)間的概率來表示,能夠適用于配電網的故障定位;②自適應學習因子的二進制粒子群的學習因子能分為自我學習因子和社會學習因子,通過改變其值的大小,能夠提高算法的收斂速度;③在配電網的故障定位中,收斂速度顯現(xiàn)尤為重要,提高算法的收斂速度也會是今后配電網故障定位人工算法的一個重要研究方向。最后,通過試驗驗證了本文算法的可行性,在配電網故障定位領域具有廣闊的發(fā)展前景,但是由于試驗的不足,可能仍然存在一些問題,在后續(xù)的研究中需要進一步的改進和完善。