MineHaul — Mine-Haulage Discrete-Event Simulation
An open-source Python package (minehaulsim) for deterministic discrete-event simulation of open-pit and underground mine haulage on constrained road networks, with seeded parametric mine generators. Byte-deterministic, numpy-only, well-tested — the companion generator that feeds structure-real scenarios to DispatchLab.
Business Context
Reproducible, generatable test scenarios are the unglamorous foundation of any credible logistics or dispatch study — without them you are tuning against one hand-built case. An open, deterministic mine-haulage simulator lets a dispatch idea be tested across dozens of varied layouts, with every result reproducible from a seed, which is exactly what a fair comparison of policies needs.
Strategic Value
MineHaul is the open, reproducible substrate under a dispatch study: a real discrete-event engine with honest, literature-ordered physics, seeded mine generators, validity gates and byte-determinism, released as an Apache-2.0 package on PyPI with a documented API, CLI and a docs wiki. It is deliberately scoped and honest — the mines are synthetic (realistic structure, fabricated data), the equipment curves are class-representative rather than OEM, and it neither predicts nor optimizes a real operation (that is DispatchLab's job). Its niche is precise: the first open-source package to do mine haulage on a genuinely constrained road network.
The Challenge
Testing a haulage dispatch policy, or any mine-logistics idea, needs a stream of realistic, varied mine layouts and truck-shovel dynamics to run against — but the open-source options are thin. Real operations are proprietary, and existing haulage simulators are commercial closed tools; there was no open-source Python package that simulates open-pit and underground haulage on a genuinely constrained road network with reproducible, generatable mines.
Our Approach
minehaulsim is a small, dependency-light (numpy-only core) Python package. Seeded parametric generators build open-pit and underground mines — ramp topologies, underground flow modes, a constrained road network — and a deterministic discrete-event engine simulates the truck-shovel cycle on them, with real physics (rimpull/retarder speed-by-grade, emergent bunching, constrained routing), five dispatch baselines and zone-arbitration policies. Every run passes named validity gates and is byte-deterministic (asserted in CI), and results export as a cycle log, a provenance record and the 3D topology. It is used via a Python API or a CLI, and it is the generator side of a pair: it feeds structure-real scenarios to DispatchLab (the deployed web app that consumes and optimizes them).
Key Performance Indicators
| KPI | Baseline | Result | Impact |
|---|---|---|---|
| Reproducible scenarios | One hand-built test case | Seeded generators → dozens of distinct mines, byte-deterministic | Fair, repeatable policy comparisons |
| Open-source niche | Commercial closed simulators only | First OSS package: haulage on a constrained road network | A reusable, inspectable substrate |
| Trust in the engine | Unverified simulation | 227 tests, 7 validity gates, CI on Linux + Windows | Determinism and physics orderings are checked |
Architecture
minehaul pipeline
The generator behind a dispatch study
MineHaul (minehaulsim) is an open-source Python package for deterministic discrete-event simulation of open-pit and underground mine haulage on constrained road networks, with seeded parametric mine generators. It is the companion generator for DispatchLab — MineHaul builds and simulates the mines, DispatchLab consumes and optimizes them. On PyPI (v0.10, Apache-2.0) with a documented API, CLI and docs wiki.
Real engine, synthetic mines — said plainly
The discrete-event engine and its physics are genuine and hand-verified: rimpull/retarder speed-by-grade, emergent truck bunching, routing on a constrained network, five dispatch baselines and zone-arbitration policies. Every run passes named validity gates and is byte-deterministic (asserted in CI, 227 tests on Linux + Windows). The mines themselves are synthetic — seeded generators produce realistic structure with fabricated data (labelled structure-real), and equipment values use public spec-sheet magnitudes with class-representative, not OEM, curves.
Honest scope
It is early (Alpha) and deliberately bounded: it does not predict or optimize a real operation (no calibration to a real mine — that is DispatchLab’s role), its physics anchors are qualitative literature orderings used as tests rather than field-validated numbers, and its novelty claim keeps its qualifier — the first open-source package to do mine haulage on a genuinely constrained road network (commercial closed tools exist).
Technology Stack
Visual assets for this project are not publicly available.