張雨曼,劉學智,蘭 琛
(上海交通大學 電子信息與電氣工程學院,上海 200240)
光伏發電具有清潔、技術成熟等優點,構建以光伏—儲能系統為基礎的多能源系統,有利于提高光伏消納、節省運營成本、緩解高峰用電壓力。采用儲能技術不僅可以平滑光伏系統輸出,解決棄光問題,增強系統調頻調峰能力,提高穩定性,還能夠通過規劃最佳的容量配置和充放電策略,為用戶帶來最大化收益[1]。將儲能系統與光伏發電組合統籌規劃,能夠增強系統的可協調性和靈活性,為用戶帶來最大化收益。
由于光儲系統的前期投入較大,因而對光儲系統容量和功率的配置方案以及其經濟效益的研究具有重要意義[2]。同時,對于光儲系統調度的優化方案也對系統運行有借鑒意義[3]。文獻[4]研究了分布式能源系統中的儲能配置策略,文獻[5]、文獻[6]研究了含儲能系統的運行調度策略,但是都只對配置或運行單獨進行優化,并未將規劃和運行統一進行優化。文獻[7]綜合研究了配置與運行優化,但是只有短時間尺度下的應用。文獻[8]、文獻[9]在多種時間尺度下進行了配置和運行的優化,但是均為建立指標對模型進行效益評估。
此外,基于全局優化的模型,需要同時決策光儲系統的規劃和運行,實現協同優化,導致求解難度大。Benders 分解法能將全局模型分解為主問題和子問題,在主、子問題局部優化的基礎上達到全局最優,能夠有效解決這類問題。文獻[10]利用Benders分解將充放電狀態和購售電狀態的0/1變量和功率流動變量進行分解,得到了微網調度策略,但未實現規劃運行協同優化;文獻[11]利用Benders分解將綜合能源系統分解為熱力系統主問題和電力系統主問題,但也未涉及規劃優化;文獻[12]運用Benders 分解方法將復雜可再生能源接入規劃問題分成投資—運行分解模型進行求解,但其只有單個典型日分析;文獻[13]利用Benders分解將問題分解為初始投資費用主問題和運行優化子問題,但其子問題僅作為可行性檢驗,不會進行優化計算。現有的Benders 分解法大多缺乏多時間尺度的應用場景驗證和經濟技術效益的評估。
基于以上問題,本文在Benders分解模型的現有優勢下探討其衍生應用,利用Benders分解方法實現了光儲系統配置—運行協同優化,將模型分解為規劃配置主問題和運行調度子問題。計算中實現了Bender 割集累積過程的可視化,揭示了容量配置與優化運行的交互作用,直觀展示出了Benders分解法的收斂過程,深入研究了Benders分解法在實際求解中的原理和過程,對分解協調優化模型之后的衍生應用有一定的借鑒價值。此外,探討了分解協調優化模型在中長期尺度下求解的可行性,對于此方法在多時間尺度的應用也有參考意義。
本文首先建立光伏—儲能系統規劃和運行優化模型,建立目標函數,約束條件和評價指標;其次提出Benders分解方法對模型進行求解,并通過算例分析Benders 分解法的求解機理;最后提出聚類分析,基于3 個天氣場景對全年光伏和負荷數據進行處理,建立全年的光伏儲能模型,驗證Benders 分解模型是否適用于長時間尺度的分析。
對應于儲能電池的配置規劃和光儲系統的調度運行,本文決策變量定義如表1,對應的光伏—儲能功率流動關系如圖1。
圖1 中,4 個實線功率流動變量是決策變量,2個虛線功率流動變量不是決策變量,但是其仍然存在,并且可以由其他決策變量表示。對于2 個虛線功率變量的處理如下:

表1 決策變量Table 1 Decision variables

圖1 功率流動圖Fig.1 Power flow diagram
(1)光伏售給電網功率PPV→grid
由于來自光伏系統的電力可以直接供給負荷、儲能電池系統(BESS)或售給電網,因此必須滿足以下約束條件

式中:PPV(t)為光伏發電量,是已知常數,因此與光伏有關的變量只有2 個為決策變量,即PPV→load(t)和PPV→BESS(t),而PPV→grid(t)可以由這2個變量表示。
(2)電網購給負荷功率Pgrid→load
負荷功率要滿足以下約束

