王宇賓,王慧敏,王然
(河海大學a.商學院;b.水文水資源學院,南京211100)
基于Repast的水庫調度仿真設計與實現
——以云南省曲靖市東山鎮為例
王宇賓a,王慧敏a,王然b
(河海大學a.商學院;b.水文水資源學院,南京211100)
針對區域內水庫調度抗旱應急能力的評估問題,利用多Agent的建模與仿真技術,在Repast仿真平臺上設計并實現了一個水庫調度仿真模型,模擬了旱災發生時區域內水庫間的水資源調度情況。重點描述了模型的環境、水庫屬性和行為規則的設計,介紹了模型的實現框架和仿真流程。最后,以云南省曲靖市東山鎮為應用背景進行了仿真實驗。通過分析仿真結果,得出了在旱災期間東山鎮內各水庫的水量變化情況和水庫間的調度關系,為抗旱應急能力的有效評估提供一定的數據參考。
多Agent技術;Repast;水庫調度
通過對旱災地區脆弱性形成和區域可持續發展的對策進行探討,可以為抵御旱災以及政府的減災決策提供科學參考[1]。地區的脆弱性通過地區的抗旱應急能力來衡量,區域可持續發展的對策主要通過區域內水庫的調度方案來體現。因此,建立區域內的旱災水庫調度仿真模型來評估區域的抗旱應急能力有助于提高抗旱決策的科學性。
水資源調配[2]是指通過在時間和空間上采取調度工程對水資源進行調蓄、輸送和分配,從而實現水資源生態積蓄和優化調配。旱災發生時,區域水庫之間的水資源調度是一個涉及眾多參與主體的復雜系統。復雜系統[3]的非線性、不確定性和不可預測性等特征對傳統建模與仿真技術提出了挑戰,因此基于Agent的建模與仿真(Agentbased modeling and simulation,ABMS)方法應運而生,并被眾多學者認為是研究復雜系統的重要手段與途徑之一[4]。多Agent的建模與仿真技術強調賦予系統中Agent的簡單規則和關系,通過仿真來重現真實世界的復雜現象[5]。構建多Agent的水庫調度仿真模型能幫助我們分析復雜系統中各主體之間的特征、相互關系和探索系統的演化規律[6],從而評估區域的水庫抗旱應急能力。旱災發生時,災區的水資源得不到自然補充,為滿足當地居民的正常用水,災區需要進行水資源的調配[7],水庫間的調度由此產生。通過對水庫間的水資源調度情況進行模擬仿真,能夠預先檢測不同調度方案的實施效果,為災區實施應急措施提供科學決策參考。
Repast是由芝加哥大學研發的、面向對象的、可視化的多Agent建模與仿真平臺,已被廣泛地應用在各個學科領域的多Agent建模與仿真的研究當中[8-9]。由于其良好的可視化建模環境與擴展性,Repast被眾多學者認為是最具發展前途的建模與仿真平臺[10-18]。因此,本文利用Java編程語言在Repast平臺上進行模型的設計與實現。
水庫調度模型的主要研究對象是區域內的水庫,即設模型中的水庫為Agent。通過設置區域內相應的自然、工程和市場參數,包括區域的旱災發生率、水庫容量、水庫水資源輸入量和水資源需求量等,仿真模擬當該區域內某一地方發生旱災時水庫調度的基本情況。通過觀察仿真的運行,可以了解到區域內水庫水量的變化情況、旱災的發生情況以及水資源的調度關系,從而評估該區域應對旱災的能力。
1.1環境
水庫所處的環境可以簡化為一個網格空間,在每一個循環周期中水庫的水會得到一定的補充,但如果水庫所在的地區發生了旱災,則該水庫的水量將得不到補充。模型的假設前提是該區域內各個水庫所在地的旱災發生率為一個固定的概率,各水庫所在地的旱災發生為相互獨立事件。
1.2水庫屬性
水庫的屬性主要包括以下4個:①庫容量(capacity),即水庫容量。庫容量是該水庫的蓄水能力,其積蓄的水量不能超過其容量。②當前水量(currentwater),即當前時刻水庫內所積蓄的水量。在仿真過程中,水庫將根據當前水量的不同呈現不同的顏色。當前水量較少時呈現綠色;當前水量較多時呈現藍色;若當前水量為“0”,則表明該水庫缺水,水庫將呈現出紅色外觀。③需水量(water demand),需水量是每一周期中水庫需要向當地供應的水量,當需水量大于水庫當前水量時,表明水庫不能供應足夠的水資源給當地使用,此時需要從其他水庫調度水資源。④缺水量(water discharge),即水庫需要從其他水庫調度的水量,由需水量和當前水量決定。
1.3行為規則
為了深入研究水庫中水量變化的細節情況,每一個循環周期分為3個時間步(tick)進行,每個時間步中水庫將執行以下相應的行為方法。
1)進水。水庫首先判斷當期是否發生了旱災,若發生旱災則當期該水庫的水資源將得不到補充,若沒發生旱災則根據當前隨機產生的增加水量來補充當前水量。若當前水量大于水庫容量則當前水量為水庫容量。該行為所調用的方法為:

