Friday, December 07, 2007

Recent Developments in Toolkits

Many Agent-based modelling toolkits are continuously being developed and reviews quickly go out of date (see Nikolai and Madey for a recent review). Some recent developments can be seen in Repast, StarLogo and NetLogo toolkits, including the support of 3D environments. Repast Simphony 1.0 has recently been released which includes a point and click interface for model development and full GIS support. Additionally StarLogo has created an open source version of StarLogo called OpenStarLogo. Furthermore it has released StarLogo TNG (see image below) which has a simple user interface which allows users with little or no programming experience to create models. NetLogo also supports 3D models (see below).

Repast Simphony 1.0 - Runtime displays showing 2D and 3D visualization of networks.

StarLogo TNG Hill-Climbers example. Highlighting the user interface to create models (E.g. Block Factory and Block Canvas) and the 3D viewer.

Netlogo Traffic Grid 3D Viewer

Allows one to “control traffic lights and overall variables, such as the speed limit and the number of cars, in a real-time traffic simulation (NetLogo)." Thus allowing one to explore traffic dynamics.

Friday, November 23, 2007

Book Reviews

I have recently had the pleasure of reading 2 recent books about ABM and I thought that I would share my thoughts on them. Below is the review.

Agent-based modelling (ABM) is at the forefront of computer modelling research focusing on the individual or groups of individuals, and how these individuals interact to form emergent structures. In particular, the ABM paradigm is becoming an increasingly used technique to study cities and regions. The two books ‘Managing Business Complexity Discovering Strategic Solutions with Agent-Based Modelling and Simulation’ by North and Macal (2007) and the ‘Handbook of Research on Nature-Inspired Computing for Economics and Management edited by Rennard (2007) aim at outlining the fundamental concepts and principles of ABM supplemented with numerous applications. While there are many books relating to ABM, I was interested in reading these two books to see if they could successfully address the diverse literature pertaining to the rapidly growing field of ABM in a concise and simple way thus aiding understanding of ABM and their wider applications.

Managing Business Complexity Discovering Strategic Solutions with Agent-Based Modelling and Simulation’ by North and Macal (2007) has two goals, the first is to teach the reader how to think about agents, and secondly to teach how to do something with agents by developing agent-based models and simulations to assist decision-making. The book provides fifteen well-written chapters providing a consistent vocabulary for ABM, something which is often missing from edited books. North and Macal claim the book offers a complete resource for agent-based modelling and simulation (ABMS). While this is a strong claim, it does go some way of doing so. The book tackles questions, ranging from who needs agents, what are agents, where are agent applications being used, when is it appropriate to use ABM, why use agents and how should one think of agents. The ABMS paradigm is outlined, detailing the main approaches to implementing computational agents while relating it to several fields of knowledge (e.g. complexity science, network science) and technological advances, for example. The book emphasises ABMS unique capabilities and how it can be effectively applied and used together with more traditional modelling approaches which the authors term ‘blended modelling’ to further our understanding of systems of interest.

The book surveys a range of implementation environments that can be used to carryout ABMS, ranging from simple spreadsheets (e.g. Excel), to prototyping environments (e.g. NetLogo), to computational mathematics systems (e.g. MATLAB). These examples highlight how ABMS can be done on standard office computers, along with presenting participatory ABMS (e.g. using people to act as agents) and large scale ABMS and toolkits that support such development (e.g. Swarm).

The latter chapters address some of the more challenging aspects of ABM, that of verification and validation, what sorts of data should be feed into agent-based models and how the appropriate inputs for ABMS can be found. Specifically discussing data collection and quality issues, and how to understand outputs of an agent-based model through recording, analysing and interpreting results. Furthermore, how these results can be used to make an impact, to supply useful information and to support decision-making. The penultimate chapter discuses how techniques for testing models, preparing data, and approaches to using and communicating model results can be managed within organisations and the roles that various participants play in the process. Emphasising the need to identify the problem that needs to be solved and considerations for the design of an agent-based model, and the processes that need to be achieved to accomplish this goal. Overall the book provides a good overview of ABMS with many example applications the authors themselves have developed and applied to solve real world problems.

The authors write that the intended audience for this book are managers, analysts and software developers in business and government. This should not put off other readers from other fields, as this book provides a useful source of reference for anyone interested in ABM no matter how much they know. For those who want to acquaint themselves with ABM this book is an easy way to do so. For those that already have an understanding, this book will compound it. Additionally, it is reasonably priced at £52. However, I do have one criticism about this book. While there is a host of illustrative examples (including tables and figures) to support the discussion, the book misses links to actual code and models, which I believe would further help the readers understanding and learning about ABMS.