式中:Pload(t)為負荷量,是已知常數,因此與負荷有關的變量只有2 個為決策變量,即PPV→load(t)和而Pgrid→load(t)可以由這2個變量表示。
本文的負荷供電優先原則規定如下:
(1)當PPV(t)≤Pload(t)時,光伏發電量全部供給負荷,此時PPV→load(t)=PPV(t)。
(2)當PPV(t)>Pload(t)時,剩余光伏電量可以選擇儲存到儲能電池或者售賣給電網。此時PPV→load(t)=Pload(t),剩余光伏功率PPV(t)-Pload(t)儲存到儲能電池。
對于剩余光伏功率的利用優先原則規定如下:
設置目標函數為最小化的系統成本,由于光伏儲能設備的維護成本較小,因此僅考慮運營成本Copex和投資成本Ccapex。
(1)運營成本
在t時刻,運營成本由電網購電支出、售電收入和光伏補貼組成。

式中:cost(t)為t時刻的運營成本,由1 項運營支出(正值)和2項運營收入(負值)構成;Pbuy(t)為購電量;Ce(t)為購電價,對應購電支出;Csell為售電價,對應售電收入;Csub為光伏補貼價格,對應光伏補貼收入。
由此可得每日運營成本Copex為

(2)投資成本
由于本文是固定光伏出力的模型,光伏容量配置已確定,故不包含對光伏的配置優化,只關注儲能電池的配置優化。因此,投資成本Ccapex分為儲能電池容量成本Ccap和儲能電池功率成本Cpower。
電池容量成本等于電池容量和單位容量投資成本之積[14]。設置鋰電池放電深度為90%,則

式中:Smax為電池容量;unitcostcap為單位容量投資成本。
電池功率成本Cpower是滿足功率要求的儲能變流器(PCS)雙向變流器成本(本文中PCS 變流器的超負荷率約為1.0),PCS 雙向變流器功率與選取的電池最大充放電功率相同,電池功率產生的成本Cpower為變流器功率與單價的乘積,即

最終,投資總費用為

設置資金回收系數LFn,用于表示儲能設備投資總費用均攤到儲能設備壽命周期內每年的平均投資成本。

式中:d為折現率;n為儲能電池的壽命年限。
綜上所述,目標函數為一個典型日的總費用支出

(1)電池充放電約束
任何時刻電池的充放電功率都應在額定范圍之內,不應超出最大充放電功率

同時,由于頻繁的同時充放電會縮短電池壽命,因此規定儲能電池的充電和放電不能同時進行,即

(2)光伏出力約束

(3)負荷功率約束

(4)電池容量約束
當電池在充放電過程時,電量滿足約束

其中ηc=ηd=0.98,是電池充放電效率。t時刻的電池電量為t-1 時刻的電量加上這1 h的充放電電量。顯然,電池容量S(t)不能超過額定容量,即

(5)電量置零約束
在電池容量約束的基礎上,考慮儲能電池一天24 h充放電總量的累積和為0,即

(6)電池充放電次數約束
電池充放電次數過多,可能導致電池提前老化,降低電池的使用壽命。為了讓電池健康工作,我們需要對電池的充放電次數進行約束,使電池一天中放電總量不超過電池容量,這意味著一天中電池進行不超過一次放電循環。

為了評價模型的優劣,對優化結果進行指標的計算。本文的評價指標包括光伏自我消納率(self-consumption ratio,SCR)和自給率(self-sufficiency ratio,SSR),凈現值(net present value,NPV)和內部收益率(internal rate of return,IRR),動態投資回收期。
1.4.1 消納率與自給率
儲能電池可以顯著提高消納率和自給率。
消納率定義為光伏系統產生的供給負載和儲存電池的能量(EPV,used)與產生的總能量(EPV,gen)之比

自給率定義為光伏系統產生的供給負載和儲存電池的能量(EPV,used)與負載使用的能量Eload之比

1.4.2 凈現值和內部收益率
凈現值是一項投資所產生的未來現金流的折現值與項目投資成本之間的差值,反映了項目投資獲利能力的指標。一般情況下,凈現值大于0時,該項目是可行的。

式中:CFk為每年的凈現金流量,即每年電池售電收入和該年的所有支出之和;r為貼現率。
內部收益率定義為電池凈現值為零時的折現率。一般情況下,IRR大于等于基準收益率(6%)時,該項目是可行的。
可以通過求解NPV=0 來確定內部收益率,如下所示

