胡浩宇,邢建春,周啟臻,張玉晗
(陸軍工程大學 國防工程學院,江蘇 南京 210007)
隨著微電網技術在電力系統中的廣泛應用,協調微電網內部分布式電源的出力分配,以實現微電網經濟性最優,成為了重要的研究課題[1-3]。
目前,微電網的經濟調度工作可由調度中心通過集中式的調度來完成[4-7]。文獻[7]將微電網參與電力市場的收益最大作為目標,利用集中式方法得到最優發電計劃。文獻[8-9]在調度中心采用粒子群算法將功率平衡約束作為罰函數加入適應度函數計算,達到優化目標。在集中式調度方法下,每個微電源的出力由調度中心根據全部微電源容量、負荷分布以及發電帶來的經濟效益計算得到。這種集中式的方法過多地依賴調度中心的計算能力,一旦調度中心發生故障,全網的調度就無法進行。此外,這種調度方法需要微電源與調度中心之間有良好的通信能力[10],若某微電源與調度中心之間通信發生故障,則該電源無法參與調度。且集中式調度方法下,若有新電源加入微電網,均需要與調度中心建立通信連接,故不利于實現微電源的即插即用[11]。
由于集中式方法存在諸多缺陷,不需要調度中心的分布式調度方法應運而生。文獻[11]提出一種基于蜂窩無線網絡的微電網信息傳輸架構,此架構下微電源之間通過交互出力和負荷信息保證系統的功率平衡,但每個微電源均獨立地進行出力優化,未考慮鄰居微電源的經濟性。文獻[12]利用多智能體系統,為多聯產型微電網設計了一種分布式的能量管理系統,并利用粒子群算法在考慮蓄電池放電量、水氫儲量等多種約束下,以年為時間跨度對微電網運行總成本進行優化,但該文章僅在上層智能體之間實現了分布式的控制,而在下層仍然是集中式的。文獻[13]提出一種全局分布式迭代的優化框架,用于對空間上集群式微電網進行集群分布式優化調度,并通過仿真證明其所用方法經過少量迭代即可達到全局最優。但在每個微電網內部,調度仍是由調度中心完成的。上述兩種方法分別在空間上、類別上對微電網進行了劃分,實現上層的分布式調度,但在下層各個微電源仍然需要由調度中心進行出力分配。
本文提出一種完全分布式的并行調度方法,此方法下每個微電源都是可以進行信息處理的智能體,利用本地信息及鄰居微電源的交互信息,進行勢能博弈,基于粒子群算法對自身出力進行優化,從而達到全網經濟性最優的目標。在MATLAB仿真平臺上建立了獨立微電網模型,驗證了此調度方法的可行性,并分析了相關參數的變化帶來的影響。
本文提出一種完全分布式的并行調度方法,微電網內每一臺分布式電源均作為一個智能體。分布式電源通過母線為負荷供電形成微電網的能量網絡,而對于信息網絡,則在空間上距離較近的智能體間建立連接。每個智能體僅與通信相連的鄰居進行信息交互,交互的信息包括傳輸功率、本地負荷及發電成本。微電網內每個可調分布式電源利用自身和鄰居的信息進行博弈,從而調節自身的輸出功率,分布式電源協同優化,使全網總的經濟性達到最優。
微電網包含分布式電源、負荷以及儲能裝置,其中儲能裝置的作用主要在于對電能進行緩沖,優化電能質量,提高新能源微電網的穩定性,以及實現削峰填谷節約能源[14]。本文重點研究微電網經濟調度的分布式方法,由于儲能裝置可在充電放電過程中分別作為負荷或電源來工作,為簡化對于調度方法研究的影響,暫不考慮微電網中儲能裝置的調度。
建立的實驗模型包含風力電站、光伏電站、柴油機電站三類,設計一種環形的獨立微電網,拓撲結構如圖1所示,每個分布式電源連接到母線上且均帶有本地負荷,通信連接如圖1上虛線所示,以此拓撲結構為基礎展開對于分布式調度方法的研究。
在此拓撲下,分布式電源i輸出功率的去向可大致分為三部分:供本地負荷消耗、傳輸給鄰居兩個節點的功率。
實驗模型包含風力電站、光伏電站、柴油機電站三類電源,下面對各種分布式電源進行建模。
1.2.1 風力電站
風力電站的基本組成單元是風力發電機,其輸出功率由設備所處環境風速決定,按照式(1)進行建模[15]:
(1)
其中PWT為風力電站的輸出功率,v為電站所處環境風速,Pr為電站額定功率,vr為電站運行額定風速,vci、vco為電站運行切入、切出風速。
風力電站的發電成本主要來自于風力機組維護、保養產生的費用,根據經驗其單位功率的發電成本可根據式(2)建模:
f(PWT)=0.029 6PWT
(2)
1.2.2 光伏電站
光伏電站由若干光伏面板組成,面板輸出功率與電池表面的溫度、面板接受光照強度有關,按照式(3)進行建模[15]:
(3)
PPV為輸出功率,PSTC為標準測試環境光照強度1 kW/m2、電池表面溫度25 ℃下的最大功率,GC為實際工況下的光照強度,k為功率溫度系數,TC為實際工況下的電池表面溫度,GSTC、TSTC分別為標準工況下的光照強度與電池表面溫度。
光伏電站的運行成本主要是維護保養所產生的費用,其單位功率的成本函數可根據式(4)建模:
f(PPV)=0.009 6PPV
(4)
1.2.3 柴油機電站
柴油發電機可以根據自身下垂曲線,在一定范圍內進行輸出功率的調節:
(5)
因需要使用化石燃料作為發電能源,故發電成本較高,其單位功率發電成本可根據式(6)進行建模[16]:
f(Pdiesel)=aPdiesel2+bPdiesel+c
(6)
其中a、b、c為燃料耗量特性系數[16]。
通常,微電網的經濟調度需要綜合考慮發電成本和環境保護效益,為注重于算法的研究,簡化問題,故優化目標中暫時不考慮環境保護效益,在建立經濟調度模型時,將實現全網發電成本最低作為優化目標,即:
(7)
其中fi(Pi)表示節點i單位功率的發電成本。
在分布式的調度算法下,各個分布式電源采取局部合作的思想[17],考慮自身以及鄰居的發電成本,計算各種出力方案下的經濟效益,因此在節點i上,優化目標為式(8):
(8)
其中fi(Pi)表示節點i自身的發電成本,fk(Pk)表示i的第k個鄰居的發電成本。相應的,節點i在進行調度時的約束條件[15]如式(9)所示:
(9)
條件①表示節點i所提供的功率與所有鄰居節點向i傳來功率之和等于本地負荷大小,其中Ni表示節點i鄰居節點個數,Tk,i表示第k個鄰居節點向節點i傳輸的功率;條件②表示節點i自身出力定額約束;條件③表示節點i與鄰居k的功率傳輸線l上的限額約束。
根據1.3節經濟調度模型中定義的目標函數,各個節點參照式(8)給出的優化目標獨立自主地調節出力,最終實現式(7)全局的發電成本最低的優化目標。為實現鄰居節點之間的相互合作,這里將勢能博弈的概念引入微電網運行調度。
將分布式電源的出力分配問題看作一個博弈問題[18-19],如式(10)所示:
A=[H,{Xh}h∈H,{Zh}h∈H,{Uh}h∈H]
(10)
其中A表示全網優化調度問題,H表示分布式電源集合,{Xh}表示出力方案集合,{Zh}表示電源h的鄰居電源集合,{Uh}表示電源h在對集合{Xh}中的方案進行優劣性評價時所用到的勢能函數集合。
對應于式(8)所定義的單個節點的目標函數,{Uh}應當同時包含電源h以及鄰居電源的發電成本。在調度時各電源還需要滿足各自運行的約束條件。罰函數法提供了一種在分布式優化問題中,解決各節點約束條件不一致的方法[20]。各節點將滿足本地負荷所需功率約束作為懲罰項,加入到每個智能體的勢能函數中,某節點勢能函數得到如式(11)的定義:
(11)

