易漢文,寧 芊,趙成萍
(1.四川大學 電子信息學院,四川成都610065;2.電子信息控制重點試驗室,四川成都610036)
隨著科技的迅猛發展,灌區管理控制智能化成為必然趨勢。很多灌區是靠閘門調度來控制水位和流量的,渠道閘門開啟和關閉往往是依據整體水量的調配,傳統方式多數是基于以往水文資料和經驗人工制訂配水計劃,在實際操作過程中依據實際來水量情況由操作人員進行動態調配,以實現水量的動態配給。這種以個人經驗為主的方法,依賴于操作人員的工作水平,從而使得配水隨機性增大,難以實現整體調度的自動化控制,同時也不利于灌區的統一管理。若建立模型,根據期望的流量自動計算出閘門開啟和關閉時機,就能解決上面的問題。基于智能化的理念,筆者采用兩種建模方法,一種是基于水力學公式的單孔閘門流量-開度關系;另一種是基于神經網絡算法或其他機器學習算法構建的流量-開度模型。對于第一種方法,在實際建模中如果缺少河道及相應的水位信息[1],將無法建立合適的模型;該方法還需要實際的閘門類型、渠道參數方能建立模型。第二種方法不依賴實際環境,計算較為簡單,但歷史數據的豐富程度決定了建模結果的好壞。本文以都江堰灌區閘門聯合調度為背景,對各分水樞紐的閘門分別建模,并對比各閘門建模效果,為模型的選擇提供依據。
都江堰內江水系四大干渠分別為蒲陽河、柏條河、走馬河和江安河。都江堰灌區內江水流首先經過魚嘴流入寶瓶口,然后流到仰天窩閘門處。在仰天窩閘處,分別流向蒲柏閘和走江閘方向。流向蒲柏閘的水分別流向蒲陽河和柏條河;流向走江閘的水分別流向走馬河和江安河。都江堰內江閘群分布見圖1,其中:仰天窩閘有6個閘孔,3孔流向蒲柏閘方向,3孔流向走江閘方向;蒲柏閘有7個閘孔,分為蒲陽河4孔、柏條河3孔;走江閘有8個閘孔,分為走馬河5孔、江安河3孔。根據數據分布以及現場環境的不同,分別建立各分支樞紐的流量-開度模型,對比模型優劣。

圖1 都江堰內江閘群分布
都江堰閘門多為寬頂堰型閘門,將閘門出流分為自由出流和淹沒出流兩種方式。根據兩種方式的流量-開度數學公式[2],首先建立單孔的流量-開度模型,再擴展到三孔以及多孔流量-開度模型。兩種模型的建立都是基于Matlab Simulink仿真結果[3]。
設H為閘前水深,e為閘孔開度。當水流行近閘孔時,在閘門的約束下流線發生急劇彎曲;出閘后,流線繼續收縮,并在閘門下游(0.5~1.0)e處出現水深最小的收縮斷面。收縮斷面的水深一般小于臨界水深hk(渠道的臨界水深與底坡坡降沒有關系,只與渠道的流量及形狀尺寸有關),水流為急流狀態;而閘后渠道中的下游水深ht一般大于臨界水深hk,水流呈緩流狀態;水流從急流到緩流時發生水躍,水躍位置隨下游水深ht而變化。
根據有關資料[2],閘孔自由出流流量的水力計算公式如下(其中流量系數μ取南京水利科學研究院的經驗公式計算結果):

閘孔淹沒出流流量的水力計算公式為

式中:b為閘門寬度;g為重力加速度;σs為淹沒系數,σs值與下游水深ht、收縮斷面水深的共軛水深h″c、閘前水深H有關。
模型實現流程見圖2。

圖2 單孔閘門流量-開度模型流程
單孔閘門流量開度模型擴展到多孔閘門時,在灌區調度實際允許的誤差范圍內,可以認為多孔閘門出流的總流量Q就是該閘門各個閘孔所需的流量之和,即

