MineHaul — Simulación de Eventos Discretos de Acarreo Minero
Un paquete Python de código abierto (minehaulsim) para simulación de eventos discretos, determinista, del acarreo minero de rajo y subterráneo sobre redes viales restringidas, con generadores paramétricos de minas por semilla. Determinista byte a byte, solo-numpy, bien testeado — el generador companion que alimenta escenarios structure-real a DispatchLab.
Contexto de Negocio
Los escenarios de prueba reproducibles y generables son la base poco glamorosa de cualquier estudio creíble de logística o despacho — sin ellos estás ajustando contra un único caso hecho a mano. Un simulador de acarreo minero abierto y determinista permite probar una idea de despacho sobre decenas de layouts variados, con cada resultado reproducible desde una semilla, que es justo lo que necesita una comparación justa de políticas.
Valor Estratégico
MineHaul es el sustrato abierto y reproducible bajo un estudio de despacho: un motor real de eventos discretos con física honesta y ordenada según la literatura, generadores de minas por semilla, compuertas de validez y determinismo byte a byte, publicado como paquete Apache-2.0 en PyPI con API documentada, CLI y una docs wiki. Está deliberadamente acotado y es honesto — las minas son sintéticas (estructura realista, datos fabricados), las curvas de equipo son representativas de clase y no OEM, y ni predice ni optimiza una operación real (ese es el trabajo de DispatchLab). Su nicho es preciso: el primer paquete de código abierto que hace acarreo minero sobre una red vial genuinamente restringida.
El Desafío
Probar una política de despacho de acarreo, o cualquier idea de logística minera, necesita un flujo de layouts de mina realistas y variados y de dinámica camión-pala contra los cuales correr — pero las opciones de código abierto son escasas. Las operaciones reales son propietarias, y los simuladores de acarreo existentes son herramientas comerciales cerradas; no había un paquete Python de código abierto que simule acarreo de rajo y subterráneo sobre una red vial genuinamente restringida con minas reproducibles y generables.
Nuestro Enfoque
minehaulsim es un paquete Python pequeño y liviano en dependencias (núcleo solo-numpy). Generadores paramétricos por semilla construyen minas de rajo y subterráneas — topologías de rampa, modos de flujo subterráneo, una red vial restringida — y un motor determinista de eventos discretos simula el ciclo camión-pala sobre ellas, con física real (velocidad por pendiente con rimpull/retarder, bunching emergente, ruteo restringido), cinco baselines de despacho y políticas de arbitraje de zonas. Cada corrida pasa compuertas de validez nombradas y es determinista byte a byte (asegurado en CI), y los resultados exportan como un cycle log, un registro de proveniencia y la topología 3D. Se usa vía una API Python o una CLI, y es el lado generador de un par: alimenta escenarios structure-real a DispatchLab (la app web desplegada que los consume y optimiza).
Indicadores Clave de Rendimiento
| KPI | Línea Base | Resultado | Impacto |
|---|---|---|---|
| Escenarios reproducibles | Un único caso de prueba a mano | Generadores por semilla → decenas de minas distintas, deterministas byte a byte | Comparaciones de políticas justas y repetibles |
| Nicho de código abierto | Solo simuladores comerciales cerrados | Primer paquete OSS: acarreo sobre red vial restringida | Un sustrato reutilizable e inspeccionable |
| Confianza en el motor | Simulación sin verificar | 227 tests, 7 compuertas de validez, CI en Linux + Windows | El determinismo y los órdenes de física se verifican |
Arquitectura
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).
Stack Tecnológico
Los recursos visuales de este proyecto no están disponibles públicamente.