2)供水。供水行為描述了水庫向所在地區供應水資源和改變自身的當前水量的行為。供水時先需要判斷水庫是否有足夠的水資源供該地使用,然后再決定是否需要調度其他水庫的水資源。該行為所調用的方法為:

3)調水。調水行為由缺水的水庫執行,若當期無缺水水庫,則無需進行調水。缺水的水庫根據自身缺水量向整個區域的其他水庫進行搜索,以期找到能為其調度水資源的水庫,然后從中隨機選擇一個水庫進行調水,調度的水量為缺水方的缺水量。同時在仿真界面中顯示二者之間的水資源調度關系,用有向箭頭表示,由調出水庫指向調入水庫。在現實世界中水庫供水時還要考慮到行政管轄的關系,其中中大型水庫由市級統一管理調度,小一小二型的水庫可由當地政府自行調度。因此在調度時,優先調度小型水庫的水資源。該行為所調用的方法為:

2.1模型框架
所創建的Repast仿真模型為WaterTransfer,當中包含的重要類及其作用如下:
1)Reservoir類。即水庫類,模型中的Agent,用于定義水庫的屬性,狀態以及交互的行為方法。同時還包括了獲取當前水庫屬性的方法,供收集數據時調用。
2)WaterTransferBuilder類。該類實現接口ContextBuilder,用于創建仿真模型運行的初始Context環境以及設置Agent的初始值。在仿真運行時根據所設置的初始參數來創建出相應仿真環境,如區域大小和Agent數目。
3)Constants類。該類用于定義模型中使用到的常量,如旱災的發生率和水庫的庫容量。
4)Util類。該類為功能類,主要用于搜索能調度水資源給缺水水庫使用的水庫。
5)AgentStyleOGL2D類。該類繼承了Default-StyleOGL2D類,用于自定義模型中Agent的外觀表現。在該模型中水庫Agent的外觀顏色能夠根據當前水量的變化而變化,便于研究者觀察。
2.2仿真流程
從Repast平臺中啟動模型,進入仿真運行狀態,其仿真流程如下:
1)Repast平臺裝載WaterTransfer模型,啟動仿真。
2)在參數設置面板中對設置區域寬度與高度以及初始Agent數目,點擊初始化按鈕生成相應的仿真界面。同時,在控制臺輸出隨機生成的水庫Agent的相關信息,包括所在坐標、水庫容量以及當前需水量。
3)運行仿真,采用自動循環或按單時間步運行。
4)水庫根據行為規則進行交互并改變自身狀態。在仿真運行中,通過觀察水庫外觀顏色的變化,發現缺水水庫。當調水行為發生后,調水雙方將產生綠色箭頭連接符號。在運行過程中雙擊某個水庫將彈出窗體實時顯示該水庫當前水量的變化。
5)當缺水現象無法通過水庫調度來解決時,仿真結束。通過分析仿真產生的相關數據和仿真運行的循環周期數,評估該地區的抗旱應急能力。
本文將以云南省曲靖市麒麟區東山鎮水資源調度為例,仿真該地的水庫情況并分析仿真運行結果。
3.1地區背景
曲靖市東山鎮位于云南省東北部,干旱災害是其最主要的自然災害之一,有冬春連旱、夏旱和秋旱。冬春連旱、夏旱平均5年發生一次,秋旱平均2年出現一次,其頻數多、時間長、范圍廣、危害大,往往給曲靖城市供水及國民經濟造成重大損失。東山鎮區域面積420.93 km2,擁有庫容量1.065億m3的云南省第二大水庫——獨木水庫以及總蓄水量達160萬m3的5個小型水庫。
3.2初始參數設置
仿真參數根據當地往年蓄水統計數據設定。環境參數的設定如表1所示,水庫參數的設定如表2所示。