The second book edited by Rennard entitled ‘Handbook of Research on Nature-Inspired Computing for Economics and Management’ complements the first book by highlighting how computational modelling is being utilized in a diverse set of fields. However, unlike the book by North and Macal, it is not intended to be a beginner’s guide to modelling but more of a reference of the current state-of-the-art research topics in the field of nature-inspired computing from a wide range of disciplines, ranging from social sciences to operations research. The two edited volumes by Rennard (58 papers in total) provides a concise reference of the varied role of nature-inspired computing in a single source, as these topics/applications tend to be published in a diverse range of journal articles.

The main tread through these papers to quote Bonabeau “is human behaviour, individual or collective, and how it can be understood, modelled, approximated, or even enhanced using a range of techniques and approaches from ‘complexity science’ (pp xxviii).” Such techniques include evolutionary algorithms, swarm intelligence, social networks and ABM. Many of which are discussed in the previous book and shows how a variety of approaches can help advance science in a wide set of domains.

The book is split into ten sections. The first section explains and explores nature-inspired computing, specifically the approach of artificiality and simulation in the social science by providing details on different modelling approaches and applications based on social insects –ants, bees, wasps and termites behaviours and how this has inspired social applications such as pheromone trails used for route planning. A short introduction to stochastic optimization algorithms such as simulated annealing, and neural networks evolutionary algorithms and genetic programming is then provided thus setting the scene for the following sections and example applications.

The sections include social modelling, with a particular insightful paper by Axelrod entitled ‘Simulation in the social sciences’ which offers advice for doing simulation research, focussing on the programming of a simulation model, analysing the results, sharing the results and replicating other peoples simulation in which he advocates providing the source code or links to the code. While many of the other papers adhere to this paper by providing links to actual code and data, or say that the code is available from the author upon request therefore allowing for replication and learning, this is not always the case.

The use of agents to explore economics (i.e. agent-based computational economics - ACE) is presented and examples of where agent-based models have been used in economics. These included how agents can learn through the use of genetic algorithms, the use of neural networks for processing activities of firms, or using agent-based models to explore the competitive advantages of geographical clusters. Other sections detail how nature-inspired computing can be used in design and manufacturing, particularly using evolutionary algorithms applied to design and project management. Other parts of the book explore operations and supply chain management issues specifically focusing on how evolutionary computation can be used to solve operations and supply chain problems. Applications are then given on how information systems can be informed by nature-inspired computing, focusing on knowledge gathering. Commerce and negotiation issues are explored, such as the use of agents to study auctions using genetic algorithms as a way for developing bidder strategies. Other examples use agents to study price wars between different brands, or product propagation in marketing. In finance, house prices and stock markets are explored using evolutionary computing.

Unfortunately, I have several criticisms about this book; first, while providing many example applications it does not provide many spatially explicit examples. Secondly, while these applications provide a valuable insight into nature-inspired computing crossing many domains, the papers do not flow particularly well, but this is to be expected from such comprehensive book, contributed by numerous authors. Thirdly, while key terms are presented at the end of most papers, helping clarify terminology used throughout the book and within each paper, this is not always the case. The fourth criticism is the cost, at £210 it is an expensive reference book. Nevertheless, do not let these criticisms detract from the book. Each paper adds knowledge to how nature-inspired computing can help tackle complex problems in a wide range of applications in economics and management.

As stated at the beginning of the review, I was interested in seeing if the books could present clearly the diverse literature pertaining to ABM. Both books provide a good introduction and source of reference pertaining to the current state-of-art of ABM. While these books highlight mainly applications/examples from business and economics with relatively few spatially explicit examples. Much of this knowledge is inspired from a wide range of disciplines commonly linked through complexity research. Thus providing a way of fostering thought and cross-disciplinary research.

Both of these books and many more can be found on our recommended books page.

Wednesday, November 07, 2007


A previous post introduced the notion of microsimulation and how it can be integrated with ABM. As a follow on to this post, I would like to draw ones attention to such an application. That of MATSim (Multi Agent Traffic Simulation),n open source java application which links diverse datasets such as networks (e.g. roads and public transport networks), population data (e.g. census data and commuter matrices) and demand (places of work, leisure facilities, opening hours) and uses this information to simulated a range of issues. From that of road pricing schemes, location based services, city evacuation and social networks.

Basically MATSim provides a toolbox to implement large-scale agent-based transport simulations. The toolbox consists of several modules which can be combined or used in stand-alone applications. Currently, MATSim offers a toolbox for demand-modelling, mobility-simulation, re-planning, a controller to iteratively run simulations as well as methods to analyze the output generated by the modules.

