APP下载

基于Repast的水库调度仿真设计与实现
——以云南省曲靖市东山镇为例

2015-11-05王宇宾王慧敏王然

关键词:旱灾缺水水量

王宇宾,王慧敏,王然

(河海大学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平台上进行模型的设计与实现。

1 旱灾水库调度模型

水库调度模型的主要研究对象是区域内的水库,即设模型中的水库为Agent。通过设置区域内相应的自然、工程和市场参数,包括区域的旱灾发生率、水库容量、水库水资源输入量和水资源需求量等,仿真模拟当该区域内某一地方发生旱灾时水库调度的基本情况。通过观察仿真的运行,可以了解到区域内水库水量的变化情况、旱灾的发生情况以及水资源的调度关系,从而评估该区域应对旱灾的能力。

1.1环境

水库所处的环境可以简化为一个网格空间,在每一个循环周期中水库的水会得到一定的补充,但如果水库所在的地区发生了旱灾,则该水库的水量将得不到补充。模型的假设前提是该区域内各个水库所在地的旱灾发生率为一个固定的概率,各水库所在地的旱灾发生为相互独立事件。

1.2水库属性

水库的属性主要包括以下4个:①库容量(capacity),即水库容量。库容量是该水库的蓄水能力,其积蓄的水量不能超过其容量。②当前水量(currentwater),即当前时刻水库内所积蓄的水量。在仿真过程中,水库将根据当前水量的不同呈现不同的颜色。当前水量较少时呈现绿色;当前水量较多时呈现蓝色;若当前水量为“0”,则表明该水库缺水,水库将呈现出红色外观。③需水量(water demand),需水量是每一周期中水库需要向当地供应的水量,当需水量大于水库当前水量时,表明水库不能供应足够的水资源给当地使用,此时需要从其他水库调度水资源。④缺水量(water discharge),即水库需要从其他水库调度的水量,由需水量和当前水量决定。

1.3行为规则

为了深入研究水库中水量变化的细节情况,每一个循环周期分为3个时间步(tick)进行,每个时间步中水库将执行以下相应的行为方法。

1)进水。水库首先判断当期是否发生了旱灾,若发生旱灾则当期该水库的水资源将得不到补充,若没发生旱灾则根据当前随机产生的增加水量来补充当前水量。若当前水量大于水库容量则当前水量为水库容量。该行为所调用的方法为:

2)供水。供水行为描述了水库向所在地区供应水资源和改变自身的当前水量的行为。供水时先需要判断水库是否有足够的水资源供该地使用,然后再决定是否需要调度其他水库的水资源。该行为所调用的方法为:

3)调水。调水行为由缺水的水库执行,若当期无缺水水库,则无需进行调水。缺水的水库根据自身缺水量向整个区域的其他水库进行搜索,以期找到能为其调度水资源的水库,然后从中随机选择一个水库进行调水,调度的水量为缺水方的缺水量。同时在仿真界面中显示二者之间的水资源调度关系,用有向箭头表示,由调出水库指向调入水库。在现实世界中水库供水时还要考虑到行政管辖的关系,其中中大型水库由市级统一管理调度,小一小二型的水库可由当地政府自行调度。因此在调度时,优先调度小型水库的水资源。该行为所调用的方法为:

2 基于Repast的旱灾水库调度仿真

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 仿真实例

本文将以云南省曲靖市麒麟区东山镇水资源调度为例,仿真该地的水库情况并分析仿真运行结果。

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 水库水量变化情况

4 结束语

本文利用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.

猜你喜欢

旱灾缺水水量
小水量超纯水制备系统的最佳工艺选择
缺水山区推广旱地栽种杂交水稻喜获丰收
利用物质平衡法分析小层注水量
板栗“旱灾”后生产管理技术
告别干燥缺水“面子问题”
明代江西地区旱灾发生频次分析
地球妈妈缺水了 等
基于水力压裂钻孔的注水量及压裂半径的应用研究
分散药包千吨注水量的水压爆破
德州市2014年旱灾应对措施与经验分析