表1 環境參數設定

表2 水庫參數設定
模型利用一個20×22的網格來展示東山鎮的區域情況,水庫在網格中的坐標根據水庫的地理位置轉化而來。為簡化仿真實驗,設置的水庫每期進水量和各地方的需水量服從由50%庫容量到70%庫容量的均勻分布,初期的當前水量為庫容的80%,水庫所在地區的旱災發生率為10%。
3.3仿真運行與結果分析
3.3.1仿真運行
在Repast仿真平臺中運行模型并初始化后,產生圖1(a)所示的初始界面。在網格中的圓點代表區域內的水庫,其顏色根據水庫的當前水量的不同而不同,當前水量比較大時呈現偏藍色,當前水量一般時呈現綠色。為觀測水庫水量的變化以及水資源調度情況,仿真按單時間步進行。當仿真進行到第5個時間步時,觀測到坐標為(0,0)的圓點變成了紅色,如圖1(b)所示,這說明發脈水庫缺水了。隨后,在第6個時間步,位于(20,11)的法古水庫向雨波羅水庫調度了水資源,因此在網格中生成了一條綠色箭頭指向紅點,如圖1(c)所示。當運行到第44個時間步時,區域中出現了2個缺水的水庫,分別為發脈水庫和獨木水庫,并在仿真控制臺中輸出了“無法進行調水”的信息提示,如圖1(d)所示。此時表明該區域內部已無法再進行水資源調度,仿真達到了終止條件。

圖1 仿真過程
3.3.2仿真結果分析
根據仿真結果可以發現,在實驗設置的仿真參數下,東山鎮區域內水庫能夠通過內部的水資源調度持續45個時間步,即15個循環周期的水資源供應,此后就需要考慮區域外的水資源調度才能滿足區域內水資源需求。通過觀測區域內水資源調度關系可以發現大型水庫獨木向外調出的水資源次數最多,表明該水庫對區域內水資源的調度起到重要作用。這與當地的實際情況相符合,大型水庫比小型水庫有更大的水資源調度能力,同時大型水庫影響的區域范圍也要比小型水庫寬廣。此外,各水庫在仿真運行期間的當前水量變化如圖2所示。根據折線圖可發現,發脈水庫發生的缺水次數最多,一共出現了10次。這表明,在所設條件下,該水庫為缺水易發地,需要隨時做好水資源調度的準備。在第45個時間步時,獨木水庫出現了缺水,該區域內的其他水庫無法為其提供其缺少的水量,這是導致該區域無法調水的直接原因。