微電網內每個分布式電源均使用這樣的函數進行優劣性評價,根據勢能博弈理論,全網存在一個調度方案的集合,使得全網總勢能函數達到最小,進而選出最佳的出力方案。
本文提出一種基于局部信息交互的分布式并行粒子群算法。該方法中:每個智能體首先按照1.3節中式(9)的約束,隨機產生一些可供選擇的方案,組成初始種群,而后開始迭代計算,如圖2中所示在某次迭代中,節點利用2.1節式(11)定義的勢能函數,對現有種群中的所有個體進行評價,從中選取最優個體進行記錄。在這一過程中需要注意,勢能函數中使用的鄰居節點信息來自于鄰居上一次迭代中的最優結果,且自身選擇的最優結果也將作為交互信息,發送給所有的鄰居用于下一次迭代。通過勢能函數的比較,完成選擇最佳個體的操作后,進行種群的更新,在約束條件下,根據前一次迭代的最優方案和多次迭代的全體最優方案,生成新的種群供下一次迭代選擇。

圖2 某次迭代中粒子的選擇與更新
據此,微電網內某節點調度算法偽代碼如下所示:

算法1:節點出力方案制定算法1.識別電源類型2.設定最大進化代數T,種群大小D,局部及全局學習因子C1、C2,變異系數閾值Wmax、Wmin,懲罰系數α及其變化規律αk3.初始化普通種群{X}、最優種群{P}、速度矩陣{V}4.forh=1toT(開始迭代)4.1收取鄰居信息4.2forj=1toD 評價粒子j優劣性,更新Pj 更新Xj、Vj 修正在約束條件外的v∈V、x∈X end 4.3記錄本次迭代最優個體、編號 記錄最優個體中與鄰居節點耦合的變量 更新α 發送耦合變量給鄰居 end
某節點上算法流程如圖3所示。

