方藝輝
(1. 福建商學(xué)院信息管理工程系,福建 福州 350012;2. 福建師范大學(xué)地理科學(xué)院,福建 福州 350007)
河口水環(huán)境決策支持系統(tǒng)(Estuary Water Environment Decision Support System, EWEDSS)是將 DSS 技術(shù)引入到河口水環(huán)境規(guī)劃、管理和決策等工作中,模擬河口污染物擴(kuò)散和變化趨勢(shì),對(duì)河口區(qū)域內(nèi)的生態(tài)環(huán)境進(jìn)行科學(xué)評(píng)價(jià),并提供河口水環(huán)境預(yù)警和決策支持,以實(shí)現(xiàn)對(duì)河口水環(huán)境的有效管理和保護(hù)[1-2]。針對(duì)感潮河口水環(huán)境管理,不少學(xué)者建立了相應(yīng)的水環(huán)境模型,并成功地應(yīng)用于所研究的河口[3-7]。由于水環(huán)境模型自身機(jī)制復(fù)雜、參數(shù)繁多、專業(yè)性強(qiáng),非專業(yè)人士往往難以勝任;而且水環(huán)境模型缺乏直觀友好的圖形界面和對(duì)水環(huán)境數(shù)據(jù)空間分析、查詢和可視化等方面的支持,不能充分發(fā)揮效能,很難實(shí)現(xiàn)有效的決策支持。通過(guò)云計(jì)算和 WebGIS 等技術(shù)搭建決策支持系統(tǒng),強(qiáng)化模型的模擬和預(yù)報(bào)能力,提供友好的操作界面,滿足系統(tǒng)快速響應(yīng)等要求,讓非專業(yè)的一般人員和決策者都能夠輕松使用,極大地提高了水環(huán)境模型的應(yīng)用價(jià)值。
一些學(xué)者對(duì)此進(jìn)行了相關(guān)的研究工作。RAO等[8]采用 ArcIMS 和 SWAT 模型構(gòu)建基于 Web 的決策支持原型系統(tǒng),應(yīng)用于俄克拉荷馬的小流域(Panhandle),模擬泥沙和營(yíng)養(yǎng)物質(zhì)的變化。Zhang 等[9]提出了一種通過(guò)集成開源的 WebGIS(Geoserver)和云計(jì)算平臺(tái)(Hadoop)、SWAT 模型構(gòu)建流域管理決策系統(tǒng)的方案,提供準(zhǔn)實(shí)時(shí)決策支持。萬(wàn)魯河等[10]探討了在云計(jì)算服務(wù)模式下,以地理信息系統(tǒng)等關(guān)鍵技術(shù)為支撐,構(gòu)建了可對(duì)水環(huán)境實(shí)現(xiàn)綜合管理的信息系統(tǒng)。陳洋波等[11]基于云計(jì)算,以流域洪水預(yù)報(bào)模型為系統(tǒng)的模型,設(shè)計(jì)并開發(fā)了包含模型參數(shù)自動(dòng)優(yōu)選、實(shí)時(shí)流域洪水預(yù)報(bào)等功能的云計(jì)算服務(wù)平臺(tái)。尹煒靖等[12]提出了基于 Hadoop 的云計(jì)算平臺(tái),利用云計(jì)算平臺(tái)實(shí)現(xiàn)過(guò)程中服務(wù)器虛擬化、大規(guī)模異構(gòu)水文數(shù)據(jù)存儲(chǔ)及元數(shù)據(jù)管理等關(guān)鍵性問(wèn)題。相關(guān)研究主要以流域?yàn)檠芯砍叨?,?duì)感潮河口水環(huán)境決策支持系統(tǒng)的研究較為少見。本研究將在前期研發(fā)的二維水動(dòng)力水質(zhì)和河口鹽度預(yù)報(bào)等模型[13-14]的基礎(chǔ)上,結(jié)合云計(jì)算、WebGIS 等計(jì)算機(jī)技術(shù),采用 B/S 三層模式,構(gòu)建河口水環(huán)境管理決策支持系統(tǒng),應(yīng)用于閩江河口水環(huán)境管理。
河口水環(huán)境決策支持系統(tǒng)體系結(jié)構(gòu)如圖 1 所示,系統(tǒng)采用基于 B/S 模式三層體系結(jié)構(gòu),包括數(shù)據(jù)服務(wù)層、應(yīng)用服務(wù)層和用戶表示層。數(shù)據(jù)服務(wù)層存儲(chǔ)和管理了系統(tǒng)所使用的空間和屬性數(shù)據(jù),并分別通過(guò) ArcSDE 和 ADO.net 實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)。應(yīng)用服務(wù)層包括地圖和水環(huán)境模型服務(wù) 2 個(gè)部分,地圖服務(wù)是以 ArcGIS Server 創(chuàng)建并發(fā)布的;水環(huán)境模型是整個(gè)系統(tǒng)的核心,包含了水動(dòng)力、水量、水質(zhì)動(dòng)態(tài)分析和河口鹽度預(yù)報(bào)等專業(yè)的數(shù)學(xué)模型,并在此基礎(chǔ)上通過(guò) Web Service 對(duì)其進(jìn)行封裝,以接口的方式對(duì)外提供決專業(yè)的決策支持服務(wù)。用戶表示層是用戶直接操作的界面,通過(guò)訪問(wèn)應(yīng)用服務(wù)層的服務(wù)就可以方便地在客戶端的瀏覽器上進(jìn)行輔助決策。云計(jì)算服務(wù)平臺(tái)是系統(tǒng)建設(shè)的硬件基礎(chǔ),利用中心控制單元管理所有的網(wǎng)絡(luò)設(shè)備和計(jì)算節(jié)點(diǎn),采用虛擬化的方式創(chuàng)建的。根據(jù)用戶(或任務(wù))的請(qǐng)求和硬件的使用情況,科學(xué)合理地對(duì)硬件資源進(jìn)行調(diào)度,以實(shí)現(xiàn)資源利用率的最大化。
圖 1 決策支持系統(tǒng)體系結(jié)構(gòu)圖
WebGIS 是在 Internet/ Intranet 網(wǎng)絡(luò)環(huán)境中獲取、存儲(chǔ)、處理、分析和顯示地理信息的空間信息系統(tǒng)。通過(guò)互聯(lián)網(wǎng)上提供地理信息,用戶可以方便地訪問(wèn)地圖服務(wù)等功能。WebGIS 具有操作簡(jiǎn)單、擴(kuò)展方便、平臺(tái)獨(dú)立等優(yōu)點(diǎn),受到廣泛應(yīng)用[15-16]。利用 WebGIS 技術(shù)可以實(shí)現(xiàn)地圖服務(wù)發(fā)布、地圖基本操作、空間/屬性數(shù)據(jù)查詢和空間分析等功能,為實(shí)現(xiàn)河口水環(huán)境決策支持平臺(tái)提供了有力的技術(shù)支撐。
河口水環(huán)境決策支持系統(tǒng)以 ArcGIS Server 為WebGIS 地圖服務(wù)開發(fā)平臺(tái)。 WebGIS 地圖服務(wù)執(zhí)行流程如圖 2 所示: 1)客戶端向 WebGIS 服務(wù)器發(fā)出地圖服務(wù)的請(qǐng)求; 2)WebGIS 服務(wù)器在接收到請(qǐng)求后,對(duì)請(qǐng)求進(jìn)行解析,并生成相應(yīng)的任務(wù)交給服務(wù)對(duì)象管理器(Server Object Manager,SOM);3)SOM 在接收到任務(wù)后,分配其中一個(gè)服務(wù)對(duì)象容器(Server Object Container,SOC)執(zhí)行該任務(wù); 4)SOC 通過(guò)空間數(shù)據(jù)引擎(ArcSDE)訪問(wèn)空間數(shù)據(jù)服務(wù)器獲取專題數(shù)據(jù),對(duì)專題數(shù)據(jù)執(zhí)行相應(yīng)的處理,并將結(jié)果最終反饋給客戶端。
圖 2 基于 ArcGIS Server 的地圖服務(wù)流程圖
河口水環(huán)境決策支持平臺(tái)建立在 ArcGIS Server架構(gòu)的基礎(chǔ)上,實(shí)現(xiàn)以下常用地圖服務(wù)功能:
1)河口水環(huán)境專題圖發(fā)布功能。用戶通過(guò)客戶端瀏覽器可以輕松訪問(wèn)專題圖。
2)圖層控制功能。打開/關(guān)閉圖層,調(diào)整圖層顯示順序,圖層渲染等功能。
3)視圖操作和查詢功能。放大、縮小、漫游、移動(dòng)、全幅等視圖操作,實(shí)現(xiàn)斷面/采樣點(diǎn)水位、斷面流速、采樣點(diǎn)水質(zhì)、距離測(cè)量等查詢功能。
4)空間分析功能。污染源緩沖、疊加分析等功能。
水動(dòng)力水質(zhì)模型計(jì)算輸出結(jié)果是具體的計(jì)算單元(網(wǎng)格節(jié)點(diǎn)或斷面)上的計(jì)算數(shù)值,通過(guò)一系列的插值、轉(zhuǎn)換運(yùn)算,形成不同時(shí)刻的流場(chǎng)和濃度場(chǎng)。傳統(tǒng)的做法是將每一時(shí)刻的流場(chǎng)或濃度場(chǎng)通過(guò)圖像編程技術(shù)生成一張與之對(duì)應(yīng)的靜態(tài)圖片,將所有時(shí)刻所生成的靜態(tài)圖片通過(guò)動(dòng)畫視頻技術(shù)生成可視動(dòng)畫,并以一定的時(shí)間間隔順序播放,從而形成模型輸出成果的動(dòng)態(tài)模擬。但是,這樣的動(dòng)畫視頻播放方式缺乏與 GIS 數(shù)據(jù)的交互操作功能,不能實(shí)時(shí)進(jìn)行空間數(shù)據(jù)分析與模型數(shù)據(jù)查詢。結(jié)合 GIS 的圖層管理功能,以計(jì)算網(wǎng)格圖層為基礎(chǔ),通過(guò)讀取每一時(shí)刻的流場(chǎng)或濃度場(chǎng)數(shù)據(jù),動(dòng)態(tài)地生成一個(gè)可交互的 GIS 圖層,保存在緩沖區(qū)中。由于流場(chǎng)或濃度場(chǎng)模擬結(jié)果被保存到 GIS 圖層中,可以使用ArcGIS Server 實(shí)現(xiàn)數(shù)據(jù)的交互查詢,很好地解決模型計(jì)算數(shù)據(jù)與 GIS 實(shí)時(shí)交互操作難題,實(shí)現(xiàn)真正意義上的動(dòng)態(tài)模擬。
流場(chǎng)和濃度場(chǎng)模擬結(jié)果都是按小時(shí)時(shí)間順序逐個(gè)保存為單獨(dú)文件,采用歐拉法對(duì)流場(chǎng)濃度場(chǎng)進(jìn)行表達(dá)。歐拉法把運(yùn)動(dòng)要素表示為時(shí)間和空間坐標(biāo)的連續(xù)函數(shù)。對(duì)于二維淺水水動(dòng)力水質(zhì)模型,流場(chǎng)和濃度場(chǎng)都可以表示為 s = f(t,x,y),
式中:t 為時(shí)間坐標(biāo);x 為橫軸坐標(biāo);y 為縱軸坐標(biāo);s 為質(zhì)點(diǎn)的流場(chǎng)或濃度場(chǎng)模擬結(jié)果。流場(chǎng)與濃度場(chǎng)動(dòng)態(tài)模擬流程基本相同,以濃度場(chǎng)動(dòng)態(tài)模擬為例,如圖 3 所示。
動(dòng)態(tài)模擬流程如下:
1)加載水動(dòng)力水質(zhì)模型的計(jì)算網(wǎng)格面圖層,將面要素的 label 點(diǎn)設(shè)置為網(wǎng)格中各個(gè)單元格質(zhì)點(diǎn);
2)根據(jù)時(shí)間軸 t,以文件流方式逐個(gè)讀取濃度場(chǎng)文件;
3)根據(jù)橫坐標(biāo) x 逐行掃描 t 時(shí)刻濃度場(chǎng)文件;
4)根據(jù)縱坐標(biāo) y 逐列掃描 t 時(shí)刻濃度場(chǎng)文件中的 x 行,讀取相應(yīng)單元格的濃度值;
5)按照不同的濃度值范圍分成不同的等級(jí),每一濃度等級(jí)給予不同的顏色等級(jí)來(lái)表達(dá);
6)根據(jù)單元格濃度值定級(jí);
7)若本列處理結(jié)束,則轉(zhuǎn)至 8),否則,轉(zhuǎn)至 4);
8)若本列處理結(jié)束,則轉(zhuǎn)至 9),否則,轉(zhuǎn)至 3);
9)渲染圖層,生成第 t 時(shí)刻濃度場(chǎng)動(dòng)態(tài)圖層;
10)若時(shí)間序列處理結(jié)束,則轉(zhuǎn)至 11);否則,轉(zhuǎn)至 2);
圖 3 濃度場(chǎng)動(dòng)態(tài)模擬流程圖
11)瀏覽時(shí)間序列濃度場(chǎng)動(dòng)態(tài)圖層,交互查詢。
準(zhǔn)確的河口鹽度預(yù)報(bào)有效地抑制因咸潮入侵而產(chǎn)生的不利后果,是防治咸潮入侵的有效非工程措施。系統(tǒng)集成了基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型,提供了鹽度預(yù)報(bào)服務(wù)。文獻(xiàn) [13] 對(duì)基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型進(jìn)行了詳細(xì)的論述,本文只作簡(jiǎn)要概述,并對(duì)模型實(shí)現(xiàn)進(jìn)一步補(bǔ)充。支持向量機(jī)(Support Vector Machine,SVM)具有泛化性能好等優(yōu)點(diǎn),但模型參數(shù)選擇對(duì)模型計(jì)算結(jié)果具有很大的影響。傳統(tǒng)參數(shù)選擇方法在效率和計(jì)算準(zhǔn)確性等方面往往不盡如人意,而且需要一定的先驗(yàn)知識(shí)。遺傳算法(Genetic Algorithm,GA)通過(guò)復(fù)制、選擇、交叉和變異等操作實(shí)現(xiàn)種群的不斷進(jìn)化,最終產(chǎn)生最優(yōu)的染色體。結(jié)合遺傳算法全局搜索能力強(qiáng)的優(yōu)勢(shì),對(duì)支持向量機(jī)的參數(shù)進(jìn)行尋優(yōu),構(gòu)造基于遺傳支持向量機(jī)耦合模型。通過(guò)相關(guān)性分析,選取高潮位、徑流量和前期鹽度作為影響鹽度變化的主要因素。鹽度對(duì)徑流和潮流的響應(yīng)存在一定的時(shí)間間隔,具有相對(duì)滯后性。以徑流量、高潮位和前期鹽度 3 個(gè)方面在時(shí)間上的不同組合,經(jīng)過(guò)反復(fù)實(shí)驗(yàn)比較,確定了鹽度變化的主要影響因子,并作為耦合模型的輸入向量。最終,構(gòu)建了基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型。
河口鹽度預(yù)報(bào)模型是基于 C#.net 2010 平臺(tái)與開源軟件 LIBSVM 工具箱,在 C#.net 2010 平臺(tái)中調(diào)用 LIBSVM 下的動(dòng)態(tài)鏈接庫(kù)接口,引用命名空間,采用面向?qū)ο蠹夹g(shù)編程。LIBSVM 工具箱是臺(tái)灣大學(xué)林智仁教授等研發(fā)的簡(jiǎn)單實(shí)用的 SVM 模型分類與預(yù)測(cè)軟件包。遺傳算法采用 C# 語(yǔ)言,定義類geneticAlgorithm 對(duì)算法進(jìn)行實(shí)現(xiàn),定義如下:
public class geneticAlgorithm
{
private int POPSIZE; 種群規(guī)模
private int MAXGENS; 最大進(jìn)化代數(shù)
private double PXOVER; 交叉系數(shù)
private double PMUTATION; 變異系數(shù)
public void InitPopulation (int tempPOPSIZE,int tempMAXGENS,
double tempPXOVER, double tempPMUTATION,string tempReaderPath)
* 功能:初始化種群
* 參數(shù):種群規(guī)模、迭代次數(shù)、種群交叉系數(shù)、種群變異系數(shù)、窗口句柄
* 返回值:無(wú)
public void PopulationSelect ( )
* 功能:遺傳算子—選擇操作(采用輪盤賭方法選擇適應(yīng)度較高個(gè)體)
* 參數(shù):無(wú)
* 返回值:無(wú)
...
}
在定義類 geneticAlgorithm 時(shí),采用 Thread 類實(shí)例化單線程,每個(gè)線程代表 1 個(gè)染色體。為了提高遺傳算法收斂的速度,引入多線程技術(shù),采用線程池用于構(gòu)造多線程,將構(gòu)造好的染色體線程置于線程池中,由線程池負(fù)責(zé)調(diào)度管理,實(shí)現(xiàn)多線程并行運(yùn)行,實(shí)例如下:
for (int i = 0; i < intThreadCount; i ++)
{
Chrosome chrs = new Chrosome ( ); //實(shí)例化染色體對(duì)象
ThreadPool.QueueUserWorkItem (chrs.Evolution( ), i ); //創(chuàng)建染色體線程添加到線程池
}
近年來(lái),由于人為活動(dòng)的劇烈干擾,閩江下游河床嚴(yán)重下切,改變了河道的水動(dòng)力水質(zhì)特征。再加上城市擴(kuò)張,居民排放的生活污水不斷增加,閩江河口水環(huán)境面臨很大壓力。將河口決策支持平臺(tái)應(yīng)用于閩江河口,搭建閩江河口決策支持系統(tǒng),為閩江河口的水環(huán)境管理提供決策支持。
系統(tǒng)運(yùn)行主界面包括圖層管理器、功能面板和地圖窗口 3 個(gè)部分。系統(tǒng)提供了通用的 WebGIS 服務(wù)功能,如視圖管理(地圖縮放、地圖漫游、全幅等)、圖層控制(打開/關(guān)閉圖層、圖層渲染等)、查詢分析(空間、屬性查詢等)功能;還提供了專用的河口水環(huán)境管理功能,如斷面水位流速查詢、采樣點(diǎn)水質(zhì)查詢、河口鹽度預(yù)報(bào)、水動(dòng)力水質(zhì)模擬和流場(chǎng)濃度場(chǎng)動(dòng)態(tài)模擬等功能。
系統(tǒng)根據(jù)水動(dòng)力水質(zhì)模擬結(jié)果,通過(guò)讀取每一時(shí)刻的流場(chǎng)(濃度場(chǎng))數(shù)據(jù),動(dòng)態(tài)地生成一個(gè)可交互的 GIS 圖層。用戶可以選擇瀏覽任一時(shí)刻的流場(chǎng)(濃度場(chǎng))圖層,也可以通過(guò) GIS 工具實(shí)現(xiàn)與圖層的交互操作。圖 4 為流場(chǎng)濃度場(chǎng)動(dòng)態(tài)模擬運(yùn)行結(jié)果。流場(chǎng)(水位和流速)模擬結(jié)果較好,平均誤差均 < 10%,濃度場(chǎng)(COD 和氨氮)模擬結(jié)果平均誤差為 11%~24%。用戶在選擇鹽度影響因子文件、鹽度類型、預(yù)報(bào)站點(diǎn)后,實(shí)現(xiàn)鹽度預(yù)報(bào),圖 5 為鹽度預(yù)報(bào)運(yùn)行結(jié)果。鹽度預(yù)報(bào)模型計(jì)算結(jié)果平均誤差在 27% 以內(nèi),基本上能滿足實(shí)際應(yīng)用需求。
為了對(duì)云計(jì)算性能進(jìn)行分析,以基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型為例,分析在遺傳算法不同種群規(guī)模和迭代次數(shù)條件下,模型的率定時(shí)間。
圖 4 流場(chǎng)濃度場(chǎng)動(dòng)態(tài)模擬
圖 5 河口鹽度預(yù)報(bào)
種群規(guī)模表示并行計(jì)算進(jìn)程的數(shù)量,種群規(guī)模越大,所需的并行計(jì)算資源越多。迭代次數(shù)表示種群進(jìn)化的次數(shù),迭代次數(shù)越大,所需的串行計(jì)算資源也越多。種群規(guī)模設(shè)置為 100 和 1000個(gè),迭代次數(shù)設(shè)置為 100,500 和 1000次。運(yùn)行環(huán)境為 PC 機(jī)和云計(jì)算服務(wù)器,硬件主要配置如表 1 所示。
表 1 PC 機(jī)和云計(jì)算服務(wù)器硬件配置
如表 2 所示,將基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型對(duì)應(yīng)的不同方案在 PC 機(jī)和云計(jì)算服務(wù)器的計(jì)算時(shí)間進(jìn)行對(duì)比。從表中可以看出,情景 A 的3 種方案種群都是 100 個(gè),隨著迭代次數(shù)的增加,PC 和云的計(jì)算時(shí)間大致呈線性增加的趨勢(shì),并行計(jì)算加速比基本保持穩(wěn)定。情景 B 與 A 特征基本相同,這 3 種方案并行計(jì)算加速比也是基本穩(wěn)定的。原因在于情景 A 和 B 的 3 種方案,種群規(guī)模是一樣的(100 或 1000個(gè)),迭代次數(shù)的增加只是意味著串行計(jì)算量增大,但并行計(jì)算量并沒有變化,所以并行計(jì)算加速比保持基本穩(wěn)定,云計(jì)算服務(wù)器的并行計(jì)算優(yōu)勢(shì)并沒有體現(xiàn)出來(lái)。而另一方面,從情景 A到情景 B,種群規(guī)模從 100 個(gè)增大到 1000個(gè),并行計(jì)算量增大,并行計(jì)算加速比顯著提升,云計(jì)算服務(wù)器并行計(jì)算的優(yōu)勢(shì)得到有效的發(fā)揮。實(shí)驗(yàn)結(jié)果表明,云計(jì)算服務(wù)器對(duì)模型串行計(jì)算速度提升效果不大,并行計(jì)算速度提升效果顯著。因而,在遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型中,考慮到云計(jì)算服務(wù)器突出的并行計(jì)算性能,適當(dāng)?shù)卦龃蠓N群規(guī)模,有利于提升遺傳算法對(duì)支持向量機(jī)參數(shù)的優(yōu)化速度。
表 2 云計(jì)算性能分析
1)結(jié)合云計(jì)算、WebGIS 等先進(jìn)計(jì)算機(jī)技術(shù),采用基于 B/S 三層架構(gòu)開發(fā)模式,集成水動(dòng)力水質(zhì)和河口鹽度預(yù)報(bào)模型,成功地構(gòu)建了河口水環(huán)境決策支持系統(tǒng)。系統(tǒng)具備了通用的 WebGIS 服務(wù)功能,同時(shí)提供了河口鹽度預(yù)報(bào)、流場(chǎng)濃度場(chǎng)動(dòng)態(tài)模擬等專業(yè)功能。
2)PC 機(jī)和云計(jì)算服務(wù)器的性能對(duì)比分析結(jié)果表明,云計(jì)算服務(wù)器對(duì)模型串行計(jì)算速度提升效果不大,對(duì)并行計(jì)算速度提升效果顯著。對(duì)于基于遺傳支持向量機(jī)河口鹽度預(yù)報(bào)模型,適當(dāng)?shù)卦龃蠓N群規(guī)模,有利于提升遺傳算法對(duì)支持向量機(jī)參數(shù)的優(yōu)化速度。
3)系統(tǒng)簡(jiǎn)化了繁雜的專業(yè)模型操作,提供了直觀的圖形操作界面,強(qiáng)化了模型的模擬和預(yù)報(bào)能力,為閩江水務(wù)管理部門提供決策支持,可進(jìn)一步推廣應(yīng)用于其他河口的水環(huán)境管理,也可以為其他環(huán)境管理領(lǐng)域的決策支持系統(tǒng)提供借鑒。