Repast中文教程.doc

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Repast中文教程

Repast Javacswarm脚本编译模型,用Javaswarm脚本运行模型。 作为一个开源项目,在遵循GNU协议的基础上,所有人都可以分享Swarm的资料,这也意味着所有人都可以自由地奉献自己的智慧。因此,对Swarm感兴趣的研究人员可以结合自己的研究需要和建模经验,提出相关的设想,参与到Swarm的研究中去,本节后面的资源链接中列出了相关网址。 Repast(Recurslve Porous Agent Simulation Toolkit)是芝加哥大学社会科学计算研究中心研制的多主体建模工具,她提供了一系列用以生成、运行、显示和收集数据的类库,并能对运行中的模型进行“快照”,记录某一时刻模型的当前状态,还可以生成模型运行过程中状态动态演化的视频资料。Repast从Swarm中借鉴了不少的设计结 构和方法,所以常常称Repast为类Swarm的架构。 一、设计思想及目标 由于Swarm对建模者来说还是有些过于复杂,Repast项目希望提供一系列简化Swarm模型开发的Java类库。然而,随着JavaSwarm①版本的推出,这种仅仅希望作为Swarm的Java扩展的想法很快就被摒弃了。设计者们开始尝试使用Java语言设计一个完全独立的模型平台,而不再是从Swarm中做一些现成的提取有外围的包装。 RePast项目拟订了三个设计目标:使用方便、容易学习和容易扩展。设计者通过让模拟软件的底层结构具备抽象性、可扩展性以及“良好”的表现来实现这些目标。 1.抽象性 RePast的设计借鉴了很多别的主体建模软件,汲取了各个软件中最优秀的设计思想。类库设计时充分应用了面向对象和设计模式的思想,因此RePast的整个类库的结构非常明晰优美。类库提供了普通常用的底层抽象库(如安排时序、显示、数据收集等类库),类库还提供了一些用以建立表层元素的常用类。这些类可直接使用,也可以根据需要继承和扩展。与 Swarm一样,Repast还设计了一些关键的抽象数据结构,其中一些结构直接模仿了Swarm,如时序表等。 2.可扩展性 关键数据结构的抽象设计让Repast具备了可扩展的能力。 为了充分从Swarm的抽象结构中获得方便,Repast继承了Swarm时间测试的设计方法,这对于提高其扩展性十分有利。此外,Repast还引人了设计模式中的一些经典抽象结构,使得其扩展性得到进一步的提高。如用设计模式中的综合模式实现时序的安排机制(时序表对象和各种行为类),由于这种综合模式允许终端用户在建模编程时,能够对单独行为和复合行为进行统一编码处理,因此模型中的时序安排机制便变得很清晰直观,且易于扩展。 3.“良好” 的表现能力 表现能力是指应用该平台建立应用研究模型时,该平台能否有效地适用于实际应用领域;如能否有效地用平台的开发接口把问题表述成计算机模型,模型能否在可承受的效率开销下运行,等等。“良好”的表现能力是指:在不影响别的优越特性前提下,可接受的表现能力。当表现能力的最优化不是设计的主要目标时,设计者的注意力应集中在如何减少对象的生成开销,以达到一种能够接受的运行速度。RePast可以算得上比较好地完成了这一目标,甚至有所超越,相比其他模拟软件平台,Repast提供了更好的表现能力。此外,随着Java虚拟机性能的提高,Repast模型的速度也会得到改善。 虽然建模时仍然必须学习一门程序设计语言:Java或 Python,但Repast仍然是一款相当方便易用的软件。用Java作为实现语言避免了内存泄漏的问题,且Java的跨平台特性使得在不同的平台上的安装和使用也很简便。从Repast 3.0版开始,模型的设计语言有了更多的选择;Repast 3.0提供了 Java版、Python版和 DotNet版三个版本让最终用户选择安装,除Java和Python外,还可以应用Dot-Net框架下的各种程序设计语言编制模型。 _、Repast的体系结构 RePast建模相当于设计一个状态机,状态机的核心状态是模型中所有成员的集体状态属性集合。成员则分为底层结构和表层结构。底层结构是各种各样用于运行模型、显示和收集数据等架构的机制;表层结构是设计者创立的模型。底层结构的状态就是模型的种种显示状态、数据收集对象的状态等等;表层结构的状态指模型的描述状态,比如所有主体变量的当前值,模拟环境空间的当前状态值,或他们运行的空间以及别的可能有的各种表层对象(例如聚合“协同”的对象统计值等)。在这种状态机模式下,所有对状态机的改变都通过同一对象界面接口来实现,这个对象界面接口是SirnModellmnl类。这种设计为建模者减轻了学习负担,也简化了在工具包的功能不足时的扩展编程。 通过继承SimModellmpl来建模,在用户模型与SimModellmpl中间一般还会有一个Templ

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档