汪柳兵,畢 銳,丁 明,張 震,王 杰
(安徽省新能源利用與節能重點實驗室(合肥工業大學),合肥 230009)
風力發電具有隨機性、波動性和間歇性[1]等不確定性因素,使電力系統調度變得十分復雜。場景分析方法通過生成具有概率特性的代表性風電序列場景集,以有限個場景勾畫風電的不確定性,降低計算分析代價,成為研究風電不確定性的一種有效手段,對于電力系統調度具有重要意義[2-4]。
現有風電序列場景集生成方法可概括為三類:
(1)歷史序列聚類法。文獻[5]將歷史的全年風電日出力序列樣本和負荷序列樣本分為供熱期和非供熱期,對不同時期的序列樣本進行聚類分析,較準確地描述全年歷史風電及負荷的變化特征。文獻[6-7]將歷史風電序列樣本作為原始場景,直接采用聚類算法對原始樣本進行聚類消減,獲得少量代表性場景。歷史序列聚類法運算簡單,只需對歷史風電數據進行處理,能夠較為合理地表達歷史出力序列的變化規律,但該方法對風電序列發展趨勢預見性不足,在描述未來出力的不確定性特征方面效果欠佳。
(2)逆變換法。文獻[8-11]通過構建多元標準正態分布序列并對其進行逆變換,生成滿足強自相關性的風電序列場景集。逆變換法生成的場景集在描述風電的時序性方面效果較好,但可能會出現少量場景與實際出力序列差異性過大的情況,且各序列場景的變化趨勢大致相同,對風電出力隨機性的刻畫能力不足。
(3)單時段/多時段法。文獻[12]引入雙向優化技術,首先在單時段分析階段,采用聚類分析方法對風電歷史出力水平進行縱向消減,獲得靜態場景集;然后在多時段分析階段,采用禁忌搜索算法對風電出力水平進行橫向連接,獲得能刻畫風電隨機特性的序列場景集。文獻[13]先采用Wasserstein概率距離指標對單時段風電出力進行抽樣,再通過笛卡爾積對相鄰時段出力樣本進行連接,生成覆蓋整個調度時段的序列場景集。文獻[14]通過對Copula函數進行多次變換處理,在縱向上考慮單時段風電出力幅值對風電預測誤差的影響,在橫向上對相鄰時段出力相關性進行建模,以保證風電序列場景集的時序性。
現有的單時段/多時段法的優勢在于對風電出力隨機特性的刻畫比較準確,但在相鄰時段風電場景的連接方面,部分方法沒有考慮風電的時序性,部分方法雖然考慮了場景的時序性,但運算過于復雜導致場景集誤差增大。面向電力系統調度的風電序列場景集需同時具備描述未來風電隨機性和時序性的能力。據此,本文提出一種基于自適應預測箱和狀態轉移矩陣的風電序列場景集兩階段生成方法。在單時段分析階段,結合自適應預測箱技術和風電預測出力數據,得到未來單時段風電出力的概率分布,采用隨機抽樣生成準確性、適用性較高的單時段靜態場景集;在多時段分析階段,以保證風電序列隨機性為前提,以改進序列場景集的時序性為主要目標,重點解決相鄰時段靜態場景集間的連接問題,結合狀態轉移矩陣構建禁忌搜索算法新的初始解和鄰域解,將相鄰時段的風電出力波動控制在合理范圍內,通過迭代搜索生成滿足隨機性和時序性要求的多時段風電序列場景集。
研究表明,風電預測誤差的概率分布情況與預測出力幅值有關[15-16]。不同時段風電預測誤差的概率分布可能各不相同,若采用同一概率分布函數進行統一擬合,往往會造成某些時段的擬合效果不夠理想。為了描述預測誤差與幅值的關聯性并改進擬合效果,本文引入自適應預測箱[17]描述風電預測誤差隨預測出力幅值變化的條件相關性,在已知未來24 h風電出力序列預測期望值的基礎上,研究各時段預測誤差的概率分布并抽樣,誤差樣本與預測出力期望值疊加即可得到96個時段的風電序列場景集如圖1所示,圖1(a)中橫軸表示時段,縱軸為每個時段對應的靜態場景集。該方法在靜態場景集的生成過程中加入了未來各時段風電預測信息,不僅保證所生成靜態場景集的準確性和適用性,而且場景集的覆蓋區間范圍更小,在后續連接過程中有利于減小相鄰時段風電波動,在一定程度上提高序列場景集的時序性。

