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