易漢文,寧 芊,趙成萍
(1.四川大學(xué) 電子信息學(xué)院,四川成都610065;2.電子信息控制重點(diǎn)試驗室,四川成都610036)
隨著科技的迅猛發(fā)展,灌區(qū)管理控制智能化成為必然趨勢。很多灌區(qū)是靠閘門調(diào)度來控制水位和流量的,渠道閘門開啟和關(guān)閉往往是依據(jù)整體水量的調(diào)配,傳統(tǒng)方式多數(shù)是基于以往水文資料和經(jīng)驗人工制訂配水計劃,在實際操作過程中依據(jù)實際來水量情況由操作人員進(jìn)行動態(tài)調(diào)配,以實現(xiàn)水量的動態(tài)配給。這種以個人經(jīng)驗為主的方法,依賴于操作人員的工作水平,從而使得配水隨機(jī)性增大,難以實現(xiàn)整體調(diào)度的自動化控制,同時也不利于灌區(qū)的統(tǒng)一管理。若建立模型,根據(jù)期望的流量自動計算出閘門開啟和關(guān)閉時機(jī),就能解決上面的問題?;谥悄芑睦砟?,筆者采用兩種建模方法,一種是基于水力學(xué)公式的單孔閘門流量-開度關(guān)系;另一種是基于神經(jīng)網(wǎng)絡(luò)算法或其他機(jī)器學(xué)習(xí)算法構(gòu)建的流量-開度模型。對于第一種方法,在實際建模中如果缺少河道及相應(yīng)的水位信息[1],將無法建立合適的模型;該方法還需要實際的閘門類型、渠道參數(shù)方能建立模型。第二種方法不依賴實際環(huán)境,計算較為簡單,但歷史數(shù)據(jù)的豐富程度決定了建模結(jié)果的好壞。本文以都江堰灌區(qū)閘門聯(lián)合調(diào)度為背景,對各分水樞紐的閘門分別建模,并對比各閘門建模效果,為模型的選擇提供依據(jù)。
都江堰內(nèi)江水系四大干渠分別為蒲陽河、柏條河、走馬河和江安河。都江堰灌區(qū)內(nèi)江水流首先經(jīng)過魚嘴流入寶瓶口,然后流到仰天窩閘門處。在仰天窩閘處,分別流向蒲柏閘和走江閘方向。流向蒲柏閘的水分別流向蒲陽河和柏條河;流向走江閘的水分別流向走馬河和江安河。都江堰內(nèi)江閘群分布見圖1,其中:仰天窩閘有6個閘孔,3孔流向蒲柏閘方向,3孔流向走江閘方向;蒲柏閘有7個閘孔,分為蒲陽河4孔、柏條河3孔;走江閘有8個閘孔,分為走馬河5孔、江安河3孔。根據(jù)數(shù)據(jù)分布以及現(xiàn)場環(huán)境的不同,分別建立各分支樞紐的流量-開度模型,對比模型優(yōu)劣。
圖1 都江堰內(nèi)江閘群分布
都江堰閘門多為寬頂堰型閘門,將閘門出流分為自由出流和淹沒出流兩種方式。根據(jù)兩種方式的流量-開度數(shù)學(xué)公式[2],首先建立單孔的流量-開度模型,再擴(kuò)展到三孔以及多孔流量-開度模型。兩種模型的建立都是基于Matlab Simulink仿真結(jié)果[3]。
設(shè)H為閘前水深,e為閘孔開度。當(dāng)水流行近閘孔時,在閘門的約束下流線發(fā)生急劇彎曲;出閘后,流線繼續(xù)收縮,并在閘門下游(0.5~1.0)e處出現(xiàn)水深最小的收縮斷面。收縮斷面的水深一般小于臨界水深hk(渠道的臨界水深與底坡坡降沒有關(guān)系,只與渠道的流量及形狀尺寸有關(guān)),水流為急流狀態(tài);而閘后渠道中的下游水深ht一般大于臨界水深hk,水流呈緩流狀態(tài);水流從急流到緩流時發(fā)生水躍,水躍位置隨下游水深ht而變化。
根據(jù)有關(guān)資料[2],閘孔自由出流流量的水力計算公式如下(其中流量系數(shù)μ取南京水利科學(xué)研究院的經(jīng)驗公式計算結(jié)果):
閘孔淹沒出流流量的水力計算公式為
式中:b為閘門寬度;g為重力加速度;σs為淹沒系數(shù),σs值與下游水深ht、收縮斷面水深的共軛水深h″c、閘前水深H有關(guān)。
模型實現(xiàn)流程見圖2。
圖2 單孔閘門流量-開度模型流程
單孔閘門流量開度模型擴(kuò)展到多孔閘門時,在灌區(qū)調(diào)度實際允許的誤差范圍內(nèi),可以認(rèn)為多孔閘門出流的總流量Q就是該閘門各個閘孔所需的流量之和,即
式中:Q1、Q2、…、Qn分別為各單孔出流量。
都江堰灌區(qū)閘門多為三孔閘門,也有少數(shù)閘門為三孔以上,如蒲陽河為4孔、走馬河為5孔。從獲得的歷史數(shù)據(jù)來看,蒲陽河2號和3號閘孔開度相同的情況約占80%,最大差值為0.5 m,根據(jù)實際情況,將2號和3號閘孔看作一個整體,同開同關(guān)。走馬河在洪汛期2號、3號和4號閘孔的開度比較大,大于水面高度;枯水期,閘門開度較小。走馬河2號、3號和4號閘孔的開度相似度為80%左右,最大差值為0.5 m,可將2號、3號和4號閘孔看成一個整體。
從上述等效過程來看,在試驗灌區(qū)建立開度模型時,對于部分多孔閘門可采用三孔閘門的流量開度模型。
2.2.1 三孔閘門啟閉規(guī)則
為了使閘門的開啟和關(guān)閉更加安全可靠,遵循動閘最少原則,在實際操作過程中應(yīng)遵守一定的啟閉規(guī)則。都江堰閘門主要的啟閉規(guī)則[3]是:考慮到閘門提升時,靠近河岸的閘門出水會受到影響,當(dāng)需要增加閘孔出流量時,先判斷哪些閘門在水面以下,當(dāng)前開度最大的應(yīng)最后提升至合適位置;若閘門的開度近似相等,由于中間閘門出水受河岸影響小,因此先提升中間閘門,然后提升不靠近河岸的閘門,最后才考慮靠近河岸的閘門;當(dāng)需要減小閘孔出流量時,應(yīng)判斷哪些閘門開度不是零,開度最小的最后下降至合適位置,若閘門的開度都相同,應(yīng)先降低靠近河岸的邊孔,最后減小中間閘孔開度。
2.2.2 三孔閘門流量-開度模型建立
在文獻(xiàn)[3]的公式討論中,只能根據(jù)開度、水位等信息求得當(dāng)前的過閘流量。但在實際調(diào)度過程中總是希望得到一個滿足期望流量的開度。為了求得合適的開度,不能簡單對原來的公式進(jìn)行反向求解。本文選取一組分布較為均勻的數(shù)據(jù)(記錄了單個閘孔的閘門開度、過閘流量等),擬合出一條流量與開度的關(guān)系曲線。對于三孔以及多孔閘門,也可以用該關(guān)系曲線求出各閘門開度。依據(jù)啟閉規(guī)則與關(guān)系曲線得到模型流程(見圖 3),其中:error為允許誤差范圍, e1、e2、e3為按照啟閉規(guī)則排序后的閘孔順序及開度大小,QC為當(dāng)前流量,QH為期望流量,Q1為e1調(diào)后當(dāng)前流量,Q2為e1、e2調(diào)后當(dāng)前流量,Q3為 e1、e2、e3調(diào)后當(dāng)前流量,ΔQ1、ΔQ2、ΔQ3為當(dāng)前流量差。
圖3 三孔閘門流量-開度模型流程
2.3.1 神經(jīng)網(wǎng)絡(luò)模型
人工神經(jīng)網(wǎng)絡(luò)的優(yōu)點(diǎn)在于具有逼近連續(xù)非線性函數(shù)的能力,而且能從大量歷史數(shù)據(jù)中獲取知識,當(dāng)有新的輸入產(chǎn)生時,能對結(jié)果有較好的預(yù)測。神經(jīng)網(wǎng)絡(luò)模型的結(jié)構(gòu)種類較多,例如感知器、Hopfield網(wǎng)絡(luò)、BAM網(wǎng)絡(luò)、徑向基神經(jīng)網(wǎng)絡(luò)、自組織特征映射神經(jīng)網(wǎng)絡(luò)[4]等。BP神經(jīng)網(wǎng)絡(luò)應(yīng)用廣泛,由輸入層、隱含層、輸出層構(gòu)成。其中隱含層的層數(shù)越多,計算過程越復(fù)雜,輸入層和輸出層權(quán)值的激勵函數(shù),正是不斷反復(fù)通過輸入信號的正向傳遞與誤差的反向傳遞這一過程,實現(xiàn)對權(quán)值的修改[5]。誤差反向傳遞使實際值與期望值的均方差達(dá)到最小,由此神經(jīng)網(wǎng)絡(luò)具有獲取知識的能力。由式(1)可知,影響閘門過閘流量的主要因素為閘門開度、閘門寬度、閘前水深,反向求解過程中影響開度的因素也易知。本文以閘門開度、閘門寬度、閘前水深為BP神經(jīng)網(wǎng)絡(luò)的3個輸入因子,以3個閘孔的開度為輸出因子,建立3層神經(jīng)網(wǎng)絡(luò)模型(見圖4)。
圖4 閘門流量-開度神經(jīng)網(wǎng)絡(luò)模型
LM算法[6-8]是一種利用標(biāo)準(zhǔn)的數(shù)值優(yōu)化技術(shù)的快速算法,是梯度下降法與高斯-牛頓法的結(jié)合,也可以稱為是高斯-牛頓法的改進(jìn)形式,既有高斯-牛頓法的局部收斂性,又具有梯度法的全局特性。由于LM算法利用了近似的二階導(dǎo)數(shù)信息,因此LM算法比梯度法快得多,解決了BP算法收斂速度慢、易陷入局部最優(yōu)的問題[9]。
2.3.2 SVM模型
支持向量機(jī)(SVM)[10-11]起初是用于解決模式識別問題[7],由 Vapnic[12-13]于 20 世紀(jì) 90 年代提出,具有良好范化性、適用于小樣本、數(shù)學(xué)表達(dá)簡捷等優(yōu)點(diǎn),被廣泛應(yīng)用于線性和非線性曲線擬合當(dāng)中,并在許多實際問題中取得優(yōu)良成果。大多數(shù)傳統(tǒng)的SVM模型的輸出為單個,模型的核函數(shù)為一個。就本研究的數(shù)據(jù)來看,若用SVM來建立模型,則要求采用多個核函數(shù)方法來訓(xùn)練模型[14-15]。考慮用閘后流量、閘門寬度、閘前水深作為模型的3個輸入,3個閘孔的開度作為輸出,得到多輸出SVM 結(jié)構(gòu)圖(見圖5),其中:x1、x2、x3為輸入特征值,K(x,xi)為核函數(shù),a 為偏置,S 中間值,y為輸出特征值。
圖5 閘門流量-開度SVM模型
先以柏條河閘門開度信息為例,其中143組數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),29組作為校驗集,28組作為測試集,且各樣本隨機(jī)組合產(chǎn)生。柏條河閘門部分歷史數(shù)據(jù)見表1。柏條河閘孔數(shù)為3,由試驗可得,若用神經(jīng)網(wǎng)絡(luò)模型作為預(yù)測模型,3層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為:輸入層神經(jīng)元個數(shù)為3,隱含層神經(jīng)元個數(shù)為6,輸出層神經(jīng)元個數(shù)為3,并且隱含層激勵函數(shù)為logsig,輸出層激勵函數(shù)為pureline。以此所建立的模型的輸出誤差較小,且輸出開度不為負(fù)數(shù)。
單一的對比無法說明模型好壞。將表1中隨機(jī)抽取的28組測試集數(shù)據(jù)作為基于水力學(xué)模型的輸入,得出預(yù)測閘門開度,將實際值和兩種模型的預(yù)測值置于同一圖中,橫軸為樣本序號,縱軸為開度值。由此可見3種情況下的閘門開度有如下規(guī)律:閘孔2(中孔)開度較大,其次是靠近河岸的。從表1來看,在實際操作中大多數(shù)動閘不符合上文所述動閘規(guī)則,而且柏條河閘門流量會受到蒲陽河動閘的影響。而水力學(xué)模型建模時比較依賴上次動閘參數(shù)以及動閘規(guī)則,可知水力學(xué)建模時誤差較大(見表2與圖6)。神經(jīng)網(wǎng)絡(luò)建模3個閘孔的均方誤差分別為12%、18%、5.0%,總均方誤差為14.0%,低于實際工程要求的20%,可見神經(jīng)網(wǎng)絡(luò)建模較為理想。
表1 柏條河閘門歷史數(shù)據(jù)
表2 SVM模型與其他模型預(yù)測結(jié)果均方誤差比較
圖6 神經(jīng)網(wǎng)絡(luò)模型和水力學(xué)模型輸出各個閘門開度對比
由圖7與表2可以看出,SVM單孔預(yù)測均方誤差分別為4.0%、0.35%、0.01%,總均方誤差為0.13%,對于動閘次數(shù)較多的閘孔2預(yù)測效果優(yōu)于神經(jīng)網(wǎng)路的預(yù)測效果,閘孔1與閘孔2也更接近實際值。從總閘孔誤差和單孔誤差來看,SVM模型的學(xué)習(xí)算法相對其他兩種算法均較好。
分別從蒲陽河、走馬河、江安河選取一組符合動閘規(guī)則且較為完整的閘門信息,用3種模型進(jìn)行預(yù)測,結(jié)果見表3。由試驗結(jié)果可以看出,滿足動閘規(guī)則、河道等參數(shù)信息較為完整的情況下,水力學(xué)模型建模較為理想。對于蒲陽河數(shù)據(jù),總體分布不均勻,導(dǎo)致神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果誤差較大,而SVM在3組數(shù)據(jù)中均有很好的預(yù)測結(jié)果。
圖7 神經(jīng)網(wǎng)絡(luò)模型和SVM模型輸出各個閘門開度對比
表3 蒲陽河、走馬河、江安河實際閘門開度與各模型輸出閘門開度對比 m
由仿真試驗結(jié)果可以看出,基于水力學(xué)關(guān)系與機(jī)器學(xué)習(xí)構(gòu)建模型各有優(yōu)缺點(diǎn)。理論上的水力學(xué)建模比較依賴于河道信息、水位、動閘規(guī)則等,在實際工作中往往不能獲取滿足理論要求的數(shù)據(jù)。除此之外,水力學(xué)建模效果還受河道調(diào)度情況的影響。相對而言,機(jī)器學(xué)習(xí)建模比較依賴于歷史數(shù)據(jù)的分布,在數(shù)據(jù)分布較為均勻且數(shù)據(jù)量大的情況下,所得預(yù)測結(jié)果較為準(zhǔn)確。當(dāng)水力學(xué)模型所要求的數(shù)據(jù)不理想時,可以選擇機(jī)器學(xué)習(xí)模型建立預(yù)測模型。
在上文討論中,使用不同的機(jī)器學(xué)習(xí)模型建模,建模效果也有明顯差別。神經(jīng)網(wǎng)絡(luò)模型依賴數(shù)據(jù)量與數(shù)據(jù)的分布,而且模型在訓(xùn)練時易陷于局部最優(yōu),而SVM模型在數(shù)據(jù)量較少的情況下也能有較好的學(xué)習(xí)效果。對于都江堰灌區(qū),受現(xiàn)場條件限制,加上對異常數(shù)據(jù)進(jìn)行剔除修改,只能得到小樣本數(shù)據(jù)集,用SVM建模較為理想。