Each truck runs a state machine: drive to an assigned shovel, wait in a FIFO queue if the shovel is busy, load for a fixed time, drive to the crusher, dump, then get re-dispatched. Travel time is distance over the speed slider; load time is a fixed payload (220 t) divided by the shovel's loading rate (55 t/min); dump takes 1.5 min.
travel(a,b) = dist(a,b) · 0.05 / speed_kmh · 60 [min]
load = payload / loadRate [min]
wait(shovel)= queueLen · load + travel(dump,shovel)
The dispatch policy decides which shovel a truck heads to right after dumping:
- Shortest projected wait — minimizes queue-length × load-time plus travel time; this is what an actual dispatcher tries to do.
- Nearest shovel — ignores queue state and always picks the closest shovel, which floods it under load.
- Round robin — cycles shovels in a fixed order regardless of congestion.
Fleet utilization is the fraction of truck-minutes spent doing something other than waiting in a queue — a direct, formula-driven measure of how well the current policy balances the fleet across shovels.