圖1 風電序列場景集生成示意Fig.1 Schematic of wind power sequence scene set generation
利用歷史預測數據和實測出力數據生成自適應預測箱,獲取未來24 h采樣粒度為15 min的風電預測出力序列W=[w1,w2,…,w96],分別擬合96個時段風電預測誤差的概率分布并隨機抽樣,將誤差抽樣值與對應時段的預測出力幅值進行疊加,即得到各時段的風電靜態場景集。生成風電靜態場景集的具體步驟如下:
步驟1 統計歷史風電預測出力數據和實測出力數據,構建自適應預測箱;
步驟2 已知未來24 h采樣粒度為15 min的風電預測出力序列W=[w1,w2,…,w96],結合自適應預測箱對96個時段預測誤差的概率分布進行擬合,t=1;
步驟3 對時段t的預測誤差進行n次隨機抽樣,得到誤差樣本為誤差樣本規模,將序列Et的每個元素與t時段預測出力wt疊加,得到時段t規模為n的風電靜態場景集
步驟4 t=t+1,若t≤96,則轉步驟3,否則結束。
單時段/多時段法的重點與難點在于如何實現相鄰時段靜態場景集的連接,在保證隨機性前提下生成滿足時序性要求的序列場景集。生成滿足時序性和隨機性的完整風電序列場景集的基本思路如圖1所示。在生成圖1(a)中各個時段的靜態場景集之后,沿橫軸方向動態連接并進行優化,生成圖1(b)所示序列場景集。連接過程以禁忌搜索算法為基礎,利用狀態轉移矩陣限制初始解和鄰域解中序列場景的波動幅度,在構建算法適應度函數時兼顧序列場景間距離和自相關系數,經過迭代搜索對靜態場景進行連接。這一過程所獲得的覆蓋96個時段的代表性風電序列場景集,不僅保留了互異性較大的序列場景用以描述風電的多種可能性出力情況,而且提高了序列場景的自相關系數,滿足序列場景的時序性要求。
若從每個時段隨機挑選一個靜態場景順序連接成一個序列場景,可生成的場景集規模將會非常巨大,以至于無法實際用于電力系統調度,因此需要改進靜態場景集連接方法,生成既能夠較好地描述風電出力的隨機變化規律,同時又能滿足時序性的代表性序列場景集。
禁忌搜索算法是一種具有指導性搜索能力的智能優化算法,在迭代過程中利用禁忌表來記憶相應的禁忌信息避免搜索重復解,能夠有效跳出局部最優解,實現更大區域的搜索[18],可用于風電靜態場景集的連接,生成代表性更高、質量更好的風電序列場景集。
利用禁忌搜索算法生成風電序列場景集的難點在于其初始解、鄰域解的構造和適應度函數的選擇。文獻[12]通過隨機抽樣方法生成初始解,然后隨機替換當前解若干時段風電出力的取值作為鄰域解,選擇候選解內兩兩序列場景間距離之和為適應度函數,得到的序列場景集雖然能夠反映實際出力序列的隨機性規律,但文中也指出生成的序列場景集存在自相關系數整體偏低問題。由于該方法在序列場景集的生成過程中僅考慮了場景之間的距離,忽視了場景相鄰時段轉移過程的合理性,導致場景的波動普遍偏大,甚至某些相鄰時段的風電出力波動超過歷史統計的最大波動,這勢必會降低場景集的時序性,這種轉移應在生成過程中濾除。針對禁忌搜索算法的這些難點,本文首先根據風電歷史出力統計數據構建風電出力狀態轉移矩陣,借此指導初始解和鄰域解的生成,將候選解的波動限制在合理范圍內;同時在適應度函數的構建中增加時序性影響因子,以多種措施提高序列場景集的時序性。
2.2.1 狀態轉移矩陣
將歷史風電出力數據按幅值大小等分為m個狀態,統計相鄰時段風電出力狀態的變化情況,構建的狀態轉移矩陣Q為

