Repast Agent Simulation Toolkit

Mục lục bài viết

News

  • OR/MS Today has published a paper on agent-based modeling in general and Repast in particular in the
    Auguest 2006 issue. The full citation:

    Douglas Samuelson and Charles Macal, “Agent-based Simulation Comes of Age,” OR/MS Today, Vol. 33, Number 4, pp. 34-38,
    Lionheart Publishing, Marietta, GA, USA (August 2006).

    OR/MS Today is a “magazine for members of the Institute for Operations Research and the Management Sciences (INFORMS)” that “provides a comprehensive look at operations research and management science”. An online version of the article can be found here.

  • ACM Transactions on Modeling and Computer Simulation has recently published a paper on Repast. The full citation:

    North, M.J., N.T. Collier, and J.R. Vos, “Experiences Creating Three Implementations of the Repast Agent Modeling Toolkit,”
    ACM Transactions on Modeling and Computer Simulation, Vol. 16, Issue 1, pp. 1-25, ACM, New York, New York, USA
    (January 2006).

    Please use this paper as the primary reference for Repast.

Repast 3 Overview

The Recursive Porous Agent Simulation Toolkit (Repast) is one of
several agent modeling toolkits that are available. Repast borrows
many concepts from the Swarm agent-based modeling toolkit [1].
Repast is differentiated from Swarm since Repast has multiple pure
implementations in several languages and built-in adaptive features
such as genetic algorithms and regression. For reviews of Swarm,
Repast, and other agent-modeling toolkits, see the 2002 survey by
Serenko and Detlor, the 2002 survey by Gilbert and Bankes, and the
2003 toolkit review by Tobias and Hofmann [2][3][4].

Repast is a free open source toolkit that was originally developed
by Sallach, Collier, Howe, North and others [5]. Repast was created
at the University of Chicago. Subsequently, it has been maintained
by organizations such as Argonne National Laboratory. Repast is now
managed by the non-profit volunteer Repast Organization for
Architecture and Development (ROAD). ROAD is lead by a board of
directors that includes members from a wide range of government,
academic and industrial organizations. The Repast system, including
the source code, is available directly from the web.

Repast seeks to support the development of extremely flexible
models of living social agents, but is not limited to modeling
living social entities alone. From the ROAD home page:

 Our goal with Repast is to move beyond the representation of agents
 as discrete, self-contained entities in favor of a view of social
 actors as permeable, interleaved, and mutually defining; with
 cascading and recombinant motives.  We intend to support the
 modeling of belief systems, agents, organizations, and institutions
 as recursive social constructions.

At its heart, Repast toolkit version 3 can be thought of as a
specification for agent-based modeling services or functions. There
are three concrete implementations of this conceptual
specification. Naturally, all of these versions have the same core
services that constitute the Repast system. The implementations
differ in their underlying platform and model development
languages. The three implementations are Repast for Java (Repast
J), Repast for the Microsoft.Net framework (Repast.Net), and Repast
for Python Scripting (Repast Py). Repast J is the reference
implementation that defines the core services. In general, it is
recommended that basic models can be written in Python using Repast
Py due to its visual interface and that advanced models be written
in Java with Repast J or in C# with Repast .Net.

Repast 3 has a variety of features including the following:

  • Repast includes a variety of agent templates and examples.
    However, the toolkit gives users complete flexibility as to how
    they specify the properties and behaviors of agents.
  • Repast is fully object-oriented.
  • Repast includes a fully concurrent discrete event scheduler.
    This scheduler supports both sequential and parallel discrete
    event operations.
  • Repast offers built-in simulation results logging and graphing
    tools.
  • Repast has automated Monte Carlo simulation framework.
  • Repast provides a range of two-dimensional agent environments
    and visualizations.
  • Repast allows users to dynamically access and modify agent
    properties, agent behavioral equations, and model properties at
    run time.
  • Repast includes libraries for genetic algorithms, neural
    networks, random number generation, and specialized mathematics.
  • Repast includes built-in systems dynamics modeling.
  • Repast has social network modeling support tools.
  • Repast has integrated geographical information systems (GIS)
    support.
  • Repast is fully implemented in a variety of languages including
    Java and C#.
  • Repast models can be developed in many languages including Java,
    C#, Managed C++, Visual Basic.Net, Managed Lisp, Managed Prolog,
    and Python scripting.
  • Repast is available on virtually all modern computing platforms
    including Windows, Mac OS, and Linux. The platform support
    includes both personal computers and large-scale scientific
    computing clusters.

References

  1. Swarm Development Group: Swarm 2.2, Available at http://wiki.swarm.org (Aug. 2004)
  2. Serenko, A. and Detlor, B.: Agent Toolkits: A General Overview
    of the Market and an Assessment of Instructor Satisfaction with
    Utilizing Toolkits in the Classroom (Working Paper 455),
    McMaster University, Hamilton, Ontario, Canada (2002)
  3. Gilbert, N., and Bankes, S.: Platforms and Methods for
    Agent-based Modeling, Proceedings of the National Academy of
    Sciences of the USA, vol. 99, suppl. 3, National Academy of
    Sciences of the USA, Washington, DC, USA (May 14, 2002) pp.
    7197-7198
  4. Tobias, R. and Hofmann, C.: Evaluation of Free Java-libraries
    for Social-scientific Agent Based Simulation, Journal of
    Artificial Societies and Social Simulation, University of
    Surrey, vol. 7, no. 1 (Jan. 2003)
  5. Collier, N., Howe, T., and North, M.: Onward and Upward: The
    Transition to Repast 2.0, Proceedings of the First Annual North
    American Association for Computational Social and Organizational
    Science Conference, Electronic Proceedings, Pittsburgh, PA USA
    (June 2003)
  6. Repast Organization for Architecture and Development,
    http://repast.sourceforge.net, 2003

The design of this web site is, in part, based on the web design of
the excellent graph library JUNG, http://jung.sourceforge.net

Thanks to the people at “YourKit Java
Profiler” for providing us with an open source license for their Java
profiler. It has been very useful in optimizing updates to Repast’s spatial classses.