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.