式中,qi,j(0≤Qi,j≤1,1≤i,j≤m)為風電出力從狀態i經過15 min后轉移到狀態j的概率。
2.2.2 構造初始解
初始解作為禁忌搜索算法第一次迭代的當前解,其質量往往影響算法的時間成本。本文結合風電狀態轉移矩陣構造初始解,通過狀態轉移矩陣限制相鄰時段風電出力的波動,在保證初始解中單時段靜態場景集滿足風電出力概率分布特性的前提下,提高初始解中序列場景的時序性。
首先獲取當前t=0時段風電實際出力幅值,確定該時段風電狀態,根據狀態轉移矩陣推導t=1時段風電的所有可能狀態;對t=1時段靜態場景集隨機抽樣,若從t=0時段到t=1時段風電狀態轉移概率不為0,則該樣本作為初始解中一個序列場景t=1時段的取值;否則說明t=1時段的取值將導致風電波動過大,該狀態轉移不存在,需重新抽樣。初始解中該序列場景t=2時段的取值則根據該序列場景t=1時段的狀態和t=2時段靜態場景抽樣值確定,以此類推直至獲取覆蓋96個時段的出力序列,構成一個完整序列場景。
步驟1 獲取t=0時段風電實際出力幅值z0,計算對應的狀態b0,t=1;
步驟2 隨機抽取t時段的一個風電靜態場景記為 pt,計算 pt對應的狀態bt;
步驟4 若t<96,則t=t+1,轉步驟2,否則結束。
上文描述了初始解中一個序列場景的構造過程,重復上述過程即可得到一定規模的序列場景集用以構成初始解。
2.2.3 構造鄰域解
前面指出,目前采用的隨機替換當前解若干時段的取值作為鄰域解的方法忽視了相鄰時段風電出力水平的內在耦合關系,導致鄰域解中各序列場景的自相關系數降低。本文對鄰域構解造過程進行如下改進:引入狀態轉移矩陣判斷替換的合理性,舍棄不合理的取值并重新進行替換。當需要替換當前解內某個序列場景t時段的取值時,隨機抽取該時段的一個靜態場景作為替換后的值,取值的變化將影響(t-1,t)時段和(t,t+1)時段的風電波動情況。確定該序列場景t-1時段、t時段和t+1時段的狀態,對比狀態轉移矩陣,若出現相鄰時段的狀態轉移概率為0,則表示風電波動超出限制,需對t時段的出力重新取值,直至相鄰時段狀態轉移概率均大于0。

步驟6 判斷該鄰域場景是否與禁忌表中的序列場景重復,若重復,則轉步驟2,否則,該序列場景的鄰域場景構造完畢。
上文介紹了當前解中一個序列場景的鄰域場景的構建方法。如當前解中包含若干個序列場景,則對其中的每一個序列場景進行上述操作,即可得到當前解的一個完整鄰域解。
2.2.4 構建適應度函數
前面所得當前解和鄰域解統稱為候選解,可利用適應度函數對所獲候選解的優劣進行評價。本文選取候選解內各序列場景間的距離之和與序列場景自相關系數均值的乘積作為適應度函數,即

式中:λi和 λj(1 ≤ i,j≤ S)分別為候選解內第i和第j個序列場景;CT為兩序列場景之間的距離;Ak為候選解內第k個序列場景的自相關系數;c、v分別為協方差和方差;S為候選解內序列場景集規模;f為適應度函數值,f越大說明候選解質量越高。
該適應度函數兼顧序列場景集的距離和自相關系數,通過迭代選取函數值更大的候選解作為最優解,不僅保證了最優解內各場景之間的互異性,而且通過引入自相關系數反映了時序性在尋優過程中的作用,其效果將在后續算例討論中得以驗證。
2.2.5 禁忌條件與搜索過程終止判據
設置禁忌表可以在迭代過程中避免搜索重復解,有效提高算法的尋優效率。本文將在當前迭代次數U前出現過的候選解中所有的序列場景均置入禁忌表,在后續迭代過程中生成的鄰域解將避免出現禁忌表中的序列場景。
當相鄰兩次迭代滿足下式時,迭代終止。

