Describing and Formulating ABMs: The ODD Protocol

M. Drew LaMar
March 11, 2019

Class announcements

  • Reminder: Homework #4 due this Wednesday!
  • Homework #5 will be up on Blackboard this evening
  • Let's take a look at the schedule shall we?

Models and Modeling

Discuss: What are the components of a model?

Answer:

  • Objects (nouns)
  • Processes or relationships (verbs)
  • Simplified, abstract/concrete (adjectives)
  • Function (use case) - Not strictly necessary for the definition of a model. This answers the “Why model?” question.

Definition: A model is a simplified, abstract (or concrete) representation of objects and their relationships and/or processes in the real world.

Railsback & Grimm - Exercise 1

Exercise 1: One famous example of how different models must be used to solve different problems in the same system is grocery store checkout queues.

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Customer: If you are a customer deciding which queue to enter, how would you model the problem?

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Manager: If you were a store manager deciding how to operate the queues for the next hour or so, what questions would your model address and what would it look like?

Railsback & Grimm - Exercise 1

  1. Who is asking the question and for whom will the model affect? (stakeholders)
  2. Why are the stakeholders wanting to model the situation? (model function)
  3. What are the relevant objects and processes?
  4. How should it be modeled? (model type)

Designer: If you were a store designer and the question is how to design the checkout area so that 100 customers can check out per hour with the fewest employees, what things would you model?

The ODD Protocol

“ODD” = “Overview, Design concepts, and Details”

Why ODD?

  • Useful for describing ABMs (model protocol; standardization)
  • Useful for understanding ABMs (multiple model representations)
  • Useful for replicating ABMs (model reproducibility)
  • Useful for formulating ABMs (modeling roadmap; guides thinking)

The ODD Protocol

“ODD” = “Overview, Design concepts, and Details”

The ODD Protocol

ODD: Overview

The ODD Protocol: Running Example

Virtual Corridors of Butterflies

The ODD Protocol

ODD: Overview -> Purpose
  • What is the system we are modeling?
  • What do we want the model to tell us about the system?
  • What is the question we are trying to answer or the problem we are trying to solve?

The ODD Protocol

Purpose: Explore questions about virtual corridors. Under what conditions do the interactions of butterfly hilltopping behavior and landscape topography lead to the emergence of virtual corridors? How does this variability in the butterflies' tendency to move uphill affect the emergence of virtual corridors?

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales
  • Object types (can be multiple categories for each):
    • Agents (“individuals”)
    • Patches (space/local environment)
    • Global environment

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales
  • State variables (how you classify objects):
    • Agents -> Attributes and behavior
    • Patches -> Attributes (e.g. coordinates)
    • Global spatial environment -> Time-dependent variables
Variables vary across time or space

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales
  • State variables (how you classify objects):
    • Agents -> Attributes and behavior
    • Patches -> Attributes (e.g. coordinates)
    • Global spatial environment -> Time-dependent variables
Parameters DO NOT vary in time or space

The ODD Protocol

ODD: Overview -> Entities, state variables, and scales
  • Time and space scales:
    • Temporal/spatial extent: Usually determined by system-level phenomena of interest
    • Temporal/spatial resolution: Usually determined by agent/patch-level phenomena of importance
      • Discrete or continuous

The ODD Protocol

Entities, state variables, and scales

  • Entities
    • Agents: Butterflies
    • Patches: Land
  • State variables
    • Butterflies: Patch coordinates (discrete)
    • Patches: Elevation
  • Scales
    • Space: 150 x 150 grid; each grid is 25 x 25 \( m^2 \)
    • Time: 1000 time steps; 1 step=time to move 1 patch

The ODD Protocol

ODD: Overview -> Process Overview and Scheduling
  • Processes describe behavior or dynamics of model entities (and observer measures).
  • Dynamics = change of state variables.
    • What are model entities doing (actions/behavior)?
    • How does the environment change?
  • Overview description (submodels)