周國亮,李 剛
1.國網冀北電力有限公司 技能培訓中心,河北 保定 071051
2.華北電力大學 控制與計算機工程學院,河北 保定 071003
虛擬電廠(Virtual Power Plant,VPP)是未來能源互聯網的重要形式之一,是利用先進信息通信技術,實現分布式能源、儲能系統、可控負荷、電動汽車等DERs(Distributed Energy Resources)的聚合和協調優化,以作為一個特殊電廠參與電力市場和電網運行的電源協調管理系統,被認為是能源互聯網的終極組態[1]。虛擬電廠將多種DERs聚合在一起,實現其整體出力的穩定可靠,為電網提供高效的電能,從而保證并網的穩定性和安全性。虛擬電廠依據運行控制模式可分為集中式、集中-分散式和完全分散式三種[2],其中集中式架構不僅對通信系統具有較高的要求,而且難以應對眾多“安裝即忘記(fit and forget)”分布式能源的管理,因此為更好地實現DERs的管理,虛擬電廠的調度策略從傳統集中式向分布式轉換[3],分散型虛擬電廠獲得了更多關注,其具有更好的可擴展性和開放性。在分散型虛擬電廠中,通常利用多智能體技術實現DERs的分布式通信,通過智能體與鄰居節點之間的信息交互,實現自我調節,并最終趨向于一致性變量[4-5]。但多智能體技術由于無法高效準確獲取全局信息,需要通過不斷迭代逼近一致性結果,存在計算不夠準確和效率偏低等問題。
以多智能體一致性理論為基礎的電力系統分散協同模式和當前主流區塊鏈技術的理念高度一致,為基于區塊鏈的分布式能源系統架構設計提供了良好的理論和實踐基礎[6]。區塊鏈有望成為能源互聯網信息基礎架構的核心部分之一,相關學者研究了區塊鏈技術在配電網去中心化交易機制[7]、自動需求響應系統[8]、能源互聯網多模塊協同自治模式[9]、配電網電力交易[10]等領域的應用。區塊鏈與分散式虛擬電廠在去中心化、分散協同、區域自治等方面相吻合,比如在分散式虛擬電廠中沒有中心控制機構,各DERs通過直接數據交換獲取全局信息,然后自主完成本節點的調控運行。基于區塊鏈共識機制,實現單元間高效的分布式通信,利用數據廣播、信息交互,進而達到各單元運行特性的一致性,因此應用區塊鏈共識機制實現分布式調度策略及虛擬電廠最優運行具有可行性。
針對區塊鏈在虛擬電廠中應用,文獻[11]展望了區塊鏈技術在虛擬電廠中的應用前景,分析了區塊鏈技術應用于虛擬電廠的可行性,構建了區塊鏈技術應用于虛擬電廠的模型。文獻[12]基于能源區塊鏈網絡實現了虛擬電廠運行與調度模型,模型可準確反映需求側實時信息,有助于VPP進行環境友好、信息透明的穩定調度,并提高了系統的數據安全性和存儲安全性。文獻[13]針對以實時電價為驅動的能源互聯網,結合區塊鏈安全、透明、去中心化等特性,建立基于區塊鏈的虛擬電廠模型。區塊鏈根據應用場景劃分為公有鏈、聯盟鏈和私有鏈,上述研究基于公有鏈開展,而虛擬電廠由多個不同主體構成,采用聯盟鏈及相關技術更為合適。
國內外機構也開始探索基于區塊鏈的虛擬電廠實踐,美國通用電氣公司(GE)利用區塊鏈構建虛擬發電廠,將IBM開發的區塊鏈平臺Hyperledger集成到公司的Predix平臺中,用區塊鏈控制分布式發電廠,也是為了應對大型中央發電廠向分布式發電轉變的發展趨勢。日本電子零組件大廠京瓷(Kyocera)進行區塊鏈技術的虛擬電廠實驗,基于P2P交易平臺,將太陽能發電設備的電力,在各用戶間有效分配。在國內,國家電網有限公司利用自主研發的區塊鏈平臺開展分布式能源交易,該平臺后續將應用到能效管理、綠證、碳交易、虛擬電廠等應用場景。
綜上所述,本文針對完全分散型虛擬電廠,基于其與區塊鏈在去中心化、點對點交互和分散協同等方面的一致性,提出利用區塊鏈技術實現虛擬電廠分布式調度,結合等耗量微增率準則,將微增量特征作為一致性變量,實現虛擬電廠的最優經濟調度。結合區塊鏈共識算法,每個分布式能源節點獨立計算各個機組的新功率,并將新功率數據上鏈存儲,同時保持微增量特征全局一致性,實現負荷在機組間的合理分配。
本文以有功功率負荷最優分配為例開展,所謂最優分配是在滿足一定量負荷持續供電的前提下,使發電設備在產生電能的過程中單位時間內消耗的能源最少,通常采用“等耗量微增率準則”在機組間分配負荷[14]。為簡化描述,采用不計網損的有功最優分配方案。
假設有DERs中的發電機組成本函數為二次型,用Fi(Pi)表示成本函數,實現VPP最小發電成本為:

