劉學(xué)華, 孔霄迪
(1. 國電南京自動化股份有限公司,江蘇 南京 210032;2. 南京南瑞繼保電氣有限公司,江蘇 南京 211102)
近年來,世界范圍內(nèi)發(fā)生了多起大停電事故,引起重大的社會經(jīng)濟(jì)損失[1—2],2003年滿足“N-1準(zhǔn)則”的意大利全網(wǎng)在多個元件相繼開斷后發(fā)生大停電[3]。為此,我國于2019年更新了電力系統(tǒng)安全穩(wěn)定導(dǎo)則,在靜態(tài)安全分析的“N-1準(zhǔn)則”基礎(chǔ)上增補(bǔ)了“N-2準(zhǔn)則”的內(nèi)涵[4]。目前,在滿足“N-1準(zhǔn)則”的基礎(chǔ)上,部分經(jīng)濟(jì)發(fā)達(dá)地區(qū)已經(jīng)實(shí)現(xiàn)了N-2校核。然而,隨著電網(wǎng)的大規(guī)?;ヂ?lián)、新能源設(shè)備與不確定負(fù)荷的大量接入,N-2場景數(shù)呈爆炸式增長,傳統(tǒng)的交流潮流(alternating current,AC)算法難以滿足實(shí)際工程的在線潮流計算的需求,其中線路開斷尤為突出,為此,有必要研究N-2開斷潮流的快速計算方法,當(dāng)前研究主要分為3類。
其一,并行計算技術(shù)在潮流方程的應(yīng)用包括直接法與迭代法[5]。直接法基于矩陣分解與求逆,不存在收斂問題,但并行化程度較低,通信開支較大,難以應(yīng)用于大規(guī)模系統(tǒng)。迭代法并行化簡單,通信開支小,但收斂速度慢,且迭代次數(shù)隨處理器數(shù)目增長而增加[6]。
其二,為減少潮流計算量,有研究對AC算法進(jìn)行簡化,部分計及甚至完全忽略潮流方程的非線性。經(jīng)典的直流潮流(direct current,DC)算法將非線性潮流方程轉(zhuǎn)化為有功與相角的線性方程求解。然而,DC算法的計算誤差通常較大,分析精度尚不足以實(shí)現(xiàn)大系統(tǒng)的工程分析,且無法提供電壓與無功信息[7—8]。
其三,大量基于人工智能(artificial intelligence,AI)的分類學(xué)習(xí)技術(shù)已應(yīng)用于電力系統(tǒng)靜態(tài)安全評估,包括支持向量機(jī)、人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)、C4.5等[9—10]?;诖罅坑?xùn)練的靜態(tài)安全AI評估分類準(zhǔn)確性高,但研究結(jié)果缺乏潮流數(shù)據(jù),無法據(jù)此配置安全控制措施。對此,前饋神經(jīng)網(wǎng)絡(luò)、徑向基函數(shù)等方法被應(yīng)用于快速潮流計算[11—12],然而其成果局限于新英格蘭系統(tǒng),在大系統(tǒng)的強(qiáng)壯性有待校核,相對傳統(tǒng)AC算法其速度優(yōu)勢并不顯著。近兩年,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)已被應(yīng)用于N-1故障潮流計算[13],相比傳統(tǒng)AC算法,基于CNN的潮流計算速度顯著提升,但關(guān)于N-2開斷的研究依然是空白。
文中基于系統(tǒng)拓?fù)渑c工況變化設(shè)計原始特征圖,應(yīng)用CNN求解全網(wǎng)潮流,避免了AC算法復(fù)雜的非線性代數(shù)方程組求解,實(shí)現(xiàn)了約80倍的計算速度提升。相比傳統(tǒng)ANN,CNN顯著減少訓(xùn)練參數(shù),緩解過擬合問題,將計算精度提高了近1個數(shù)量級。
CNN是一種數(shù)據(jù)處理的深度學(xué)習(xí)模型,能由低至高自適應(yīng)地學(xué)習(xí)特征的層次結(jié)構(gòu),常用于處理具有網(wǎng)格屬性的數(shù)據(jù),譬如圖像、語音等[14—15]。該模型包括卷積層、池化層與全連接層,結(jié)構(gòu)如圖1所示。其中,實(shí)線箭頭描述了CNN的訓(xùn)練與應(yīng)用過程,虛線箭頭指向的損失函數(shù)計算僅在CNN的訓(xùn)練階段,用于優(yōu)化網(wǎng)絡(luò)參數(shù)。卷積層與池化層通常用于進(jìn)一步從原始特征圖中提取信息;全連接層建立特征與目標(biāo)信息的映射關(guān)系并預(yù)測輸出。
圖1 CNN結(jié)構(gòu)Fig.1 Structure of CNN
卷積層利用卷積核進(jìn)一步提取輸入數(shù)據(jù)的特征,這是CNN區(qū)別于其他神經(jīng)網(wǎng)絡(luò)的關(guān)鍵。相比傳統(tǒng)ANN,卷積計算的引入使CNN具有權(quán)值共享與連接稀疏兩大特性[16—17]。相比傳統(tǒng)的全連接方式,卷積計算顯著減少了訓(xùn)練參數(shù),降低了離線訓(xùn)練的計算量,有效緩解了過擬合問題,提高了神經(jīng)網(wǎng)絡(luò)的泛化能力。
卷積層的存在使得原始特征圖中數(shù)據(jù)之間可以分組聚合,以電力系統(tǒng)潮流計算為例,傳統(tǒng)ANN方法將全部節(jié)點(diǎn)信息混合輸入,無法實(shí)現(xiàn)信息與節(jié)點(diǎn)的關(guān)聯(lián);CNN方法能夠按節(jié)點(diǎn)對原始特征圖求卷積,通過權(quán)值共享與稀疏連接避免了大量無關(guān)參數(shù)參與訓(xùn)練帶來的過擬合問題。
對于n節(jié)點(diǎn)系統(tǒng),其任意節(jié)點(diǎn)i的潮流方程如式(1)所示。
(1)
式中:Vi,θi分別為節(jié)點(diǎn)i的電壓幅值與相角;Pi,Qi分別為節(jié)點(diǎn)i的注入有功與無功功率;Gii,Bii分別為節(jié)點(diǎn)i的自電導(dǎo)與自電納。當(dāng)i與j不等時,Gij,Bij分別為節(jié)點(diǎn)i與節(jié)點(diǎn)j的互電導(dǎo)與互電納。式(1)求解的電壓幅值與相角即文中所指潮流結(jié)果,支路潮流可據(jù)電壓幅值與相角進(jìn)一步求解。
基于CNN的線路開斷潮流計算包含離線訓(xùn)練與在線應(yīng)用2個階段,如圖2所示。
圖2 基于CNN的故障潮流計算流程Fig.2 Flow chart of post-contingency load flow calculation based on CNN
在線應(yīng)用時,對測試集中的具體算例輸入原始特征圖,根據(jù)離線訓(xùn)練的CNN模型,計算故障潮流。離線訓(xùn)練階段主要包括以下4個模塊:
(1) 采集故障與工況信息。針對訓(xùn)練樣本算例,采集信息包括初始拓?fù)涞木W(wǎng)絡(luò)參數(shù)(電導(dǎo)與電納)、被開斷支路編號、發(fā)電機(jī)出力與負(fù)載。此外,還需基于離線仿真(一般采用AC算法)計算故障后潮流電壓幅值VAC與相角θAC,以評估基于CNN的潮流結(jié)果誤差,計算損失函數(shù)。
(2) 設(shè)計原始特征圖。不同于傳統(tǒng)ANN方法,CNN通常以圖像類數(shù)據(jù)為輸入信息。采集故障與工況信息后,可將各節(jié)點(diǎn)信息構(gòu)成一張原始特征圖,設(shè)計過程詳見第3章。
(3) 設(shè)計CNN。CNN包括卷積層、池化層與全連接層??紤]到式(1)中潮流結(jié)果與各節(jié)點(diǎn)屬性強(qiáng)相關(guān)且文中特征圖的計算量較小,不再采用池化層進(jìn)一步縮減特征圖信息。綜上,文中CNN的設(shè)計涉及卷積層(卷積核尺寸、個數(shù),卷積層層數(shù))及全連接層(全連接層層數(shù))。
(4) 基于損失函數(shù)優(yōu)化CNN參數(shù)。損失函數(shù)用于明確離線訓(xùn)練參數(shù)的優(yōu)化方向。在優(yōu)化CNN網(wǎng)絡(luò)的卷積核參數(shù)與全連接的權(quán)重參數(shù)時,文中考慮以潮流計算誤差最小為訓(xùn)練目標(biāo),而潮流計算誤差包括電壓誤差eV與相角誤差eθ兩方面。記CNN的故障潮流計算電壓幅值、相角分別為VCNN與θCNN,以模塊(1)中離線仿真AC算法的電壓幅值、電壓相角結(jié)果VAC與θAC為參考,分別按式(2)與式(3)定義eV與eθ:
(2)
(3)
基于eV與eθ描述損失函數(shù),如式(4)所示。
(4)
式中:αV,αθ分別為電壓誤差與相角誤差的懲罰因子,默認(rèn)取1。在迭代周期內(nèi),根據(jù)最小損失函數(shù)對應(yīng)的CNN參數(shù)輸出離線訓(xùn)練的CNN模型。
電力系統(tǒng)潮流計算中,每一節(jié)點(diǎn)均具有其對應(yīng)的拓?fù)浠蚬r屬性,且屬性數(shù)目常大于1。傳統(tǒng)神經(jīng)網(wǎng)絡(luò)以向量為輸入信號,丟失了節(jié)點(diǎn)與屬性的對應(yīng)關(guān)系,而在CNN的計算中,原始特征圖保留了這種對應(yīng)關(guān)系,且圖中的節(jié)點(diǎn)屬性可采用通道描述。結(jié)合卷積本身具有權(quán)值共享與連接稀疏的特點(diǎn),基于CNN的潮流計算結(jié)果往往相對ANN精度較高且泛化性能較好。
為了控制計算規(guī)模,文中設(shè)計了3通道的原始特征圖,考慮到各算例的基態(tài)相同,取故障前后節(jié)點(diǎn)參數(shù)的變化量為各通道屬性。由式(1)可知,節(jié)點(diǎn)電壓和相角(Vi,θi)僅與注入功率(Pi,Qi)和導(dǎo)納(Gij,Bij)有關(guān)??紤]到在交流高壓電網(wǎng)中,輸電線路的電抗要比電阻大得多,電導(dǎo)遠(yuǎn)小于電納,文中忽略電納矩陣中非主對角元與電導(dǎo)矩陣的影響,將n個節(jié)點(diǎn)的自電納變化量構(gòu)成n×1階向量作為通道1輸入,記為ΔB,該通道特征描述拓?fù)浣Y(jié)構(gòu)對潮流結(jié)果的影響。另外,將n個節(jié)點(diǎn)的注入有功功率的變化量形成n×1階向量,記為ΔP;注入無功功率的變化量形成n×1階向量,記為ΔQ,分別作為特征圖通道2與通道3輸入CNN。相應(yīng)地,將n×1階節(jié)點(diǎn)電壓幅值向量V與n×1階節(jié)點(diǎn)電壓相角向量θ作為輸出信號。
為進(jìn)一步提高CNN的訓(xùn)練效果,采用min-max標(biāo)準(zhǔn)化方法對原始特征圖中信息進(jìn)行歸一化處理,將其線性映射到[0,1]之間,如式(5)所示。
(5)
式中:x*為歸一化后的特征數(shù)值;x為原始特征數(shù)值;xmin,xmax分別為特征最小、最大值。
上述原始特征圖的數(shù)據(jù)量是節(jié)點(diǎn)數(shù)的3倍,給卷積神經(jīng)網(wǎng)絡(luò)帶來的訓(xùn)練負(fù)擔(dān)小,對大規(guī)模系統(tǒng)的潮流計算具有實(shí)用性。
文中CNN由2個卷積層與1個全連接層構(gòu)成,如圖3所示。
圖3 CNN的設(shè)計示意Fig.3 Schematic diagram of design of CNN
基于第3章的原始特征圖,文中采用2個卷積層從原始特征圖中進(jìn)一步提取信息。每個卷積層由多個卷積核構(gòu)成。對每一層而言,卷積核越多,其特征圖越多,更多信息被挖掘,同時計算量也越大。對卷積層1,取尺寸為3×3×1×6的卷積核;對卷積層2,取3×3×6×12的卷積核。其中,卷積核4個參數(shù)分別為長、寬、深度與個數(shù)。此外,采用零填充以保證輸入特征圖的高度與寬度。
記Hk為CNN任一層的特征圖,文中k取0,1,2,3。特殊地,當(dāng)k取0時,H0為原始特征圖,即第3章設(shè)計的特征圖。對于每一層特征圖,其上一層特征圖經(jīng)卷積運(yùn)算后,采用非線性函數(shù)(稱為激活函數(shù))計算本層特征圖。Hk的卷積運(yùn)算如式(6)所示[18]。
Hk=h(Hk-1?Wk+bk)
(6)
式中:Wk為第k層卷積核的權(quán)值矩陣;?為卷積運(yùn)算符;bk為第k層的偏置向量;h為激活函數(shù)。主流函數(shù)包括Sigmoid、tanh與ReLU等,考慮到ReLU函數(shù)在加速權(quán)值梯度下降收斂與計算量上的優(yōu)勢,文中取ReLU為激活函數(shù),其定義如式(7)所示。
(7)
全連接層本質(zhì)為矩陣乘法,相當(dāng)于特征圖的空間變換,提取并整合多層卷積的計算結(jié)果。另一方面,全連接層可用于維度變換,尤其是對多層卷積后的高維數(shù)據(jù)降維,并保留其中有效信息。
全連接層按式(8)計算,上一層特征圖經(jīng)加權(quán)求和后,通過激活函數(shù)得到輸出結(jié)果。
Hk=h(Hk-1wk+bk)
(8)
式中:wk為第k層權(quán)值向量;Hk為輸出的潮流結(jié)果。此處,h仍取ReLU函數(shù)。
文中基于Matlab仿真平臺,在IEEE 30,IEEE 39,IEEE 57,IEEE 118四個標(biāo)準(zhǔn)系統(tǒng)中對比驗(yàn)證了文中方法的有效性,標(biāo)準(zhǔn)系統(tǒng)數(shù)據(jù)可參考MATPOWER手冊[19]。為保證樣本的隨機(jī)性,采用蒙特卡洛法抽取N-2故障樣本,以保證每個樣本中有任意2條支路退出運(yùn)行。此外,樣本算例中負(fù)荷與發(fā)電機(jī)出力的隨機(jī)性也通過蒙特卡洛抽樣實(shí)現(xiàn)。其中,各負(fù)荷變化范圍為標(biāo)準(zhǔn)工況的50%~150%,各機(jī)組出力變化范圍為標(biāo)準(zhǔn)工況的80%~120%。
5.1.1 精度評估指標(biāo)
為便于直接與傳統(tǒng)ANN的潮流結(jié)果對比,文中以AC算法的電壓幅值與相角結(jié)果為基準(zhǔn)值,使用算例集各節(jié)點(diǎn)電壓與相角的平均誤差評估開斷潮流的分析精度。對于含N個樣本的算例集,分別按式(9)與式(10)定義平均電壓誤差EV與相角誤差Eθ,二者數(shù)值越小,潮流結(jié)果精度越高。
(9)
(10)
5.1.2 速度評估指標(biāo)
(1) 計算時間。以秒為單位,考核方法的總計算時間T。T越小,潮流計算速度越快。
(2) 加速比。以AC算法的總計算時間TAC為參考,定義加速比R,如式(11)所示。R越大,潮流計算相對AC算法的速度優(yōu)勢越明顯。
(11)
5.2.1 訓(xùn)練樣本占比的影響
訓(xùn)練樣本占總樣本的比例會影響CNN的強(qiáng)壯性,與測試集的平均誤差直接相關(guān)。記N個算例中訓(xùn)練樣本數(shù)為Ntrain,定義訓(xùn)練樣本數(shù)占比σ為:
(12)
隨機(jī)抽取IEEE 30節(jié)點(diǎn)系統(tǒng)10 000個N-2算例,設(shè)置不同σ分別訓(xùn)練CNN,統(tǒng)計訓(xùn)練集與測試集的潮流誤差,如表1所示。
表1 不同σ下的潮流誤差Table 1 Load flow error with different σ
隨著σ上升,訓(xùn)練集與測試集中的EV與Eθ均不斷減小,測試集與訓(xùn)練集的計算精度愈加相近。理論上,訓(xùn)練集數(shù)量趨于無限時,誤差可接近0。然而,將所有N-2故障算例納入訓(xùn)練集既不可行,也沒有意義??紤]到表1中σ取60%與80%時,測試集與訓(xùn)練集的結(jié)果已非常接近,故余下仿真中σ取75%。
5.2.2 訓(xùn)練時長的影響
CNN的充分訓(xùn)練能夠構(gòu)建原始特征圖到潮流結(jié)果的非線性映射,然而,單次訓(xùn)練基于線性方程求解,實(shí)際訓(xùn)練常以多次反復(fù)迭代的形式來擬合。一般而言,隨著迭代次數(shù)增加,相應(yīng)的訓(xùn)練時間延長,CNN的分析精度提高。當(dāng)?shù)螖?shù)增大到一定程度時,訓(xùn)練時長對CNN性能的提升效果反而下降,極端情況下甚至可能出現(xiàn)“過擬合”。以5.2.1節(jié)中開斷計算場景為例,設(shè)置σ=75%,以IEEE 30節(jié)點(diǎn)系統(tǒng)為例,取迭代次數(shù)1~5 000(單次迭代的訓(xùn)練時間約3.8 s)訓(xùn)練CNN。訓(xùn)練時長對測試集分析精度的影響如表2所示。
表2 不同訓(xùn)練時間下的潮流誤差Table 2 Load flow error under different training time
由表2可見,隨著迭代次數(shù)從1增加到100,測試集的相角與電壓誤差幾乎降低80%;將迭代次數(shù)進(jìn)一步增加到1 000,誤差僅下降30%;繼續(xù)增加迭代次數(shù)到5 000,誤差反而略有增大,可能出現(xiàn)“過擬合”。為此,文中算例的訓(xùn)練過程統(tǒng)一采用500次迭代。
5.2.3 不同系統(tǒng)的影響
為校核文中方法在不同系統(tǒng)中的魯棒性,在IEEE 30,IEEE 39,IEEE 57,IEEE 118節(jié)點(diǎn)系統(tǒng)中各取5 000個算例,以75%算例為訓(xùn)練集,余下為測試集。選擇經(jīng)典的ANN方法為比較對象,設(shè)置其網(wǎng)絡(luò)寬度為10,深度為1,其輸入信號、訓(xùn)練集、測試集均與文中CNN方法相同。
表3對比了CNN與ANN在不同系統(tǒng)中開斷潮流的分析精度。相比ANN方法,文中設(shè)計的CNN分析框架使電壓誤差至少降低為原誤差的三分之一,相角誤差降低近1個數(shù)量級。且在不同系統(tǒng)中,文中方法將電壓平均誤差控制在0.01內(nèi),相角誤差控制在0.03內(nèi),具有魯棒性。
表3 不同系統(tǒng)中的潮流精度Table 3 Load flow accuracy in different systems
表4對比了文中方法與AC算法在5.2.3節(jié)中測試集的計算速度。相比傳統(tǒng)AC算法,文中方法將1 500個算例的計算時間控制在0.5 s以內(nèi),可滿足實(shí)際系統(tǒng)的在線分析需求。相比傳統(tǒng)AC算法,文中方法在4個典型系統(tǒng)中使速度提高約80倍,且加速比隨系統(tǒng)規(guī)模增大而增大。因此,系統(tǒng)規(guī)模越大,文中方法的提速效果越明顯。
表4 不同系統(tǒng)中的潮流速度Table 4 Load flow speed in different systems
值得一提的是,AC算法在IEEE典型系統(tǒng)中的迭代一般不超過10次,而在實(shí)際大系統(tǒng)中的潮流迭代一般超過10次。隨系統(tǒng)規(guī)模的擴(kuò)大,AC算法計算量顯著增長,文中方法的速度優(yōu)勢越顯著。
針對現(xiàn)有潮流計算方法難以實(shí)現(xiàn)N-2線路開斷故障在線計算的問題,文中基于CNN提出了一種電力系統(tǒng)開斷潮流的快速計算方法。文中方法以故障前后工況與拓?fù)涞淖兓畔?gòu)建原始特征圖,設(shè)計卷積神經(jīng)網(wǎng)絡(luò)建立原始特征圖與故障后節(jié)點(diǎn)電壓、相角的非線性的映射關(guān)系。相對經(jīng)典的AC算法,CNN方法避免了復(fù)雜模型的反復(fù)迭代求解,使潮流計算速度提高約80倍。相比傳統(tǒng)的ANN模型,CNN方法使電壓與相角誤差降低約1個數(shù)量級。另外,多個IEEE系統(tǒng)的仿真結(jié)果驗(yàn)證了CNN方法的強(qiáng)壯性。
AI方法引入電力系統(tǒng)靜態(tài)安全分析已經(jīng)二十余載,至今仍有一些問題亟待解決,包括訓(xùn)練集與測試集的數(shù)量問題;將潮流計算過程與靜態(tài)安全評估、控制相結(jié)合,基于CNN進(jìn)一步實(shí)現(xiàn)有功與無功潮流的計算;高階故障開斷潮流的快速可靠計算等。