Noura 123

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 31

Accepted Manuscript

The Quay Crane Scheduling Problem with Vessel Stability and Nonzero Crane
Moving time

Noura Al-Dhaheri, Aida Jebali, Ali Diabat

PII: S0360-8352(16)30004-3
DOI: http://dx.doi.org/10.1016/j.cie.2016.01.011
Reference: CAIE 4234

To appear in: Computers & Industrial Engineering

Received Date: 1 May 2015


Revised Date: 16 January 2016
Accepted Date: 18 January 2016

Please cite this article as: Al-Dhaheri, N., Jebali, A., Diabat, A., The Quay Crane Scheduling Problem with Vessel
Stability and Nonzero Crane Moving time, Computers & Industrial Engineering (2016), doi: http://dx.doi.org/
10.1016/j.cie.2016.01.011

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers
we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and
review of the resulting proof before it is published in its final form. Please note that during the production process
errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.
The Quay Crane Scheduling Problem with Vessel Stability Consideration:
Formulation and Heuristic Solution Approach

Noura Al-Dhaheri, Aida Jebali, Ali Diabat*

Department of Engineering Systems & Management, Masdar Institute of Science & Technology, Abu Dhabi, UAE
*Corresponding author e-mail adiabat@masdar.ac.ae; Tel +971-2-810-9101; Fax +971-2-810-9901
The Quay Crane Scheduling Problem with Vessel Stability and Nonzero
Crane Moving time

Abstract
The continuous growth in worldwide container terminals’ traffic resulted in an increasing interest for the Quay
Crane Scheduling Problem (QCSP) in research and practice. This problem consists of scheduling the discharge and
load operations of the containers of a vessel by a set of quay cranes; the objective is to minimize the completion time
in an attempt to increase container terminal throughput. In the literature, most of the proposed studies focus on
improving model formulation and solution methods with a trend, in most recent papers, to incorporate more realistic
features of the problem. Despite the importance given by practitioners to vessel stability in scheduling discharge and
load operations, there is little research that considers this constraint. This paper presents a novel MIP formulation of
the QCSP that takes into account vessel stability constraints. Furthermore, the proposed model is very flexible in
handling various settings of the QCSP, such as those related to crane traveling time, task preemption and
unidirectional quay crane operating mode. In order to tackle problem complexity, a Genetic Algorithm (GA) is
proposed. Computational results validate the MIP formulation on small sized problems and highlight the
performance of the proposed GA.

Keywords: Quay Crane Scheduling, Container terminal, Mixed Integer Programming, Genetic algorithm

1. Introduction

Globalization entails a steep increase in the containerized freight flow over the last decades
(UNCTAD 2011) and this increase is expected to continue in the future. As a result, container
terminals are continuously challenged to accommodate the growth of container volume by
maximizing their operational efficiency, and investing in new handling technology and extended
terminal infrastructure. This effort is additionally motivated by the need of container terminals to
face the fierce competition with other terminals. The availability and the speed of service
operations are henceforth the keys to attracting and retaining vessel operators. Providing
container terminals with models and methods that lead to shortened vessel handling time and
increase terminals’ throughput capacity is undeniably essential to help seaports respond to the
incrementing container streams through the universal supply chain system and achieve a
competitive advantage. Therefore, the last two decades witnessed an increasing number of
research papers that aim to advance seaport operations with the use of quantitative methods.
Recent classification of the existing models can be found in (Bierwirth & Meisel, 2010) that has
been extended in (Carlo et al., 2013) and (Bierwirth & Meisel, 2015).

Container terminals can be divided into four main areas: the berth, the quay, the yard and the
gate. The berth and the quay areas are considered seaside, while the yard and the gate are
considered landside (Carlo et al., 2013). Once a vessel is berthed, three main operations are
processed: loading/unloading containers between vessels and landside trucks, transporting
containers between berths and the storage yard and, loading/unloading containers between
landside trucks and storage yard. The vessel is divided into several bays and each container is
unloaded from or loaded onto a given bay according to the stowage plan; at any time, at most
one QC can perform operations on a bay. The cost of constructing berths and handling
equipment such as the quay cranes (QCs), used for loading and unloading containers from and
onto vessels, is extremely high. Therefore, major emphasis in the literature has been placed on
optimizing the utilization of these two critical resources: the berths and the QCs. Three seaside
operation problems are distinguished in the literature (Bierwirth and Meisel, 2010): (1) the Berth
Allocation Problem (BAP), (2) the Quay Crane Assignment Problem (QCAP), and (3) the Quay
Crane Scheduling Problem (QCSP). This paper tackles the QCSP. The latter aims at finding the
schedule for the QCs serving a vessel that minimizes the total handling time. The QCSP includes
both the assignment of container handling operations to specific QCs and the time schedule for
these operations.

The existing literature provides different ways of modeling the QCSP, as summarized by the
classification scheme presented by (Bierwirth & Meisel, 2010). The authors classify the models
according to four attributes: task, crane, interference and, performance measure. The task
attribute specifies task definition and related constraints. Tasks of QCs are defined on the basis
of container groups belonging to the same bay, bays, and bay areas (Meisel & Bierwirth, 2011).
The crane attribute describes the assumptions made regarding QCs, such as their initial position
and movement speed. The interference attribute is used to describe the spatial constraints of
QCs’ movements, namely non-crossing and safety margin constraints. QCs move along the quay
on a single rail track and are not allowed to cross one another. Moreover, a safety distance
should be kept between adjacent QCs. The fourth attribute specifies the objective function of the
QCSP. Carlo et al. (2013) extend this QCSP classification scheme to include further details on
the QCSP, such as the safety margin for indented berths and performance measures related to the
utilization of landside equipment.

In the vast majority of QCSP models, tasks are defined on the basis of bays or container groups.
Non-crossing constraints are commonly considered, while safety margin constraints and QC
traveling time have been less involved. Task preemption is generally not allowed. Since QCSP
with non-crossing constraints is an NP-hard problem (Guan et al., 2013), most of the proposed
methods are still not fit to solve large-sized problem instances. Moreover, some realistic features
of the QCSP have been seldom incorporated in the proposed models. For example, despite the
importance given by practitioners to vessel stability in crane scheduling, there is little research
that considers this constraint.

In the current paper, we present a novel MIP formulation of the QCSP that takes into account
vessel stability constraints. Furthermore, the proposed model captures various practical
constraints of the QCSP, such as non-crossing, safety margin and crane traveling time
constraints. In order to tackle problem complexity, a Genetic Algorithm (GA) is designed to
solve medium and large sized problems.

The remainder of this paper is organized as follows: section 2 reviews relevant literature on the
QCSP with a focus on works which defining tasks on the basis of bays and container groups.
Section 3 describes the addressed QCSP problem and the proposed mathematical model. Section
4 introduces the developed GA and the lower bound algorithm proposed to assess the
performance of the GA. Section 5 reports computational experiments and results. Finally, section
6 concludes this work with important findings as well as directions and recommendations for
future research on this topic.

