王光華,李曉影,宋秉睿,張 沛
(1. 國(guó)網(wǎng)河北省電力有限公司保定供電分公司,河北保定 071000;2. 天津相和電氣科技有限公司,天津 300042)
配電網(wǎng)具有閉環(huán)設(shè)計(jì)、開環(huán)運(yùn)行的特點(diǎn),聯(lián)絡(luò)開關(guān)為常開開關(guān),通常在運(yùn)行情況下保持?jǐn)嚅_狀態(tài),用于緊急備用轉(zhuǎn)移,分段開關(guān)為常閉開關(guān),通常在運(yùn)行情況下保持閉合狀態(tài),其主要功能是隔離故障。當(dāng)采用輻射狀結(jié)構(gòu)運(yùn)行的配電網(wǎng)發(fā)生故障時(shí),故障線路下游的負(fù)荷都會(huì)中斷供電,需要盡快地切除故障設(shè)備,并快速地恢復(fù)下游失電負(fù)荷用戶。負(fù)荷轉(zhuǎn)供通過(guò)聯(lián)絡(luò)開關(guān)和分段開關(guān)的操作與不同組合,改變供電的路徑,在滿足配電網(wǎng)開環(huán)方式運(yùn)行、電壓幅值和載流量等基本約束的前提下,將故障或檢修停電范圍內(nèi)以及重載區(qū)域內(nèi)的線路負(fù)荷轉(zhuǎn)帶至其余配電線路,從而達(dá)到降低故障或檢修帶來(lái)的失電損失和減少過(guò)載配電線路的目的,提高配電網(wǎng)運(yùn)行的可靠性、經(jīng)濟(jì)性與客戶滿意度[1]。
隨著城市規(guī)模的快速擴(kuò)張以及電能替代的不斷推進(jìn),各行各業(yè)對(duì)電力的需求迅速增長(zhǎng),配電網(wǎng)節(jié)點(diǎn)數(shù)大量增加,結(jié)構(gòu)愈加復(fù)雜,配電網(wǎng)故障后拓?fù)渥兓淮_定性較大,開關(guān)的組合與供電路徑的選擇出現(xiàn)了“組合爆炸”的問(wèn)題。而且城市電網(wǎng)建設(shè)相對(duì)較為滯后,導(dǎo)致電網(wǎng)結(jié)構(gòu)的不合理等問(wèn)題比較突出,故障后轉(zhuǎn)供裕度不足等問(wèn)題更加大了負(fù)荷轉(zhuǎn)供的難度[2]。目前大多數(shù)配電網(wǎng)公司負(fù)荷轉(zhuǎn)供主要采取的方法為人工經(jīng)驗(yàn)決策方法,方案的優(yōu)劣依賴于運(yùn)行人員的經(jīng)驗(yàn)水平,人為失誤可能導(dǎo)致負(fù)荷損失[3]。
目前,負(fù)荷轉(zhuǎn)供的求解方法大致有以下幾類。①啟發(fā)式算法有分層樹搜索法[4]、支路交換法[5],利用啟發(fā)式規(guī)則來(lái)減小搜索空間和降低問(wèn)題的復(fù)雜度比較簡(jiǎn)單直觀,計(jì)算過(guò)程中重復(fù)使用規(guī)則且進(jìn)行多次仿真計(jì)算,解的優(yōu)劣依賴于規(guī)則的制定與配電網(wǎng)初始狀態(tài),影響了速度與解的質(zhì)量。②數(shù)學(xué)優(yōu)化算法有多階段優(yōu)化法[6]、非線性規(guī)劃法[7]、動(dòng)態(tài)規(guī)劃法[8],將負(fù)荷轉(zhuǎn)供轉(zhuǎn)化為對(duì)數(shù)學(xué)問(wèn)題的求解,但是當(dāng)配電網(wǎng)絡(luò)結(jié)構(gòu)龐大復(fù)雜、維數(shù)高時(shí)易出現(xiàn)“組合爆炸”的問(wèn)題。③專家系統(tǒng)法[9]能夠調(diào)用已經(jīng)保存的策略庫(kù),實(shí)時(shí)性好,適用性廣,但是庫(kù)的建立和集成費(fèi)時(shí)費(fèi)力,且當(dāng)配電網(wǎng)建設(shè)發(fā)生變化時(shí),專家系統(tǒng)需要不斷進(jìn)行調(diào)整。④隨機(jī)搜索算法有禁忌算法[10]、遺傳算法[11-12]、粒子群優(yōu)化算法[13],這些算法魯棒性較好,但是搜索過(guò)程范圍較大,需要進(jìn)行大量的仿真計(jì)算,可能不收斂,算法的優(yōu)化選取規(guī)則復(fù)雜,所用的時(shí)間較長(zhǎng)。已有的研究方法都將負(fù)荷轉(zhuǎn)供視為優(yōu)化問(wèn)題或者搜索問(wèn)題來(lái)進(jìn)行求解,盡管都采取了近似簡(jiǎn)化方法或縮小搜索空間的方式,但由于配電網(wǎng)拓?fù)浯嬖谳^大不確定性,轉(zhuǎn)供路徑存在“組合爆炸”的問(wèn)題,故障后進(jìn)行大量計(jì)算無(wú)法滿足故障恢復(fù)的時(shí)效性要求,只能犧牲求解質(zhì)量來(lái)達(dá)到速度要求,難以解決求解質(zhì)量與速度間的矛盾。目前,應(yīng)用強(qiáng)化學(xué)習(xí)算法求解配電網(wǎng)負(fù)荷轉(zhuǎn)供問(wèn)題的研究仍為空白。負(fù)荷轉(zhuǎn)供解決方案是由一系列開關(guān)動(dòng)作構(gòu)成,是一個(gè)連續(xù)的控制過(guò)程,而配電網(wǎng)的狀態(tài)只取決于上一時(shí)刻的狀態(tài)和動(dòng)作,與歷史狀態(tài)無(wú)關(guān),因此本文將負(fù)荷轉(zhuǎn)供過(guò)程視為一個(gè)馬爾可夫決策過(guò)程MDP(Markov Decision Process)[14],應(yīng)用強(qiáng)化學(xué)習(xí)RL(Reinforcement Learning)理論來(lái)處理這一問(wèn)題[15]。
為此,本文提出了基于深度強(qiáng)化學(xué)習(xí)DRL(Deep Reinforcement Learning)的配電網(wǎng)負(fù)荷轉(zhuǎn)供控制方法,采用Dueling 深度Q 網(wǎng)絡(luò)DQN(Deep QNetwork)算法,與配電網(wǎng)實(shí)時(shí)電氣、拓?fù)鋽?shù)據(jù)進(jìn)行交互,對(duì)聯(lián)絡(luò)開關(guān)與分段開關(guān)進(jìn)行控制,自適應(yīng)配電網(wǎng)拓?fù)渥兓牟淮_定性;針對(duì)算法動(dòng)作策略加入了預(yù)模擬機(jī)制,調(diào)整了動(dòng)作與學(xué)習(xí)的比例并采用自適應(yīng)優(yōu)化算法進(jìn)行求解,提高了算法的收斂速度與魯棒性,當(dāng)配電網(wǎng)發(fā)生故障時(shí)可以即時(shí)給出高質(zhì)量的轉(zhuǎn)供決策方案。
強(qiáng)化學(xué)習(xí)是一個(gè)與環(huán)境不斷進(jìn)行交互,獲得反饋,更新策略,不斷迭代直至學(xué)習(xí)到最優(yōu)策略的過(guò)程。配電網(wǎng)作為強(qiáng)化學(xué)習(xí)的環(huán)境,在每一時(shí)刻t,可以為智能體提供當(dāng)前配電網(wǎng)狀態(tài)空間S,智能體分析決策的結(jié)果為開關(guān)動(dòng)作A,將動(dòng)作施加在環(huán)境上,環(huán)境發(fā)生的狀態(tài)轉(zhuǎn)移概率為P,環(huán)境反饋給智能體即時(shí)獎(jiǎng)勵(lì)值為R。強(qiáng)化學(xué)習(xí)智能體目標(biāo)為通過(guò)有限的步數(shù)最大化累積獎(jiǎng)勵(lì)值,從而找到最優(yōu)策略。負(fù)荷轉(zhuǎn)供的強(qiáng)化學(xué)習(xí)模型如圖1所示。圖中:V為電壓向量;I為電流向量;Sw為配電網(wǎng)中支路的開關(guān)狀態(tài)向量;F為支路故障狀態(tài)向量。
圖1 負(fù)荷轉(zhuǎn)供的強(qiáng)化學(xué)習(xí)模型Fig.1 Reinforcement learning model for load transfer
狀態(tài)空間應(yīng)盡可能考慮會(huì)對(duì)決策產(chǎn)生影響的因素。對(duì)于負(fù)荷轉(zhuǎn)供問(wèn)題,從數(shù)值角度出發(fā),節(jié)點(diǎn)的電壓、支路的電流反映了用戶電壓質(zhì)量與線路載荷能力,是關(guān)鍵的分析數(shù)據(jù);從空間角度出發(fā),配電網(wǎng)的拓?fù)錉顟B(tài)以及故障的位置信息可以作為選取合適的轉(zhuǎn)供路徑的依據(jù)。因此在強(qiáng)化學(xué)習(xí)中選擇這些數(shù)據(jù)構(gòu)建狀態(tài)空間S,即:
一次完整的負(fù)荷轉(zhuǎn)供操作由一系列聯(lián)絡(luò)開關(guān)與分段開關(guān)的投切所構(gòu)成,為了防止?fàn)顟B(tài)空間過(guò)大,本文選取1次動(dòng)作只投切1個(gè)開關(guān)的方式,所以相鄰的2個(gè)狀態(tài)之間,拓?fù)渖系膮^(qū)別只有1個(gè)開關(guān)。此外負(fù)荷轉(zhuǎn)供應(yīng)該在有限的動(dòng)作數(shù)內(nèi)結(jié)束,應(yīng)設(shè)置主動(dòng)結(jié)束本次轉(zhuǎn)供的動(dòng)作。所以智能體的動(dòng)作空間選取為0、1、…、2NS,其中NS為可操作的支路數(shù)量。當(dāng)動(dòng)作值為2NS時(shí)代表不采取任何操作并退出,本次決策結(jié)束,當(dāng)動(dòng)作值為0、1、…、2NS-1 時(shí),對(duì)A進(jìn)行如下計(jì)算:
式中:x為A除以2 得到的余數(shù);y為動(dòng)作支路的編號(hào)。由于每條線路用2 個(gè)相鄰的整數(shù)控制其投入或切除,用相鄰奇偶位表示線路y的2 種動(dòng)作狀態(tài),具體如下:
這樣即可保證每次動(dòng)作1 條支路或者直接完成轉(zhuǎn)供決策。在動(dòng)作后若出現(xiàn)了電壓越界、電流過(guò)載、動(dòng)作次數(shù)超限等情況,則狀態(tài)轉(zhuǎn)移至失敗退出狀態(tài);若恢復(fù)了全部非故障區(qū)域內(nèi)的負(fù)荷,且配電網(wǎng)呈單輻射狀,則狀態(tài)轉(zhuǎn)移至成功轉(zhuǎn)供狀態(tài)。由于有些情況下需要主動(dòng)切除部分負(fù)荷以防止過(guò)載,因此智能體主動(dòng)退出狀態(tài)也會(huì)轉(zhuǎn)移至結(jié)束狀態(tài)。除此之外,任何其他狀態(tài)都為過(guò)渡狀態(tài)。
負(fù)荷轉(zhuǎn)供首先要保證電網(wǎng)在約束范圍內(nèi)運(yùn)行,以恢復(fù)用戶供電,實(shí)現(xiàn)最佳的電能質(zhì)量與經(jīng)濟(jì)效益為目標(biāo)。本文將獎(jiǎng)勵(lì)函數(shù)分為獎(jiǎng)勵(lì)與懲罰2 個(gè)部分,用于最終評(píng)價(jià)指導(dǎo)智能體的動(dòng)作。
1)獎(jiǎng)勵(lì)部分。
負(fù)荷轉(zhuǎn)供的首要目標(biāo)就是盡可能恢復(fù)所有用戶供電,因此最重要的就是負(fù)荷恢復(fù)量。將動(dòng)作累積恢復(fù)負(fù)荷量RL作為目標(biāo)函數(shù)的正比部分。
式中:Nop為總動(dòng)作次數(shù);Pres,k為第k次動(dòng)作所恢復(fù)的負(fù)荷量。
轉(zhuǎn)供應(yīng)該在盡可能少的動(dòng)作次數(shù)下完成,以降低運(yùn)維的成本與失誤的可能性,同時(shí)也節(jié)省操作的時(shí)間,防止配電網(wǎng)結(jié)構(gòu)變化過(guò)大,為故障消除后恢復(fù)原運(yùn)行方式增加難度。因此本文考慮將動(dòng)作次數(shù)Nop作為目標(biāo)函數(shù)的反比部分。
配電網(wǎng)的線損也是重要的成本因素,本文利用帶電線路的阻抗參數(shù),對(duì)配電網(wǎng)的線損情況進(jìn)行評(píng)估,計(jì)算得到近似線損值ΔP為:
式中:l為帶電線路總數(shù);Ii、ri分別為流過(guò)第i條線路的電流和第i條線路的電阻。
目標(biāo)函數(shù)RT可根據(jù)各影響因素正反比關(guān)系計(jì)算得到,同時(shí)為便于調(diào)節(jié)各因素對(duì)RT的影響程度,以達(dá)到最佳訓(xùn)練效果,對(duì)各因素值分別添加偏置量a1、b1、c1,得到RT的計(jì)算公式如下:
2)懲罰部分。
維持正常的節(jié)點(diǎn)電壓是保證配電網(wǎng)正常運(yùn)行的基本要求,電壓應(yīng)保持在偏差為±7%的容許范圍內(nèi)[16],為了防止智能體動(dòng)作時(shí)不滿足約束條件,對(duì)于超出該范圍的電壓,予以高懲罰,對(duì)于范圍內(nèi)的動(dòng)作不設(shè)置懲罰。
電壓越限后狀態(tài)應(yīng)轉(zhuǎn)移至失敗退出狀態(tài),電壓懲罰PVolt計(jì)算方法如下:
式中:Ui為節(jié)點(diǎn)i電壓的標(biāo)幺值;PU為電壓越限后的懲罰值;Ui.max、Ui.min分別為節(jié)點(diǎn)i電壓的上、下限,通常取1.07 p.u.和0.93 p.u.。
當(dāng)傳輸容量超過(guò)線路與變壓器的極限值時(shí),易引發(fā)設(shè)備二次故障,本文取設(shè)備電流極限值作為運(yùn)行上限,電流越限后狀態(tài)轉(zhuǎn)移至失敗退出狀態(tài),電流懲罰PLim計(jì)算方法如下:
式中:PI為電流越限后的懲罰值;Ij為設(shè)備j的電流值;Ij.max為設(shè)備j的電流值上限。
配電網(wǎng)正常運(yùn)行時(shí)應(yīng)呈輻射狀,但也允許存在環(huán)網(wǎng)作為短時(shí)過(guò)渡狀態(tài),不允許作為長(zhǎng)期運(yùn)行狀態(tài)出現(xiàn),因此設(shè)置環(huán)網(wǎng)懲罰PLoop時(shí)應(yīng)分情況考慮,即:
式中:Pf為結(jié)束狀態(tài)下存在環(huán)網(wǎng)的懲罰值;Pm為過(guò)渡狀態(tài)下存在環(huán)網(wǎng)的懲罰值;gn為已恢復(fù)的區(qū)域;GR為不包含分布式電源時(shí)所有配電網(wǎng)輻射狀結(jié)構(gòu)集合。
當(dāng)智能體采取無(wú)效的操作,如對(duì)已經(jīng)閉合的開關(guān)執(zhí)行閉合動(dòng)作,即采取重復(fù)操作,以及對(duì)故障打開線路進(jìn)行動(dòng)作時(shí),該動(dòng)作視為無(wú)效,給予無(wú)效動(dòng)作懲罰PAct,即:
式中:PA為智能體采取無(wú)效動(dòng)作時(shí)的懲罰值;ak為第k次的動(dòng)作;OA為對(duì)故障打開線路進(jìn)行動(dòng)作的集合。
獎(jiǎng)勵(lì)函數(shù)中約束項(xiàng)RP可通過(guò)求和得到,正常狀態(tài)下有:
最終模型的獎(jiǎng)勵(lì)函數(shù)R由獎(jiǎng)勵(lì)部分RT與懲罰部分RP構(gòu)成,即:
Q 學(xué)習(xí)是強(qiáng)化學(xué)習(xí)的主要算法之一,采用動(dòng)作-價(jià)值函數(shù)Q(s,a)來(lái)評(píng)估策略的優(yōu)劣,即在某一狀態(tài)s下,采取動(dòng)作a能夠獲得獎(jiǎng)勵(lì)的期望,Q學(xué)習(xí)將狀態(tài)和動(dòng)作構(gòu)建成一張表來(lái)存儲(chǔ)Q值,在不斷更新學(xué)習(xí)中,根據(jù)Q值來(lái)選取能夠獲得最大收益的動(dòng)作。
根據(jù)Bellman 方程求解馬爾可夫決策過(guò)程的最佳決策序列,在某狀態(tài)下可能選擇一系列動(dòng)作構(gòu)成最終決策π,狀態(tài)值函數(shù)Qπ(s,a)表明每個(gè)狀態(tài)的值不僅由當(dāng)前狀態(tài)決定還由后續(xù)狀態(tài)決定,Qπ(s,a)計(jì)算方法如下:
式中:s0為當(dāng)前狀態(tài);a0為當(dāng)前狀態(tài)下所執(zhí)行的動(dòng)作;γ為折扣因子,γ∈[0,1]表征未來(lái)回報(bào)相對(duì)于當(dāng)前回報(bào)的重要程度;Ri為第i次動(dòng)作后獲得的即時(shí)獎(jiǎng)勵(lì);Eπ[·]表示針對(duì)策略π求[·]期望。
由于負(fù)荷轉(zhuǎn)供過(guò)程由多次開關(guān)動(dòng)作組成,每次動(dòng)作的好壞不僅與當(dāng)前狀態(tài)有關(guān),而且會(huì)影響未來(lái)的動(dòng)作,進(jìn)而影響最終轉(zhuǎn)供方案的優(yōu)劣。所以式(14)完全符合負(fù)荷轉(zhuǎn)供的目標(biāo),即Q(s,a)與之后做的所有可能的動(dòng)作所獲得的獎(jiǎng)勵(lì)都有關(guān),即強(qiáng)化學(xué)習(xí)的目的是學(xué)習(xí)到整個(gè)負(fù)荷轉(zhuǎn)供過(guò)程的最優(yōu)控制策略。
負(fù)荷轉(zhuǎn)供的強(qiáng)化學(xué)習(xí)模型是基于配電網(wǎng)運(yùn)行數(shù)據(jù)進(jìn)行決策的,其狀態(tài)空間是由電壓、電流等連續(xù)變量構(gòu)成的連續(xù)空間,但Q 學(xué)習(xí)采用Q值表來(lái)存儲(chǔ)狀態(tài)與動(dòng)作的映射關(guān)系,在連續(xù)狀態(tài)空間的情況下難以適用。因此本文采用深度強(qiáng)化學(xué)習(xí),即DQN[17]算法進(jìn)行求解。DQN使用深度神經(jīng)網(wǎng)絡(luò)產(chǎn)生Q值將狀態(tài)和動(dòng)作相互映射,從大量訓(xùn)練中不斷調(diào)整網(wǎng)絡(luò)參數(shù),在線尋求滿足最大回報(bào)的最優(yōu)控制策略。
DQN 算法訓(xùn)練過(guò)程中在同一網(wǎng)絡(luò)利用相同的Q值選擇動(dòng)作和評(píng)估動(dòng)作,這種情況下DQN 容易過(guò)高估計(jì)動(dòng)作的Q值,過(guò)高估計(jì)的Q值易導(dǎo)致最終結(jié)果存在偏差,從而難以求得最優(yōu)解。Double DQN[18]對(duì)DQN 算法的更新計(jì)算方式進(jìn)行了改進(jìn),由于目標(biāo)網(wǎng)絡(luò)比主網(wǎng)絡(luò)更新滯后,Double DQN 不直接全部采用目標(biāo)網(wǎng)絡(luò)計(jì)算Q值,而在估計(jì)下一狀態(tài)時(shí)先根據(jù)主網(wǎng)絡(luò)選擇動(dòng)作,再用目標(biāo)網(wǎng)絡(luò)計(jì)算Q值,這樣避免了盲目地過(guò)高估計(jì)Q值,提高了精確度,但其仍未考慮環(huán)境因素的影響,實(shí)際使用受到一定制約。在配電網(wǎng)轉(zhuǎn)供過(guò)程中,不同配電網(wǎng)狀態(tài)下采取相同的動(dòng)作可能帶來(lái)完全不同的后果,為了能夠同時(shí)考慮配電網(wǎng)環(huán)境因素的影響與動(dòng)作帶來(lái)的回報(bào),本文采用考慮環(huán)境影響的Dueling DQN 算法,將Q值函數(shù)分為配電網(wǎng)環(huán)境信息回報(bào)和動(dòng)作回報(bào),使學(xué)習(xí)的目標(biāo)更明確,其神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖見附錄A圖A1。Dueling DQN 將狀態(tài)向量作為輸入,輸出一個(gè)包含每個(gè)動(dòng)作Q值的向量,神經(jīng)網(wǎng)絡(luò)中價(jià)值函數(shù)標(biāo)量V(st)僅與狀態(tài)有關(guān),與動(dòng)作無(wú)關(guān),其值表現(xiàn)了當(dāng)前配電網(wǎng)狀態(tài)的優(yōu)劣;優(yōu)勢(shì)函數(shù)向量A(at)進(jìn)行了中心化處理,消除了配電網(wǎng)環(huán)境對(duì)開關(guān)動(dòng)作的影響,體現(xiàn)了各開關(guān)動(dòng)作之間的可辨識(shí)性,用來(lái)評(píng)估動(dòng)作所帶來(lái)的額外收益:
式中:ω、α、β分別為公共隱藏層參數(shù)、價(jià)值函數(shù)層參數(shù)、優(yōu)勢(shì)函數(shù)層參數(shù);A為所有動(dòng)作的集合,| |A 表示集合A 中的元素個(gè)數(shù),即狀態(tài)s下的動(dòng)作數(shù);a′為狀態(tài)s′下具有最大Q值的動(dòng)作,其中s′為狀態(tài)s的下一狀態(tài)。A對(duì)向量A進(jìn)行了中心化處理,突出了動(dòng)作的差異,體現(xiàn)特定狀態(tài)下各開關(guān)動(dòng)作的優(yōu)劣對(duì)比。
1)預(yù)模擬-貪婪動(dòng)作策略。
配電網(wǎng)負(fù)荷轉(zhuǎn)供往往動(dòng)作數(shù)量較多,且整個(gè)轉(zhuǎn)供過(guò)程可能的動(dòng)作組合極多,傳統(tǒng)隨機(jī)貪婪策略(ε-greedy)在前期選擇動(dòng)作隨機(jī)探索時(shí)效率較低,在較大的動(dòng)作空間內(nèi)極易陷入局部最優(yōu)動(dòng)作,即使偶爾隨機(jī)動(dòng)作跳出局部最優(yōu),也難以影響學(xué)習(xí)的方向。且在選擇最優(yōu)動(dòng)作時(shí),神經(jīng)網(wǎng)絡(luò)對(duì)不常見的或復(fù)雜的故障狀態(tài)缺乏泛化能力,可能選擇次優(yōu)的或完全錯(cuò)誤的動(dòng)作,這在實(shí)際應(yīng)用中可能導(dǎo)致嚴(yán)重的后果。
為了解決這一問(wèn)題,本文采用了改進(jìn)的預(yù)模擬-貪婪動(dòng)作策略,預(yù)模擬時(shí)首先采用集合對(duì)比的方式篩選排除無(wú)效/重復(fù)動(dòng)作,該過(guò)程中無(wú)需進(jìn)行仿真計(jì)算;其次保持原順序取出前k個(gè)動(dòng)作仿真預(yù)模擬,排除越限動(dòng)作;然后分別按照負(fù)荷恢復(fù)量、線損值、Q值對(duì)動(dòng)作進(jìn)行三級(jí)排序;最后輸出預(yù)模擬最優(yōu)的動(dòng)作作為真實(shí)動(dòng)作??紤]到修改了算法原本的動(dòng)作機(jī)制,可能導(dǎo)致算法收斂性出現(xiàn)問(wèn)題,本文保留了一定比例的貪婪動(dòng)作,具體如圖2所示。
圖2 預(yù)模擬-貪婪動(dòng)作策略Fig.2 Pre-simulation-greedy action strategy
本文中預(yù)模擬-貪婪動(dòng)作策略采用了一定數(shù)值的有限的預(yù)模擬動(dòng)作數(shù)量,可以保證較大動(dòng)作空間內(nèi)的模擬仿真次數(shù)與時(shí)間。并且集合對(duì)比方法無(wú)需經(jīng)過(guò)仿真計(jì)算即可排除大量無(wú)效動(dòng)作,縮小了解空間范圍,使強(qiáng)化學(xué)習(xí)訓(xùn)練時(shí)更容易找到最佳動(dòng)作,加快了訓(xùn)練的速度;同時(shí)由于輸入數(shù)據(jù)為大量配電網(wǎng)運(yùn)行數(shù)據(jù),失電時(shí)會(huì)引起大量輸入數(shù)據(jù)的突變,變化過(guò)大的輸入數(shù)據(jù)常常會(huì)導(dǎo)致神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)振蕩且難以收斂,保留一定程度貪婪動(dòng)作策略中的動(dòng)作機(jī)制能保證在波動(dòng)數(shù)據(jù)下的訓(xùn)練效果與收斂性,使得神經(jīng)網(wǎng)絡(luò)能夠清晰地辨別各狀態(tài)下Q值最大的動(dòng)作與真正的最優(yōu)動(dòng)作。
2)調(diào)整智能體學(xué)習(xí)頻率。
在常規(guī)Dueling DQN 算法中,智能體每動(dòng)作一次就要計(jì)算一次誤差,更新學(xué)習(xí)一次,但實(shí)際上高頻率的學(xué)習(xí)并不會(huì)提高神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,在本文中高維度輸入輸出、神經(jīng)網(wǎng)絡(luò)參數(shù)龐大的情況下,反而會(huì)出現(xiàn)神經(jīng)網(wǎng)絡(luò)參數(shù)反復(fù)振蕩的情況,導(dǎo)致參數(shù)難以收斂,學(xué)習(xí)速度較慢。因此本文調(diào)整了智能體學(xué)習(xí)頻率,并在算例中確定最適合算法的比例關(guān)系,提高算法的學(xué)習(xí)能力。
3)Adadelta優(yōu)化算法。
在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過(guò)程中,傳統(tǒng)隨機(jī)梯度下降法、Momentum 等優(yōu)化算法采用固定學(xué)習(xí)率,收斂速度較慢且容易陷入局部最優(yōu)解;自適應(yīng)學(xué)習(xí)率優(yōu)化算法AdaGrad 對(duì)不同參數(shù)自動(dòng)調(diào)節(jié)不同學(xué)習(xí)率,學(xué)習(xí)速度較快,但隨著迭代次數(shù)增加學(xué)習(xí)率趨近于0;本文采用的Adadelta 優(yōu)化算法可以加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,無(wú)需設(shè)定學(xué)習(xí)率反復(fù)試錯(cuò),而且避免了學(xué)習(xí)率越來(lái)越低的問(wèn)題。
基于深度強(qiáng)化學(xué)習(xí)的配電網(wǎng)負(fù)荷轉(zhuǎn)供算法流程如圖3所示,具體流程步驟見附錄B。
圖3 基于深度強(qiáng)化學(xué)習(xí)的配電網(wǎng)負(fù)荷轉(zhuǎn)供方法流程圖Fig.3 Flowchart of load transfer method of distribution network based on deep reinforcement learning
為了驗(yàn)證本文算法的有效性,采用IEEE 33 節(jié)點(diǎn)配電系統(tǒng)進(jìn)行驗(yàn)證,該配電系統(tǒng)包含33 個(gè)節(jié)點(diǎn)以及37條支路,其中分段開關(guān)和聯(lián)絡(luò)開關(guān)分別有32個(gè)和5 個(gè)。配電系統(tǒng)基準(zhǔn)電壓為12.66 kV,總負(fù)荷為3 826.06 kW+j2 366.49 kvar,基準(zhǔn)功率為10 MV·A,其拓?fù)浣Y(jié)構(gòu)如圖4所示。
圖4 IEEE 33節(jié)點(diǎn)配電系統(tǒng)結(jié)構(gòu)Fig.4 Structure of IEEE 33-bus distribution system
利用OpenDSS 仿真數(shù)據(jù)作為樣本故障數(shù)據(jù),在制造樣本數(shù)據(jù)的過(guò)程中,采用了隨機(jī)生成故障點(diǎn)的方法。即在32個(gè)分段開關(guān)中隨機(jī)選取1個(gè)開關(guān)發(fā)生故障并直接打開,其中各開關(guān)被選取的概率相同。5條常開聯(lián)絡(luò)線由于作為備用線路,不發(fā)生任何故障。每回合開始動(dòng)作之前,切除故障線路并進(jìn)行仿真,確定配電網(wǎng)的初始狀態(tài),在此狀態(tài)下,智能體選擇操作故障線路將受到懲罰,并在狀態(tài)轉(zhuǎn)移至結(jié)束狀態(tài)時(shí)結(jié)束此回合,自動(dòng)生成新的隨機(jī)故障,開始下一回合的負(fù)荷轉(zhuǎn)供。
Dueling DQN 算法中公共隱藏層為2層,分別含有512和256個(gè)神經(jīng)元,價(jià)值函數(shù)層與優(yōu)勢(shì)函數(shù)層均為1層,價(jià)值函數(shù)有1個(gè)神經(jīng)元,輸出為標(biāo)量,優(yōu)勢(shì)函數(shù)有75 個(gè)神經(jīng)元,輸出為與動(dòng)作數(shù)相同的向量。激活函數(shù)均采用線性修正單元ReLU,批處理數(shù)量為200,折扣因子γ為0.9,探索值ε取0.95,經(jīng)驗(yàn)池可存儲(chǔ)1 000 條經(jīng)驗(yàn)數(shù)據(jù),Adadelta 優(yōu)化算法無(wú)需設(shè)定學(xué)習(xí)率,目標(biāo)網(wǎng)絡(luò)參數(shù)每200回合更新一次。
本文算法在50 000 次動(dòng)作回合后收斂,在轉(zhuǎn)供決策時(shí),動(dòng)作的負(fù)荷恢復(fù)量等多方面接近最優(yōu),如圖5所示。
圖5 動(dòng)作次數(shù)與負(fù)荷恢復(fù)量訓(xùn)練效果Fig.5 Training effect of action times and load restoration
由圖5 可知,訓(xùn)練初期智能體對(duì)配電網(wǎng)轉(zhuǎn)供環(huán)境不熟悉,初期動(dòng)作次數(shù)較多且供電負(fù)荷比例低,轉(zhuǎn)供控制效果較差;隨著訓(xùn)練次數(shù)的不斷增加,智能體不斷與環(huán)境進(jìn)行交互獲得經(jīng)驗(yàn),學(xué)習(xí)到了用較少動(dòng)作次數(shù)恢復(fù)更多負(fù)荷的方法,實(shí)現(xiàn)了負(fù)荷轉(zhuǎn)供的最佳決策控制。
在共計(jì)14 652 個(gè)回合的轉(zhuǎn)供訓(xùn)練過(guò)程中,由于存在一定比例的探索性隨機(jī)動(dòng)作以及無(wú)法實(shí)現(xiàn)完全轉(zhuǎn)供的情況,所以最終有8874次轉(zhuǎn)供控制實(shí)現(xiàn)了恢復(fù)全部負(fù)荷。圖6 為恢復(fù)全部負(fù)荷的情況下線損率隨訓(xùn)練次數(shù)的變化情況,可見在后期智能體學(xué)習(xí)到了最佳運(yùn)行成本的控制策略。
圖6 線損率訓(xùn)練效果Fig.6 Training effect of line loss rate
對(duì)故障發(fā)生后的配電網(wǎng)的負(fù)荷轉(zhuǎn)供進(jìn)行測(cè)試。設(shè)支路12-13 發(fā)生永久性故障并進(jìn)行隔離后,故障點(diǎn)下游負(fù)荷點(diǎn)13—17為失電區(qū)域,可供轉(zhuǎn)供直接使用的聯(lián)絡(luò)線有8-14、17-32,但這2條聯(lián)絡(luò)線單獨(dú)對(duì)失電負(fù)荷轉(zhuǎn)供時(shí)都會(huì)發(fā)生電壓越下限的情況,必須采用多次動(dòng)作轉(zhuǎn)移負(fù)荷再進(jìn)行轉(zhuǎn)供,分別采用本文算法與傳統(tǒng)強(qiáng)化學(xué)習(xí)算法、文獻(xiàn)[19]中的啟發(fā)式混合算法進(jìn)行對(duì)比,其結(jié)果如表1 所示,表中網(wǎng)損率由網(wǎng)絡(luò)損耗除以網(wǎng)絡(luò)總傳輸功率計(jì)算得到。
表1 負(fù)荷轉(zhuǎn)供結(jié)果對(duì)比Table 1 Comparison of load transfer results
從表1 中可知,本文算法將重載線路上的部分負(fù)荷經(jīng)過(guò)2 條聯(lián)絡(luò)線轉(zhuǎn)移至輕載線路上,在較少的動(dòng)作次數(shù)內(nèi)恢復(fù)全部負(fù)荷,且達(dá)到較低的網(wǎng)損水平;傳統(tǒng)強(qiáng)化學(xué)習(xí)算法基本所有的嘗試動(dòng)作都會(huì)導(dǎo)致越限,所以最終切除部分負(fù)荷;啟發(fā)式混合算法轉(zhuǎn)移負(fù)荷后仍采用重載線路轉(zhuǎn)供,恢復(fù)所有負(fù)荷后網(wǎng)損率比本文算法高出0.4%,由此可見本文算法基本實(shí)現(xiàn)給出了最佳控制策略。
對(duì)于不同故障下配電網(wǎng)的拓?fù)渥兓?,即配電網(wǎng)狀態(tài)信息發(fā)生變化,本文算法也可以即時(shí)給出轉(zhuǎn)供方案,表2 為采用本文算法時(shí)部分故障情況下的動(dòng)作輸出??梢娫谵D(zhuǎn)供會(huì)引起電壓越限時(shí),智能體會(huì)切除較小的負(fù)荷以保證正常供電。在保證不越限的前提下,優(yōu)先執(zhí)行各方面綜合最優(yōu)的動(dòng)作。
表2 不同故障下的動(dòng)作輸出Table 2 Action output under different faults
負(fù)荷轉(zhuǎn)供方案需要多次進(jìn)行動(dòng)作,產(chǎn)生動(dòng)作“組合爆炸”的問(wèn)題導(dǎo)致實(shí)際求解的空間極大。本文算例中的37 條支路,由于每條支路分為開、關(guān)2 種狀態(tài),每次動(dòng)作空間大小為74,在某故障下需要3次動(dòng)作進(jìn)行轉(zhuǎn)供時(shí)其動(dòng)作組合數(shù)為405 224 個(gè),需要5 次動(dòng)作進(jìn)行轉(zhuǎn)供時(shí)其動(dòng)作組合數(shù)則達(dá)到約2.2×109個(gè)。而對(duì)于不同的故障也需要求解不同的動(dòng)作。本文算法在50 000 次動(dòng)作時(shí)訓(xùn)練趨于收斂,實(shí)現(xiàn)故障時(shí)能夠從極大的動(dòng)作組合中找到接近最優(yōu)的動(dòng)作策略并即時(shí)給出。
由于基于深度強(qiáng)化學(xué)習(xí)的配電網(wǎng)負(fù)荷轉(zhuǎn)供控制方法具有離線學(xué)習(xí)、在線應(yīng)用的特點(diǎn),在線時(shí)無(wú)需在故障后花費(fèi)大量時(shí)間仿真迭代,本文將單次動(dòng)作的預(yù)模擬仿真數(shù)設(shè)置為5,即每次動(dòng)作仿真5 次,其單個(gè)動(dòng)作時(shí)間基本為0.04 s,所以決策時(shí)間主要取決于動(dòng)作次數(shù),在本文算例中大部分故障動(dòng)作次數(shù)都為1~5 次,在線應(yīng)用時(shí)求解過(guò)程的總仿真次數(shù)通常不超過(guò)25次,決策時(shí)間約為0.04~0.20 s,啟發(fā)式混合算法與遺傳算法在IEEE 33 節(jié)點(diǎn)系統(tǒng)及更小的系統(tǒng)中決策時(shí)間分別為0.808 s 及20.80 s[20],本文算法決策時(shí)間遠(yuǎn)小于故障后其他算法的仿真計(jì)算時(shí)間。因此訓(xùn)練完成的深度強(qiáng)化學(xué)習(xí)負(fù)荷轉(zhuǎn)供模型可以即時(shí)給出控制策略,可以在極短的時(shí)間內(nèi)恢復(fù)供電,實(shí)現(xiàn)較高的經(jīng)濟(jì)效益。
為驗(yàn)證本文提出的基于Dueling DQN 的配電網(wǎng)負(fù)荷轉(zhuǎn)供控制方法的有效性,將基于Dueling DQN算法的調(diào)度方法與DQN、Double DQN 算法進(jìn)行對(duì)比,對(duì)其設(shè)置相同的獎(jiǎng)勵(lì)函數(shù),訓(xùn)練過(guò)程動(dòng)作所獲得的平均獎(jiǎng)勵(lì)值對(duì)比見附錄C圖C1。
為了提升動(dòng)作獎(jiǎng)勵(lì)以及加快訓(xùn)練速度,采用了預(yù)模擬-貪婪動(dòng)作策略的動(dòng)作選取方式,改進(jìn)前原強(qiáng)化學(xué)習(xí)模型在120 000 次動(dòng)作時(shí)平均獎(jiǎng)勵(lì)值仍然振蕩,選擇動(dòng)作的效率低下,仍然存在大量動(dòng)作,平均獎(jiǎng)勵(lì)為0.37,本文方法在60 000 次動(dòng)作后即趨于穩(wěn)定收斂,基本不會(huì)出現(xiàn)無(wú)效動(dòng)作,平均獎(jiǎng)勵(lì)接近0.8。而相對(duì)于預(yù)模擬完全取代最大Q值選擇方式,在波動(dòng)較小的輸入數(shù)據(jù)訓(xùn)練樣本上展現(xiàn)了較好的收斂效果,在波動(dòng)較大的輸入數(shù)據(jù)樣本上后者可能會(huì)完全不收斂。因此,本文方法具有較好的收斂能力與魯棒性,大幅降低了訓(xùn)練模型所需的計(jì)算量。
通過(guò)設(shè)置不同的比例在相同動(dòng)作次數(shù)60000次時(shí)對(duì)比其平均獎(jiǎng)勵(lì)的大小,如表3 所示。可見其最大獎(jiǎng)勵(lì)出現(xiàn)在動(dòng)作學(xué)習(xí)比例為5時(shí),比例為4、5時(shí)的平均獎(jiǎng)勵(lì)非常接近,但比例為4 時(shí)的學(xué)習(xí)次數(shù)較多,所以會(huì)花費(fèi)更多的時(shí)間進(jìn)行學(xué)習(xí)。因此確定動(dòng)作與學(xué)習(xí)的比例為5,即每5 次動(dòng)作進(jìn)行1 次學(xué)習(xí)時(shí),本文算法具有最好的學(xué)習(xí)效果。
表3 不同動(dòng)作-學(xué)習(xí)比例比較Table 3 Comparison of different action-learning ratios
本文提出的預(yù)模擬-貪婪動(dòng)作策略防止了訓(xùn)練過(guò)程中預(yù)模擬動(dòng)作屏蔽Q值最大動(dòng)作,使Q值最大動(dòng)作有更多實(shí)際驗(yàn)證的機(jī)會(huì),避免了學(xué)習(xí)過(guò)程中對(duì)Q值的過(guò)高估計(jì),結(jié)果顯示預(yù)模擬-貪婪動(dòng)作策略訓(xùn)練過(guò)程收斂趨勢(shì)穩(wěn)定,驗(yàn)證了本文算法的穩(wěn)定性與收斂能力。全部采用預(yù)模擬動(dòng)作與保留一定比例貪婪動(dòng)作策略的損失函數(shù)對(duì)比見附錄C圖C2。
本文利用數(shù)據(jù)驅(qū)動(dòng)思維,將強(qiáng)化學(xué)習(xí)方法應(yīng)用于負(fù)荷轉(zhuǎn)供控制。直接分析電網(wǎng)運(yùn)行環(huán)境信息,從中提取有效信息并構(gòu)建強(qiáng)化學(xué)習(xí)模型,通過(guò)控制配電網(wǎng)開關(guān)進(jìn)而實(shí)現(xiàn)負(fù)荷轉(zhuǎn)供,自適應(yīng)配電網(wǎng)拓?fù)渥兓牟淮_定性,對(duì)于不同故障、故障類型和運(yùn)行方式的控制策略分析無(wú)需調(diào)整模型。
本文算法通過(guò)改進(jìn)動(dòng)作機(jī)制提高了決策收益,加快了算法的訓(xùn)練速度。相對(duì)于傳統(tǒng)算法,其具有離線學(xué)習(xí)、在線應(yīng)用的特點(diǎn),將計(jì)算量轉(zhuǎn)移至離線,通過(guò)大量的離線學(xué)習(xí)積累經(jīng)驗(yàn),在配電網(wǎng)發(fā)生故障后能夠快速地進(jìn)行線上計(jì)算,在極短時(shí)間內(nèi)為運(yùn)行人員提供有效的控制策略,減少停電損失并降低運(yùn)行成本,這對(duì)于提高客戶供電滿意度有著重要意義。
附錄見本刊網(wǎng)絡(luò)版(http://www.epae.cn)。