式中,fU和 fU-1分別為第U次和U-1次迭代的適應度函數值;θ為終止判據。
2.2.6 算法步驟
圖2為禁忌搜索算法的主要步驟流程圖,結合禁忌搜索算法生成具有代表性風電序列場景集的具體操作步驟如下:

圖2 禁忌搜索算法流程Fig.2 Flow chart of taboo search algorithm
步驟1 給定風電序列場景集的規模S=100,終止準則θ=10-4,每次迭代的鄰域解數量L=1 000,當前解改變取值的時段數d=24,按2.2.2節方法構造初始解H0,計算初始解的適應度函數值f0,禁忌表設置為空,迭代次數U=1;
步驟2 按2.2.3節方法構造第U次迭代的L個鄰域解,計算L個鄰域解的適應度函數值,記最大值為 fU,對應的鄰域解為HU;
步驟3 取 fU=max{fU-1,fU}作為第count次迭代當前解的適應度函數值,其對應的當前解記為HU;
步驟4 若|fU-fU-1|/fU>θ,則U=U+1,將所有候選解內的序列場景加入禁忌表,轉步驟2,否則輸出最優解Hbest=HU,迭代結束。
以德國TenneT電力公司官網[19]公布的2016年1月1日至2018年5月6日的風電歷史預測出力數據和實測出力數據構建自適應預測箱,結合2018年5月7日的風電預測出力數據,以本文方法生成2018年5月7日96個時段的風電序列場景集。以文獻[12]中的雙向優化技術作為對比方法,本節將分別從時序性、差異性、迭代收斂特性和場景集實際應用效果等方面對本文序列場景集生成方法進行分析討論。
本文方法生成的規模為100、時間跨度為96個時段的等概率風電序列場景集如圖3所示。由圖3可知,風電序列場景集提供了風電出力的多種可能性,且風電實際出力序列完全處于序列場景集的包絡線內。雖然預測出力序列的精度在某些時段并不理想,在第17時段內的預測誤差甚至達到了21.94%,但仍處于序列場景集的覆蓋范圍之內,這是由于風電靜態場景集的生成過程結合了自適應預測箱技術,較為準確地描述了不同時段風電預測誤差的概率分布,使得每個時段靜態場景集的覆蓋范圍完全囊括風電的實際出力幅值。
時序性作為風電序列場景集的重要指標[20],可用自相關系數ACC(auto-correlation coefficient)進行定量分析[21],具體計算方法見式(3)。
分別采用對比方法、以第1節方法替換雙向優化的縱向優化技術(方法1)、以第2節方法替換雙向優化的橫向優化技術(方法2)、本文方法4種場景集生成方法生成規模為100的序列場景集。本文方法和對比方法所生成序列場景的滯后時段為1的自相關系數對比如圖4所示,圖4中本文方法所生成場景的自相關系數分布曲線完全位于對比方法之上,可見本文方法可明顯改善序列場景集的時序性。

圖4 自相關系數對比Fig.4 Comparison of ACC
4種序列場景集自相關系數的數字特征如表1所示,結合表1具體分析方法1、方法2和本文方法在對比方法的基礎上對場景集時序性的改善程度,得出以下結論:
(1)方法1在一定程度上提高序列場景集的時序性。從表1可知,與對比方法相比,方法1所生成序列場景的自相關系數均值和最小值分別提高0.040和0.094,自相關系數大于0.8的占比亦提高了7%,可見本文靜態場景集生成方法可略微改善序列場景時序性。
(2)方法2大幅提高序列場景集的時序性。從表1可知,與對比方法相比,方法2所生成序列場景的自相關系數均值和最小值分別提高0.128和0.251,自相關系數大于0.8的占比提高到100%,一般認為自相關系數大于0.8即可認為該場景具備強時序性,可見本文靜態場景集連接方法所獲得序列場景全部具備強時序性,改進效果優于方法1。
(3)本文方法提高序列場景集時序性的綜合效果最明顯。由表1可知,本文方法所生成序列場景的自相關系數除最大值與改進方法1接近外,均值和最小值均明顯大于改進方法1,所生成場景不僅全部具備強時序性,且自相關系數大于0.9的占比達到94%,比改進方法1提高9%,可見本文方法同時改善靜態場景集的生成和連接過程,對序列場景集時序性的提高效果最佳。

