張 燁,周蘇荃
(哈爾濱工業(yè)大學(xué)電氣工程學(xué)院,黑龍江 哈爾濱 150001)
電力系統(tǒng)網(wǎng)絡(luò)拓?fù)浞治鍪荅MS/DMS高級(jí)應(yīng)用軟件的基礎(chǔ)模塊,是電力系統(tǒng)仿真和各種分析計(jì)算的基礎(chǔ)[1],其運(yùn)算速度直接影響高級(jí)應(yīng)用軟件的性能;此外,對于多重網(wǎng)絡(luò)拓?fù)洌捎脗鬏敂嗦菲魈l信號(hào)檢測孤島,該算法需要一個(gè)最新的分布式系統(tǒng)拓?fù)湫畔2],高效的網(wǎng)絡(luò)拓?fù)浞治鏊惴閷?shí)時(shí)控制等功能提供了技術(shù)保證。
目前網(wǎng)絡(luò)拓?fù)浞治龇椒ㄖ饕袃煞N:樹搜索法[3-6]和鄰接矩陣法[7-9]。樹搜索法分為基于深度優(yōu)先搜索法和廣度優(yōu)先搜索法[10-11]。樹搜索法對于變電站復(fù)雜接線方式和環(huán)網(wǎng)情況適應(yīng)性較差[1,8]。鄰接矩陣法的運(yùn)算復(fù)雜度是O(n3),另外圖中任意支路狀態(tài)發(fā)生變化時(shí),該算法的重用性差[12]。近年來SCADA系統(tǒng)運(yùn)用堆棧原理進(jìn)行接線分析,該過程屬于搜索排隊(duì)法,其運(yùn)算次數(shù)隨搜索元件數(shù)平方增長[13]?;谏疃葍?yōu)先搜索算法,由于其內(nèi)在的順序性,不滿足并行計(jì)算[14];基于廣度優(yōu)先搜索算法受節(jié)點(diǎn)度數(shù)不確定性的影響,并行運(yùn)算效率不高。
電力網(wǎng)絡(luò)拓?fù)浞治鲋饕怯蓮S站組態(tài)和網(wǎng)絡(luò)組態(tài)分析兩大部分組成。文獻(xiàn)[15]提出連通矩陣準(zhǔn)平方法網(wǎng)絡(luò)拓?fù)浞治?,該方法對廠站母線組態(tài)分析效率較鄰接矩陣法還低。文獻(xiàn)[16]提出同步相量測量的廠站內(nèi)網(wǎng)絡(luò)拓?fù)浞治鲂路椒?,由于該算法需要系統(tǒng)中每條出線及母線配置相量量測單元,其技術(shù)經(jīng)濟(jì)性價(jià)比極低。文獻(xiàn)[10]對華東電力系統(tǒng)某個(gè)運(yùn)行狀態(tài)使用廣度優(yōu)先和深度優(yōu)先算法進(jìn)行拓?fù)浞治?,該算例表明不論采用哪種拓?fù)浞治鏊惴?,廠站組態(tài)拓?fù)浞治稣颊麄€(gè)網(wǎng)絡(luò)拓?fù)浞治龊馁M(fèi)時(shí)間的70%左右。為滿足基于拓?fù)浞治龉聧u檢測實(shí)時(shí)性需求,本文提出節(jié)點(diǎn)連通島合并網(wǎng)絡(luò)拓?fù)浞治龇椒ǎ⒔o出廠站組態(tài)拓?fù)浞治霾⑿刑幚淼慕鉀Q方案,采用能夠保存部分中間運(yùn)算結(jié)果的二維數(shù)組數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),不僅能夠適應(yīng)環(huán)網(wǎng)型和樹型網(wǎng)絡(luò)連通性分析,尤其適合廠站組態(tài)并行拓?fù)浞治?,提高拓?fù)浞治鲞\(yùn)算速度。
首先對術(shù)語連通島及連通島號(hào)進(jìn)行定義。在一個(gè)網(wǎng)絡(luò)拓?fù)鋱D中,節(jié)點(diǎn)i和它的鄰接節(jié)點(diǎn)j、k形成的連通區(qū)域稱為該節(jié)點(diǎn)的連通島,并用島內(nèi)所包含節(jié)點(diǎn)i、j、k中最小節(jié)點(diǎn)號(hào)作為該連通島的島號(hào)。如果兩個(gè)連通島之間存在相同的節(jié)點(diǎn),兩個(gè)連通島可以合并為一個(gè)連通區(qū)域,用其中較小的連通島號(hào)代替較大的連通島號(hào)。一個(gè)含n個(gè)節(jié)點(diǎn)的圖G,依次對n個(gè)節(jié)點(diǎn)的連通島進(jìn)行合并,最終每個(gè)連通子圖包含的所有節(jié)點(diǎn)具有相同的連通島號(hào),并且該島號(hào)是對應(yīng)的連通子圖所有節(jié)點(diǎn)中最小節(jié)點(diǎn)的編號(hào)。故依據(jù)每個(gè)節(jié)點(diǎn)的連通島號(hào)可以實(shí)現(xiàn)圖G的拓?fù)浞治龌螂姎鈲u劃分。
如圖1所示網(wǎng)絡(luò),節(jié)點(diǎn)1和它的鄰接節(jié)點(diǎn)8形成節(jié)點(diǎn)1的連通島,該連通島號(hào)取1;節(jié)點(diǎn)5與它的鄰接節(jié)點(diǎn)8、7組成節(jié)點(diǎn)5的連通島,該連通島號(hào)為5。由于連通島1和連通島5包含共同的節(jié)點(diǎn)8,將這兩個(gè)連通島合并,即將島號(hào)較大的連通島5合并到島號(hào)較小的連通島1中,并仍用較小的連通島號(hào)1標(biāo)記合并后的連通區(qū)域。對圖1中每個(gè)連通島進(jìn)行合并,節(jié)點(diǎn)1、2、4、5、6、7、8是一個(gè)連通子圖,上述節(jié)點(diǎn)連通島號(hào)均為1,節(jié)點(diǎn)3、9連通島號(hào)是3。表明圖1中有兩個(gè)電氣島。
拓?fù)浞治鲞^程是逐一比較各節(jié)點(diǎn)連通島的連通關(guān)系并進(jìn)行連通島合并過程。以圖2為例說明這一過程。
圖1 網(wǎng)絡(luò)拓?fù)鋱DFig. 1 Network topology graph
1)根據(jù)圖2的邊與節(jié)點(diǎn)關(guān)系生成鄰接數(shù)組表和連通島號(hào)初值k(i)。依次讀取支路開斷狀態(tài)信息,由連通的支路形成每個(gè)節(jié)點(diǎn)i的鄰接節(jié)點(diǎn)集合,即每個(gè)節(jié)點(diǎn)的連通島,并比較節(jié)點(diǎn)i及其鄰接的每個(gè)節(jié)點(diǎn)號(hào)的大小,將其中最小的節(jié)點(diǎn)號(hào)作為節(jié)點(diǎn)i的連通島號(hào) k(i)初值。根據(jù)圖2中邊、節(jié)點(diǎn)連通關(guān)系形成鄰接數(shù)組和連通島初值如表1所示。并把連通島號(hào)初值備份留作它用。
圖2 9節(jié)點(diǎn)系統(tǒng)Fig. 2 The 9-node graph
表1 節(jié)點(diǎn)合并拓?fù)浞治鰯?shù)據(jù)結(jié)構(gòu)Table 1 Node merge topology analysis data structure
2)合并連通島。對 n個(gè)節(jié)點(diǎn),把每一節(jié)點(diǎn) i及其鄰接節(jié)點(diǎn)j、p的連通島合并成一個(gè)連通區(qū)域。用上述節(jié)點(diǎn)最小的連通島號(hào)kmin來標(biāo)識(shí)。合并過程分兩步進(jìn)行:第一步,如果當(dāng)前節(jié)點(diǎn)i連通島號(hào)kcon(i)與kmin不等,用kmin替換節(jié)點(diǎn)kcon(i)及kcon(kcon(i))連通島號(hào),其中 kcon(kcon(i))表示節(jié)點(diǎn) kcon(i)的連通島號(hào)。第二步,用kmin替換當(dāng)前節(jié)點(diǎn)i連通島號(hào)。
例如表2中節(jié)點(diǎn)6連通島合并過程如下:節(jié)點(diǎn)6及其鄰接節(jié)點(diǎn)2、3、9的連通島號(hào)分別是2、2、1、6,其中最小值是1,因節(jié)點(diǎn)6連通島號(hào)是2,修改節(jié)點(diǎn)2連通島號(hào)為1,同時(shí)用最小值1替換節(jié)點(diǎn)6的連通島號(hào)2。
3)節(jié)點(diǎn)最終連通島號(hào)的形成。對 n個(gè)節(jié)點(diǎn),依次讀取節(jié)點(diǎn)i所在的連通島號(hào)kcon(i),節(jié)點(diǎn)kcon(i)所在的連通島號(hào)是 kcon(kcon(i)),若 kcon(i)與kcon(kcon(i))不相等,則用kcon(kcon(i))替換節(jié)點(diǎn)i的連通島號(hào)。
經(jīng)過上述連通島合并,若每個(gè)節(jié)點(diǎn)連通島號(hào)都相同且為圖中最小的節(jié)點(diǎn)號(hào),表明該圖是一個(gè)連通圖。如果有幾個(gè)不同的連通島號(hào),表明圖中有幾個(gè)不連通的電氣島。表2中所有節(jié)點(diǎn)的連通島號(hào)為1,表明圖2是一個(gè)連通圖。此外,該算法通過編制程序,對IEEE30、IEEE118節(jié)點(diǎn)電氣網(wǎng)絡(luò)接線圖進(jìn)行拓?fù)浞治?,證明了該算法的正確性。
表2 各節(jié)點(diǎn)的連通島合并后的連通島號(hào)Table 2 Connective island number after combining connective island of each mode
當(dāng)網(wǎng)絡(luò)中一條支路突然閉合,修改該支路首尾節(jié)點(diǎn)的鄰接節(jié)點(diǎn)表及連通島號(hào)初值,比較首、尾節(jié)點(diǎn)的連通島號(hào),如果兩個(gè)連通島號(hào)相同,表示新增支路的首、尾節(jié)點(diǎn)均在同一連通島中,結(jié)束網(wǎng)絡(luò)連通性分析;否則,依次讀取每個(gè)節(jié)點(diǎn)i的連通島號(hào)kcon(i),若該連通島號(hào)與閉合支路首、尾節(jié)點(diǎn)連通島號(hào)中較大的值相等,用首、尾節(jié)點(diǎn)連通島號(hào)中較小的值kmin替換, 完成動(dòng)態(tài)增加一條支路的拓?fù)浞治?。如圖2所示,節(jié)點(diǎn)2與節(jié)點(diǎn)9之間的支路閉合。將表1中節(jié)點(diǎn)2、9分別存入節(jié)點(diǎn)9、2鄰接節(jié)點(diǎn)數(shù)組,節(jié)點(diǎn)2、9連通島號(hào)的初值是2、2。在表2中由于節(jié)點(diǎn)2、9連通島號(hào)均為1,表明2、9已經(jīng)處于同一個(gè)連通島,其島號(hào)為1。
如果網(wǎng)絡(luò)某一條支路突然斷開,修改支路首尾節(jié)點(diǎn)的鄰接表及首尾節(jié)點(diǎn)連通島號(hào),根據(jù)保留的節(jié)點(diǎn)連通島號(hào)初值,重新采用連通島合并方法得到各個(gè)節(jié)點(diǎn)的連通島號(hào),完成拓?fù)浞治觥?/p>
如圖2所示,如果支路1-5斷開,修改表1中節(jié)點(diǎn)1、5鄰接節(jié)點(diǎn)數(shù)組內(nèi)容,重新計(jì)算節(jié)點(diǎn)1、5連通島號(hào),執(zhí)行前述拓?fù)浞治鏊惴?,求得各個(gè)節(jié)點(diǎn)連通島號(hào),其拓?fù)浞治鼋Y(jié)果見表 3。圖中網(wǎng)絡(luò)分解成兩個(gè)不連通的電氣島,節(jié)點(diǎn)1、4連通且屬于連通島號(hào)為1的電氣島;其余節(jié)點(diǎn)均連通且屬于連通島號(hào)為2的電氣島。
表3 1-5支路斷開各節(jié)點(diǎn)的連通島號(hào)Table 3 Connective island number after branches break off
該算法適應(yīng)于緊耦合系統(tǒng)和分布式共享訪存模型[17]并行計(jì)算體系結(jié)構(gòu)。緊耦合系統(tǒng)模型的特點(diǎn)是:內(nèi)存模塊與含有多個(gè)處理器的節(jié)點(diǎn)分離,并通過系統(tǒng)總線或多級(jí)網(wǎng)絡(luò)互聯(lián);分布式共享訪存模型的內(nèi)存模塊分布在含有多個(gè)處理器的各個(gè)節(jié)點(diǎn)內(nèi)部,各節(jié)點(diǎn)局部內(nèi)存模塊構(gòu)成并行計(jì)算機(jī)的全局內(nèi)存模塊,各節(jié)點(diǎn)之間通過總線或網(wǎng)絡(luò)互聯(lián)。
廠站組態(tài)分析是根據(jù)廠站內(nèi)開關(guān)的狀態(tài),將由閉合開關(guān)相連的所有母線段集合成一個(gè)計(jì)算用節(jié)點(diǎn)。在廠站組態(tài)分析中,頂點(diǎn)為各電氣連接點(diǎn)(包括母線段等),閉合的開關(guān)(或刀閘)則表示連接各頂點(diǎn)的邊,如圖3所示,圖3(a)表示母線段與開關(guān)的電氣連接關(guān)系,圖3(b)表示圖3(a)對應(yīng)的頂點(diǎn)與邊的拓?fù)潢P(guān)系。為提高圖3廠站組態(tài)分析效率,提出節(jié)點(diǎn)連通島合并的并行拓?fù)浞治鏊惴?,具體方法如下。
1)根據(jù)圖3所示廠站組態(tài)分析拓?fù)鋱D中頂點(diǎn)和邊的關(guān)系,生成鄰接頂點(diǎn)表和連通島號(hào)初值k(i),見表4中第4列和第5列。
2)并行合并連通島。假設(shè)使用8個(gè)處理器對表4中8個(gè)頂點(diǎn)進(jìn)行連通島合并的并行運(yùn)算,處理器Pi只負(fù)責(zé)頂點(diǎn) i的連通島合并。具體方法是:處理器Pi讀取頂點(diǎn)i及其鄰接頂點(diǎn)j、p的連通島號(hào)初值ki、kj、kp,將其中最小值 kmin賦予頂點(diǎn)i的連通島號(hào)kcon(i)。在表4中,頂點(diǎn)4及其鄰接頂點(diǎn)3、6、8的連通島號(hào)初值分別是3、2、4、4,取其中最小值2作為頂點(diǎn)4的連通島號(hào)。各個(gè)頂點(diǎn)連通島號(hào)kcon(i)見表4中第6列。
3)并行運(yùn)算各頂點(diǎn)最終連通島號(hào)。使用8個(gè)處理器參與運(yùn)算,處理器Pi僅完成頂點(diǎn)i最終連通島號(hào)的運(yùn)算。方法如下:處理器Pi讀取電氣連接點(diǎn) i的連通島號(hào)kcon(i),用頂點(diǎn)kcon(i)連通島號(hào)kcon(kcon(i))作為頂點(diǎn)i的連通島號(hào)終值。如表4,頂點(diǎn)4連通島號(hào)為2,頂點(diǎn)2的連通島號(hào)是1,修改頂點(diǎn)4的連通島號(hào)終值為1,完成拓?fù)浞治觥?/p>
圖3 廠站組態(tài)分析中母線段、開關(guān)與頂點(diǎn)、邊的關(guān)系Fig. 3 Relationship between bus sections and nodes and between breakers and edges
表4 頂點(diǎn)連通島合并拓?fù)浞治鰯?shù)據(jù)結(jié)構(gòu)Table 4 Node connective island merge topology analysis data structure
該并行算法采用的數(shù)據(jù)結(jié)構(gòu)具有下述優(yōu)點(diǎn):并行運(yùn)算過程使用表4連通島號(hào)初值k(i)、連通島號(hào)kcon(i)、連通島號(hào)終值3個(gè)數(shù)組,避免因多個(gè)處理器同時(shí)讀寫一個(gè)節(jié)點(diǎn)連通島號(hào)產(chǎn)生數(shù)據(jù)沖突,不需要增加并行運(yùn)算共享數(shù)據(jù)讀、寫操作互斥機(jī)制所需時(shí)間開銷,提高了并行處理效率。該并行算法運(yùn)行時(shí)間采用式(1)進(jìn)行計(jì)算。
其中:Tp代表并行運(yùn)算所需的時(shí)間;d是圖中節(jié)點(diǎn)最大度數(shù);p是并行計(jì)算時(shí)處理器個(gè)數(shù);n是圖中節(jié)點(diǎn)總數(shù)。
在同等條件下,廣度優(yōu)先搜索算法比深度優(yōu)先搜索方法減少近一半的分析時(shí)間[10],廣度優(yōu)先算法所需的時(shí)間可以用式(2)計(jì)算[14]。
其中:Ts表示程序串行運(yùn)行時(shí)間;e代表圖中的支路(或邊)數(shù);n表示圖中的節(jié)點(diǎn)總數(shù)。
在理論上,圖3分別采用8個(gè)處理器節(jié)點(diǎn)連通島合并并行算法和基于廣度優(yōu)先的搜索算法進(jìn)行拓?fù)浞治?,Tp與Ts之比是4/26,由此可見,節(jié)點(diǎn)連通島合并并行算法是一種高效的場站組態(tài)拓?fù)浞治龉ぞ摺T陔p核intel處理器、windows xp操作系統(tǒng)和VC6.0集成環(huán)境下,使用兩個(gè)線程并行運(yùn)算編制程序,實(shí)現(xiàn)了圖3的拓?fù)浞治?,其結(jié)果驗(yàn)證了該并行算法的可行性和正確性。
節(jié)點(diǎn)連通島合并拓?fù)浞治鏊惴▽σ粋€(gè)具有n個(gè)節(jié)點(diǎn)、多個(gè)連通子圖的拓?fù)鋱D,通過節(jié)點(diǎn)所在連通島的合并,獲得各個(gè)節(jié)點(diǎn)所在連通島號(hào),根據(jù)每個(gè)節(jié)點(diǎn)連通島號(hào)實(shí)現(xiàn)網(wǎng)絡(luò)電氣島的劃分。另外,由于運(yùn)算數(shù)據(jù)只是反映圖的鄰接節(jié)點(diǎn)關(guān)系的二維數(shù)組,該算法不受網(wǎng)絡(luò)具體接線方式的限制。同時(shí),該算法保存了部分中間運(yùn)算結(jié)果,提高了網(wǎng)絡(luò)動(dòng)態(tài)拓?fù)浞治龅男?,具有良好的適應(yīng)性和穩(wěn)定性,克服了深度和廣度搜索算法對變電站母線接線方式復(fù)雜或環(huán)網(wǎng)結(jié)構(gòu)適應(yīng)性較差的缺陷?;诠?jié)點(diǎn)合并并行處理算法適合場站組態(tài)快速拓?fù)浞治?,滿足系統(tǒng)實(shí)時(shí)性需求??傊?,節(jié)點(diǎn)連通島合并拓?fù)浞治龇椒ㄊ蔷W(wǎng)絡(luò)動(dòng)態(tài)拓?fù)浞治龅囊环N有效工具。
[1] 程路堯,莊浩俊,李哲. 基于鄰接矩陣法的獨(dú)立電網(wǎng)拓?fù)浞治鲅芯縖J]. 船電技術(shù), 2010, 30(8): 19-23.CHENG Lu-yao, ZHUANG Hao-jun, LI Zhe. Topology analysis of isolated power systems and application in network reconfiguration[J]. Marine Electricamp; Electronic Technology, 2010, 30(8): 19-23.
[2] 殷桂梁, 楊麗君, 王珺. 分布式發(fā)電技術(shù)[M]. 北京:機(jī)械工業(yè)出版社, 2008.
[3] Prais M, Rose A. A topology processor that tracks network modifications over time[J]. IEEE Trans on Power Apparatus and Systems, 1988, 3(3): 992-998.
[4] 于爾鏗. 電力系統(tǒng)狀態(tài)估計(jì)[M]. 北京: 水利水電出版社, 1985: 165-180.
[5] 吳文傳, 張伯明. 基于圖形數(shù)據(jù)庫的網(wǎng)絡(luò)拓?fù)浼捌鋺?yīng)用[J]. 電網(wǎng)技術(shù), 2002, 26(2): 14-18.WU Wen-chuan, ZHANG Bo-ming. A graphic database based network topology and its application[J]. Power System Technology, 2002, 26(2): 14-18.
[6] Dgar G A. Measure, topology and fractal geometry[M].New York: Springer, 1990.
[7] 王湘中, 黎曉蘭. 關(guān)聯(lián)矩陣的電網(wǎng)拓?fù)浔孀R(shí)[J]. 電網(wǎng)技術(shù), 2001, 25(2): 10-16.WANG Xiang-zhong, LI Xiao-lan. Topology identification of power network based on incident matrix[J]. Power System Technology, 2001, 25(2): 10-16.
[8] 周琰, 周步祥, 邢義. 基于鄰接矩陣的圖形化網(wǎng)絡(luò)拓?fù)浞治龇椒╗J]. 電力系統(tǒng)保護(hù)與控制, 2009, 37(17):49-52.ZHOU Yan, ZHOU Bu-xiang, XING Yi. Graphical power network topology analysis based on adjacency matrix[J].Power System Protection and Control, 2009, 37(17):49-52.
[9] 周云成, 付立思, 許童羽, 等. 基于 GIS 的 10 kV 配電網(wǎng)絡(luò)電氣連通性分析[J]. 電力系統(tǒng)保護(hù)與控制,2010, 38(10): 83-88.ZHOU Yun-cheng, FU Li-si, XU Tong-yu, et al. Electric connectivity analyzing for 10 kV distribution network based on GIS[J]. Power System Protection and Control,2010, 38(10):83-88.
[10] 萬華, 李乃湖, 陳珩. 基于廣度優(yōu)先的快速拓?fù)浞治龇╗J]. 電力系統(tǒng)及其自動(dòng)化學(xué)報(bào), 1995, 7(2): 18-23.WAN Hua, LI Nai-hu, CHEN Heng. Based on the rapid breadth first topological analysis method[J]. Proceedings of the CSU-EPSA, 1995, 7(2): 18-23.
[11] 陳惠開. 應(yīng)用圖論-圖與電網(wǎng)絡(luò)[M].北京: 人民郵電出版社, 1990.
[12] 羅日成, 李衛(wèi)國. 配電網(wǎng)電氣連通性分析的快速算法研究[J]. 電網(wǎng)技術(shù), 2004, 28(24): 52-55.LUO Ri-cheng, LI Wei-guo. Research on high-speed algorithm for electrical connectivity analysis of distribution networks[J]. Power System Technology,2004, 28(24): 52-55.
[13] 于爾鏗. 能量管理系統(tǒng)(EMS)[M]. 北京: 科學(xué)出版社, 2001.
[14] 陳國良. 并行算法的設(shè)計(jì)與分析[M]. 北京: 科學(xué)出版社, 2009.
[15] 姚玉斌, 宣儉, 于娜, 等. 連通矩陣準(zhǔn)平方法網(wǎng)絡(luò)拓?fù)浞治鯷J]. 電力系統(tǒng)保護(hù)與控制, 2011, 39(5): 31-34.YAO Yu-bin, XUAN Jian, YU Na, et al. Determination of network topology by quasi-square of the connectivity matrix[J]. Power System Protection and Control, 2011,39(5): 31-34.
[16] 錢誠, 王增平, 張晉芳. 基于同步相量測量的廠站內(nèi)網(wǎng)絡(luò)拓?fù)浞治鲂路椒╗J]. 電力系統(tǒng)保護(hù)與控制, 2011,39(17): 52-56.QIAN Cheng, WANG Zeng-ping, ZHANG Jin-fang. A novel substation topology analysis algorithm based on synchronized phasor measurement[J]. Power System Protection and Control, 2011, 39(17): 52-56.
[17] 多核系列教材編寫組. 多核程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社, 2008.