# IJAMT RCRD reproducibility package

This package supports the manuscript **“Disruption-aware reserve-constrained dispatching of battery-electric AGVs for brownfield manufacturing intralogistics.”**

## Contents

- `code/simulator.py`: deterministic discrete-event simulator and dispatch policies.
- `code/run_locked_experiment.py`: locked main, capacity-robustness, and coefficient-sensitivity experiments.
- `code/analyze_results.py`: paired bootstrap, Wilcoxon, Holm adjustment, descriptive comparisons, and environment report.
- `code/smoke_test.py`: fast deterministic check.
- `data/final/`: raw run-level results and analysis tables used in the manuscript.
- `data/development/`: coefficient-selection rankings from development seeds. Development results are not used for confirmatory inference.
- `figures/`: manuscript figures generated from the final data.

## Locked method

RCRD weights are: empty distance 1.5625, route inflation 3.75, reserve penalty 3.125, projected tardiness 1.5, charger-wait 0, and priority credit 0.6. The matched energy-core is identical except that route inflation is set to zero. All policies share an 85% charge target and the same expected post-task charger-reserve screen.

## Confirmatory seed blocks

- Main comparison: 1300–1359
- Capacity robustness: 1400–1439
- Coefficient sensitivity: 1500–1519

The locked evidence contains 2,160 runs and 972,000 completed jobs.

## Quick verification

```bash
python -m venv .venv
source .venv/bin/activate  # Windows: .venv\\Scripts\\activate
pip install -r requirements.txt
python code/smoke_test.py
```

## Recreate the full experiment

The complete run is CPU-intensive relative to the smoke test but deterministic:

```bash
python code/run_locked_experiment.py
python code/analyze_results.py
```

Outputs are written to `outputs/`. Results can vary slightly in measured microsecond runtime across machines, while operational metrics should reproduce exactly under the pinned NumPy/Pandas versions.

## Interpretation boundary

The simulator is procedural and is not calibrated to a named factory or AGV vendor. The package supports comparative policy analysis, not a claim of plant-level validation.

## Manufacturing application boundary

The model represents a vendor-neutral brownfield production network with ten material-transfer interfaces, eight AGVs, and two chargers. It supports pre-deployment controller evaluation and calibration; it is not a substitute for plant-specific safety validation or vendor commissioning.
