Combining optimisation and simulation using logic-based Benders decomposition