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.