Skip to content

Latest commit

 

History

History
52 lines (34 loc) · 2.82 KB

README.md

File metadata and controls

52 lines (34 loc) · 2.82 KB

Workflow: Test & Lint

Systemic Adaptivity in Task-Oriented Teams

Interactive visualization of an agent-based model (ABM) studying how project teams adapt to the loss of overloaded team members.

ABM dashboard with sliders,

This model is based on the research paper "The Downside of Heterogeneity: How Established Relations Counteract Systemic Adaptivity in Tasks Assignments" by Giona Casiraghi, Christian Zingg, and Frank Schweitzer published in the journal Entropy (2021, 23(12), 1677). Team members are represented as agents, each with their own task-solving capacity. These agents can either solve tasks or redistribute them to avoid exceeding their capacity. If that still happens, they drop out, leaving the remaining members to compensate for the lost workforce. The ABM showcases dangerous failure cascades in teams whose members exhibit significant heterogeneity in their task-solving capacity.

The code builds on Mesa, a Python framework for ABMs, to develop an interactive visualization. Sliders allow to change model parameters and immediately see how the dynamics and outcomes of team breakdowns are influenced.

Usage

This repository provides scripts for studying (1) average model dynamics across runs and (2) how each parameter influences the model dynamics. Both scripts require all packages from requirements.txt, which you can install by running pip install -r requirements.txt.

  1. To study average model dynamics, run:

    jupyter notebook step_01_resilience_analysis.ipynb
  2. To study the effect of model parameters in an interactive Mesa dashboard, run:

    python step_02_dashboard.py
    • Alternatively, you can run one of the other step_02* files, which preset parameter values leading to special outcomes like the collapse of the entire team.

Tests

This repository uses pytest to test the core functionality of the ABM, including the task assignment between agents, network generation, and statistics computation. To execute the tests, run:

pytest

Comments

  • The code in this repository is developed independently from the original code of the ABM used for the paper. The new implementation uses Mesa to develop interactive visualizations of the ABM. In contrast, the original ABM was implemented using base Python, and the plots were created in R with the dplyr and ggplot2 libraries. Because the code in this repository utilizes different libraries, the generated plots look slightly different than those presented in the paper.