DispatchLab — Truck-to-Shovel Dispatch Bench for Open-Pit Mining
Published:
DispatchLab is an in-browser truck-to-shovel dispatch bench: a deterministic discrete-event simulation of an open pit where you pick a case and a dispatch policy and watch tonnes, match factor and queues form. Nine policies compete against a closed-form capacity oracle, on identical stochastic conditions via common random numbers. Live at dispatchlab.fasl-work.com, part of the Faena mining-analytics hub.

Nine policies, one engine
Five heuristics (fixed, greedy earliest-completion, shortest-wait, the max-trucks and the max-shovels criteria), an operations-research tier (Hungarian joint truck-to-shovel-slot assignment), two learned policies (an MLP scorer and a behaviour-cloning of the best policy, both ONNX), and a distilled Monte-Carlo rollout whose true bounded rollout also runs live on demand in an inspector panel, never on autoplay. The engine underneath is real: a next-event-time-advance DES with an integer-tick clock, seeded common random numbers, rimpull and grade-resistance kinematics, road traffic (bunching, safety distance, no overtaking) and a capacity oracle to score against.
The data, stated plainly
There is zero real fleet data: no ground-truthed open-pit dispatch log is public. The eight synthetic cases are anchored to published Cat 793F figures. The twelve real samples are structure-real generated cycle logs: ten from minehaulsim, the author’s own Apache-2.0 DES package published on PyPI, plus two OpenMines configs desensitized from the Huolinhe coal mine (only the config traces to the mine, not the rows). The learned policies are imitation, not reinforcement learning.
The honest null result
Trained on 141,149 logged decisions, the rollout distillation reaches 0.841 imitation accuracy. The headline finding is a published null: the certainty-equivalent Monte-Carlo rollout wins 0 of 8 evaluation seeds under cycle-time uncertainty, because the base policies are already within a few percent of the oracle. What is validated is the exact deterministic policy-improvement bound: the rollout at least matches the base, with measured gains of +0.42 to +1.64 percent tonnes. Best policy reaches 94.9 to 96.0 percent of the oracle on the symmetric cases and 47.6 percent on the hardest. Publishing where a clever policy fails to beat a simple one is the point.