MATSim is currently being developed by two groups: Transport Planning at the Institute for Transport Planning and Systems (IVT), Swiss Federal Institute of Technology Zurich, and the Transport Systems Planning and Transport Telematics at the Institute for Land and Sea Transport Systems, Technische Universität Berlin.

MATSim can be download from while further information and links about MATSim can be found on the Project website.

An alternative to MATSim is TRANSIMS, and Balmer, et al. 2005 provide a comparison of MAtSIM with TRANSIMS.

Tuesday, November 06, 2007

The Basic Immune Simulator

Just a quick note on a Repast model we recently found called the Basic Immune Simulator developed by Charles Orosz, Virginia Folcik and Christina Sasswas utilizing RepastJ. The model was developed to explore the behaviour of the immune system as a complex system.

The site provide the source code of the model and instructions to run the model. Which addresses some of the key issues with regard to sharing information with the social sciences which Axelrod (2007) recommends.

Further information and model code can be seen at the Basic Immune Simulator website and an article

Folcik, V.A., An, G.C. and Orosz, C.G.(2007) The Basic Immune Simulator: An agent-based model to study the interactions between innate and adaptive immunity. Theoretical Biology and Medical Modelling, 4:39.

Axelrod (2007) ‘Simulation in the social sciences’ inRennard, J.-P. (ed), Handbook of Research on Nature-Inspired Computing for Economics and Management, Idea Group Reference, Hershey, PA.

Wednesday, October 31, 2007

Urban Modelling

Urban modelling has had a long lineage and finding quality articles that trace their routes and clarify their roots and terminology are often difficult to find. Mike Batty has recently written a short piece of work entitled “Urban Modelling” for a forthcoming book “International Encyclopaedia of Human Geography.” This chapter provides a excellent introduction to the subject of urban modelling. Highlighting how urban modelling has changed over time.

Mike reviews how the lineage of urban models has been developed and changed from their first implementations relating it to how we now think of cities, as complex systems, growing from the bottom up and how dynamics are becoming increasingly important.
To summarise, it provides a concise reference about urban modelling by presenting a discussion on how urban modelling principles can be defined. Specifically, defining models, urban theory, modelling principles, types and styles of models (e.g. spatial interaction models, agent-based models, cellular automata models, land-use transport model, etc.), the model building process and urban modelling applications. Additionally the paper provides links to online resources, which extend the paper along with valuable references on all the topics covered.

On a side note Mike has recently published a book entitled “Cities and Complexity: Understanding Cities with Cellular Automata, Agent-Based Models, and Fractals” which provides a good source of reference for anyone interested furthering their understanding in cities using CA, ABM and fractals.

Thursday, October 18, 2007


Often within ABM one wants to model the individual and how these individuals interact to form emergent patterns such as individuals and the resulting crowd or popupulations. The problem is the lack of data at the individual level. One potential solution to this is combing microsimulation and agent-based modelling techniques.

The foundations of microsimulation as a technique for socio-economic modelling was pioneered by Orcutt (1957) who identified and represented individual actors in the economic system through the way in which their behaviour changed over time. However, early adoption of this technique for socio-economic modelling was hindered by the limited computer resources and lack of data about temporal behaviour.

Today, microsimulation provides one of the most disaggregated techniques for urban modelling. The main features of microsimulation can be found in a paper by Clarke and Holm (1987) which additionally reviews its early applications in economics, healthcare planning and demographics. The basic concept is simply to represent the elementary units (of a city or region) be it a person, a house or a car as a set of individuals objects with unique characteristics rather than using aggregate counts such as output areas from the census. This is often achieved by generating a synthetic population to represent imaginary rather than real people using aggregate data. In such a way those particular characteristics are associated with a particular individual, so that the distributions of the simulated population match the real or modelled distributions (as a way of building artificial populations which closely resemble actual societies). Once the individuals have been created in this way, the model is used for some purpose such as policy analysis.

Microsimulation models can be both dynamic and static in nature and have been applied to disciplines associated with urban and regional analysis especially for the analysis of policy impact. Early efforts in particular focused on the sociology, economics, social administration (e.g. healthcare provision), housing and residential location (see Holm et al., 2000 and Wilson, 2000 for further details and reviews; additionally the International Microsimulation Association provides links to models under active development). The models are often used to simulate changes in distribution, for example, demographic and land-use changes (as in UrbanSim) or the distribution of traffic flow over a street network (e.g. as in the TRANSIMS model, see Waddell, 2001) and are the basis for many popular planning support systems.

