Open sourced tools for Agent Based Modeling

Accepted Session
Short Form
Scheduled: Thursday, June 23, 2016 from 2:30 – 3:15pm in B301


Agent-based modeling is a technique used to explore both complexity and emergence by simulating individual actors and their actions inside of a system. Think of systems such as the traffic in the city or financial markets where one actor can have an effect on the decisions of others until the system’s direction changes its course. During this survey, you will gain an understanding of open source software available in a variety of languages and how to get started quickly.


Agent-based models (ABMs) are basically computer simulations, which consist of agents interacting with each other in order to study an overall system. Agents are objects that have rules and states, and act accordingly with each step of the simulation [Axtell2000]. Think of them as autonomous entities which have a element of life. An agent can represent things like a person or an animal, such as a wolf, or an object such as grass.

The cool thing about ABMs is that they are being used to solve problems in the real world as well as to influence policies. The Center for Disease Control are using them to understand how diseases spread. Transportation regulation authorities use them model traffic flow. In one case, it was found that highways could increase in capacity by 30% in one year by making adaptive cruise control mandatory on all new vehicles. Finally, a very classical use of ABMs is to model changes in the financial market.
There are many tools available to model with a variety of licensing. The main ones are MASON (Java), Netlogo (Logo), Repast (Java), and finally Mesa (Python).

Components of a model

  • The world: This is the space in which the model exists. Everything happens in this space.
  • Agents: These are the entities in the model that are made up of rules or behaviors and make decisions based off of their environment.
  • Time: This is the element that provides agents the ability to take their turn. This is usually abstract in nature and often time units are referred to as ticks. If the simulation was 1:1 to the real world then a tick might represent a second or a minute or an hour.
  • The visualization
  • Data collection and generation

By the end of this talk, users will have an understanding what agent-based models are used for, the major components that are necessary in order to make them, how to build a simple model, and some tools to get started so they can play with other people’s models and hopefully program their own.


data science, modeling libraries

Speaking experience

Jackie speaks at multiple conferences per year. Most recently, keynote for DjangoCon 2015, Scipy 2015, & Pycon 2015.


  • Dcfemtech awards 2016 richkesslerphotography (24 of 157)


    Jackie is a Technical Fellow at Capital One. She is also one of the authors of Mesa, a Python-based agent based modeling library. She loves data, teaching, and coding. She is currently working on her Ph.D in Computational Social Science at George Mason University. She has worked in finance, government, and journalism, with a general focus on public service. She is a co-founder of 18F, was a Presidential Innovation Fellow, and has worked at The Washington Post. She is the co-author of the O’Reilly book, Data Wrangling with Python, and she leads Women Data Scientists DC and PyLadies DC. She lives in Washington, DC with her husband and three dogs.


Leave a private comment to organizers about this proposal