鄧清唐, 胡丹爾, 蔡田田, 李肖博, 徐賢民, 彭勇剛
(1.南方電網(wǎng)數(shù)字電網(wǎng)研究院有限公司, 廣東 廣州 510663; 2.浙江大學(xué)電氣工程學(xué)院, 浙江 杭州 310027)
隨著大量的可再生分布式電源接入配電網(wǎng)中,風(fēng)力設(shè)備和光伏設(shè)備出力的隨機(jī)波動(dòng)、負(fù)荷的不確定性波動(dòng)會(huì)引發(fā)配電網(wǎng)運(yùn)行電壓波動(dòng)大、電壓越線、網(wǎng)損提高等問題,影響電能質(zhì)量[1]。
配電網(wǎng)無功優(yōu)化的目標(biāo)就是在充分滿足電網(wǎng)安全運(yùn)營約束下,有效地保證各個(gè)節(jié)點(diǎn)電壓的穩(wěn)定,減少電壓波動(dòng)和減輕電網(wǎng)的網(wǎng)損。配電網(wǎng)的無功優(yōu)化往往包含了多個(gè)不同的變量、一個(gè)約束,通常被認(rèn)為是非線性計(jì)劃中的一個(gè)問題。在對于傳統(tǒng)配電網(wǎng)絡(luò)中的有功和優(yōu)化研究中,常用的計(jì)算方法包括非線性規(guī)劃[2]、二次規(guī)劃[3]、牛頓法[4]等;此外,用于非線性復(fù)雜空間中采取隨機(jī)或近似隨機(jī)方式尋找最優(yōu)求解的算法,比如遺傳算法[5,6]、模擬退火算法[7,8]、粒子群算法[9,10]等也廣泛應(yīng)用于對無功優(yōu)化的求解中。這些方法存在計(jì)算速度慢、易陷入局部最優(yōu)、依賴于模型與預(yù)測數(shù)據(jù)等問題[11-14]。隨著配電網(wǎng)規(guī)模的增加以及無功可控設(shè)備裝置數(shù)量的增多,使得傳統(tǒng)方法求解無功優(yōu)化問題的復(fù)雜度大大提高,不再適用于在線控制的無功優(yōu)化求解。
近年來,人工智能、數(shù)據(jù)驅(qū)動(dòng)相關(guān)技術(shù)的推進(jìn),使得基于人工智能的優(yōu)化方法在配電網(wǎng)無功優(yōu)化中得到了廣泛應(yīng)用。文獻(xiàn)[15,16]針對配電網(wǎng)低感知、無模型等特點(diǎn),以降低網(wǎng)損和成本為目標(biāo),提出了一種行動(dòng)者批評家的深度強(qiáng)化學(xué)習(xí)算法,實(shí)現(xiàn)在線連續(xù)無功優(yōu)化。文獻(xiàn)[17]考慮了分布式光伏電源接入和配電網(wǎng)電壓波動(dòng)問題,建立了深度高速公路神經(jīng)網(wǎng)絡(luò)擬合的注入功率與節(jié)點(diǎn)電壓之間的關(guān)系。但上述方法無功調(diào)節(jié)方法單一,未考慮具有一定無功調(diào)節(jié)能力的設(shè)備協(xié)同優(yōu)化,以節(jié)約成本,提升電力系統(tǒng)的可靠性、安全性。
考慮接入光伏和風(fēng)機(jī)的實(shí)際配電網(wǎng)系統(tǒng),本文提出一種基于行動(dòng)者-評論家(actor-critic)的多智能體深度強(qiáng)化學(xué)習(xí)(Multi-Agent Deep Reinforcement Learning, MADRL)方法用來解決配電網(wǎng)無功優(yōu)化和電壓波動(dòng)問題[18-21]。結(jié)合離散投切電容器(Switching Capacitor, SC)、有載調(diào)壓變壓器(On-Line Tap Changer, OLTC)、分布式電源(Distributed Generation, DG)作為多個(gè)智能體進(jìn)行協(xié)調(diào)控制和優(yōu)化。無功調(diào)節(jié)設(shè)備的動(dòng)作變量與配電網(wǎng)環(huán)境進(jìn)行交互,通過使用數(shù)學(xué)中的離散時(shí)間序列把交互過程描述成一個(gè)稱為馬爾可夫決策過程(Markov Decision Process, MDP),智能體最終能夠?qū)崿F(xiàn)對于外部環(huán)境的最優(yōu)響應(yīng),從而獲得最大的回報(bào)值[13]。用神經(jīng)網(wǎng)絡(luò)方法來分析和擬合每一個(gè)智能體的戰(zhàn)略函數(shù)和動(dòng)作價(jià)值函數(shù),并用深度確定性戰(zhàn)略梯度(Multi-Agent Deep Deterministic Policy Gradient, MADDPG)算法對模型進(jìn)行訓(xùn)練。訓(xùn)練過程不依賴于預(yù)測數(shù)據(jù)結(jié)果和精確的潮流建模,多個(gè)智能體之間完成協(xié)調(diào)優(yōu)化,實(shí)現(xiàn)在線的無功優(yōu)化。在改進(jìn)的IEEE-33配電網(wǎng)系統(tǒng)上進(jìn)行仿真模擬,驗(yàn)證了所提深度強(qiáng)化學(xué)習(xí)算法的可行性。
強(qiáng)化學(xué)習(xí)方式的本質(zhì)在于互動(dòng)性學(xué)習(xí),即可以讓一個(gè)智能體(agent)與外部環(huán)境(environment)之間進(jìn)行交互。智能體根據(jù)自己所感知的環(huán)境狀態(tài)(state)選擇響應(yīng)的動(dòng)作(action),以對環(huán)境做出響應(yīng),然后通過觀測動(dòng)作所導(dǎo)致的結(jié)果,并依據(jù)該動(dòng)作的結(jié)果進(jìn)行調(diào)整,最后通過智能體的動(dòng)作選擇策略對環(huán)境做出最優(yōu)反應(yīng),使其獲得最大的獎(jiǎng)勵(lì)值(reward)。多智能體強(qiáng)化學(xué)習(xí)是指多個(gè)具有自我控制能力、能夠相互作用的智能體,在同一個(gè)環(huán)境中通過傳感器感知狀態(tài),執(zhí)行操作,其算法框架如圖1所示。
單個(gè)函數(shù)智能體在強(qiáng)化學(xué)習(xí)中一般需要通過MDP來對其進(jìn)行描述,而多個(gè)智能體在強(qiáng)化學(xué)習(xí)中則需要用馬爾可夫博弈方法來對其進(jìn)行強(qiáng)化描述。馬爾可夫博弈的方法也被稱為隨機(jī)函數(shù)博弈(stochastic game)。一個(gè)典型的多智能體馬爾可夫博弈用元組來表示,其表達(dá)形式為〈N,s,a1,a2,…,aN,T,γ,r1,…,rN〉,其中N表示智能體的個(gè)數(shù),s表示系統(tǒng)狀態(tài),a1,a2,…,aN為智能體的動(dòng)作集合。T表示狀態(tài)轉(zhuǎn)移函數(shù),T=s×a1×…×aN×s,T∈[0,1],根據(jù)當(dāng)前系統(tǒng)狀態(tài)和聯(lián)合動(dòng)作,給出下一個(gè)狀態(tài)的概率。ri(st,a1,…,aN,st+1)表示在t時(shí)刻下,智能體i在狀態(tài)s時(shí),執(zhí)行聯(lián)合動(dòng)作a1,…,aN所得到的獎(jiǎng)勵(lì)。具體的獎(jiǎng)勵(lì)函數(shù)需要根據(jù)環(huán)境和學(xué)習(xí)目標(biāo)設(shè)計(jì)。γ是折扣因子,保證越后面的獎(jiǎng)勵(lì),對獎(jiǎng)勵(lì)函數(shù)的影響越小,包含對未來獎(jiǎng)勵(lì)的不確定性。每個(gè)智能體都有一個(gè)核心目標(biāo)是為了要求找到一個(gè)可以做到最大化的折扣回報(bào)。用期望的形式表示為:
(1)
MADDPG算法可以用于解決多個(gè)智能體交互的問題,是一種基于行動(dòng)者-評論家框架下的MADRL,需要同時(shí)學(xué)習(xí)一個(gè)策略和一個(gè)值函數(shù)。行動(dòng)者網(wǎng)絡(luò)能夠教會(huì)智能體如何選擇動(dòng)作,而評論家網(wǎng)絡(luò)是用來評價(jià)智能體采取行動(dòng)可能帶來的回報(bào)。行動(dòng)者網(wǎng)絡(luò)的參數(shù)通常是基于評論家網(wǎng)絡(luò)給出的回報(bào)通過策略梯度法完成的。
對于一個(gè)具有N個(gè)智能體的任務(wù),MADDPG會(huì)包含N個(gè)策略函數(shù)和N個(gè)評價(jià)函數(shù)。π={π1,…,πN}表示智能體采用N個(gè)隨機(jī)策略,其對應(yīng)的參數(shù)為θ={θ1,…,θN}。第i個(gè)智能體在某個(gè)觀察下的動(dòng)作可以表示為πi(ai|si)。每一個(gè)動(dòng)作價(jià)值函數(shù)Qi都是單獨(dú)學(xué)習(xí)的,任何一個(gè)智能體的獎(jiǎng)勵(lì)都是可以單獨(dú)進(jìn)行設(shè)計(jì)的。MADDPG 的主要目的是已知每個(gè)智能體所執(zhí)行的動(dòng)作,如果策略進(jìn)行改變,環(huán)境也可以是穩(wěn)定的。
結(jié)合SC、OLTC、DG作為多個(gè)智能體進(jìn)行潮流計(jì)算,通過調(diào)節(jié)無功調(diào)節(jié)設(shè)備觀測系統(tǒng)的運(yùn)行狀態(tài)??紤]到SC和OLTC是離散調(diào)節(jié),而DG的無功是連續(xù)調(diào)節(jié)。本文設(shè)計(jì)DG的逆變器運(yùn)行在母線上,其視在功率容量為SDG,bus。DG逆變器裝置在母線上提供或吸收的無功功率可表示為:
(2)
配電網(wǎng)無功優(yōu)化的目標(biāo)是要在最小化有功網(wǎng)損的同時(shí)保證電壓能在正常范圍內(nèi)運(yùn)行(0.95pu~1.05pu)。對于無功優(yōu)化的目標(biāo)函數(shù)obj定義為
(3)
式中,ND為日內(nèi)指令周期的個(gè)數(shù);Plossi為配電網(wǎng)的有功網(wǎng)損。
約束條件包括節(jié)點(diǎn)電壓、無功功率和動(dòng)作量變化的上、下限約束以及潮流方程的約束,如下所示:
(4)
在低感知度配電網(wǎng)中,式(4)中的潮流方程無法精確計(jì)算。Td為控制變量的上下限約束。該配電網(wǎng)中只有部分節(jié)點(diǎn)可以實(shí)時(shí)測量,式(4)只適用于可以測量到的節(jié)點(diǎn);而在部分可觀測配電網(wǎng)中,精確潮流模型是無法求解的,因此,網(wǎng)損(式(3))需要通過部分可測節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行理論推算得出[22]。
所有滿足馬爾可夫?qū)傩缘膹?qiáng)化學(xué)習(xí)過程稱為MDP。在學(xué)習(xí)過程中,SC、OLTC、DG被定義為智能體(agent)。agent執(zhí)行操作與配電網(wǎng)環(huán)境交互。在對agent進(jìn)行訓(xùn)練過程中會(huì)根據(jù)配電系統(tǒng)中的狀態(tài)調(diào)整策略函數(shù),針對給定的運(yùn)行條件采取控制措施,以實(shí)現(xiàn)無功優(yōu)化。隨著可控裝置數(shù)量的增多,動(dòng)作空間的維數(shù)呈爆炸式增長。由于聯(lián)合行動(dòng)空間的維數(shù)極高,單智能體強(qiáng)化學(xué)習(xí)模型很難有效地提供策略[23]。
3.3.1 狀態(tài)和動(dòng)作
對于多智能體給定的動(dòng)作集a,環(huán)境提供配電系統(tǒng)中所有母線上的電壓,作為MADDPG的狀態(tài),可以表示為:
s={Ui,Wi,Ci}
(5)
式中,Ui為第i個(gè)決策階段的配電網(wǎng)的節(jié)點(diǎn)電壓矩陣,維度為n×m,n為可量測的節(jié)點(diǎn)個(gè)數(shù),m為調(diào)度周期的測量次數(shù);Wi為第i個(gè)調(diào)度周期內(nèi)各個(gè)調(diào)節(jié)設(shè)備的投切檔位,為了方便訓(xùn)練,本文用one hot的編碼方法[16],如圖2所示;Ci為i個(gè)調(diào)度周期內(nèi)各個(gè)調(diào)節(jié)設(shè)備已經(jīng)完成的動(dòng)作,也用one hot編碼格式。舉例說明one hot編碼方法,假設(shè)配電網(wǎng)系統(tǒng)的動(dòng)作決策周期時(shí)間為15 min,無功設(shè)備的采樣時(shí)間在15 min,OLTC的可調(diào)比在0.9 pu~1.1 pu之間,共有9個(gè)檔位;SC1和SC2分別有3、4檔可調(diào)。Wi可以用一個(gè)9+3+4=16位的one hot編碼來表示。1代表接入該檔位,0代表不接入該檔位。Wi的組成由圖2所示。
圖2 Wi的one hot編碼組成示意圖Fig.2 Diagram of one hot coding of Wi
假設(shè)并聯(lián)電容器最大投切次數(shù)是5,OLTC的累計(jì)變化檔位上限為8。在一個(gè)決策周期內(nèi),調(diào)節(jié)設(shè)備OLTC選擇分接頭為5號(hào)檔位,SC1和SC2檔位數(shù)分別為3檔、2檔,當(dāng)前決策周期內(nèi),OLTC、SC1、SC2的累積檔位變化分別為6、4、3,則Wi和Ci的one hot編碼為:
Wi=[0 0 0 0 1 0 0 0 0 0 0 1 0 1 0 0]
(6)
Ci=[0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0]
(7)
動(dòng)作空間Ai定義為下一個(gè)指令周期的無功調(diào)節(jié)設(shè)備的檔位狀態(tài),也采用one hot編碼表示,即:
ai=Wi+1
(8)
將配電網(wǎng)的潮流信息矩陣Ui與投切檔位矩陣Wi以及累計(jì)投切檔位矩陣Ci拼接后得到狀態(tài)矩陣的維度為33+16+18=67。
3.3.2 獎(jiǎng)勵(lì)函數(shù)
根據(jù)3.2節(jié)建立的無功模型,為了求解優(yōu)化模型,將電壓約束引入到目標(biāo)函數(shù)中,構(gòu)造深度強(qiáng)化學(xué)習(xí)的獎(jiǎng)勵(lì)函數(shù)。對每個(gè)智能體的獎(jiǎng)勵(lì)函數(shù)進(jìn)行準(zhǔn)確量化設(shè)計(jì),來保證強(qiáng)化學(xué)習(xí)算法高效運(yùn)行。無功優(yōu)化的目標(biāo)必須要保證所有電壓幅值在正常工作范圍內(nèi),否則該無功優(yōu)化問題就沒有可行解。因此,在計(jì)算功率損耗降低之前,所提出的獎(jiǎng)勵(lì)函數(shù)首先檢查各智能體動(dòng)作是否導(dǎo)致電壓違規(guī),智能體需盡可能避免產(chǎn)生導(dǎo)致電壓越限的操作。
SC智能體節(jié)點(diǎn)電壓需滿足約束條件,并且在當(dāng)前幕內(nèi)沒有超過允許動(dòng)作次數(shù)情況下,將即時(shí)回報(bào)ri設(shè)定成網(wǎng)損和動(dòng)作成本之和的相反數(shù)。如果違反了約束條件(4),則會(huì)對智能體的獎(jiǎng)勵(lì)施加重大的懲罰因子,在當(dāng)前調(diào)度時(shí)刻獲得的即時(shí)獎(jiǎng)勵(lì)定義為:
η1σ(|Bbus,j-Bbus,j-1|≤NT,max)
(9)
式中,σ(·)為判斷函數(shù),無功補(bǔ)償設(shè)備的調(diào)節(jié)累計(jì)檔位變化次數(shù)若超過約束調(diào)節(jié),則函數(shù)值為1,未超過時(shí),則值為0;λc為動(dòng)作調(diào)節(jié)代價(jià);Bbus,j為第j次決策時(shí)SC的投切擋位;NT,max為優(yōu)化周期內(nèi)的累計(jì)檔位變化上限;η1為懲罰因子。
OLTC智能體在當(dāng)前調(diào)度時(shí)刻獲得的即時(shí)獎(jiǎng)勵(lì)可以定義為:
η2σ(NL,j-NL,j-1≤NL,max)
(10)
式中,λo為OLTC智能體檔位動(dòng)作代價(jià);NL,j為第j次決策時(shí)OLTC的投切擋位;L為OLTC所在的節(jié)點(diǎn)序號(hào);NL,max為優(yōu)化周期內(nèi)OLTC累計(jì)檔位變化上限;η2為懲罰因子。
DG智能體在當(dāng)前調(diào)度時(shí)刻獲得的即時(shí)獎(jiǎng)勵(lì)可以定義為:
η3σ(Umin≤Uk,j≤Umax)
(11)
式中,λd為DG智能體檔位調(diào)整設(shè)定值;Uk,base為電壓基準(zhǔn)值;Uk,j為DG智能體所連母線的電壓量測值;Umax和Umin分別為電壓上、下限;Ne為可觀測的節(jié)點(diǎn)總數(shù);η3為懲罰因子。
3.4.1 深度神經(jīng)網(wǎng)絡(luò)算法分析
目前常用的多智能體強(qiáng)化學(xué)習(xí)算法主要有兩種:基于值函數(shù)的多智能體深度強(qiáng)化學(xué)習(xí)(Deep Reinforcement Learning,DRL)和基于策略的多智能體DRL?;谥岛瘮?shù)的方法是通過得到一個(gè)值函數(shù),根據(jù)該值函數(shù)可以生成相應(yīng)的策略?;诓呗缘姆椒▌t直接在策略空間利用梯度上升找出最優(yōu)的策略[24]。
本文中采用的MADDPG算法構(gòu)建了兩個(gè)神經(jīng)網(wǎng)絡(luò):行動(dòng)者網(wǎng)絡(luò)(actor network)和評論家網(wǎng)絡(luò)(critic network)。行動(dòng)者網(wǎng)絡(luò)是將狀態(tài)-行為值函數(shù)和策略梯度法相結(jié)合。θ1和θ2分別為行動(dòng)者網(wǎng)絡(luò)和評論家網(wǎng)絡(luò)的參數(shù)。通過調(diào)節(jié)神經(jīng)網(wǎng)絡(luò)的參數(shù)θ來確定某狀態(tài)下的最佳行動(dòng)。評論家網(wǎng)絡(luò)通過計(jì)算時(shí)間差分的誤差(temporal difference error)來評估行動(dòng)者網(wǎng)絡(luò)的行為。每個(gè)行動(dòng)者網(wǎng)絡(luò)和評論家網(wǎng)絡(luò)中同時(shí)構(gòu)建了兩個(gè)結(jié)構(gòu)相同、參數(shù)不同的神經(jīng)網(wǎng)絡(luò),即估值網(wǎng)絡(luò)(evaluation network) 和目標(biāo)網(wǎng)絡(luò)(target network)。估值網(wǎng)絡(luò)的參數(shù)可以根據(jù)訓(xùn)練不斷調(diào)整更新,目標(biāo)網(wǎng)絡(luò)則不參與訓(xùn)練過程,其參數(shù)會(huì)根據(jù)估值網(wǎng)絡(luò)的參數(shù)進(jìn)行迭代更新。因此本文設(shè)計(jì)了行動(dòng)者-評論家的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。圖3中所示的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要由3個(gè)部分組成:①卷積神經(jīng)網(wǎng)絡(luò)用來提取關(guān)鍵特征;②行動(dòng)者網(wǎng)絡(luò)可以擬合狀態(tài)到動(dòng)作的映射;③評論家網(wǎng)絡(luò)可以擬合狀態(tài)價(jià)值函數(shù)。根據(jù)3.3.1節(jié)分析,配電網(wǎng)無功優(yōu)化的馬爾可夫決策的狀態(tài)矩陣記作[Ui,Wi,Ci],作為模型的輸入。
圖3 MADDPG算法神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Neural network structure of MADDPG algorithm
行動(dòng)者網(wǎng)絡(luò)是一個(gè)具有三個(gè)全連接層的神經(jīng)網(wǎng)絡(luò)。輸入維度為狀態(tài)矩陣的維度,兩個(gè)隱含層各有128個(gè)神經(jīng)元;輸出維度為矩陣Wi的維度,該層的激活函數(shù)為ReLU。評論家網(wǎng)絡(luò)與行動(dòng)者網(wǎng)絡(luò)輸入相同,且同樣是用三層全連接網(wǎng)絡(luò),與行動(dòng)者網(wǎng)絡(luò)不同的是評論家網(wǎng)絡(luò)用來擬合狀態(tài)價(jià)值函數(shù)V(s),輸出的維度是1,代表對每一個(gè)狀態(tài)-動(dòng)作的值估計(jì)。
3.4.2 深度神經(jīng)網(wǎng)絡(luò)優(yōu)化
在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中,第i個(gè)智能體的策略梯度可以表示為:
(12)
式中,s為整個(gè)環(huán)境的狀態(tài);si為智能體i的觀測值;Qi(s,a1,…,aN)為第i個(gè)中心化的評價(jià)函數(shù),其輸入是每個(gè)智能體采取的動(dòng)作ai以及環(huán)境狀態(tài)s,其輸出為第i個(gè)智能體的動(dòng)作價(jià)值函數(shù)Q值。
由于根據(jù)概率選擇動(dòng)作會(huì)存在收斂效率低的困難,MADDPG方法將隨機(jī)策略替換為確定性策略,用μi表示第i個(gè)智能體的策略,θi表示價(jià)值網(wǎng)絡(luò)的參數(shù),則智能體的梯度可以描述為:
(13)
式中,D(s,a,r,s′)為經(jīng)驗(yàn)回放緩存區(qū)(experience replay buffer),記錄了所有智能體的經(jīng)驗(yàn),a={a1,…,aN},r={r1,…,rN}。
決策主體與環(huán)境交互過程中,評論家網(wǎng)絡(luò)的損失函數(shù)定義為:
(14)
其中
y=ri+γQi[st+1,at+1]|at+1=μ′(si)
(15)
算例基于IEEE-33 節(jié)點(diǎn)配電網(wǎng)系統(tǒng)進(jìn)行改動(dòng),基準(zhǔn)電壓調(diào)整為12.66 kV。算例系統(tǒng)中包含了3個(gè)DG,每個(gè)容量為750 kW,采用下垂控制用以調(diào)節(jié)電壓,如圖4所示。將整個(gè)系統(tǒng)的觀測率設(shè)定為60%。圖4中能觀測到的節(jié)點(diǎn)標(biāo)為實(shí)心,不能觀測到的節(jié)點(diǎn)標(biāo)為空心。在系統(tǒng)中節(jié)點(diǎn)21號(hào)、32號(hào)加上并聯(lián)電容器。每個(gè)SC每日動(dòng)作次數(shù)上限是5次。SC1有6個(gè)檔位,每檔為0.4 MVar, 總?cè)萘繛? MVar,SC2有5個(gè)檔位,每檔為0.3 MVar,總?cè)萘繛?.2 MVar。OLTC的可調(diào)節(jié)比例為0.95 pu ~1.05 pu,設(shè)定10個(gè)調(diào)節(jié)檔位??紤]所有設(shè)備的動(dòng)作變量會(huì)產(chǎn)生一個(gè)高位的聯(lián)合決策空間,例如,在33節(jié)點(diǎn)的總線系統(tǒng)中,假設(shè)SC1和SC2各有5、4個(gè)檔位(各6、5種投切狀態(tài),其中包含全退狀態(tài))指定為智能體1的動(dòng)作,記作dim(ξ1)=6×5=30。OLTC有11個(gè)離散檔位指定為智能體2的動(dòng)作,記作dim(ξ2)=11。為了訓(xùn)練收斂效果更好,通過節(jié)點(diǎn)15的DG來參與調(diào)節(jié)無功功率,設(shè)置DG有20個(gè)離散檔位為智能體3的動(dòng)作,記作dim(ξ3)=20。則所有動(dòng)作通過矩陣拼接所產(chǎn)生的動(dòng)作組合共有30×11×20=6 600 個(gè)。
圖4 配電網(wǎng)算例系統(tǒng)和分布式電源無功優(yōu)化Fig.4 Distribution network system and reactive power optimization of distributed generation
選取浙江某地區(qū)半年的分布式光伏、風(fēng)機(jī)以及負(fù)荷出力的實(shí)際數(shù)據(jù)進(jìn)行深度強(qiáng)化學(xué)習(xí)算力分析。隨機(jī)挑選兩個(gè)典型日(冬季典型日和夏季典型日)共30天作為強(qiáng)化學(xué)習(xí)的測試集,其余時(shí)間作為訓(xùn)練集,取決策間隔時(shí)長為15 min。
深度強(qiáng)化學(xué)習(xí)訓(xùn)練過程需要在多智能體決策和環(huán)境的交互過程下實(shí)現(xiàn)。本文設(shè)計(jì)搭建了Matlab仿真環(huán)境來代替深度強(qiáng)化學(xué)習(xí)實(shí)際配電網(wǎng)的環(huán)境,通過計(jì)算潮流的方式來代替訓(xùn)練過程中的無功優(yōu)化環(huán)境。搭建Python中的Pytorch框架完成多智能體深度強(qiáng)化學(xué)習(xí)算法,設(shè)置網(wǎng)絡(luò)中各個(gè)參數(shù)值,訓(xùn)練過程可以通過軟件之間的接口來完成,模型的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)訓(xùn)練參數(shù)詳見表1。
表1 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)以及參數(shù)設(shè)定Tab.1 Neural network structure and hyperparameters
在本文例子中,例如在圖1所示多智能體的強(qiáng)化機(jī)器學(xué)習(xí)訓(xùn)練算法中,訓(xùn)練以及學(xué)習(xí)也都應(yīng)該是統(tǒng)一進(jìn)行。在訓(xùn)練開始階段,對各個(gè)智能體的動(dòng)作進(jìn)行初始化準(zhǔn)備,仿真環(huán)境會(huì)根據(jù)行動(dòng)者評論家網(wǎng)絡(luò)給出的動(dòng)作指令進(jìn)行潮流計(jì)算,并且完成該動(dòng)作a。根據(jù)各個(gè)智能體的獎(jiǎng)勵(lì)函數(shù)得到即時(shí)的獎(jiǎng)勵(lì)ri。
各個(gè)行動(dòng)者收集數(shù)據(jù)(s,a,r,s′,a′),并存入經(jīng)驗(yàn)回放池中,當(dāng)緩存池的數(shù)量超過了預(yù)熱的閾值,就會(huì)開始進(jìn)行學(xué)習(xí)。每個(gè)行動(dòng)者分別更新策略π,與深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法相似,只需要當(dāng)前s,a=μ(s)[25],μ(s)為智能體在環(huán)境s下的策略。每個(gè)評論家分別更新動(dòng)作價(jià)值參數(shù),每個(gè)評論家都可以看到所有的行動(dòng)者收集到的數(shù)據(jù),更新參數(shù)的時(shí)候會(huì)考慮所有的行動(dòng)者自己生成的數(shù)據(jù),即優(yōu)化后的結(jié)果是每一個(gè)評論家對于全局的貢獻(xiàn)最大。在這個(gè)過程中反復(fù)地訓(xùn)練,最后神經(jīng)網(wǎng)絡(luò)會(huì)達(dá)到收斂的效果,其過程用流程圖描述如圖5所示。
圖5 行動(dòng)者-評論家的神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程Fig.5 Training process of actor and critc neural network
第3.3.2節(jié)中的式(9) ~式(11)中,設(shè)備動(dòng)作成本的系數(shù)λc、λo和λd分別為5、6和7。η1、η2和η3懲罰因子均為1 000。一天24 h 96個(gè)時(shí)段作為一幕,即該天結(jié)束后本回合結(jié)束。在多智能體與環(huán)境交互過程中,累計(jì)的回報(bào)值不斷地變大,在訓(xùn)練結(jié)束后智能體的動(dòng)作選擇也趨于穩(wěn)定。訓(xùn)練結(jié)果顯示如圖6所示,其中,Loss為損失函數(shù),為單個(gè)訓(xùn)練樣本與真實(shí)值之間的誤差。網(wǎng)絡(luò)的回報(bào)值在經(jīng)過2 000幕左右逐漸收斂,達(dá)到了比較理想的控制效果,也驗(yàn)證了MADDPG算法在文中對于配電網(wǎng)環(huán)境下的無功功率控制和實(shí)際應(yīng)用的可行性和有效性。
圖6 平均累計(jì)獎(jiǎng)勵(lì)和神經(jīng)網(wǎng)絡(luò)Loss值訓(xùn)練結(jié)果Fig.6 Average cumulative reward and neural network Loss value training results
4.3.1 算法有效性分析
為了驗(yàn)證MADDPG算法的有效性,本文采用以下兩種算法進(jìn)行對比:①為了證明MADDPG方法比傳統(tǒng)的無功功率優(yōu)化算法粒子群(Particle Swarm Optimization,PSO)更具有效性,利用文獻(xiàn)[26]中的算法來調(diào)節(jié)典型日下24 h內(nèi)多個(gè)無功調(diào)節(jié)設(shè)備,選擇離散的動(dòng)作方案;② 將MADDPG與其他強(qiáng)化學(xué)習(xí)算法進(jìn)行對比,選擇文獻(xiàn)[27]提出的基于值的深度Q網(wǎng)絡(luò)(Deep Q Network, DQN)無功優(yōu)化方法進(jìn)行對比,觀察網(wǎng)損和節(jié)點(diǎn)電壓的情況。
利用所提出的不同優(yōu)化方法的典型日(夏季日和冬季日)的12:00這一典型時(shí)刻進(jìn)行電壓分布情況和電壓偏差的對比,結(jié)果如圖7和表2所示。
圖7 典型日下電壓分布情況Fig.7 Voltage distribution under typical day
表2 典型日電壓和網(wǎng)損對比Tab.2 Comparison of typical daily voltage and network loss
由圖7和表2可知,本文采用的MADDPG算法優(yōu)化以后得到的電壓偏差最小,即保證了電壓運(yùn)行的穩(wěn)定性,最小化電壓波動(dòng)。本文采用深度強(qiáng)化學(xué)習(xí)算法,多智能體可以最大化獎(jiǎng)勵(lì),有效提高設(shè)備動(dòng)作的合理性。
利用不用方法對兩個(gè)典型日下網(wǎng)絡(luò)的損耗結(jié)果進(jìn)行對比分析,如圖8和表2所示。
從圖8和表2中可知,采用本文的MADDPG算法得到的典型日下的網(wǎng)損更低。將MADDPG算法與其他兩種方法的結(jié)果進(jìn)行對比,在夏季日的平均網(wǎng)損分別降低了14.98%和8.03%;在冬季日的平均網(wǎng)損分別降低了20.74%和5.62%。所以可以驗(yàn)證本文MADDPG算法在2種典型日下,都可以更大效率減小系統(tǒng)網(wǎng)損,即說明了本文提出算法的有效性和優(yōu)越性。
不同算法的2個(gè)典型日下,OLTC、SC調(diào)節(jié)設(shè)備的日累計(jì)檔位變化數(shù)如圖9所示。采用本文的方法優(yōu)化以后的設(shè)備累計(jì)檔位變化比其他兩種方法更小,說明本文方法優(yōu)化設(shè)備的動(dòng)作成本更小,具備更好的經(jīng)濟(jì)性。各優(yōu)化決策算法下,日內(nèi)的DG調(diào)節(jié)設(shè)備日均補(bǔ)償無功的出力見表3。
表3 調(diào)壓裝置參數(shù)設(shè)定Tab.3 Parameters of voltage regulation devices
4.3.2 復(fù)雜配電網(wǎng)算法有效性對比分析
為了驗(yàn)證該方法的可擴(kuò)展性和適用性,還對改進(jìn)的IEEE-123節(jié)點(diǎn)配電網(wǎng)進(jìn)行了仿真。調(diào)壓裝置的節(jié)點(diǎn)位置、有載調(diào)壓變壓器OLTC、離散投切電容器(Capacitor Bank,CB)和分布式電源DG的詳細(xì)參數(shù)見表4。采用本文不同算法對兩個(gè)典型日IEEE-123節(jié)點(diǎn)配電網(wǎng)的網(wǎng)絡(luò)損耗結(jié)果進(jìn)行了對比分析,如圖10所示。可以看出本文提出的MADDPG算法在兩種典型日下,在更復(fù)雜的配電網(wǎng)拓?fù)銲EEE-123中也可以更大效率地減小系統(tǒng)網(wǎng)損,再次證明了本文提出的MADDPG算法的有效性。
圖8 典型日下IEEE-33網(wǎng)損情況Fig.8 Typical daily network loss of IEEE-33
圖9 不同算法離散調(diào)節(jié)設(shè)備的日累計(jì)檔位變化數(shù)Fig.9 Daily change number of discrete adjustment devices
表4 調(diào)壓裝置參數(shù)設(shè)定Tab.4 Parameters of voltage regulation devices
圖10 典型日下IEEE-123網(wǎng)損情況Fig.10 Typical daily network loss of IEEE-123
4.3.3 計(jì)算性能分析
本文進(jìn)行的仿真測試硬件平臺(tái)包括:Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz ; 32GB RAM; GPU: NVIDIA GTX 2080 Ti ; 軟件平臺(tái)包括:ubuntu18.04(Linux) ; Python 3.7.6; Pytorch 1.2.0。
在線測試階段,33節(jié)點(diǎn)的配電網(wǎng)系統(tǒng)中,本文所用MADDPG算法的測試用例平均執(zhí)行時(shí)間為29.5 ms,能夠滿足電力系統(tǒng)實(shí)時(shí)性的要求。因此,本文提出的MADDPG算法在處理動(dòng)作空間為高維空間時(shí)具有一定的合理性。
本文設(shè)計(jì)了一種基于多智能體深度強(qiáng)化學(xué)習(xí)MADDPG算法的配電網(wǎng)無功優(yōu)化算法。采用集中訓(xùn)練、分散執(zhí)行的方式,通過環(huán)境與多個(gè)智能體之間的交互,自適應(yīng)地選擇調(diào)度動(dòng)作指令,實(shí)現(xiàn)節(jié)點(diǎn)電壓調(diào)節(jié)和降低網(wǎng)損。主要結(jié)論如下。
(1)設(shè)計(jì)了多個(gè)智能體,根據(jù)不同的獎(jiǎng)勵(lì)函數(shù)來訓(xùn)練調(diào)節(jié)無功補(bǔ)償裝置的動(dòng)作,通過多個(gè)智能體的協(xié)調(diào)合作,達(dá)到更好的優(yōu)化效果。
(2)MADDPG訓(xùn)練是需要通過與電網(wǎng)交互來實(shí)現(xiàn)的。該算法可以滿足實(shí)際電網(wǎng)中無法進(jìn)行精確潮流建模的情況。完成訓(xùn)練后的網(wǎng)絡(luò)不需要預(yù)測日前的分布式電源、負(fù)荷等數(shù)據(jù),就可以進(jìn)行在線優(yōu)化決策。
(3)與傳統(tǒng)優(yōu)化方法PSO以及強(qiáng)化學(xué)習(xí)DQN方法相比,本文使用的MADDPG算法可以使得網(wǎng)損更小、電壓平抑效果更佳,對提升配網(wǎng)安全可靠性有更顯著的效果。