ES
← Back to Portfolio
Simulation & Operations Research July 2026

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.

Package
minehaulsim v0.10.0 on PyPI · Apache-2.0 · numpy-only · Python 3.11–3.13 (Alpha)
Coverage
2 mine domains · 3 ramp topologies · 3 underground flow modes · 5 dispatch baselines · 3 zone policies
Rigor
227/227 tests · 7 validity gates · byte-deterministic (CI-asserted) · ≥20k events/s (measured ~63–77k)
Outputs
cycle log (CSV) · provenance (JSON) · 3D topology (JSON); a committed 12-seed pit gallery
Interface
Python API + CLI (generate / batch / run / render / validate / demo); no web app
Architecture diagram of MineHaul, Mine-Haulage Discrete-Event Simulation
#simulation #des #mining #haulage #python #open-source #package

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

KPIBaselineResultImpact
Reproducible scenariosOne hand-built test caseSeeded generators → dozens of distinct mines, byte-deterministicFair, repeatable policy comparisons
Open-source nicheCommercial closed simulators onlyFirst OSS package: haulage on a constrained road networkA reusable, inspectable substrate
Trust in the engineUnverified simulation227 tests, 7 validity gates, CI on Linux + WindowsDeterminism and physics orderings are checked

Architecture

minehaul pipeline

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).

Source on GitHub · minehaulsim on PyPI

Technology Stack

Python NumPy Discrete-Event Simulation PyPI Apache-2.0

Visual assets for this project are not publicly available.