2010-07-23 10:59 來(lái)源于網(wǎng)絡(luò) 【大 中 小】【打印】【我要糾錯(cuò)】
本文提出了一個(gè)實(shí)用的分析流域洪水計(jì)算的拓?fù)浞治龇椒。此方法的核心思想就是將流域概化為一張?jié)點(diǎn)圖,對(duì)節(jié)點(diǎn)的屬性、聯(lián)接方式以及拓?fù)潢P(guān)系進(jìn)行分析,運(yùn)用鄰接表、鄰接矩陣和深度優(yōu)先遍歷的方法解決了模型之間的集成問(wèn)題。該方法能夠應(yīng)用于流域洪水預(yù)報(bào)調(diào)度決策支持系統(tǒng)當(dāng)中,提高系統(tǒng)運(yùn)行的效率,是一個(gè)簡(jiǎn)明但行之有效的流域洪水計(jì)算模型系統(tǒng)集成的方法。
我國(guó)是一個(gè)洪澇災(zāi)害頻繁的國(guó)家,隨著社會(huì)經(jīng)濟(jì)的發(fā)展、人口的不斷增長(zhǎng),人們對(duì)防洪的要求越來(lái)越高。在防洪方面,人們普遍認(rèn)為從實(shí)時(shí)洪水預(yù)報(bào)系統(tǒng)過(guò)渡到防洪決策支持系統(tǒng)是當(dāng)前的發(fā)展趨勢(shì)。發(fā)達(dá)國(guó)家競(jìng)相開(kāi)展這類(lèi)研究和開(kāi)發(fā)工作,但目前仍處于只針對(duì)系統(tǒng)開(kāi)發(fā)中的關(guān)鍵技術(shù)進(jìn)行探索并在中小河流流域試驗(yàn)開(kāi)發(fā)的階段[2].防洪決策支持系統(tǒng)中的一個(gè)關(guān)鍵技術(shù)就是如何將相對(duì)獨(dú)立的各個(gè)模型集成在一個(gè)大的系統(tǒng)內(nèi)進(jìn)行整體計(jì)算,解決好模型之間數(shù)據(jù)的傳遞,提高系統(tǒng)運(yùn)行的效率。目前國(guó)內(nèi)外的研究還沒(méi)有提出一個(gè)方便、有效的模型系統(tǒng)集成的辦法。有人在嘗試建立全流域的洪水模擬模型,對(duì)各部分統(tǒng)一求解。但這種辦法在交互式預(yù)報(bào)調(diào)度時(shí)會(huì)遇到諸多不便,而且對(duì)于各個(gè)不同的流域不可能用相同的全流域的洪水模擬模型。因此研究一種方便的模型系統(tǒng)集成辦法具有重要意義。本文提出了一個(gè)實(shí)用的流域洪水計(jì)算系統(tǒng)集成的辦法。對(duì)于河道特征比較復(fù)雜、水利工程比較多的流域來(lái)說(shuō),洪水計(jì)算首先要將流域水系進(jìn)行概化,將流域概化成互相聯(lián)系的不同類(lèi)型的節(jié)點(diǎn),不同類(lèi)型的節(jié)點(diǎn)用到相應(yīng)不同的計(jì)算模型。一些常見(jiàn)的水文或水力學(xué)模型已經(jīng)為我們熟知,模型的編制問(wèn)題不大,但是在模型的集成時(shí)卻會(huì)遇到很棘手的問(wèn)題,那就是節(jié)點(diǎn)之間的聯(lián)接問(wèn)題。只有搞清楚節(jié)點(diǎn)間是怎樣聯(lián)接的、節(jié)點(diǎn)間是怎樣交換數(shù)據(jù)的、節(jié)點(diǎn)的計(jì)算順序是怎樣的等問(wèn)題才能將一個(gè)個(gè)分散的模型組成有機(jī)的整體,才能模擬出洪水在整個(gè)流域中的流動(dòng)情況。節(jié)點(diǎn)的有機(jī)聯(lián)接就涉及到節(jié)點(diǎn)之間的拓?fù)潢P(guān)系,解決好了流域的拓?fù)潢P(guān)系,就能易如反掌地解決復(fù)雜流域洪水計(jì)算的模型集成問(wèn)題。
1流域洪水計(jì)算拓?fù)浣Y(jié)構(gòu)中的節(jié)點(diǎn)類(lèi)型
進(jìn)行流域洪水計(jì)算時(shí)人們要用到流域洪水模擬技術(shù),運(yùn)用各種模型來(lái)計(jì)算洪水過(guò)程。為了計(jì)算方便,首先要對(duì)流域水系進(jìn)行概化,即把流域看成是由不同類(lèi)型的節(jié)點(diǎn)聯(lián)接在一起的一個(gè)有機(jī)整體。節(jié)點(diǎn)類(lèi)型主要有產(chǎn)匯流分區(qū)、河道洪水演進(jìn)、水量交匯點(diǎn)、水庫(kù)、閘門(mén)和平原區(qū)。各種不同類(lèi)型的節(jié)點(diǎn)其計(jì)算方法是不同的,如P類(lèi)(產(chǎn)匯流分區(qū))節(jié)點(diǎn)所采用的是產(chǎn)匯流模型,計(jì)算產(chǎn)匯流的方法可以用新安江模型或其他方法;R類(lèi)(河道洪水演進(jìn))節(jié)點(diǎn)所采用的是水文學(xué)或水力學(xué)模型,如馬斯京干法、一維非恒定流法等;W類(lèi)(水庫(kù))節(jié)點(diǎn)采用的是水量平衡法進(jìn)行水庫(kù)調(diào)度等等。圖1 節(jié)點(diǎn)類(lèi)型圖例(略)。
2節(jié)點(diǎn)聯(lián)接方式
流域內(nèi)各個(gè)節(jié)點(diǎn)之間的聯(lián)接方式大致分為3種:串聯(lián),并聯(lián)以及復(fù)雜聯(lián)接(既有串聯(lián)又有并聯(lián))。對(duì)某些簡(jiǎn)單流域,可能所有節(jié)點(diǎn)之間的聯(lián)接都是串聯(lián),而對(duì)復(fù)雜流域,一般各種聯(lián)接方式都存在。圖2表示了產(chǎn)匯流分區(qū)節(jié)點(diǎn)(P)、河道洪水演進(jìn)節(jié)點(diǎn)(R)、水庫(kù)節(jié)點(diǎn)(W)以及水量交匯點(diǎn)(N)與其他節(jié)點(diǎn)之間的聯(lián)接關(guān)系。各個(gè)符號(hào)的意義同前。產(chǎn)匯流分區(qū)是洪水產(chǎn)生的源節(jié)點(diǎn),因此該類(lèi)節(jié)點(diǎn)沒(méi)有入流節(jié)點(diǎn),而且它的出流節(jié)點(diǎn)只有一個(gè),故此類(lèi)節(jié)點(diǎn)與其他節(jié)點(diǎn)之間的聯(lián)接為串聯(lián)。河道洪水演進(jìn)節(jié)點(diǎn)是洪水在河道中演進(jìn)的概化,它應(yīng)該有一個(gè)入流節(jié)點(diǎn)和一個(gè)出流節(jié)點(diǎn),所以它與其他節(jié)點(diǎn)的聯(lián)接方式也為串聯(lián)。水量交匯節(jié)點(diǎn)是支流洪水交匯的節(jié)點(diǎn),它又分為匯流節(jié)點(diǎn)、分流節(jié)點(diǎn)及復(fù)雜節(jié)點(diǎn)(既有匯流,又有分流),所以聯(lián)接方式一般為并聯(lián)或復(fù)雜聯(lián)接。水庫(kù)是流域中對(duì)水流進(jìn)行控制的節(jié)點(diǎn),一般它應(yīng)該有一個(gè)或多個(gè)入流節(jié)點(diǎn)和一個(gè)出流節(jié)點(diǎn),故為串聯(lián)或復(fù)雜聯(lián)接。閘門(mén)也是流域中對(duì)水流進(jìn)行控制的節(jié)點(diǎn),它與其他節(jié)點(diǎn)的聯(lián)接方式與水庫(kù)節(jié)點(diǎn)類(lèi)似。平原區(qū)是流域中洪水泛濫的地方,它的情況一般非常復(fù)雜,在洪水計(jì)算中通常都對(duì)它的邊界條件進(jìn)行簡(jiǎn)化。
3節(jié)點(diǎn)聯(lián)接的拓?fù)浔硎痉?/strong>
流域洪水計(jì)算中,通常是要把流域進(jìn)行概化,圖3是一幅流域概化節(jié)點(diǎn)圖。這樣一張節(jié)點(diǎn)圖能夠直觀地反映洪水在流域內(nèi)的流動(dòng)方向,也反映了洪水計(jì)算的順序。在某些節(jié)點(diǎn)沒(méi)有計(jì)算之前,其他節(jié)點(diǎn)是不能計(jì)算的。最常見(jiàn)的情況就是一些節(jié)點(diǎn)的入流就是其他節(jié)點(diǎn)的出流,我們只有計(jì)算出上節(jié)點(diǎn)的出流,才能計(jì)算下節(jié)點(diǎn)的洪水過(guò)程。
在許多情況下,流域概化節(jié)點(diǎn)圖在數(shù)據(jù)結(jié)構(gòu)上是圖而不是樹(shù)。圖和樹(shù)的區(qū)別在于:圖中的任意兩個(gè)節(jié)點(diǎn)之間都有可能相關(guān),節(jié)點(diǎn)之間的鄰接關(guān)系是任意的;而在樹(shù)形結(jié)構(gòu)中,節(jié)點(diǎn)具有層次關(guān)系,每一層的節(jié)點(diǎn)只能與上一層中最多一個(gè)節(jié)點(diǎn)相關(guān)。圖結(jié)構(gòu)描述了一種復(fù)雜的數(shù)據(jù)對(duì)象,具有廣泛的應(yīng)用。
圖2幾種類(lèi)型節(jié)點(diǎn)的聯(lián)接方式
這里首先引入數(shù)據(jù)結(jié)構(gòu)中圖的定義和術(shù)語(yǔ)。圖(Graph)G是由兩個(gè)集合V和E組成,記為G=(V,E)。V是圖中頂點(diǎn)(vertex)的集合;E是邊的集合。頂點(diǎn)和頂點(diǎn)之間的連線稱(chēng)為邊,若邊是有向的,則圖成為有向圖,否則成為無(wú)向圖[4].若v,w是兩個(gè)頂點(diǎn),則從v到w的有向邊成為一條狐,記為,從v到w的無(wú)向邊則記為(v,w)。
圖是一張有向的連通圖。為了知道節(jié)點(diǎn)之間的計(jì)算先后順序,用一種最簡(jiǎn)單的拓?fù)潢P(guān)系來(lái)表達(dá)節(jié)點(diǎn)之間的聯(lián)接:將圖拆分成最小的子圖,子圖只包括一個(gè)起始節(jié)點(diǎn)、一個(gè)終止節(jié)點(diǎn)以及這兩個(gè)節(jié)點(diǎn)的聯(lián)接。只需在數(shù)據(jù)庫(kù)中建立一張節(jié)點(diǎn)鄰接表(NodesLink),就可以把所有的子圖的聯(lián)接關(guān)系反映在數(shù)據(jù)庫(kù)里,從而搞清楚整個(gè)流域內(nèi)節(jié)點(diǎn)的聯(lián)接關(guān)系。圖3的節(jié)點(diǎn)鄰接表如表1所示。
圖3流域概化節(jié)點(diǎn)(圖)
圖4節(jié)點(diǎn)鄰接矩陣
表1節(jié)點(diǎn)鄰接
圖的存儲(chǔ)結(jié)構(gòu)還可以用鄰接矩陣來(lái)表示。圖3可以用圖4所示的矩陣來(lái)表示。流域共有28個(gè)節(jié)點(diǎn),所以該矩陣是28×28的方陣。該矩陣具有如下的性質(zhì):
其物理意義也很清楚,例如,A[1,3]=1表示P1和R1是連通的,而且方向是從P1指向R1.而A[3,1]=0則表示雖然P1和R1連通,但是方向不能逆轉(zhuǎn),即不能從R1指向P1.這樣一來(lái),整個(gè)流域內(nèi)洪水的流動(dòng)方向都可以從該矩陣中得到了反映。
用鄰接矩陣表示法來(lái)存儲(chǔ)圖,在計(jì)算機(jī)程序中可用如下方法實(shí)現(xiàn):定義一個(gè)一維數(shù)組來(lái)存儲(chǔ)各個(gè)節(jié)點(diǎn)的信息,例如節(jié)點(diǎn)類(lèi)型等;定義一個(gè)二維數(shù)組來(lái)存儲(chǔ)圖4所示的鄰接矩陣;定義兩個(gè)整型變量分別儲(chǔ)存圖的節(jié)點(diǎn)數(shù)和邊數(shù);定義一個(gè)整型變量來(lái)表示圖的類(lèi)型,例如用0表示無(wú)向圖,1表示有向圖等等。
4流域洪水計(jì)算
流域洪水計(jì)算就是要搞清楚水在流域內(nèi)的運(yùn)動(dòng)、分布和存儲(chǔ)情況。計(jì)算包括暴雨模擬、產(chǎn)匯流、河道洪水演進(jìn)、流域內(nèi)水利工程調(diào)度、平原區(qū)洪水泛濫以及潮位模擬等一系列過(guò)程直到洪水流入大海。降水量扣除蒸散發(fā)、植物截留、洼地儲(chǔ)蓄以及補(bǔ)充土壤含水量等水量損失,剩下的部分為凈雨量,即產(chǎn)生徑流的雨量。凈雨量的計(jì)算稱(chēng)之為產(chǎn)流計(jì)算。分布在流域各處的凈雨,從不同地方向流域出口斷面匯集的過(guò)程乃是流域匯流的過(guò)程,匯流計(jì)算的目的就是計(jì)算流域出口斷面的洪水過(guò)程。洪水在河槽中的運(yùn)動(dòng)過(guò)程,我們稱(chēng)之為河道洪水演進(jìn)。洪水水流受到水利工程(如閘門(mén)、水庫(kù))的調(diào)蓄和控制,需要進(jìn)行洪水的調(diào)度計(jì)算。另外洪水在平原區(qū)的流動(dòng)情況我們稱(chēng)之為平原區(qū)的洪水泛濫。無(wú)論是產(chǎn)匯流計(jì)算,還是洪水演進(jìn)計(jì)算,以及洪水泛濫的計(jì)算等,都有比較成熟的水文、水力學(xué)模型來(lái)實(shí)現(xiàn)。問(wèn)題是用什么樣的辦法才能把流域洪水計(jì)算的模型有機(jī)地結(jié)合在一起,實(shí)現(xiàn)流域內(nèi)洪水計(jì)算的一體化。
圖5深度優(yōu)先遍歷算法的程序框
表2R類(lèi)節(jié)點(diǎn)屬性
表3P類(lèi)節(jié)點(diǎn)屬性
前面介紹了如何把流域概化成為節(jié)點(diǎn)圖,下面將分析如何利用節(jié)點(diǎn)圖來(lái)幫助進(jìn)行洪水計(jì)算。假設(shè)我們采用節(jié)點(diǎn)鄰接表(如表1)來(lái)表示圖的存儲(chǔ)結(jié)構(gòu),再建立節(jié)點(diǎn)屬性表,節(jié)點(diǎn)屬性表包括節(jié)點(diǎn)編號(hào)、節(jié)點(diǎn)所采用的計(jì)算模型及其參數(shù)等信息。表2、表3是節(jié)點(diǎn)屬性表。
在進(jìn)行洪水計(jì)算時(shí),可以選擇流域內(nèi)任意一個(gè)節(jié)點(diǎn)V,用深度優(yōu)先遍歷法對(duì)其上游節(jié)點(diǎn)搜索。深度優(yōu)先遍歷的思想是:從圖中V節(jié)點(diǎn)出發(fā),從節(jié)點(diǎn)鄰接表中任意選擇一個(gè)未被訪問(wèn)的V的鄰接節(jié)點(diǎn)W,從W出發(fā),繼續(xù)深度優(yōu)先搜索,直到圖中所有和V有路徑相通的上游節(jié)點(diǎn)都已經(jīng)計(jì)算完畢,再開(kāi)始計(jì)算V節(jié)點(diǎn)。這樣我們可以方便地知道流域內(nèi)任何節(jié)點(diǎn)的洪水情況。注意不同類(lèi)型的節(jié)點(diǎn)所選用的計(jì)算模型是不同的,模型的選擇以及模型參數(shù)正是通過(guò)節(jié)點(diǎn)屬性表進(jìn)行選擇。下面以圖5(取名為G)為例給出深度優(yōu)先搜索的非形式算法的框圖,算法中設(shè)一個(gè)標(biāo)志數(shù)組visited,該數(shù)組設(shè)為全局變量,數(shù)組長(zhǎng)度就是圖的頂點(diǎn)數(shù),初始值都設(shè)為0,表示均未被訪問(wèn),當(dāng)某個(gè)節(jié)點(diǎn)Vi被訪問(wèn)過(guò),則把visited數(shù)組所對(duì)應(yīng)的分量設(shè)為1。
將這種辦法應(yīng)用到防洪預(yù)報(bào)調(diào)度決策支持系統(tǒng)當(dāng)中,可以很方便地解決決策者與系統(tǒng)的交互問(wèn)題。例如,決策者可以選擇任意一個(gè)自己所關(guān)心的節(jié)點(diǎn),設(shè)定好預(yù)報(bào)調(diào)度方案后,針對(duì)該節(jié)點(diǎn)進(jìn)行計(jì)算,系統(tǒng)會(huì)自動(dòng)向上搜索與該節(jié)點(diǎn)相關(guān)的節(jié)點(diǎn),在計(jì)算完這些節(jié)點(diǎn)以后回到該節(jié)點(diǎn),此時(shí)該節(jié)點(diǎn)計(jì)算的邊界條件已經(jīng)確定,就可以對(duì)該節(jié)點(diǎn)進(jìn)行計(jì)算了。如果決策者對(duì)此次計(jì)算的結(jié)果不滿意,還可以重新設(shè)定預(yù)報(bào)調(diào)度方案,然后再次對(duì)該節(jié)點(diǎn)進(jìn)行計(jì)算直到得出滿意的結(jié)果。如果決策者想要一次計(jì)算流域內(nèi)所有的節(jié)點(diǎn),可以選擇流域出口節(jié)點(diǎn)作為計(jì)算的節(jié)點(diǎn),這樣當(dāng)計(jì)算完出口節(jié)點(diǎn)之后,流域內(nèi)所有的節(jié)點(diǎn)也就計(jì)算完了。可以直接通過(guò)結(jié)果查看界面查看所有節(jié)點(diǎn)的信息。
5結(jié)束語(yǔ)
本文分析了流域洪水計(jì)算模型系統(tǒng)拓?fù)潢P(guān)系的方法:先對(duì)復(fù)雜流域進(jìn)行概化,得到一張流域節(jié)點(diǎn)圖,然后建立流域內(nèi)各個(gè)節(jié)點(diǎn)之間的聯(lián)接關(guān)系(可以用鄰接表或鄰接矩陣來(lái)表示),并將這種關(guān)系反映在數(shù)據(jù)庫(kù)當(dāng)中,用深度優(yōu)先遍歷的方法并與模型庫(kù)相結(jié)合進(jìn)行計(jì)算就可以順利完成系統(tǒng)集成。這種方法概念清晰。靈活有效,而且能夠使模型庫(kù)與系統(tǒng)有機(jī)結(jié)合。用節(jié)點(diǎn)聯(lián)接替代原先的模型耦合的辦法有如下好處:
(1)計(jì)算時(shí)對(duì)同一類(lèi)型的節(jié)點(diǎn)可以方便地選擇不同的計(jì)算模型,例如,產(chǎn)匯流模型可以用新安江模型也可以用水箱模型,這充分體現(xiàn)了模型庫(kù)建設(shè)的思想;
(2)用節(jié)點(diǎn)聯(lián)接的方式來(lái)集成模型系統(tǒng)大大提高了系統(tǒng)的靈活性,例如,我們可以方便地添加、刪除節(jié)點(diǎn)或者改變節(jié)點(diǎn)的聯(lián)接方式以使流域節(jié)點(diǎn)圖能最真實(shí)地反映實(shí)際情況;
。3)模型相對(duì)獨(dú)立體現(xiàn)了系統(tǒng)設(shè)計(jì)模塊化的思想,符合當(dāng)今計(jì)算機(jī)技術(shù)、計(jì)算模擬技術(shù)發(fā)展的潮流。該方法在“鱔流域洪水預(yù)報(bào)調(diào)度決策支持系統(tǒng)”中得到應(yīng)用,實(shí)踐證明,這種辦法可以提高系統(tǒng)運(yùn)行的效率,大量減少程序運(yùn)行的時(shí)間。此法用于復(fù)雜河網(wǎng)(例如有環(huán)行水流)的計(jì)算時(shí)有缺陷,如環(huán)形結(jié)構(gòu)中兩個(gè)節(jié)點(diǎn)往往互為條件,在遞歸調(diào)用的時(shí)候會(huì)出現(xiàn)死循環(huán)。水文工作者可以在不斷的應(yīng)用中還可以根據(jù)實(shí)驗(yàn)情況做相應(yīng)的變換和改進(jìn),以完善這種方法。況做相應(yīng)的變換和改進(jìn),以完善這種方法。
1、凡本網(wǎng)注明“來(lái)源:建設(shè)工程教育網(wǎng)”的所有作品,版權(quán)均屬建設(shè)工程教育網(wǎng)所有,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、鏈接、轉(zhuǎn)貼或以其他方式使用;已經(jīng)本網(wǎng)授權(quán)的,應(yīng)在授權(quán)范圍內(nèi)使用,且必須注明“來(lái)源:建設(shè)工程教育網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其法律責(zé)任。
2、本網(wǎng)部分資料為網(wǎng)上搜集轉(zhuǎn)載,均盡力標(biāo)明作者和出處。對(duì)于本網(wǎng)刊載作品涉及版權(quán)等問(wèn)題的,請(qǐng)作者與本網(wǎng)站聯(lián)系,本網(wǎng)站核實(shí)確認(rèn)后會(huì)盡快予以處理。
本網(wǎng)轉(zhuǎn)載之作品,并不意味著認(rèn)同該作品的觀點(diǎn)或真實(shí)性。如其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用,請(qǐng)與著作權(quán)人聯(lián)系,并自負(fù)法律責(zé)任。
3、本網(wǎng)站歡迎積極投稿。