Introduction to Agent-Based Modelling
26. – 29.5.2026, 9:00 am – 4:30 pm
Many phenomena in nature and society, such as swarms, collective intelligence, stock markets or pandemics are the result of innumerable parallel interactions between active entities aka “agents”. These phenomena often exhibit complex, non-linear behavior that cannot be reduced to the behavior of their constituent entities. In other words, in such complex systems “the whole is more than the sum of its parts.” Similarly, in distributed technical systems, such as robot swarms, traffic and networks, it is often unclear how to design the behaviors of the individual entities to achieve a desired global outcome. Such systems are notoriously hard to understand, model and predict.
Agent-based modelling and simulation (ABMS) is an approach to modelling complex systems from the bottom up: by modelling individual agents, their behaviors and the interactions between each other and the environment, it adopts a microscopic modelling perspective. ABMS thereby complements other modelling methods, such as System Dynamics, that take a macroscopic view. Its two main applications are 1) modelling complexity observed in the world in order to understand and predict it and 2) designing the behaviors of elements in a complex technical system, often together with its hardware, in order to achieve a desired system outcome.
Over the course of many years of research, ICD has developed a flexible toolkit for agent-based modelling. ABxM.Core sits at the heart of an open framework for experimentation with agent-based systems. Its aim is to increase transparency of agent-based models and repeatability of research results by "standardizing" the tools for modelling and simulation.
By participating in this course, you will be able to:
- understand the fundamentals of ABMS and know when to use it,
- apply ABxM to implement established models of complex systems,
- visualize, analyze and evaluate system output,
- use ABxM to implement a system relevant to your own research interests as part of your final project.
This course will be taught as a 4-day block seminar in the lecture-free week from 26-29 May.
Prerequisites for participating in this course are 1) successful prior participation in the Computational Design seminar (winter semester) or 2) fundamental knowledge of OOP in Python or C#. As non-ITECH student, please send a short email to tobias.schwinn@icd.uni-stuttgart.de outlining how this course will be relevant for your study and your skill level.
Successful completion of this course will be a requirement for participation in the Computational Design and Simulation aka "Behavioral Fabrication" seminar in the winter semester 2026-27.
Required hardware and software: individual laptop with Rhino 7 or 8 (or any software compatible with Rhino.Inside), Python 3 or C#, and your favorite IDE installed.
Taking the course for credit will require the completion of a final project in groups of 2-3 students, which will be due at the end of the semester.