紀(jì)昌明 ,周 婷 ,向騰飛 ,黃海濤
(1.華北電力大學(xué) 經(jīng)濟與管理學(xué)院,北京 102206;2.華北電力大學(xué) 可再生能源學(xué)院,北京 102206)
水電作為開發(fā)技術(shù)成熟、運行成本低廉、負荷響應(yīng)快速的可再生能源,在我國能源格局中發(fā)揮著重要作用。隨著“十二五”規(guī)劃對我國水電開發(fā)積極有序的推動,在大規(guī)模水電系統(tǒng)建成后,如何在實際運行中挖掘水庫水電站的發(fā)電效益空間、提高水電站實際調(diào)度水平,是一項兼具理論意義和實踐價值的研究課題。
近年來,基于優(yōu)化調(diào)度成果和規(guī)則提取的隱隨機優(yōu)化調(diào)度理論被越來越多地用于水庫水電站實際運行研究中。從傳統(tǒng)的線性回歸[1],到神經(jīng)網(wǎng)絡(luò)[2]、遺傳算法[3-4]、蟻群算法[5]等智能算法,以及貝葉斯網(wǎng)絡(luò)理論[6]等,均在隱隨機優(yōu)化調(diào)度中有所應(yīng)用。但上述方法大多以訓(xùn)練誤差最小為目標(biāo)對調(diào)度規(guī)則進行提取,容易導(dǎo)致模型過度追求訓(xùn)練精度,用復(fù)雜的表達式去擬合有限的樣本,而模型的復(fù)雜度與其推廣能力往往成反比,致使模型的預(yù)測能力降低[7]。
支持向量機 SVM(Support Vector Machine)以系統(tǒng)結(jié)構(gòu)風(fēng)險最小化為優(yōu)化目標(biāo),利用懲罰參數(shù)平衡模型的學(xué)習(xí)能力和推廣能力,將回歸問題轉(zhuǎn)化為二次規(guī)劃問題,克服了局部最優(yōu)的弊端,尤其適用于小樣本回歸問題。但另一方面,模型中懲罰參數(shù)及核函數(shù)參數(shù)的率定,以及小容量樣本所帶來的訓(xùn)練偏差是SVM在實際應(yīng)用中的難點。
本文將SVM應(yīng)用于梯級水電站群隱隨機優(yōu)化調(diào)度中,結(jié)合網(wǎng)格搜索對模型參數(shù)進行優(yōu)化,并利用K-fold交叉驗證方法評價模型的訓(xùn)練性能,降低了抽樣隨機性所帶來的預(yù)測誤差,提高了模型的推廣能力。為提高成果的實用性,設(shè)計了基于VC_和MATLAB混合編程的仿真平臺,實現(xiàn)SVM指導(dǎo)梯級水電系統(tǒng)實際優(yōu)化運行仿真,并對仿真結(jié)果進行了全面的評價。
水庫水電站隱隨機優(yōu)化思想由美國學(xué)者Young提出[8],其基本原理是:基于長系列已知徑流過程,運用確定性優(yōu)化方法得到調(diào)度期內(nèi)最優(yōu)調(diào)度過程,以此作為樣本制定優(yōu)化調(diào)度策略,指導(dǎo)徑流未知條件下的實際運行。隱隨機優(yōu)化理論將隨機優(yōu)化問題分解為確定性優(yōu)化調(diào)度和規(guī)則提取2步,避免了隨機優(yōu)化“維數(shù)災(zāi)”問題,因此在大型水電站群實際優(yōu)化調(diào)度研究中得到了廣泛的應(yīng)用。
對于以發(fā)電功能為主的梯級水電系統(tǒng),優(yōu)化調(diào)度目標(biāo)函數(shù)為調(diào)度期內(nèi)發(fā)電量最大:
其中,Ni,j為電站 j在時段 i的發(fā)電出力;ki為發(fā)電系數(shù);Qi,j為發(fā)電流量;Hi,j為發(fā)電水頭;Δt為時段長度;T為調(diào)度期總時段數(shù);J為梯級系統(tǒng)中水電站個數(shù)。
約束條件如下。
a.水庫庫容約束:
b.下泄流量約束:
c.電站預(yù)想出力約束:
d.系統(tǒng)保證出力約束:
其中,Vi,jmin和 Vi,jmax為水庫 j在時段 i的最小及最大庫容限制;Qjmin和Qjmax為水庫j在時段i的最小及最大下泄流量約束;Njmin和Njmax為電站j的最小和最大出力約束;Nfirm,j為電站 j的保證出力為 Nfirm,j對應(yīng)的保證率;prob(Nj≥Nfirm,j)代表調(diào)度期內(nèi) Nj≥Nfirm,j的頻率。式(5)的含義是系統(tǒng)時段出力大于保證出力的頻率必須滿足設(shè)計保證率要求。
考慮到梯級水電站群變量眾多并且可行域廣闊,采用逐步優(yōu)化算法POA(Progressive Optimization Algorithm)對模型進行求解:首先根據(jù)常規(guī)方法生成可行調(diào)度過程作為初始解,再從中選取兩階段,并固定其他階段變量,對所選兩階段變量在發(fā)電量最大目標(biāo)下進行優(yōu)化。各時段依次逐步循環(huán),直至達到目標(biāo)函數(shù)不再增加為止。POA將多階段決策問題分解為一系列的二階段決策問題,并已證明可收斂至全局最優(yōu)[9],極大提高了梯級電站優(yōu)化問題的求解效率。
調(diào)度規(guī)則變量包括輸出變量(因變量)和輸入變量(自變量),變量選取不但影響隱隨機模型性能,也反映了調(diào)度規(guī)則的直觀性和可解釋性。一般而言,輸出變量應(yīng)取物理意義明確、易于操作的指標(biāo),如時段出力、下泄流量等。輸入變量則要求能夠準(zhǔn)確反映水庫水電站的運行狀態(tài)和特征,同時應(yīng)考慮調(diào)度實際,確保指標(biāo)的可獲取性。例如實際運行中徑流預(yù)報預(yù)見期僅為當(dāng)前時段,則未來時段的徑流信息不可納入輸入變量中。
考慮到下泄流量較時段出力更為直觀,且貼近水電站運行操作,本文選取時段下泄流量為輸出變量。輸入變量的選擇面較寬,時段初水位和面臨時段入庫流量是與調(diào)度決策相關(guān)性最強的2個指標(biāo);入能和蓄能反映了水庫的能量狀態(tài),與發(fā)電關(guān)系較為密切,因此也將其納入;考慮水文過程的連續(xù)性,相近時段的調(diào)度決策往往互相影響,因此將上一時段的下泄流量也納入輸入變量。綜上,輸入變量包括時段初水位、入庫流量、入能、蓄能、上一時段的下泄流量。
調(diào)度規(guī)則中的輸出變量和輸入變量構(gòu)成了SVM回歸的訓(xùn)練樣本集(x1,y1)、(x2,y2)、…、(xn,yn),SVM通過一個非線性映射φ將原始自變量投影到高維空間,將非線性回歸轉(zhuǎn)化為高維空間內(nèi)的線性回歸,求解過程不存在局部最優(yōu)問題,具有堅實的理論基礎(chǔ)[10-12]。
目前常用的SVM參數(shù)優(yōu)化方法包括梯度法[13]、遺傳算法[14]、粒子群算法[15]等。這些方法具有收斂速度快的優(yōu)點,但是在對2個以上參數(shù)進行優(yōu)化時,參數(shù)之間互相影響,往往不能保證結(jié)果最優(yōu)。本文選擇網(wǎng)格搜索法對參數(shù)組合(C,g)同時進行尋優(yōu),規(guī)避了局部最優(yōu),并且便于并行計算,結(jié)合指數(shù)網(wǎng)格劃分,提高了整體效率。
交叉驗證(cross validation)是一種消除取樣隨機性所帶來的訓(xùn)練偏差的統(tǒng)計學(xué)方法。常用的交叉驗證方法有重復(fù)隨機抽樣法、K-fold交叉驗證法、留一法等??紤]樣本容量及計算效率,本文引入K-fold交叉驗證法對模型的訓(xùn)練性能進行評價,結(jié)合參數(shù)優(yōu)化,提高模型的穩(wěn)定性和泛化能力。
SVM回歸的目標(biāo)函數(shù)為高維空間線性回歸函數(shù)f(x)=w·φ(x)+b 的復(fù)雜度和擬合誤差之和最小。假設(shè)所有樣本均可以在不敏感度為ε,正、負松弛度分別為ξ、ξ*水平下進行無誤差擬合,則優(yōu)化模型可表達為:
其中,n為測試樣本個數(shù)。
目標(biāo)函數(shù)的前半部分代表回歸函數(shù)f(x)的復(fù)雜度,即泛化(推廣)能力,后半部分代表擬合誤差。常數(shù)C>0為非負懲罰因子,起到平衡模型的泛化能力和擬合能力的作用。
模型式(6)是典型的凸二次規(guī)劃問題,引入Lagrange函數(shù):
其中,αi、α′i為 Lagrange 因子。根據(jù) Kuhn-Tucker定理,式(7)的最優(yōu)解在w和b方向上的梯度均應(yīng)為0:
將式(8)代回式(7),消去 w 和 b,經(jīng)整理可得原最優(yōu)化問題的對偶問題:
其中,k(xi,xj)=φ(xi)·φ(xj)為核函數(shù),代表將 xi與 xj向高維空間投影后再進行內(nèi)積運算。由此得到回歸函數(shù)為:
式(10)表明,只有 αi-α′i≠0 所對應(yīng)的樣本對回歸起到了實質(zhì)性作用,這些樣本因此被稱為支持向量(SV)。常用的核函數(shù)如下。
a.多項式核函數(shù):
b.徑向基(RBF)核函數(shù):
c.sigmoid核函數(shù):
其中,d、g、c均為核算函數(shù)參數(shù)。
由SVM原理可知,非負懲罰因子C和核函數(shù)參數(shù)g對模型的效果起著重要的作用。網(wǎng)格搜索法的優(yōu)點是可以保證所得的搜索解是劃定網(wǎng)格中的全局最優(yōu)解,避免重大誤差。一般而言,為便于計算和成果顯示,網(wǎng)格的劃分多采用等距劃分法,但是在SVM模型中,根據(jù)經(jīng)驗,C和g一方面取值范圍較廣,另一方面最優(yōu)值落入[0,1]區(qū)間的概率又較大。若網(wǎng)格步長太小,會導(dǎo)致計算量過大;若步長過大,則容易遺漏最優(yōu)值。為此,本文引入指數(shù)函數(shù)對網(wǎng)格進行劃分。
另一方面,由于對參數(shù)組合的性能評價受到訓(xùn)練數(shù)據(jù)的影響,對于同一組(C,g),當(dāng)訓(xùn)練數(shù)據(jù)發(fā)生變化時,擬合性能往往隨之改變,尤其對于小樣本訓(xùn)練,參數(shù)優(yōu)選受到樣本隨機性的影響較大,不利于模型的泛化和推廣。鑒于此,本文在網(wǎng)格搜索中應(yīng)用K-fold交叉驗證法對每組(C,g)的性能進行綜合評價?;诰W(wǎng)格搜索和K-fold交叉驗證的參數(shù)優(yōu)化步驟如下。
a.建立網(wǎng)格坐標(biāo)。令 a=[-5,5]、b=[-5,5],步長均為 1,取模型參數(shù)的網(wǎng)格點為 C=ea、g=eb,根據(jù)指數(shù)函數(shù)性質(zhì),C和g的取值可以保證非負,且參數(shù)取值越小網(wǎng)格越密集,參數(shù)越大取值越稀疏,符合(C,g)的最優(yōu)取值分布。網(wǎng)格點分布如圖1所示。
b.將訓(xùn)練數(shù)據(jù)等分為K個子集,K一般取值為4~10,以確保訓(xùn)練樣本容量遠大于測試樣本容量。
c.對于網(wǎng)格中每一組(C,g),以任意一個子集作為測試集,其余K-1個子集作為訓(xùn)練集,訓(xùn)練模型后對測試集進行預(yù)測,統(tǒng)計測試結(jié)果的均方誤差:
圖1 基于自然指數(shù)函數(shù)的參數(shù)網(wǎng)格劃分Fig.1 Parameter grid division based on natural exponential function
d.將測試集更換為另一子集,再取剩余K-1個子集作為訓(xùn)練集,再次統(tǒng)計均方誤差,直至對K個子集都進行一次預(yù)測后,取K組均方誤差的平均值δMSE作為該組(C,g)的預(yù)測誤差。
e.更換參數(shù)組合(C,g),重復(fù)步驟 b—d,順序算出網(wǎng)格中各參數(shù)組合下訓(xùn)練模型的δMSE并逐一比較,平均誤差最小的參數(shù)組合即為網(wǎng)格區(qū)間內(nèi)的最佳參數(shù)組合。
將交叉驗證與網(wǎng)格搜索相結(jié)合,以參數(shù)平均誤差最小化為參數(shù)優(yōu)選的目標(biāo),提高了參數(shù)優(yōu)選的效率和準(zhǔn)確性,同時極大規(guī)避了訓(xùn)練樣本的抽樣隨機性對模型性能的影響。在結(jié)果展示方面,將(C,g)網(wǎng)格轉(zhuǎn)換為對數(shù)坐標(biāo),即對應(yīng)(lg C,lg g),則可呈現(xiàn)等間距的網(wǎng)格搜索結(jié)果。
基于SVM的梯級水電系統(tǒng)的運行仿真具有一定的特殊性。在大多數(shù)預(yù)測案例應(yīng)用中,各預(yù)測值之間是相互獨立的,例如徑流預(yù)報、金融指數(shù)預(yù)測以及醫(yī)學(xué)案例預(yù)測等,因此預(yù)測部分與仿真部分也是互相獨立的。而對于梯級水電運行而言,一個時段的預(yù)測下泄流量(因變量)不但影響該電站下一時段的狀態(tài)(自變量),并且影響同時段下游電站的狀態(tài)(自變量)。因此在梯級水電系統(tǒng)運行仿真中,需要在每一時段基于當(dāng)前的實際水庫電站狀態(tài)對調(diào)度決策進行預(yù)測,再根據(jù)調(diào)度決策進行水電站狀態(tài)轉(zhuǎn)移,實現(xiàn)滾動模擬。
梯級水電系統(tǒng)調(diào)度運行具有約束條件眾多、電站間水力聯(lián)系密切、狀態(tài)變量相互影響的特點。VC_語言功能全面、邏輯預(yù)算效率高,適合復(fù)雜系統(tǒng)設(shè)計,是水庫群調(diào)度仿真的經(jīng)典平臺。SVM模型的特點是計算重復(fù)性較大,輸入輸出頻繁,且主要以數(shù)據(jù)運算為主。MATLAB語言具有良好的矩陣運算及數(shù)據(jù)處理能力,輸出形式直觀多樣化,因此適合SVM模型訓(xùn)練及參數(shù)優(yōu)化。為充分發(fā)揮2種語言的優(yōu)勢,本文基于混合編程技術(shù)將VC_與MATLAB模塊進行整合,以實現(xiàn)水庫水電站群仿真運行,仿真設(shè)計框架如圖2所示。
圖2 VC_與MATLAB混合編程仿真平臺框架Fig.2 Simulation framework of hybrid VC_and MATLAB programming
VC_與MATLAB混合編程的實現(xiàn)方法是將MATLAB中SVM模型訓(xùn)練及預(yù)測模塊(.m文件)編譯為能夠被VC_調(diào)用的動態(tài)庫(.dll文件),再將動態(tài)庫按照一定格式添加到VC_工程中,最后配置VC_和MATLAB中對應(yīng)的數(shù)據(jù)接口,以實現(xiàn)變量傳輸。文獻[16]對混合編程的實現(xiàn)步驟進行了詳細說明。
采用VC_與MATLAB混合編程的仿真平臺,能夠充分發(fā)揮不同語言的優(yōu)勢,將基于SVM的調(diào)度規(guī)則制定部分和基于物理背景的仿真部分區(qū)分開來,使模型的結(jié)構(gòu)更加清晰。另一方面,當(dāng)需要調(diào)整調(diào)度規(guī)則制定方法時,只需對MATLAB模塊進行修改;而當(dāng)需要修改水電站調(diào)度物理背景時,只需改動VC_部分,體現(xiàn)了良好的兼容性和可擴展性。
某梯級水電系統(tǒng)由12座水電站組成,其中月調(diào)節(jié)性能以上電站4座,自上而下分別為第1級(年調(diào)節(jié))、第9級(季調(diào)節(jié))、第10級(季調(diào)節(jié))和第11級(季調(diào)節(jié))。其余電站為徑流式電站,按照設(shè)計水位指導(dǎo)運行。系統(tǒng)調(diào)度期長度為48 a,調(diào)度時段為月。
首先采用POA對調(diào)度期進行確定性優(yōu)化調(diào)度,并取前36 a的確定性優(yōu)化調(diào)度成果作為訓(xùn)練樣本,運用SVM理論制定4座電站的月度調(diào)度規(guī)則,并采用網(wǎng)格參數(shù)優(yōu)化及4-fold交叉驗證對SVM性能進行優(yōu)化。限于篇幅,以電站1的6月份為例,網(wǎng)格參數(shù)優(yōu)化過程如圖3所示,最優(yōu)參數(shù)組合對應(yīng)的擬合均方誤差為 0.058。
對4座電站的各月參數(shù)優(yōu)化結(jié)果進行統(tǒng)計,如圖4所示。從圖中參數(shù)取值分布可見,落入(0,1]區(qū)間的最優(yōu)參數(shù)為19個,占優(yōu)化參數(shù)總數(shù)的50%,同時參數(shù)在[e-5,e5]區(qū)間內(nèi)分布較廣,參數(shù)優(yōu)化結(jié)果驗證了基于指數(shù)函數(shù)網(wǎng)格搜索設(shè)計的合理性。
圖3 網(wǎng)格參數(shù)優(yōu)化過程(以電站1的6月為例)Fig.3 Process of grid parameter optimization(June,power station No.1)
圖4 最優(yōu)參數(shù)分布圖Fig.4 Distribution of optimal parameters
基于VC_和MATLAB混合編程平臺,結(jié)合調(diào)度規(guī)則與水庫水電站運行約束(式(2)—(5)),對調(diào)度期后12 a梯級水電系統(tǒng)運行進行仿真,并將仿真結(jié)果與同期確定性優(yōu)化調(diào)度結(jié)果進行對比分析。為進一步檢驗參數(shù)優(yōu)化的效果,另取默認參數(shù)C=1,g=1,即認為模型中C和g參數(shù)均不起調(diào)節(jié)作用,以此SVM模型制定調(diào)度規(guī)則,并采用同樣方法中對梯級運行進行仿真,作為結(jié)果評價的對照組方案。
a.年均發(fā)電量分析。經(jīng)統(tǒng)計,確定性優(yōu)化調(diào)度、參數(shù)優(yōu)化SVM仿真和默認參數(shù)SVM仿真3種方案下的梯級系統(tǒng)年平均發(fā)電量分別為295.73 TW·h、288.75 TW·h 和 280.89 TW·h?;趨?shù)優(yōu)化的 SVM仿真較確定性優(yōu)化調(diào)度年均發(fā)電量減小2.3%,高出無參數(shù)優(yōu)化仿真結(jié)果2.8%,說明基于SVM的隱隨機調(diào)度在發(fā)電總量方面與確定性優(yōu)化調(diào)度整體差距較小,而參數(shù)優(yōu)化使年發(fā)電量效益得到了一定程度的提高。
b.水庫運行過程分析。將4座月調(diào)節(jié)以上電站在上述3種方案下的水庫運行過程進行對比,如圖5—8所示。
采用標(biāo)準(zhǔn)均方根誤 NRMSD(Normalized Root Mean Square Deviation)對圖5—8中2組仿真水位過程與確定性優(yōu)化調(diào)度水位過程分別進行差異度分析:
圖5 水庫1運行過程對比Fig.5 Comparison of operation process of reservoir No.1
圖6 水庫9運行過程對比Fig.6 Comparison of operation process of reservoir No.9
圖7 水庫10運行過程對比Fig.7 Comparison of operation process of reservoir No.10
圖8 水庫11運行過程對比Fig.8 Comparison of operation process of reservoir No.11
其中,δRMSD為均方根誤差;ymax和ymin分別為確定性優(yōu)化運行水位最大、最小值;yi和分別為優(yōu)化和仿真水位。
由表1可見,基于參數(shù)優(yōu)化的仿真δNRMSD整體小于基于默認參數(shù)的仿真方案,尤其對于具有年調(diào)節(jié)性能的水庫1。這說明基于參數(shù)優(yōu)化的仿真過程更為接近確定優(yōu)化調(diào)度過程,在實際運行中具有更高的可控性。
表1 不同仿真方案下各水庫標(biāo)準(zhǔn)均方根誤差Tab.1 NRMSD of reservoirs for different simulation scenarios
c.系統(tǒng)保證出力評價。圖9展示了梯級系統(tǒng)在3種方案下的出力過程。在確定性優(yōu)化調(diào)度中,系統(tǒng)保證出力(25.22 GW)僅在第6年發(fā)生了4個時段破壞,破壞深度為20%。在參數(shù)優(yōu)化仿真運行的過程中,梯級系統(tǒng)保證出力得到了較好的保障,破壞時段數(shù)為7,較確定性優(yōu)化調(diào)度增加了3個時段,歷時保證率為95%。其中第6年破壞深度與優(yōu)化調(diào)度相比較嚴重,這是由于第6年為特枯年份,在仿真運行中,調(diào)度規(guī)則未能利用徑流預(yù)報進行水庫預(yù)蓄等減小破壞手段,導(dǎo)致供水后期發(fā)生集中破壞,這一點在圖5—8中各水庫第6年相應(yīng)的仿真運行中也有所反映,水庫1在該年份汛期蓄水明顯不足。而在采用默認參數(shù)組合的仿真過程中,系統(tǒng)保證出力破壞時段數(shù)增加至18,歷時保證率為88%,且破壞深度明顯加大。
圖9 優(yōu)化和仿真運行梯級系統(tǒng)出力對比Fig.9 Comparison of system output between optimal and simulative operations
上述分析表明,基于參數(shù)優(yōu)化的SVM隱隨機優(yōu)化調(diào)度能夠較好地實現(xiàn)確定性優(yōu)化調(diào)度在發(fā)電量、發(fā)電過程等方面的成果,并且隨著評價標(biāo)準(zhǔn)的深入,參數(shù)優(yōu)化所帶來的仿真性能改進也逐步明顯,可以看出,參數(shù)優(yōu)化后的仿真出力過程更為可靠,電能質(zhì)量更高,更有利于電力系統(tǒng)的整體運行。
本文將SVM優(yōu)化理論應(yīng)用于梯級水電系統(tǒng)隱隨機優(yōu)化調(diào)度中,結(jié)合指數(shù)網(wǎng)格搜索和K-fold交叉驗證手段,降低了模型預(yù)測誤差,提高了模型的泛化能力。建立基于VC_和MATLAB混合編程的仿真平臺,實現(xiàn)了梯級水電系統(tǒng)的實際優(yōu)化運行,具有較好的可操作性和兼容性。對梯級水電系統(tǒng)進行隱隨機調(diào)度仿真,結(jié)果表明,基于SVM的隱隨即優(yōu)化調(diào)度運行基本能夠?qū)崿F(xiàn)確定性優(yōu)化調(diào)度的各方面效益,參數(shù)優(yōu)化機制顯著提高了實際調(diào)度效益,為提高水電站實際運行水平提供了有效的技術(shù)支撐。
該方法應(yīng)用于水庫水電站實際運行中可能存在的挑戰(zhàn)有以下2點。
a.梯級電站之間的調(diào)度決策信息共享問題。由于上級電站的下泄流量是下級電站入庫流量的一部分,而入庫流量是SVM模型輸入變量之一,因此下級電站在制定調(diào)度決策時須基于上級電站的決策信息,這對于隸屬不同發(fā)電主體的電站之間或有難度。
b.系統(tǒng)保證出力的協(xié)調(diào)問題。系統(tǒng)在枯期保證出力的維持需各電站(尤其是調(diào)節(jié)性電站)互相協(xié)調(diào),而當(dāng)電站間發(fā)電效益存在沖突,以及特枯年份面臨破壞時,不同電站及其與系統(tǒng)之間的協(xié)調(diào)機制需要進一步完善。此外,鑒于當(dāng)前中長期徑流預(yù)報水平的提高,今后可嘗試將預(yù)報徑流信息作為輸入變量納入隱隨機優(yōu)化模型,進一步提高水電站群中長期調(diào)度水平。