Haul Truck Dispatch: Queue-Aware Fleet Assignment (2D)
A queue-driven fleet of mine haul trucks cycles between shovels and a crusher; a swappable dispatch policy decides which shovel each truck heads to next, and the readouts show the effect on throughput and utilization in real time.
This 2D companion swaps the 3D scene's decorative flow-through animation for a real dispatch loop: each truck drives to a shovel, queues if the shovel is busy, loads a fixed 220-ton payload, drives to the crusher, dumps, and gets re-dispatched — with travel time, load time and projected shovel wait all computed from the controls rather than scripted. Switching the dispatch policy between shortest-projected-wait, nearest-shovel and round-robin shows directly how the assignment rule changes fleet utilization and cycle time.
Queue-driven mine haul-truck dispatch: trucks cycle between shovels and a crusher on a real state machine (drive → queue → load → drive → dump), with a swappable dispatch policy (shortest projected wait, nearest shovel, round robin) driving throughput and utilization.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install
Nearest-shovel dispatch ignores how many trucks are already queued at that shovel, so it keeps sending trucks to the same nearby shovel until its queue grows long, while a farther, empty shovel sits idle. Shortest-projected-wait accounts for both travel time and queue length, spreading trucks across shovels more evenly.
It's the share of total truck-minutes that are not spent waiting in a shovel queue — trucks driving, loading or dumping count as utilized; trucks queued do not. A policy that balances shovel queues better pushes this number up without changing the trucks' top speed.
A third shovel adds loading capacity in parallel, so the fleet spends less total time queued and more time actively hauling — trips completed and tons hauled rise correspondingly, visible directly in the readout panel.