卓美燕,林文介
(1.福建水利電力職業(yè)技術(shù)學(xué)院,福建 永安 366000; 2.福建省莆田水利水電勘測設(shè)計院有限公司,福建 莆田 351100)
輸送石油、天然氣、水等的管道系統(tǒng)會因為管道材料選擇不當(dāng)、接頭薄弱、土方運動、泥沙等問題[1-3]造成管道泄漏??绾Rこ蹋鐕鴥?nèi)的汕頭市南澳島供水工程[4]、獐島農(nóng)村引水跨海供水工程[5]等泄漏位置多處于海底,位置難以檢測。
盡管泄漏檢測和定位很重要,但目前對于管道的泄漏影響因素還沒有很完善的研究。Ali等[6]將現(xiàn)有的檢漏方法進行了分類:第一類方法依賴于從聲學(xué)儀器、照相機、探地雷達(GPR)、光纖等收集數(shù)據(jù)[7-8]。這些方法的主要問題是可擴展性差、安裝和維護成本高、功耗高。第二類方法是使用水力學(xué)穩(wěn)態(tài)方程計算得出泄漏位置,瞬態(tài)流在網(wǎng)絡(luò)發(fā)生泄漏時可以帶來更多的信息。該方法將傳感器收集到的瞬態(tài)水利參數(shù)與穩(wěn)態(tài)方程的計算參數(shù)進行比較[9],通過參數(shù)的差異識別異常情況。但研究表明,該方法在泄漏量比較輕微或者背景噪聲較大時精度較低[10]。第三類方法是依靠傳感器的實時數(shù)據(jù)結(jié)合機器學(xué)習(xí)進行預(yù)測,Soldevila等[11]提出了一種基于分類器(K- Nearest Neighbor和Bayes)和壓力模型的配水網(wǎng)絡(luò)(water distribution networks,WDNs)泄漏檢測方法,通過收集壓力數(shù)據(jù),然后應(yīng)用K-Nearest Neighbor和Bayes分類器獲取殘差,以確定泄漏位置。該方法的優(yōu)點是采集和傳輸數(shù)據(jù)的時間間隔較短,成本較低,可考慮因素較多。
本文以莆田平海灣跨海供水應(yīng)急工程為例,使用EPANET軟件建模,分析使用水力學(xué)方程計算和使用多種神經(jīng)網(wǎng)絡(luò)進行預(yù)測泄漏位置的可行性,并與實際工程結(jié)果進行比較,以期能為跨海輸水管道泄漏問題提供參考。
EPANET軟件是由美國國家環(huán)境保護局開發(fā)的管網(wǎng)模擬軟件,可用于模擬世界各地的水分配系統(tǒng),也常用來模擬水分配系統(tǒng)中的泄漏情況[12-13]。建立好管網(wǎng)模型后,EPANET可以對管網(wǎng)的水利、水質(zhì)等各種特征進行模擬,來跟蹤管道流量、節(jié)點壓力、水齡以及模擬期間整個網(wǎng)絡(luò)的水源等。
1.2.1水力學(xué)穩(wěn)態(tài)方程
跨海管道中,依據(jù)重力場中不可壓縮流體恒定流的Bernoulli’s方程,對于管道中任意兩節(jié)點有如下方程:
(1)
式中:z1、z2分別為輸水管道1、2節(jié)點的當(dāng)?shù)馗叱蹋籶1、p2分別為輸水管道1、2節(jié)點的內(nèi)水壓力;v1、v2分別為輸水管道1、2節(jié)點平均流速,沿程不變;h2為輸水管道2節(jié)點總水頭損失,包含沿程水頭損失hf和局部水頭損失hj;ρ為水的密度;g為重力加速度。
實際工程中,管道泄漏處的總水頭難以測得,因此該計算方法只適用于完全泄漏時,即泄漏處流量等于總流量且泄漏處管道流速與海面近似(v2=0),因此令
(2)
式中:h1為陸地上測壓管所測水頭;h3為潮平面水頭。
輸水管道和配水管道的hj可按hf的10%計算,將式(2)代入式(1)可得:
h2=h1-h3=1.1hf
(3)
根據(jù)Hazen-Williams方程,泄漏處距陸地測壓管距離為
(4)
式中:Lleak為計算管段的長度;h2為單位管長水頭損失;C為Hazen-Williams系數(shù),本文管道為鋼絲網(wǎng)骨架聚乙烯復(fù)合管材質(zhì),根據(jù)SL 310—2004《村鎮(zhèn)供水工程技術(shù)規(guī)范》取為130;Q為管段流量;d為管道直徑。
1.2.2支持向量機模型
支持向量機(support vector machine,SVM)是將輸入向量非線性映射到一個高維特征空間的機器學(xué)習(xí)模型[14],在這個特征空間中根據(jù)選定的核函數(shù)構(gòu)造了一個線性決策面,決策面的特殊性質(zhì)保證了學(xué)習(xí)機具有較高的泛化能力。SVM用于回歸問題時,對于特定的訓(xùn)練樣本集D={(x11,x12,…,x1n,y1),(x21,x22,…,x2n,y2),…,(xn1,xn2,…,xnn,yn)},希望能夠得到一個f(x)使其與y盡可能接近。與SVM不同,支持向量回歸(support vector regession,SVR)允許f(x)與y之間差值大于誤差ε時才計算損失。當(dāng)訓(xùn)練樣本落入寬度為2ε的樣本帶時,預(yù)測被判斷為正確。
1.2.3BP神經(jīng)網(wǎng)絡(luò)模型
反向傳播神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)是一種最常用的前向神經(jīng)網(wǎng)絡(luò)[15],又稱誤差反向傳播網(wǎng)絡(luò),是一種多層映射網(wǎng)絡(luò),在信息向前傳播的同時,最大限度地減少反向誤差。單隱層BP神經(jīng)網(wǎng)絡(luò)可以近似任意精度的任何非線性函數(shù)[16]。BPNN使用梯度下降算法進行優(yōu)化[17]:首先,對網(wǎng)絡(luò)的連接權(quán)值和閾值進行隨機初始化;然后,利用訓(xùn)練樣本調(diào)整網(wǎng)絡(luò)的連接權(quán)值和閾值,通過梯度下降使網(wǎng)絡(luò)輸出值和實際值的均方誤差(MSE)最小。單個隱含層BPNN由輸入層、隱含層和輸出層組成。相鄰層通過權(quán)值連接,權(quán)值總是分布在-1和1之間。
本文采用相關(guān)系數(shù)和均方根誤差對不同模型的預(yù)測結(jié)果進行評價。對于管道泄漏位置預(yù)測問題,對比了2種機器學(xué)習(xí)方法的預(yù)測精度,分別構(gòu)建了K-CV-SVR模型和BP神經(jīng)網(wǎng)絡(luò)模型,圖1為2種機器學(xué)習(xí)模型的流程,主要分為兩部分:
圖1 BP神經(jīng)網(wǎng)絡(luò)模型和K-CV-SVR模型流程
圖2 EPANET構(gòu)建的供水管道模型
a.首先使用SVM-SCALE程序?qū)Τ跏紨?shù)據(jù)進行歸一化,形成訓(xùn)練集和測試集。然后使用K-CV方法對SVR模型中參數(shù)c和g進行尋優(yōu),將獲得的最優(yōu)參數(shù)分別帶入核函數(shù)。使用不同的迭代次數(shù)計算SVR模型的相關(guān)系數(shù)和均方根誤差判別預(yù)測模型的好壞,最終將測試集帶入SVR機器學(xué)習(xí)模型輸出預(yù)測值。
b.將訓(xùn)練集的數(shù)據(jù)分別帶入BP神經(jīng)網(wǎng)絡(luò)不同的激勵函數(shù)中,由于輸入輸出層各有3種激勵函數(shù)和5種學(xué)習(xí)算法,對各種函數(shù)和算法的組合進行遍歷,選出滿足誤差條件的最優(yōu)函數(shù)和算法組合,帶入訓(xùn)練集構(gòu)建預(yù)測模型。最后將測試集帶入預(yù)測模型得到管道泄漏位置的預(yù)測值。
莆田平海灣跨海供水應(yīng)急工程位于秀嶼區(qū)東南部,主要解決南日島和平海灣缺水問題,是一項民心工程。南日海島島內(nèi)居住約5.6萬人,地表水人均不足300 m3,屬極度貧水區(qū)[18]。為解決島上軍民的用水問題,當(dāng)?shù)卣疀Q定建設(shè)平海灣跨海供水工程。設(shè)計日供水規(guī)模6.5萬 t,水源來自東圳水庫,取水口駁接北岸供水工程笏石新厝店分叉口,建設(shè)東嶠、南日水廠各一座,中途建加壓泵站兩座。供水主管道長44.06 km,其中海底管道長9.86 km。海底管道采用鋼絲網(wǎng)骨架聚乙烯復(fù)合管,管徑為500 mm,其余管段為直徑500 ~800 mm的玻璃鋼管。已知平海灣跨海供水管網(wǎng)的基本參數(shù),如各管段材料、管長,各節(jié)點高程等,使用EPANET軟件構(gòu)建其基礎(chǔ)模型,如圖2所示。
當(dāng)管網(wǎng)存在泄漏時,前后管段的壓力和流量會發(fā)生改變,并且和泄漏量有關(guān)。因此前后管段的流量讀數(shù)和壓力讀數(shù)具有很強的特征性,考慮到實際測量數(shù)值的方便性,本文采用海底管道在陸地兩側(cè)的管段流量作為輸入樣本。
模擬漏失形式時,使用EPANET自帶的射流點模型。射流點是EPANET模型的節(jié)點屬性之一,通過射流點的流量與該節(jié)點壓強的關(guān)系如下:
q=Clpγ
(5)
式中:q為節(jié)點的流量;p為壓強;Cl為流量系數(shù);γ為壓強指數(shù),對于噴嘴,γ=0.5。
射流點可以模擬與連接節(jié)點相連的管道滲漏,節(jié)點的滲漏情況與壓強系數(shù)和流量系數(shù)均有關(guān),EPANET只支持對流量系數(shù)的修改,所以本文調(diào)整不同的節(jié)點流量系數(shù)以模擬現(xiàn)實中可能發(fā)生的泄漏情況。節(jié)點流量系數(shù)調(diào)整的最大值為使后管流量為零的值,選擇范圍從0至最大值均勻四等分的4組節(jié)點流量系數(shù)作為試驗參數(shù)。模擬泄漏點的間隔為200 m,因此對于總長約10 km的海底管道,得到200組流量作為輸入樣本,200個泄漏點位置作為輸出樣本,即輸入樣本共計200×2個數(shù)據(jù)。200個輸出數(shù)據(jù)。在神經(jīng)網(wǎng)絡(luò)訓(xùn)練時隨機選取60%的數(shù)據(jù)作為訓(xùn)練集數(shù)據(jù),15%的數(shù)據(jù)作為驗證集數(shù)據(jù),25%的數(shù)據(jù)作為測試集數(shù)據(jù)。
隱含層層數(shù)與節(jié)點個數(shù)會影響B(tài)P神經(jīng)網(wǎng)絡(luò)的閾值和權(quán)值大小,輸入數(shù)據(jù)經(jīng)過隱含層進行加權(quán)求和,隨后將求和的值通過方程映射獲得預(yù)測值和實際值的差會反向傳播到學(xué)習(xí)算法中,學(xué)習(xí)算法進而對隱含層的閾值和權(quán)值進行調(diào)整。因此隱含層層數(shù)和學(xué)習(xí)算法的選取對于BP神經(jīng)網(wǎng)絡(luò)十分重要。
2.3.1隱含層層數(shù)尋優(yōu)
由Kolmogorov定理可知
(6)
式中:n2為隱含層節(jié)點數(shù);n1為輸入層數(shù)目;o為輸出層數(shù)目;a為隱含層調(diào)節(jié)常數(shù),取值范圍為1~10。因此該模型的隱含層數(shù)目范圍為3~12。
2.3.2學(xué)習(xí)算法尋優(yōu)
BP神經(jīng)網(wǎng)絡(luò)常用的學(xué)習(xí)算法有trainlm、trainbr、trainscg 3種,3種學(xué)習(xí)算法分別搭配3~12層隱含層,得到了30個BP神經(jīng)網(wǎng)絡(luò)模型,對這30個神經(jīng)網(wǎng)絡(luò)模型進行訓(xùn)練,迭代次數(shù)設(shè)置為1 000次,結(jié)果見表1。由表1可以發(fā)現(xiàn)使用trainbr學(xué)習(xí)算法,隱含層層數(shù)取11時得到的相關(guān)系數(shù)最大,均方根誤差最小,因此本文選取隱含層層數(shù)為11的預(yù)測模型。
表1 BP神經(jīng)網(wǎng)絡(luò)模型不同學(xué)習(xí)算法和隱含層層數(shù)的均方根誤差和相關(guān)系數(shù)
a.數(shù)據(jù)歸一化。由于輸入的流量數(shù)值范圍大,波動大,為了避免產(chǎn)生奇異數(shù)據(jù),導(dǎo)致模型收斂速度慢,預(yù)測精度降低,使用數(shù)據(jù)歸一化將輸入的兩組流量按照公式映射到[-1,1]區(qū)間內(nèi)。
b.K-CV方法尋優(yōu)懲罰系數(shù)c和核函數(shù)參數(shù)g。懲罰系數(shù)c和核函數(shù)參數(shù)g對SVR回歸模型的回歸效果十分重要,過高的c會導(dǎo)致回歸模型過學(xué)習(xí),降低預(yù)測精度,同時增加了學(xué)習(xí)時間,提升了收斂難度;過低的c會導(dǎo)致回歸模型欠學(xué)習(xí),無法滿足要求。本文采用了K-CV(交叉驗證)方法對c和g進行尋優(yōu)。設(shè)置交叉驗證的均方根誤差小于105,多次試驗確定log2c范圍在[12,13],log2g范圍在[7,8],采樣步長為0.1,當(dāng)均方根誤差低于105時停止尋優(yōu),最終得知log2c取12.5,log2g取7.6時均方根誤差最小。
c.核函數(shù)的選擇。SVR模型常用的核函數(shù)類型包括線性核函數(shù)、多項式核函數(shù)、RBF核函數(shù)、Sigmoid核函數(shù)4類,設(shè)定SVM類型參數(shù)為3,損失函數(shù)值為0.1,nu值設(shè)置為0.5,分別用訓(xùn)練集訓(xùn)練4種核函數(shù),獲得模型后輸入訓(xùn)練集進行預(yù)測,計算4種模型的均方根誤差和相關(guān)系數(shù),結(jié)果見表2。由表2可知,使用RBF核函數(shù)進行預(yù)測的均方根誤差僅為114.36,相關(guān)系數(shù)為0.998 61,明顯優(yōu)于其他種核函數(shù),相較于其他核函數(shù)能夠更加準(zhǔn)確的通過流量預(yù)測管道泄漏的位置。
表2 不同核函數(shù)的迭代次數(shù)、均方根誤差和相關(guān)系數(shù)
將EPANET建模獲得的數(shù)據(jù)進行歸一化,并分別帶入BP神經(jīng)網(wǎng)絡(luò)模型、K-CV-SVR模型以及未優(yōu)化的SVR模型中進行訓(xùn)練和預(yù)測;同時使用EPANET軟件建立9個在不同位置的完全泄漏(泄漏點流量等于總流量)的測試集帶入2種機器學(xué)習(xí)模型中預(yù)測,并與傳統(tǒng)水力學(xué)穩(wěn)態(tài)方程進行比較。
2.5.1部分泄漏情況預(yù)測
歸一化的EPANET數(shù)據(jù)隨機選取60%和15%作為訓(xùn)練集和驗證集,分別代入3種模型中進行訓(xùn)練。得到訓(xùn)練的模型后將剩余25%測試集數(shù)據(jù)代入模型進行預(yù)測,結(jié)果如圖3所示。
由圖3可知,對于提供的測試集,3種機器學(xué)習(xí)模型都能夠較好地預(yù)測泄漏節(jié)點的所在位置,且BP神經(jīng)網(wǎng)絡(luò)模型在大部分測試點的預(yù)測精度均高于其他2種模型。進一步計算了3種模型的均方根誤差和相關(guān)系數(shù),結(jié)果見表3。由表3可見,經(jīng)過K-CV參數(shù)優(yōu)化的SVR模型精度有顯著提高,但是預(yù)測精度還是低于BP神經(jīng)網(wǎng)絡(luò)模型,BP神經(jīng)網(wǎng)絡(luò)模型和K-CV-SVR模型的相關(guān)系數(shù)都高于0.995,證明運用這2種機器學(xué)習(xí)模型預(yù)測管段泄漏具有一定的可行性和可信度。
表3 3種模型預(yù)測結(jié)果均方根誤差和相關(guān)系數(shù)
2.5.2完全泄漏情況預(yù)測
對于完全泄漏的情況,使用BP神經(jīng)網(wǎng)絡(luò)模型、K-CV-SVR模型和水力學(xué)穩(wěn)態(tài)方程進行預(yù)測。由表4可知,對于前2個泄漏位置較靠近始端的測試點,3種模型的相對誤差都較大,隨著泄漏位置逐漸遠離管道始端,2種機器學(xué)習(xí)模型的預(yù)測精度上升,水力學(xué)穩(wěn)態(tài)方程預(yù)測精度降低,推測是由于方程設(shè)定的Hazen-Williams系數(shù)過小,由管道摩擦引起的水頭損失偏小,致使預(yù)測精度隨泄漏位置距始端長度增加而增加。但是由表4看來,3種預(yù)測模型的絕對誤差都小于200 m,對于實際工程問題完全能夠接受。
表4 BP神經(jīng)網(wǎng)絡(luò)、K-CV-SVR模型和水力學(xué)穩(wěn)態(tài)方程預(yù)測結(jié)果的絕對誤差和相對誤差
2.5.3工程實例問題預(yù)測
在2016年左右,從笏石到南日島段引水工程海底管道段突然出現(xiàn)一處泄漏,測得海底管道始端流量在0.135~0.137 m3/s之間,末端管道流量為零,使用測壓管測得海底管道始端和潮平面水頭差為9.2 m,將上述數(shù)據(jù)分別帶入預(yù)測模型中對與泄漏位置進行預(yù)測,結(jié)果見表5。
表5 BP神經(jīng)網(wǎng)絡(luò)、K-CV-SVR模型和水力學(xué)穩(wěn)態(tài)方程預(yù)測結(jié)果
由表5可以發(fā)現(xiàn)3種模型預(yù)測泄漏位置都在9 km附近。事實上,利用物理介質(zhì)油和乒乓球標(biāo)識,并在海上大致范圍搜尋并探測得知,海底管道確實是在距海底管道始端約9 km處發(fā)生了泄漏,進一步證實了使用機器學(xué)習(xí)預(yù)測的可行性和可靠性。
由上述實例可以發(fā)現(xiàn),在海底管道泄漏位置預(yù)測中,機器學(xué)習(xí)模型和水力學(xué)穩(wěn)態(tài)方程能夠較好地通過海底管道始端和末端的流量大小海底管道泄漏位置。相較于水力學(xué)穩(wěn)態(tài)方程預(yù)測,機器學(xué)習(xí)預(yù)測模型能夠適用于更多泄漏場景,BP神經(jīng)網(wǎng)絡(luò)模型相較于其他預(yù)測模型擁有最好的預(yù)測精度,可為今后的海底管道泄漏位置預(yù)測提供參考。
本文通過EPANET軟件建立了海底管道泄漏模型,克服了難以進行海底管道泄漏試驗的問題,對于海底管道不同位置泄漏以及不同泄漏情況進行了模擬獲得了充分的訓(xùn)練和測試數(shù)據(jù)。為提升機器學(xué)習(xí)模型的準(zhǔn)確性和穩(wěn)定性,對BP神經(jīng)網(wǎng)絡(luò)的隱含層數(shù)和學(xué)習(xí)算法進行尋優(yōu),最終確定隱含層數(shù)11和學(xué)習(xí)算法trainbr作為最終預(yù)測模型。使用K-CV方法對SVR算法進行參數(shù)優(yōu)化,確定最優(yōu)的log2g和log2c分別為7.6與12.5,確定RBF核函數(shù)為最佳核函數(shù),避免了SVR常見的過學(xué)習(xí)情況。實例結(jié)果發(fā)現(xiàn)K-CV方法能夠充分優(yōu)化SVR模型,但預(yù)測精度弱于BP神經(jīng)網(wǎng)絡(luò)模型。
通過建模和工程實例驗證表明,機器學(xué)習(xí)預(yù)測模型能夠較好地通過管道流量變化預(yù)測海底管道泄漏位置。本文建立的海底泄漏模型僅考慮一處泄漏的情況,在實際工程問題中很可能出現(xiàn)多處泄漏的情況,因此管道流量和管道泄漏位置可能有更復(fù)雜的映射關(guān)系,而機器學(xué)習(xí)預(yù)測模型的準(zhǔn)確性就存在未知,需要更深入的研究。未來應(yīng)該加強對于機器學(xué)習(xí)參數(shù)優(yōu)選的研究,多比較不同機器學(xué)習(xí)模型的優(yōu)劣,使之更好地應(yīng)用于海底管道泄漏的預(yù)測中。