2. Literature Review
The crane scheduling problem while considering bays as tasks was initially studied by (Daganzo,
1989). The QCs are assigned to bays for certain time slots in order to minimize the total
weighted completion times of ships. As preemption is allowed, more than one QC can perform
operations on a bay. Peterkosfsky & Daganzo (1990) further investigate the problem and propose
a branch-and-bound (B&B) solution approach. These two early studies do not however consider
non-crossing and safety margin constraints. (Lim et al., 2004) and (Kim & Park, 2004) are the
first papers that address spatial constraints. Lim et al. (2004) consider non-crossing constraints,
safety distance between QCs and non-simultaneous constraints among bays. The objective is to
find the QC-to-bay assignment that maximizes the throughput under these constraints. Dynamic
programming algorithms, a probabilistic tabu search, and a squeaky wheel optimization heuristic
are proposed to solve the problem. This work has been extended by incorporating task
processing time in order to find the QC schedule that minimizes the makespan (Zhu & Lim,
2006; Lim et al., 2007). In (Zhu & Lim, 2006), the authors prove that by considering only non-
crossing constraints, the problem becomes NP-complete. The problem is solved by a B&B
algorithm and a simulated annealing heuristic. Lee et al. (2008) study the same problem, confirm
its NP-completeness and solve it using a Genetic Algorithm (GA). In (Lim et al., 2007), the
authors prove that for the QCSP with complete bays, there is an optimal schedule among the
unidirectional ones; those where all QCs adopt, after their initial repositioning, the same
movement direction. This seminal result entails a reduction of the search space to unidirectional
schedules when seeking to optimally solve the QCSP with complete bays. Moreover, under the
premise of unidirectional QC scheduling, crossing of QCs cannot happen, while the QCSP
reduces to a QC-to-bay assignment problem. All the aforementioned studies do not consider QC
traveling time constraints. In (Guan et al., 2103), the authors tackle the problem while taking into
account non-crossing and QC traveling time constraints and assume that the partition of work
units on bays ensures the required safety distance between QCs. A time-space network flow
formulation is adopted and used to solve small-sized instances by standard solvers. For medium-
sized instances, the authors develop a Lagrangian relaxation approach to obtain a tight lower
bound and near-optimal solutions. Furthermore, to face the soaring complexity of large-sized
problems, the authors develop two heuristics. In order to assess the quality of the proposed
heuristics, a lower bound is determined based on the optimal solution of the preemptive QC
schedule solved using a dynamic programming algorithm. Liu et al. (2006) study the QCSP for
multiple vessels with different ready times. The objective is to minimize the maximum relative
tardiness of vessel departures. The problem is broken down into two levels: the vessel-level and
the berth-level. The vessel-level problem is a QCSP and is formulated as a MIP model that
anchors the structure of unidirectional schedules. The latter takes into account initial crane
positions, non-crossing, safety margin and QC traveling time constraints. The reduction of the
research space to unidirectional schedules allows for solving non-trivial instances by a standard
solver. Furthermore, the paper compares the preemptive and the non-preemptive QC scheduling
approaches and highlights the improvements obtained by adopting the preemptive one.

Kim & Park (2004) are the first who address the QCSP for container groups. They propose a
model that considers precedence constraints among tasks, QC traveling time, non-crossing
constraints and enforces safety distance by setting a non-simultaneity constraint between tasks
located in adjacent bays. The objective is to minimize the weighted sum of the makespan and
QCs completion times. A branch-and-bound algorithm and a Greedy Randomized Adaptive
Search Procedure (GRASP) are proposed. This model has been later refined by Moccia et al.
(2006) in order to account for safety margin constraints in a more stringent way. A branch-and-
cut (B&C) algorithm is developed to solve medium and large sized instances. The algorithm
succeeds in improving solutions for the benchmarks of Kim & Park (2004). To solve the same
problem, Sammara et al. (2007) propose a Tabu Search (TS) algorithm where neighbourhoods
are defined on the basis of a disjunctive graph. The computing time is significantly reduced at
the expense of a slightly weaker solution quality with comparison to the B&C algorithm.
(Bierwirth & Meisel, 2009) discloses the weakness of the model proposed in (Moccia et al.,
2006) and proposes a model that incorporates a temporal distance between tasks in order to
enforce non-crossing and safety margin constraints. Although there is not necessarily a
unidirectional schedule among the optimal schedules for the QCSP with container groups, the
authors propose a unidirectional search heuristic and show that it clearly outperforms the
competing approaches (Kim & Park (2004); Moccia et al. (2006); Sammara et al. (2007)). Meisel
(2011) introduces the QCSP with time windows and solves the problem using a tree-search-
based heuristic. In (Meisel & Bierwirth, 2011), the authors propose a unified approach to
compare the performance of different model classes based on task granularity (container groups,
bays, bay areas). The conducted experiments reveal that for some situations it is worth spending
more time on solving a detailed model as this incurs a significant reduction in vessel handling
time. Adversely, in other situations, simpler models are preferred. Legato et al. (2012) augment
the model proposed in (Bierwirth & Meisel, 2009) by incorporating crane-individual service
rates and a unidirectional QC travel mode. They employ a B&B scheme to solve the considered
QCSP. Monaco & Sammara (2011) investigated the QCSP while considering time windows on
QC availability, QC operational range, and unidirectional QC movement. A MIP formulation is
proposed in order to minimize the makespan and QCs’ total delay. A commercial solver is used
to solve small and medium size instances and a TS algorithm is designed to solve large instances.
In (Chung & Choy, 2012) and (Kaveshgar et al., 2012) a GA is developed to solve the QCSP
introduced in (Kim & Park, 2004). Chung & Choy (2012) show that their GA provides better
solutions than other existing well-known approaches (TS, B&C, GRASP and B&B), especially
for small size instances. For large size instances, even though the performance of the GA
deteriorates, it remains attractive as it provides solutions within a short computational time.
Kaveshgar et al. (2012) propose a GA using a solution representation that reduces the number of
decision variables and employs tighter upper and lower bounds on the number of tasks assigned
to a QC and, the set of tasks that could be done by a specific QC. The GA is tested on several
benchmark instances proposed in (Meisel & Bierwirth, 2011). The results reveal that the
proposed GA provides optimal or near optimal solutions in significantly shorter time with regard
to the current best-known solutions. Guo et al. (2013) adapt the idea of generalized extremal
optimization (GEO) to heuristically solve the QCSP. The obtained QC schedule is unidirectional
and respects non-crossing and safety margin constraints. The heuristic provides optimal or near-
optimal solutions in reasonable time for large-sized problems. (Wang et al., 2013) is the first
paper that highlights the importance of considering vessel stability in the QCSP. A GA is
proposed to solve the QCSP introduced in (Kim & Park, 2004). The GA discards any QC
schedule that violates the QCSP constraints, including those related to vessel stability. In all
these works, pre-emption is not allowed. However, it is important to note that by viewing each
container as a container group, the model of (Bierwirth & Meisel, 2009) can be used as a
formulation of the pre-emptive QCSP. Thus, the pre-emptive QCSP can be assimilated to the
QCSP with individual containers. This formulation is proposed for the QCSP allowing vessel
bays to be served by more than one QC addressed in (Lu et al., 2012). The problem is solved
using a polynomial heuristic that generates contiguous and unidirectional schedules. The
obtained schedules do not take into account QC ready time and initial position. Results
demonstrate that the optimality gap is small for practical instances. In (Al-Dhaheri & Diabat,
2015), the authors propose a MIP formulation for the pre-emptive QCSP that consists in
assigning QCs to bays over a planning horizon; the objective is to minimize the difference in
workload between bays at all time periods. The model does not however take into account QC
initial position, QC traveling time and safety margin constraints. It has been shown that optimal
solutions can be obtained by a standard solver for small and medium sized problem instances.

Some recent papers (Fu & Diabat (2014); Fu et al. (2014)) consider pre-emption while
addressing the integrated quay crane assignment and scheduling problem. The problem is
formulated as an IP and solved by a Lagrangian approach (Fu & Diabat, 2014) and a GA (Fu et
al., 2014). In (Theodorou and Diabat (2014)), the authors use GA to solve an integrated quay
crane assignment and scheduling problem, which accounts for crane positioning conditions. In
(Theodorou and Diabat (2015)), they use Lagrangian relaxation approach to solve the problem
and compare the performance of the new approach with the use of GA. However, all of the
proposed models do not however take into account QC traveling time and initial position.

The present paper formulates the pre-emptive QCSP for a single vessel, with an objective of
minimizing the makespan. The workload of each bay may be performed by multiple QCs, thus
the containers in each bay to be assigned to each QC is left as a decision. The model captures
non-crossing, safety margin and QC traveling time constraints and takes into account QC initial
position and vessel stability restrictions. The objective is to minimize the vessel’s handling time.
Hence, the proposed MIP formulation extends the model proposed in (Al-Dhaheri & Diabat,
2015) by including QC initial position, QC traveling time, safety margin and vessel stability
constraints. A GA is then proposed to solve medium and large sized instances. A lower bound is
determined and used to assess the quality of the obtained solutions.

3. The QCSP: description and model formulation


This section provides a description of the considered QCSP and the corresponding mathematical
formulation. An example is then presented to illustrate the problem and the solutions obtained
while exploring different search spaces.

3.1. Problem description

