董陳超
(河海大學(xué)商學(xué)院,江蘇 常州 213022)
目前,中國農(nóng)業(yè)用水極度短缺,農(nóng)業(yè)灌溉面臨嚴峻挑戰(zhàn),農(nóng)業(yè)用水每年平均虧缺300億m3。隨著人口和經(jīng)濟的快速增長,糧食需求不斷增加,直接導(dǎo)致水資源供需矛盾不斷加?。?,2]。水資源短缺已嚴重影響了農(nóng)業(yè)生產(chǎn)的發(fā)展,如何提高灌溉過程中水資源的優(yōu)化配置問題,現(xiàn)已成為中國亟待解決的問題[3]。合理地對農(nóng)業(yè)用水進行規(guī)劃調(diào)度、提高農(nóng)業(yè)用水利用效率,不僅能緩解水資源供需短缺的壓力,還能使有限的水資源發(fā)揮更大的經(jīng)濟社會效益,保障經(jīng)濟社會的可持續(xù)發(fā)展,為全面開創(chuàng)節(jié)水型社會建設(shè)提供有利的支撐[4,5]。
近年來,國內(nèi)外眾多學(xué)者對水資源優(yōu)化配置進行了大量的研究,出現(xiàn)了很多種優(yōu)化配置方法和模型。由于水資源優(yōu)化配置系統(tǒng)存在數(shù)據(jù)來源多樣性、數(shù)據(jù)統(tǒng)計指標不一致、數(shù)據(jù)量龐大且復(fù)雜等問題,傳統(tǒng)模型并不能很好地解決這些問題,由此建立了不確定性優(yōu)化配置模型[6,7],此類模型在隨機環(huán)境下,使用區(qū)間數(shù)和隨機變量對具有不確定性的參數(shù)進行表征并最終獲得優(yōu)化配置方案。Cui等[8]針對不確定性條件下的水資源管理,提出了一種雙向模糊機會約束分數(shù)規(guī)劃(DFCFP)方法對邯鄲和安陽的水資源進行優(yōu)化配置。與傳統(tǒng)的雙面模糊機會約束規(guī)劃(DFCP)方法相比,從DFCFP獲得的解決方案要高得多,并且DFCFP在節(jié)水方面具有優(yōu)勢。Guo等[9]針對多種不確定性,建立了一種模糊機會約束線性分數(shù)規(guī)劃方法,用于農(nóng)業(yè)水資源管理,這種方法對以前的編程方法進行了改進,可以將比率目標函數(shù)和多種不確定性表示為概率分布、模糊集及其組合。婁帥等[10]基于免疫遺傳算法構(gòu)建了多階段群決策優(yōu)化模型應(yīng)用于漳河流域水資源優(yōu)化配置。陳述等[11]提出了粒子群-人工蜂群混合算法應(yīng)用于漳河灌區(qū),解決多水源、長距離輸配水、庫塘共同調(diào)控等復(fù)雜情況下的高效用水模型的求解問題。
本研究為解決寧夏自流灌區(qū)灌溉用水緊張、水文氣象條件復(fù)雜、農(nóng)作物耗水量大、用水集中、灌溉效率低、水資源調(diào)度協(xié)調(diào)性差等問題,引入遺傳算法-生成對抗神經(jīng)網(wǎng)絡(luò)模型,對寧夏秦漢渠管理處農(nóng)場渠所管轄的30余公里渠道及其灌區(qū)建立水資源優(yōu)化調(diào)度模型,以提高農(nóng)業(yè)灌溉用水利用效率,實現(xiàn)節(jié)約農(nóng)業(yè)用水資源目標和緩解寧夏地區(qū)農(nóng)業(yè)用水供需矛盾。
農(nóng)場渠是秦渠惟一的一條支干渠,由寧夏回族自治區(qū)水利局于1950年勘測設(shè)計,干渠全長31.6 km,渠首引水能力29 m3/s。擔(dān)負著吳忠市利通區(qū)、靈武市三鎮(zhèn)、兩鄉(xiāng)和國營農(nóng)場近1.47億m2農(nóng)田的灌溉任務(wù),種植作物面積占比分別為玉米45%、水稻25%、小麥15%、經(jīng)果林12%、其他作物3%,年引水量1.7億m3。渠道上各類水工建筑物數(shù)量眾多,其中灌溉面積在66萬m2以上的斗口34座。年平均蒸發(fā)量相當于降水量的6倍,以5、6、7月3個月的蒸發(fā)量最大。
本研究對農(nóng)場渠渠道上農(nóng)場渠進水閘、農(nóng)場渠退水閘、三號橋節(jié)制閘、梧干渠進水閘、三跌水節(jié)制閘、四號跌水節(jié)制閘、荀橋節(jié)制閘、五號跌水節(jié)制閘共8個水閘及其所屬70個取水口建立灌溉用水調(diào)度模型,并將上述水工類建筑按實際位置分布和灌區(qū)分為退水閘段、龍三段、三跌水段、四跌水段、荀橋段共5個分段。農(nóng)場渠水Ⅰ類建筑及取水口分布如圖1所示。
圖1 農(nóng)場渠水工類建筑及取水口分布
本研究采用遺傳算法確定較優(yōu)初始方案,并使用生成對抗神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,提高方案灌溉用水調(diào)度效率。首先,需要確定農(nóng)場渠全體水工類建筑的各類屬性及各取水口歷年計劃灌溉用水需求,整理收集數(shù)據(jù)并對數(shù)據(jù)進行預(yù)處理,確定約束條件和構(gòu)造目標函數(shù)。其次,需要對方案進行編碼作為模型求解的輸入。在遺傳算法進行求解的過程中,最重要的是確定適應(yīng)度函數(shù)以篩選高效配水方案。最后,使用生成對抗神經(jīng)網(wǎng)絡(luò)對遺傳算法求解的多組高效方案進行訓(xùn)練,深度學(xué)習(xí)和挖掘各取水口用水規(guī)律,實現(xiàn)高效的取水口聯(lián)合調(diào)度灌溉,在不斷優(yōu)化后生成更高效的灌溉方案,提高模型配水效率。模型求解流程圖如圖2所示。
圖2 模型求解流程圖
由于農(nóng)場渠灌溉任務(wù)極其龐大且引水量巨大,灌溉過程中部分取水口可能出現(xiàn)少量缺水的情況。因此本研究充分考慮灌溉用水利用率和灌溉缺水量對實際灌溉造成的影響,引入缺水懲罰項將缺水方案的用水利用率適當降低,灌溉用水利用率計算公式如下:
式中,Qij為第i輪第j批灌溉引水量,Oij為第i輪第j批灌溉排出水量,k為缺水懲罰系數(shù),W為灌溉總?cè)彼?,I、J分別為灌溉總輪次、每輪灌溉總批次。引水量Q、排出水量O的計算公式如下:
式中,vt為t時刻渠首流速,ut為t時刻渠尾流速。vmax和umax分別表示渠首和渠尾的最大過水能力。各取水口引水量的計算公式如下:
式中,Cn為第n個取水口開啟時最大過水能力,Ani為第n個取水口第i輪引水量,ti為取水口第i輪灌溉時間。方案缺水量的計算公式如下:
式中,Pn為第n個取水口計劃灌溉水量,Ani為第n個取水口第i輪引水量。
在模型實際求解過程中,由于河流水位高度和流速等變量均為連續(xù)變量,求解較為困難。因此,模型將灌溉過程劃分為若干較小的灌溉周期進行求解,每個周期中連續(xù)變量值視為定值,將連續(xù)模型離散化,以解決模型求解困難的問題。優(yōu)化后的模型為:
式中,ti為第i輪灌溉周期變量,M為灌溉輪數(shù),Ti為第i輪灌溉總周期個數(shù),T為方案總灌溉周期個數(shù)。
為得到河流流速與水位的關(guān)系,本研究采用Lasso回歸對農(nóng)場渠渠道各點水位、河流流速實際測量值進行擬合,并得到如下關(guān)系:
式中,h為水位,φ(h)為河流流速。
由于整個渠道全長30余公里及渠道上水工類建筑的存在,渠道上各處水位并非連續(xù),若對整個渠道使用φ(h)進行求解,會產(chǎn)生較大誤差。因此,本研究充分利用渠道上進水閘、退水閘和分水閘等水工類建筑對整個渠道進行分段,每個分段分別使用φ(h)對流速求值,實際驗證后發(fā)現(xiàn)上述方法能較為精確地反映各段中水位流速關(guān)系。每個分段水位變化受到該分段段首來水量、段尾排水量以及該分段當期取水口引水量三者的共同影響,其關(guān)系如下:
式中,Δhmti為第m分段在周期ti里水位的變化,Cmn為第m分段第n個取水口最大過水量,Rmn為第m分段第n個取水口開閉狀態(tài),0代表關(guān)閉,1代表開啟,Lm為第m分段總長度,ρm為第m分段渠道平均寬度,ti為第i輪灌溉周期變量。每個周期ti結(jié)束后通過式(11)更新水位高度,并最終計算出渠首、渠尾在周期ti中的流速:
式中,h1表示渠首水位高度,hM表示最后一段水位高度。由上述公式最終可以求得灌溉用水利用率。
遺傳算法是模擬達爾文生物進化論的自然選擇和遺傳學(xué)機理的生物進化過程的計算模型,是一種通過模擬自然進化過程求解的方法。遺傳算法采用概率化方法尋優(yōu),能夠自適應(yīng)地在搜索空間中調(diào)整搜索方向,以較短時間和較少計算資源獲取較優(yōu)解[12,13]。
模型在對方案進行編碼的過程中充分考慮到灌溉周期的實際需求,將每個取水口每月的灌溉任務(wù)按實際需求分為多輪進行灌溉。同時由于河流沿岸取水口總引水能力遠大于渠首引水能力,同時開啟會引起河流水位驟降,因此將河流沿岸取水口在每輪灌溉過程中分為多個批次開啟。將現(xiàn)有的傳統(tǒng)灌溉方案作為遺傳算法的初始輸入,每個方案被設(shè)計為 如 下 形 式:[a11,a12,…,a1j,a21,…,a2j,…,amj],其 中,amj=x表示第m輪中第j個取水口的灌溉批次為x。每個方案被編碼成m×j個元素的有序數(shù)組,用于遺傳算法計算。交叉過程在設(shè)定的初始交叉率λ下將方案群中隨機挑選的若干個體不同位置上的元素進行移位交換實現(xiàn)基因交叉,變異過程在設(shè)定的初始變異率μ下改變個體元素值。適應(yīng)度函數(shù)對種群中的個體按評分標準進行賦分,選擇得分較高的方案進行演化生成一個新種群,重復(fù)上述交叉、變異和選擇過程直至達到遺傳算法設(shè)置的終止條件。遺傳算法計算過程如圖3所示。
圖3 遺傳算法流程圖
本研究對現(xiàn)有傳統(tǒng)方案進行編碼后采用遺傳算法優(yōu)化,使用“2.1”建立的方案灌溉用水利用率計算模型作為適應(yīng)度函數(shù),篩選出灌溉用水利用率更高的方案并淘汰低利用率的方案,對傳統(tǒng)灌溉方案進行初步優(yōu)化,將多輪演化后更加高效的配水方案輸出給生成對抗神經(jīng)網(wǎng)絡(luò)進行進一步優(yōu)化。
生成對抗神經(jīng)網(wǎng)絡(luò)是一種無監(jiān)督學(xué)習(xí)的生成網(wǎng)絡(luò),該網(wǎng)絡(luò)通過不斷對抗博弈來學(xué)習(xí)數(shù)據(jù)的真實分布,而后進行創(chuàng)新[14,15]。生成對抗神經(jīng)網(wǎng)絡(luò)主要由一個生成器G和一個判別器D兩部分組成。生成器和判別器在訓(xùn)練過程中不斷進行動態(tài)極小極大博弈,尋找納什均衡點,網(wǎng)絡(luò)訓(xùn)練過程中目標函數(shù)(損失函數(shù))為:
式中,x表示輸入網(wǎng)絡(luò)的真實數(shù)據(jù),pdata(x)表示真實數(shù)據(jù)的分布函數(shù),z表示輸入網(wǎng)絡(luò)的噪聲,pz(z)表示噪聲服從的分布函數(shù)。D(x)表示判別器判斷輸入數(shù)據(jù)為真實數(shù)據(jù)的概率,D(G(z))表示判別器判斷生成器生成的數(shù)據(jù)G(z)為真實數(shù)據(jù)的概率。判別器D需要區(qū)分真實樣本x和生成的偽樣本G(z),判別器準確地判斷出真實樣本體現(xiàn)在最大化D(x)的對數(shù)損失函數(shù),以及偽樣本體現(xiàn)在最小化D(G(z))的對數(shù)損失函數(shù),即使得D(x)→1,D(G(z))→0。在生成網(wǎng)絡(luò)中,生成器通過最大化D(G(z))的對數(shù)損失函數(shù),使得判別器D將自身生成的偽樣本鑒別為真,最終使生成樣本接近數(shù)據(jù)的真實分布。生成對抗神經(jīng)網(wǎng)絡(luò)將“2.2”中遺傳算法輸入的方案作為真實數(shù)據(jù),通過G和D的不斷對抗,在學(xué)習(xí)輸入調(diào)度方案的基礎(chǔ)上深度挖掘各取水口用水規(guī)律,創(chuàng)新地生成更加高效、優(yōu)化的灌溉方案,并通過“2.1”建立的灌溉用水利用率計算模型選取更優(yōu)方案,同時更新最優(yōu)方案庫,最終實現(xiàn)灌溉方案的進一步優(yōu)化,極大地提高用水利用效率。
由于訓(xùn)練過程中生成器生成的數(shù)據(jù)集與真實數(shù)據(jù)集的支撐集呈高維空間的低維流形分布,使判別器訓(xùn)練過好,而生成器訓(xùn)練不足,導(dǎo)致生成器梯度消失,因此本研究改用優(yōu)化后的生成對抗神經(jīng)網(wǎng)絡(luò)Wassertein GAN[16,17]。
本研究選取農(nóng)場渠計劃灌溉水量最大、最典型的5月進行實例驗證,并將灌溉任務(wù)按照實際需求分為3輪進行(第一輪為5月1—10日,第二輪為5月11—20日,第三輪為5月21—30日),70個取水口最 大過水能力及灌溉計劃水量如表1所示。
表1 取水口最大過水能力及灌溉計劃水量
模型進行遺傳算法求解過程中各參數(shù)的取值如下:m=3,j=70,x=1,2,3,t=600,即共有3輪灌溉任務(wù),70個取水口分為3批錯峰開啟,一個灌溉周期為600 s。其中x=1表示每輪的第1批(該輪第1天)開啟,x=2表示每輪的第2批(該輪第4天)開啟,x=3表示每輪的第3批(該輪第7天)開啟。為確定遺傳算法中交叉率和變異率,本研究采用交叉驗證和網(wǎng)格搜素,得到最佳組合為交叉率λ=0.7,變異率μ=0.02。每輪迭代種群個體數(shù)為100,共進行40輪演化生成4 000個方案。適應(yīng)度函數(shù)對種群中個體方案解碼后帶入上文所構(gòu)建的模型中,以式(1)中扣除缺水懲罰項的灌溉用水利用率為得分,篩選出較優(yōu)個體,淘汰適應(yīng)度較低的個體。所得方案結(jié)果如圖4所示。
由圖4分析可知,隨著遺傳算法的不斷進行,種群中方案的灌溉用水利用率在不斷提高,方案的灌溉缺水量在震蕩減少,出現(xiàn)震蕩的原因是部分高效的灌溉方案容忍少量缺水量以提高灌溉效率。此外,每一輪種群中最優(yōu)個體的適應(yīng)度波動提升,方案灌溉用水利用率波動提高。隨著種群不斷演化,第一至三輪的平均灌溉時間和總平均灌溉時間均波動下降,表明種群中方案的灌溉效率不斷提高、灌溉時間不斷減少。
圖4 遺傳算法計算結(jié)果
將遺傳算法進行40輪演化后生成的200個最優(yōu)方案輸入到生成對抗神經(jīng)網(wǎng)絡(luò)中,生成對抗神經(jīng)網(wǎng)絡(luò)對最優(yōu)方案庫進行采樣,并將生成器生成的偽樣本同時輸入到鑒別器中訓(xùn)練鑒別器,鑒別器根據(jù)其損失函數(shù)更新自身網(wǎng)絡(luò)參數(shù),并將其對生成器生成的偽樣本的判別結(jié)果作為生成器的損失函數(shù)反饋給生成器更新其網(wǎng)絡(luò)參數(shù)。每輪對抗過程中,對生成器生成的方案采用方案灌溉用水利用率計算模型計算,扣除缺水懲罰項的灌溉用水利用率,并動態(tài)更新最優(yōu)方案庫。生成對抗神經(jīng)網(wǎng)絡(luò)進行100輪對抗,每輪生成器生成40個優(yōu)化的方案,共生成4 000個優(yōu)化的方案。隨著訓(xùn)練不斷進行,生成器逐漸學(xué)得高效灌溉方案的真實數(shù)據(jù)分布,判別器對生成器生成的偽樣本鑒別準確率不斷下降,生成器不斷優(yōu)化灌溉方案和提高灌溉用水利用率。其訓(xùn)練過程中方案扣除缺水懲罰項的平均灌溉用水利用率(即得分)如表2所示。由表2可知,在第1~70輪的訓(xùn)練過程中,生成器與鑒別器不斷對抗博弈,生成器生成的方案的平均灌溉效率迅速提升。而在第71~100輪的訓(xùn)練過程中,生成器生成的方案的平均灌溉效率基本保持不變,表明模型此時已訓(xùn)練完成。
表2 GAN訓(xùn)練過程平均灌溉用水利用率
對遺傳算法和生成對抗神經(jīng)網(wǎng)絡(luò)分別生成的4 000個方案中最優(yōu)100個方案進行對比分析,結(jié)果如圖5所示??梢钥闯錾蓪股窠?jīng)網(wǎng)絡(luò)將遺傳算法求解的最優(yōu)100個方案的平均灌溉用水利用率從90.9%(圖中橙色線)提升至91.7%(圖中綠色線),最優(yōu)100個方案中極優(yōu)方案的提升效果更為明顯,從91.1%提升至94.1%,優(yōu)化效果顯著。其最優(yōu)100個方案分布(紅色點代表遺傳算法最優(yōu)100個方案,藍色點代表生成對抗神經(jīng)網(wǎng)絡(luò)GAN最優(yōu)100個方案)。
圖5 遺傳算法和生成對抗神經(jīng)網(wǎng)絡(luò)算法最優(yōu)100個方案對比
4 000個方案中最佳方案如表3所示。方案中各取水口對應(yīng)的第一輪、第二輪、第三輪列中的值表示該取水口在該輪中開啟的批次。由表3可知,最優(yōu)方案中,各輪灌溉中第一批次開啟的取水口個數(shù)較多、引水量較大使得渠道水位下降,而各輪灌溉中第三批開啟的取水口個數(shù)較少、引水量較少使得渠道水位上升。渠道發(fā)揮水庫作用調(diào)節(jié)灌溉過程中引水需求時空上的不平衡狀態(tài),通過這種調(diào)節(jié)可以縮短灌溉時間,減少渠首引水量,節(jié)約灌溉水資源。此外,實際灌溉方案的制定應(yīng)權(quán)衡缺水造成的損失和因此提升的灌溉效率,可以允許一定的灌溉缺水量而最大化整體灌溉效益。
表3 模型最佳方案
1)本研究采用的遺傳算法-生成對抗神經(jīng)網(wǎng)絡(luò)模型,在求解過程中能夠避免求導(dǎo)和函數(shù)連續(xù)性的限定。遺傳算法通過不斷交叉、變異、選擇,在特定適應(yīng)度函數(shù)下采用的隨機化指導(dǎo)技術(shù)能夠?qū)Ρ疚木幋a后的方案進行高效搜索,提高現(xiàn)有傳統(tǒng)方案的灌溉效率。
2)遺傳算法-生成對抗神經(jīng)網(wǎng)絡(luò)模型能夠在學(xué)習(xí)傳統(tǒng)調(diào)度方案的基礎(chǔ)上深度挖掘各取水口用水規(guī)律,從灌區(qū)整體灌溉角度出發(fā)統(tǒng)籌規(guī)劃,突破按時、按需、順序、局部灌溉的傳統(tǒng)模式,實現(xiàn)各取水口的聯(lián)合灌溉調(diào)度。
3)生成對抗神經(jīng)網(wǎng)絡(luò)對遺傳算法優(yōu)化后的方案進一步優(yōu)化,驗證結(jié)果表明采用遺傳算法-生成對抗神經(jīng)網(wǎng)絡(luò)模型能夠?qū)⒆顑?yōu)100個方案的平均灌溉用水利用率從90.9%提升至91.7%,對于最優(yōu)方案集中的極優(yōu)方案的提升程度能夠達到3%,月節(jié)約灌溉用水315 109~1 050 362 m3。
4)本研究未考慮上游來水不確定性對灌溉過程產(chǎn)生的影響,缺乏對灌溉用水分配過程中存在的風(fēng)險的分析。下一步將側(cè)重研究多個灌區(qū)之間灌溉用水優(yōu)化配置的問題,引入不確定性因素并充分考慮上游灌區(qū)來水情況對本灌區(qū)的影響,實現(xiàn)更大規(guī)模的灌區(qū)用水優(yōu)化配置。