趙志鵬,劉 杰,程春田,廖勝利,靳曉雨
(大連理工大學(xué),遼寧 大連 116024)
我國(guó)正處于經(jīng)濟(jì)結(jié)構(gòu)改革的過(guò)渡期,加之清潔能源的大規(guī)模投產(chǎn),電力系統(tǒng)面臨巨大的調(diào)峰壓力,水電作為一種可調(diào)節(jié)的清潔能源需要承擔(dān)更大的調(diào)峰任務(wù)[1-4]。水調(diào)系統(tǒng)信息化程度的提高對(duì)水電短期調(diào)度精細(xì)化的要求越來(lái)越嚴(yán)格[5],尤其對(duì)于有靈敏水力聯(lián)系的梯級(jí)庫(kù)群,不僅水庫(kù)運(yùn)行狀況(如出力、振動(dòng)區(qū)、最大發(fā)電流量、水頭損失等)對(duì)水頭極為敏感,而且梯級(jí)之間還存在敏感的水力耦合,以往將一日內(nèi)水頭設(shè)為定值或采用平均水頭進(jìn)行日調(diào)度的粗放模式難以滿足精細(xì)化調(diào)度的要求,因此需要充分考慮日內(nèi)的水頭變化。其中回水頂托是存在于耦合梯級(jí)庫(kù)群間的一種復(fù)雜的水力聯(lián)系,正常情況下,水庫(kù)的尾水位和出庫(kù)流量存在一條穩(wěn)定的關(guān)系曲線,但當(dāng)梯級(jí)水庫(kù)上下游壩址較近時(shí),較高的下游庫(kù)水位產(chǎn)生回水,上游水庫(kù)的尾水位于回水區(qū)間內(nèi)時(shí),上述穩(wěn)定的水位流量關(guān)系曲線將被破壞,這就是所謂的回水頂托影響[6-8],回水頂托在我國(guó)西南水電庫(kù)群間普遍存在,如三峽-葛洲壩,溪洛渡-向家壩,天生橋一級(jí)-二級(jí)等?;厮斖械闹苯佑绊懯翘Ц呱嫌嗡畮?kù)尾水位,如果在日前調(diào)度計(jì)劃中未將其考慮在內(nèi),將導(dǎo)致上游水頭計(jì)算偏高與實(shí)際運(yùn)行工況不符,對(duì)于上下游電站有利益沖突的梯級(jí),甚至?xí)?dǎo)致計(jì)劃發(fā)電量與實(shí)際發(fā)電量存在沖突而產(chǎn)生經(jīng)濟(jì)糾紛[9]。因而,針對(duì)有靈敏水力聯(lián)系的梯級(jí)庫(kù)群,如何將下游回水頂托的影響考慮到模型中,并實(shí)現(xiàn)模型的高效求解,是當(dāng)前水庫(kù)精細(xì)化調(diào)度的重點(diǎn)及難點(diǎn)之一。
水電日前調(diào)峰優(yōu)化調(diào)度需要同時(shí)考慮電網(wǎng)、水庫(kù)及機(jī)組多重約束,本質(zhì)上屬于復(fù)雜的多維、動(dòng)態(tài)、非凸、非線性規(guī)劃、強(qiáng)耦合問(wèn)題[10]。將回水頂托影響考慮到模型之后,該問(wèn)題的耦合性、非凸、非線性等特征進(jìn)一步凸顯,極大地增加了求解難度。目前短期調(diào)峰模型的研究較多,通常采用余荷均方差最小或余荷最大值最小為目標(biāo)建立模型,由于目標(biāo)函數(shù)的特殊性多采用啟發(fā)式搜索方法[11-13],解的穩(wěn)定性難以保障,且大多研究簡(jiǎn)化水頭計(jì)算,將回水頂托對(duì)發(fā)電水頭的影響考慮在內(nèi)的研究少之又少。文獻(xiàn)[14]在解決三峽機(jī)組組合時(shí)考慮葛洲壩回水頂托影響,在葛洲壩水位已知的情況下擬合二維水位流量曲線并采用迭代法求解尾水位;文獻(xiàn)[15]雖然考慮了電站出力的水頭敏感性,但其尾水位的計(jì)算或采用定值或采用下游電站壩上水位;文獻(xiàn)[16]提出了回水頂托的三維關(guān)系曲線,根據(jù)下游壩上水位的范圍采用二進(jìn)制變量選取某個(gè)水位流量曲線,進(jìn)而將三維關(guān)系轉(zhuǎn)換成二維關(guān)系進(jìn)行求解,但其求解精度存在一定的偏差。目前調(diào)度機(jī)構(gòu)在進(jìn)行日前調(diào)峰計(jì)劃編制時(shí),大多將一日劃分成96 個(gè)時(shí)段進(jìn)行調(diào)節(jié)計(jì)算。而以上研究雖在一定程度上考慮了回水頂托對(duì)調(diào)度的影響,但由于調(diào)峰問(wèn)題及復(fù)雜水力耦合本身存在的復(fù)雜性或所采用算法本身的局限性,大多將一日簡(jiǎn)化為24 個(gè)時(shí)段進(jìn)行優(yōu)化計(jì)算,計(jì)算結(jié)果的實(shí)用性相對(duì)較差。
混合整數(shù)線性規(guī)劃(MILP)是水庫(kù)發(fā)電調(diào)度領(lǐng)域最為常用的數(shù)學(xué)規(guī)劃算法之一[17-19]。相較于傳統(tǒng)的啟發(fā)式算法,MILP 具有理論成熟,結(jié)果穩(wěn)定性及全局收斂性好,以及有大量先進(jìn)的開(kāi)源及商業(yè)求解器可以直接調(diào)用等特點(diǎn)。因此,本文建立考慮回水頂托影響的梯級(jí)庫(kù)群日前調(diào)度的96 點(diǎn)混合整數(shù)線性規(guī)劃(MILP)模型。模型以余荷平均距平絕對(duì)值最小為目標(biāo),通過(guò)函數(shù)聚合方式減少常規(guī)及有回水頂托水庫(kù)的非線性因素。聚合后,常規(guī)水庫(kù)和有回水頂托水庫(kù)的非線性因素分別轉(zhuǎn)化為三維曲面約束和四維超曲面約束,并引入SOS2(Special Order Set of type 2)約束建模方法對(duì)其進(jìn)行線性化處理。最后以西南流域某梯級(jí)為例進(jìn)行驗(yàn)證所提算法及模型的有效性。
2.1 目標(biāo)函數(shù)采用余荷平均距平絕對(duì)值最小為目標(biāo)函數(shù)以平緩負(fù)荷峰谷差:
式中: r 為電站自上游至下游編號(hào); R 為總電站數(shù); t 為時(shí)段編號(hào);T 為總時(shí)段數(shù),本文將一天劃分為96 個(gè)時(shí)段; Dt為時(shí)段t 系統(tǒng)面臨負(fù)荷; D′t為時(shí)段t余荷;為余荷平均值; pr,t為電站r 在時(shí)段t 出力,如無(wú)特殊說(shuō)明,下文r 均代表電站編號(hào),t 均代表時(shí)段編號(hào)。
目標(biāo)函數(shù)中包含絕對(duì)值符號(hào)難以直接利用MILP 求解,引入非負(fù)輔助變量δt后,目標(biāo)函數(shù)可等價(jià)轉(zhuǎn)化為:
2.2 約束條件
(1)梯級(jí)日總電量約束:
式中: Δt 為時(shí)段間隔; E 為梯級(jí)日總電量。
(2)水量平衡約束:
式中:vr,t為庫(kù)容;Ir,t為區(qū)間入庫(kù)流量;ur,t為出庫(kù)流量,包括發(fā)電流量qr,t及棄水流量
(3)出力曲線約束:
(4)水位庫(kù)容約束:
(5)尾水位曲線約束:
(6)凈水頭計(jì)算公式及水頭損失約束:
式中: Δhr,t為電站r 在時(shí)段t 的水頭損失; ar為水頭損失系數(shù)。
(7)電站出力約束及爬坡約束:
(9)棄水流量約束:
(10)出庫(kù)流量約束:
(11)庫(kù)容約束:
(12)日調(diào)節(jié)水庫(kù)末庫(kù)容約束:
3.1 多約束曲線聚合模型中存在諸多非線性因素,難于直接利用MILP 進(jìn)行求解,分段線性化是MILP 求解非線性約束時(shí)常用的處理方法。模型中非線性約束包括式(10)—(12)和式(14)等。以往研究大多對(duì)這些約束直接進(jìn)行線性化,每個(gè)約束的線性化過(guò)程均會(huì)引入大量0-1 整數(shù)變量,從而極大影響求解效率,甚至無(wú)法求解。為了避免引入過(guò)多的0-1 整數(shù)變量,分別針對(duì)常規(guī)無(wú)回水頂托水庫(kù)和有回水頂托水庫(kù)提出如下約束聚合策略:
3.1.1 無(wú)回水頂推水庫(kù)約束聚合 對(duì)于常規(guī)無(wú)回水頂托水庫(kù),將式(10)—(14)進(jìn)行聚合可得:
實(shí)際調(diào)度中要避免發(fā)生棄水,因而本文設(shè)定棄水流量為0,則ur,t=qr,t,對(duì)式(22)中相應(yīng)部分進(jìn)行替換可得:
3.1.2 有回水頂推水庫(kù)約束聚合 對(duì)于有回水頂托水庫(kù),將式(10)—(14)進(jìn)行聚合可得:
式中,φ′i( )將( vr,t,qr,t,vr+1,t,pr,t)約束在四維空間的超曲面上,并包含了有回水頂托水庫(kù)模型中所有的非線性項(xiàng),本文稱之有回水頂托水庫(kù)的等效動(dòng)力函數(shù),簡(jiǎn)稱頂托動(dòng)力函數(shù)。本文利用約束式(26)對(duì)有回水頂托水庫(kù)模型約束式(10)—(14)進(jìn)行等效替換。
3.2 等效動(dòng)力函數(shù)線性化常規(guī)動(dòng)力函數(shù)為三維曲面函數(shù),此類函數(shù)的線性化方法以往已有大量文獻(xiàn)進(jìn)行研究[20]。對(duì)于頂托動(dòng)力函數(shù),本質(zhì)為四維超曲面函數(shù),極大的增加了建模難度。本文引入SOS2 約束建模方法統(tǒng)一對(duì)這兩種動(dòng)力函數(shù)進(jìn)行線性化。為簡(jiǎn)化表達(dá),首先定義NI為不大于I的正整數(shù)集合,?0I為不大于I的非負(fù)整數(shù)集合,
3.2.1 SOS2 約束 SOS2 是一種特殊的非負(fù)實(shí)數(shù)集合,該集合只允許出現(xiàn)至多兩個(gè)非零實(shí)數(shù),且這兩個(gè)非負(fù)實(shí)數(shù)必須是在順序上是相鄰的。定義有序?qū)崝?shù)集合對(duì)ηS施加SOS2 約束(表示為SOS2(ηS)),ηS即成為集合。當(dāng)S >1 時(shí),SOS2(ηS)可以如下方式建模:
式中: bs為指示變量,如果bs=1,則表示除ηs-1≥0 ,ηs≥0 外,ηS中其他元素必須為零。如果S=1,則SOS2(ηS)退化為下式:
通過(guò)SOS2 約束建模方式,可以進(jìn)一步構(gòu)建常規(guī)及頂托動(dòng)力函數(shù)的線性化方法。
3.2.2 常規(guī)等效動(dòng)力函數(shù)線性化 常規(guī)等效動(dòng)力函數(shù)是一個(gè)典型的非凸三維曲面,常用的線性化方法主要包括兩類:一類是將曲面在其中一個(gè)維度上劃分成若干區(qū)間,然后在相應(yīng)區(qū)間上用一個(gè)一維曲線近似表示,該方法建模比較直觀,引入的二進(jìn)制數(shù)量相對(duì)較少,但精度不足[18,21-22]。另一類是利用三角柵格化技術(shù)將曲面劃分成若干三角網(wǎng)格,利用三角網(wǎng)格頂點(diǎn)的凸組合近似表示相應(yīng)區(qū)域的曲面,該方法求解精度高,但是會(huì)引入大量0-1 整數(shù)變量,從而影響求解效率[14,23]。本文采用基于四邊形網(wǎng)格柵格化技術(shù)與SOS2 約束建模方法對(duì)常規(guī)等效動(dòng)力函數(shù)進(jìn)行線性化處理。
圖1 常規(guī)動(dòng)力函數(shù)圖像在庫(kù)容-發(fā)電流量平面投影
圖1為常規(guī)動(dòng)力函數(shù)圖像在庫(kù)容-發(fā)電流量平面的投影示意圖。為便于表達(dá),變量、函數(shù)及常量均省略電站編號(hào)r 及時(shí)段編號(hào)t 下標(biāo)(下同)。如圖所示,柵格化時(shí)設(shè)置為庫(kù)容及發(fā)電流量坐標(biāo)方向上柵格化的格點(diǎn)集合,且滿足其中I 和J 分別為庫(kù)容及發(fā)電流量方向柵格化區(qū)間數(shù)。圖中表示對(duì)應(yīng)格點(diǎn)的出力值。引入λi,j非負(fù)輔助變量為格點(diǎn)的權(quán)重系數(shù)。則具體構(gòu)建方法如下:
圖2 頂托動(dòng)力函數(shù)在庫(kù)容-發(fā)電流量-下游庫(kù)容三維空間投影
3.2.3 頂托等效動(dòng)力函數(shù)線性化 頂托動(dòng)力函數(shù)本質(zhì)是一個(gè)四維非凸超曲面函數(shù),這進(jìn)一步增加了建模難度。本文利用直六面體柵格化技術(shù)和SOS2 約束建模法對(duì)該函數(shù)進(jìn)行線性化處理。
圖2為頂托動(dòng)力函數(shù)四維曲面在庫(kù)容-發(fā)電流量-下游庫(kù)容三維空間的投影示意圖,其中v′為下游水庫(kù)庫(kù)容。與常規(guī)動(dòng)力函數(shù)類似,柵格化時(shí)除設(shè)置為庫(kù)容及發(fā)電流量坐標(biāo)方向上柵格化格點(diǎn)集合外,進(jìn)一步設(shè)置為下游庫(kù)容坐標(biāo)方向的柵格化格點(diǎn)集合,且滿足其中K 為下游庫(kù)容方向的柵格化間隔數(shù),分別為下游水庫(kù)庫(kù)容下限及上限值。引入λi,j,k非負(fù)輔助變量為格點(diǎn)的權(quán)重系數(shù)。具體構(gòu)建方法如下:
其中式(40)—(43)將( v ,q,v′,p )表示成四維點(diǎn)集的凸組合。αi,βj,γk為引入的表達(dá)式變量,分別表示圖2中所示的庫(kù)容方向法平面i ,發(fā)電流量方向法平面 j ,下游庫(kù)容方向法平面k 的上格點(diǎn)對(duì)應(yīng)權(quán)重之和。式(47)依次表示對(duì)庫(kù)容,發(fā)電流量,下游庫(kù)容方向上各法平面權(quán)重施加SOS2 約束。在SOS2 約束下,至多允許庫(kù)容方向相鄰兩個(gè)法平面,發(fā)電流量方向相鄰兩個(gè)法平面以及下游庫(kù)容方向相鄰兩個(gè)法平面上格點(diǎn)對(duì)應(yīng)權(quán)重非零。取交集后,最終僅允許相鄰8 個(gè)格點(diǎn)對(duì)應(yīng)權(quán)重非零。此時(shí)點(diǎn)( v,q,v′,p )被限制在這8 個(gè)格點(diǎn)最小凸包內(nèi)部。當(dāng)柵格化格點(diǎn)足夠多時(shí),點(diǎn)( v ,q,v′,p )將無(wú)限趨近于頂托等效動(dòng)力函數(shù)四維超曲面。
4.1 場(chǎng)景選擇與模型參數(shù)設(shè)置本文選擇西南某流域電站A、電站B 組成的梯級(jí)庫(kù)群為研究對(duì)象,電站A、B 是南方電網(wǎng)重要的調(diào)峰調(diào)頻電源,壩址距離僅為7 km,電站A 位于電站B 的回水區(qū)間內(nèi)。電站A 調(diào)節(jié)性能為不完全多年調(diào)節(jié),總裝機(jī)1200 MW;電站B 調(diào)節(jié)性能為日調(diào)節(jié),總裝機(jī)1320 MW。模型均采用Python3.6 語(yǔ)言進(jìn)行編寫(xiě),并調(diào)用Gurobi8.1 商業(yè)求解器MILP 分支定界算法進(jìn)行求解。程序運(yùn)行環(huán)境為Ubuntu16.4 虛擬機(jī),硬件配置為Intel(R)Xeon(R)CPU E7-4850 v3 @2.20GHz 96 logic cpu,32G RAM。所有模型設(shè)置最大計(jì)算時(shí)間為3600 s,gap 參數(shù)設(shè)置為0.01,gap計(jì)算公式見(jiàn)下式:
采用如下累積誤差公式衡量模型線性化精度:
本文所提模型命名為本文模型,設(shè)置常規(guī)模型為對(duì)照組,常規(guī)模型直接采用傳統(tǒng)方法進(jìn)行建模。傳統(tǒng)方法是指不經(jīng)過(guò)聚合,直接對(duì)2.2 節(jié)中非線性約束進(jìn)行分段線性化建模的方法[19,24]。其中單變量非線性約束采用文獻(xiàn)[24]中的方法進(jìn)行建模,雙變量非線性約束采用3.2.1 節(jié)中介紹的方法進(jìn)行建模。模型中非線性約束相應(yīng)自變量分段線性的分段數(shù)設(shè)置見(jiàn)表1。由于水庫(kù)A 調(diào)節(jié)性能為不完全年調(diào)節(jié),在一天內(nèi)的庫(kù)容變化較小,因此本文僅在其初始水位上下1 m 的庫(kù)容范圍內(nèi)進(jìn)行離散,分段數(shù)設(shè)為1。其余變量均在其最大與最小值之間進(jìn)行均勻分段。經(jīng)過(guò)聚合后,本文模型各水庫(kù)不再包含水位、凈水頭等變量,表格中相應(yīng)內(nèi)容用“-”表示。
表1 各變量分段數(shù)目
為體現(xiàn)算法通用性,選取該梯級(jí)歷史2月、3月、7月、8月典型日實(shí)際數(shù)據(jù)進(jìn)行一天96 點(diǎn)模擬計(jì)算,其中2、3月為枯期代表,7、8月為汛期代表。電站B 為日調(diào)節(jié)電站,末水位等于始水位,實(shí)現(xiàn)日內(nèi)周期調(diào)節(jié),各月份方案參數(shù)見(jiàn)表2。
4.2 結(jié)果分析對(duì)4 種典型日?qǐng)鼍跋戮捎帽疚哪P秃统R?guī)模型進(jìn)行建模計(jì)算,表3為本文模型及常規(guī)模型中連續(xù)變量,約束及離散變量總個(gè)數(shù)。從表3可以看出,通過(guò)聚合方式,本文模型的變量和約束數(shù)量均顯著小于常規(guī)模型,這為本文模型的高效求解提供了基本保障。
表2 各方案參數(shù)設(shè)置
表3 本文模型和常規(guī)模型中約束及變量總個(gè)數(shù)
4.2.1 調(diào)峰效果分析 圖3給出了本文模型在4 種場(chǎng)景的削峰結(jié)果圖,均達(dá)到不同程度調(diào)峰效果。進(jìn)一步分析結(jié)果指標(biāo),如表4所示,由計(jì)算結(jié)果可知,本文模型在滿足電量約束且不發(fā)生棄水的條件下均能找到可行解??萜谔菁?jí)總電量要求較小,均達(dá)到較好的調(diào)峰效果,2月、3月峰谷差減小率達(dá)31.41%和35.05%,達(dá)到較好的調(diào)峰效果;而汛期在不發(fā)生棄水的環(huán)境下,調(diào)峰能力有限,7月、8月峰谷差減小率僅為17.00%和1.00%。因而,在梯級(jí)日總電量較大的情況下,不棄水與調(diào)峰存在矛盾,而本文模型均能在不棄水條件下找到可行解。
表4 典型日?qǐng)鼍罢{(diào)峰結(jié)果
圖3 本文模型各月份調(diào)峰效果
4.2.2 回水頂托效果分析 選取3月的計(jì)算結(jié)果對(duì)回水頂托影響進(jìn)行分析。圖4(a)以出庫(kù)流量為參照,考慮回水頂托和不考慮回水頂托尾水位對(duì)比圖,圖4(b)以下游壩上水位為參照,考慮回水頂推和不考慮回水頂推尾水位對(duì)比圖??紤]回水頂托的結(jié)果由本文模型進(jìn)行計(jì)算,不考慮回水頂托的結(jié)果是根據(jù)本文模型計(jì)算結(jié)果的下泄流量過(guò)程進(jìn)行反推計(jì)算出的結(jié)果。從圖4可以看出,不考慮頂托的尾水位趨勢(shì)與出庫(kù)流量一致,不受下游壩上水位影響??紤]頂托之后,尾水位同時(shí)受下泄流量及下游壩上水位影響,整體趨勢(shì)與下游壩上水位趨勢(shì)一致,因而電站A 的尾水位受下游電站壩上水位影響極大,在日常調(diào)度模型構(gòu)建中不可忽略。表5給出了詳細(xì)的指標(biāo)計(jì)算結(jié)果,可以看出,不考慮頂托與考慮頂托,水庫(kù)A 的水頭差距達(dá)4.67 m,累計(jì)多發(fā)電量433.14 MW·h,累計(jì)誤差達(dá)2.84%,實(shí)際操作若不考慮回水頂托,必然造成計(jì)劃與實(shí)際工況不符,不能按預(yù)期完成調(diào)度任務(wù)。
圖4 考慮回水頂托與不考慮回水頂托尾水位對(duì)比
表5 水庫(kù)A 考慮頂托與不考慮回水頂托計(jì)算差異對(duì)比
4.2.3 計(jì)算效率與精度分析 表6列出了本文模型,常規(guī)模型在4 種典型日?qǐng)鼍爸杏?jì)算結(jié)果。設(shè)置最長(zhǎng)計(jì)算時(shí)間為3600 s,表中g(shù)ap 為“-”時(shí),表示沒(méi)有在設(shè)定時(shí)間內(nèi)算出可行解。從兩個(gè)模型的求解時(shí)間可以看出,本文模型在各個(gè)月份情形下均能夠算出有較高精度的可行解,且大部分月份(2、3、7月份)可以在較短時(shí)間內(nèi)算出滿足gap 要求的最優(yōu)解;常規(guī)模型僅2月份在3006 s 算出滿足gap 的可行解,3月份在設(shè)定時(shí)間內(nèi)甚至沒(méi)有得到可行解,由此可見(jiàn),本文模型的計(jì)算效率要顯著優(yōu)于常規(guī)模型。對(duì)比目標(biāo)值可以看出,本文模型在大部分月份求解的目標(biāo)值要優(yōu)于傳統(tǒng)模型。對(duì)比累積誤差可以看出,各場(chǎng)景下常規(guī)模型的累積誤差均大于本文模型的累積誤差。因此,本文所建模型無(wú)論在精度還是計(jì)算時(shí)間及算法穩(wěn)定性上都優(yōu)于常規(guī)線性化模型,對(duì)MILP 在實(shí)際工程中的應(yīng)用具有重要意義。在實(shí)際應(yīng)用時(shí),對(duì)于求解時(shí)間敏感的應(yīng)用場(chǎng)景,可以通過(guò)適當(dāng)減少最長(zhǎng)運(yùn)行時(shí)間限制或者提高gap 值的方式進(jìn)一步降低總體運(yùn)行時(shí)間。
表6 典型日?qǐng)鼍坝?jì)算結(jié)果
為處理梯級(jí)庫(kù)群間存在的強(qiáng)耦合水力聯(lián)系,采用考慮下游壩上水位的尾水位計(jì)算公式將回水頂托影響考慮到模型當(dāng)中,把梯級(jí)庫(kù)群調(diào)度中多個(gè)非線性約束聚合成單個(gè)等效動(dòng)力特性曲線,借助SOS2 約束對(duì)模型進(jìn)行線性化,與傳統(tǒng)線性化方法相比,顯著減少了模型中的連續(xù)變量及離散變量數(shù)目,提高了模型的求解效率及精度。以西南某存在回水頂托的梯級(jí)庫(kù)群為例對(duì)所提模型及算法進(jìn)行驗(yàn)證,無(wú)論在求解精度還是求解效率上都優(yōu)于常規(guī)MILP 模型,對(duì)比考慮與不考慮回水頂托模型計(jì)算結(jié)果,不考慮回水頂托影響所制定的計(jì)劃造成較大累積誤差,因此,針對(duì)存在回水頂托的梯級(jí)庫(kù)群制定調(diào)峰日計(jì)劃時(shí)必須將其考慮在內(nèi)。