While early microsimulation modelling efforts where not overtly spatial as they were often developed outside the field of geography, with the advent of more comprehensive datasets, more powerful computing technology and the development of GIS, microsimulation models now have the ability to represent spatial processes explicitly. For example at the University of Leeds, an explicit and detailed spatial dimension has been added to microsimulation models, including the coupling with spatial interaction models (e.g. Birkin and Clarke, 1987, cited in Birkin, 2005; Clarke and Holm, 1987) and its integration with GIS. Microsimulation models at Leeds have been applied to domains such as education, health, labour markets and retailing (see Birkin, 2005 for further details). In particular, the MoSeS (Modelling and Simulation for e-Social Science) project from the University of Leeds aims to develop a demographic simulation at the level of individuals and households to give robust forecasts of the future population of the UK (Birkin et al., 2006) For more information on MoSeS click here).

Microsimulation provides a mechanism to evaluate the effects of policy changes at the level of the decision making units such as individuals, firms and households rather than focusing on the aggregate information of groups of individuals to predict policy impacts, while at the same time estimates of aggregate outcomes can still be derived by summing up individual predictions. Whilst this process of creating individuals based on aggregate data addresses the ecological fallacy of assigning average group attributes to individual entities, and assuming an ecological correlation between them, it does not address the Modifiable Areal Unit Problem (MAUP) of decomposing aggregate spatial data arbitrarily into smaller geographical units (Benenson and Torrens, 2004).

Another important question concerns the relationship between microsimulation and agent-based modelling for urban modelling. While both approaches focus on the individual, the two approaches are different. For example, Birkin (2005) writes that it may be fair to characterise agent-based approaches as mostly concerned with behaviour at the individual level, while microsimulation as concerned with questions of composition and structure of the urban area. In traditional ABM, the emphasis is on interaction between individuals based on behavioural rules, which evolve stochastically over time and space in response to the interactions with other individuals, while traditional microsimulation transition probabilities lack evolutionary and spatial dimensions.

On the other hand, the two approaches are moving towards a more common ground as microsimulation models add more behavioural and spatial interaction between individual units and ABM add both space and demographic characteristics to their agents (The International Microsimulation Association, 2006). For example, TRANSIMS is an agent-based model using disaggregate microsimulation techniques to simulate traffic for large metropolitan areas, and the ILUTE (Integrated Land-use, Transportation Environment) model is an agent-based model which examines land-use and transportation within a metropolitan area (Miller et al., 2004).

Benenson, I. and Torrens, P.M. (2004), Geosimulation: Automata-Based Modelling of Urban Phenomena, John Wiley ANDSons, London, UK.
Birkin, M. (2005), 'Retail and Service Location Planning', in Maguire, D.J., Batty, M. and Goodchild M, F. (eds.), GIS, Spatial Analysis and Modelling, ESRI Press, Redlands, CA, pp. 221-244.
Birkin, M. and Clarke, M. (1987), 'Comprehensive Models and Efficient Accounting Frameworks for Urban and Regional Systems', in Griffith, D. and Haining, R. (eds.), Transformations Through Space and Time, Martinus Nijhoff, The Hague, Netherlands, pp. 169-195.
Birkin, M., Turner, A. and Wu, B. (2006), 'A Synthetic Demographic Model of the UK Population: Methods, Progress and Problems', Regional Science Association International British and Irish Section, 36th Annual Conference, Jersey, Channel Islands.
Clarke, M. and Holm, E. (1987), 'Microsimulation Methods in Spatial Analysis and Planning', Geografiska Annaler. Series B, Human Geography, 69(2): 145-164.
Holm, E., Lindgren, U. and Malmberg, G. (2000), 'Dynamic Microsimulation', in Fotheringham, A.S. and Wegener, M. (eds.), Spatial Models and GIS: New Potential and New Models, Taylor and Francis, London, UK, pp. 143-165.
Miller, E.J., Hunt, J.D., Abraham, J.E. and Salvini, P.A. (2004), 'Microsimulating Urban Systems', Computer, Environment and Urban Systems, 28(1-2): 9-44.
Orcutt, G.H. (1957), 'A New Type of Socio-Economic System', Review of Economics and Statistics, 39(2): 116-123.
The International Microsimulation Association (2006), What is Microsimulation?, Available at [Accessed on 18th Oct, 2007].
Wilson, A.G. (2000), Complex Spatial Systems: The Modelling Foundations of Urban and Regional Analysis, Pearson Education, Harlow, UK.
Waddell, P. (2001), 'Between Politics and Planning: UrbanSim as a Decision-Support System for Metropolitan Planning', in Brail, R.K. and Klosterman, R.E. (eds.), Planning Support Systems: Integrating Geographic Information Systems, Models and Visualisation Tools, ESRI Press, Redlands, CA, pp. 201-228.

Thursday, October 11, 2007

Open Source Simulation / Modelling Systems for ABM