1.4.3 動態投資回收期
動態投資回收期是指在考慮貨幣時間價值的條件下,以投資項目凈現金流量的現值抵償原始投資現值所需要的全部時間。
計算方式為:由光伏儲能系統的售電收入與光伏補貼之和,減去購電成本,得到系統的總運行收益。當系統運行到第n年時,累計總運行收益超過初始投資成本Ccapex。表達式如下所示

式中:Cin(k)為第k年的運行收入;Cout(k)為第k年的運行成本;r為貼現率。當計算所得的n大于電池壽命時,投資無法回本,更無法盈利。
Benders 分解算法是 J.F.Benders 在 1962 年首先提出的,目的是用于解決混合整數規劃問題,即連續變量與整數變量同時出現的極值問題。但它的實際應用并不限于此,它可以對具有Benders分解基本形式的非線性問題求解[15]。
其通用數學公式為

式中:x為主問題變量;cT為x的變量系數矩陣;y為子問題變量;QT為y的變量系數矩陣;(benders cut)為割集。通過將主、子問題分解,相互迭代求解全局最優值,其求解流程如圖2所示。
值得注意的是,子問題在反復迭代的過程中形成的可行割或不可行割是不斷累積的,最終會形成一個割集,對主問題進行約束。隨著迭代進行,割集不斷增大,可行解不斷減少,使得問題最終趨向最優解。

圖2 算法流程圖Fig.2 Algorithm flow chart
為了便于使用Benders算法優化,本文在進行問題分解時,將配置問題確定為主問題x,運行問題確定為子問題y。由此,將電池容量Smax和電池最大額定充放電功率用參數x(1)和x(2)表示,t時刻光伏供給負荷的功率PPV→load(t),光伏供給儲能電池 功 率PPV→BESS(t),電網供給儲能電池的功率Pgrid→BESS(t),儲能電池放電功率分別用參數y(4t-3)、y(4t-2)、y(4t-1)、y(4t)表示,如表2所示。

表2 參數設置表Table 2 Parameters setting table
2.3.1 目標函數
將變量參數化后,最終的目標函數方程為

由于Benders中目標函數方程為

對應得到主問題x的變量系數矩陣c和子問題y的變量系數矩陣QT

2.3.2 約束
本文模型中的變量系數矩陣形式為線性形式Wy+Tx≤H。對應該形式,將在1.3 節中設立的約束方程參數化:
電池放電約束

電池充電約束

光伏出力約束

負荷功率約束

電池容量約束1

電池容量約束2

量置零約束

電池充放電次數約束

以上參數化約束條件方程對應的矩陣表達如表3。
為了將不等式約束轉換為等式約束,引入松弛變量組成稀疏矩陣Asparse,由于改造的不等式約束都是同號(≤),所以松弛變量的系數都是1,矩陣近似單位矩陣,只有等式約束對應行為零元素。
y的新變量系數矩陣W′由W和Asparse組成如下

本文采用的是廣東某工業園區數據,主要考慮包括華夏學院等在內的5家用戶的負荷,并使用2020年低方案負荷數據。由于本文研究用戶屬于工業用電,負荷曲線與該工業園區本身的運行安排相關,如圖3(a)。在13:00出現負荷率最低點的原因是由該工業園區生產排班所造成。光伏數據見圖3(b),24 h分時電價如圖3(c)。光伏上網電價Csell= 0.451 5 元/kWh ,光伏補貼Csub= 0.42 元/kWh,折現率d= 0.06,儲能電池充放電效率η= 0.98,電池容量投資成本unitcostcap=125 萬元/MWh ,電池功率投資成本unitcostpower=50 萬元/MW ,儲能電池的壽命年限n=11[16]。

表3 變量系數矩陣Table 3 Variable coefficients matrix

圖3 廣東某工業園區數據Fig.3 Data of an industrial area in Guangdong
2.4.1 Benders算法迭代過程
在MATLAB 程序中經過多次迭代后,生成的割平面如圖4所示。圖4實現了迭代計算時Benders割集形成過程的可視化,可以直觀看出割平面的累積過程,即割集的形成。從求解結果可知,在計算過程中發生了9 次迭代并產生了9 個割平面,每次迭代都會為算法增加切割和新約束。
最小日成本、最大充放電功率及最大電池容量的隨著迭代進行的收斂過程如圖5所示。前4次迭代數值巨大,故省略。由圖5可知,隨著迭代不斷進行,在第六次迭代后各優化目標已趨于收斂,在第九次迭代后找到最優結果。

