IDEM 312

Agent-based modeling and simulation (ABM-ABS)

Course coordinator: Frans Willekens

Start: 4 November 2013
End: 31 January 2014
Location: MPI Rostock

Frans Willekens (MPIDR, Rostock)
Jutta Gampe (MPIDR, Rostock)
Jürgen Groeneveld (Department Ökologische Systemanalyse, Helmholtz-Zentrum für Umweltforschung (UFZ),  Leipzig)
Francesco Billari (Oxford University) (tbc)
Thomas Fent (Vienna Institute of Demography)
Katrin Meyer (University of Goettingen)
Jim Oeppen (MPIDR, Rostock)
Eric Silverman (University of Southampton)
Silvia Rizzi (MPIDR)

Course description:
Agent-based or individual-based models describe how populations evolve, patterns (e.g. social networks) emerge, and collective features (e.g. norms) are established as outcomes of actions and interactions at the micro-level.  Simple heuristics or rules govern the actions and interactions. Agents may be humans, institutions or organizations. They have attributes, capacities (e.g. human capital: education and health) and resources (time and capital: physical, financial, social and cultural). Agents are autonomous (determine their own actions), connected (interact with each other and with the environment) and adaptive (change their behaviour in response to changes in their own characteristics, in that of other agents or in the environment; feedback and memory are key concepts).

Agent-based modeling (ABM) is approached as an extension of microsimulation. It adds behaviour (in terms of decision rules) to microsimulation, while maintaining the strengths of microsimulation. The presence of interaction is often seen as a distinguishing feature of ABM, but some microsimulation models incorporate interactions (e.g. marriage and kinship models).

The course offers four important skills:
Simulation skills. Simulation uses a model to generate data. In general, the model is estimated from data using state-of-the-art statistical techniques. If the model is an accurate representation of reality, simulated data are close to empirical data. They may be used to test hypotheses, assess the effects of (policy) interventions, answer other ‘what-if’ questions or fill in missing data (imputation). The data-generating process is the procedure or algorithm that generates the data. In the course, we use (multistate) survival models to generate time-to-event data and event sequences (life histories), and to construct virtual populations. A properly designed virtual population may be used as a “virtual laboratory” and a policy tool.

