給水管網(wǎng)水力模擬計算算法的優(yōu)化
論文類型 | 技術(shù)與工程 | 發(fā)表日期 | 2000-11-01 |
來源 | 管道更新改造研討會 | ||
作者 | 魏寶成,袁一星,郭爽 | ||
關(guān)鍵詞 | 給水管網(wǎng) 水力模擬 | ||
摘要 | 魏寶成,袁一星,郭爽 (哈爾濱工業(yè)大學(xué)給水排水系統(tǒng)研究室) 摘要:本文介紹了給水管網(wǎng)水力模擬計算的算法,以及提高水力模擬計算軟件計算速度的方法。 關(guān)鍵詞:給水管網(wǎng);水力模擬 Optimization of Simulation Algorithm in Water Supply Networ ... |
魏寶成,袁一星,郭爽
(哈爾濱工業(yè)大學(xué)給水排水系統(tǒng)研究室)
摘要:本文介紹了給水管網(wǎng)水力模擬計算的算法,以及提高水力模擬計算軟件計算速度的方法。
關(guān)鍵詞:給水管網(wǎng);水力模擬
Optimization of Simulation Algorithm in Water Supply Network
Wei baocheng, Yun yixing, Guo Shuang
(Workgroup of Water & Wastewater System, Harbin Institute of Technology)
Abstract: This paper describes the algorithm of water supply net1work simulation and the method to accelerate the calculation of water supply network simulation software.
Key words: water supply network; hydraulic simulation
在供水綜合管理信息系統(tǒng)中,供水管網(wǎng)的水力模擬計算軟件處在一個非常關(guān)鍵的位置,是整個系統(tǒng)的“核心”所在。
由于城市規(guī)模的擴(kuò)大,供水管網(wǎng)的規(guī)模也越來越大,管網(wǎng)計算的運算量也越來越大,以往的計算程序在計算幾十個節(jié)點的管網(wǎng)時還能勝任,而當(dāng)進(jìn)行幾百、幾千、甚至上萬個節(jié)點的大規(guī)模管網(wǎng)時,其速度就變得無法令人忍受。另外在現(xiàn)代數(shù)學(xué)中,有很多優(yōu)化理論,單從理論本身出發(fā)是可以應(yīng)用于供水管網(wǎng)的優(yōu)化計算、實時調(diào)度方面,但由于管網(wǎng)信息量大,管網(wǎng)模擬計算軟件的速度較慢,進(jìn)行一次計算,往往需要幾個小時、幾天,這樣的計算結(jié)果對指導(dǎo)實踐是沒有實際意義的,因此提高供水管網(wǎng)水力計算的速度是一個重要的課題。
1、理論基礎(chǔ)
對給水管網(wǎng)進(jìn)行水力模擬總是聯(lián)立求解連續(xù)性方程、能量方程和壓降方程。其中解節(jié)點方程是聯(lián)立壓降方程和連續(xù)性方程,是現(xiàn)在多數(shù)水力計算程序采用的算法。
所謂連續(xù)性方程,就是對任一節(jié)點來說,流向該節(jié)點的流量必須等于從該節(jié)點流出的流量。
Qi+Σqij=0
將管段的壓降方程代入連續(xù)性方程,則任意一個節(jié)點的連續(xù)性方程可寫成:
式中指數(shù)α=0.54,M為節(jié)點數(shù)(不包括已知節(jié)點),qi為節(jié)點流量(m3/s)。式中l(wèi)表示管段號,i,j表示管段l的上下游節(jié)點標(biāo)號,所謂上下游是這樣規(guī)定的,管段l的計算流向(參考流向)是從節(jié)點i流向節(jié)點j的。
這是一個非線形方程組,不能直接得到其解析解。解非線形方程組比較困難,方法有多種,比較常用的是牛頓-拉斐森方法。
記E為以Ei為分量的向量,f為以fi分量的向量,在E的領(lǐng)域內(nèi)可進(jìn)行泰勒級數(shù)展開:
偏導(dǎo)數(shù)構(gòu)成的矩陣是雅可比(Jacobian)矩陣J
可以得到:
忽略高階項,并置F(E+δE)=0,將可得到一個關(guān)于修正項δE的線性方程組。即
J·δE=-F
其中δE可使每個函數(shù)都同時接近于零。
整個這一過程就是非線形方程組的“線形化”過程,可變化成解一個線性方程組,并將求出的修正項加到解向量中:
Enew=Eold+δE
這個過程不斷迭代,直到收斂為止。
2算法的優(yōu)化
2.1系統(tǒng)選用了高效的算法
1.牛頓法雖然已經(jīng)不能算是一個新算法,但它在收斂速度上有著無可比擬的優(yōu)勢,并且后面我們提到,可以對它適當(dāng)改造,來克服它自身的缺點。
2.改進(jìn)平方根法是解線性方程組直接解法中速度最快的一種,由于其很好的利用了連續(xù)性方程雅可比矩陣的性質(zhì),使它在求解這一方程時,具有很高的效率,其求解效率幾乎是高斯法的兩倍,并且可以很好的與數(shù)據(jù)壓縮算法共同工作。
3.共軛梯度法是是解線性方程組迭代解法中較好的一種,其算法穩(wěn)定收斂快,并且可以進(jìn)一步節(jié)省內(nèi)存,當(dāng)管網(wǎng)的規(guī)模超大,直接解法不能運算時,它是一種很好的補(bǔ)充;在一般規(guī)模的管網(wǎng)下,也可結(jié)合直接解法,使迭代的速度加快。
2.2牛頓步長因子的改進(jìn)
牛頓法是求解非線形方程組的一個經(jīng)典方法,由于其收斂快,因此直到現(xiàn)在它仍然是一個重要方法,很多新的算法都是對它的改進(jìn)。但它的問題也是很明顯的,就是當(dāng)初值選擇不好時,它有可能不收斂。而初值的選擇往往具有隨意性,這樣計算往往是發(fā)散的。
為解決這一問題,迭代公式中加入步長因子λ,這樣迭代公式就變成了
Enew=Eold+λδE
步長因子λ控制迭代收斂的速度也影響著模型是否收斂,本文作者通過對步長因子λ的處理使整個迭代過程即保證收斂而且收斂較快。
2.3數(shù)據(jù)的壓縮存儲
供水管網(wǎng)方程的連續(xù)性方程的雅可比矩陣的階數(shù)是很高的。計算數(shù)據(jù)占用的計算機(jī)內(nèi)存非常驚人的,如果不對雅克比矩陣進(jìn)行壓縮,可能將導(dǎo)致計算不能進(jìn)行。同時該矩陣具有對稱性、正定性、帶狀性、稀疏性的特點,進(jìn)行矩陣壓縮是可行的。通過對矩陣的壓縮也可使參與計算的數(shù)據(jù)量減小,從而提高計算的速度。作者采用的是一維變代寬存儲壓縮技術(shù)。
2.4優(yōu)化帶寬
用一維變帶寬算法存儲雅可比矩陣,矩陣的帶寬和節(jié)點的編號有關(guān),管段的起止節(jié)點編號差越大,雅可比矩陣的半帶寬也越大,解方程組的效率也越低,如果帶寬太大而導(dǎo)致三角塊無法存儲,求解也就無法進(jìn)行。為了提高解方程的效率,在進(jìn)行節(jié)點編號時,要使節(jié)點差盡量的小。但如果這部分工作用手工完成,將花費大量的精力。所以要采用自動編號來對帶寬進(jìn)行優(yōu)化。
本文作者采用有限單元理論中的優(yōu)化編號方法,自動進(jìn)行節(jié)點編號,對帶寬進(jìn)行優(yōu)化。使數(shù)據(jù)的存儲量變到最小,對提高計算速度起到十分明顯的作用。
2.5管網(wǎng)簡化
前面提到供水管網(wǎng)連續(xù)性方程的階數(shù)是很高的,求解這一方程的計算量和階數(shù)的立方成正比,也就是說如果管網(wǎng)中節(jié)點的個數(shù)增加到原來的2倍,其計算量幾乎增加到原來的8倍,因此如何能等效簡化管網(wǎng)是一個非常有意義的課題。
1.支狀管網(wǎng)簡化。供水管網(wǎng)中有許多支狀管網(wǎng),根據(jù)流體力學(xué)的計算理論,這些管段完全可以簡化掉,而且并不影響管網(wǎng)模擬計算的精度。
2.環(huán)狀管網(wǎng)簡化。環(huán)狀管網(wǎng)簡化比較復(fù)雜,會導(dǎo)致一定誤差。在允許誤差范圍內(nèi)簡化環(huán)狀管網(wǎng)是一個很新的課題。國外有些研究單位可以將一個復(fù)雜管網(wǎng)簡化到只有幾十個節(jié)點的程度,誤差還不大,這種技術(shù)主要應(yīng)用在優(yōu)化調(diào)度領(lǐng)域。
本文作者通過編寫計算機(jī)程序?qū)崿F(xiàn)了對管網(wǎng)數(shù)據(jù)自動進(jìn)行支狀的簡化。這種簡化不影響計算結(jié)果,當(dāng)管網(wǎng)中支狀管數(shù)量較多時,通過這種處理后,水力模擬計算速度的提高是十分明顯的。
2.6管網(wǎng)數(shù)據(jù)檢查
平差計算時,錄入數(shù)據(jù)常常發(fā)生錯誤,如編號錯誤、遺漏節(jié)點管段等,這將直接直接影響導(dǎo)致網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,當(dāng)網(wǎng)絡(luò)很復(fù)雜,查找錯誤將變得很困難,因此編寫了自動檢查錯誤程序。
供水管網(wǎng)的拓?fù)浣Y(jié)構(gòu)是一張圖,用圖論中圖的遍歷算法可發(fā)現(xiàn)圖紙中拓?fù)浣Y(jié)構(gòu)的錯誤。通常有兩條遍歷圖的路徑,深度優(yōu)先搜索和廣度優(yōu)先搜索。本文作者采用的是深度優(yōu)先搜索算法。
2.7數(shù)據(jù)結(jié)構(gòu)的優(yōu)化
進(jìn)行上訴算法的優(yōu)化必須以較好得數(shù)據(jù)結(jié)構(gòu)為基礎(chǔ),作者編寫的計算程序中用面向?qū)ο虻木幊谭椒▽?shù)據(jù)結(jié)構(gòu)實現(xiàn)了動態(tài)描述。通過這種數(shù)據(jù)結(jié)構(gòu)的建立,可實現(xiàn)對數(shù)據(jù)的快速排序和查找,并能保證上訴優(yōu)化算法快速實現(xiàn)。
除此以外,計算程序中添加了計算結(jié)果的匯總分析功能,可生成詳盡的結(jié)果報告。
3計算結(jié)果檢驗
3.1計算結(jié)果的正確性檢查
為驗證計算結(jié)果的正確性,用3個相同的算例,不同的程序?qū)λM(jìn)行了計算,對計算結(jié)果進(jìn)行了比較,其計算結(jié)果符合的非常好。這3個算例,一個是自己設(shè)計的(53個節(jié)點,78條管段);一個是公主嶺的管網(wǎng)(312個節(jié)點,386條管段);一個是天津市供水管網(wǎng)(3435個節(jié)點,4498條管段)。選用的對比程序有3個,一個是LOOP(世界銀行貸款資助的軟件);一個是WM5(國外知名水力模擬軟件,全名WaterMan ver5.0);另外一個是國內(nèi)的一個優(yōu)秀計算軟件WQR。計算結(jié)果之間的差別是很小的,主要是選取有效數(shù)字位數(shù)不同或采用的計算公式不同造成的。
3.2優(yōu)化編號的作用
對于前兩個算例,計算速度很難進(jìn)行比較,因為計算的時間太短了,但采用共軛梯度法的計算程序,在管網(wǎng)規(guī)模不是很大時,其計算計算速度十分快,原因是方程階數(shù)低造成的管網(wǎng)初值與正確解比較接近,使共軛梯度法的收斂速度得到充分的發(fā)揮。管網(wǎng)規(guī)模擴(kuò)大時,由于LOOP和WM5都不能求解,所以只能與WQR程序進(jìn)行對比。計算天津管網(wǎng),WQR程序需要150秒,而這個程序只需要22秒。速度的提升是明顯的,而且在理論上,管網(wǎng)的規(guī)模越大,其速度比將越大。
3.3支狀管網(wǎng)簡化
支狀管網(wǎng)簡化的效果根據(jù)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)的不同而不同。由于數(shù)據(jù)結(jié)構(gòu)的優(yōu)化,進(jìn)行簡化的過程很短,對于天津這樣大型的管網(wǎng)花費的時間在0.5秒左右。
支狀管網(wǎng)的簡化可以進(jìn)一步縮小總帶寬,以天津管網(wǎng)為例,簡化后其總帶寬由20萬左右縮小為15萬左右,使計算速度進(jìn)一步提高,由22秒減少到不到18秒。
3.4計算時間對比
通過對算法的多方面優(yōu)化,系統(tǒng)計算速度得到明顯的提高,與測試程序相比較其計算速度都有較大的優(yōu)勢。
(以上測試均是在聯(lián)想Pentium 300內(nèi)存64M的筆記本計算機(jī)上完成的。)
作者簡介:
魏寶成 講師 哈爾濱工業(yè)大學(xué)市政環(huán)境工程學(xué)院
通 訊 處: 150090 哈爾濱工業(yè)大學(xué)(二區(qū))624#信箱
電話:0451-6282281
Email:wbc@mail.hrbucea.edu.cn
論文搜索
月熱點論文
論文投稿
很多時候您的文章總是無緣變成鉛字。研究做到關(guān)鍵時,試驗有了起色時,是不是想和同行探討一下,工作中有了心得,您是不是很想與人分享,那么不要只是默默工作了,寫下來吧!投稿時,請以附件形式發(fā)至 paper@h2o-china.com ,請注明論文投稿。一旦采用,我們會為您增加100枚金幣。