張俊瑞+王秀華

基于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