葉 琳,項中明,張 靜,徐建平,呂 勤,尚秀敏,楊靖萍,刁瑞盛
(1.國網(wǎng)浙江省電力有限公司,杭州 310007;2.國網(wǎng)浙江省電力有限公司金華供電公司,浙江 金華 321000;3.國電南瑞南京控制系統(tǒng)有限公司,南京 211106)
新型電力系統(tǒng)的安全、經(jīng)濟運行是非常復雜的控制問題,需要同時滿足電壓、頻率、線路潮流等多種安全約束。近期碳達峰、碳中和的能源政策及相關(guān)行業(yè)標準將極大促進綠色能源發(fā)展,可再生能源在電網(wǎng)中的占比將不斷提高。但由于風能、太陽能的間歇性、動態(tài)性和隨機性,高滲透率的可再生能源對電力系統(tǒng)的安全和經(jīng)濟運行帶來巨大挑戰(zhàn)。
為了制定安全且經(jīng)濟的電網(wǎng)運行方式,通常針對可能出現(xiàn)的運行工況對電網(wǎng)進行建模、仿真、分析,一旦發(fā)現(xiàn)安全問題,需采取相應(yīng)的控制措施來降低基態(tài)和故障(“N-1”或“N-k”)情況下的運行風險。該過程需要考慮電力負荷預(yù)測、基建計劃、檢修計劃、發(fā)電機組啟停及發(fā)電計劃等因素。由于該問題的高復雜度和高非線性,電網(wǎng)合理運行方式的制定通常需要依靠工程師經(jīng)驗,對電網(wǎng)模型及參數(shù)進行大量人工調(diào)整和海量的仿真分析,以得到滿足要求的電網(wǎng)運行方式。然而,考慮大電網(wǎng)負荷變化、可再生能源波動和故障等各種不確定性因素下,精準、快速地制定潮流控制策略變得十分困難[1-6]。因此,新型電力系統(tǒng)迫切需要一種有效的自動化方法來實現(xiàn)上述目標。
近年來,隨著人工智能技術(shù)的快速發(fā)展和演變,深度強化學習算法在多種控制領(lǐng)域表現(xiàn)優(yōu)異,這類控制問題可以歸結(jié)為MDP(馬爾可夫決策過程),其典型成功應(yīng)用案例有AlphaGo、自動駕駛汽車和機器狗等,這些成功案例為有效解決電網(wǎng)規(guī)劃和調(diào)控難題提供了借鑒[7-15]。本文提出一種基于多強化學習智能體架構(gòu)的電網(wǎng)運行方式調(diào)節(jié)方法,為解決電網(wǎng)運行方式的自動制定提供一個通用平臺。首先,將電網(wǎng)運行方式制定的問題描述為MDP,收集電網(wǎng)潮流信息形成狀態(tài)空間(包括線路功率、母線電壓、發(fā)電機輸出功率和電網(wǎng)負荷等信息),將多種控制目標和安全約束建模為強化學習智能體的獎勵值(包括基態(tài)獎勵值和故障工況獎勵值)。其次,提出兩階段的智能體訓練框架,可使用多個強化學習智能體來自動調(diào)節(jié)不同類型的可控資源。在第一階段使用發(fā)電機有功調(diào)整進行集中式訓練,其控制空間由選定的發(fā)電機有功功率集合構(gòu)成;在第二階段使用局部變電站負荷轉(zhuǎn)移進行分布式訓練,其控制空間由變電站負荷有功功率構(gòu)成;在每個負荷轉(zhuǎn)移控制空間中,所選中的變電站之間的負荷有功總和與功率因數(shù)保持不變。大量的數(shù)值仿真試驗結(jié)果表明,該方法在考慮多種故障工況下可調(diào)節(jié)傳輸線路功率,自動搜索得到滿足電網(wǎng)安全約束的運行方式。
本文首先介紹電網(wǎng)運行方式的數(shù)學模型和安全約束,以及SAC(最大熵)強化學習算法;然后給出所提方法的技術(shù)方案細節(jié),包括多智能體框架設(shè)計、獎勵值設(shè)計、狀態(tài)空間和控制空間的制定以及算法的實現(xiàn)流程;最后,在某實際電網(wǎng)模型中驗證該方法的有效性。
本文主要考慮電網(wǎng)規(guī)劃和運行中的準穩(wěn)態(tài),包括故障前的基態(tài)以及故障后的運行工況。為了保證電網(wǎng)的安全運行,需時刻滿足多種安全約束條件。為了描述電力系統(tǒng)的穩(wěn)態(tài)特性,通常對發(fā)電機、母線、負荷、輸電線路和變壓器等電力元件進行建模,形成相應(yīng)的代數(shù)方程。潮流求解通常使用牛頓-拉夫遜計算方法,得到有效的解。電網(wǎng)的準穩(wěn)態(tài)運行模型由式(1)—(12)給出:
式中:Gi、Di、Bi分別為與母線i相連的發(fā)電機集合、負荷集合、母線集合;和分別為發(fā)電機n輸出的有功功率和無功功率;和分別為負荷m的有功功率和無功功率;gi和bi分別為母線i的電導和電納;y為線路標識;Pg,i和Qg,i分別為母線i的發(fā)電機有功功率和無功功率;Pd,i和Qd,i分別為母線i的負荷有功功率和無功功率;和分別為發(fā)電機k的有功功率下限和上限;和分別為發(fā)電機k的無功功率下限和上限;和分別為母線i電壓幅值Ui的下限和上限;為線路ij的視在功率上限;gij和bij分別為線路ij的電導和電納;bij0為線路ij的初始電納;θi和θj分別為母線i和j的電壓相角;Pij和Qij分別為從母線i到母線j的有功功率和無功功率;ΩL為傳輸線路集合;ΩT為變壓器集合。
式(7)—(10)為電網(wǎng)安全運行的不等式約束,分別描述各種電力設(shè)備的安全極限,要求所有的線路潮流、發(fā)電機輸出和電壓幅值均運行在其物理極限以內(nèi)。
電網(wǎng)合理的運行方式可考慮多種控制目標,即在滿足上述所有約束條件的同時,盡量減少發(fā)電成本或輸電網(wǎng)損。以最小化發(fā)電成本為控制目標見式(13),以最小化輸電網(wǎng)損為控制目標見式(14):
式中:c(k)為發(fā)電機k的發(fā)電成本;Ploss(ij)為線路ij的網(wǎng)損。
強化學習算法是人工智能的一個重要分支。與監(jiān)督式學習和無監(jiān)督式學習不同,強化學習智能體的訓練過程需與物理系統(tǒng)或仿真環(huán)境不斷互動,通過觀測狀態(tài)空間給出相應(yīng)的控制動作,從環(huán)境中獲得獎勵值。強化學習智能體通常使用大量的樣本訓練,以最大化獎勵值的積累,達到既定控制目標。使用強化學習算法的控制問題可建模為MDP,包括狀態(tài)空間S、動作空間A、轉(zhuǎn)移概率p、獎勵函數(shù)R。在每個控制迭代步驟t中,智能體在狀態(tài)空間S中觀察狀態(tài)為st,在A中選擇并執(zhí)行動作at,獲得一個標量獎勵值r(st,at)。智能體的決策行為定義為策略π:p(A)←S,該控制策略將狀態(tài)空間映射到控制動作的概率分布。強化學習智能體的控制性能好壞通常用Q值函數(shù)來描述,智能體的控制目標是找到最優(yōu)策略,以最大化獎勵的期望值。
本文選取SAC算法。SAC在訓練過程中可同時最大化獎勵的期望值和熵,相比于其他強化學習算法,其在樣本使用效率和穩(wěn)定性方面表現(xiàn)出了更好的性能[14]。在控制策略的目標函數(shù)中,平衡系數(shù)α決定熵項與獎勵值的權(quán)重,從而控制最優(yōu)策略的隨機采樣程度。值得注意的是,如果使用固定的平衡系數(shù)α,那么SAC 智能體會隨著訓練的樣本增多而變得不穩(wěn)定,為了解決該問題,本文采用自動更新平衡系數(shù)的方法來提升智能體訓練的收斂速度和穩(wěn)定性。平衡系數(shù)可以隨著控制策略的更新而自動變化,以探索更多的可行解。具體的實現(xiàn)方法是將平均熵約束添加到原始目標函數(shù)中,同時允許熵在不同狀態(tài)下發(fā)生變化。目標函數(shù)為:
式中:πt為時刻t的控制策略;π0為初始控制策略;H(πt)為策略是πt時的熵值;H0為期望的最小熵值。
平衡系數(shù)的損失函數(shù)為:
強化學習智能體可提供預(yù)防性和矯正性控制措施,以確保電網(wǎng)在多種運行工況下的安全性。在訓練智能體搜索電網(wǎng)最優(yōu)運行方式過程中,所考慮的約束條件包括電網(wǎng)交流潮流方程、發(fā)電機功率極限、電壓極限和輸電線路的極限(包括熱極限和穩(wěn)定極限)。多強化學習智能體的電網(wǎng)潮流自動調(diào)節(jié)架構(gòu)如圖1所示,包括離線訓練模塊和在線應(yīng)用模塊。
圖1 多強化學習智能體的電網(wǎng)潮流自動調(diào)節(jié)架構(gòu)
離線訓練模塊分為發(fā)電機控制階段(第一步)和負荷控制階段(第二步)。這兩個階段都包括3個子模塊,即電網(wǎng)環(huán)境、智能體和經(jīng)驗池。
1)電網(wǎng)環(huán)境子模塊采用電網(wǎng)模型和運行數(shù)據(jù)作為輸入,從數(shù)據(jù)文件中提取電網(wǎng)狀態(tài)信息,啟動強化學習智能體訓練過程。該模塊使用交流潮流求解程序來計算獎勵函數(shù)值。
2)智能體子模塊從智能體的控制動作策略中更新神經(jīng)網(wǎng)絡(luò)參數(shù),并根據(jù)狀態(tài)輸入提供控制動作at。
3)經(jīng)驗池子模塊從另外兩個子模塊收集(st,at,r,st+1)作為樣本數(shù)據(jù),用于更新控制策略和Q值函數(shù)的神經(jīng)網(wǎng)絡(luò)。
在施加發(fā)電機控制后,使用交流潮流求解程序?qū)﹄娋W(wǎng)進行安全評估。如果部分傳輸線路過載問題仍然存在,則將第一階段得到的最優(yōu)控制策略施加到電網(wǎng)模型中,作為第二階段負荷控制的輸入,繼續(xù)訓練第二階段的負荷控制智能體,以解決剩余的線路過載問題。
在線使用模塊使用第一階段由智能體搜索到的最優(yōu)控制策略文件作為輸入。在第二個階段控制完成之后,將最佳的控制措施加入到電網(wǎng)運行方式中,該文件則是多強化學習智能體的最終輸出。
在第一階段中,使用發(fā)電機功率控制的狀態(tài)空間定義為向量Sg=(P,U,G),其中P為被控區(qū)域內(nèi)的線路有功功率向量,U為同一區(qū)域內(nèi)的母線電壓幅值向量,G為發(fā)電機有功功率輸出向量。動作空間Ag定義為G,作為調(diào)節(jié)電網(wǎng)傳輸線路有功功率的控制措施。
在第二階段中,使用分布式負荷轉(zhuǎn)移控制,其狀態(tài)空間定義為向量Sd=(P,U,D),其中D為變電站負荷向量。動作空間Ad定義為負荷轉(zhuǎn)移的控制措施,需滿足所選中變電站之間的負荷有功總和與功率因數(shù)保持不變。負荷轉(zhuǎn)移智能體進行調(diào)控前,會搜索網(wǎng)架結(jié)構(gòu)和設(shè)備運行狀態(tài)來選擇可能的轉(zhuǎn)移方式,從而確保所選變電站之間負荷轉(zhuǎn)移的物理可行性。為了保持不同類型數(shù)據(jù)的一致性,在訓練強化學習智能體的過程中對狀態(tài)值和動作值都進行了歸一化處理。
本文所提出的基于強化學習算法自動調(diào)節(jié)電力網(wǎng)絡(luò)潮流的方法具有良好的擴展性,可根據(jù)不同需求將多元化調(diào)控手段添加至控制空間中對強化學習智能體進行訓練,例如線路投切狀態(tài)、變電站母線分裂等拓撲變化[14]。
強化學習算法的獎勵值是智能體在每個控制迭代過程中表現(xiàn)好壞的評價。有效的獎勵值設(shè)計可以加速智能體訓練的收斂速度,提升調(diào)控性能。本文的控制目標是獲取滿足基態(tài)和故障條件下電網(wǎng)安全約束的最優(yōu)運行方式,即在基態(tài)和故障(電網(wǎng)中的傳輸線路故障)工況下聯(lián)絡(luò)線潮流均不越限,被控區(qū)域必須能夠保持基態(tài)和“N-1”故障后的安全性。因此,智能體的獎勵值函數(shù)定義為故障獎勵與基態(tài)獎勵之和,即:
式中:rcon為故障工況下的獎勵值;rbase為基態(tài)工況下的獎勵值;Pfrom和Pto分別為在輸電線路首端和末端的有功功率測量值;Plimit為該線路的有功上限,代表線路熱極限或穩(wěn)定限額;a和b為獎勵值系數(shù);N為線路總數(shù);h為基態(tài)工況下線路個數(shù)計數(shù)器;l為“N-1”故障工況下線路個數(shù)計數(shù)器。
rcon可有效量化“N-1”故障后被控區(qū)域內(nèi)線路功率的越限程度,rbase評估當前拓撲結(jié)構(gòu)不變的前提下線路功率的越限情況。獎勵值的計算流程如圖2所示。
圖2 獎勵值計算流程
算法實現(xiàn)流程見表1,程序使用Python 3.7 版本編寫。其中:第1—13行給出了發(fā)電機強化學習智能體的訓練方法,第7—10 行生成馬爾可夫元組,用于更新策略和Q值函數(shù)的神經(jīng)網(wǎng)絡(luò)參數(shù);第11—13行,當智能體收集樣本數(shù)大于batch_size(采樣批量大小)時,控制策略和Q值函數(shù)的神經(jīng)網(wǎng)絡(luò)參數(shù)隨機更新,這個過程與負荷轉(zhuǎn)移智能體的控制過程類似;第15—28 行給出了使用發(fā)電機作為控制手段未能完全解決線路越限問題后,使用負荷轉(zhuǎn)移智能體的訓練過程。
表1 多智能體潮流控制算法
為了驗證所提方法的有效性,本文采用浙江電網(wǎng)實際電網(wǎng)模型進行驗證。該電網(wǎng)模型文件(浙江地區(qū))包括6 500 條母線、600 臺發(fā)電機、6 000條線路和4 300臺變壓器。為了展示多強化學習智能體在不同調(diào)控階段的性能,進行兩個測試:第一個測試針對集中式發(fā)電機智能體的訓練與性能測試,選取的金華分區(qū)電網(wǎng)包括224 條母線、231條輸電線路和7臺發(fā)電機,代表2019年1月的電網(wǎng)運行工況;第二個測試使用2019年10月的浙江電網(wǎng)運行方式文件,綜合測試發(fā)電機智能體和負荷控制智能體的調(diào)控性能。
在第一個算例測試中,使用大型發(fā)電機組來訓練SAC智能體,其狀態(tài)空間維數(shù)為462(包含母線電壓、線路功率、發(fā)電機有功功率),動作空間維數(shù)為7(代表7 臺所選區(qū)域內(nèi)的發(fā)電機組有功出力)。該智能體的訓練迭代步驟及智能體性能如圖3所示。由圖3(a)可以看出,同時使用7臺發(fā)電機組訓練出來的SAC智能體,可以在20個訓練樣本后成功收斂,即完全解決基態(tài)與故障工況下的線路過載問題。圖3(b)給出了7 臺發(fā)電機組在不同迭代步數(shù)中的有功功率輸出。
圖3 第一階段使用發(fā)電機智能體訓練進程與效果
在第二個算例測試中,當完成第一階段發(fā)電機智能體訓練后,智能體并未完全解決線路過載問題,即僅通過調(diào)整發(fā)電機組有功出力的方式無法找到同時滿足基態(tài)和故障工況下的安全電網(wǎng)運行方式。其原因在于所選7臺發(fā)電機組的地理位置距離越限線路較遠,調(diào)控靈敏度過低,在調(diào)節(jié)金華分區(qū)電網(wǎng)局部線路潮流過程中具有局限性。因此,需要將負荷轉(zhuǎn)移控制作為輔助調(diào)控手段,以解決局部線路過載問題。在第二階段智能體訓練過程中,訓練負荷轉(zhuǎn)移智能體可同時調(diào)節(jié)該局部區(qū)域6個變電站有功負荷,其狀態(tài)空間維度為453(包括母線電壓、線路功率和負荷有功值),動作空間維度為5,而第6 個變電站負荷吸收其余5 個變電站負荷總的有功變化,訓練過程中保持負荷的功率因數(shù)不變。所選中的6個變電站之間負荷轉(zhuǎn)移的物理可行性由網(wǎng)架結(jié)構(gòu)和變電站間聯(lián)絡(luò)設(shè)備運行狀態(tài)確定。該強化學習智能體的控制結(jié)果如圖4 所示,即負荷控制智能體迭代30 次之后,可成功解決局部線路過載的問題。
圖4 第二階段使用變電站負荷轉(zhuǎn)移智能體訓練進程與效果
本文提出一種基于多強化學習智能體架構(gòu)的電網(wǎng)運行方式調(diào)節(jié)方法,包括訓練集中式發(fā)電機智能體和分布式負荷轉(zhuǎn)移智能體,以自動搜索滿足基態(tài)和故障工況下多種安全約束的可行電網(wǎng)運行方式。智能體的訓練和測試過程采用帶有自適應(yīng)平衡系數(shù)的SAC算法,該方法在2019年浙江電網(wǎng)運行方式計算中得到了測試。使用兩階段的控制方式,SAC 智能體可自動尋找到滿足多種安全約束的電網(wǎng)運行方式,有效減輕工程師手動調(diào)節(jié)電網(wǎng)運行方式的負擔。
下一階段研究方向包括:
1)進一步提升適用于電網(wǎng)運行方式自動調(diào)節(jié)的強化學習算法訓練速度和控制性能。
2)考慮更加復雜的電網(wǎng)運行工況與多元化電網(wǎng)運行方式調(diào)節(jié)措施,擴充強化學習智能體的控制空間。
3)將本文所提方法的應(yīng)用場景進一步擴展至電網(wǎng)頻率控制、電網(wǎng)經(jīng)濟性運行等方面。
4)在強化學習智能體獎懲機制設(shè)置過程中,添加電網(wǎng)安全穩(wěn)定性約束,綜合考慮多調(diào)控目標,進一步實現(xiàn)電網(wǎng)運行方式生成過程的自動化。