Single-track multi-hoist scheduling problem: a collision-free resolution based on a branch-and-bound approach