其中,n表示VPP中DERs機組的個數,Pi表示機組i的輸出功率,VPP的總成本記為F,Fi(Pi),ai、bi和ci表示成本函數的系數。
VPP內部的所有DERs機組在運行時滿足整個系統的有功功率平衡,不考慮網損的情況下,即有:

PLD表示所有用戶的負荷總需求量。
依據“等耗量微增率準則”在機組間分配負荷,當達到最優運行時,所有機組的微增量特征λ一致,λ可以用一階微分計算得到,即:

因此,可以將λ作為區塊鏈中各節點間的一致性變量,隨著負荷的變化進行調整,但全網保持一致。
依據區塊鏈所服務對象的不同,一般區塊鏈劃分為:公有鏈、私有鏈和聯盟鏈。公有鏈對所有用戶開放,節點可以隨意進出;私有鏈由單個組織控制,只對本單位開放;聯盟鏈介于公有鏈和私有鏈之間,對一個特定的行業組織開放,且要求每個新加入的節點都需要經過驗證和審核。聯盟鏈可以適應包含少量故障或作惡節點的情況,具有一定容錯特性。
一般不同類型的區塊鏈采用不同的共識機制,拜占庭容錯(Byzantine Fault Tolerance,BFT)是區塊鏈共識算法中需要解決的核心問題之一。比特幣的POW和以太坊的POS等是公有鏈算法,解決的是包括眾多共識節點情況下的BFT。而實用拜占庭容錯算法(Practical Byzantine Fault Tolerance,PBFT)是在聯盟鏈共識節點較少的情況下BFT的一種解決方案。相較于公有鏈的POW、POS等,PBFT采用各個節點投票來達成共識的機制,可以解決分叉問題并提升效率。PBFT的運行環境要求是一個相對封閉的集群,每一次共識需要多次兩兩節點進行通信,通信量是O(n2),n是集群中節點的個數。PBFT適合行業、政府等主導的聯盟鏈,是節點數量有限且不需要虛擬貨幣激勵機制系統的理想選擇。基于虛擬電廠的運行特性,本文選擇聯盟鏈,并采用PBFT共識算法。
PBFT算法前提是通過密碼學技術保證節點之間的消息通信是不可篡改的。PBFT具有一定容錯特性,假設系統中的總節點數為:|n|=3f+1,f為PBFT容忍故障或者惡意節點數,也就是為了保障整個系統正常運轉,需要有2f+1個正常節點。PBFT執行過程包括三個階段:預準備(pre-prepare)、準備(prepare)和確認(commit),通過三階段執行方式保證一致性。聯盟鏈中,經典的代表項目是IBM Hyperledger組織下的Fabric項目,Fabric0.6版本使用PBFT算法。