Note: This post is now dated and MASON and Repast has changed considerably since this was written. A new post will soon be written (14th July 2010) but in the meantime please see the comments below.
This blog has tended to focus on Repast when developing agent-based models as it is the toolkit we most often use to create such models. However, we felt it was time to highlight other open source Simulation/Modelling Systems that allow for the creation of geospatial agent-based models. These include Swarm and MASON. A comparison of Repast, Swam and Mason can be seen in the table below (adapted from Najlis et al., 2001 and Parker, 2001a). The reminder of this post provides further information about each system, identifying examples of geospatial agent-based models that have been developed with these systems. Please feel free to comment on these systems and to highlight other geospatial models developed with these systems.

Swarm is an open source simulation/modelling system designed specifically for the development of multi-agent simulations of complex adaptive systems (Swarm, 2006); although agent-based models can easily be developed using Swarm as well. Originally developed in Objective-C, Swarm is also now available in Java (a Java layer running on top of the Swarm kernel). Inspired by Artificial Life, Swarm was designed to study biological systems, attempting to infer mechanisms observable in biological phenomena (Minar et al., 1996). In addition to modelling biological systems, Swarm has been used to develop models for anthropological, computer science, ecological, economic, geographical, and political science purposes. Useful examples of spatially explicit models include: the simulation of pedestrians in the urban centres (Schelhorn et al., 1999 and Haklay et al., 2001), and the examination of crowd congestion at London’s Notting Hill Carnival (Batty et al., 2003). Najlis et al. (2001) identify the steep learning curve of Swarm as a significant factor to consider before choosing this system to develop an agent-based model, although this should be less of a problem for a modeller with strong programming skills. Many of the other toolkits take their inspiration from Swarm (such as Repast and Ascape (Parker, 2001b)).

MASON (Multi Agent Simulation Of Neighbourhood) was developed by the Evolutionary Computation Laboratory (ECLab) and the Centre for Social Complexity at George Mason University. At present MASON does not provide functionality for dynamically charting (e.g. histograms, line graphs, pie charts, etc) model output during a simulation, or allow GIS data to be imported/exported (Luke et al., 2004). However, the developers of MASON are continuing to develop further functionality, and they hope users will develop and contribute tools themselves (e.g. GIS integration utilising Java libraries such as GeoTools). Unfortunately there is little technical documentation and a relatively small user group in comparison to some of the other systems identified within this paper. However, how-to documentation, demonstration models (e.g. the seminal heat bugs example, network models, etc), and several publications detailing the implementation and/or application of MASON are available for a prospective modeller to evaluate the system further (MASON, 2006).

Repast (Recursive Porous Agent Simulation Toolkit) was originally developed at the University of Chicago, and is currently maintained by Argonne National Laboratory and managed by the Repast Organisation for Architecture and Development (ROAD). Repast caters for the implementation of models in three programming languages: Python (RepastPy); Java (RepastJ RepastS); and any programming language compatible with the Microsoft.NET framework, for example, C# (Repast.NET). RepastPy allows basic models to be developed by modellers with limited programming experience via a ‘point-and-click’ GUI (Collier and North, 2005). RepastPy models can subsequently be exported/converted into Java for further development in RepastJ. Repast.NET and RepastJ allow for more advanced models to be developed (Vos, 2005) because more complex functionality can be programmed into a model. Agent Analyst is an ABM extension that allows users to create, edit, and run Repast models from within ArcGIS (Redlands Institute, 2006). Repast has a relatively large user group and an actively supported e-mail list, as well as extensive how-to documentation and demonstration models available from the system website. Useful examples of spatially explicit models created using Repast include the studying of segregation, and residential and firm location (Crooks, 2006), and the evacuation of pedestrians from within an underground station (Castle, 2006). Further discussion of Repast can be seen in Crooks, 2007.
To read more about the comparison of different Simulation / Modelling Systems for the creation of geospatial agent-based models check out our working paper ‘Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations’.