An agent-based modeling language. A common language facilitates the specification of an ABM, standardizes the model description, and enhances the communication of the model and its implementation on the computer, i.e. the translation of the model into computer code. The ODD protocol developed by Grimm and Railsback (2005) will be used. The ODD protocol emerged as a standard. It is recommended for documenting models submitted to the Network for Computational Modeling in the Social and Ecological Sciences (CoMSES Net), a platform for sharing models and model-related discussions ( The DOE protocol, developed by Lorscheid et al. (2012) for the design and documentation of simulation experiments, will also be discussed.

Software skills to implement ABMs on the computer. NetLogo will be used as the main software platform ( NetLogo, which is free, was originally designed as an educational tool (to teach ABM) but its use in science has grown rapidly. To enhance the design and analysis of experiments with ABM, Thiele et al. (2012) developed RNetLogo. The package embeds NetLogo in R and makes it possible to control and analyze NetLogo simulations from R. The package is free and is available from R-Forge ( ) and CRAN (

Strategies for designing agent-based models and implementing simulation experiments. It involves model validation, prediction and application or development of theories of behaviour and social interaction.

The course consists of (1) an R programming refresher, (2) an intensive short course on ABM using the ODD protocol and the NetLogo programming platform, (3) 8 lectures and (4) 5 computer labs. The computer labs offer hands-on training in agent-based modeling and simulation.  Coursework is concentrated in the period from 4 November to 19 December 2013. In January 2014 students are expected to work on mini-projects, supervised by instructors. Students spend 50 percent of the allocated time on coursework and the rest on assignments and the mini-project. For details, see below.

Short course 1: R programming refresher course (hands-on) (Frans Willekens and Silvia Rizzi, MPIDR)
Nov 4 14.00 – 17.00
Nov 5 14.00 – 17.00
Nov 6 11.00 – 13.00
Nov 7 14.00 – 17.00
Nov 8 11.00 – 12.30

Short course 2: Agent-based modeling using ODD protocol, the NetLogo programming platform and the RNetLogo package for linking NetLogo and R (instructors: dr. Jürgen Groeneveld, Department Ökologische Systemanalyse, Helmholtz-Zentrum für Umweltforschung (UFZ),  Leipzig, and dr. Katrin Meyer, University of Goettingen).
Dec 2     9.00 – 12.00 and 14.00 – 17.00
Dec 3     9.00 – 11.00 and 14.00 – 17.00
Dec 4  11.00 – 12.30
Dec 5  14.00 – 17.00
Dec 6  11.00 – 12.30
Text: S. Railsback and V. Grimm (2012) Agent-based and individual-based modeling. A practical introduction. Princeton University Press.
Sufficient copies of the text will be available at the MPIDR library and may be borrowed.

The lectures are on Tuesday from 9.00 – 11.00 and Wednesday from 11.00 – 13.00

Nov 5 Lecture 1. Modeling and simulation in demography: introduction and overview (Frans Willekens)
a.Modeling and simulation:
Demographic models; statistical models
macro and micro: cohort-survival models and dynamic microsimulation
Adding behaviour to microsimulation: agent-based models
b.Time: discrete – continuous

Nov 4 – 8: R programming refresher course

Nov 12 Lecture 2. Simulation of event occurrences: using survival models to generate individual survival times and aggregate life expectancies. Discrete time and continuous time. Effects of covariates, duration dependence and path dependence. (Jutta Gampe)
Nov 19 Lecture 3. Simulation of event sequences, state sequences and life histories: using competing risks and multistate models to generate life histories of individuals and cohorts. (Frans Willekens)
Nov 26 Lecture 4. Agent-based modeling of demographic behaviour: an introduction. (Thomas Fent, Vienna Institute of Demography)

Nov 27 Lecture 5. Analysis of joint lifetimes of simulated objects, illustrated with kinship models (specifically SOCSIM and CAMSIM) (Jim Oeppen)

Dec 2 – 6: intensive course on agent-based modeling using ODD protocol and NetLogo programming platform

Dec 10 Lecture 6 Modeling preferential attachment and assortative mating: an agent-based marriage model based on social interaction (using NetLogo) (Francesco Billari tbc)

Dec 11 Lecture 7 Design of simulation experiments to test assortative mating hypotheses (Francesco Billari, tbc)

Dec 17 Lecture 8 Agent-based models of partnerships in the context of social care, using RePast Symphony (Eric Silverman, University of Southampton)

Dec 18
a.Discussion of assignments
b.General discussion: adding behaviour to microsimulation. What did we learn? Where to go from here? (Frans Willekens)

Computer labs:
Computer labs are from 14.00 – 16.00
Nov 12 Lab 1. Simulation of event occurrences in discrete and continuous time (Jutta Gampe)
Nov 19 Lab 2. Simulation of event sequences and life histories, using multistate models (Frans Willekens)
Nov 26 Lab 3. ABM of interaction and diffusion (Thomas Fent)
Dec 11 Lab 4. Modeling preferential attachment and homophily in social networks (Francesco Billari tbc)
Dec 17 Lab 5. Agent-based simulation using RePast Symphony: an illustration. (Eric Silverman)

Research mini-project:
In the mini-project, small teams of students develop agent-based models that operationalize the Theory of Planned Behaviour in demographic decision making. A team covers one of the following areas: partner choice, reproduction, international migration, internal migration, health care and social support. Other areas of application may be suggested.

Course prerequisites:
A basic knowledge of R is a course prerequisite. If you never programmed in R, a free online course before departing to Rostock will enable you to meet the requirement. A list of courses may be obtained from the MPIDR. A good option is Computing for data analysis by Roger Peng at Johns Hopkins Bloomberg School of Public Health: During the first week (4 – 8 November 2013), a refresher course in R will be offered. The emphasis will be on demographic models and event-history analysis.
No prior knowledge of NetLogo is required. A basic knowledge of survival analysis is preferable, but not mandatory. No prior knowledge of multistate modeling is required.

Evaluation will be based on individual and group assignments handed out during the course and a research mini-project. Assignments need to be completed and handed in before they are discussed in the classroom. The deadline for the completion of the mini-project is February 15, 2014. A certificate is awarded upon successful completion of all required coursework.

Required reading:
Railsback, S.F. and V. Grimm (2012) Agent-based and individual-based modeling. A practical introduction. Princeton University Press, Princeton, NJ. This is the text for the short course on agent-based modeling.
A reading list, distinguishing required reading and recommended reading, will be provided.

How to apply

For application instructions please visit the applications page.

The Max Planck Institute for Demographic Research (MPIDR) in Rostock is one of the leading demographic research centers in the world. It's part of the Max Planck Society, the internationally renowned German research society.