圖2 水庫水量變化情況
本文利用Repast仿真平臺構建了旱災發生下的水庫調度模型,模擬出云南省曲靖市東山鎮應對旱災時水庫間的水資源調度過程。通過設置不同的實驗參數,可以觀測出在不同仿真條件下各個水庫的水量變化情況和水庫之間的調度關系。仿真結果表明,獨木水庫對該地區的抗旱應急水資源調度起關鍵作用。在設定的實驗參數下,東山鎮通過區域內的水庫調度維持了15個旱災循環周期,該鎮的抗旱應急能力有待提高。
通過仿真實例發現旱災水庫調度模型能基本描述出東山鎮水庫調度的現實情況。不過,本文僅構建了區域內水庫調度的基本模型需要進行多次不同參數設定和不同區域內的仿真實驗比較才能進一步根據仿真數據給出抗旱應急能力的評價標準。下一步研究工作主要有兩個方面:第一,研究如何根據仿真的水資源調度循環周期數來評估地區的抗旱應急能力;第二,通過調研統計數據修正實驗仿真參數,如利用歷史降雨量來修正水庫的每期增水量以及根據地區的實際用水量修正水庫的供水量。
[1]王靜愛,商彥蕊,蘇筠,等.中國農業旱災承災體脆弱性診斷與區域可持續發展[J].北京師范大學學報:社會科學版,2005(3):130-137.
[2]馬斌,解建倉,汪妮,等.多水源引水灌區水資源調配模型及應用[J].水利學報.2001(9):59-63.
[3]劉曉平,唐益明,鄭利平.復雜系統與復雜系統仿真研究綜述[J].系統仿真學報,2008(23):6303-6315.
[4]廖守億,陳堅,陸宏偉,等.基于Agent的建模與仿真概述[J].計算機仿真,2008(12):1-7.
[5]侯合銀.復雜適應系統的特征及其可持續發展問題研究[J].系統科學學報,2008(4):81-85.
[6]趙秀美.基于Repast仿真平臺的水資源優化配置研究[D].天津:天津大學,2008.
[7]姚玉璧,張強,李耀輝,等.干旱災害風險評估技術及其科學問題與展望[J].資源科學,2013(9):1884 -1897.
[8]姜昌華,韓偉,胡幼華.REPAST——一個多Agent仿真平臺[J].系統仿真學報,2006(8):2319-2322.
[9]郝成民,劉湘偉,郭世杰,等.Repast::基于Agent建模仿真的可擴展平臺[J].計算機仿真,2007(11):285 -588.
[10]辛玉紅,江炳輝.基于Agent的供應鏈演化及Repast S仿真[J].科技管理研究,2011(8):80-84,89.
[11]郭超,陳勇.基于Repast的多Agent建模方法仿真實現研究[J].裝備學院學報,2012(6):97-100.
[12]孫科.基于Repast平臺銀行網點布局優化仿真的實現[J].通信技術,2014(12):1409-1414.
[13]王國義.基于Repast系統仿真平臺在地理學中的應用分析[J].地下水,2012(6):184-186.
[14]苗海珍.基于RePast的汽車產業集聚的探析[J].福建電腦,2013(11):108-110.
[15]趙劍冬,林健.基于Agent的Repast仿真分析與實現[J].計算機仿真,2007(9):265-268,284.
[16]傅游,杜宇.基于Agent的Repast建模仿真平臺[J].信息技術與信息化,2009(2):53-55.
[17]金銀龍,余文斌,洪亮,等.基于Repast平臺的商業智能模型的分析與實現[J].地理空間信息,2008(3):38-40.
[18]周德超,吳曉平.基于Repast仿真框架的蟻群算法設計與實現[J].武漢理工大學學報,2007(8):212 -124.
(責任編輯何杰玲)
Design and Imp lementation of Reservoirs Operation Simulation Based on Repast:A Case of Dongshan Town of Qujing City in Yunnan Province
WANG Yu-bina,WANG Hui-mina,WANG ranb
(a.Business School;b.Hydrology and Water Resources School,Hohai University,Nanjing 211100 China)
Focused on the problem of assessment of the ability of regional reservoir operation under drought emergency,a simulation model of reservoirs operation was designed and implemented based on Repast simulation platform,usingmulti-Agentmodeling and simulation technology.In particular,the design of environment,reservoir properties and behavior of the model rules were described.And the implementation framework and simulation process were introduced.Finally,a simulation experimentwas conducted on the application of Dongshan town.The results show the changes in water amount and the relationships between reservoirs in Dongshan town during the drought,which can pro-vide some data as reference for effective evaluation of the ability of a region under the drought emergency.
muti-Agent technology;Repast;reservoir operation
TP15
A
1674-8425(2015)06-0112-06
2015-03-16
國家社會科學基金重大項目(12&ZD214);國家自然科學基金資助項目(71433003);水利部公益性行業科研專項(201001044)
王宇賓(1989—),男,廣東人,碩士研究生,主要從事復雜適應系統仿真研究。
王宇賓,王慧敏,王然.基于Repast的水庫調度仿真設計與實現——以云南省曲靖市東山鎮為例[J].重慶理工大學學報:自然科學版,2015(6):112-117.
format:WANG Yu-bin,WANG Hui-min,WANG ran.Design and Implementation of Reservoirs Operation Simulation Based on Repast:A Case of Dongshan Town of Qujing City in Yunnan Province[J].Journal of Chongqing University of Technology:Natural Science,2015(6):112-117.