劉鑫 韓宇平



摘 要:在傳統的水資源配置過程中,水庫水量平衡計算時水庫棄水量巨大,造成大量可利用的水資源被浪費。系統梳理水資源配置模型,分析得到水庫棄水量大的主要原因是水資源配置模型存在“水源分割”現象。為了解決這個問題,對傳統的模型進行改進,增強模型全局統籌能力,提出水資源動態配置模型,建立區域水資源的全局理念,切實有效地做到區域水資源的統籌管理、統籌調度、統籌配置,實現水資源配置動態平衡的目標。使用機器學習的思想,通過訓練大數據使模型自主學習,通過交叉驗證最終求解出模型的最佳參數組合。改進湖北漳河水庫灌區的水資源合理配置模型,使24座大中型水庫年均棄水量減少1 080.54萬m3,研究區年均缺水量減少126.58萬m3。水資源動態配置模型統籌考慮全部供水源的供水能力,減少了水庫的棄水量和區域的缺水量,提高了水資源的利用效率,對水資源高效合理利用具有重要意義。
關鍵詞:水資源配置;水資源動態配置模型;動態平衡;機器學習;訓練大數據;交叉驗證
中圖分類號:TV214 文獻標志碼:A
doi:10.3969/j.issn.1000-1379.2021.08.010
引用格式:劉鑫,韓宇平.基于訓練大數據的水資源動態配置模型研究[J].人民黃河,2021,43(8):52-57.
Abstract: In the traditional allocation process of water resources, the amount of abandoned water in the reservoir is huge when calculating the water balance of the reservoir and it causes a large amount of available water resources to be wasted. Through systematic research of water resources allocation model, we found that the main reason for the large amount of abandoned water in the reservoir was the phenomenon of “water source division” in the water resources allocation model. In order to solve this problem, the traditional model was improved to increase the overall planning ability of the model, we proposed a Dynamic Allocation Model of Water Resources that established a global concept of regional water resources and effectively achieved the overall management, overall scheduling and overall allocation of regional water resources. It realized dynamic allocation and achieved a dynamic balance. We used the idea of machine learning. The model could learn autonomously through training big data, we could finally solve the best parameter combination of the model through cross validation. We improved the rational allocation model of water resources in Zhanghe Reservoir irrigation area in Hubei Province, the model reduced the annually average abandoned water volume of 24 large and medium reservoirs by 10.805 4 million cubic meters and reduced the annually average water shortage in the research area by 1.265 8 million cubic meters. The dynamic allocation model of water resources considered the supply water capacity of all water sources as a whole, reduced the amount of abandoned water in the reservoir and the water shortage in the region, and improved the use efficiency of water resources. It was of great significance to the efficient and reasonable use of water resources.
Key words: allocation of water resources; dynamic allocation model of water resources; dynamic balance; machine learning; training big data; cross validation
隨著工業的飛速發展、人口的快速增長,水資源開發利用率高得驚人,水資源過度消耗,生態環境質量嚴重下降,使得我國水資源面臨空前嚴峻的形勢。因此,應創新水資源配置方式,轉變水資源配置的傳統觀念,在水資源量不變的條件下減少水資源浪費、提高水資源利用率,保證水資源合理高效可持續利用。
近年來,很多學者在水資源配置方面進行了大量且深入的研究,Abdulbaki等[1]提出將整數線性規劃決策支持模型用于水資源配置。齊學斌等[2]對灌區水資源管理政策、水資源循環轉化規律、水資源優化配置模型與方法和水文生態4個方面的研究現狀進行了對比分析。Bekri等[3]基于不確定2階隨機規劃方法進行了不確定條件下的水資源最優分配。董曉知等[4]基于供需平衡分析構建大系統數學模型,使水資源優化配置更加科學合理。單義明等[5]構建區間兩階段隨機魯棒規劃模型,完成呂梁市的水資源優化配置。吳云等[6]基于改進NSGA-Ⅱ算法,搭建水資源多目標優化配置模型。趙燕等[7]基于改進的螢火蟲算法求解水資源的優化配置模型。Maiolo等[8]分析Crotone區域水資源分配后,考慮水資源可用性和未來氣候變化,提出了水資源優化配制方案。
在水庫水量平衡計算時仍存在水庫棄水量大的問題,水資源配置存在“水源分割”現象,沒有真正實現全部供水源統籌配置是水庫棄水量大的主要原因。因此,需要改進水資源配置模型,在供水時統籌考慮全部水源的供水能力,實現水資源的統籌配置。當供水順序靠后的大型水庫水位較高時,應適當減少前置水源的供水量并適當讓其多蓄水,讓后置水庫多供水,這樣在水量平衡計算時,就可以減少一定量的棄水。當該水庫水位降低到一定值時,可以使前置水源以最大能力供水,供水量不足時再由該水庫補齊以實現水資源的動態配置,強調從整個供水體系上進行水資源配置,打破水資源配置中的“水源分割”現象,這樣就可以提高整個供水系統的整體性和協調性。筆者以漳河水庫灌區為研究對象,建立水資源動態配置模型,采用訓練大數據與交叉驗證求解模型,計算得到最優模型進行測試,并與過去的數據進行對比來驗證模型的有效性。
1 研究區概況與問題描述
1.1 研究區概況
漳河水庫灌區面積為5 543.93 km2,灌區地跨荊州市的荊州區、宜昌市的當陽市和荊門市的掇刀區、東寶區、沙洋縣、鐘祥市。
所用數據來源于各市(縣)統計年鑒以及各地的農業統計年報,水庫用水量采用水庫水量平衡計算得到的數據,降雨蒸發資料來源于研究區資料質量較好的8個水文站和氣象站及18個雨量站。對于個別站缺測的月份,用該站前后幾年的平均值或氣候、地形較一致的相鄰站的平均值插補。
1.2 問題描述
由于存在“水源分割”現象,因此每個供水源都是單獨配置,前置水源每次供水都是最大能力供水,如果未來一段時間來水比較充足,前置水源可利用的水量較多,供水滿足情況較好,就會導致供水順序靠后的水庫尤其是大型水庫供水量少,水庫水位可能趨近棄水線。一旦有降水,水庫很可能要棄水。當水庫棄掉大量的水之后,如果未來一段時間來水量較少,前置水源因無法充分蓄水導致可利用水量較少,巨大的缺水量必須由水庫來滿足,水庫的供水量勢必出現激增的現象,而水庫又會因蓄水不足導致水位下降速度較快。如果下降到死水位,則無法彌補巨大的缺水量,而全部供水源蓄水不足還可能導致本月甚至接下來的1~2個月出現嚴重缺水的現象。而對于整個供水體系來說,水庫在水資源配置中具有不可替代的作用,水庫的供水情況在一定程度上影響水資源配置的有效性。
灌區內水庫的供水總量占整個灌區供水總量的61.76%,其中漳河水庫是最大的水庫,漳河水庫的供水量占水庫供水總量的50.16%。在水庫的水量平衡計算中水庫棄水量巨大,漳河水庫月棄水量的最大值高達43 025.44萬m3,24座大中型水庫年最大棄水量為65 242.34萬m3,而年均生態需水量約2 600萬m3,水庫棄水量遠遠超過了生態需水量。因此要科學地審視可持續發展與水資源配置的關系[9],遵循以水資源的可持續利用促進社會經濟的可持續發展理念[10]。
灌區傳統的水資源配置模型按照塘堰(只供給農業)、小型水庫、中型水庫、引水工程、提水工程和漳河水庫的供水順序為各用水單元的各需水類別進行供水,包括城鎮生活用水、農村生活用水、二三產業用水、農業與生態用水的合理配置,水量在不同區域及不同用水單元的優化配置。表1為研究區大中型水庫庫容特征參數與棄水量情況。
由表1可見,有9座水庫沒有棄水現象,其他15座水庫都有棄水現象。對于這15座水庫,月最大棄水量之和高達54 512.66萬m3,最大的是漳河水庫,棄水量為43 025.44萬m3,占比78.93%;年均棄水量之和為16 484.07萬m3,最大的是漳河水庫,棄水量為10 430.63萬m3,占比63.28%。漳河水庫棄水量所占的比重非常大,且漳河水庫是最重要的供水源,如何在滿足供水的前提下減少漳河水庫的棄水量是該研究區水資源配置的關鍵問題。圖1是漳河水庫過去43 a供水過程中重要指標的變化情況。
由圖1可以發現,漳河水庫時段蓄水量呈現一定規律性,棄水的月份相對比較集中,這是因為豐水期雨水比較充足,前置水源供水滿足情況較好,漳河水庫供水量較小,時段蓄水量持續較大,從而導致棄水較多;而枯水期供水量激增,時段蓄水量減小趨近死蓄水量,棄水量為零,與問題描述中的現象完全吻合。表2是漳河水庫過去43 a供水過程中的棄水總量、年最大棄水量及年均棄水量與研究區對應時間的缺水情況對比。
由表2可知,漳河水庫棄水總量約為缺水總量的4倍,年最大棄水量約為研究區年最大缺水量的2倍,年均棄水量約為研究區年均缺水量的4倍,如果能減少一部分棄水并合理高效地供水,研究區的缺水情況將會得到緩解。因此,本文以減少漳河水庫棄水量、提高水資源的利用效率為目標,以滿足生活、生產及農業需水為前提,以保障生態環境需水為出發點,以統籌兼顧全部水源及其供水能力為重心,以期實現水資源的高效可持續利用。
2 模型的思路與改進
2.1 模型思路
陳太政等[11]檢索并分析中國知網中關于水資源優化配置的文獻,指出水資源配置的創新需要水資源優化配置理論的進一步突破和供水體系結構與關系的深度挖掘。隨著大數據、機器學習等先進技術在水利行業的不斷應用,極大地推動了水利信息化建設,運用先進的計算機技術,通過大數據來進行計算、分析和應用,使水資源配置流程得到優化。圖2是模型建立的思路。
機器學習可以高效地從數據中學習到過去未知的有價值的知識,本文將這種手段用到水資源配置中為水資源配置提供服務。機器學習的思想主要分為訓練和驗證。將數據進行劃分,分為訓練數據集、驗證數據集,分別用于訓練模型和交叉驗證。首先用同樣的訓練數據集分別訓練每一種模型,然后將訓練好的模型用驗證數據集進行驗證。驗證數據集用于檢測構建的模型,此數據集只在模型驗證時使用,用于評估模型的滿意度,統計它們的誤差,找出數據中潛在的規律。而模型訓練一直到結果不能更優時停止。
2.2 模型改進
水資源配置模型改進后流程如圖3所示。
農業用水是保障糧食安全的重中之重,因此在模型構建時,塘堰供水只供給農業不設模型參數,每次供水都以最大能力供水。小型水庫、中型水庫和引提工程在供給農業時,基于同樣的考慮也不設置模型參數,以最大能力供水。
在模型改進過程中,最關鍵的問題就是水庫的來水量是未知的,棄水量也只能在每次水量平衡計算后才能得到,且來水和棄水的多少只能根據過去的數據挖掘出一定規律,未來的數據都是不確定的。如果能將不確定的數據轉化為確定的數據,則可以將不確定的問題轉化為確定的問題,從而可以進行定量研究。模型在實際的應用中能夠確切掌握的是水庫的水位,而實際上來水量和棄水量與水庫當前水位是緊密相關的。例如當漳河水庫的當前蓄水量值較大時,可以適當減小前置水源的供水量,增加漳河水庫的供水量,這樣來水量較多時,漳河水庫還可以充分蓄水減少棄水;當來水量較少時,漳河水庫的蓄水量會一直下降,模型控制到一定蓄水量閾值,就適當增大前置水源的供水量,閾值越小前置水源供水量增加越多,一直增加到最大供水量以調節漳河水庫的當前水位。如果來水量變多使漳河水庫的水位上升時,再根據蓄水量閾值增大漳河水庫的供水量,減少前置水源的供水量從而實現動態配置。這就不需要考慮不確定的來水與棄水,只要控制好漳河水庫的當前蓄水量就相當于控制好了來水和棄水,把不確定的問題轉化為確定的問題,只需要求解模型即可。而如何設置蓄水量閾值、如何根據閾值增大或減小各水源的供水量、增大或減小的比重是多少都可以從模型的訓練中得到。
3 模型的設計與構建
3.1 模型的設計
3.1.1 目標函數
本文以減少水庫棄水量,提高水資源利用效率,供水量最大化為總目標,以減少區域缺水總量為核心,用編程語言Python實現模型并計算。除塘堰和漳河水庫外,給每一個供水源分配一個隨機的模型參數,供水源的參數都是隨漳河水庫時段蓄水量動態變化的,在供水時將全部水源進行統一調配,以大數據為依據,求解水資源動態配置的模型參數。漳河水庫的供水順序排在最后,漳河水庫的供水量必然要隨著前置水源供水量的增大而減小,隨著前置水源供水量的減小而增大,因此不設置模型參數依然可以運行模型,還可以簡化計算。
模型目標函數如下:
3.1.2 約束條件
(1)用水總量約束條件:各單元各月用水總量不能超過該單元該月塘堰、小型水庫、中型水庫、引水工程、提水工程和漳河水庫的可利用量,引水工程的可利用量不能超過退水量。
(2)生態需水約束條件:水庫棄水量要滿足生態環境需水量。
(3)其他約束條件:主要包括水庫水量平衡約束、各類工程渠系水利用系數約束、水庫給各計算單元的分水比例約束及變量非負約束等。
3.2 模型構建
3.2.1 模型訓練
本文在訓練模型時,利用43 a逐年逐月的統計數據,根據機器學習常規的數據劃分比例6∶4,考慮到訓練數據集盡可能大的原則,將訓練數據集和交叉驗證數據集設置為27 a、16 a。驗證時采用交叉驗證的方式,將驗證數據集分為兩個8 a分別作為第一次驗證的驗證數據集和第二次驗證的驗證數據集。圖4為模型建立的流程圖。
首先將漳河水庫蓄水量閾值及對應的模型參數輸入模型完成模型初始化,然后在訓練數據集上進行迭代訓練,訓練結束以后進行交叉驗證,根據結果調整輸入模型的蓄水量閾值與模型參數繼續在訓練數據集上訓練,直到訓練出每組在交叉驗證過程中效果最好的模型,將兩個模型最后進行一次聚合訓練,最終得到最佳模型。
水庫每個月的棄水線不是完全一樣的,漳河水庫最大棄水線是178 600萬m3,蓄水量閾值的設置與模型參數是成反比的,漳河水庫時段蓄水量越大模型參數越小,時段蓄水量越小模型參數越大。當閾值的間隔增大時,對應參數的間隔也要成比例增大,這樣才能合理地供水。通過大量計算發現,最佳的計算起點即蓄水量閾值的最大值設置為170 000萬m3,對應的模型參數為0.1,然后將蓄水量閾值的步長設置為1 000萬m3,初始閾值間隔設置為5 000萬m3,對應模型參數的步長設置為0.01,初始參數間隔設置為0.1。每次調整模型時閾值間隔增加1 000萬m3,對應模型參數間隔增加0.01,步長保持不變。蓄水量閾值的下限不能設置為死庫容,要留一些余地,因此將下限設置為90 000萬m3。當蓄水量間隔增加到16 000萬m3就不能再增大,對應集合為{170 000,154 000,138 000,122 000,106 000,90 000},而參數的間隔增加到0.18時就不能再增大了,對應的集合為{0.1,0.28,0.46,0.64,0.82,1.0},一共有108種排列組合。表3列舉了5個典型模型的相關數據。
隨著閾值與參數間隔的不斷增大,候選的閾值與參數集合在不斷減小,因此訓練次數也在不斷減小。表4是訓練結果排名前三的模型數據。
以閾值為5 000、參數間隔為0.1為例說明閾值與參數的關系,漳河水庫時段蓄水量大于135 000萬m3時參數設置為0.1,蓄水量在135 000萬~130 000萬m3時參數設置為0.2,以此類推,蓄水量小于110 000萬m3時,參數設置為1。由表4可見,經過訓練之后,模型1年均缺水量最小,為3 638.38萬m3。
3.2.2 交叉驗證
對模型進行交叉驗證,列舉交叉驗證排名前九的模型驗證結果見表5,驗證結果全部采用年均缺水量來衡量。
由表5可以看出,第一次驗證與第二次驗證的結果差別很大。這是因為降水變化較大,不同時段生活、生產及農業的需水與水源供水等情況都存在較大變化,這也是采用交叉驗證的一個原因。
最后,將每組交叉驗證表現最好的兩個模型進行一次聚合訓練,可以得到最佳模型,模型數據見表6。
4 模型測試與結果對比
將最終訓練出來的最佳模型用于供水配制,并與過去的數據進行對比,結果見表7。
由表7可知,漳河水庫月最大棄水量減少了2 059.82萬m3,漳河水庫年均棄水量減少了2 377.99萬m3,24座大中型水庫年均棄水量減少了1 080.54萬m3,研究區年均缺水量減少了126.58萬m3。水庫棄水量仍然可以滿足生態需水,在水資源量不變的條件下減少了研究區的缺水量。漳河水庫時段蓄水量與模型參數變化如圖5所示。
由圖5可以看出,在供水過程中,漳河水庫的蓄水量與模型參數成反比關系,即:蓄水量較大(水位較高)時可以多供水,模型參數較小,即前置水源的供水系數較小,供水量將減少;當漳河水庫的蓄水量呈上升趨勢時,模型參數呈下降趨勢,這樣就減少前置水源的供水量,增大漳河水庫的供水量;當漳河水庫蓄水量呈下降趨勢時,模型參數呈上升趨勢,即增大前置水源的供水量,不足部分由漳河水庫補齊;當漳河水庫蓄水量持續位于高位時,對應月的模型參數持續位于低位;當漳河水庫蓄水量持續位于低位時,對應月的模型參數始終保持為1,即前置水源始終保持最大供水量。
將本文與過去漳河水庫的年棄水量與年凈供水量進行對比,如圖6和圖7所示。
由圖6和圖7可以發現,在供水過程中,本文模型的漳河水庫年棄水量只有3 a大于過去的值,有22 a和過去的值相等都為零,有18 a都小于過去的值,棄水減少量最小值是724.19萬m3,最大值是11 689.61萬m3;本文模型的凈供水量有12 a小于過去的值,有2 a和過去的值相等都為零,有29 a都大于過去的值,凈供水量增加值最小是84.85萬m3,最大是5 709.61萬m3。
5 結 論
為了減少漳河水庫棄水量,提高水資源利用效率,系統梳理了水資源配置規則,分析出水庫棄水量大的原因,進而對傳統的模型進行改進,提出了水資源動態配置模型,融合大數據技術,通過訓練大數據與交叉驗證來求解模型,并在計算中以水庫時段蓄水量代替不確定的來水和棄水數據,避免了模型的不確定性,從而使模型更加合理,最后進行了測試與對比分析。水資源動態配置模型打破了“水源分割”的現象,統籌兼顧供水源的供水能力統一調配,在水資源量不變的情況下,減少了區域缺水量,提高了水資源利用效率,也給其他區域的水資源配置提供了參考。
參考文獻:
[1] ABDULBAKI D, ALHINDI M, YASSINE A, et al. An Optimization Model for the Allocation of Water Resources[J].Journal of Cleaner Production,2017,164:994-1006.
[2] 齊學斌,黃仲冬,喬冬梅,等.灌區水資源合理配置研究進展[J].水科學進展,2015,26(2):287-295.
[3] BEKRI E, DISSE M, YANNOPOULOS P C. Optimizing Water Allocation Under Uncertain System Conditions in Alfeios River Basin (Greece), Part A:Two-Stage Stochastic Programming Model with Deterministic Boundary Intervals[J].Water,2015,7(10):5305-5344.
[4] 董曉知,徐立榮,徐征和.基于大系統分解協調法的水資源優化配置研究[J].人民黃河,2021,43(4):82-88.
[5] 單義明,楊侃,吳云,等.基于ITSRP模型的呂梁市水資源優化配置研究[J].人民黃河,2020,42(11):42-47.
[6] 吳云,曾超,楊侃,等.基于改進NSGA-Ⅱ算法的水資源多目標優化配置[J].人民黃河,2020,42(5):71-75.
[7] 趙燕,武鵬林,祝雪萍.基于改進螢火蟲算法的水資源優化配置[J].人民黃河,2019,41(5):62-66.
[8] MAIOLO M, MENDICINO G, PANTUSA D, et al. Optimization of Drinking Water Distribution Systems in Relation to the Effects of Climate Change[J].Water,2017,9(10):803-816.
[9] 李麗琴,謝新民,韓劍橋,等.面向可持續發展的水資源優化配置研究[J].中國農村水利水電,2013(1):15-18,22.
[10] 王浩,游進軍.中國水資源配置30年[J].水利學報,2016,47(3):265-271.
[11] 陳太政,侯景偉,陳準.中國水資源優化配置定量研究進展[J].資源科學,2013,35(1):132-139.
【責任編輯 張 帥】