式中:Q1、Q2、…、Qn分別為各單孔出流量。
都江堰灌區閘門多為三孔閘門,也有少數閘門為三孔以上,如蒲陽河為4孔、走馬河為5孔。從獲得的歷史數據來看,蒲陽河2號和3號閘孔開度相同的情況約占80%,最大差值為0.5 m,根據實際情況,將2號和3號閘孔看作一個整體,同開同關。走馬河在洪汛期2號、3號和4號閘孔的開度比較大,大于水面高度;枯水期,閘門開度較小。走馬河2號、3號和4號閘孔的開度相似度為80%左右,最大差值為0.5 m,可將2號、3號和4號閘孔看成一個整體。
從上述等效過程來看,在試驗灌區建立開度模型時,對于部分多孔閘門可采用三孔閘門的流量開度模型。
2.2.1 三孔閘門啟閉規則
為了使閘門的開啟和關閉更加安全可靠,遵循動閘最少原則,在實際操作過程中應遵守一定的啟閉規則。都江堰閘門主要的啟閉規則[3]是:考慮到閘門提升時,靠近河岸的閘門出水會受到影響,當需要增加閘孔出流量時,先判斷哪些閘門在水面以下,當前開度最大的應最后提升至合適位置;若閘門的開度近似相等,由于中間閘門出水受河岸影響小,因此先提升中間閘門,然后提升不靠近河岸的閘門,最后才考慮靠近河岸的閘門;當需要減小閘孔出流量時,應判斷哪些閘門開度不是零,開度最小的最后下降至合適位置,若閘門的開度都相同,應先降低靠近河岸的邊孔,最后減小中間閘孔開度。
2.2.2 三孔閘門流量-開度模型建立
在文獻[3]的公式討論中,只能根據開度、水位等信息求得當前的過閘流量。但在實際調度過程中總是希望得到一個滿足期望流量的開度。為了求得合適的開度,不能簡單對原來的公式進行反向求解。本文選取一組分布較為均勻的數據(記錄了單個閘孔的閘門開度、過閘流量等),擬合出一條流量與開度的關系曲線。對于三孔以及多孔閘門,也可以用該關系曲線求出各閘門開度。依據啟閉規則與關系曲線得到模型流程(見圖 3),其中:error為允許誤差范圍, e1、e2、e3為按照啟閉規則排序后的閘孔順序及開度大小,QC為當前流量,QH為期望流量,Q1為e1調后當前流量,Q2為e1、e2調后當前流量,Q3為 e1、e2、e3調后當前流量,ΔQ1、ΔQ2、ΔQ3為當前流量差。

圖3 三孔閘門流量-開度模型流程
2.3.1 神經網絡模型
人工神經網絡的優點在于具有逼近連續非線性函數的能力,而且能從大量歷史數據中獲取知識,當有新的輸入產生時,能對結果有較好的預測。神經網絡模型的結構種類較多,例如感知器、Hopfield網絡、BAM網絡、徑向基神經網絡、自組織特征映射神經網絡[4]等。BP神經網絡應用廣泛,由輸入層、隱含層、輸出層構成。其中隱含層的層數越多,計算過程越復雜,輸入層和輸出層權值的激勵函數,正是不斷反復通過輸入信號的正向傳遞與誤差的反向傳遞這一過程,實現對權值的修改[5]。誤差反向傳遞使實際值與期望值的均方差達到最小,由此神經網絡具有獲取知識的能力。由式(1)可知,影響閘門過閘流量的主要因素為閘門開度、閘門寬度、閘前水深,反向求解過程中影響開度的因素也易知。本文以閘門開度、閘門寬度、閘前水深為BP神經網絡的3個輸入因子,以3個閘孔的開度為輸出因子,建立3層神經網絡模型(見圖4)。