圖4 優化空間和割平面Fig.4 Optimize space and benders cut plane

圖5 迭代收斂過程Fig.5 Iterative convergence process
2.4.2 配置及運行優化結果分析
配置和運行優化結果如表4,在這樣的儲能電池配置下,系統運行調度情況如圖6所示。

表4 優化結果Table 4 Optimization results

圖6 光伏—儲能系統運行調度優化結果Fig.6 Scheduling optimization results of photovoltaicbattery system
由計算得出的經濟指標可以看出,其均滿足以下3 個要求:一是凈現值大于0;二是內部收益率大于或等于基準收益率(6%);三是動態回收期效于電池壽命(11 年)。因此是具有經濟效益的可行方案,具有現實意義。
為探究本文方法是否適用于長時間尺度上的案例,利用K-means 聚類算法對長時間尺度上的光伏出力數據進行聚類分析,建立全年的光伏儲能模型,驗證其可行性[17]。
第二章的典型日光伏儲能系統案例分析是基于典型日24 h光伏出力和負荷需求的數據,但光伏出力數據在長時間尺度上可能會因為各種因素產生波動和差異,為了探究第二章的優化結果是否適用于長時間尺度上的案例,要利用K-means 聚類算法對長時間尺度上的光伏出力和負荷數據進行聚類分析,建立全年的光伏—負荷出力模型。
本節對全年8 760 h 的光伏出力和負荷數據中每個月的數據利用K-means 聚類分析,通過設定K=3,將聚類分析所得數據對應到3種天氣情況,即晴天、陰天和雨天。
12個月份的光伏和負荷的聚類結果分別計算如圖7、圖8所示。

圖7 1月至12月光伏聚類結果Fig.7 PV clustering results from January to December

圖8 1月至12月負荷聚類結果Fig.8 Load clustering results from January to December
關于3種天氣情況的聚類結果如表5所示。

表5 每月聚類結果Table 5 Clustering results of each month d
為了生成全年的總成本表達式作為目標函數,設置第m月的3 種天氣情況的天數分別為:晴天天數為Dsunny(m) ,陰天天數為Dcloudy(m) ,雨天天數為Drainy(m)。第m月的晴天運營成本為Copex,sunny(m),陰天運營成本為Copex,cloudy(m) ,雨天運營成本為Copex,rainy(m),則全年的總成本可以表示為

對于約束條件,中長期優化模型以12個月的典型日為優化對象,以一年12個月的年度總成本為優化目標,本質上研究對象仍然為典型日,因此其仍然采用第二節模型的約束,未添加新的約束。
由此,基于K-means 聚類分析的中長期優化配置與運行模型建立完成。
將聚類分析所得年光伏出力模型,同樣利用Benders 求解法計算。最大充放電功率及最大電池容量的隨著迭代進行的收斂過程如圖9所示。最優配置下的優化結果如表6所示。

圖9 迭代收斂過程Fig.9 Iterative convergence process

表6 中長期尺度下配置和運行方案Table 6 Configuration and operation plan under the medium and long-term scale
本文主要是利用Benders 分解算法對長時間尺度上的光儲系統模型進行優化求解,確定儲能電池的最優配置和系統的優化調度方案。
為建立光儲系統模型,首先明確了光儲系統內部的功率流,確立優化求解最重要的目標函數,并依據功率流動和儲能電池狀態設立模型的約束條件,然后選取了消納率、自給率、凈現值等用于評估優化結果的指標。然后依據Benders算法思想,將問題分解為配置主問題和運行子問題,將原有模型進行參數化,配合線性規劃函數經過多次迭代求解出儲能電池的最優配置和系統的優化調度方案。此外,本文使用了K-means 聚類分析算法對長時間尺度(全年)的光伏出力和負荷數據進行聚類分析,建立全年的光儲優化模型,并仿效之前的求解過程進行優化求解,得出長時間尺度的優化配置方案。
總的來說,本文展示了算例求解中Benders分解法的迭代過程,以及Benders 割的形成機理和過程,對于分解協調模型求解原理實現了更深刻的剖析,對Benders 分解法之后的衍生應用有一定的借鑒價值。此外,本文加入全年的光儲優化模型,驗證了Benders分解法在長時間尺度下求解的可行性,對于此方法實現在多時間尺度的應用也有參考意義。