本發明涉及水庫運行調度及水利信息領域,尤其涉及一種梯級水庫群發電調度的動態規劃改進算法。
背景技術:
:水庫是人類開發利用水資源的重要工程手段,擔負著防洪、發電、航運、供水等多方面的功能與任務。水庫群優化調度一般是在滿足各種水庫庫容約束、發電出力約束、河道生態用水約束等條件下,使得相應的單個或多個目標最大化。水電是清潔能源,大力開發水電是實現可持續發展的重要措施。優化梯級水庫群聯合調度,使發電量最大,是國內外水庫調度研究的重點和難點問題。現有常用SLP算法、DP類算法求解計算體積水庫群聯合調度。SLP算法雖然易收斂至局部最優,但結果不如DP算法,不過運行時間要短。DP求解結果較SLP好,但存在維數災難問題、運行時間隨問題規模增加而幾何倍數增加且得到的解是離散意義上的最優,并非真正最優。技術實現要素:本發明的目的在于提供一種梯級水庫群發電調度的動態規劃改進算法,從而解決現有技術中存在的前述問題。為了實現上述目的,本發明所述梯級水庫群發電調度的動態規劃改進算法,所述方法包括:步驟1,對梯級水庫群進行后序遍歷,得到優化序列;步驟2,按序對優化序列中的任意一個水庫A,以初步解運行動態規劃算法,取得水庫A的水庫調度的初始解序列;所述初步解為水庫庫容或水位離散量;步驟3,在初始解序列的基礎上,使用連續線性規劃進一步優化初始解序列,得到初始解優化序列;步驟4,將初始解優化序列中的水庫庫容或水位值作為所述水庫A的調度決策發電流量,根據調度決策發電流量更新所述水庫A的出庫徑流,完成水庫A基于水庫調度規則合成的水庫調度決策。優選地,在步驟4之后還包括:判斷是否完成一級優化序列的最后一個水庫的優化并得到調度決策,如果是,結束優化;如果否,則對下一個水庫執行步驟2。優選地,當選用水位離散量運行動態規劃算法時,步驟3中,在水庫A的初始解序列的基礎上,限制每時段水位變動閾值,使用連續線性規劃進一步優化初始解序列,得到初始解優化序列;如果水庫A為大型水庫,則限制水庫A每時段水位變動閾值±1m,如果水庫A為中小型水庫,則限制水庫A每時段水位變動閾值或±0.1m。優選地,步驟4,根據調度決策發電流量更新所述水庫A的出庫徑流,具體為:結合水庫A的入庫流量,計算在初始解優化序列下,水庫A的出庫流量過程,作為下一次水庫入庫徑流。優選地,步驟3具體按照下述步驟實現:S31,根據水量平衡及水庫參數表,可得到以初步解調度時,水庫相應的水頭h,庫容V,發電流量Q,同時,根據運行動態規劃算法網格設置變動閾值d0;S32,考慮到前一個時間段t-1的發電流量Qt-1的變化會影響之后時段t,……,T的發電流量Qt,…,QT,故令dt=b(t)d0,其中,b(t)為時間擴散系數,可取dt為當前時段的發電流量變動值;S33,以發電流量Q1,…,QT為決策變量,限制發電流量Qt變化范圍[Qt-dt,Qt+dt],按近似線性的B=kQ(t)hΔt計算時段發電量,故以總發電量最大值為目標,水量平衡、流量非負、水庫最大泄流量為約束條件,進行連續線性規劃,得到第一次迭代的解,然后進行下一次迭代計算;S34,記Qk為第k次迭代得到的解向量,判斷是否符合閾值或迭代次數是否超過迭代次數閾值,如果符合任意一種判斷條件,則令d0減半,然后返回并執行S32;如果不符合任意一種判斷條件,則進入S35;S35,判斷是否接近0,如果是,終止求解;如果否,則返回并執行S32。本發明的有益效果是:本發明所述方法以梯級水庫群發電調度中的最大化發電量為研究對象,對兩類水庫調度算法進行綜合,克服兩類算法自身的缺陷,高效尋找梯級水庫群的發電調度最優化決策序列,為實際調度提供科學依據和技術支撐。與現有技術相比,本發明具有以下優點和有益效果:(1)現有技術一般只采用動態規劃(DP)求解,所得解是離散意義上的最優,并非實際最優,本發明克服了這一缺點,能得到實際最優解。(2)相較現有技術,本發明求解的時間更少。(3)本發明適應梯級水庫群中長期調度。附圖說明圖1是梯級水庫群發電調度的動態規劃改進算法的流程示意圖;圖2是漢江流域各水庫的相對上下游關系示意圖。具體實施方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施方式僅僅用以解釋本發明,并不用于限定本發明。下面通過漢江流域梯級水庫群發電調度優化實例并結合附圖,對本發明技術方案做進一步說明。圖1為本實施例流程圖,具體步驟如下:步驟1,對梯級水庫群進行后序遍歷,得到優化序列;圖2表明漢江流域各水庫的相對上下游關系,易知崔家營為最下游水庫,故以崔家營為根節點后序遍歷得到水庫群從上游往下游依次計算的順序:陡嶺子、鄂坪、周家垸、松樹嶺、潘口、小漩、黃龍灘、丹江口、王甫州、三里坪、寺坪、崔家營。步驟2,對序列中當前水庫,以較大的庫容或水位離散量運行動態規劃算法DP取得初步解;實例中相應操作陡嶺子水庫的參數如下表1,表2,表3,表4所示;表1為陡嶺子水庫參數;表2為陡嶺子水庫水位庫容關系;表3為陡嶺子水庫36旬入流數據(m3/s);表4為陡嶺子水庫出庫流量與尾水位關系。表1陡嶺子水庫參數表2陡嶺子水庫水位庫容關系表3陡嶺子水庫36旬入流數據(m3/s)旬123456789流量5.246.245.745.375.166.425.717.558.92旬101112131415161718流量14.59.827.7514.570.9511.6629.7114.3810.44旬192021222324252627流量31.17164.4936.44103.5729.3818.1625.49139.12179.97旬282930313233343536流量35.5222.5717.4614.5114.2611.969.759.5711.09表4陡嶺子水庫出庫流量與尾水位關系將陡嶺子水庫的水位按2m的較粗網格離散,DP求解得水位調度序列S1。DP求解基本原理為:F(t,j)=max{F(t-1,i)+B(Q(t),i,j)},F(0,0)=0,B=kQ(t)h(i,j)Δt其中F(t,j)表示從0至t時段初,當前水位離散值為j時的最大發電量,i為上一時段所有離散水位,F(0,0)=0為邊界條件;B為t時段發電效益計算公式,Q為發電流量,h為水頭,k為系數。具體計算過程參見程序偽代碼:步驟3,在初步解的基礎上,使用連續線性規劃(SLP)進一步優化;連續線性規劃(SLP)的原理是:因為水位庫容曲線為單峰上凸函數,因此,當發電流量Qi,j的變動很小時,水頭hi,j可認為是常量,公式B=kQ(t)h(i,j)Δt近似為線性。具體步驟如下:S31,根據水量平衡及水庫參數表,可得到以初步解調度時,水庫相應的水頭h,庫容V,發電流量Q,同時,根據運行動態規劃算法網格設置變動閾值d0;S32,考慮到前一個時間段t-1的發電流量Qt-1的變化會影響之后時段t,……,T的發電流量Qt,…,QT,故令dt=b(t)d0,其中,b(t)為時間擴散系數,可取dt為當前時段的發電流量變動值;S33,以發電流量Q1,…,QT為決策變量,限制發電流量Qt變化范圍[Qt-dt,Qt+dt],按近似線性的B=kQ(t)hΔt計算時段發電量,故以總發電量最大值為目標,水量平衡、流量非負、水庫最大泄流量為約束條件,進行連續線性規劃,得到第一次迭代的解,然后進行下一次迭代計算;S34,記Qk為第k次迭代得到的解向量,判斷是否符合閾值或迭代次數是否超過迭代次數閾值,如果符合任意一種判斷條件,則令d0減半,然后返回并執行S32;如果不符合任意一種判斷條件,則進入S35;S35,判斷是否接近0,如果是,終止求解;如果否,則返回并執行S32。本例中,在S1的基礎上,限制每時段水位變動閾值±1m,使用連續線性規劃(SLP)進一步優化,求解得水位調度序列S2;此時的優化解即為此水庫優化調度解。步驟4,采用進一步優化后的水庫庫容或水位值作為該水庫的調度決策發電流量,更新相應的出庫徑流本例中,結合入庫流量過程,計算在S2水位序列下,出庫流量過程R,作為下一級水庫入庫徑流;步驟5,檢查是否為序列最后一個水庫,若是,結束優化,否則對序列中下一個水庫執行步驟2。這一過程保證水庫按從上游往下游的順序優化,直至結束。比較水庫優化結果:傳統的DP算法在水位離散1m時流域梯級所有水庫總發電量107.88萬千瓦時,而本算法SLP-DP在DP水位離散2m時總發電量108.51萬千瓦時,且程序用時為前者60%,在更短時間內取得更好的優化結果。通過采用本發明公開的上述技術方案,得到了如下有益的效果:本發明所述方法結合利用連續線性規劃SLP和動態規劃DP兩類調度算法的梯級水庫群發電調度的算法。本發明綜合二者的優點,在更短的時間內取得比原先兩種算法更好的解。以上所述僅是本發明的優選實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護范圍。當前第1頁1 2 3