哈爾濱網(wǎng)站制作公司價(jià)格廣東seo推廣公司
參考文獻(xiàn):
[1]羅彬,陳永燦,劉昭偉等.梯級水光互補(bǔ)系統(tǒng)最大化可消納電量期望短期優(yōu)化調(diào)度模型[J].電力系統(tǒng)自動(dòng)化,2023,47(10):66-75.
1.基本原理
1.1 目標(biāo)函數(shù)
????????考慮光伏出力的不確定性,以梯級水光互補(bǔ)系統(tǒng)的可消納電量期望最大為目標(biāo),函數(shù)可表示為:
1.2約束條件
1.2.1 電站約束
1)水量平衡約束
2)水庫水位約束
?3)初始水位和末水位控制
4)出庫流量約束
5)電站出力約束
6)水位-庫容關(guān)系
7)尾水位-泄流量關(guān)系
1.2.2 機(jī)組約束
1)機(jī)組出力約束
2)機(jī)組發(fā)電流量約束
3)機(jī)組振動(dòng)區(qū)約束
4)機(jī)組開、停機(jī)持續(xù)時(shí)間約束
?
機(jī)組在調(diào)度期內(nèi)的最大開機(jī)次數(shù),以避免頻繁開停機(jī)。
5)機(jī)組出力爬坡約束
6)機(jī)組出力波動(dòng)限制約束
7)機(jī)組發(fā)電水頭約束
8)水頭損失函數(shù)
9)機(jī)組動(dòng)力特性關(guān)系
1.2.3 電網(wǎng)約束
1)梯級水電出力范圍約束
2)分區(qū)斷面約束
從目標(biāo)函數(shù)和分區(qū)斷面約束可以看出,棄電量中未設(shè)置棄水、棄光的優(yōu)先級,模型目標(biāo)會使得梯級水電在允許出力范圍內(nèi)優(yōu)先蓄水減發(fā),以提升受阻斷面內(nèi)光伏消納量,從而提升互補(bǔ)系統(tǒng)整體可消納水平,但為保障電網(wǎng)供電支撐無法繼續(xù)減發(fā)時(shí),受到分區(qū)斷面限制而造成棄光也不可避免。
2.模型求解
2.1 模型轉(zhuǎn)換
????????MILP模型構(gòu)建的關(guān)鍵在于模型的線性化轉(zhuǎn)換 ,所提模型非線性約束包括式(10)、式(11)、式(16)、式(19)、式(21)和式(22)。其中,水位-庫容、尾水位-泄流量以及水頭損失函數(shù)可采用分段線性的方式進(jìn)行處理[22]。 機(jī)組的動(dòng)力特性參考文獻(xiàn)[26],采用三角形權(quán)值技術(shù)進(jìn)行處理。特殊地,對于季調(diào)節(jié)及以上電站,日內(nèi)始末水位變化幅度較小,可在初始水位附近采用線性函數(shù)表示水位庫容關(guān)系。
????????1)機(jī)組振動(dòng)區(qū)約束線性化
????????大型機(jī)組可能存在多個(gè)振動(dòng)區(qū),將出力在最大最小出力范圍內(nèi)劃分為多個(gè)非連續(xù)的安全運(yùn)行區(qū)間。借鑒文獻(xiàn)[21],文中假設(shè)機(jī)組振動(dòng)區(qū)不隨機(jī)組水頭變化而改變,即固定的振動(dòng)區(qū),假設(shè)機(jī)組有 K 個(gè)振動(dòng)區(qū),則有 K + 1 個(gè)安全運(yùn)行區(qū)間,即
????????2)水電機(jī)組出力波動(dòng)限制約束線性化
????????水電機(jī)組出力的頻繁波動(dòng)表現(xiàn)為相鄰時(shí)段出力的向上或向下調(diào)節(jié)。區(qū)別于已有文獻(xiàn)中采用的關(guān)聯(lián)搜索[27] 和負(fù)荷重構(gòu)[28] 等方法,文中創(chuàng)新性地通過引入調(diào)節(jié)指標(biāo)變量進(jìn)行處理,可有效提高求解效率。
?
????????因此 ,式(19)的非線性約束可用式(29)—式(31)替代。如圖1所示機(jī)組狀態(tài)變化示意圖,當(dāng)機(jī)組穩(wěn)定出力時(shí)間達(dá)到 te 后,機(jī)組具有上調(diào)、下調(diào)和平穩(wěn)出力 3 種有效狀態(tài),假設(shè)此時(shí)為 t0 時(shí)刻,若 t1 時(shí)刻上調(diào)或下調(diào)出力,調(diào)整之后則僅有平穩(wěn)出力狀態(tài)有效,上調(diào)和下調(diào)的狀態(tài)暫時(shí)無效,直到穩(wěn)定出力時(shí)間再次達(dá)到 te 后,機(jī)組上調(diào)和下調(diào)的狀態(tài)重新有效,如此逐時(shí)段約束保證機(jī)組出力的穩(wěn)定性。?
?
2.2 光伏出力場景構(gòu)建
????????受天氣變化、預(yù)測方法等因素影響,光伏預(yù)測出力與實(shí)際出力之間的偏差客觀存在。文中以歷史偏差數(shù)據(jù)為樣本,采用模糊聚類分析,構(gòu)建光伏出力場景,具體方法流程如下。
????????1)出力偏差處理
????????2)模糊聚類分析
????????以光伏場站歷史日內(nèi)96 點(diǎn)預(yù)測出力與實(shí)際出力偏差曲線為樣本,進(jìn)行模糊聚類分析,并采用聚類綜合質(zhì)量確定最佳聚類數(shù),最后以各類別的模糊聚類中心構(gòu)建預(yù)測出力偏差場景,具體公式和詳細(xì)步驟可參考文獻(xiàn)[29]。
????????3)光伏出力場景
2.3 求解流程
????????本文所述的互補(bǔ)系統(tǒng)最大化可消納電量期望模型的求解步驟如下:
????????步驟 1:讀取基礎(chǔ)數(shù)據(jù)并設(shè)置計(jì)算條件。包括區(qū)間流量、梯級發(fā)電計(jì)劃、光伏預(yù)測出力、光伏歷史預(yù)測與實(shí)際出力、分區(qū)斷面約束、爬坡能力等。
????????步驟 2:模型轉(zhuǎn)換處理。采用 2.1 節(jié)所述模型轉(zhuǎn)換方法,對非線性約束進(jìn)行線性化處理。
????????步驟 3:光伏出力場景構(gòu)建。根據(jù)計(jì)劃日光伏預(yù)測出力以及 2.2 節(jié)所述方法構(gòu)建光伏出力場景。
????????步驟 4:模型求解。將目標(biāo)函數(shù)與轉(zhuǎn)化后的約束結(jié)合構(gòu)成的 MILP 模型,在 Java 環(huán)境中,編碼調(diào)用CPLEX 求解類,實(shí)現(xiàn)模型求解,附錄 á 給出了編碼和求解示例。
????????步驟 5:結(jié)果輸出。輸出互補(bǔ)系統(tǒng)整體可消納電量期望值,不同組合場景下的電站出力、機(jī)組出力、機(jī)組開停機(jī)、出庫流量、水庫水位等結(jié)果信息。
3.編程思路分析
3.1參數(shù)和變量定義
表1 相關(guān)參數(shù)
?
?表2 決策變量
?
3.2編程思路
????????根據(jù)對文獻(xiàn)內(nèi)容的解讀,可以設(shè)計(jì)下面的編程思路:
????????步驟1:輸入所需數(shù)據(jù)
算例分析用到的部分?jǐn)?shù)據(jù)可以從原文中找到,大部分?jǐn)?shù)據(jù)文獻(xiàn)中都沒有給出,只能參考其他文獻(xiàn)進(jìn)行設(shè)置。然后將所有需要的數(shù)據(jù),按照表1的定義格式輸入即可。包括區(qū)間流量、梯級發(fā)電計(jì)劃、光伏預(yù)測出力、光伏歷史預(yù)測與實(shí)際出力、分區(qū)斷面約束、爬坡能力等。
????????步驟2:光伏出力的場景生成與削減
????????這部分就是根據(jù)計(jì)劃日光伏預(yù)測出力以及原文中2.2節(jié)所述方法構(gòu)建光伏的出力場景。原文中只是簡單提到采用了參考文獻(xiàn)[29]中所用方法進(jìn)行場景生成與削減,并未詳細(xì)介紹,此類方法比較簡單,網(wǎng)上也能找到很多示例。另外,本來這個(gè)模型就是涉及非常多0-1變量,問題規(guī)模比較大,如果再加上多個(gè)場景,變量的數(shù)目將呈倍數(shù)增加,所以在復(fù)現(xiàn)的代碼中,我就沒有寫場景生成與縮減的程序,直接給出了數(shù)據(jù),選取典型的光伏出力場景作為算例。如果有需要的話可以自己修改數(shù)據(jù),或者加入場景生成與削減的代碼。
????????步驟3:定義決策變量
????????這一步比較簡單,按照表2,初始化決策變量即可,同時(shí)每個(gè)決策變量的維度以及類型(sdpvar還是binvar)不要出錯(cuò)。另外,代碼中變量定義的方式和文獻(xiàn)中稍微有點(diǎn)不一樣,這里不再詳細(xì)介紹,具體可以去代碼中查看。
????????步驟4:寫目標(biāo)函數(shù)和約束條件
????????寫目標(biāo)函數(shù)比較簡單,按照給定的數(shù)據(jù)和定義的變量,寫出目標(biāo)函數(shù)即可。約束條件的處理比較復(fù)雜,文中只給出了約束條件16和19的線性化方法,其他幾個(gè)非線性約束都是一筆帶過,只說了用到某某文獻(xiàn)中的方法。方便起見,我在這里把所有非線性約束都寫出來,并介紹處理方法:
????????1)式10
????????原文中只給出了水位和庫容的關(guān)系示意,一般情況下水位可以表示為庫容的三次多項(xiàng)式,具體如下:
????????四個(gè)不同的水電站水位-庫容關(guān)系可以分別表示為:
y1=0.0006x^3-0.0811x^2+4.769x+1031,?10<=x<=45
y1=0.0269x^3-0.8958x^2+14.77x+891.8,?3.6<=x<=8.8
y1=0.01307x^3-0.699x^2+10.41x+803.5,?10<=x<=25
y1=0.005465x^3-0.1435x^2+3.495x+700.2,?5<=x<=22
????????針對上述非線性函數(shù)關(guān)系,可采用分段線性化的方法將其轉(zhuǎn)為線性約束,如圖所示:
2)式11
????????尾水位是泄流量的非線性函數(shù),通常表示為泄流量的2次多項(xiàng)式:
????????四個(gè)不同的水電站尾水位-泄流量關(guān)系可以分別表示為:
y2=7.619e-07q^2-0.000672q+976.1
y2=7.081e-08q^2-9.372e-05q+839.1
y2=7.086e-08q^2+0.00032345q+752.6
y2=1.327e-07q^2-0.0005827q+655.9
????????針對上述非線性函數(shù)關(guān)系,可采用分段線性化的方法將其轉(zhuǎn)為線性約束,和約束10處理方法一致。
????????3)式16、19
????????原文中有詳細(xì)解釋,此處不再贅述。
????????4)式21
????????約束21是一個(gè)二次約束,也可以通過分段線性化的方式轉(zhuǎn)為線性約束。不再贅述。
????????5)式22
????????水電站的非線性出力曲線,可以表示如下:
?
為了說明采用三角權(quán)值法是如何對這個(gè)表達(dá)式進(jìn)行線性化的,首先把表達(dá)式簡化如下:
????????假設(shè)將Q的取值范圍分為n1-1個(gè)區(qū)間,區(qū)間的端點(diǎn)值分別為Q1,Q2,...,Qn1,將H的取值范圍分為n2-1個(gè)區(qū)間,區(qū)間的端點(diǎn)值分別為H1,H2,...,Hn2。那么對于任意的Q和H,都可以表示為區(qū)間端點(diǎn)值的線性組合,例如Q的取值在Q1和Q2之間,就可以用Q1和Q2表示Q,H的取值范圍在H3和H4之間,就可以用H3和H4表示H。
????????我們令pij=Hi×Qj,那么表達(dá)式也可以表示為:
????????下面舉個(gè)例子,假設(shè)H取值范圍是[10,25],分為3個(gè)區(qū)間,區(qū)間端點(diǎn)分別為H1=10, H2=15, H3=20, H4=25,H取值范圍是[80,100],分為4個(gè)區(qū)間,區(qū)間端點(diǎn)分別為H1=80, H2=85,H3=90, H4=95, H5=100。假設(shè)H是13,Q是86,就可以寫成H=0.6H1+0.4H2,Q=0.8Q2+0.2Q3,QH就可以寫成(0.6H1+0.4H2)(0.8Q2+0.2Q3)。也就是λ21=0.6×0.8,λ31=0.6×0.2,λ22=0.4×0.8,λ32=0.4×0.2。因此,可以將機(jī)組的輸出功率表示為變量λij和已知量pij的表達(dá)式,從非線性表達(dá)式轉(zhuǎn)為線性表達(dá)式。
步驟5:求解模型
????????原文中使用的是java和cplex求解,這份代碼使用的是matlab+yalmip+cplex求解。
步驟6:輸出結(jié)果
????????按原文中的格式輸出優(yōu)化結(jié)果,但由于文中提供的數(shù)據(jù)非常少,大部分?jǐn)?shù)據(jù)都是自己設(shè)定的,所以結(jié)果肯定不一樣,但原理都是一樣的。
4.Matlab代碼
????????完整的matlab代碼可以從這個(gè)鏈接獲取:
https://download.csdn.net/download/weixin_44209907/88130711
5.運(yùn)行結(jié)果分析
5.1光伏出力曲線
?

5.2運(yùn)行機(jī)組臺數(shù)
?
5.3梯級水電站群出力?
?
5.4水電機(jī)組出力?
?
?
5.5梯級水電站水位變化
?
5.6各個(gè)斷面出力
?
?