Repast Simphony
Category Cross-Omics>Agent-Based Modeling/Simulation/Tools
Abstract Repast (Recursive Porous Agent Simulation Toolkit) Simphony (Repast S) is a free and open source agent-based modeling toolkit that simplifies model creation and use.
Three (3) Repast platforms are currently available, namely,
- Repast for Java (Repast J),
- Repast for the Microsoft .NET framework (Repast .NET), and
- Repast for Python Scripting (Repast Py).
Each of these platforms has the same core features. However, each platform provides a different environment for these features.
Taken together, the Repast platform portfolio gives modelers a choice of model development and execution environments.
Repast Simphony (Repast S) extends the Repast portfolio by offering a new approach to simulation development and execution.
The Repast S runtime is designed to include advanced features for agent storage, display, and behavioral activation, as well as new facilities for data analysis and presentation.
Repast Simphony offers users a rich variety of features/capabilities including the following:
1) Fluid model component development using any mixture of Java, Groovy (An agile dynamic language for the Java Platform), and flowcharts in each project;
2) A pure Java point-and-click model execution environment that includes built-in results logging and graphing tools as well as automated connections to a variety of optional 'external tools' including --
The 'R statistics' environment, *ORA (*ORA is a risk assessment tool for locating individuals or groups that are potential risks given social, knowledge and task network information) and Pajek network analysis plug-ins [Pajek (Slovene word for Spider) is a program, for Windows, for the analysis and visualization of large networks];
A live agent SQL query tool plug-in [JoSQL (SQL for Java Objects) provides the ability for a developer to apply a SQL statement to a collection of Java Objects];
The VisAD scientific visualization package (VisAD is a Java component library for interactive and collaborative visualization and analysis of numerical data. The name VisAD is an acronym for "Visualization for Algorithm Development");
The Weka data mining platform (Weka is a collection of machine learning algorithms for data mining tasks. The algorithms can either be applied directly to a dataset or called from your own Java code), many popular spreadsheets, the MATLAB computational mathematics environment, and the iReport visual report designer;
3) An extremely flexible hierarchically nested definition of space including the ability to do point-and-click and modeling and visualization of 2D environments; 3D environments; networks including full integration with --
The JUNG network modeling library (JUNG - the Java Universal Network/Graph Framework -- is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network);
As well as Microsoft Excel spreadsheets and UCINET DL file importing (UCINET is a comprehensive package for the analysis of social network data as well as other 1-mode and 2-mode data. Can read and write a multitude of differently formatted text files, as well as Excel files);
And geographical spaces including 2D and 3D Geographical Information Systems (GIS) support;
4) A range of data storage "freeze dryers" for model check pointing and restoration including XML file storage, text file storage, and database storage;
5) A fully concurrent multithreaded discrete event scheduler;
6) Libraries for genetic algorithms, neural networks (NNs), regression, random number generation, and specialized mathematics (see below);
7) An automated Monte Carlo simulation framework which supports multiple modes of model results optimization;
8) Built-in tools for integrating external models;
9) Distributed computing with Terracotta (Terracotta offers a number of plug-ins for development frameworks as well as direct access to core features of the Terracotta scalability platform);
10) Full object-orientation;
11) Optional end-to-end Extensible Markup Language (XML) simulation;
12) A point-and-click model deployment system; and
13) Repast Simphony is available on virtually all modern personal computing (PC) platforms including Windows, Mac OS, and Linux.
Repast Simphony - Adding Agent Adaptation Using Genetic Algorithms --
Repast Simphony (Repast S) uses the Java Genetic Algorithms Package (JGAP) to implement genetic algorithms.
JGAP can be used directly within agents or the Repast S genetic algorithms (GA) wrapper can be used. Directly using JGAP provides maximum flexibility but requires more complex programming.
The Repast S GA wrapper simplifies the use of JGAP while preserving most options. It is recommended that Repast S users start with the Repast S wrapper and, only if needed, eventually move to directly use of JGAP.
The Repast S regression wrapper is consistent with direct use of JGAP so this should be relatively straightforward.
Repast Simphony - Adding Agent Adaptation Using Neural Networks (NNs) --
Repast Simphony (Repast S) uses the Java Object Oriented Neural Engine (Joone) library (see G6G Abastract Number 20342) to implement neural networks.
Joone can be used directly within agents or the Repast S neural network wrapper can be used. Directly using Joone provides maximum flexibility but requires more complex programming.
The Repast S wrapper simplifies the use of Joone while preserving most options. It is recommended that Repast S users start with the Repast S wrapper and, only if needed, eventually move to directly use of Joone.
The Repast S wrapper is consistent with direct use of Joone so this should be relatively straightforward.
Obviously, as with all ‘machine learning’ tools, it is important to make sure that neural networks, in general, and the chosen network design, in particular, are appropriate for your application.
System Requirements
Contact manufacturer; open source.
Manufacturer
- Argonne National Laboratory
- 9700 S. Cass Avenue
- Argonne, IL 60439
- Tel: 630/252-2000
Manufacturer Web Site Repast Simphony
Price Contact manufacturer.
G6G Abstract Number 20434
G6G Manufacturer Number 104062