楊建偉
(廣東電網(wǎng)公司佛山供電局,廣東 佛山 528200)
配網(wǎng)重構(gòu)一直是電力系統(tǒng)分析研究領(lǐng)域的熱門話題。一般來說,配網(wǎng)重構(gòu)指的是在保證配電網(wǎng)絡(luò)樹狀結(jié)構(gòu)及相關(guān)運行條件等前提下,通過改變分段開關(guān)、聯(lián)絡(luò)開關(guān)的位置來改變配電網(wǎng)絡(luò)的拓撲結(jié)構(gòu),以實現(xiàn)對某預(yù)定目標(biāo)的最優(yōu)化[1]。最典型的配網(wǎng)重構(gòu)問題的優(yōu)化目標(biāo)常為正常運行的配電網(wǎng)絡(luò)所消耗網(wǎng)損最小,隨著智能電網(wǎng)理念逐漸深入人心,人們越來越關(guān)注不同目標(biāo)的配網(wǎng)重構(gòu)策略,如改善供電質(zhì)量、提高配網(wǎng)運行可靠性等。
由于配電網(wǎng)絡(luò)中聯(lián)絡(luò)開關(guān)和分段開關(guān)的數(shù)目巨大,導(dǎo)致配網(wǎng)重構(gòu)優(yōu)化問題的可行解域巨大。同時,開關(guān)的動作是典型的離散行為,很難用解析表達式來進行描述。因此,常見的配網(wǎng)重構(gòu)算法多為所謂啟發(fā)式優(yōu)化算法,如模擬退火算法[2]、粒子群優(yōu)化算法[3]、蟻群算法[4]以及遺傳算法[5]等。
事實上,相對成熟的啟發(fā)式優(yōu)化算法的實施框架已基本固定不變,通常針對不同的優(yōu)化問題僅需設(shè)計和計算相應(yīng)的目標(biāo)函數(shù)即可,可以充分利用互聯(lián)網(wǎng)上的現(xiàn)有資源,沒有必要重復(fù)編寫所有程序代碼。具體到電力系統(tǒng)的優(yōu)化問題(如配網(wǎng)重構(gòu))來說,所涉及的基本計算任務(wù)(如本文中的配網(wǎng)潮流計算)也可交由通用的電力系統(tǒng)分析程序來完成。程序開發(fā)者僅需對已有的程序資源進行整合,并針對具體的問題做少量的修改和開發(fā)工作即可。
本文仍以對配網(wǎng)運行的網(wǎng)損進行優(yōu)化為例,介紹了如何利用互聯(lián)網(wǎng)上已有的開放源代碼程序庫設(shè)計和開發(fā)配網(wǎng)重構(gòu)的遺傳算法程序。本文首先探討了配網(wǎng)重構(gòu)程序的通用框架,隨后介紹了可供使用的相關(guān)開源軟件,同時對不同開源軟件的整合加以描述。最后以IEEE70節(jié)點算例系統(tǒng)的配網(wǎng)重構(gòu)為例驗證了本文所開發(fā)軟件的有效性。
本文重在介紹利用開源軟件進行配網(wǎng)重構(gòu)遺傳算法開發(fā)的策略,具有一定的通用性,因此仍以最典型的配網(wǎng)運行所消耗網(wǎng)損最小作為優(yōu)化目標(biāo),其他優(yōu)化目標(biāo)僅需對本文所提框架中的目標(biāo)函數(shù)部分進行修改。網(wǎng)損最小的數(shù)學(xué)描述為:
其中nb為配電網(wǎng)中所有支路數(shù),ri為第i條支路的電阻,Ii為流過第i條支路的電流,ki為表征第i條支路運行狀態(tài)的布爾量,0表示退出運行,1表示投入運行。
本文優(yōu)化的目標(biāo)即為尋找某種特殊的支路運行狀態(tài)組合,使得由該組合決定的配網(wǎng)拓撲運行條件下所消耗的網(wǎng)損最小。
在典型的遺傳算法實施過程中,最核心的問題包括適應(yīng)度函數(shù)計算、染色體基因編碼、譯碼、遺傳、突變、自然選擇、雜交等,其中遺傳、突變、自然選擇、雜交等操作具有相對的通用性,而適應(yīng)度函數(shù)計算、編譯碼等操作則因不同的優(yōu)化問題而異。本文的適應(yīng)度函數(shù)計算即為前述配網(wǎng)的網(wǎng)損計算,此處主要介紹相關(guān)的編碼策略。
由于配電網(wǎng)絡(luò)在運行時常需保持樹狀結(jié)構(gòu),故應(yīng)對遺傳算法中所產(chǎn)生的不同個體進行校驗。事實上,由圖論的理論可知,對于一個連通的圖,若支路數(shù)恰比節(jié)點數(shù)少一個,則此圖必為樹狀結(jié)構(gòu)。因此,判斷樹狀網(wǎng)絡(luò)的條件常為兩個:
(1)判斷圖的連通性;
(2)判斷節(jié)點與支路的個數(shù)關(guān)系是否符合。通常配電網(wǎng)絡(luò)中回路的形成常為存在聯(lián)絡(luò)開關(guān)支路連接不同饋線所致,如圖1所示[6]。
為保證圖的連通性,同時圖中不能出現(xiàn)環(huán)網(wǎng),在對聯(lián)絡(luò)開關(guān)進行操作時,必須同時考慮與之相鄰的分段開關(guān)的狀態(tài)。例如,圖1中的虛線框部分形成一個三開關(guān)組,如圖2(a)所示。若圖1中聯(lián)絡(luò)開關(guān)閉合,則其左端或右端分段開關(guān)之一必須斷開,而另一分段開關(guān)必須閉合;若聯(lián)絡(luò)開關(guān)斷開,則其左端及右端分段開關(guān)均須閉合。換言之,若網(wǎng)絡(luò)中存在l個回路,則應(yīng)對應(yīng)有相同數(shù)目的三開關(guān)組參與動作,其中任一時刻每一三開關(guān)組必須有且只有一個開關(guān)斷開,則可保證圖的連通性及樹狀結(jié)構(gòu)。
圖1 聯(lián)絡(luò)開關(guān)示意圖
對圖2(a)所示的三開關(guān)組需進行三狀態(tài)編碼,即染色體基因的取值不是通常的布爾值(0/1或true/false),而應(yīng)是有三種可能值。在本例中可規(guī)定基因值0對應(yīng)聯(lián)絡(luò)開關(guān)斷開,基因值1對應(yīng)左分段開關(guān)斷開,基因值2對應(yīng)右分段開關(guān)斷開,如圖2(b)~(d)所示。
圖2 某聯(lián)絡(luò)開關(guān)對應(yīng)的三開關(guān)組及相應(yīng)狀態(tài)
按照這樣的編碼策略,最終形成的染色體長度應(yīng)為聯(lián)絡(luò)開關(guān)的個數(shù),而染色體中的基因?qū)⒃?-1-2三值中取值。
基于前述數(shù)學(xué)模型的分析,本文開發(fā)了相應(yīng)的程序。在程序開發(fā)的時候試圖使開發(fā)的工作量最小化,因此充分利用了互聯(lián)網(wǎng)上已有的開源軟件資源,主要為InterPSS和Jenetics,簡述如下。
InterPSS是一個基于互聯(lián)網(wǎng)的、源代碼公開的電力系統(tǒng)仿真軟件,它主要基于現(xiàn)代的網(wǎng)絡(luò)和計算機技術(shù),例如Java,Xml、Eclipse平臺和其他的一些開源軟件系統(tǒng),例如Spring Framework、JGraph和Apache Commons等,旨在為電力系統(tǒng)的設(shè)計、運行分析和仿真提供一個新的開源仿真軟件平臺。
InterPSS是一種柔性的、可擴展的、易于維護的軟件系統(tǒng),其最大特點是具有源代碼公開、組成松散的結(jié)構(gòu),用戶可以根據(jù)各自的需求,通過插件(plug-in)的形式增加相應(yīng)的模塊功能或替換相應(yīng)的模塊來實現(xiàn)。目前,InterPSS已經(jīng)實現(xiàn)了交流、直流潮流計算、短路計算和暫態(tài)穩(wěn)定計算的仿真功能,并且用戶可以輕易地在此基礎(chǔ)上將其功能拓展到協(xié)調(diào)保護、諧波分析、電力市場、可靠性分析等等領(lǐng)域。
本文中的配網(wǎng)潮流計算即是直接調(diào)用InterPSS提供的API函數(shù)來完成,其計算結(jié)果也可直接通過API來讀取并用來進行全網(wǎng)的網(wǎng)損計算。事實上,本文所需的網(wǎng)損計算功能是通過面向?qū)ο缶幊痰募夹g(shù)繼承InterPSS的潮流計算類來生成自己的自定義類,在自定義類的擴展功能中實現(xiàn)的,如圖3所示。
圖3 有功網(wǎng)損計算類與InterPSS潮流計算類的繼承關(guān)系
Jenetics是用JAVA編寫的通用遺傳算法程序庫。與InterPSS相同,Jenetics也可以直接從Inter?net上免費下載并不受限制使用。Jenetics中遺傳算法的執(zhí)行是基于一個相當(dāng)完備的底層數(shù)據(jù)模型,如圖4所示。
圖4 Jenetics的底層數(shù)據(jù)模型
Jenetics已對2.2節(jié)所提到的遺傳算法所有通用操作進行了封裝,程序開發(fā)者可以不必關(guān)注其細節(jié),僅需繼承圖4所示的FitnessFunction接口實現(xiàn)自己的特定適應(yīng)度函數(shù)計算類,即可執(zhí)行遺傳算法。
例如,本文中即可將Jenetics遺傳算法執(zhí)行過程中生成的染色體三狀態(tài)編碼進行譯碼,以得到當(dāng)前研究的配網(wǎng)中所有聯(lián)絡(luò)開關(guān)的開斷狀態(tài),進而形成InterPSS電網(wǎng)對象,調(diào)用圖3所示的有功網(wǎng)損計算類計算出當(dāng)前的網(wǎng)損值,即為所需的適應(yīng)度函數(shù)值。
圖5示出了為實現(xiàn)配網(wǎng)重構(gòu)計算而對本文涉及的各種開源軟件進行整合的邏輯關(guān)系圖。
基于圖5所示的程序邏輯關(guān)系圖和JAVA語言編寫了相應(yīng)的配網(wǎng)重構(gòu)遺傳算法程序,利用IEEE70節(jié)點算例系統(tǒng)進行驗證,相應(yīng)配網(wǎng)拓撲結(jié)構(gòu)見圖6,圖中節(jié)點1為電源點,實線為常規(guī)支路,虛線為聯(lián)絡(luò)開關(guān)支路。
假設(shè)配網(wǎng)重構(gòu)優(yōu)化前所有聯(lián)絡(luò)開關(guān)支路斷開,則此時配網(wǎng)運行結(jié)構(gòu)如圖7所示,相應(yīng)有功網(wǎng)損為21.83kW。
經(jīng)過本文所開發(fā)程序的優(yōu)化計算,得到最終優(yōu)化解的染色體編碼為[01202],對應(yīng)圖8所示的配網(wǎng)運行結(jié)構(gòu),此時的有功網(wǎng)損為13.57 kW,下降了38%。
完成前述優(yōu)化計算在某單核CPU的PC機上共需368.05秒,已初步滿足在線應(yīng)用的要求。事實上,由于遺傳算法具有內(nèi)稟的并行性,即任一個體的適應(yīng)度函數(shù)計算完全不依賴于其他任何個體的計算結(jié)果,若能利用最新版本的JAVA7中所推出的全新并行計算機制——Fork/Join機制,可輕易在多核多線程CPU上自動實
現(xiàn)近似線性的并行加速。例如,若在當(dāng)前主流CPU——酷睿i5系列上執(zhí)行這種遺傳算法計算,由于該CPU為雙核雙線程,則可望在100秒之內(nèi)完成遺傳算法計算,完全符合配網(wǎng)重構(gòu)在線應(yīng)用的要求,具有很好的應(yīng)用前景。
圖5 程序邏輯關(guān)系圖
目前我國電力工業(yè)界和學(xué)術(shù)界都在大力研發(fā)智能電網(wǎng)的相關(guān)技術(shù),其中配網(wǎng)重構(gòu)優(yōu)化技術(shù)不需新增一次設(shè)備,可充分利用現(xiàn)有的軟硬件條件,具有獨特的經(jīng)濟和技術(shù)優(yōu)勢。
配網(wǎng)重構(gòu)優(yōu)化技術(shù)的核心是優(yōu)化算法的實現(xiàn)。配網(wǎng)重構(gòu)是對配網(wǎng)的拓撲結(jié)構(gòu)進行操作和選擇,是典型的離散問題。同時,配網(wǎng)重構(gòu)優(yōu)化問題的可行解域隨聯(lián)絡(luò)開關(guān)數(shù)目的增加呈指數(shù)性增長。這些特征決定了配網(wǎng)重構(gòu)優(yōu)化非常適用典型的啟發(fā)式優(yōu)化算法,本文采用的是經(jīng)典的遺傳算法。
本文配網(wǎng)重構(gòu)優(yōu)化算法涉及配網(wǎng)潮流計算和遺傳算法的各種計算,二者均有成熟的JAVA開源程序庫可資利用,即用于電力系統(tǒng)仿真的In?terPSS和用于遺傳算法的Jenetics。通過對這兩種開源程序庫進行合理整合,可設(shè)計出完備的配網(wǎng)重構(gòu)優(yōu)化程序。若能對執(zhí)行優(yōu)化程序的硬件做合理升級,并充分利用最新JAVA版本的并行計算機制,還可進一步大大加速遺傳算法計算的時間,甚至達到在線應(yīng)用的要求。
圖6 IEEE70節(jié)點算例系統(tǒng)
圖7 初始配網(wǎng)結(jié)構(gòu)
圖8 優(yōu)化后的配網(wǎng)結(jié)構(gòu)
事實上,本文所提出的利用開源程序庫執(zhí)行遺傳算法優(yōu)化的技術(shù)具有一定的通用性,因此不僅適用于配網(wǎng)重構(gòu)優(yōu)化,而是具有更廣闊的應(yīng)用前景。直接利用開源程序庫可大大降低軟件開發(fā)的風(fēng)險和成本,顯著縮短開發(fā)周期,同時可使開發(fā)者把精力集中在所關(guān)心的優(yōu)化問題本身,值得推廣和借鑒。
[1]歐陽帆.網(wǎng)格計算環(huán)境下配電網(wǎng)網(wǎng)絡(luò)重構(gòu)算法的研究[D].上海:上海交通大學(xué),2008.
[2]胡敏,陳元.配電系統(tǒng)最優(yōu)網(wǎng)絡(luò)重構(gòu)的模擬退火算法[J].電力系統(tǒng)自動化,1994,18(2):24-28.
[3]許立雄,呂林,劉俊勇.基于改進粒子群優(yōu)化算法的配電網(wǎng)絡(luò)重構(gòu)[J].電力系統(tǒng)自動化,2006,30(7):27-30.
[4]黃健,張堯.蟻群算法在配電網(wǎng)重構(gòu)的應(yīng)用[J].電力系統(tǒng)及其自動 化 學(xué) 報 , 2007, 19 (4):59-64.
[5]Mendoza J., Lopez R., Morales D.,etc.,Minimal loss reconfigura?tion using genetic algorithms with re?stricted population and addressed op?erations:real application [J].Pow?er Systems,IEEE Transactions on,2006,21(2):948-954.
[6]李海鋒.配電網(wǎng)網(wǎng)絡(luò)重構(gòu)算法的研究[D].廣州:華南理工大學(xué),2000.
[7]Michael Zhou, Shizhao Zhou.Internet, Open-source and Power System Simulation[A].IEEE PES General Meeting[C].Tampa Florida USA:2007,June.
[8]Franz Wilhelmst?tter.Jenetics-Java Genetic Algorithm[EB/OL].http://jenetics.sourceforge.net/.