Simulation for agile API manufacturing in Africa
# Agile API Manufacturing in Africa: Production Scheduling Simulation
This repository contains the simulation model and data processing code for the Matters Arising article:
> Li, F. (2026). Matters Arising: "Not so fast: what production scheduling reveals about agile API manufacturing in Africa". Arising from Sagandira, C. R. *Nature Communications Medicine* 5, 127 (2025).
The code simulates a multi‑product active pharmaceutical ingredient (API) facility under African conditions, comparing agile (flexible) vs. dedicated line configurations. Key outputs include fill rates, safety inventory requirements, and break‑even analysis.
## Repository structure
├── README.md
├── requirements.txt
├── LICENSE
├── replication_guide.md
├── simulation_model.py
├── run_simulations.py
├── plot_results.py
├── bic_cluster_adjust.py
├── utils.py
├── preprocess.py
├── notebooks/
│ └── demo.ipynb
├── tests/
│ └── test_simulation.py
├── data/
│ ├── WHO_procurement_2018_2023.csv
│ ├── correlation_table.csv
│ ├── facility_params.csv
│ ├── country_demand.csv
│ ├── economic_params.csv
│ └── results/
│ └── simulation_outputs.csv
## Requirements
Install dependencies:
```bash
pip install -r requirements.txt
Quick start
Run the baseline simulation:
python run_simulations.py
Reproduce Figure 1 (break‑even plot):
python plot_results.py
License
MIT License (see LICENSE file).
Citation
If you use this code, please cite the Matters Arising article (see the manuscript for details).
---
### `requirements.txt`
```txt
simpy==4.0.2
numpy==1.26.0
pandas==2.1.0
matplotlib==3.8.0
scipy==1.11.0
seaborn==0.13.0
jupyter==1.0.0
pytest==7.4.0