表1 多智能體與區塊鏈技術的異同點
多智能體技術是分布式人工智能的重要分支,是20世紀末至21世紀初國際上人工智能的前沿學科,其研究的目的在于采用自底向上的方式解決大型、復雜的現實問題。多智能體技術具有自主性、分布性、協調性等特征,可實現系統的自組織、自學習及推理能力。當采用多智能體技術解決實際應用問題時,具有魯棒性、可靠性和較高的問題求解效率,在能源電力行業獲得了廣泛應用和研究,如實現能源互聯網的優化控制策略[15]、交流微網電流保護[16]、電力市場環境下的電源規劃[17]等。
但多智能體技術在20世紀提出,受當時的設備存儲能力和網絡通信帶寬限制,其采用智能體和鄰居節點之間的不斷迭代方式去逼近最優解或最終所有智能體達到近似一致性。隨著近年來理念與多智能體技術相近的區塊鏈技術出現,為類似問題提供了更高效解決方案。隨著硬件設備存儲容量的提高,在每個節點中可以存儲更多的數據,如果只存儲關鍵數據,可以適應更大規模系統數據存儲需求;另外網絡環境及帶寬有了極大改善,隨著5G等的普及,帶寬及通信延遲對系統的影響將越來越小。這樣每個節點可以存儲全網關鍵數據,并通過共識機制和智能合約更新數據,實現全網數據一致,從而獲取整體全景數據,為每個節點單獨決策提供準確數據依據,并盡而不用迭代逼近,可以通過計算直接獲取。
以多智能體一致性理論為基礎的電力系統分散協同模式和當前主流區塊鏈技術的理念高度一致,為基于區塊鏈的分布式能源系統架構設計提供了良好的理論和實踐基礎,區塊鏈系統中每個節點都可以認為是分布式系統中的一個自主和自治的智能體,區塊鏈的工作模式是基于智能體之間談判、協調與協作的去中心化共識算法,其管理規則是智能合約。表1比較了多智能體與區塊鏈技術的異同點。
完全分散結構的虛擬電廠,不存在中心化的控制機構,各發電和用電單元通過直接交互和多次迭代最終完成決策過程。與分散型虛擬電廠理念相似,在區塊鏈中不存在中心化的節點,任意節點的權利和義務平等,系統中的數據由整個系統中具有維護功能的節點來共同管理,且任一節點停止工作都不會影響系統整體的工作。基于雙方理念和需求的一致性,使區塊鏈有望成為構建分散型虛擬電廠的底層架構之一,實現虛擬電廠的調控運行。虛擬電廠與區塊鏈技術的特性比較如表2所示。
基于區塊鏈與虛擬電廠特性的吻合,可以利用區塊鏈構建分散型虛擬電廠的底層信息架構。各DERs組成區塊鏈網絡,可實現點對點通信;利用共識機制,計算一致性變量;通過智能合約執行控制決策。具體結構如圖1所示。

表2 區塊鏈與虛擬電廠特性比較

圖1 基于區塊鏈的虛擬電廠信息架構
如圖1所示,由物理的能量傳輸網和區塊鏈信息網組成,其中能量網負責電力傳輸,連接各個DERs。每個DERs單元對應區塊鏈信息網絡中一個節點,區塊鏈節點與DER之間可以傳輸數據和控制信號,節點與節點之間組成點對點網絡。整個虛擬電廠的調控策略由區塊鏈網絡計算,并下發物理網絡執行。
依據經濟調度“等耗量微增率準則”在機組間分配負荷,當達到最優運行配置時,所有機組的微增量特征λ值相等,因此選擇λ為區塊鏈平臺的狀態信息,通過共識機制完成計算,并保持一致性。
依據區塊鏈數據存儲特點,每個節點保存一份完整全局狀態數據備份,并與其他節點數據保持同步。依據調度策略,每個發電機組需要保存全網中所有機組的功率信息Pi(單位:kW)和對應機組的成本函數系數(ai,bi,ci),通常成本函數保持不便,每次功率調整后新的功率上鏈存儲。利用區塊鏈技術使每個機組可以準確獲取全局狀態信息。每個節點的數據存儲結構大致如圖2所示。

圖2 上鏈存儲的數據
依據PBFT共識執行過程,結合等耗量微增率準則,分布式調度計算過程如圖3所示。當負荷總需求發生變化后,將功率調整需求廣播到所有機組,經過PBFT共識,每個機組單獨計算新的功率和λ,并調整機組功率和廣播λ。同時將所有機組新的功率上鏈存儲,以備下次調整應用。