表1 自相關系數統計Tab.1 Statistics of ACC

分別計算前述4種方法所生成風電序列場景與實際出力序列的距離,處理后的計算結果如表2所示。由表2可知,相較于對比方法,方法1明顯減小了差異性,方法2略微減小了差異性,而本文方法在減小差異性方面的效果最佳。

表2 差異性對比Tab.2 Comparison of difference
本文方法和對比方法的迭代過程對比如圖5所示。由圖5可知,基于狀態轉移矩陣的禁忌搜索算法的迭代次數明顯小于不考慮風電波動限制的禁忌搜索算法的迭代次數。產生這個結果的原因有兩個:①相較于對比方法隨機構造初始解,本文方法在構造初始解時限制風電波動幅度,提高了初始解的質量;②相較于對比方法中隨機替換當前解若干個時段的取值來構造鄰域解,本文在構造鄰域解時結合狀態轉移矩陣,將替換后的取值限制在合理范圍內,進而加快了迭代收斂速度。

圖5 適應度函數變化曲線Fig.5 Changing curve of fitness function
生成風電序列場景集的工程價值是用于含風電的電力系統調度分析,根據計算結果可對場景集的應用效果進行評價。本文采用文獻[13]中的虛擬電廠VPP(virtual power plant)期望收益模型作為場景集驗證模型,該模型以電廠期望收益為目標函數,考慮了電廠計劃出力和實際出力的偏差而造成的上/下行備用成本,計劃出力與實際出力越接近,電廠期望收益的計算誤差越小。分別采用本文方法、對比方法和蒙特卡洛隨機抽樣方法生成不同規模的風電序列場景集,并以此作為驗證模型的輸入,計算相應的目標函數,通過對比分析進一步驗證本文序列場景集生成方法的合理性。驗證結果如表3所示。分析表3可得出如下結論:

表3 不同規模序列場景集下虛擬電廠的期望收益Tab.3 VPP’s expected profits under sequence scene sets of different scales
(1)隨著序列場景集規模的逐漸擴大,3種方法所引入期望收益的計算誤差總體均呈現下降趨勢,表明場景集規模越大,場景集與實際出力序列的偏差越小。
(2)本文方法生成的風電序列場景集規模達到100及以上時,可認為虛擬電廠的期望收益實現收斂,而對比方法和隨機抽樣方法得到的風電序列場景集規模需分別達到200和300及以上才可認為收斂。為達到收斂所需的場景集規模越大,應用于電網分析計算的代價也越大。
(3)在風電序列場景集規模相同的情況下,本文方法對應的期望收益計算誤差小于對比方法和隨機抽樣方法。這是因為本文方法生成的序列場景集時序性更強、差異性更小,有效提高序列場景集的整體質量。
本文針對靜態場景集連接過程中時序性偏低問題,提出一種自適應預測箱和狀態轉移矩陣相結合的風電序列場景集生成方法,得出如下結論:
(1)不同日期不同時段的風電出力概率分布各不相同,本文靜態場景集生成方法結合了風電預測出力期望值和自適應預測箱技術,有效提高靜態場景集的準確性和適用性,在減小后續生成的風電序列場景集的差異性方面效果明顯,并在一定程度上提高序列場景集的時序性。
(2)在初始解和鄰域解的構建過程中結合狀態轉移矩陣判定狀態轉移方向是必要的。這一策略在保證序列場景集滿足風電隨機特性的前提下,通過限制各序列場景相鄰時段的波動幅度,有效地改善了風電序列場景集的時序性。
(3)時序性的增強使基于自相關系數的適應度函數收斂性加快,求取最優解的迭代次數減少;同時,序列場景集差異性的減小使得在同樣收斂精度下所需的場景數減少,這表明本文方法的計算效率更高,更有利于實際工程應用。