Accepted Manuscript
Approximate the scheduling of quay cranes with non-crossing constraints An Zhang, Wenshuai Zhang, Yong Chen, Guangting Chen, Xufeng Chen PII: DOI: Reference:
S0377-2217(16)30854-2 10.1016/j.ejor.2016.10.021 EOR 14044
To appear in:
European Journal of Operational Research
Received date: Revised date: Accepted date:
31 May 2016 2 October 2016 13 October 2016
Please cite this article as: An Zhang, Wenshuai Zhang, Yong Chen, Guangting Chen, Xufeng Chen, Approximate the scheduling of quay cranes with non-crossing constraints, European Journal of Operational Research (2016), doi: 10.1016/j.ejor.2016.10.021
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.
ACCEPTED MANUSCRIPT
1
Highlights • We study the scheduling of quay cranes with non-crossing constraints.
CR IP T
• New lower bounds on the optimal solutions are provided. • A new algorithm is designed and analyzed for m quay cranes.
• Discussions on several previous algorithms and the computational experiments are made.
AC
CE
PT
ED
M
AN US
• An approximation algorithm for two quay cranes with different speeds are presented.
ACCEPTED MANUSCRIPT
constraints An Zhang∗
Wenshuai Zhang
†
Yong Chen
‡
CR IP T
Approximate the scheduling of quay cranes with non-crossing
Guangting Chen§
Abstract
Xufeng Chen¶
M
AN US
In port container terminals, the scheduling of quay cranes (QCs) for a container vessel is one of the most critical operations. This paper investigates the problem of scheduling quay cranes with non-crossing constraints, wherein QCs cannot cross over each other because they are on the same track. The objective is to minimise the makespan of a container vessel, which is the latest completion time among all handling tasks of the vessel. Compared with several 2-approximation algorithms in the literature, this paper presents an approximation algorithm with a worst case 2 ratio 2 − m+1 < 2 for any m QCs. This ratio is demonstrated to be the best possible among all partition-based algorithms in the literature. Besides, we study the scheduling of two quay cranes with different processing speeds. For an arbitrary speed ratio s ≥ 1, an approximation (1+s)2 algorithm with worst case ratio 1+s+s 2 is provided.
ED
keywords: Scheduling, Non-crossing, Quay cranes, Approximation algorithms, Worst case analysis
Introduction
CE
1
PT
Mathematics Subject Classification(2000): 90B35, 90C27
In recent years, the topic of operations management for container terminals has attracted con-
AC
siderable interest in the field of operations research and optimisation [1, 2, 3, 4, 5]. Typically, seaside operations planning for container terminals involves berth allocation, storage space allocation, quay crane assignment, quay crane scheduling, yard crane scheduling, and so on [6, 7, 8].
∗ Corresponding author. Department of Mathematics, Hangzhou Dianzi University, Hangzhou 310018, P. R. China.
[email protected]. Supported by the Zhejiang Provincial Natural Science Foundation of China (LY16A010015) and the National Natural Science Foundation of China (11201105). † Department of Mathematics, Hangzhou Dianzi University, Hangzhou 310018, P. R. China. ‡ Department of Mathematics, Hangzhou Dianzi University, Hangzhou 310018, P. R. China. Supported by the National Natural Science Foundation of China (11401149). § Taizhou University, Linhai 317000, Zhejiang, China. Supported by the National Natural Science Foundation of China (11571252).
[email protected] ¶ Department of Mathematics, Hangzhou Dianzi University, Hangzhou 310018, P. R. China.
2
ACCEPTED MANUSCRIPT
3 All these container terminal operations impact each other. In particular, the scheduling of quay cranes significantly influences the turn-around time of a container vessel. The main objective of this process is to determine the sequence of loading or unloading operations so that the makespan of a container vessel, that is, the latest completion time among all handling tasks of the vessel, is
CR IP T
minimised. In the quay crane scheduling problem (QCSP), it is commonly assumed that a container vessel can be divided into holds and only one quay crane can work on a hold till completion. Comparing the overall processing time for loading or unloading operations in a hold by a quay crane, the travel time of a quay crane between two holds is small and hence can be ignored. The non-crossing constraints in the QCSP were first incorporated by Kim and Park [9], where
AN US
quay cranes (QCs) cannot cross over each other because they are on the same track. In [9], Kim and Park studied the location of quay cranes and their release dates. An MIP formulation was provided, subject to both non-crossing and precedence constraints. To solve the problem, they proposed a branch and bound method and a heuristic algorithm. Note the objective discussed in [9] was to minimise the weighted sum of the makespan of the container vessel and the total completion time of all quay cranes. As noticed by Moccia et al. [10], the model of Kim and Park [9] may yield
M
solutions where interference between QCs is not detected. A revised formulation of the QCSP was presented by the authors. They developed a Branch-and-Cut algorithm applying inequality
ED
constraints adopted from solution methods for the Precedence Constrained Traveling Salesman Problem. Lee et al. [11] provided a more concise MIP model for the makespan minimisation problem with non-crossing constraints. A genetic algorithm was obtained by Lee et al. [12] as
PT
well . For the same problem, Zhu and Lim [13] also formulated an MIP model and solved it by a branch and bound algorithm and a simulated annealing heuristic. Lee and Chen [14] examined the
CE
common deficiencies in modelling the QCSP with non-crossing constraints in previous studies and proposed additional constraints in order to fix the problems. Besides, they presented two heuristics
AC
to solve the problem and compared their performances through numerical experiments. Lim et al. [15] extended the quay crane scheduling problem for multiple container vessels with non-crossing constraints. To produce a crane-to-job matching that maximises the total profit, they presented dynamic programming algorithms, a probabilistic tabu search, and a squeaky wheel optimisation heuristic. Shang et al [16] investigated the integrated berth allocation and QC assignment problem in container terminals. A deterministic model is formulated by considering the setup time of quay cranes. To handle the uncertainties, a robust optimisation model is established. It must be noted that even minimising the makespan of one single container vessel with non-
ACCEPTED MANUSCRIPT
4 crossing constraints is an NP-hard problem, see e.g., [13, 17, 12, 11, 18]. For an arbitrary number of QCs, several 2-approximation algorithms have been proposed in the literature [18, 17, 11]. In [18], Lim et al. presented a dynamic programming algorithm to solve the QCSP, and based on this DP algorithm, they derived a fully polynomial time approximation scheme (FPTAS) for any
CR IP T
constant number of QCs. Liu et al. [19] studied the scheduling of a small number of quay cranes with non-crossing constraints. For two and three quay cranes, they proved that the heuristic proposed by Lee et al. [11] is
4 3
and 35 -approximation, respectively. Turkogullari et al. [20] studied
the berth allocation, time-variant QC assignment, and scheduling problem with QC setup time, considering the costs of deviation from the desired berthing position in the objective function.
AN US
To solve the model, the cutting plane procedure was proposed. An important issue of container terminal optimisation related to the QCSP is the quay crane double-cycling problem (QCDCP), which was initiated by Goodchild and Daganzo [21, 22]. Recently, Lee et al. [23] formulated the general QCDCP with hatch covers as a flow shop scheduling problem with series-parallel precedence constraints, which indicates that the general QCDCP can be solved in polynomial time. For other studies with respect to the QCSP and other optimisation problems in container terminals, we refer
M
to survey papers [6, 7] and the references therein.
In this paper, we focus on the scheduling of quay cranes to serve a berthed container vessel.
ED
We assume that the container vessel can be divided into holds and that quay cranes can move from hold to hold but tasks are non-preemptive, so that only one quay crane can work on one hold or task to complete it. The non-crossing constraints between quay cranes must be satisfied
PT
owing to the common track on which the quay cranes can move. The objective is to minimise the makespan of the container vessel. Our model is the same with Lim et al. [18] or Lee et al. [11]. As
CE
a new contribution to this problem, we first provide a new lower bound on the optimal solutions 2 caused by the non-crossing constraints. Then, a 2 − m+1 -approximation algorithm is presented for
AC
any m QCs; the algorithm performs better than the previous ones [18, 11, 19, 17] for a constant number of QCs. Besides, we demonstrate that it is one of the best algorithms for partitioning. Finally, we study the case where quay cranes might have different speeds for handling tasks. For two uniform QCs with a speed ratio of s ≥ 1, an approximation algorithm with worst case ratio (1+s)2 1+s+s2
is proposed.
The rest of the paper is organised as follows. Section 2 provides a formal description of the problem and discusses the lower bounds. Section 3 studies the problem with m QCs. Section 4 considers the scheduling of two QCs with different speeds. In Section 5, we make some computational
ACCEPTED MANUSCRIPT
5 experiments. Finally, some concluding remarks are presented in Section 6.
2
Problem description
CR IP T
Throughout the paper, we study the scheduling of quay cranes with non-crossing constraints to minimise the makespan of a container vessel. Suppose that the container vessel is divided longitudinally between head (left) and tail (right) into holds indexed by 1, 2, · · · , n, respectively (See Fig. 1). In each hold, there are containers that must be loaded or unloaded by quay cranes. Only one quay crane can handle one hold till completion. Let the processing time of the j-th hold be pj > 0
AN US
and for convenience, assume that the QCs are located parallel to the container vessel and indexed by 1, 2, · · · , m, respectively (See also Fig. 1), the quay crane scheduling problem is therefore finding a map σ from the set of holds to the set of QCs, and determining for each hold j an exact time sj when it starts. Owing to the non-crossing constraints for QCs, which move on the track, a scheme is feasible if and only if for any two holds j, j 0 with j < j 0 , either their processing windows do not overlap, i.e., [sj , sj + pj ) ∩ [sj 0 , sj 0 + pj 0 ) = ∅ or they are assigned to QCs with σ(j) < σ(j 0 ). With
M
such constraints, a simple observation can follow.
Proposition 2.1 At any moment while the i-th crane is processing the j-th hold, neither a crane
ED
i0 with i0 > i can process a hold j 0 with j 0 ≤ j, nor a crane i00 with i00 < i can process a hold j 00 with
CE
PT
j 00 ≥ j.
AC
Head
Berth
1
1
2
Holds in the vessel
3
…
n-1
Tail
n
…
2
3
…
m
Quay cranes
Figure 1: The quay crane scheduling problem (QCSP) with non-crossing constraints
ACCEPTED MANUSCRIPT
6 For simplicity, let
Pn
j=1 pj
= 1 and pmax = maxj=1,2,··· ,n {pj }. Further, let C A and C ∗ be the
makespan generated by an algorithm A and the optimal makespan, respectively. Then, similar to the parallel machine scheduling problem, we have the following lower bound on the optimal
CR IP T
makespan. 1 Theorem 2.2 C ∗ ≥ max{ m , pmax }.
Besides, due to the non-crossing constraints of QCs, we obtain another lower bound.
Proof. If there is a hold l > 1 with L =
AN US
P 1+pl −L L ∗ , pl + m }; symmetTheorem 2.3 If L = l−1 j=1 pj < pl for some hold l ≥ 1, then C ≥ min{ m Pn R rically, if R = j=r+1 pj < pr for some hold r ≤ n, then C ∗ ≥ min{ 1+pmr −R , pr + m }. Pl−1
j=1 pj
< pl , then consider quay crane σ(l) to which an
optimal algorithm would assign the l-th hold.
Case 1: σ(l) = 1. By Proposition 2.1, no crane can handle the leftmost l − 1 holds during the
time when the first crane is processing the l-th hold. Thus, clearly, C ∗ ≥ pl +
Pl−1
j=1
m
pj
= pl +
L m.
M
Case 2: σ(l) = i > 1. By Proposition 2.1, no cranes on the right side of QC i can process the leftmost l holds during the time interval [sl , sl + pl ) when it is processing the l-th hold. Accordingly,
ED
each of the leftmost i − 1 QCs must be either processing the leftmost l − 1 holds or be idle during P that time. Since the overall processing time of the leftmost l − 1 holds equals L = l−1 j=1 pj < pl , the
total idle time of these cranes during that time interval must be no shorter than (i−l)pl −L ≥ pl −L.
PT
Accordingly, we can obtain C ∗ ≥
L m }.
The symmetric part can be proved in a similar manner. 2
CE
Hence, C ∗ ≥ min{ 1+pml −L , pl +
1+pl −L . m
The following instance shows that our new lower bound indeed works. Instance 1: Let there be three QCs and seven holds, where p1 = p3 = p4 = 61 , p5 = p6 = p7 =
AC
and p2 = 13 . Since p1 < p2 , we obtain C ∗ ≥ min{ 1+p32 −p1 , p2 + by Theorem 2.2, only that
C∗
of the instance equals exactly
≥
max{ 31 , p2 }
7 18 ,
=
1 3
p1 3 }
=
7 18
1 18
by Theorem 2.3. However,
can be obtained. Actually, the optimal makespan
which is attained by letting σ(1) = σ(5) = 1, σ(2) = σ(6) = 2
and σ(3) = σ(4) = σ(7) = 3, and setting s1 = s2 = s3 = 0, s4 = 16 , s5 = s6 = s7 =
1 3
(see Fig. 2).
ACCEPTED MANUSCRIPT
7
2
1
3
2
4
5 6 7
3
CR IP T
1
1
2
3
4
Idle
2
3
ଵ ଵ
t [א, )
4
5 6 7
1
2
ଵ
t [א,
ଷ ଵ଼
ED
ଷ
5 6 7
M
1
AN US
1 t [ א0, ) 6
3
)
Figure 2: Illustration for an optimal solution of Instance 1
A better approximation algorithm for m QCs
PT
3
Recall that there are several 2-approximation algorithms in the literature [18, 17, 11] and an im-
CE
proved analysis of one algorithm [11] for a small number of QCs [19]. In this section, we provide a
AC
better approximation algorithm and prove its performance ratio.
3.1
Description of the algorithm
Denote by k = b m−1 2 c, j0 = 0 and for any 1 ≤ q ≤ k, define jq as the hold satisfying that jq −1
X j=1
jq
X 2q pj < ≤ pj . m+1 j=1
(1)
ACCEPTED MANUSCRIPT
8 It is clear that jq is well-defined and 1 ≤ j1 ≤ j2 ≤ · · · ≤ jk ≤ n. Let set H(q − 1 : q) consist of contiguous holds indexed from jq−1 + 1 to jq − 1, i.e., H(q − 1 : q) = {jq−1 + 1, · · · , jq − 1}. Note that H(q − 1 : q) = ∅ when jq−1 + 1 > jq − 1. If H(q − 1 : q) 6= ∅, then pj =
j∈H(q−1:q)
jq −1
X j=1
jq−1
pj −
X
pj <
j=1
2q 2(q − 1) 2 − = , m+1 m+1 m+1
CR IP T
X
(2)
where the inequality is due to (1). For simplicity, we also denote H(k : n) = {jk + 1, · · · , n}. An
1
2
…
jଵ
H(0: 1) 0
…
jଶ
…
…
H(1: 2) 2 ݉+1
AN US
intuitive illustration for the above definitions or notations is given in Fig. 3.
4 ݉+1
…
…
j୩ିଵ
H(k െ 1: k)
2(݇ െ 1) ݉+1
…
j୩
n
H(k: n) 2݇ ݉+1
1
ED
M
Figure 3: Illustration for the holds jq , H(q − 1 : q) and H(k : n).
PT
To describe briefly, let P (q − 1 : q) be the overall processing time of holds in the set H(q − 1 : q), P P i.e., P (q − 1 : q) = j∈H(q−1:q) pj , q = 1, 2, · · · , k, and also let P (k : n) = j∈H(k:n) pj . 2 m+1 ;
if m is even, then P (k : n) ≤
3 m+1 .
CE
Lemma 3.1 If m is odd, then P (k : n) ≤
Pjk m−1 2k m−1 If m is odd, then k = b m−1 j=1 pj ≥ m+1 = m+1 . Thus, 2 c = 2 . By (1), we have P Pk 2 m−2 m−1 P (k : n) = j∈H(k:n) pj = 1 − jj=1 pj ≤ 1 − m+1 = m+1 . If m is even, then k = b m−1 2 c = 2 . P Pjk jk 2k Moreover, by (1), we have j=1 pj ≥ m+1 = m−2 j=1 pj ≤ m+1 . Similarly, we have P (k : n) = 1 −
AC
Proof.
3 m+1 .
2
Now adequate context has been provided to describe the algorithm. The algorithm partitions
the holds from the leftmost to the rightmost of the vessel into m subsets and processes each subset independently by one of the m quay cranes, on the condition that each subset is not too large. We call algorithms that consider such an idea as Partition-based Algorithms. Note there have been three partition-based algorithms in the literature, i.e., APPX1 and APPX2 in [18] and another in
ACCEPTED MANUSCRIPT
9 [11]. In our algorithm, a partition can be made easily if the last subset is small or if m is odd. Otherwise, we first partition the holds into m + 1 subsets, then choose two adjacent ones from those subsets and merge them together. This algorithm is named as Selected Partition-based Algorithm description. Selected Partition-based Algorithm (SPA)
CR IP T
or shortly denoted by SPA. For convenience, let H(q) = {jq }, q = 1, 2, · · · , k. Below is the detailed
1. For q = 1, 2, · · · , k, determine jq by (1). In addition, partition the holds from left to right into 2k + 1 ≤ m subsets, i.e., H(0 : 1), H(1), H(1 : 2), H(2), · · · , H(k − 1 : k), H(k), H(k : n). 2 m+1 ,
then assign one by one the current leftmost subset integrally to the
leftmost unutilised quay crane. 3. If P (k : n) >
2 m+1
AN US
2. If P (k : n) ≤
(Note this happens only when m is even, i.e., m = 2k + 2), then find the
hold jk+1 such that
jk+1 −1
X
M
j=jk +1
jk+1 X 1 pj < P (k : n) ≤ pj . 2
(3)
j=jk +1
The subset H(k : n) is further partitioned from left to right into three subsets, H(k : k + 1) =
ED
{jk + 1, · · · , jk+1 − 1}, H(k + 1) = {jk+1 } and H(k + 1 : n) = {jk+1 + 1, · · · , n} (see Fig 4.). The total number of subsets attained is 2k + 3 = m + 1. Let P (k : k + 1) and P (k + 1 : n) be the overall processing time of holds in H(k : k + 1) and H(k + 1 : n), respectively.
PT
3.1 If P (k : k + 1) + pjk+1 = 12 P (k : n), then merge H(k : k + 1) and H(k + 1) into one. 3.2 If P (k : k + 1) + pjk+1 > 12 P (k : n), then let P (r − 1 : r) + pjr = minq=1,2,··· ,k+1 {P (q − 1 :
CE
q) + pjq }, where ties are broken arbitrarily.
AC
3.2.1 If P (r − 1 : r) + pjr ≤ pjk+1 + P (k + 1 : n), then merge H(r − 1 : r) and H(r) into one.
3.2.2 If P (r − 1 : r) + pjr > pjk+1 + P (k + 1 : n), then merge H(k + 1) and H(k + 1 : n) into one.
3.3 Each time choose the unassigned leftmost subset and assign it integrally to the leftmost unutilised quay crane.
ACCEPTED MANUSCRIPT
10 H(k: n)
j୩ାଵ …
…
H(k: k + 1)
n
H(k + 1: n)
P(k: n) 2
CR IP T
j୩
Figure 4: Partition the subset H(k : n).
Analysis of the algorithm
AN US
3.2
Since any partition-based algorithm (e.g., SPA) assigns a subset of holds integrally to an unutilised quay crane, the makespan must be determined by one of the subsets. More precisely, it is attained by the subset with the maximum total processing time. The following observation further proves 2 that a partition-based algorithm can be bounded within 2 − m+1 if there are not too many subsets
M
and the total processing time of each subset is not too large.
ED
Lemma 3.2 If a partition-based algorithm A can partition holds into at most m subsets and the 2 overall processing time of each subset is no more than max{ m+1 , pmax }, then C A ≤ (2 − 2 , pmax }. If it is the case, then C A ≤ max{ m+1
PT
Proof.
CE
1 max{ m , pmax } from Theorem 2.2, we get C A ≤ (2 −
Lemma 3.3 If either P (k : n) ≤
2 m+1
AC
2 then C SP A ≤ max{ m+1 , pmax } ≤ (2 −
Proof. By (2), P (q − 1 : q) ≤
If P (k : n) >
C SP A =
2 m+1
2 m+1 .
2 ∗ m+1 )C .
or P (k : n) >
2 m+1
Combining it with the fact C ∗ ≥ 2
and P (k : k + 1) + pjk+1 = 12 P (k : n),
2 ∗ m+1 )C .
If P (k : n) ≤
2 m+1 ,
then
max {P (q − 1 : q), pjq , P (k : n)} ≤ max{
q=1,2,··· ,k
2 ∗ m+1 )C .
2 , pmax }. m+1
and P (k : k + 1) + pjk+1 = P (k + 1 : n), then by Lemma 3.1, it happens only
when m is even, i.e., m = 2k + 2. Besides, we have P (k : k + 1) + pjk+1 =
P (k:n) 2
≤
3 2(m+1)
<
2 m+1
by Lemma 3.1. In accordance with the algorithm’s rule, the two subsets H(k : k + 1) and H(k + 1)
ACCEPTED MANUSCRIPT
11 have to be merged into one. Thus, we have C SP A =
max {P (q − 1 : q), pjq , P (k : k + 1) + pjk+1 , P (k + 1 : n)} ≤ max{
q=1,2,··· ,k
2 , pmax }. m+1
CR IP T
2 Since in both cases, C SP A ≤ max{ m+1 , pmax }, the desired result can follow by Lemma 3.2.
From Lemma 3.1 and Lemma 3.3, the only remaining case is that m = 2k + 2, P (k : n) >
2 2 m+1
and P (k : k + 1) + pjk+1 > 21 P (k : n). In this case, SPA has to choose two adjacent subsets from the 2k + 3 = m + 1 subsets and merge them into one. Since each of the 2k + 3 = m + 1 subsets 2 have an overall processing time of no more than max{ m+1 , pmax } by (2), (3) and Lemma 3.1, the
exceed
2 m+1 .
AN US
desired bound holds from Lemma 3.2 as long as the processing time of the merged subset does not For this reason, let us assume in the following discussion that the processing time of
the merged subset is strictly larger than
2 m+1
and that the makespan of the algorithm is determined
by this merged subset, which we refer to in the remainder case. By Step 3.2.1 and 3.2.2 of the algorithm, the remainder case satisfies that min
q=1,2,··· ,k+1
2 . m+1
(4)
k+1
X 2(1 + pjk+1 ) 1 {pjk+1 + P (k + 1 : n) + . ≤ (P (q − 1 : q) + pjq )} = k+2 m+2
PT
C
ED
Consequently, we have SP A
{P (q − 1 : q) + pjq , pjk+1 + P (k + 1 : n)} >
M
C SP A =
(5)
q=1
AC
and
CE
By (4), it follows that
P (k : k + 1) + pjk+1 >
2 m+1
(6)
pjk+1 + P (k + 1 : n) >
2 . m+1
(7)
From Lemma 3.1 and note that m is even, we get P (k : n) = P (k : k + 1) + pjk+1 + P (k + 1 : n) ≤
3 . m+1
Combining it with (6) and (7), we can deduce P (k + 1 : n) <
1 < pjk+1 , m+1
(8)
ACCEPTED MANUSCRIPT
12 which means that
Pn
j=jk+1 +1 pj
C ∗ ≥ min{
< pjk+1 . By Theorem 2.3, it yields that
1 + pjk+1 − P (k + 1 : n) P (k + 1 : n) , pjk+1 + }. m m
(9)
CR IP T
Based on the above, we close the remainder case. Lemma 3.4 In the remainder case, it is still valid that C SP A ≤ (2 −
2 ∗ m+1 )C .
Proof. We distinguish two subcases according to the right side of (9). 1+pjk+1 −P (k+1:n) , m
C SP A C∗
≤ < =
then by (5),
1 + pjk+1 2m × m + 2 1 + pjk+1 − P (k + 1 : n) 2m (m + 2)P (k + 1 : n) × m + 2 (m + 2)P (k + 1 : n) − P (k + 1 : n) 2m 2 =2− , m+1 m+1
AN US
Case 1. If C ∗ ≥
Case 2. If C ∗ ≥ pjk+1 +
P (k+1:n) , m
C SP A C∗
≤
1 + pjk+1 2m × m + 2 mpjk+1 + P (k + 1 : n) 1 + pjk+1 2m × m + 2 (m − 1)(1 + pjk+1 ) + (pjk+1 + P (k + 1 : n)) − (m − 1) 1 + pjk+1 2m × 2 m + 2 (m − 1)(1 + pjk+1 ) + m+1 − (m − 1) 1 + pjk+1 2m × m + 2 (m − 1)(1 + pjk+1 ) − m2 −3
PT
=
then by (5), and together with (7) and (8), we can conclude
ED
that
M
where the second inequality is due to 1 + pjk+1 > (m + 2)P (k + 1 : n) by (8).
CE
≤
AC
=
≤ =
m+1
1+
2m × m + 2 (m − 1)(1 + 2m 2 =2− . m+1 m+1
1 m+1 1 m+1 )
−
m2 −3 m+1
Hence, we are done.
2
Finally, by Lemma 3.3 and Lemma 3.4, our main result follows. Theorem 3.5 The worst case ratio of SP A is no larger than 2 −
2 m+1 .
ACCEPTED MANUSCRIPT
13
3.3
Discussion on partition-based algorithms
Note that a partition-based algorithm, partitions the holds into m subsets and process each subset by one quay crane independently. Other than SPA, three partition-based algorithms were found
CR IP T
in the literature, all of which were shown to be 2-approximation. A simplified description of these algorithms can be as follows. APPX1(EPA)[18]
Each time compute the unassigned leftmost holds with an overall processing time no smaller than
1 m
and choose the smallest one to form a subset. If m − 1 subsets are determined, then the rest
AN US
of the holds form the last subset. Let us call APPX1 as Easy Partition-based Algorithm (EPA). GPA[11]
We call the algorithm in [11] as Greedy Partition-based Algorithm (GPA). The difference between GPA and EPA is that GPA always forms a subset with an overall processing time closest to among all the unassigned leftmost holds.
M
APPX2(CPA)[18, 14]
1 m
Using a dynamic programming procedure, it can choose the best m-subset-partition. We call
ED
this algorithm as Complete Partition-based Algorithm (CPA). It is clear that CPA is at least as good as SPA. By Theorem 3.5, we have
PT
Corollary 3.6 The worst case ratio of CPA is no larger than 2 −
2 m+1 .
The following instances indicate that the worst case ratio of EPA is no smaller than 2 and that
CE
of GPA when m > 2 is no smaller than 2 −
1 m.
Instance 2: Let there be 2m holds. The leftmost m holds all have the same processing time of − (called large holds), while the rightmost m holds all have the same processing time of > 0
AC
1 m
(called small holds). It is easy that C EP A =
2 m
− 2 by the algorithm’s rule. However, an optimal
solution may first process m large holds evenly on m QCs, then m small holds evenly on m QCs, resulting that C ∗ =
1 m.
Thus, we have
C EP A C∗
= 2 − 2m → 2 (when → 0).
Instance 3: The structure of this instance is the same with Instance 2, where we let = Accordingly, C ∗ =
1 m.
1 1 Since 2( m − ) − m ≥
1 m
1 . m2
1 − (m − ) due to m > 2, the algorithm GPA would
assign the first m − 1 large hold evenly to m − 1 QCs and assign the other holds to the last QC,
1 such that C GP A = ( m − ) + m =
2m−1 . m2
Thus, we have
C GP A C∗
=2−
1 m.
ACCEPTED MANUSCRIPT
14 Lower bound 2[18] 1 * 2− m 5 * 3 4 3 [19] 2 2 − m+1 * 2 2 − m+1 *
Upper bound 2[18] 2[11] 5 3 [19] 4 3 [19] 2 2 − m+1 * 2 2 − m+1 *
Time complexity O(n)[18] O(n)[11] O(mn log n)[14] O(n)*
CR IP T
Partition-based algorithm EPA GPA(m > 3) GPA(m = 3) GPA(m = 2) CPA SPA
Table 1: Comparison of partition-based algorithms (* this paper)
In [19], Liu et al provided a better analysis of GPA for m = 2 and m = 3, where the worst case ratios are shown to be no larger than
4 3
and 35 , respectively. In addition, they constructed a tight
AN US
instance for m = 2. With Instance 3, the tightness for m = 3 remains valid as well. We now prove a lower bound on the worst case ratio that a partition-based algorithm can reach. Theorem 3.7 The worst case ratio of any partition-based algorithm is no smaller than 2 −
2 m+1 .
Hence, CP A and SP A are the best possible algorithms for partitions.
M
Proof. Consider another instance structured like Instance 2.
Instance 4: The processing times of each large and small holds are
crane, then
and
respectively.
Otherwise, all the holds except the leftmost m − 1 large ones have to be
PT
assigned to one single quay crane for partitioning, thus we have C A ≥ m × Therefore, C A ≥ (2 −
1 m(m+1) ,
a partition-based algorithm A assigns two of the large holds to one quay
ED
1 m . If 2 C A ≥ m+1 .
Clearly C ∗ =
1 m+1
2 ∗ m+1 )C .
1 m(m+1)
+
1 m+1
=
2 m+1 .
2
CE
Thus far, to the best of our knowledge, there is only one polynomial time algorithm that does not partition, namely APPX3 by Lim et al. [18]. It can be seen as an extension of APPX2 (CPA) by using a O(m2 n3 )-time dynamic programming procedure on any partial sequence of holds so
AC
that either it is partitioned like CPA or it is divided into two subsequences and processed one after another. It is clear that APPX3 performs no worse than any partition-based algorithm. In [18], the authors provided an upper bound of 2 for APPX3. A comparison of existing partition-based algorithms is made in Table 1.
ACCEPTED MANUSCRIPT
15
4
Scheduling two QCs with different speeds
This section studies two uniform quay crane scheduling problems, where QCs might have different speeds for handling tasks. Without loss of generality, let the left quay crane (QC 1) have a speed
CR IP T
1 and the right quay crane (QC 2) have a speed s ≥ 1. In other words, a hold j can either be p
processed by QC 1 with a time of pj or be processed by QC 2 with a time of sj . Recall that Pn j=1 pj = 1 and pmax = maxj=1,2,··· ,n {pj } have similar lower bounds as those in Theorem 2.2 and
Theorem 2.3.
1 Corollary 4.1 C ∗ ≥ max{ 1+s , pmax s }.
AN US
p Pl−1 1+ sl −L pl L ∗ Corollary 4.2 If L = j=1 pj < s for some hold l ≥ 1, then C ≥ min{ 1+s , pl + 1+s }; P 1+pr − R R Symmetrically, if R = nj=r+1 pj < spr for some hold r ≤ n, then C ∗ ≥ min{ 1+s s , psr + 1+s }.
By the simple partition idea, we can design a
1+s -approximation 1+s+s2
algorithm for two uniform
QCs. Here is the detailed description (See also Fig. 5).
M
A Partition-based Algorithm for two Uniform QCs (PA2U in short) Find the hold c such that
ED
L=
c−1 X j=1
Pn
j=c+1 pj .
PT
Let R = 1 − L − pc =
c
X 1 ≤ pj . pj < 1+s
(10)
j=1
If L + pc ≤
pc +R s ,
then assign the leftmost c holds to QC 1 and
CE
the others to QC 2. Otherwise, assign the leftmost c − 1 holds to QC 1 and the others to QC 2.
2
…
AC
1
c
…
n-1
R
L 1 1+ݏ
Figure 5: Illustration for algorithm PA2U.
Lemma 4.3 If L + pc =
1 1+s ,
then C P A2U = C ∗ .
n
ACCEPTED MANUSCRIPT
16 1 1+s ,
By L + pc =
C P AU = L + pc =
1 1+s
pc +R s
By (10), L <
1 1+s
1 1+s ,
s 1+s
R s
<
pc +R s ,
which follows
×
2
1+pc 1+s .
< L + pc . Combining it with R = 1 − L − pc , we have L + pc >
> L. By the algorithm’s rule, we obtain C P A2U =
× (L + pc ) +
Thus L + pc =
then C P A2U = min{L + pc , pc +R s }≤
and C P AU = max{L, pc +R s } = 1 1+s
s 1+s .
= C ∗ by the algorithm’s rule and Corollary 4.1.
Lemma 4.4 If L + pc > Proof.
we get R = 1 − L − pc =
CR IP T
Proof.
pc +R s
=
pc +R s 1+pc 1+s .
on the contrary.
have C P A2U = min{L + pc ,
1+s , 1+s+s2
2
then together with Corollary 4.1, we
pc + R 1+s (1 + s)2 ∗ }≤ ≤ C . s 1 + s + s2 1 + s + s2
For this reason, we suppose that
1+s 1 + s + s2
(11)
M
L + pc > and
and
max{L + pc , Rs } = L + pc if L + pc ≤ pc +R s pc +R P A2U Hence, C = min{L + pc , s } ≤
AN US
By Lemma 4.4, if we have min{L + pc , pc +R s } ≤
R s
s + s2 . 1 + s + s2
ED
pc + R >
(12)
Combining (11), (12), and the fact L + pc + R = 1, it further follows s , 1 + s + s2
(13)
L = 1 − (pc + R) <
1 pc < 1 + s + s2 s
(14)
R = 1 − (L + pc ) <
s2 < spc . 1 + s + s2
(15)
AC
and
CE
PT
pc = (L + pc ) + (pc + R) − 1 >
This is sufficient to prove the result. Theorem 4.5 The worst case ratio of PA2U is no larger than
Proof.
By (14) and Corollary 4.2 , we have C ∗ ≥ min{
distinguished.
1+s 1+s+s2
for any s ≥ 1.
1+ psc −L 1+s , pc
+
L 1+s }.
Two cases are
ACCEPTED MANUSCRIPT
17 L 1+s .
Together with Lemma 4.4, (11) and (13), we can deduce that
1+p
c 1 + pc 1 + pc C P A2U 1+s ≤ = < < 1+s L ∗ C spc + (L + pc ) spc + 1+s+s pc + 1+s 2
Case 2. C ∗ ≥
1+ psc −L 1+s .
s 1+s+s2 1+s s2 + 1+s+s 2 1+s+s2
1+
(1 + s)2 . 1 + s + s2
By Lemma 4.4, C P A2U = min{L + pc , pc +R s }. pc +R s ,
Subcase 2.1 If L + pc >
then C P A2U =
pc +R s .
Combining it with (15) and the fact
1 − L = pc + R, we have pc +R s 1+ psc −L 1+s
=
(1 + s)(pc + R) = pc + s(pc + R)
pc +R s ,
Subcase 2.2 If L + pc ≤
1+s < +s
pc pc +R
1+s (1 + s)2 . = +s 1 + s + s2
pc pc +spc
AN US
C P A2U ≤ C∗
=
CR IP T
Case 1. C ∗ ≥ pc +
then C P A2U = L + pc . In addition, by L + pc ≤
pc + R = 1 − L, we can deduce
pc +R s
(s + 1)L + spc ≤ 1.
and (16)
Now, we assume that (1 + s + s2 )C P A2U > (1 + s)2 C ∗ , i.e., (1 + s + s2 )(L + pc ) > (1 + s)2 ×
1+ psc −L 1+s .
M
By a simple calculation, it follows that s(2 + 2s + s2 )L + (−1 + s2 + s3 )pc > s(s + 1) or due to (14)
ED
and (16), it is equivalent with
s(s + 1) < s(2 + 2s + s2 )L + (−1 + s2 + s3 )pc = s(s + 1){(s + 1)L + spc } + s(L −
PT
, which is a contradiction. Hence, we must have C P A2U ≤
pc ) < s(s + 1), s
(1+s)2 C ∗. 1+s+s2
2
To show the tightness, consider the following instance. 1 , p2 1+s+s2 have C P A2U
s , p3 1+s+s2
=
s3 . (1+s)(1+s+s2 )
= min{p1 +
CE
Instance 5: There are four holds with p1 = Since p1 <
1 1+s
< p1 + p2 , we
s2 and p4 = (1+s)(1+s+s2 ) 1+s p2 , p2 +ps3 +p4 } = 1+s+s 2 by
=
AC
Lemma 4.4 and the algorithm’s rule. However, an optimal solution can first simultaneously process p1 by QC 1 and p2 by QC 2, then simultaneously process p3 by QC 1 and p4 by QC 2, resulting 4 that C ∗ = max{p1 + p3 , p3 +p s }=
1 1+s .
Thus, it follows
C P A2U C∗
=
(1+s)2 1+s+s2
for any s ≥ 1.
With Instance 5 and similar arguments as Theorem 3.7, we also have
Theorem 4.6 Any partition-based algorithm for two uniform QCs must have a worst case ratio no smaller than QCs.
1+s . 1+s+s2
Hence P A2U is a best possible partition-based algorithm for two uniform
ACCEPTED MANUSCRIPT
18
5
Computational experiments
In Section 3.3, we compared four existing partition-based algorithms in the theoretical sense. Now a series of computational experiments are conducted to examine the average performance of these
GAPA =
CA − C∗ × 100%, C∗
CR IP T
algorithms. For an algorithm A, its error bound (or gap) is denoted by the following percentage,
where the optimal value C ∗ is estimated by the lower bounds given in Theorem 2.2 and 2.3. To show the performance of those partition-based algorithms, 500 instances were randomly
AN US
generated for each algorithm. For each instance, the workload/processing time of a hold followed a uniform discrete distribution in the range [30, 180]. For each algorithm, we computed the maximum and average gap among the 500 instances. Table 2 summarised the results of instances with small sizes that the number (n) of holds and the number (m) of cranes that ranged in [6, 30] and [2, 4], respectively. Table 3 summarised the results of instances with large sizes for the numbers n and m
M
within the range [50, 300] and [6, 15], respectively.
From Table 2 and Table 3, we found that though SPA is shown to be as good as CPA in the
ED
theoretical sense, it performs much worse than the other partition-based algorithms for random instances except the two-quay-crane case. This is perhaps because in SPA, it becomes probable that a quay crane might choose a subset of holds with a heavy workload, resulting in a bad instance.
PT
However, the combination of GPA and SPA (denoted as GSPA), which always outputs the better solution between GPA and SPA, would maintain a linear running time and can handle most of
CE
such bad instances. Consider for example that the average gap of GSPA for small sized instances is no more than 25.91% (attained when n × m = 7 × 4) and it is at most 2.49% upon that of CPA; the average gap of GSPA for large sized instances is no more than 26.27% (attained when
AC
n × m = 50 × 15) and it is at most 9.78% upon that of CPA. It is also observed that the maximum gap of GPA might exceed 100% for some instances (see Table 3), while GSPA can always avoid such bad cases.
6
Conclusion
We considered the problem of scheduling quay cranes to serve a berthed container vessel. The objective is to minimise the makespan of the vessel subject to the non-crossing constraints between
ACCEPTED MANUSCRIPT
19 GAPCP A Aver Max 9.81% 30.10% 18.47% 45.28% 20.05% 51.01% 8.83% 27.47% 16.70% 40.25% 23.43% 52.43% 7.39% 22.33% 14.56% 34.95% 22.27% 46.71% 6.76% 22.36% 13.35% 31.93% 18.95% 42.67% 6.03% 19.07% 11.35% 28.93% 17.28% 38.87% 3.84% 14.71% 7.84% 18.97% 12.11% 25.34% 2.78% 9.09% 5.77% 16.77% 8.78% 19.90% 2.34% 7.15% 4.68% 13.09% 6.94% 17.21% 1.89% 5.36% 3.97% 9.55% 5.83% 13.89%
GAPSP A Aver Max 9.81% 30.10% 33.73% 50.00% 27.79% 59.84% 8.83% 27.47% 37.02% 50.00% 34.74% 59.90% 7.39% 22.33% 38.93% 50.00% 38.07% 59.90% 6.76% 22.36% 40.46% 50.00% 38.09% 59.82% 6.03% 19.07% 40.83% 50.00% 39.96% 60.00% 3.84% 14.71% 44.17% 50.00% 44.35% 59.89% 2.78% 9.09% 45.79% 50.00% 47.72% 60.00% 2.34% 7.15% 46.48% 49.95% 50.85% 60.00% 1.89% 5.36% 47.03% 50.00% 52.57% 60.00%
GAPGSP A Aver Max 9.81% 30.10% 19.81% 49.27% 21.48% 58.63% 8.83% 27.47% 17.91% 48.89% 25.91% 57.58% 7.39% 22.33% 15.59% 49.03% 24.54% 58.87% 6.76% 22.36% 14.47% 48.07% 21.25% 52.31% 6.03% 19.07% 12.34% 46.94% 19.47% 56.73% 3.84% 14.71% 8.53% 24.86% 13.92% 42.22% 2.78% 9.09% 6.26% 21.24% 10.41% 36.89% 2.34% 7.15% 5.09% 16.36% 8.20% 26.74% 1.89% 5.36% 4.29% 12.4% 6.80% 27.54%
CR IP T
GAPGP A Aver Max 9.81% 30.10% 20.25% 64.04% 24.82% 89.08% 8.83% 27.47% 18.00% 59.75% 28.75% 94.69% 7.39% 22.33% 15.64% 56.36% 25.86% 90.01% 6.76% 22.36% 14.47% 48.07% 22.41% 88.54% 6.03% 19.07% 12.34% 46.94% 20.12% 65.71% 3.84% 14.71% 8.53% 24.86% 14.02% 51.09% 2.78% 9.09% 6.26% 21.24% 10.41% 36.89% 2.34% 7.15% 5.09% 16.36% 8.20% 26.74% 1.89% 5.36% 4.29% 12.40% 6.80% 27.54%
AN US
6×2 6×3 6×4 7×2 7×3 7×4 8×2 8×3 8×4 9×2 9×3 9×4 10 × 2 10 × 3 10 × 4 15 × 2 15 × 3 15 × 4 20 × 2 20 × 3 20 × 4 25 × 2 25 × 3 25 × 4 30 × 2 30 × 3 30 × 4
GAPEP A Aver Max 19.12% 71.61% 38.74% 93.59% 51.99% 92.67% 17.38% 49.11% 33.86% 77.88% 49.38% 91.71% 14.79% 47.53% 31.13% 73.66% 45.20% 89.09% 13.02% 43.13% 26.72% 79.12% 40.96% 82.90% 12.15% 35.67% 25.18% 60.15% 37.53% 72.55% 7.50% 21.84% 16.50% 36.88% 24.50% 51.23% 5.80% 17.90% 12.66% 29.21% 18.67% 36.38% 4.96% 13.54% 9.47% 23.97% 15.18% 28.13% 3.84% 11.09% 7.87% 18.53% 12.47% 23.93%
M
n×m
ED
Table 2: Results of random instances with small sizes quay cranes. We designed a Selected Partition-based Algorithm (SPA) for m quay cranes and
PT
demonstrated its worst case ratio to be 2 −
2 m+1 ,
which is better than several previous algorithms.
In addition, we showed that SPA is one of the best possible algorithm for the purpose of partition-
CE
ing. For two quay cranes with different processing hold speeds, the best possible partition-based algorithm with worst case ratio
(1+s)2 1+s+s2
is also provided, where s ≥ 1 is the speed ratio of the two
QCs. Computational experiments have been performed to examine the partition-based algorithms.
AC
The results showed that SPA performs even worse than existing partition-based algorithms, nevertheless, the combination of SPA and GPA is effective and efficient enough for solving the QCSP. Several questions deserve further study. First, how to design and analyse a simple algorithm that
does not consider partitioning. Any algorithm with theoretical performance ratio strictly smaller than 2 (even when m tends to infinity) would be interesting. Secondly, it is a natural question to extend the results of this paper to m uniform quay cranes. The double-cycling problem where loading and unloading are simultaneously incorporated also deserves further study. In addition, this
ACCEPTED MANUSCRIPT
20 GAPSP A Aver Max 65.63% 71.43% 70.86% 77.78% 78.89% 85.68% 77.19% 86.67% 79.74% 87.46% 66.74% 71.40% 71.95% 77.78% 80.03% 85.66% 79.08% 86.64% 80.88% 87.50% 67.89% 71.43% 73.44% 77.76% 81.49% 85.71% 80.46% 86.62% 82.47% 87.50% 68.64% 71.43% 74.51% 77.75% 82.03% 85.71% 81.80% 86.61% 83.97% 87.50% 69.98% 71.40% 76.10% 77.77% 84.08% 85.69% 84.25% 86.66% 85.58% 87.49% 70.45% 71.43% 76.64% 77.77% 84.56% 85.71% 84.96% 86.66% 86.25% 87.50%
GAPGSP A Aver Max 7.45% 23.59% 11.22% 46.17% 20.97% 83.08% 26.10% 84.20% 26.27% 86.72% 6.06% 25.49% 9.84% 38.11% 18.42% 78.01% 21.06% 80.19% 22.87% 84.90% 4.72% 15.07% 6.94% 23.86% 13.27% 53.61% 15.89% 67.77% 18.00% 80.38% 3.77% 13.32% 5.89% 22.41% 11.06% 44.27% 12.88% 55.29% 13.04% 48.55% 1.88% 7.27% 2.90% 9.12% 5.77% 21.81% 6.36% 25.01% 6.56% 27.40% 1.26% 4.79% 2.00% 7.85% 3.71% 15.78% 3.93% 18.28% 4.55% 19.88%
CR IP T
GAPCP A Aver Max 5.74% 12.72% 8.16% 15.02% 13.89% 21.66% 15.37% 25.46% 16.49% 25.74% 4.80% 9.38% 6.86% 13.25% 11.91% 20.83% 12.61% 20.56% 13.53% 21.23% 3.66% 7.67% 5.09% 9.68% 8.68% 12.94% 9.58% 14.67% 10.24% 15.63% 2.96% 5.97% 4.17% 7.37% 7.06% 12.53% 7.64% 12.58% 8.24% 12.23% 1.49% 2.81% 2.07% 4.02% 3.52% 5.86% 3.84% 6.22% 4.09% 6.83% 0.97% 2.11% 1.38% 2.84% 2.33% 3.69% 2.52% 4.36% 2.74% 4.29%
AN US
GAPGP A Aver Max 7.45% 23.59% 11.22% 46.17% 21.15% 141.02% 26.65% 132.38% 26.51% 113.58% 6.06% 25.49% 9.84% 38.11% 18.42% 78.01% 21.21% 101.72% 22.96% 98.14% 4.72% 15.07% 6.94% 23.86% 13.27% 53.61% 15.89% 67.77% 18.02% 92.27% 3.77% 13.32% 5.89% 22.41% 11.06% 44.27% 12.88% 55.29% 13.04% 48.55% 1.88% 7.27% 2.90% 9.12% 5.77% 21.81% 6.36% 25.01% 6.56% 27.40% 1.26% 4.79% 2.00% 7.85% 3.71% 15.78% 3.93% 18.28% 4.55% 19.88%
M
50 × 6 50 × 8 50 × 13 50 × 14 50 × 15 60 × 6 60 × 8 60 × 13 60 × 14 60 × 15 80 × 6 80 × 8 80 × 13 80 × 14 80 × 15 100 × 6 100 × 8 100 × 13 100 × 14 100 × 15 200 × 6 200 × 8 200 × 13 200 × 14 200 × 15 300 × 6 300 × 8 300 × 13 300 × 14 300 × 15
GAPEP A Aver Max 13.10% 23.82% 18.82% 29.40% 32.83% 47.73% 36.04% 51.05% 39.23% 55.04% 10.94% 18.34% 15.76% 25.18% 27.53% 40.06% 29.90% 42.41% 32.72% 45.01% 8.15% 13.39% 11.66% 17.51% 20.94% 29.62% 22.37% 31.67% 24.33% 33.72% 6.44% 10.66% 9.19% 14.74% 16.68% 23.46% 18.25% 25.71% 19.78% 25.95% 3.27% 5.32% 4.65% 7.06% 8.33% 11.23% 9.06% 12.32% 10.04% 13.44% 2.21% 3.36% 3.07% 4.46% 5.57% 7.45% 6.11% 8.26% 6.60% 8.52%
ED
n×m
PT
Table 3: Results of random instances with large sizes paper only focuses on non-crossing constraints of the QCSP. In the more general setting, there are
CE
non-interference constraints that cover both non-crossing constraints and safety margins between QCs, where a safety margin signifies a certain number of in-between holds between adjacent QCs. It is of great interest to understand how to approximate the general QC scheduling with non-
AC
interference constraints.
Acknowledgement The first author was supported by the Zhejiang Provincial Natural Science Foundation of China (LY16A010015) and the National Natural Science Foundation of China (11201105). The third author was supported by the National Natural Science Foundation of China (11401149). The fourth author was supported by the National Natural Science Foundation of China (11571252). The authors would like to acknowledge the anonymous referees for their careful reading of our paper and their valuable comments.
ACCEPTED MANUSCRIPT
21
References [1] Meersmans, P. J. M., Dekker, R. (2001). Operations research supports container handling. Econometric Institute Report, 234, Erasmus University Rotterdam.
CR IP T
[2] Vis, I. F. A., de Koster, R. (2003). Transshipment of containers at a container terminal: an overview. European Journal of Operational Research, 147 (1), 1-16.
[3] Vacca, I., Bierlaire, M., Salani, M. (2007). Optimization at container terminals: Status, trends and perspectives. In: Proceedings of the Swiss Transport Research Conference (STRC). Monte
AN US
Verit´ a/Ascona, pp. 1-21.
[4] Goodchild, A., Zhao, W., Wygonik, E. (2010). Decision problems and applications of operations research at marine container terminals. In: J.J. Cochran, L.A. Cox, P. Keskinocak, J.P. Kharoufeh, J.C. Smith(Eds.), Wiley encyclopedia of operations research and management science (pp.1-20). John Wiley & Sons, Inc.
M
[5] Lehnfeld, J., Knust, S. (2014). Loading, unloading and premarshalling of stacks in storage areas: Survey and classification. European Journal of Operational Research, 239(2), 297-312.
ED
[6] 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. [7] Bierwirth, C., Meisel, F. (2015). A follow-up survey of berth allocation and quay crane schedul-
PT
ing problems in container terminals. European Journal of Operational Research, 244, 675-689.
CE
[8] Ng, W. C. (2005). Crane scheduling in container yards with inter-crane interference. European Journal of Operibiational Research, 164, 64-78. [9] Kim, K. H., Park, Y. M. (2004). A crane scheduling method for port container terminals.
AC
European Journal of Operational Research, 156(3), 752-768.
[10] 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(1),
45-59. [11] Lee, D. H., Wang, H. Q., Miao, L. (2007). An approximation algorithm for quay crane scheduling with noninterference constraints in port container terminals. Presented at Tristan VI, Phuket, June 10-15.
ACCEPTED MANUSCRIPT
22 [12] 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. [13] Zhu, Y., Lim, A. (2006). Crane scheduling with non-crossing constraint. Journal of the Oper-
CR IP T
ation Research Society, 57(12), 1464-1471. [14] Lee, D. H., Chen, J. H. (2010). An improved approach for quay crane scheduling with noncrossing constraints. Engineering Optimization, 42(1), 1-15.
[15] Lim, A., Rodrigues, B., Xiao, F., Zhu, Y. (2004). Crane scheduling with spatial constraints.
AN US
Naval Research Logistics, 51, 386-406.
[16] Shang, X. T., Cao, J. X., Ren, J. (2016). A robust optimization approach to the integrated berth allocation and quay crane assignment problem. Transportation Research Part E, 94, 44-65.
[17] Lim, A., Rodrigues, B., Xu, Z. (2007). A m-parallel crane scheduling problem with a non-
M
crossing constraint. Naval Research Logistics, 54, 115-127.
[18] Lim, A., Rodrigues, B., Xu, Z. (2004). Approximation Schemes for the Crane Scheduling
ED
Problem. Hagerup, T., Katajainen, J. (Eds.): SWAT2004, LNCS, 3111, pp. 323-335. [19] Liu, M., Zheng, F. F., Li, J. F. (2015). Scheduling small number of quay cranes with non-
PT
interference constraint. Optimization letters, 9(2), 403-412. [20] Turkogullari, Y. B., Taskin, Z. C., Aras, N., Altinel, I.K. (2016). Optimal berth allocation,
CE
time-variant quay crane assignment and scheduling with crane setups in container terminals. European Journal of Operational Research, 254 (3), 985-1001.
AC
[21] Goodchild, A. V., Daganzo, C. F. (2006). Double-cycling strategies for container ships and their effect on ship loading and unloading operations. Transportation Science 40(4), 473-483.
[22] Goodchild, A. V., Daganzo, C. F. (2007). Crane double cycling in container ports: Planning methods and evaluation. Transportation Research Part B: Methodological, 41(8), 875-891.
[23] Lee, C. Y., Liu, M., Chu, C. B. (2015). Optimal algorithm for the general quay crane doublecycling problem. Transportation Science, 49(4), 957-967.