圖3 分布式計算
具體流程如下:
(1)當總負荷發生變化,激活主節點DER1的功率計算請求操作,主節點選取按照PBFT約定算法規則完成。
(2)主節點收到請求后,按照三階段協議規則向網絡內各DERs節點廣播請求。
首先是序號分配階段,主節點給請求賦值序號,不同請求具有不同的賦值序號,利用序號和請求操作構造pre-prepare消息,并廣播給各DERs節點,在本階段將總的變化負荷PLD和功率計算請求發送到各節點。
然后是交互階段,各DERs節點接收pre-prepare消息,每個節點向其他DERs節點廣播prepare消息;如果節點收到了2f個不同節點的消息,代表該節點的prepare階段已經完成,至此每個節點得到了變化后總的負荷PLD,具備計算新功率的條件。
最后是序號確認階段,各節點對視圖內的請求和次序進行驗證后,如果節點收到了2f+1個commit提交消息,代表大多數節點已經進入commit階段,這一階段已達成共識。于是節點會執行請求,運行結果。下面以區塊鏈中第i個節點的計算過程為例,說明按等耗量微增率準則的功率分配計算過程。
依據分布式調度準則,要求所有節點λ一致,即滿足公式(4):

將公式(5)代入公式(2),得到公式(6):

由于PLD已知,可計算得到DERsi新功率的,然后將代入公式(5),得到所有節點新的功率值,并將新的值更新到區塊鏈中;同時計算λ值,并將其發送給任務發起節點;驅動DERs機組按照新的功率值工作。
(3)任務發起者接收來自不同的節點響應,若有2f+1個響應λ值相等,則該響應即為本次請求計算的結果,是全網一致性變量,本次分布式功率分配調整完成,實現最優經濟調度。
由于分布式能源存在隨時加入和退出的問題,當有新的節點加入時,節點廣播自身參數及當前功率值,請求完成新節點加入和功率再分配操作。基于PBFT機制,每個節點將新節點參數添加到鏈上存儲,同時基于準則調整功率,保證系統運行在最優狀態。當有節點退出時,采用類似操作更新鏈上數據和調整功率。
為驗證本文所提算法的有效性,通過實驗進行仿真驗證。假設在某VPP系統內分散了四個DERs,類型為微型燃氣發電機(Micro Gas Generators,MGGs),MGGs通過區塊鏈網絡連接,每個MGG是網絡中的一個節點,并假設該網絡存在一定網絡延時,但保證點對點直接通信。機組的運行參數和初始功率如表3所示[18]。
存在網絡時延的情況下,測試一致性變量λ的變化情況。從圖4可知,在初始t=1時刻,各機組的λ值不同,不滿足等耗量微增率準則,系統沒有運行在最優狀態。通過一次PBFT共識后,在t=8時刻λ變量達到一致,系統達到最優運行狀態。

表3 機組的運行參數和初始功率

圖4 微增量特征λ值的變化情況
圖5 展示了在共識過程中,總負荷功率PLD與機組發電總功率sum(Pi)的對比,從圖中可以發現由于網絡延時和共識計算造成的系統波動,但最終達到了功率平衡。

圖5 負荷總功率和發電總功率對比
圖6 展示了各個MGGs機組的有功功率調整情況,最終功率值穩定在最優運行狀態。

圖6 各機組功率變化情況
虛擬電廠將是未來能源互聯網的終極形態之一,實現更大范圍內的資源優化配置,促進分布式能源的消納。針對分散型虛擬電廠的優化運行,采用等耗量微增率準則,結合分布式、去中心化、自治的區塊鏈技術,實現虛擬電廠的完全分布式運行控制,并對通信、節點故障等因素具有一定的容錯能力,提升了虛擬電廠的安全等級。后續將進一步探討區塊鏈與虛擬電廠的深度融合技術,研究針對更多種DERs特性和運行環境的優化運行,實現虛擬的優化調度運行,促進可再生能源的吸納。