张俊瑞+王秀华
基于RePast的仿真平台可以很好地实现计算机仿真,因此可以用来对矿井逃生进行仿真研究。本文采用基于Java的Eclipse开发平台和RePast建模仿真软件构建模型的运行平台,建立了矿井逃生仿真模型,用来模拟井下工作人员在遭遇火灾时的逃生情况,结果表明,利用这一模型能够较好地实现逃生仿真。
【关键词】RePast 逃生模型 仿真
1 引言
煤炭行业是我国从业人数众多的行业之一,与此同时,煤炭行业也是事故多发的行业之一。因此煤矿安全逃生就成为国内外研究者重点研究的一个问题,在我国尤其具有重大的研究意义。疏散模拟软件、数學建模、虚拟现实技术和计算机建模技术等是研究煤矿安全问题常见的研究方法。
2 模型简介
RePast由芝加哥大学社会科学计算研究中心[11]开发研制,是一个开源的仿真工具,支持Java语言,主要用来给复杂性个体行为建模。
矿井逃生模型中涉及到了RePast仿真的三要素:模型对象(Model Object)、空间对象(Space Object)和主体对象(Agent Object),在该模型中分别由CoalMineModel、CoalMineSpace和CoalMineAgent三个类实现。CoalMineModel类是模型对应的仿真程序的起点,实现模型的控制,它是最优先执行的。CoalMineSpace类为模型中的Agent提供空间活动环境,CoalMineAgent类实现模型中Agent的各种设置(如种类、属性等)和Agent的控制。
包括CoalMineModel、CoalMineSpace和CoalMineAgent三个类的矿井逃生模型仿真程序包括Private void buildModel()方法、Private void buildDisplay()方法和Private void buildschedule()方法。
Private void buildModel()方法用于创建模型运行的环境,包括主体对象和环境对象两种。利用Private void addAgents()方法可以在模型中添加numAgents个Agent,再利用Private voidbuildModel()方法导入井下巷道地图。除此以外,还可以在模型中设置灾害的初始发生坐标,避灾点和出口位置等信息。
Private void buildDisplay()方法用于创建显示界面和图表。模型中需要显示的主体和图表都是通过这个方法进行显示的。模型运行起来后,其显示界面是一个二维的网格结构,每一个网格代表一个Agent可以移动到的位置,因此每一个网格都有对应的坐标。在Private void buildDisplay()方法中,可以记录和报告Agent的活动状况;图表用来记录模型中每一个“tick”(RePast仿真平台中的时间单位)所对应的参数的值,在本模型中主要是同来统计逃生的Agent数量。通过Displaysurface对象可以实现显示界面,Displaysurface对象通常放在一个预定义的setup()方法中,此方法常用来对模型进行参数配置。
Private void buildschedule()方法建立改变模型状态的时间表,即模型在什么时间运用什么方法调用什么对象。在模型中,每运行一个“tick”,显示界面和图表都会相应地进行更新,本模型中用于记录每一个时间段Agent的情况及灾害的蔓延情况。
CoalMineAgent类实现Agent的活动,包括Agent的初始化、访问控制、所在空间的更新、Agent移动的方向矢量设置、Agent的显示以及状态报告等内容。CoalMineAgent类中包括了public void step()、public void setVxVy()、public void draw()、public void report()等方法,实现了Agent的设置、显示和状态报告等内容。
CoalMineSpace类实现模型中空间活动环境的初始化、灾害的初始发生地、Agent在空间中的初始化分布等情况设置。在空间活动环境中,每一个栅格都有一个对应的坐标,可以用(x,y)来表示,Agent就在这样的栅格单元上活动,其坐标与栅格单元的坐标相对应。CoalMineSpace类包括了public void setFire(),public boolean addAgent(),public int getTypeAt(),public boolean moveAgentAt()等方法,分别实现灾害初始发生地的设置、Agent的添加、灾害类型的设置及Agent的移动位移的设置。
除了以上三个主要的类以外,还有两个类Disaster和Point,用于设置灾害的基本信息和空间环境中的避灾硐室及出口位置等信息。
3 模型的仿真结果
矿井逃生模型的运行界面如图1所示。
模型界面包括六部分,分别是:
(1)RePast仿真平台工具条,位于模型界面的最上方,实现对模型的运行控制;
(2)Coal Mine Display,模型运行的显示界面,显示模型运行过程中的各个“tick”的状态;
(3)RePast Output输出窗口,输出模型运行过程中的统计数据;
(4)fireInSpace窗口,统计火灾蔓延情况;
(5)Coal Mine Model Setting窗口,设置和显示模型中的参数;
(6)Amount Of Agent In Space窗口,火灾发生时Agent的逃生情况统计。从图3的(6)窗口中可以看出,大部分Agent在火灾蔓延到自己所处的工作面时已经实现成功逃生。
4 结束语
本文利用基于RePast的仿真平台对矿井逃生模型进行仿真,给研究煤矿安全问题提供了一个新视角。利用该模型能够较好的实现井下逃生。下一步的研究将是对Agent的种类和决策及模型的运行规则加以细化,并将针对不同灾害类型和Agent生成不同的逃生路线。
参考文献
[1]Cotton S,Dennison-Johnson,A., Giraldo, L.Mine Escape Vehicle (MEV) concept development [C].// SME Annual Meeting and Exhibit 2010, February 28, 2010 - March 3, United States, 2010:206-209.
[2]Dziurzynski, W., Roszkowski, J., Tobiczyk, J. Monitoring and control of ventilation in polish coal mines[C]. //Australasian Institute of Mining and Metallurgy Publication Series.8th International Mine Ventilation Congress-Proceedings, 2005,309-315.
[3]Mironowicz.Wadystaw,Wasilewski.Stanisaw. Monitoring of natural hazards in the underground hard coal mines[C].//New Technological Solutions in Underground Mining International Mining Forum, Poland,2006:87-94.
[4]Papastefanou,Constantin.Escaping radioactivity from coal-fired power plants (CPPs) due to coal burning and the associated hazards:A review[J]. Journal of Environmental Radioactivity(S0265-931X), 2010,101(03):191-200.
[5]肖勇杰,封衛兵,晁媛.基于LBM算法的大规模人群疏散研究[J].计算机技术与发展,2011,21(07):21-24.
[6]汪云甲,伏永明.矿井巷道三维自动建模方法研究[J].武汉大学学报(信息科学版),2006,31(12):1097-1100.
[7]仵自连,王德勇,樊继.虚拟矿井生产仿真系统的分析与设计[J].微计算机信息,2006,22(26):308-310.
[8]蔡林沁.基于Agent的煤矿智能虚拟环境研究[D].中国科学技术大学,2007.
[9]蔡丽,童敏明.基于多Agent技术的煤矿安全生产执行系统设计[J].煤炭科学技术,2009,37(03):90-92.
[10]张俊瑞,邓曦辉.基于多Agent的井下逃生仿真模型[J].电脑开发与应用,2012,25(04):27-28.
[11]郝成民,刘湘伟,郭世杰.Repast:基于Agent建模仿真的可扩展平台[J].计算机仿真,2007,24(11):285-288.
作者简介
张俊瑞,女,硕士研究生学历。主要研究方向为智能软件技术。
王秀华,女,硕士学位。主要研究方向为数据库与智能信息处理。
作者单位
晋中学院信息技术与工程学院 山西省晋中市 030619