The considered QCSP tackles a single vessel divided into a set of bays, J={1,…, . The bays
are indexed sequentially from bay 1 to bay . The workload is expressed in number of work
units, where a work unit is a considered fixed number of containers. The workload on the vessel
can be processed by a set of identical QCs, I={1,…, . The QCs are indexed in an ascending
order along the direction of increasing bay positions. Without loss of generality, bays and QCs
are indexed hereafter in ascending order from left to right. Each task refers to container
unloading or loading operations to be handled on a bay. Preemption is allowed since a single bay
can be assigned to multiple QCs. Nevertheless, at any time, at most one QC can operate on a bay.
Each QC has an initial bay position and is ready to commence service at time 0. All QCs are
mounted on the same track and can move from one bay to another without crossing. The
traveling time, , between two consecutive bays is constant. The traveling time of QC i from bay
j to bay j’, , is calculated as . A safety margin of bays is maintained
between each two adjacent QCs i and i+1. In order to enforce non-crossing and safety margin
constraints, the minimum temporal distance, formulated in (Bierwirth & Meisel, 2009), is
adapted. A temporal distance should be incorporated in the schedule to separate the processing of
containers located in bays j and j’ when processed by QCs i and i’ (ii’), respectively.
represents the smallest allowed distance between the bay positions of QCs i and i’.
The temporal distance to consider for all QCs i and i’ (ii’) when they respectively serve
bays j and j’ is calculated as follows.

 if and
 if and
0 otherwise

Note that refers to the case in which spatial constraints are respected by QCs i and i’
while serving bays j and j’.

Let us denote by the temporal distance between the processing of containers located at bays j
and j’ when they are processed by adjacent QCs i and i+1, respectively. As it can be noted,
represents the smallest allowed distance between the bay positions of any adjacent QCs.
Hence, the temporal distance to set between the processing of adjacent QCs depends only on the
bays they serve.

Furthermore, in order to respect non-crossing and safety margin constraints, it can be observed
that each QC i can serve only bays j such that, +1 and
. Let us denote this set for each QC i, by Ji={bi= +1, bi+1, …, ci=
. It is also worth noting that all bays can be reached by at least one QC only
under the following condition:  (+1). If the aforementioned condition is not satisfied and
all bays contain workload then the considered QCSP is infeasible. The minimum number of bays
needed to locate the QCs while accounting for safety margin is ( -1) ( +1)+1. For a
number of bays =( -1) ( +1)+ with  , only bays 1,.., 1+, 1+(+1),…, 1+(+1)+,
…, 1+( -1) (+1), …, 1+( -1).(+1)+ can be processed. The QCSP is hence infeasible
unless all vessel operations are located on the aforementioned bays. Moreover, the workload of
one bay can be shared between more than one QC only for and such that > ( +1).
For  (+1), if the QCSP is feasible, then the QC-to-bay assignment can be easily
determined. In this case, each bay can be served only by one QC. Hence, an optimal solution can
be found by simply exploring unidirectional schedules. In this paper, the effort will be put into
solving challenging QCSP instances where the workload of one bay can be shared between more
than one QC.

The stability of the vessel is violated if the vessel’s center of gravity (CG) shifts too much
toward one side during the loading or unloading process. This shift results from workload
distribution along the vessel and the sequence of operations. Henceforth the QCSP should
consider vessel stability constraints to allow for obtaining QC schedules that can be used in
practice. In particular, the proposed model ensures the longitudinal stability of the vessel
throughout the whole service process. The shift of the vessel’s CG is determined for each time
unit based on the distribution of the finished work along the vessel and while assuming that
initially the vessel’s CG is located at the point of bay length corresponding to . Nevertheless,
the model can be easily accommodated to consider other possible initial positions of the vessel’s
CG.

3.2. Model formulation

The notation that is used in the proposed formulation is the following:


Sets
Set of bays, indexed by or where or is the bay number in
ascending order from left to right
Set of QCs assigned to the vessel, indexed by or
where or is the QC number in ascending order from left to right
Set of time units, indexed by t or
Parameters
Workload in number of work units at bay
QC service rate in number of work units served per time unit
Traveling time between bay and bay ′
Total weight of the vessel before starting operations
Permitted shift of CG of the vessel (measured in 1 bay length)
Average weight of each work unit
Sufficiently large number
Number of bays left for safety considerations between any two adjacent QCs
1 for loading operations; -1 otherwise (i.e. -1 for unloading operations)
Initial position of QC i
Temporal separation of processing bay j and bay j’ by two adjacent QCs (i and
i+1)
Decision Variables
Makespan, latest completion time among bays
Unhandled workload at time t in bay
1 If QC is assigned to bay at time segment
0 Otherwise
1 If QC starts moving from bay to bay at time
0 Otherwise
1 If bay is not completed at time
0 Otherwise

The MIP formulation of the QCSP can be stated as follows:

(1)
Subject to:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)

, 
 (10)

, 
 (11)

(12)
(13)

(14)

(15)

 (16)

(17)
(18)
(19)

(20)

(21)

(22)
(23)

The objective is to minimize the makespan of the schedule in order to provide the fastest possible
service to the vessel and increase container terminal throughput. The makespan is determined in
(2) by the latest completion time among all bays involved in the service. At this level, it is worth
noting that the planning horizon must be an upper bound of the makespan. Constraints (3)
and (4) guarantee that a given bay j is not completed at time t if and only if there is workload left
in j at time t. Constraints (5) ensure that each QC can be assigned to at most one bay in any given
time unit, while constraints (6) guarantee that each bay is handled by at most one QC in any
given time unit. Constraints (7) specify the initial workload for each bay. Constraints (8), (9) and
(3) define the remaining workload at each bay for each time unit until it reaches zero, by
removing the processed work units at the earlier time units. Constraints (9) and (4) guarantee that
the remaining workload is set to zero for the remaining time units. Moreover, the combination of
constraints (9) with the objective function ensure the completion of operations at every bay.

Constraints (10) and (11) enforce a safe QC movement. They impose a temporal distance
between adjacent QCs over each time unit. By taking into account all QCs positions at time unit
t, they enforce QCs ordering condition and ensure a safety margin of  bays between all QCs.
Constraints (12) restrict the assignment of QCs to only the range of bays that allow for the
respect of the non-crossing and safety margin conditions.

Constraints (13) specify that at any time unit t, QC i can start moving at most once from one bay
j to another bay j’. Constraints (14) ensure that QC i can start moving from bay j to bay j’ at most
once during any time interval  . Constraints (15) are related to the initial position of
the QC. Constraints (16) ensure that a QC cannot be assigned to a bay while moving. Constraints
(17) guarantee that a QC can start moving between two bays j and j’ at time unit t only if it is
located at bay j at time segment t-1. A QC starts moving at time unit t only if the corresponding
QC-to-bay assignment changes between t-1 and t (18). Constraints (19) account for the travel
time between bays. Constraints (20) guarantee that all QCs do not start moving after the
completion of all bays. The shift of the vessel’s CG is constrained to be within acceptable limits
by constraints (21). Constraints (22) and (23) restrict the domains of the decision variables.

The minimum time unit that can be used in the proposed QCSP model corresponds to the
handling time of one work unit; and in this case, the QC service rate, , must be set to 1. The
minimum work unit corresponds to one container. However, it must be noted that with the
adoption of new spreader-technologies, QCs are able to simultaneously handle two or three
containers (Bierwirth & Meisel, 2015), thus allowing for an increase of the minimum work unit
to these aforementioned numbers. For this detailed time discretization, the accuracy of the
proposed QCSP model increases at the expense of additional complexity and problem scale.
Using a less detailed time discretization (and so a larger service rate) certainly leads to
complexity reduction for the model, but it can entail the need to neglect the QC traveling time.

The decision variable indicates if QC i is assigned to bay j at time segment t. Let us consider
a work unit of one container and a QC handling rate of one container per time unit ( ). It is
worth to note that in this case, also indicates if one container at the considered bay j is
processed by QC i at time t. According to the classification scheme proposed in (Bierwirth &
Meisel, 2010), and without accounting for vessel stability constraints, the QCSP addressed in this
paper can be then written as containermove,poscoss,savemax(compl). Furthermore, it is worth
to note that the precedence relations in processing pairs of containers at the same bay can be
easily derived from the stowage plan and container grouping information. Based on these
precedence constraints, the sequence of processing the containers at the same bay can be
established. This sequence is then used to specify the container to be processed by QC i at bay j
at time t according to the obtained QC schedule. The construction of this sequence is however
beyond the scope of this paper.
3.3 Example

A small QCSP instance is used to illustrate the proposed MIP solution. The example is then used
to present solutions obtained for different options of search space restrictions.

Three QCs are assigned to a vessel with 10 bays. As specified in table 1, a given number of
containers have to be unloaded from each bay within a planning horizon of 40 time units. The
adopted safety margin is equal to one bay. The initial position of QCs 1, 2 and 3 are bays 1, 5
and 10 respectively. The handling rate is set to 1, meaning that 1 time unit is required to process
one container. Travel time between two adjacent bays is set to 1 time unit. Permitted shift of the
vessel’s CG, total weight of all containers to be unloaded and weight of the vessel before starting
operations are assumed to be of bay length 1, 57 and 200, respectively. On the one hand,
according to constraints (3), M can be set to . On the other hand and based on constraints
(9), M can be set to . Thus, hereafter, the maximum value among these two will be selected for
M. In this QCSP instance, M is set to 15. The matrix of temporal distances , is given in table
2.

Table 1. Vessel workload in work units


Bay index j 1 2 3 4 5 6 7 8 9 10
Initial workload 8 4 0 15 3 0 10 5 0 12

Table 2. Matrix of temporal distances


j \ j’ 1 2 3 4 5 6 7 8 9 10
1 2 1 0 0 0 0 0 0 0 0
2 3 2 1 0 0 0 0 0 0 0
3 4 3 2 1 0 0 0 0 0 0
4 5 4 3 2 1 0 0 0 0 0
5 6 5 4 3 2 1 0 0 0 0
6 7 6 5 4 3 2 1 0 0 0
7 8 7 6 5 4 3 2 1 0 0
8 9 8 7 6 5 4 3 2 1 0
9 10 9 8 7 6 5 4 3 2 1
10 11 10 9 8 7 6 5 4 3 2

For the considered problem, J1={b1=1, b1+1, …, c1=6}, J2={b2=3, b2+1, …, c2=8} and
J3={b3=5, b3+1, …, c3=10}. Note that only a part of the matrix of temporal distances is needed
to ensure safety movement between any adjacent QCs i and i+1, i=1..|I|-1. For example, to
ensure safety movement between QC 1 and QC 2, we need to consider j in J1 and j’ in J2. The
optimal schedule with Cmax=24, given by GAMS, is depicted in figure 1. Note that the integrality
of the decision variables is relaxed while solving the problem. Indeed, given the following
conditions: (1) the matrix defining the feasible region of is totally unimodular, (2)
and are binary; the linear relation of with and in constraints (13)-(20) will
generate integer (0-1) solutions (Wolsey, 1998). Moreover, in order to strengthen the MIP
formulation and speed up the solving time, valid cuts (24), related to the safety margin condition,
are added. The latter imply that at any time, at most one QC can operate on any +1 consecutive
bays.
 
(24)

The optimal solution is obtained after 9149 seconds. The solved MIP contains 76444 constraints
and 14002 variables among which there are 1600 discrete variables.

Figure 1. Optimal schedule obtained by GAMS

An optimal non-preemptive schedule for the same problem instance is presented in figure 2. The
latter is obtained after 68 seconds by solving the proposed MIP to which we add the non-
preemption constraints (25). The MIP contains 77644 constraints.

(25)

Figure 2. Optimal non-preemptive schedule

The obtained non-preemptive schedule does not represent an optimal solution of the original
problem. Our example is enough to prove that better schedules can be obtained by preemptive
scheduling even though non-preemption is a common assumption for the QCSP. Obviously,
under the assumption of non-preemption, the computational time is significantly reduced.
Moreover, this example points out the interest for including preemptive schedules in the search
space of the QCSP.
A schedule is referred to as unidirectional if the QCs do not change the moving direction after
the initial repositioning and have identical directions of movement either from upper to lower
bays (referred to as right-to-left QC movement) or vice versa (referred to as left-to-right QC
movement). Since unidirectional QC scheduling is the preferred policy in practice (Legato et al.,
2012), two optimal unidirectional schedules are determined and presented in figures 3 and 4. The
left-to-right schedule is obtained by solving the proposed MIP to which we add constraints (26),
and the right-to-left schedule is obtained by solving the proposed MIP to which we add
constraints (27). The two MIPs comprise 81709 constraints and are solved in less than 120
seconds.

(26)

(27)

Figure 3. Optimal left-to-right schedule

Figure 4. Optimal right-to-left schedule

As it can be observed, these two unidirectional schedules represent optimal solutions of the
considered problem instance. In this example, reducing the search space to unidirectional
schedules allows for finding an optimal solution to the original problem within reasonable
computational time. Nevertheless, as we consider here a preemptive QCSP, reducing the search
space to unidirectional schedules does not guarantee the generation of an optimal solution
(Bierwirth and Meisel, 2009). However, it might represent a good strategy for solving the
considered QCSP heuristically.
4. The Proposed Genetic Algorithm based heuristic

The Genetic Algorithm (GA) is a search heuristic that simulates the process of natural evolution
of living organisms to find near-optimal solutions for combinatorial optimization problems,
including sequencing and scheduling. It combines the concept of survival of the fittest with
controlled, yet randomized, information exchange to form robust exploration and exploitation of
the solution space (Tavakkoli-Moghaddam et al., 2009). It starts by creating an initial population
of chromosomes. Each chromosome encodes a solution of the problem and entails a fitness value
derived from the value of the objective function for that solution. Then, during each iteration step
(referred to as “generation”), genetic operators such as crossover and mutation are employed to
breed offspring from two parent chromosomes, that are selected based on their level of fitness.
The quality of the population keeps improving along with generations through the selection
process of better fitted genes as occurs in the natural evolution of individuals (Goldberg, 1989).
The GA is run until a suitable solution is found or a certain number of iterations (generations) is
reached. The general structure of the GA is illustrated in figure 5. The steps of the proposed GA
are presented with further detail below.

Figure 5. Genetic algorithm process

4.1. Chromosome representation

Chromosome representation is the first step in the implementation of a GA. From our model
formulation, we can see that a solution specifies: (1) the QC-to-bay assignment and, (2) the
sequence of bays to be processed by each QC. The QC-to-bay assignment consists of
determining the QCs to serve each bay. Since the workload of a bay is performed by more than
one QC, this decision is also made through the distribution of bays’ workload among QCs (i.e.
the assignment of bays’ work units to QCs). Before introducing our chromosome representation,
it is important to point out that the proposed GA embraces the strategy of searching a good
solution to the considered QCSP within the space of unidirectional schedules. The sequence of
bays to be processed by each QC is thus determined based on a unidirectional operating mode. In
this case, the assignment of bays’ work units to QCs is the most complex decision (Lim et al.,
2007). The GA chromosome is thus designed to generate these assignments.

Accordingly, we can represent the chromosome by a matrix with |I|x|J| genes, where each gene
(i,j) provides the part of the workload (in number of work units) of bay j assigned to QC i. As
each QC i can perform operations only on bays j Ji, the gene (i,j) takes the value 0 for all i I
and j J/Ji. Moreover, the sum of the value of genes (i,j) belonging to a same column j must be
equal to the workload of bay j. The sum of values of genes (i,j) belonging to the same row i
represents the total workload assigned to a QC i. Figure 6 illustrates an example of a
chromosome representation based on the problem instance introduced in section 3.

Bay index 1 2 3 4 5 6 7 8 9 10
QC1 8 4 0 5 2 0 0 0 0 0 19
QC2 0 0 0 10 0 0 6 3 0 0 19
QC3 0 0 0 0 1 0 4 2 0 12 19
Total workload to be handled
8 4 0 15 3 5 10 5 0 12 57

Figure 6. A chromosome representation

Furthermore, the genes (i,j), i I, j J/Ji can be omitted from the chromosome as their value is
fixed to 0. Accordingly, the number of genes in the chromosome is reduced to . This results
in the final chromosome representation depicted by figure 7.

Bay index 1 2 3 4 5 6 7 8 9 10
QC1 8 4 0 5 2 0 19
QC2 0 100 0 6 3 19
QC3 1 0 4 2 0 12 19
Total workload to be handled
8 4 0 15 3 0 10 5 0 12 57

Figure 7. Final chromosome representation

After assigning bays’ work units to QCs, the sequence of processing them is determined based
on a unidirectional operating mode. The best left-to-right and right-to-left schedules, respecting
the travel time and the non-interference constraints, are then derived from the QC-to-bay
assignment represented by the chromosome by using the disjunctive graph model described in
section 4.3.1. These schedules can indeed entail different makespans. Only one of the obtained
schedules is retained for the considered chromosome, as it will be specified in section 4.3.2.
4.2. Generating initial population

The initial population can be generated randomly or heuristically. Random generation gives the
initial population great diversity. Heuristics generate individuals with better quality but may lead
to a local optimal solution due to the limited diversity among the initial population. For the
considered QCSP, the random method is used to generate the initial population of chromosomes.
The algorithm to generate the initial population is described as follows.

Let us denote by Qj the set of QCs that can serve bay j


Qj ={i I / j Ji}
Qj is a set of successive QC indexes. Let us denote by iminj and imaxj, the lowest and the highest
QC index in Qj, respectively.

For all j in J do
Begin

If  Qj 1 then
begin
for all i in Qj/{imaxj} do
begin
randomly generate a discrete number between 0 and
 sij
j -sij
end
end
 j
End

4.3. Fitness evaluation

The fitness value assigned to a chromosome measures its performance. After the generation of a
population, the fitness value of each chromosome must be calculated. The better the
chromosome is, the higher its fitness value should be. Hence, chromosomes (individuals) with
higher fitness values have more chances to survive.

The chromosome used here specifies only the QC-to-bay assignment. Before evaluating its
fitness, one schedule must be associated with the chromosome. For that, it is required to find out
the best unidirectional schedules that can be derived from the chromosome. The left-to-right and
the right-to-left unidirectional schedules that minimize the makespan, while respecting the travel
time and the non-interference constraints, are determined using the disjunctive graph model
described below. One of these schedules is selected and retained for the chromosome.

4.3.1 Disjunctive graph representation


The basic idea of using the disjunctive graph model is captured from the work of (Samara et al.,
2007) and (Bierwirth and Meisel, 2009). In (Samara et al., 2007), the authors base the
sequencing and the scheduling of QC tasks on a problem representation using disjunctive graphs.
In (Bierwirth and Meisel, 2009), the authors propose a disjunctive graph model to generate
unidirectional schedules from task-to-QC assignments that respect QC interference restrictions.
Hence, our disjunctive graph model is rather adapted from the one proposed in (Bierwirth and
Meisel, 2009). Moreover, it is important here to note that the setting of our QCSP is different of
the one tackled in (Bierwirth and Meisel, 2009). In the considered preemptive QCSP, the number
of work units that a QC performs on a bay is deemed as a decision. Nevertheless, in the QCSP
addressed in (Bierwirth and Meisel, 2009), the group of containers (i.e. the set of work units or
containers) that can be processed by a QC on a bay is predefined and is not part of the decision.

Regardless of the direction of QC operations, a disjunctive graph model is used to build a


unidirectional schedule for the QC-to-bay assignment that minimizes the makespan, incorporates
travel time and respects the non-interference constraints. First, we describe how a left-to-right
unidirectional schedule can be obtained from a given chromosome. Then, we specify how to
obtain a right-to-left unidirectional schedule.

In the disjunctive graph, all couples (i,j), i I and j Ji such that QC i processes work on bay j
(i.e., the gene value corresponding to (i,j) in the considered chromosome is not null) are
represented as nodes. A source node B and a sink node E are added to design the start and the
end of the schedule. The sequence of bays that are processed by each QC i, according to a left-to-
right QC operation, is represented by a set of conjunctive arcs Ai which defines a path from node
B to node E. Moreover, a pair of disjunctive arcs is used to link each pair of nodes (i,j) and (i’,j’)
that can cause interference between QC i and QC i’. In other words, for each j Ji, for each j’ Ji’
such that , a pair of disjunctive arcs is used to link the pair of nodes (i,j) and (i’,j’).

In each chromosome, the gene value corresponding to (i,j) indicates the number of work units of
bay j processed by QC i. Let us denote by hij, the time needed to process these work units.

The weights of conjunctive arcs are determined as follows:


 The weight of the arc joining the source node B to node (i, bi), i I , is equal to
 The weight of the arc joining node (i, ci), i I, to the sink node E is equal to
 For all other conjunctive arcs in Ai , i I, the weight of the arc joining the nodes (i,j) to (i,j’)
is equal to hij+tjj’

The weight of the disjunctive arc linking nodes (i,j) and (i’,j’) is equal to hij+ and, the weight
of the disjunctive arc linking nodes (i’,j’) to (i,j) is equal to hi’j’+ . Note that these weights
permit to enforce the required temporal distance for a safe QC movement.

The obtained disjunctive graph is hereafter denoted by G=( , A, D, W) where  is the set of
nodes, A is the set of conjunctive arcs, D is the set of disjunctive arcs and W represents arc
weights, as described above.
From the disjunctive graph G, we construct the acyclic graph GL by selecting exactly one arc of
each pair of disjunctive arcs. In order to obtain the left-to-right unidirectional schedule, GL
retains the disjunctive arcs that are directed from nodes of the upper QC towards nodes of the
lower QC. The makespan of the obtained left-to-right unidirectional schedule is determined by
the length of the longest path of GL.

A right-to-left unidirectional schedule can be obtained by considering the disjunctive graph


G’=(, A’, D, W’) where A’ is the set of conjunctive arcs according to a right-to-left operating
mode, and W’ represents arc weights, corresponding to the set of conjunctive arcs A’. Then, from
the disjunctive graph G’, we construct the acyclic graph GR by selecting the disjunctive arcs that
are directed from nodes of the lower QC towards nodes of the upper QC. The makespan of the
obtained right-to-left unidirectional schedule is determined by the length of the longest path of
GR.

To determine the longest path of graphs GL and GR, we can use the Critical Path Method (CPM).
Figures 8 and 9 respectively present the acyclic graphs GL and GR corresponding to the GA
chromosome reported in figure 7.

The makespan of the left-to-right unidirectional schedule is 30 and is given by the longest path of
GL, (B, (3,5), (2,4), (2,7), (2,8), E). The makespan of the right-to-left unidirectional schedule is
28 and is given by the longest path of GR, (B, (2,8), (2,7), (2,4), (3,5), E).

Figure 8. Graph GL obtained for the chromosome of figure 7

Figure 9. Graph GR obtained for the chromosome of figure 7

4.3.2 Fitness evaluation


We can derive different schedules from graphs GL and GR since the non-critical nodes have a
float time different than 0 and can start at any time between their earliest and latest start times.
Hereafter, we consider for a chromosome k the two unidirectional schedules where QCs perform
their operations on bays at their earliest start time (i.e. QCs do not stay idle while they can start
processing a bay). Let us denote these schedules by SL and SR, respectively. If SL and SR violate
vessel stability constraints, the chromosome k is discarded by setting its fitness value to 0. If
vessel stability constraints are respected by SL and SR, then the schedule Sk retained for
chromosome k is the one that minimizes the makespan. Otherwise, Sk is the feasible schedule
among SL and SR. The fitness of a chromosome k can be set as follows:

4.4 Population replacement

A new population is composed of old and new chromosomes. The old chromosomes are
individuals of the previous population. The new chromosomes are the offspring produced by
recombining some old chromosomes (parents). After offspring production, a population
replacement strategy is needed to keep the population size constant. The most used strategies
consist of removing the least fit chromosomes or the oldest individuals. The present paper
employs the first strategy by maintaining in the population the chromosomes with the highest
fitness value.

4.5 Stoppage rules

We use a stoppage rule that it is commonly used by the GA: the maximum number of elapsed
generations (Tavakkoli-Moghaddam et al., 2009). The process of creating a new population will
be iterated until the maximum number of elapsed generations is reached.

4.6 Parent selection

The roulette wheel is adopted to probabilistically choose the chromosomes that will serve as
parents to produce offspring(s). The probability for a chromosome to be selected is given to each
chromosome in the population according to its proportion of fitness. More specifically, a
chromosome k in the population will have a high probability of being selected if it has a higher
fitness, meaning that the corresponding schedule Sk achieves a lower makespan.

4.7 Genetic operators

After two parent chromosomes are selected, they are mated to breed an offspring. The latter
inherits characteristics from the parent chromosomes through crossover and mutation. In this
paper, these genetic operators are designed to ensure that each bay’s workload is completely
distributed among QCs. In other words, in any produced chromosome, the sum of the value of
genes (i, j) in column j must be equal to the workload of bay j.

4.7.1 Crossover
An arithmetic crossover (AC) is used to produce new chromosomes in which the workload of
each bay is fully shared between QCs. The AC produces new offspring as the linear combination
of parents 1 and 2 as follows (Tavakkoli -Moghaddam et al., 2009):
Offspring = x Parent 1 + (1- ) x Parent 2, where is a randomly generated number within the
interval (0.5, 1) and Parent 1 refers to the parent with better fitness. This allows the offspring to
inherit more characteristics from the parent with better fitness. Since values in genes (i,j) are
integer values (number of work units of bay j processed by QC i), first, the integer part of the
obtained gene value is retained. The total workload assigned to each QC is determined. For each
bay j, if the assigned workload to QCs in Qj is less than , then (1) the QC i in Qj with the
lowest total workload is selected; (2) the value in gene (i,j) is set to:
and; (3) the total workload assigned to QC i is updated. If
several QCs in Qj are associated with the lowest total workload, then the one with the highest
index is selected.

The produced offspring from two parent chromosomes of the example presented in section 2
using AC with = 0.8 is shown in figure 10.

Parent 1 Parent 2
Bay Bay
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
index index
QC1 8 4 0 5 2 0 19 QC1 8 4 0 0 1 0 13
QC2 0 10 0 0 6 3 19 QC2 0 15 0 0 3 4 22
QC3 1 0 4 2 0 12 19 QC3 2 0 7 1 0 12 22
Total workload to be handled Total workload to be handled
8 4 0 15 3 0 10 5 0 12 57 8 4 0 15 3 0 10 5 0 12 57
Offspring
Bay index 1 2 3 4 5 6 7 8 9 10
QC1 8 4 0 4 2 0 18
QC2 0 11 0 0 5 3 19
QC3 1 0 5 2 0 12 20
Total workload to be handled
8 4 0 15 3 0 10 5 0 12 57
Figure 10. Illustration of the arithmetic crossover

4.7.2 Mutation

Crossover is used to combine parent genes in order to obtain a new chromosome. Mutation is
then used to create a new chromosome by causing small perturbations in genes. The objective of
mutation is to maintain diversity of the population and to better explore the solution space. This
can be achieved by varying the number of consecutive bays served by each QC. The mutation for
each chosen chromosome is:
Step 1. Randomly choose a QC i and determine the set of bays served by i in the chosen
chromosome. Select jmaxi and jmini, the highest and lowest index of bays served by QC i,
respectively.
Step 2. Randomly select one of the bays amongst jmaxi and jmini.
Step 3. If the selected bay is jmini then go Step 4; else go to Step 5.
Step 4. (1) transfer the work units assigned to QC i at this bay to QC i-1; (2) select jmaxi-1, the
bay with the highest index served by QC i-1 and; (3) transfer the work units assigned to QC i-1
at this bay to QC i.
Step 5. (1) transfer the work units assigned to QC i at this bay to QC i+1; (2) select jmini+1, the
bay with the lowest index served by QC i+1 and; (3) transfer the work units assigned to QC i+1
at this bay to QC i.

It is worth to note that if in Step 1, QC 1 is selected, then only jmax1 can be considered in Step2.
Similarly, if in Step 1, QC |I| is selected, then only jmin|I| can be considered in Step2.

Figure 11 shows two examples of chromosomes that can be obtained by the proposed mutation
for a chosen chromosome.

Original chromosome
Bay index 1 2 3 4 5 6 7 8 9 10
QC1 8 4 0 4 2 0 18
QC2 0 11 0 0 5 3 19
QC3 1 0 5 2 0 12 20
Total workload to be handled
8 4 0 15 3 0 10 5 0 12 57
Example 1 Example 2
Bay Bay
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
index index
QC1 8 4 0 11 2 0 25 QC1
8 4 0 15 2 0 29
QC2 0 4 1 0 5 0 10 QC20 0 0 0 5 3 8
QC3 0 0 5 5 0 12 22 QC3 1 0 5 2 0 12 20
Total workload to be handled Total workload to be handled
8 4 0 15 3 0 10 5 0 12 57 8 4 0 15 3 0 10 5 0 12 57
Figure 11. Two examples of mutation operation

4.8 Optimality gap of the GA solution

An optimality gap of the GA solution will be determined based on a combined lower bound,
LB=max{LB1, LB2}, where LB1 and LB2 represent two lower bounds of the considered QCSP
(without including any restriction on the search space). This is particularly needed to assess the
quality of the GA solution for problem instances that cannot be optimally solved within
reasonable computational time, and for which linear programming relaxation cannot provide a
good lower bound.

The lower bound LB1, is determined by the dynamic programming algorithm (LBA) presented
below. LBA is adapted from the dynamic programming algorithm ALB, proposed in (Guan et
al., 2013), by incorporating the range of bays that can be served by each QC. The foundation of
ALB stems from the observation that when preemption is allowed and safety margin and vessel
stability constraints are not considered, in an optimal solution, each QC will serve consecutive
bays (Guan et al., 2013). Under this scenario, ALB provides a lower bound for the preemptive
QCSP and therefore a lower bound for the preemptive QCSP that considers safety margin and
vessel stability constraints.

By considering in LBA the range of bays that can be served by each QC, the lower bound
provided by ALB can be improved as some of the schedules that do not respect the safety margin
will be excluded from the search space. Nevertheless, this will not guarantee finding a solution
that satisfies all safety margin constraints.

The details of LBA can be described as follows:

Index the work units in ascending order from left to right as the indices for QCs and bays. Thus
we have ek  ek’ if k  k’, where ek represents the bay index of work unit k, k=1..K, with
.
Let represent a lower bound of the makespan for the first k work units served by the first
i QCs.

The initial dynamic programming value function can be obtained as follows:

 for k=1..K such that ekc1


, otherwise
 for i=1.. I such that bi  e1  ci
, otherwise

The dynamic programming value function can be calculated recursively as follows:



 
for k=2..K and i=2.. I such that bi  ek  ci
, otherwise

Value function represents the time required for QC 1 to operate k work units located
between bays b1 and c1. As work units located in bays beyond c1 cannot be processed by QC 1,
this time is attributed a big value ( . represents the time required to process the first
work unit by QC i and the first (i-1) QCs are idle. If QC i cannot process bay e1, this time is
attributed a big value ( . represents the minimum time required by the first i QCs to
process the k first work units. First, for each p=1..k, such that work unit p+1 is located in a bay
within the operating range of QC i, we select the maximum of two parts: (1) the minimum time
required for the first (i-1) QCs to serve the first p work units, (2) the minimum time required for
QC i to travel and serve the rest of work units (from work unit p+1 to work unit k). The
minimum time required by the first i QCs to process the k first work units is set to the minimum
value among all the choices p=1..k such that bi  ep+1  ci.   represents the lower bound
LB1 of our QCSP.
The idea of lower bound LB2 comes from (Lu et al., 2012). Given that in a feasible schedule at
any time there can be at most one QC processing any +1 consecutive bays, then
LB2=  is another bound of the makespan. Conversely to LB1, it can be
observed that LB2 does not depend on the number of QCs.

5. Computational experiments

The numerical experiments in this section are aimed towards evaluating the performance of the
proposed MIP formulation and the effectiveness of the developed GA by solving problem
instances of different sizes. The MIP models are solved by the commercial software GAMS. The
GA and the LBA are coded in C++. All experiments are carried out on a PC Intel ® Core™ i5-
4300U@1.9 GHz with the memory of 8.0 GB.

In all instances, QCs are assumed to be equally located on the vessel. The traveling time of a QC
between adjacent bays is set to one time unit and the safety margin is set to one bay. For each
QC, the service rate is set to one work unit per time unit. The permitted shift of the vessel’s CG
is assumed to be of one bay length. The average weight of a work unit is set to 1 and the weight
of the vessel before starting operations is assumed to be around 4 times the total number of work
units on the vessel.

Small-sized problem instances are solved by GAMS. More specifically, the commercial software
is used to find the optimal objective value of the unidirectional schedule (OVU) and wherever
possible, the optimal objective value of the bidirectional one. For GAMS, the maximum
computational time (CPU) is set to four hours. The same instances are also solved by the
proposed GA. Based on the preliminary tests, the population size, the probability of crossover,
the probability of mutation, and the maximum number of generations are set to 50, 0.8, 0.2, and
50, respectively. Each problem instance is solved 10 times and the best objective value
(GA_OVU) and the average computational time (GA_CPU) are reported. For each unidirectional
schedule, the QC operating direction (OPR_DIR) is flagged. If the optimal objective solution of
an instance is not provided by GAMS within the computational time limit, the corresponding
best lower bound is determined. This best lower bound is the largest value amongst LB and the
lower bound provided by GAMS. The optimality gap of the unidirectional schedule obtained by
GAMS is determined based on the optimal objective value or the corresponding best lower
bound (OV_LB).

Thirty small-sized instances are considered. The number of QCs ranges from 2 to 5 and the
number of bays ranges from 8 to 12. For each number of QCs and bays, five problem instances,
with different workload at each bay, are generated. The workload of each bay in number of work
units is randomly generated from a uniform distribution of U(0,20).

Table 3 reports the computational results for small-sized instances obtained from GAMS. An
optimal unidirectional schedule is obtained for all the considered small-sized instances. As it can
be observed from table 3, for 90% of the considered small-sized instances, GAMS returned the
optimal unidirectional schedule in less than 30 minutes. Nonetheless, an optimal schedule has
been found only for 19 instances and with an excessive computational burden. Furthermore, the
obtained results confirm the reduced complexity of the considered problem when a larger
number of QCs serve a vessel. Similarly, they indicate a reduced complexity of the considered
problem when the same number of QCs is allocated to a smaller vessel (with smaller number of
bays).

An optimal unidirectional schedule bears an optimal solution of the problem on 21 out of the 30
small-sized instances. Only for instances 13 and 30 the optimal unidirectional schedule is not an
optimal schedule for the considered QCSP. For the other instances (4, 5, 20, 21, 22, 24 and 25),
the optimality of the obtained unidirectional schedule cannot be confirmed and its optimality gap
with regard to the optimal one is based on the best lower bound. Overall, the average gap
between the optimal unidirectional schedule and the optimal one, is 0.85%. Therefore, the search
for a unidirectional schedule seems to be a good strategy to find an optimal or a near-optimal
solution to the considered QCSP. Moreover, it is worth mentioning that for 18 out of 30
instances, the proposed lower bound LB either equals the optimal objective value, or outperforms
the lower bound provided by GAMS. More accurately, it equals the optimal objective value in 13
out of the 30 small-sized instances. Subsequently, based only on LB, the average optimality gap
between the optimal unidirectional schedule and the optimal one, amounts to 2.61%, with a
maximum value of 13.79%.

Table 3. Computational results for small-sized instances


Instance Nb. Nb.
OVU OPR_DIR CPU (s) OV_LB GAP (%)
no. QCs bays
1 36 LTR 17 36 0.00
2 34 LTR 19 34 0.00
3 2 8 37 LTR 11 37 0.00
4 50 LTR 102 50 0.00
5 55 LTR 408 55 0.00
6 26 RTL 3 26 0.00
7 31 LTR & RTL 3 31 0.00
8 3 8 33 LTR 5 33 0.00
9 34 LTR & RTL 4 34 0.00
10 37 LTR 8 37 0.00
11 35 LTR 1166 34 2.94
12 33 RTL 599 32 3.12
13 3 10 33 LTR 142 33 0.00
14 41 LTR & RTL 950 41 0.00
15 46 LTR & RTL 5185 45 2.22
16 31 RTL 31 31 0.00
17 30 LTR & RTL 19 30 0.00
18 4 10 33 LTR 24 33 0.00
19 35 LTR & RTL 57 35 0.00
20 36 LTR & RTL 65 35 2.86
21 32 RTL 1120 31 3.22
22 31 LTR 1385 30 3.33
23 4 12 33 LTR 233 33 0.00
24 36 RTL 2648 35 2.85
25 44 LTR 3253 43 2.32
26 31 LTR 57 31 0.00
5 12
27 30 LTR 62 30 0.00
28 33 LTR 51 33 0.00
29 34 LTR & RTL 66 34 0.00
30 38 LTR & RTL 46 37 2.70
Notes: LTR stands for left-to-right; RTL stands for right-to-left

Table 4 reports the computational results for small-sized instances obtained by the GA and
compares them to the ones obtained by GAMS in terms of objective value. GAP_1 measures the
gap between the optimal unidirectional schedule provided by GAMS and the one obtained by the
GA. GAP assesses the gap between the objective value of the GA solution and the optimal
objective value.

Table 4. Computational results of the GA for small-sized instances


Instance
GA_OVU OPR_DIR GA_CPU (s) GAP _1 (%) GAP (%)
no.
1 36 LTR 3.32 0.00 0.00
2 34 LTR 2.90 0.00 0.00
3 37 LTR 3.15 0.00 0.00
4 50 LTR 5.02 0.00 0.00
5 55 LTR 5.82 0.00 0.00
6 26 RTL 3.38 0.00 0.00
7 31 LTR & RTL 3.27 0.00 0.00
8 33 LTR 3.62 0.00 0.00
9 34 LTR & RTL 4.32 0.00 0.00
10 37 LTR 4.86 0.00 0.00
11 35 LTR 5.27 0.00 2.94
12 33 RTL 4.39 0.00 3.12
13 33 LTR 4.81 0.00 0.00
14 41 LTR 7.00 0.00 0.00
15 46 LTR & RTL 7.52 0.00 2.22
16 31 RTL 5.47 0.00 0.00
17 30 LTR & RTL 5.30 0.00 0.00
18 33 LTR 5.45 0.00 0.00
19 35 LTR & RTL 6.60 0.00 0.00
20 36 LTR & RTL 6.43 0.00 2.86
21 32 RTL 8.17 0.00 3.22
22 31 LTR 7.77 0.00 3.33
23 33 LTR 7.76 0.00 0.00
24 36 RTL 10.59 0.00 2.85
25 44 LTR 11.82 0.00 2.32
26 31 LTR 8.83 0.00 0.00
27 30 LTR & RTL 7.87 0.00 0.00
28 33 LTR 7.76 0.00 0.00
29 34 RTL 9.85 0.00 0.00
30 38 LTR 10.26 0.00 2.70

The entries of table 4 show that the GA returns the optimal unidirectional schedule for all small-
sized instances. Thus, based on the results of table 3, the GA achieves optimal solutions for 21
out of the 30 small-sized instances. For most of the small-sized instances, the computational time
to obtain the GA solution (the average computational time to obtain a GA solution is 6.28
seconds) is markedly lower than the one spent to obtain the GAMS solution (the average
computational time to obtain GAMS solution is 591.30 seconds). This indeed highlights the
major advantage of the proposed GA.

Thirty medium and large size instances are moreover generated and solved by the GA. The
number of QCs ranges from 2 to 6 and, the number of bays ranges from 15 to 25, as indicated in
table 5. For each number of QCs and bays, five problem instances, with a different workload at
each bay, are generated. The workload of each bay in number of work units is randomly
generated from a uniform distribution of U(0,100). In these experiments, the genetic parameters
are maintained similar to those used for small-sized problem instances, except for the number of
generations. The latter is tuned based on problem complexity as revealed by preliminary tests
conducted on instances characterized by the same number of QCs and bays. Hence, for problem
instances 31-35 and 41-45, the number of generations is set to 50; for problem instances 36-40
and 51-55, the number of generations is set to 100 and; for problem instances 46-50 and 56-60,
the number of generations is set to 150 and 200, respectively.

Table 5. Computational results of the GA for medium and large size instances
Instance Nb. Nb.
GA_OVU OPR_DIR GA_CPU (s) LB GAP (%)
no. QCs bays
31 367 LTR 240.93 367 0.00
32 406 LTR 339.79 406 0.00
33 2 15 411 LTR 348.62 410 0.24
34 314 LTR 199.67 314 0.00
35 365 LTR 275.61 365 0.00
36 185 RTL 290.25 184 0.54
37 209 RTL 335.44 203 2.95
38 4 15 207 RTL 438.67 205 0.97
39 158 LTR 224.59 156 1.28
40 186 LTR 277.17 183 1.63
41 333 LTR 395.85 327 1.83
42 367 LTR 503.82 358 2.51
43 3 20 366 LTR 505.73 358 2.23
44 312 LTR 366.25 305 2.29
45 337 LTR 428.87 330 2.12
46 166 RTL 827.90 164 1.21
47 186 LTR 846.94 179 3.91
48 6 20 184 RTL 1256.50 179 2.79
49 176 LTR 674.32 173 1.73
50 171 LTR 751.93 165 3.63
51 476 RTL 1852.94 462 3.03
3 25
52 475 LTR 1997.98 462 2.81
53 463 LTR 1927.99 448 3.34
54 363 RTL 1112.63 351 3.41
55 431 LTR 1684.86 419 2.86
56 339 LTR & RTL 2258.25 231 3.46
57 243 LTR 2735.20 232 4.74
58 6 25 232 LTR & RTL 2832.71 225 3.11
59 203 RTL 1948.35 177 14.68
60 223 RTL 2181.67 210 6.19

It is worth at this level to note that all lower bounds LB are obtained in a very short time (less
than 1 second). Moreover, linear programming (LP) relaxation is used in an attempt to determine
a LP lower bound and compare it to LB. Different experiments on small-sized problem instances
point out that the best lower bound can be obtained by relaxing the integrality of the decision
variables ( ). However, for 40% of the instances, this LP bound cannot be
obtained within the computational time limit (4 hours). This relaxation is moreover performed on
problem instance 39. Once again, the LP bound is not provided by GAMS within the
computational time limit and the best lower bound returned by the solver is 83. This result
highlights the significance of LB to evaluate the quality of the GA solution.

Figure 12. GA performance

For the considered medium and large sized problem instances, GAMS is not able to reach a
solution within the time limit. However, the GA delivers solutions for these problem instances
within reasonable computational time (the average computational time is less than 30 minutes for
22 out of the 30 problem instances). As it can be observed in figure 12, on average, both the
computational time and the optimality gap increase when the number of bays increases and/or
the number of QCs increases. More computational effort is indeed needed for instances of larger
sizes to better explore the unidirectional search space. For the most intractable instances (56-60),
the computational time of the GA does not exceed 50 minutes and the quality of the obtained
solutions is acceptable. These results can only favor the recommendation of the proposed GA for
use, particularly, in medium and large size problems.

6. Conclusion

In this paper, we propose a novel MIP model for the QCSP that takes into account several
practical features of the problem such as preemption, non-crossing, safety margin, QC traveling
time, QC initial position and vessel stability. Moreover, the model can be slightly modified to
search for optimal unidirectional and/or non-preemptive schedules. The MIP formulation
provides an optimal unidirectional schedule for all considered small-sized problems, in relatively
reasonable time. However, it does not return the optimal solution for all these instances.
Moreover, the experimentation of the MIP formulation on small-sized problems and the use of
the proposed lower bound (LB), highlight the interest for adopting a search strategy focused on
unidirectional schedules.

A Genetic Algorithm (GA) is also designed to solve the problem. The GA embraces the
unidirectional search strategy. It provides optimal unidirectional schedules for all small-sized
instances within significantly lower time than the one required by GAMS. Furthermore, for
medium and large size instances, where GAMS fails to solve the problem, the GA returns a near-
optimal solution within a reasonable computational time. This promotes the use of the proposed
GA as a solution approach for the considered QCSP, especially for medium and large sized
instances.

For future work, additional circumstances should be considered, such as variation in QC service
rate and in container weight. Also, the MIP model can be extended to account for loading and
unloading operations and incorporate ready time per QC. Another prospect of this work would
consist in developing other solution methods for the sake of generating better QC schedules.

References
Al-Dhaheri, N., & Diabat, A. (2015). The quay crane scheduling problem. Journal of Manufacturing Systems, 36,
87-94.
Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane scheduling problems in container
terminals. European Journal of Operational Research, 202, 615-627.
Bierwirth, C., & Meisel, F. (2015). A follow-up survey of berth allocation and quay crane scheduling problems in
container terminals. European Journal of Operational Research, 244(3), 675-689.
Bierwirth, C., & Meisel, F. (2009). A fast heuristic for quay crane scheduling with interference constraints. Journal
of Scheduling, 12, 345-360.
Carlo, H. J., Vis, I. F. A., & Roodbergen, K. J. (2013). Seaside operations in container terminals: literature
overview, trends, and research directions. Flexible Services and Manufacturing Journal, 27(2-3), 224-262.
Diabat, A., & Theodorou, E. (2014). An integrated quay crane assignment and scheduling problem. Computers &
Industrial Engineering, 73, 115-123.
Fu, Y-M., & Diabat, A. (2014). A Lagrangian relaxation approach for solving the integrated quay crane assignment
and scheduling problem. Applied Mathematical Modelling, 39(3), 1194-1201.
Fu Y-M., Diabat, A., & Tsai, I-T. (2014). A multi-vessel quay crane assignment and scheduling problem:
Formulation and heuristic solution approach. Expert Systems with Applications, 41, 6959-6965.
Guo, P., Cheng, W., & Wang, Y. (2014). A modified generalized extremal optimization algorithm for the quay crane
scheduling problem with interference constraints. Engineering Optimization, 46(10), 1411-1429.
Chung, S. H., & Choy, K. L. (2012). A modified genetic algorithm for quay crane scheduling operations. Expert
Systems with Applications, 39, 4213-4221.
Daganzo, C. F. (1989). The crane scheduling problem. Transportation Research Part B, 23 (3), 159-175.
Goldberg, D. E., Genetic algorithms in search optimization and machine learning, 1989, Addison-Wesley Longman
Publishing Co., Inc. Boston, MA, USA.
Guan, Y., Yang, K-H., & Zhou, Z. (2013). The crane scheduling problem: models and solution approaches. Annals
of Operations Research, 203, 119-139.
Kaveshgar, N., Huynh, N., & Rahimian, S. K. (2012). An efficient genetic algorithm for solving the quay crane
scheduling problem. Expert Systems with Applications, 39, 13108-13117.
Kim, K. H., & Park, Y. M. (2004). A crane scheduling method for port container terminals. European Journal of
Operational Research, 156, 752-768.
Lee, D. H., Wang, H. Q., & Miao, L. (2008). Quay crane scheduling with non-interference constraints in port
container terminals. Transportation Research Part E, 44, 124–135.
Legato, P., Trunfio, R., & Meisel, F. (2012). Modeling and solving rich quay crane scheduling problems. Computers
& Operations Research, 39, 2063-2078.
Lim, A., Rodrigues, B., Xiao, F., & Zhu, Y. (2004). Crane scheduling with spatial constraints. Naval Research
Logistics, 51, 386-406.
Lim, A., Rodrigues, B., & Xu, Z. (2007). A m-parallel crane scheduling problem with a non-crossing constraint.
Naval Research Logistics, 54, 115-127.
Liu, J., Wan, Y-w., & Wang, L. (2006). Quay crane scheduling at container terminals to minimize the maximum
relative tardiness of vessel departures. Naval Research Logistics, 53, 60-74.
Lu, Z., Han, X., Xi, L., & Erera, A. L. (2012). A heuristic for the quay crane scheduling problem based on
contiguous bay crane operations. Computers & Operations Research, 39, 2915-2928.
Meisel, F., & Bierwirth, C. (2011). A unified approach for the evaluation of quay crane scheduling models and
algorithms. Computers & Operations Research, 38, 683-693.
Meisel, F. (2011). The quay crane scheduling with time windows. Naval Research Logistics, 58, 619-636.
Moccia, L., Cordeau., J-F.,Gaudioso, M., & Laporte, G. (2006). A branch-and-cut algorithm for the quay crane
scheduling problem in a container terminal. Naval Research Logistics, 53, 45-59.
Monaco, M. F., & Sammara, M. (2011). Quay crane scheduling with time windows, one-way and spatial constraints.
International Journal of Shipping and Transport Logistics, 3 (4), 454-474.
Peterkosfsky, R. I., & Daganzo, C. F. (1990). A branch and bound solution method for the crane scheduling
problem. Transportation Research Part B, 24 (3), 159-172.
Sammara, M., Cordeau., J-F., Laporte, G., & Moccia, L. (2007). A tabu search for the quay crane scheduling
problem. Journal of Scheduling, 10, 327-336.
Tavakkoli-Moghaddam, R., Makui, A., Salahi, S., Bazzazi, M., & Taheri, F. (2009). An efficient algorithm for
solving a new mathematical model for a quay crane scheduling problem in container ports. Computers & Industrial
Engineering, 56, 241-248.
Theodorou, E., & Diabat, A. (2015). A joint quay crane assignment and scheduling problem: formulation, solution
algorithm and computational results. Optimization Letters, 9(4), 799-817.
UNCTAD, Review of maritime transport 2011. United Nations, New York and Geneva, 2011.
Wang, J., Hu, H., & Song, Y. (2013). Optimization of quay crane scheduling constrained by stability of vessels.
Transportation Research Record: Journal of the Transportation Research Board, 2330, 47-54.
Wolsey, L.A., Integer Programming, 1998, John Wiley and Sons, New York.
Zhu, Y., & Lim, A. (2006). Crane scheduling with non-crossing constraint. Journal of the Operational Research
Society, 57 (12), 1464-1471.
The Quay Crane Scheduling Problem with Vessel Stability Consideration:
Formulation and Heuristic Solution Approach

Research Highlights:
1. Present a novel formulation to the QCSP.
2. We consider vessel’s stability that nobody before has considered.
3. We develop an efficient GA to solve the problem.
4. GA compared with lower bounds derived using dynamic programming.

You might also like