Truck-shovel allocation optimisation: a goal programming approach | Synapse