圖3 單一節點粒子群算法流程圖

每次迭代時,四個節點分別執行2.2節中提出算法的步驟4,待四個節點全部完成選擇與更新后,再更新全局變量,開始下一次迭代。因此,即使各節點在選擇方案的時間上有先后順序,但同一次迭代中使用的交互信息均是上一次迭代的,故四節點的計算仍可以看作是分布式并行的。
由于風力電站與光伏電站輸出不可調節,且目前的風、光功率預測技術偏差仍比較大[21],為保證經濟性和環保性,需盡量使其出力全部提供給負荷,因此進行實驗時,為了簡化程序,在額定輸出功率范圍內,假定兩個電站的出力為定值,同時假定某一時刻各節點上負荷是不變的。
實驗中選取電源出力及負荷大小為無量綱量進行計算,風力電站出力選為18,光伏電站選15,1號柴油機電站出力范圍5~20,2號柴油機電站出力范圍10~30,負荷L1~L4分別取為14、15、24、12。
經過調節參數觀察優化結果,根據成本大小、迭代至收斂所用代數以及是否滿足功率平衡等因素,綜合考慮,選取了最佳的參數如表1所示。

表1 最優參數設置表
在這種參數設置下,得到收斂的調度結果如圖4所示,因實驗在MATLAB平臺上進行,很容易得到四個節點的發電總成本,對每一代的值進行記錄繪制如圖5所示。

圖4 優化出力結果

圖5 發電總成本
多次實驗后發現,分布式的粒子群算法在此參數設置下通常只需要0.7 s就可迭代至最高代數,完成優化,因此具有快速性。而當這種優化算法使用在分布式的平臺上時,其每一個節點的運算都是同步進行的,收斂時間還將進一步縮短。
實驗中發現在配置算法關鍵參數時,參數的變化可能造成優化結果的不同,因此需要對參數的影響作用進行分析,為在分布式平臺上實現算法的配置提供依據。
3.2.1 改變局部學習因子
考慮極端情況,即不使用局部學習時,優化結果呈現出了收斂速度變慢且無法迅速滿足約束條件的現象。出力結果和總成本如圖6、圖7所示。

圖6 無局部學習優化結果

圖7 無局部學習發電總成本
3.2.2 改變全局學習因子
同樣考慮極端情況,即沒有全局學習時,算法出現了收斂至局部最優值的問題,如圖8、圖9所示。

圖8 無全局學習優化結果

圖9 無全局學習發電總成本
3.2.3 改變懲罰系數
罰函數的作用在于隨著迭代的進行,提升懲罰系數,使得罰函數值更小的個體優勢更加明顯,進而使得約束條件得到滿足。
當懲罰系數的初始值選取過小時,迭代的前半部分結果將會十分不穩定,無法滿足約束條件要求,滿足約束條件后,優化還未完成,因而浪費了計算資源。當懲罰系數初始值選擇過大時算法又容易陷入局部最優。因此選取合適的懲罰系數初始值對于算法很重要。
步進值選取過大,即實驗中超過10時,也會導致算法陷入局部最優,結果滿意度不高。選取過小時,實驗中小于1時,則會導致如初值過小時同樣的資源浪費現象。當懲罰系數初值選為10,步進值選為1時結果如圖10、圖11所示。
在這種條件下,前期無法滿足約束條件的要求,后期又無法達到期望結果。可見懲罰系數的選取對于算法十分重要。

圖10 小懲罰系數偏優化結果

圖11 小懲罰系數發電總成本
本文針對微電網經濟調度問題的集中式方法存在的問題,提出一種基于局部信息交互的分布式粒子群算法。該算法僅需要分布式電源與鄰居交互信息,就能通過勢能博弈選取出最優出力方案,實現微電網運行經濟性最優的目標。并利用MATLAB仿真平臺,驗證了所提出算法的可行性并討論了關鍵參數對于算法結果的影響。
在MATLAB平臺上進行的實驗過程中,各個智能體所選取的參數均相同,但在真實的分布式系統中,各個節點應當根據自身出力限額以及所帶負荷大小選取合適地參數。
基于本文提出的分布式調度算法,進一步的研究工作將圍繞在分布式的群智能仿真平臺上實現算法來開展。在分布式平臺上,需要進一步復雜化微電網的結構,加入儲能裝置、新電源及負荷,驗證算法在復雜系統中的可行性。