資源描述:
《基于repast仿真平臺的礦井逃生模型》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、基于RePast仿真平臺的礦井逃生模型 基于RePast的仿真平臺可以很好地實現(xiàn)計算機仿真,因此可以用來對礦井逃生進行仿真研究。本文采用基于Java的Eclipse開發(fā)平臺和RePast建模仿真軟件構建模型的運行平臺,建立了礦井逃生仿真模型,用來模擬井下工作人員在遭遇火災時的逃生情況,結果表明,利用這一模型能夠較好地實現(xiàn)逃生仿真?! 娟P鍵詞】RePast逃生模型仿真 1引言 煤炭行業(yè)是我國從業(yè)人數眾多的行業(yè)之一,與此同時,煤炭行業(yè)也是事故多發(fā)的行業(yè)之一。因此煤礦安全逃生就成為國內外研究者重點研究的一個問題,在我國尤其
2、具有重大的研究意義。疏散模擬軟件、數?W建模、虛擬現(xiàn)實技術和計算機建模技術等是研究煤礦安全問題常見的研究方法?! ?模型簡介 RePast由芝加哥大學社會科學計算研究中心[11]開發(fā)研制,是一個開源的仿真工具,支持Java語言,主要用來給復雜性個體行為建模。 礦井逃生模型中涉及到了RePast仿真的三要素:模型對象(ModelObject)、空間對象(SpaceObject)和主體對象(AgentObject),在該模型中分別由CoalMineModel、CoalMineSpace和CoalMineAgent三個類實現(xiàn)。
3、CoalMineModel類是模型對應的仿真程序的起點,實現(xiàn)模型的控制,它是最優(yōu)先執(zhí)行的。CoalMineSpace類為模型中的Agent提供空間活動環(huán)境,CoalMineAgent類實現(xiàn)模型中Agent的各種設置(如種類、屬性等)和Agent的控制。 包括CoalMineModel、CoalMineSpace和CoalMineAgent三個類的礦井逃生模型仿真程序包括PrivatevoidbuildModel()方法、PrivatevoidbuildDisplay()方法和Privatevoidbuildschedule
4、()方法。 PrivatevoidbuildModel()方法用于創(chuàng)建模型運行的環(huán)境,包括主體對象和環(huán)境對象兩種。利用PrivatevoidaddAgents()方法可以在模型中添加numAgents個Agent,再利用PrivatevoidbuildModel()方法導入井下巷道地圖。除此以外,還可以在模型中設置災害的初始發(fā)生坐標,避災點和出口位置等信息。 PrivatevoidbuildDisplay()方法用于創(chuàng)建顯示界面和圖表。模型中需要顯示的主體和圖表都是通過這個方法進行顯示的。模型運行起來后,其顯示界面是一個
5、二維的網格結構,每一個網格代表一個Agent可以移動到的位置,因此每一個網格都有對應的坐標。在PrivatevoidbuildDisplay()方法中,可以記錄和報告Agent的活動狀況;圖表用來記錄模型中每一個“tick”(RePast仿真平臺中的時間單位)所對應的參數的值,在本模型中主要是同來統(tǒng)計逃生的Agent數量。通過Displaysurface對象可以實現(xiàn)顯示界面,Displaysurface對象通常放在一個預定義的setup()方法中,此方法常用來對模型進行參數配置。 Privatevoidbuildsched
6、ule()方法建立改變模型狀態(tài)的時間表,即模型在什么時間運用什么方法調用什么對象。在模型中,每運行一個“tick”,顯示界面和圖表都會相應地進行更新,本模型中用于記錄每一個時間段Agent的情況及災害的蔓延情況?! oalMineAgent類實現(xiàn)Agent的活動,包括Agent的初始化、訪問控制、所在空間的更新、Agent移動的方向矢量設置、Agent的顯示以及狀態(tài)報告等內容。CoalMineAgent類中包括了publicvoidstep()、publicvoidsetVxVy()、publicvoiddraw()、pu
7、blicvoidreport()等方法,實現(xiàn)了Agent的設置、顯示和狀態(tài)報告等內容?! oalMineSpace類實現(xiàn)模型中空間活動環(huán)境的初始化、災害的初始發(fā)生地、Agent在空間中的初始化分布等情況設置。在空間活動環(huán)境中,每一個柵格都有一個對應的坐標,可以用(x,y)來表示,Agent就在這樣的柵格單元上活動,其坐標與柵格單元的坐標相對應。CoalMineSpace類包括了publicvoidsetFire(),publicbooleanaddAgent(),publicintgetTypeAt(),publicboo
8、leanmoveAgentAt()等方法,分別實現(xiàn)災害初始發(fā)生地的設置、Agent的添加、災害類型的設置及Agent的移動位移的設置?! 〕艘陨先齻€主要的類以外,還有兩個類Disaster和Point,用于設置災害的基本信息和空間環(huán)境中的避災硐室及出口位置等信息。 3模型的仿真結果