圖4 閘門流量-開度神經網絡模型
LM算法[6-8]是一種利用標準的數值優化技術的快速算法,是梯度下降法與高斯-牛頓法的結合,也可以稱為是高斯-牛頓法的改進形式,既有高斯-牛頓法的局部收斂性,又具有梯度法的全局特性。由于LM算法利用了近似的二階導數信息,因此LM算法比梯度法快得多,解決了BP算法收斂速度慢、易陷入局部最優的問題[9]。
2.3.2 SVM模型
支持向量機(SVM)[10-11]起初是用于解決模式識別問題[7],由 Vapnic[12-13]于 20 世紀 90 年代提出,具有良好范化性、適用于小樣本、數學表達簡捷等優點,被廣泛應用于線性和非線性曲線擬合當中,并在許多實際問題中取得優良成果。大多數傳統的SVM模型的輸出為單個,模型的核函數為一個。就本研究的數據來看,若用SVM來建立模型,則要求采用多個核函數方法來訓練模型[14-15]??紤]用閘后流量、閘門寬度、閘前水深作為模型的3個輸入,3個閘孔的開度作為輸出,得到多輸出SVM 結構圖(見圖5),其中:x1、x2、x3為輸入特征值,K(x,xi)為核函數,a 為偏置,S 中間值,y為輸出特征值。

圖5 閘門流量-開度SVM模型
先以柏條河閘門開度信息為例,其中143組數據作為訓練數據,29組作為校驗集,28組作為測試集,且各樣本隨機組合產生。柏條河閘門部分歷史數據見表1。柏條河閘孔數為3,由試驗可得,若用神經網絡模型作為預測模型,3層神經網絡結構為:輸入層神經元個數為3,隱含層神經元個數為6,輸出層神經元個數為3,并且隱含層激勵函數為logsig,輸出層激勵函數為pureline。以此所建立的模型的輸出誤差較小,且輸出開度不為負數。
單一的對比無法說明模型好壞。將表1中隨機抽取的28組測試集數據作為基于水力學模型的輸入,得出預測閘門開度,將實際值和兩種模型的預測值置于同一圖中,橫軸為樣本序號,縱軸為開度值。由此可見3種情況下的閘門開度有如下規律:閘孔2(中孔)開度較大,其次是靠近河岸的。從表1來看,在實際操作中大多數動閘不符合上文所述動閘規則,而且柏條河閘門流量會受到蒲陽河動閘的影響。而水力學模型建模時比較依賴上次動閘參數以及動閘規則,可知水力學建模時誤差較大(見表2與圖6)。神經網絡建模3個閘孔的均方誤差分別為12%、18%、5.0%,總均方誤差為14.0%,低于實際工程要求的20%,可見神經網絡建模較為理想。

表1 柏條河閘門歷史數據

表2 SVM模型與其他模型預測結果均方誤差比較

圖6 神經網絡模型和水力學模型輸出各個閘門開度對比
由圖7與表2可以看出,SVM單孔預測均方誤差分別為4.0%、0.35%、0.01%,總均方誤差為0.13%,對于動閘次數較多的閘孔2預測效果優于神經網路的預測效果,閘孔1與閘孔2也更接近實際值。從總閘孔誤差和單孔誤差來看,SVM模型的學習算法相對其他兩種算法均較好。
分別從蒲陽河、走馬河、江安河選取一組符合動閘規則且較為完整的閘門信息,用3種模型進行預測,結果見表3。由試驗結果可以看出,滿足動閘規則、河道等參數信息較為完整的情況下,水力學模型建模較為理想。對于蒲陽河數據,總體分布不均勻,導致神經網絡預測結果誤差較大,而SVM在3組數據中均有很好的預測結果。

圖7 神經網絡模型和SVM模型輸出各個閘門開度對比

表3 蒲陽河、走馬河、江安河實際閘門開度與各模型輸出閘門開度對比 m
由仿真試驗結果可以看出,基于水力學關系與機器學習構建模型各有優缺點。理論上的水力學建模比較依賴于河道信息、水位、動閘規則等,在實際工作中往往不能獲取滿足理論要求的數據。除此之外,水力學建模效果還受河道調度情況的影響。相對而言,機器學習建模比較依賴于歷史數據的分布,在數據分布較為均勻且數據量大的情況下,所得預測結果較為準確。當水力學模型所要求的數據不理想時,可以選擇機器學習模型建立預測模型。
在上文討論中,使用不同的機器學習模型建模,建模效果也有明顯差別。神經網絡模型依賴數據量與數據的分布,而且模型在訓練時易陷于局部最優,而SVM模型在數據量較少的情況下也能有較好的學習效果。對于都江堰灌區,受現場條件限制,加上對異常數據進行剔除修改,只能得到小樣本數據集,用SVM建模較為理想。