欢迎来到天天文库
浏览记录
ID:9850340
大小:5.70 MB
页数:39页
时间:2018-05-12
《repast官方教程完整翻译》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ARePastTutorialbyJohnT.Murphy,UniversityofArizona&ArizonaStateUniversity(contact)(请尊重作者版权)译者:BrianYang,AnhuiNormalUniversity(brianyang1106@ymail.com)原文链接:http://www.perfectknowledgedb.com/Tutorials/H2R/main.htm1.如何生成一个RePast模型RePast仿真工具箱是一个预先制作好的编程元素的集合,这些元素可以让你相对容易地构建基于主体(Agen
2、t-Based)的仿真模型。但是,有些步骤,明显不是直觉上的,却也没有在任何我所找到的文档里解释清楚;这个简短的向导能让你按照步骤一点一点实现我们的目标。概要/*译者注:为了使用RePast,你的电脑需要配备JDK(安装后最好配置一下环境,如果装有Apple的QuickTime,那么恭喜你,请卸载QT吧,否则配置会出问题;不配置也行~),再下载Eclipse和RePastJ,给出三个下载的页面链接(2011/7/28):JDK,Eclipse:点击直接下载RePastJ:(点击直接下载)注意这里并没有使用RePast官网主页面的RePastSimph
3、ony的链接,因为我们做的例子是基于Java的,RepastJ足够了,注结束*/一个基本的RePast模型包括以下几个元素(这个太重要了!):1.一个Model对象,它用来作为模型本身,运行也是从这个文件运行2.一个Space对象,即空间对象,它控制行为发生的环境3.一个Agent对象,即行为主体对象其实理论上有的时候是可以忽略掉详细的Space对象的,即不去创建这个Space.java,但是我们很少去这么做。因为一旦它被忽略,那么agents就可能被默认在一个无限的空间内生存,或者是默认在一个极小的空间内,以至于无法和别的agents进行交互,那么
4、就丧失了仿真的意义。在这几个元素当中,建立起来最复杂的是Model对象,它会被第一个执行并且控制着整个仿真过程,因此我们从Model对象来一步一步往下说比较合理。2.TheSimModelObject(RepastJ中的一个对象)Model对象会继承RePast的SimModelImpl对象。我想,你绝对不会看许多SimModelImpl对象实现的代码,但是事实上这些代码是最重要的,因为它控制了整个RePast环境和仿真的过程。而且,它预期在你创建的Model对象中找到一些东西——不幸的是这些东西没有一个真正的Interface(接口)正式,但是思路
5、是差不多的。你创建的Model对象将会被分块在Eclipse上设计,其实就是一个功能一个功能往上加,并且最终由RePastJ的工具条上的按钮触发运行。第一个按钮用来打开一个模型,红叉用来关闭一个模型,红叉左边的小灯泡用来设置参数;最重要的是第三、四、五个按钮,第三个表示运行,第四个表示单步运行,第五个表示初始化模型;第六个表示停止,第七个表示暂停,第八个按钮(循环箭头)表示截断并将仿真恢复到未初始化状态。(这些按钮的名称务必记住,后面讲到时不再附图)我们先做一个小小的测试模型,下面译者一步一步实现给大家看:/*译者注1.打开Eclipse,文件,新,
6、Java项目,项目名填上MyFirstRePastModel,Next此时界面应该是:2.选择第三个标签:库,右边按钮“添加外部JAR”3.(3,4两步很重要)选择安装RePast的文件夹RePast3,进入后打开RePastJ,单击选中repast.jar文件,点击打开4.重复步骤2,进入RePastJ文件夹后,直接双击打开lib文件夹,Ctrl+A实现全选,点击打开,然后完成(如果以后写代码时出现包未导入的提示,说明这两步你没有导入成功,这两步其实很no-brainer的:就是把repast.jar和lib文件夹下所有的jar文件都导入就行了)1
7、.最后点击完成不要管我其他的项目此时,就完成了与RePastJ的连接,说白了就是在Eclipse中写代码,然后让RePastJ环境运行,导入外部的这些jar文件,目的是写程序时需要导入诸多Repast包,此时再回头看看教程1里的第一句话:RePast仿真工具箱是一个预先制作好的编程元素的集合。2.双击打开MyFirstRePastModel,右键src,新建,包,包名填上demo(随意),完成3.右键demo,新建,类(分别新建三个类,我这里分别取名为Model,Space,Agent)4.对于Model.java,仅保留第一行代码(如右上图所示),
8、然后开始在Model里,请一步一步添加代码,自己敲一遍的过程可以把我们以后要用到的基本方法都熟悉一遍*/1.
此文档下载收益归作者所有