Batty, M., Desyllas, J. and Duxbury, E. (2003), 'Safety in Numbers? Modelling Crowds and Designing Control for the Notting Hill Carnival', Urban Studies, 40(8): 1573-1590.
Castle, C.E. (2006), 'Using Repast to Develop a Prototype Agent-Based Pedestrian Evacuation Model', Proceedings of the Agent 2006 Conference on Social Agents: Results and Prospects, Chicago, USA.
Castle, C.J.E. and Crooks, A.T. (2006), Principles and Concepts of Agent-Based Modelling for Developing Geospatial Simulations, Centre for Advanced Spatial Analysis (University College London): Working Paper 110, London, England.
Collier, N. and North, M.J. (2005), 'Repast for Python Scripting', Annual Conference of the North American Association for Computational Social and Organizational Science (NAACSOS) Notre Dame, Indiana, USA.
Crooks, A.T. (2007), The Repast Simulation/Modelling System for Geospatial Simulation, Centre for Advanced Spatial Analysis (University College London): Working Paper 123, London, UK.
Crooks, A.T. (2006), 'Exploring Cities using Agent-Based Models and GIS', Proceedings of the Agent 2006 Conference on Social Agents: Results and Prospects, Chicago, USA.
Haklay, M., O'Sullivan, D., Thurstain-Goodwin, M. and Schelhorn, T. (2001), '"So Go Downtown": Simulating Pedestrian Movement in Town Centres', Environment and Planning B: Planning and Design, 28(3): 343-359.
Luke, S., Cioffi-Revilla, C., Panait, L. and Sullivan, K. (2004), 'MASON: A New Multi-Agent Simulation Toolkit', SwarmFest 2004, Eighth Annual Swarm Users/Researchers Conference., University of Michigan, Ann Arbor, Michigan USA.
MASON (2006), Multi Agent Simulation Of Neighbourhood, Available at
Minar, N., Burkhart, R., Langton, C. and Askenazi, M. (1996), The Swarm Simulation System: A Toolkit for Building Multi-agent Simulations, Available at [Accessed on August 8th, 2006].
Najlis, R., Janssen, M.A. and Parker, D.C. (2001), 'Software Tools and Communication Issues', in Parker, D.C., Berger, T. and Manson, S.M. (eds.), Meeting the Challenge of Complexity: Proceedings of a Special Workshop on Land-Use/Land-Cover Change, Irvine, California.
Parker, D.C. (2001a), Object-Orientated Packages for Agent-Based Modelling, Available at
Parker, M. (2001b), 'What is Ascape and Why Should You Care?' Journal of Artificial Societies and Social Simulation, 4(1):
Redlands Institute (2006), What is Agent Analyst?, Available at
Schelhorn, T., O'Sullivan, D., Hakley, M. and Thurstain-Goodwin, M. (1999), STREETS: An Agent-Based Pedestrian Model, Centre for Advanced Spatial Analysis (University College London): Working Paper 9, London.
Swarm (2006), Swarm: a platform for agent-based models, Available at

Friday, September 28, 2007

Integrating Geographic Information Systems and ABM

We do not often publicise books on this blog but we felt we would make an exception with this book: "Integrating Geographic Information Systems and Agent-Based Modeling Techniques for Simulating Social and Ecological Processes" edited by Randy Gimblett. According to Google Scholar it is cited 78 times in a diverse range of articles.

For those interested in integrating GIS and ABM, this book provides one of the first detailed accounts of such integration and its applications. Including articles by Westervelt on the coupling of GIS and ABM and various articles by Gimblett and others which highlight how GIS can be combined with ABM thus allowing one to relate models directly to place.

Other books which we have found valuable in our research can be found in our reading list.

Thursday, September 27, 2007

Geospatial Simulation with Repast

After the previous post "ABM–S4–ESHIA Summer School" I thought it would be useful to draw peoples attention to a new CASA working paper entitled "The Repast Simulation / Modelling System for Geospatial Simulation." Which was the basis of talk two from the workshop Mike and I gave.

The abstract to the paper is: 'The use of simulation/modelling systems can simplify the implementation of agent-based models. Repast is one of the few simulation/modelling software systems that supports the integration of geospatial data especially that of vector-based geometries. This paper provides details about Repast specifically an overview, including its different development languages available to develop agent-based models. Before describing Repast’s core functionality and how models can be developed within it, specific emphasis will be placed on its ability to represent dynamics and incorporate geographical information. Once these elements of the system have been covered, a diverse list of Agent-Based Modelling (ABM) applications using Repast will be presented with particular emphasis on spatial applications utilizing Repast, in particular, those that utilize geospatial data.'

If you feel like you might be interested in this paper. It can be downloaded from here. As always any thoughts and comments are most welcome.

Full Reference:
Crooks, A. T. (2007), The Repast Simulation/Modelling System for Geospatial Simulation, Centre for Advanced Spatial Analysis (University College London): Working Paper 123, London, England. (pdf)

Geocomputational methods and modelling

Just a note to say Christian and myself have just contributed to a chapter in de Smith, M.J., Goodchild, M.F. and Longley, P.A. (2007) Geospatial Analysis: A Comprehensive Guide to Principles, Techniques and Software Tools (2nd Edition). The book will be out shortly but if you are interested in the chapter or the book in genral, a web version can be found Geospatial Analysis Web site.

The book explains in detail the principles and techniques of geospatial ananyis which are extremly useful when developing geographically explicit agent-based models along with GIS in general

The full reference for the chapter is:

Castle, C.J.E., Crooks, A.T., de Smith, M.J., Goodchild, M.F., and Longley, P.A., (2007), Geocomputational Methods and Modelling, in de Smith, M.J., Goodchild, M.F. and Longley, P.A. (eds.), Geospatial Analysis: A Comprehensive Guide to Principles, Techniques and Software Tools (2nd Edition), The Winchelsea Press, Winchelsea, UK.

Links: Geospatial Analysis Web site

Tuesday, September 25, 2007

ABM–S4–ESHIA Summer School

Mike Batty and myself have recently attended a summer school entitled 'Agent Based Models for Spatial Systems in Social Sciences Economic Science with Heterogeneous Interacting' or ABM–S4–ESHIA for short. This summer school was organized by both by the European GDR S4 (Spatial Simulation for the Social Sciences), and the ESHIA (Society for Economic Science with Heterogeneous Interacting Agents ). Full details about the talks including .pdfs can be found here.

While at the summer school Mike and myself gave a workshop entitled 'How to Build an Agent-Based Model'. I thought it would be useful to share this workshop/.pdfs to a wider audience. The workshop was organised into three parts/talks.

The first talk was given by Mike focusing on "Models and Theories: Science, Validation,
Verification and Calibration." Within this talk Mike discussed what should be considered when building an agent-based model. Specifically outlining what are models, types of models and how models can be based on 'Stylized Facts'. Before focusing on how to develop models using a software environment.

This lead to second talk presented by myself on how a geospatial agent-based model can be developed using such a software environment. In this case using Repast. Within this talk, there was a discussion of what Repast is, examples of models created in Repast specifically those utilising Raster and Vector data sets and what the difference between the two are.

The third talk was given by Mike which focused on Cellular Automata (CA). Within this talk there was a discussion on CA applications, specifically focusing on urban growth and land cover (LUCC) etc. This was followed by how one represents space and dynamics within models, the key elements of CA models and a list of groups actively researching urban phenomena utilizing CA models. To give an example of a CA model the DUEM model (Dynamic Urban Evolutionary Model) was given.

Hopefully in the future we will have time to develop this material in the future but for now you can download any of the talks as .pdf by clicking on the number one, two and three.

Tuesday, September 11, 2007

New Working Paper

Following on from a previous post we just penned a new working paper outlining in more detail the challenges modellers face when creating agent-based models focusing on geo-spatial phenomena. Note how the challenges have gone from five to seven. The paper is called “Key Challenges in Agent-Based Modelling for Geo-Spatial Simulation.” Below is the abstract:
Agent-based modelling (ABM) is fast becoming the dominant paradigm in social simulation due primarily to a worldview that suggests that complex systems emerge from the bottom-up, are highly decentralised, and are composed of a multitude of heterogeneous objects called agents. These agents act with some purpose and their interaction, usually through time and space, generates emergent order, often at higher levels than those at which such agents operate. ABM however raises as many challenges as it seeks to resolve. It is the purpose of this paper to catalogue these challenges and to illustrate them using three somewhat different agent-based models applied to city systems. The seven challenges we pose involve: the purpose for which the model is built, the extent to which the model is rooted in independent theory, the extent to which the model can be replicated, the ways the model might be verified, calibrated and validated, the way model dynamics are represented in terms of agent interactions, the extent to which the model is operational, and the way the model can be communicated and shared with others. Once catalogued, we then illustrate these challenges with a pedestrian model for emergency evacuation in central London, a hypothetical model of residential segregation tuned to London data which elaborates the standard Schelling (1971) model, and an agent-based residential location built according to spatial interactions principles, calibrated to trip data for Greater London. The ambiguities posed by this new style of modelling are drawn out as conclusions.

If you are still interested, click here to download the full paper, any comments or suggestions are most welcome.

Full Reference:
Crooks, A. T., Castle, C. J. E. and Batty, M. (2007), Key Challenges in Agent-Based Modelling for Geo-Spatial Simulation, Centre for Advanced Spatial Analysis (University College London): Working Paper 121, London, England. (pdf)

Monday, September 10, 2007


While being around for quite some time, the Ascape agent-based modelling framework is now available under an Open Source license. For some background on Ascape see the paper by Miles Parker in the JASSS which also highlights applications that have utilised Ascape to create agent-based models. The original Ascape page from the Brookings Institute might also be of interest along with the new page at


Geocomputation 2007: Challenges in Agent-Based Modelling

Last week we attended the Geocomputation 2007 conference at the National Centre for Geocomputation at the National University of Ireland in Maynooth. We thought we would share the talk and the short paper entitled “Key Challenges in Agent-Based Modelling for Geo-Spatial Simulation.” This paper outlines some of the key challenges for ABM specifically relating it to geo-spatial simulation and how we at CASA are attempting to address these issues.

