Repast中文教程.doc

Repast中文教程.doc

ID:31830965

大小:358.50 KB

页数:43页

时间:2019-01-20

Repast中文教程.doc_第1页
Repast中文教程.doc_第2页
Repast中文教程.doc_第3页
Repast中文教程.doc_第4页
Repast中文教程.doc_第5页
资源描述:

《Repast中文教程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、RepastJavacswarm脚本编译模型,用Javaswarm脚本运行模型。作为一个开源项目,在遵循GNU协议的基础上,所有人都可以分享Swarm的资料,这也意味着所有人都可以自由地奉献自己的智慧。因此,对Swarm感兴趣的研究人员可以结合自己的研究需要和建模经验,提出相关的设想,参与到Swarm的研究中去,本节后面的资源链接中列出了相关网址。Repast(RecurslvePorousAgentSimulationToolkit)是芝加哥大学社会科学计算研究中心研制的多主体建模工具,她提供了一系列用

2、以生成、运行、显示和收集数据的类库,并能对运行中的模型进行“快照”,记录某一时刻模型的当前状态,还可以生成模型运行过程中状态动态演化的视频资料。Repast从Swarm中借鉴了不少的设计结构和方法,所以常常称Repast为类Swarm的架构。一、设计思想及目标由于Swarm对建模者来说还是有些过于复杂,Repast项目希望提供一系列简化Swarm模型开发的Java类库。然而,随着JavaSwarm①版本的推出,这种仅仅希望作为Swarm的Java扩展的想法很快就被摒弃了。设计者们开始尝试使用Java语言设

3、计一个完全独立的模型平台,而不再是从Swarm中做一些现成的提取有外围的包装。RePast项目拟订了三个设计目标:使用方便、容易学习和容易扩展。设计者通过让模拟软件的底层结构具备抽象性、可扩展性以及“良好”的表现来实现这些目标。1.抽象性RePast的设计借鉴了很多别的主体建模软件,汲取了各个软件中最优秀的设计思想。类库设计时充分应用了面向对象和设计模式的思想,因此RePast的整个类库的结构非常明晰优美。类库提供了普通常用的底层抽象库(如安排时序、显示、数据收集等类库),类库还提供了一些用以建立表层元素

4、的常用类。这些类可直接使用,也可以根据需要继承和扩展。与Swarm一样,Repast还设计了一些关键的抽象数据结构,其中一些结构直接模仿了Swarm,如时序表等。2.可扩展性关键数据结构的抽象设计让Repast具备了可扩展的能力。为了充分从Swarm的抽象结构中获得方便,Repast继承了Swarm时间测试的设计方法,这对于提高其扩展性十分有利。此外,Repast还引人了设计模式中的一些经典抽象结构,使得其扩展性得到进一步的提高。如用设计模式中的综合模式实现时序的安排机制(时序表对象和各种行为类),由于这

5、种综合模式允许终端用户在建模编程时,能够对单独行为和复合行为进行统一编码处理,因此模型中的时序安排机制便变得很清晰直观,且易于扩展。3.“良好”的表现能力表现能力是指应用该平台建立应用研究模型时,该平台能否有效地适用于实际应用领域;如能否有效地用平台的开发接口把问题表述成计算机模型,模型能否在可承受的效率开销下运行,等等。“良好”的表现能力是指:在不影响别的优越特性前提下,可接受的表现能力。当表现能力的最优化不是设计的主要目标时,设计者的注意力应集中在如何减少对象的生成开销,以达到一种能够接受的运行速度。

6、RePast可以算得上比较好地完成了这一目标,甚至有所超越,相比其他模拟软件平台,Repast提供了更好的表现能力。此外,随着Java虚拟机性能的提高,Repast模型的速度也会得到改善。虽然建模时仍然必须学习一门程序设计语言:Java或Python,但Repast仍然是一款相当方便易用的软件。用Java作为实现语言避免了内存泄漏的问题,且Java的跨平台特性使得在不同的平台上的安装和使用也很简便。从Repast3.0版开始,模型的设计语言有了更多的选择;Repast3.0提供了Java版、Python版

7、和DotNet版三个版本让最终用户选择安装,除Java和Python外,还可以应用Dot-Net框架下的各种程序设计语言编制模型。_、Repast的体系结构RePast建模相当于设计一个状态机,状态机的核心状态是模型中所有成员的集体状态属性集合。成员则分为底层结构和表层结构。底层结构是各种各样用于运行模型、显示和收集数据等架构的机制;表层结构是设计者创立的模型。底层结构的状态就是模型的种种显示状态、数据收集对象的状态等等;表层结构的状态指模型的描述状态,比如所有主体变量的当前值,模拟环境空间的当前状态值,

8、或他们运行的空间以及别的可能有的各种表层对象(例如聚合“协同”的对象统计值等)。在这种状态机模式下,所有对状态机的改变都通过同一对象界面接口来实现,这个对象界面接口是SirnModellmnl类。这种设计为建模者减轻了学习负担,也简化了在工具包的功能不足时的扩展编程。通过继承SimModellmpl来建模,在用户模型与SimModellmpl中间一般还会有一个Template结构。各部分间的路径和层次关系参见图4—12与图4—

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。