from “bow to stern” when loading/unloading a vessel, it becomes relatively easy to handle the no-passing constraint and to enforce a minimum separation. The objective is to minimizing the time to load/unload multiple vessels. A heuristic is proposed for the solution of the problem. [@NAV:NAV20189] study a static, single vessel setting and also adopt a unidirectional movement restriction for QCs to handle the no-passing constraint. When a task refers to the loading/unloading of a hold, it is shown that there always exists an optimal schedule among the unidirectional schedules. Since a unidirectional schedule can be easily obtained for a given task-to-QC assignment, a simulated annealing algorithm is proposed to explore the space of task-to-QC assignments.

For a more detailed, more comprehensive survey of crane scheduling, the reader is referred to [@Bierwirth2010615].

Recently [@legato2012modeling] presented a refined version of an existing mixed integer programming formulation of the QC scheduling problem incorporating many real-life constraints, such as QC service rates, QC ready and due times, QC no-passing constraints, and precedence constraints between groups of containers. Unidirectional QC movements can be captured in the model as well. The best-known branch-and-bound algorithm (i.e., from [@bierwirth2009fast]) is improved with new lower bounding and branching techniques.