Any thoughts or comments would be more than welcome.
Click here to download the paper and here for the presentation.

Full Reference:
Crooks, A. T., Castle, C. J. E., and Batty, M. (2007), Key Challenges in Agent-Based Modelling for Geo-spatial Simulation, in Demšar, U (ed.), Proceedings of the 9th International Conference on Geocomputation, National Centre for Geocomputation, National University of Ireland, Maynooth, Ireland. (pdf)

Wednesday, July 04, 2007

Apologies for not posting

Sorry for not posting anything interesting the last month or so. Christian and I have been extremely busy writing out PhDs. But I can promise soon some very good posts.

Wednesday, April 18, 2007

Creating Slider bars in Repast

Slider bars (as in the image above) are a easy way to change model parameters of a simulation. Someone asked how to create a Slider Bar within a Repast model, so I thought I would share it. To create one is relatively straight forward. All you need to do is place this piece of code in the setup method:

//creates a slider which has to be an int.
RangePropertyDescriptor pdMovement = new RangePropertyDescriptor("Movement", 0, 1000, 200);

descriptors.put("Movement", pdMovement);

Where “Movement” relates to the “Movement” parameter in the getInitParam method. For example:

String [] initparams = {"PerAgents", "Movement",
return initparams;

Further information on PropertyDescriptors can be found on the Repast Website under "How to Create PropertyDescriptors"

Tuesday, April 17, 2007

CASA at Agenda Setting Workshop on ABM of Complex Spatial Systems

Andrew Hudson-Smith, Mike Batty, Victor Schinazi and Paul Longley from CASA have been attending the NSF/ESRC Agenda Setting Workshop on Agent Based Modelling (ABM) of Complex Spatial Systems in Santa Barbara. Andy has written two posts about the workshop on his blog: Digital Urban. If you are interested in the ABM and where it is heading its worth checking out his posts from Day 1 and Day 2 of the workshop. Its also worth having a look at the position papers of people attending the workshop .

On a side note his blog is worth exploring Digital Urban anyway as it details and provides examples of CASA research in the fields of digital cities and visualisation on the local, regional and global scale.

Wednesday, April 11, 2007


The SIMSEG model is an extension of the Thomas Schellings segregation model. It allows users to explore ethnic diversity in terms of number of groups and the relative sizes of each group, specify ethnic preferences, specify the level of socio-economic inequality within and between ethnic populations and to specify agents preferences for neighbourhood status and housing quality within a cellular space. Neighbourhoods are bounded by larger areas to evaluate neighbourhood ethnic mix and agents can only move to areas where they can afford.

A free trial version of the SimSeg Learning Edition can be downloaded from the website: and the site also provides a useful review article of theoretical perspectives on residential segregation in American urban areas along with other resources.

If you interested in segregation, there are a whole host of other models available on the internet. For example Schelling Segregation Model created by Chris Cook, written is C# (the source code is available), A java applet created by Raj Singh, A NetLogo model or a Repast model created byGirardin et al., (2006) .

Further Reading:

Fossett, M. and Senft, R. (2004), 'SIMSEG and Generative Models: A Typology of Model-Generated Segregation Patterns', Proceedings of the Agent 2004 Conference on Social Dynamics: Interaction, Reflexivity and Emergence, Chicago, USA, pp. 39-78, Available at

Wednesday, April 04, 2007


Joana Simoes, has recently completed a PhD at CASA. Her thesis was on An Agent-Based Approach to Spatial Epidemics through GIS in which she simulated the diffusion of mumps in Portugal in the late 1990s at regional and local level using a SEIR (susceptible- exposed- infected removed) infection model built in a spatial network of small worlds.

The model she created is called EpiSIM written in C++. Two sets of libraries were used to build this software: Qt, for the graphical API and Shapelib for accessing geographic data. Further information can be seen on the project website and on Joana’s personal website.

Thursday, March 29, 2007

PropertyWindow class

There was this message on the Repast mailing list the other day:

Dear list,
I want to probe some variables of my agents of the OpenMap Layer. I did this by making the following method:
public String[] gisPropertyList() {

String []gisPropertyList = {"Lat/Lon","getLatLonPointString","nativeCountry","getNativeCountry",

"residence","getResidence","age","getAge","gender","getGender" };

return gisPropertyList;

It works, however when I probe one of my agents I get the screen below. It seems like something is on top of the last fields. How can I fix this? Thanks!

I had exactly the same problem as this is to do with the PropertyWindow class which only permits 4 items to be displayed in the anl.repast.gis.display package. Click here to see my modification that works around this problem. I hope this helps.