European Journal of Operational Research 232 (2014) 198–208
Contents lists available at SciVerse ScienceDirect
European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor
Innovative Applications of O.R.
An effective mathematical formulation for the unidirectional cluster-based quay crane scheduling problem Jiang Hang Chen a,⇑, Der-Horng Lee b, Mark Goh c a
Transport and Mobility Laboratory, École Polytechnique Fédérale de Lausanne, Switzerland Department of Civil Engineering, National University of Singapore, Singapore c The Logistics Institute – Asia Pacific, National University of Singapore, Singapore b
a r t i c l e
i n f o
Article history: Received 22 November 2011 Accepted 26 June 2013 Available online 5 July 2013 Keywords: (S) Scheduling Port container terminal Unidirectional quay crane scheduling problem Mathematical formulation
a b s t r a c t The quay crane scheduling problem plays an important role in the paradigm of port container terminal management, due to the fact that it closely relates to vessel berthing time. In this paper, we focus on the study of a special strategy for the cluster-based quay crane scheduling problem that forces quay cranes to move unidirectionally during the scheduling. The scheduling problem arising when this strategy is applied is called the unidirectional quay crane scheduling problem in the literature. Different from other researches attempting to construct more sophisticated searching algorithms, in this paper, we seek for a more compact mathematical formulation of the unidirectional cluster-based quay crane scheduling problem that can be easily solved by a standard optimization solver. To assess the performance of the proposed model, commonly accepted benchmark suites are used and the results indicate that the proposed model outperforms the state-of-the-art algorithms designed for the unidirectional cluster-based quay crane scheduling problem. Ó 2013 Elsevier B.V. All rights reserved.
1. Introduction Quay cranes, one of the scarce resources in port container terminals, are crucial machines loading and discharging containers onto and from vessels. As the need to satisfy customers (i.e., ship carriers) has become more acute, how to reduce vessel service time remains an important issue for terminal managers. In this regard, the quay crane scheduling problem (QCSP) is the most important and its output usually serves as the input for the immediate decisions in port container terminals such as the yard truck and yard crane scheduling problems. According to Moccia, Cordeau, Gaudioso, and Laporte (2006), the objective of a QCSP is to determine ‘‘a sequence of unloading and loading movements for cranes assigned to a vessel in order to minimize the vessel completion time as well as the crane idle times’’. Here the idle time is referred to the time which ‘‘originates from interferences between cranes since these roll on the same rails, and thus cannot cross each other, and from the need to maintain a minimum safety distance between them’’. These two kinds of spatial requirements are named non-crossing constraint and safety distance constraint, respectively in the literature. They create the most fundamental difference between the QCSP and the traditional parallel machine scheduling problem.
⇑ Corresponding author. Tel.: +41 21 693 25 32; fax: +41 21 693 80 60. E-mail address: jianghang.chen@epfl.ch (J.H. Chen). 0377-2217/$ - see front matter Ó 2013 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.ejor.2013.06.051
In the literature, generally speaking, the QCSP can be classified into two categories by the definition of the tasks assigned to quay cranes and handled in a non-preemptive manner, i.e., the baybased QCSP and the cluster-based QCSP. For the former, a task is the lump sum of all the loading and unloading jobs located in the same bay. For the latter, a task is defined as a discharging or loading operation for a cluster which is a collection of adjacent slots holding the containers with the same loading/destination port, or the same size, etc. (Kim & Park, 2004). For the bay-based QCSP, Daganzo (1989) and Peterkofsky and Daganzo (1990) introduced the static and dynamic QCSP for multiple vessels. However, both studies excluded the consideration to prevent the spatial interferences. In Lim, Rodrigues, Xiao, and Zhu (2004), the bay-based QCSP was represented by a bipartite graph matching problem. The downside of this approach is that the profit value associated with a crane-to-task assignment is not well-defined from a practical point of view. Lim, Rodrigues, and Xu (2004) also analyzed the properties of the bay-based QCSP but only considering non-crossing constraints. Based on the study, a full polynomial time approximation scheme and three approximation algorithms were proposed to solve the proposed problem. In Zhu and Lim (2006), a mixed integer programming (MIP) model was developed for the bay-based QCSP with non-crossing constraint and it was solved by a branch-and-bound algorithm and a simulated annealing heuristic. As a summary work, Lim, Rodrigues, and Xu (2007) presented a numerical experiment designed to
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
compare the performance of the algorithms to solve the bay-based QCSP with non-crossing constraint proposed in their previous studies. Liu, Wan, and Wang (2006) proposed a two-level framework for quayside operations. In the vessel-level model, an MIP was devised for the bay-based QCSP. Different from the previous works, the MIP developed in this paper forced the quay cranes to move from stem to stern or vice versa. To the authors’ best knowledge, this MIP model is the first formulation in the literature for the unidirectional QCSP. For other works in this line of research, the readers can refer to Ng and Mak (2006), Lee, Wang, and Miao (2008), Lee and Chen (2010), etc. Note that the common disadvantages for the aforementioned studies lie on the facts that: (1) the safety distance constraint is usually not considered in the models; (2) the crane travel time is usually not calculated and included in the objective function; and (3) the information such as the crane ready times and the crane initial positions is not considered in the models. Another branch of the study on the QCSP is the cluster-based QCSP. Kim and Park (2004) firstly proposed the cluster-based QCSP and formulated it as an MIP model. In this model, the non-crossing constraint, the safety distance constraint, the precedence constraint among tasks located in the same bays, the crane moving times, the crane ready times, and the crane initial positions were all well considered. For solution, a branch-and-bound and a heuristic were developed. Moccia et al. (2006) examined the MIP formulated by Kim and Park (2004) and managed to ameliorate the mathematical model. Meanwhile, a more efficient branch-andcut algorithm was developed. Based on Moccia et al. (2006) and Sammarra, Cordeau, Laporte, and Monaco (2007) developed a tabu search for the same problem, aiming to solve larger instances for practical applications. Bierwirth and Meisel (2009) spotted the incorrectness of the model in Sammarra et al. (2007) and brought up the idea to insert a minimum temporal distance between tasks so as to fix the drawbacks of the previous models. Apart from that, Bierwirth and Meisel (2009) proposed a branch-and-bound method to obtain the optimal solution for the unidirectional clusterbased QCSP. Monaco and Sammarra (2011) examined the clusterbased QCSP with time windows, one-way and spatial constraints. An MIP formulation was developed and a heuristic algorithm was proposed for solutions. Meisel (2011) also studied the clusterbased QCSP with time windows. Built on the heuristic method proposed in Bierwirth and Meisel (2009), a new problem-oriented algorithm was presented for the cluster-based QCSP with time windows. Legato, Trunfio, and Meisel (2012) extended the research of Bierwirth and Meisel (2009) in two directions. First, a so-called rich QCSP was proposed and formulated by an MIP. Compared to the traditional cluster-based QCSP, a rich QCSP is enriched by considering non-uniform quay cranes, time windows, and unidirectional crane movement. Next, a more efficient solving algorithm denoted by LTM was developed. According to the computational experiments, LTM is significantly faster than the heuristic proposed in Bierwirth and Meisel (2009) by reducing the computational time down to 14% for certain instance sets. It is clear that LTM is the state-of-the-art method to handle the unidirectional cluster-based QCSP. As put in Legato et al. (2012), ‘‘considering merely unidirectional schedules in a solution process simplifies the decision making’’. In the light of this observation, this paper aims to formulate a much simpler mathematical model for the unidirectional clusterbased QCSP by the inspiration of the MIP formulated in Liu et al. (2006) and to solve the model using an off-the-shelf optimizer such as CPLEX. The motivation of this research is straightforward: since the unidirectional scheduling for the cluster-based QCSP is a tested effective strategy, by developing a simpler mathematical model and using an off-the-shelf optimization software, more
199
researchers and practitioners are able to obtain faster solutions for the unidirectional cluster-based QCSP. The paper is organized as follows. In Section 2, after the formal description of the unidirectional cluster-based QCSP, an MIP model is proposed and meanwhile a simplification rule and a relaxed formulation for tighter lower bounds are provided. In Section 3, comprehensive computational experiments are conducted to evaluate the performance of the proposed mathematical model solved by CPLEX. Comparisons are made between the proposed approach and the latest LTM algorithm. Finally, Section 4 concludes the paper.
2. Mathematical formulation For a cluster-based QCSP, we are given a set of tasks X = {1, 2, . . . , n} scattered in a ship with m bays. We denote the set of bays as B = {1, 2, . . . , m}. Each task i 2 X represents a loading or unloading operation of a container group. Each task has a processing time pi and a bay position li, li 2 B. From an operational point of view, each individual task must be processed by a quay crane without preemption. Let U denote the set of precedence constrained task pairs (i, j), i, j 2 X. For the cluster-based QCSP, according to Kim and Park (2004), the rules to generate the precedence constrained task pairs are: when discharging tasks and loading tasks must be performed at the same bay, the discharging tasks must precede the loading tasks; when a discharging operation is performed in a bay, the tasks on the deck must be performed before the tasks in the hold of the same bay; the loading tasks in the hold must precede the loading tasks on the deck of the same bay. We are also given a set of quay cranes Q = {1, 2, . . . , q}. It is supposed that no two quay cranes can simultaneously operate at the same bay. All quay cranes can move between two adjacent bays in an identical travel time ^t > 0. They are not allowed to cross each other and have to keep a safety margin d, measured in units of bays. For each quay crane k k 2 Q, a ready time rk, a due time dk, and an initial bay position l0 are given. The cluster-based QCSP aims to determine the scheduling plan for all the tasks in X such that the makespan for the scheduling is minimized. Slightly different from the standard QCSP, an unidirectional QCSP designs to seek the schedule plan in that all the quay cranes once starting to handle tasks, move in the same direction constantly either from stem to stern or vice versa throughout the rest of the scheduling. As mentioned in Section 1, the first MIP for the unidirectional QCSP appeared in Liu et al. (2006). This formulation is compact and unique in the sense that the leading actors in the model are quay cranes rather than tasks. From Kim and Park (2004) to Legato et al. (2012), in their MIP models, the binary decision variable zij, i, j 2 X (equals to 1 if the task i is completed before the task j starts; 0, otherwise) is always used. Such an approach is a natural way to describe the problem and has the advantage to directly obtain the completion times of the tasks after solving. However, for most of the cases, the number of tasks n is a relatively large number compared to both the number of quay cranes q and the number of bays m. Thus, by using the binary zij, at least n2 binary decision variables are inevitably needed for the MIP model and it usually prevents the MIP models from solving to optimality with standard optimizers as the number of tasks increases. Done differently, Liu et al. (2006) shows that by only introducing the binary decision variable xki, k 2 Q, i 2 X (note that in the bay-based QCSP, B = X), it is enough to formulate the unidirectional QCSP. Although the completion times of the tasks cannot be explicitly obtained, they can be easily derived based on the obtained xkis. Nevertheless, as mentioned in the previous section, in Liu et al. (2006), the MIP model (denoted as formulation FL, hereafter) is only suitable for
200
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
the unidirectional bay-based QCSP. Since all the jobs at the same bay have been accumulated as a single task, according to Kim and Park (2004), the set of precedence constrained task pairs should be empty for the bay-based QCSP. Apart from that, in the formulation FL, neither the crane ready times nor the crane initial positions are considered. In order to build a more general MIP model for the unidirectional cluster-based QCSP, these basic ingredients need including. This paper extends the MIP model constructed in Liu et al. (2006) to cover the unidirectional clusterbased QCSP with crane ready times and initial positions. Without any loss of generality, we increasingly number the quay cranes and the bays along the direction from stem to stern of a vessel and the direction for the unidirectional scheduling is also from stem to stern. For the reverse directional scheduling, the only modification exists in the input of both the numbering of the quay cranes and bays (in reverse order). For ease of description and to present how the model evolves, first of all, we assume that quay cranes have zero ready times. The fully generalized formulation will be given in Section 2.2. 2.1. Formulation without the consideration of crane ready times
Assumption: – No quay crane will remain idle during the full planning horizon. Such an assumption is reasonable in practice. However, if the number of tasks is fewer than the number of available cranes (i.e., n < q), then the model users can simply exclude (q n) redundant cranes assigned to the vessel to guarantee the validity of the assumption. Parameters: – K(b) = {ijli 6 b, i 2 X, b 2 B}: a set of tasks whose bay positions are less or equal to b; – M: a sufficiently large positive constant; – : a sufficiently small positive constant. Decision variables: – cmax: the makespan for the scheduling; – ak: the leftmost position of the quay crane k where it starts k to move rightwards; obviously, ak 6 l0 ; – bk: the rightmost position of the quay crane k where it stops and becomes idle; k – tk0 ¼ ^t l0 ak : the travel time of the quay crane k to trak verse from its initial position l0 to the position ak; – xki: 1, if the quay crane k is assigned to serve the task i, and 0, otherwise; – ykb: the waiting time of the quay crane k at the bay b due to being blocked by the quay crane (k + 1); – ukb: 0, if b ak P 0, and 1, otherwise. For notation simplicity, for a set S of integers, an element of set S, i, and an integer constant c, let i + c 2 S be equivalent to i 2 {i0 j(i0 2 S) ^ (i0 + c 2 S)}. The following is the mathematical model.
ð1Þ
8i 2 X
ð2Þ
8k 2 Q
ð3Þ
k2Q
X xki P 1; i2X
ak li xki 6 Mð1 xki Þ; 8k 2 Q ; i 2 X
ð5Þ
ak þ d þ 1 6 akþ1 ; 8k þ 1 2 Q
ð6Þ
8k þ 1 2 Q
ð7Þ
bk þ d þ 1 6 bkþ1 ; ^tðlk 0
ak Þ ¼
tk0 ;
8k 2 Q
ð8Þ
8k; k0 2 Q ; k0 < k; ði; jÞ 2 U b ak þ 6 Mð1 ukb Þ; 8k 2 Q; b 2 B ak b 6 Mukb ; 8k 2 Q ; b 2 B xk0 i 6 1 xkj ;
X
pi xki þ
i2KðhÞ
P
ð4Þ
ð9Þ ð10Þ ð11Þ
h X ykb þ ^tðh ak Þ þ t k0 b¼1
X
pi xkþ1;i þ
i2Kðhþdþ1Þ
hþdþ1 X
ykþ1;b þ ^tðh þ d þ 1 akþ1 Þ
b¼1
þ tkþ1 Mðukh þ ukþ1;hþdþ1 Þ; 8h þ d þ 1 2 B; k þ 1 2 Q ð12Þ X X 0 pi xki þ ykb þ ^tðbk ak Þ þ t k0 6 cmax ; 8k 2 Q ð13Þ i2X
b2B
i2X
b2B
X X k pi xki þ ykb þ ^tðbk ak Þ þ t k0 6 d ;
ak ; bk ; ykb ; tk0 ; cmax 2 Rþ ; 8k 2 Q ; b 2 B
The following lists the assumption, the required parameters and the decision variables to formulate the unidirectional cluster-based QCSP. Note that in this section, all the quay cranes are ready at time 0.
min : cmax X xki ¼ 1; s:t:
8k 2 Q ; i 2 X
li xki 6 bk ;
xki ; ukb 2 f0; 1g;
8k 2 Q; i 2 X; b 2 B
8k 2 Q
ð14Þ ð15Þ ð16Þ
The objective function (1) aims to minimize the makespan for the scheduling. Constraints (2) ensure that every task is processed by one quay crane and constraints (3) ensure that at least one task should assign to a quay crane due to the non-idleness assumption of quay cranes. Constraints (4) and (5) define the boundaries ak, bk for the movement of the quay crane k. Constraints (6) and (7) state the properties of both ak and bk based on the safety distances requirement. Constraints (8) define the travel time of the quay k crane k to traverse from its initial position l0 to the first position k k ^ ak, i.e., t0 ¼ tðl0 ak Þ. Constraints (9) play very important roles which distinguish the proposed model from the formulation of the unidirectional bay-based QCSP, i.e., FL. The rationale for such constraints is: since the task i must be handled before the task j and quay cranes are moving from stem to stern during the processing, if the task j is assigned to the quay crane k, then it is impossible to assign the task i to another quay crane k0 (k0 < k). In other words, if the task j is assigned to the quay crane k, then the task i must have been completed by one of the quay cranes in {k, k + 1, . . . , q}. Mathematically, if xkj = 1, then xk0 i ¼ 0. Note that such idea has also appeared in the so-called ‘‘Branching Criterion 1’’ in Bierwirth and Meisel (2009). Constraints (10) and (11) define the decision variable ukb. If b P ak, then b ak + > 0 and from constraints (10), ukb = 0. Conversely, if b < ak, constraints (11) force ukb = 1. Constraints (12) present the essential idea rooted in FL. The left term P Ph k ^ in the inequality b¼1 ykb þ tðh ak Þ þ t 0 calculates i2KðhÞ pi xki þ the time at which moment the quay crane k is about to move beP yond the bay h. Here i2KðhÞ pi xki is the workload assigned to the P quay crane k on or before the bay h; hb¼1 ykb is the total waiting time of the quay crane k due to the blocking of the quay crane (k + 1); ^tðh ak Þ þ t k0 is the sum of time taken by the quay crane k k to move from the initial position l0 to the position ak and then from the position ak to the bay h. By the same token, the right hand side of the inequality equals to the time instance beyond which the quay crane (k + 1) has been moved away from the bay (h + d + 1). It should be highlighted that we need to guarantee that both h ak P 0 and h + d + 1 ak+1 P 0 for the constraints (12). Otherwise, the terms ^tðh ak Þ and ^tðh þ d þ 1 akþ1 Þ would lose their physical meanings. To achieve so, the term M(ukh + uk+1,h+d+1) could be inserted into constraints (12). In summary, by enforcing constraints (12), the non-crossing constraint and the safety distance constraint would not be violated by any two adjacent quay cranes. Constraints (13) ensure that the service of the vessel is completed
201
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
1
Task 1 (20)
Bay
2
Task 2 (40)
2
1
3
4
6
5
Fig. 1. Example for the blocking phenomena.
only after all quay cranes have finished their assigned jobs. In conP straints (13), i2X pi xki is the total workload assigned to the quay P crane k; b2B ykb is the total waiting time when blocking occurs; ^tðbk ak Þ þ t k is the total moving time for the quay crane k. Simi0 larly, constraints (14) make sure that for all the quay cranes, their due times are respected. Finally, constraints (15) and (16) define the domains for all the decision variables.
the task 1 to the quay crane 1 and the task 2 to the quay crane 2 (with makespan 46, see Fig. 2(a) for the optimal scheduling). However, by solving the mathematical models proposed in the previous studies, say Bierwirth and Meisel (2009), the generated plan (with makespan 43) is shown in Fig. 2(b). Clearly, blocking is not taken into account by the models and the generated optimal solution is infeasible. In the unidirectional cluster-based QCSP, a quay crane k (k – 1, k – q) can be blocked at the initial stage by the quay cranes (k 1) or (k + 1). Since the blocking time of the quay crane k by the quay crane (k + 1) has been captured by the decision variable ykb already, the remaining scenario is the case where the quay crane k is blocked by the quay crane (k 1) at the initial stage. Note that whether the quay crane k would be blocked by the quay crane (k 1) at the initial stage or not depends on the leftmost position ak of the quay crane k. Specifically, for the quay crane k (k – 1), if h i k1 its leftmost position ak falls within the bay interval 1; l0 þ d , the quay crane k may be blocked by the quay crane (k 1) at the initial stage. To illustrate, we take the 2 quay cranes in Fig. 3 as k1
2.2. Blocking phenomena at the initial stage of the scheduling In this section, the crane ready times will be taken into account and a generalized formulation catering for a much more complex situation, blocking at the initial stage of the scheduling, will be presented. Previous studies in the literature, for example, Kim and Park (2004), Moccia et al. (2006), Sammarra et al. (2007), Bierwirth and Meisel (2009), and Legato et al. (2012), assume that the quay cranes all move from the dummy node 0 to begin their service of a vessel and no blocking would occur when the quay cranes move from the node 0 to their first positions {ak}k2Q. Such a treatment might pose a problem when quay cranes have non-zero ready times, as illustrated in Fig. 1. Fig. 1 shows an example with 2 tasks and 2 quay cranes. The task 1 and the task 2 are located in the bay 1 and the bay 3, respectively. The processing time for the task 1 is 20 and 40 for the task 2. The quay cranes 1 and 2 are initially positioned at the bays 4 and 6. Assume the ready times for the quay cranes 1 and 2 are 3 and 0, respectively. Let the safety margin be one bay and the travel speed for both quay cranes is one bay per time unit. Obviously, one can easily approach the optimal task assignment plan, i.e., assigning
k1
by the quay crane (k 1) at the bay b. Note that if ak 6 l0 k1 l0 .
then ak1 < nitely occur k
k1
l 0 P l0
Otherwise, the spatial interference would defiat some point in time. Additionally, as k1
þ d þ 1, if ak 6 l0 k
k
k
þ d, then ak 6 l0 1 < l0 . Therefore,
k1
k1
Bay Quay crane 2
6
6
5
5
Quay crane 1
þ d,
both ak < l0 and ak1 < l0 indicate that if ak 6 l0 þ d, the quay cranes (k 1) and k would move from stern to stem at the initial stage of the scheduling. To avoid the violation of the non-crossing and safety distance constraints, similar inequalities to the constraints (12) should be added into the MIP model. In the following, constraints (17) serve the function aforementioned. In constraints Plk0 þ k (17), in the time instance b¼h ykb þ ^t l0 h þ rk , the quay crane k
Bay Quay crane 2
k
an example. Suppose l0 ¼ b þ 1; l0 ¼ b þ 6; d ¼ 1; ak ¼ b þ 2 and rk = 0. If rk1 6 3 and the quay crane (k 1) is able to move leftward by at least one bay, then the quay crane k would not be blocked by the quay crane (k 1) at the initial stage. However, when rk1 P 4 or the quay crane (k 1) is blocked by the quay crane (k 2) and stays idle at the bay (b + 1) even after time t = 4, then the quay crane k would be blocked by the quay crane (k 1) at the initial stage. As a result, to calculate the blocking time of the quay crane k at the initial stage, another decision variable denoted as yþ kb could be defined to count the initial stage blocking time of the quay crane k
Quay crane 1
4
3
4
3
2 (40)
2 (40)
2
2
1
1
1 (20)
0
5
10
15
20
25
30
35
40
45
50
1 (20)
0
5
(a)
10
15
20
25
(b) Fig. 2. Feasible and infeasible optimal schedules.
30
35
40
45
50
202
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
k-1
decision flexibility to operators. The rule is a non-optimal strategy and can be expressed by constraints (23).
k
bk 6 akþ1 þ d; b
b+1
b+2
b+3
b+4
b+5
b+6
b+7
Fig. 3. Example where the quay crane k might be blocked by the quay crane k 1.
Pl0kþ1 þ is about to move beyond the bay h. b¼hþdþ1 ykþ1;b þ ^t l0kþ1 h d 1 þ rkþ1 is the moment when the quay crane k
(k + 1) moves beyond the bay h + d + 1. If akþ1 6 l0 þ d which is equivalent to ukþ1;lk þd ¼ 0, then to avoid the spatial interference, 0 P kþ1 Plk0 þ þ ^tðlk0 hÞ þ rk should be less or equal to l0 y þ b¼hþdþ1 ykþ1;b þ b¼h kb ^t l0kþ1 h d 1 þ rkþ1 . Thus, by introducing yþ , the blocking kb time for the quay crane k at the initial stage, can be computed by P þ b2B ykb . Constraints (18)–(20) present the corresponding updated inequalities for constraints (12)–(14) when blocking times at the initial stage are taken into consideration. The complete MIP formulation (called F hereafter) of the unidirectional cluster-based QCSP is listed below. Additionally, the correct formulation to avoid the initial stage blocking phenomena for the MIP formulations proposed in Kim and Park (2004) to Legato et al. (2012) is summarized in Appendix A (take the formulation presented in Bierwirth & Meisel (2009) as an example).
½Fmin : cmax s:t: Constraints ð2Þ—ð11Þ
b¼hþdþ1
þr
kþ1
0
ð17Þ
h X X pi xki þ ykb þ yþkb þ ^tðh ak Þ þ t k0 þ r k
X i2KðhÞ
P
k
þ Mukþ1;lk þd ; 8h 2 fbjb 2 B;b 6 l0 g; k þ 1 2 Q
b¼1
X
pi xkþ1;i þ
i2Kðhþdþ1Þ
ykþ1;b þ
b¼1
Here the integer constant d is an adjustable parameter in the interval [1, m]. The main purpose of constraints (23) is to restrict the task assignment for the quay crane k such that all the tasks located in the bays ak+1 + d + 1, . . . , m are not assigned to the quay crane k. Particularly, if d = 1, since bk 6 ak+1 1, the resulting task assignment plan splits the whole vessel into q parts and assigns all the tasks located in the kth part to the quay crane k. Alternatively, if d = m, since bk 6 m, constraints (23) become trivial and under such a condition, the rule does not take any effect. Although the simplification rule cannot guarantee to achieve the optimality, since it has the merit to speed up the branchand-bound or branch-and-cut procedure in the optimization solvers, such a rule still worths adopting when the original MIP model cannot be efficiently solved.
2.4. Relaxed formulation for lower bound As mentioned in the part of the problem description, for the cluster-based QCSP, all tasks must be processed by the quay cranes without preemption (i.e., a task can only be processed by one quay crane). To achieve a tight lower bound for the unidirectional cluster-based QCSP, such a restriction can be lifted (i.e., a task can be processed by multiple quay cranes). To fulfill such a purpose, additional decision variables {wki}k2Q,i2X need to be defined. – wki: the amount of workload of the task i processed by the quay crane k.
min : cmax X s:t: wki ¼ pi ; wki 6 pi xki ; X
X yþkþ1;b
þ ^tðh þ d þ 1 akþ1 Þ þ t kþ1 þ rkþ1 Mðukh þ ukþ1;hþdþ1 Þ; 0
i2X
X X k pi xki þ ykb þ yþkb þ ^tðbk ak Þ þ t k0 þ r k 6 d ; i2X
P ð18Þ
ð19Þ
ak ;bk ;ykb ;yþkb ;tk0 ;cmax 2 Rþ ; 8k 2 Q ; b 2 B xki ; ukb 2 f0;1g; 8k 2 Q ; i 2 X; b 2 B
b¼1
X
ð25Þ
b2B
wkþ1;i þ
hþdþ1 X
i2Kðhþdþ1Þ
ykþ1;b þ
b¼1
X yþkþ1;b b2B
8h þ d þ 1 2 B; k þ 1 2 Q X X wki þ ykb þ yþkb þ ^tðbk ak Þ þ tk0 þ r k 6 cmax ; i2X
ð20Þ ð21Þ ð22Þ
X X k wki þ ykb þ yþkb þ ^tðbk ak Þ þ tk0 þ r k 6 d ; i2X
In real world practice, container port operators usually adopt the ‘‘divide-and-conquer’’ strategy of partitioning a vessel into q non-overlapping bay areas and assigning one crane to exactly one bay area (Legato et al., 2012). The simplification rule proposed here is in the same line of such a strategy however provides more
ð27Þ
b2B
8k 2 Q wki 2 Rþ ; ukb 2 f0; 1g;
2.3. A rule for simplification
ð26Þ
b2B
8k 2 Q
b2B
8k 2 Q
8i 2 X
þ ^tðh þ d þ 1 akþ1 Þ þ t 0kþ1 þ rkþ1 Mðukh þ ukþ1;hþdþ1 Þ;
b2B
8k 2 Q
ð24Þ
h X X wki þ ykb þ yþkb þ ^tðh ak Þ þ t k0 þ rk
i2KðhÞ
b2B
8h þ d þ 1 2 B; k þ 1 2 Q X X pi xki þ ykb þ yþkb þ ^tðbk ak Þ þ t k0 þ r k 6 cmax ;
8i 2 X
k2Q
b2B hþdþ1 X
ð23Þ
The relaxed formulation for the unidirectional cluster-based QCSP can be expressed as:
kþ1
l0 lk0 X X k kþ1 yþkb þ ^tðl0 hÞ þ r k 6 yþkþ1;b þ ^t l0 h d 1 b¼h
8k þ 1 2 Q
8k 2 Q; i 2 X; b 2 B
ð28Þ ð29Þ
Constraints ð4Þ—ð11Þ; ð15Þ; andð17Þ Constraints (24) ensure that each task must be completed. Constraints (25) state that if the task i is not assigned to the quay crane k, then wki should be zero. Constraints (26)–(28) are the updates of the constraints (18)–(20). Constraints (29) impose the nonnegative and integral requirements for wki and ukb, respectively.
203
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
Table 2 Computational results for benchmark instances in the set B of Meisel and Bierwirth (2011).
3. Computational experiments To verify the performance of the proposed MIP model for the unidirectional cluster-based QCSP, computational experiments using the two commonly accepted benchmark suites provided by Bierwirth and Meisel (2009) (originally proposed in Kim & Park (2004) and Meisel & Bierwirth (2011)) were conducted. As mentioned in Section 1, the LTM algorithm developed in Legato et al. (2012) is the best method so far to solve the unidirectional cluster-based QCSP. Therefore, it is reasonable to compare the LTM algorithm and the proposed MIP model solved by a standard optimization solver. All the tests have been carried out in a Dell M4700 with CPU 2.60 gigahertz and 8.00 gigabytes RAM and solved by CPLEX 12.3. For the CPLEX parameters, the followings are used throughout the experiments:
#
n = 45
n = 50
n = 55
n = 60
n = 65
n = 70
1 2 3 4 5 6 7 8 9 10
758(755) 759(759) 759(756) 789(788) 758(755) 789(767) 798(798) 759(757) 797(797) 792(792)
774(755) 771(769) 772(772) 765(757) 762(755) 765(755) 782(782) 761(755) 798(798) 759(756)
758(755) 783(779) 779(779) 759(757) 758(757) 789(789) 768(768) 767(757) 801(801) 757(756)
781(781) 756(755) 758(756) 765(760) 760(755) 758(755) 786(786) 757(755) 785(785) 805(805)
758(755) 799(799) 803(803) 758(757) 758(757) 757(756) 757(757) 756(756) 758(756) 786(786)
756a(755) 764a(755) 760(755) 760(757) 757(756) 761(761) 758a(757) 757(756) 757(755) 779(777)
ACT
0.020
0.023
0.017
0.022
0.025
0.030
The value in parentheses is the lower bound. a New best solution; ACT: average computational time (minute).
IloCplex::NodeLim = 100,000,000. The node limit is set to 100 million nodes. IloCplex::TiLim is set as default, i.e., 1E + 75. Therefore, all the instances are solved to optimality. IloCplex::MIPEmphasis = 2. The MIP emphasis is set to optimality.
stern and the other for the opposite direction. For a fair comparison, the computational time for CPLEX to solve the model F is defined as the sum of time (measured in minutes) consumed for the two branches of searches. In fact, the computational time could be shorter if both search processes can be preformed concurrently and the information of the upper bound is shared and updated in these two independent searches. Thus, the unfruitful unidirectional search can be terminated as soon as possible. Table 1 reports the computational results for the benchmark instances of Bierwirth and Meisel (2009). The columns of LB present the lower bounds obtained by solving the relaxed formulation presented in Section 2.4. Using CPLEX, the lower bound model can be solved to optimality for all 60 instances. The average computational time is 18.8 seconds and tighter lower bound values can be delivered except for the 4 instances in the set I (i.e., I2, I3, I4,
After some trials, we note that in F, if the decision variable cmax is set as integer rather than float decision variable, the computational time can be significantly reduced. Noted that in all the benchmark instances all parameters are integers, therefore, we can set cmax as an integer decision variable. For other instances with fractional parameters, the same trick can be used provided that all the parameters are proportionally scaled to integers. It should be highlighted that in order to obtain true optimal solutions for the unidirectional cluster-based QCSP, the MIP model F should be run twice, once for the case that the direction is from stem to Table 1 Comparison of solution methods on benchmark instances of Bierwirth and Meisel (2009). #
I LB
II W
CPU
LTM
F
LTM
F 0.02 0.02 0.02 0.02 0.02 0.02 0.02 0.00 0.02 0.02
1 2 3 4 5 6 7 8 9 10
861 813a 822a 684a 792 627a 885 738 789 948
876 822 834 690 792 639 894 741 798 960
876 822 834 690 792 639 894 741 798 960
0.21 0.20 0.18 0.19 0.17 0.19 0.18 0.17 0.17 0.17
Avg.
805
805
0.18
0.02
1 2 3 4 5 6 7 8 9 10
IV 849 834 669 843 690 630 735 735 726 711
870 843 675 852 699 642 744 750 738 717
870 843 675 852 699 642 744 750 738 717
6.82 1.56 0.90 0.81 0.86 1.45 0.91 0.88 0.93 0.91
Avg.
753
753
1.60
0.57
0.48 0.15 0.17 0.13 0.82 1.55c 0.53 0.93c 0.68 0.28
III
LB
W
LTM
F
CPU
LB
W
LTM
F
LTM
F
LTM
F
0.02 0.02 0.02 0.03 0.05 0.10 0.03 0.03 0.03 0.05
939 729 834 918 867 960 795 948 831 738
948 741 837 924 882 963 807 957 834 744
948 741 837 924 882 963 807 957 834 744
0.56 0.51 0.70 0.38 0.39 0.35 0.56 0.44 0.99 0.38
864
864
0.53
0.07
VI 798 777 822 795 702 726 831 867 789 885
810 786 834 801 717 735 852 876 813 897
810 786 834 801 717 735 852 876 810d 897
8.43 19.84b 18.87b 3.66 33.70b 1.52 20.69b 2.84 39.48b 5.62
812
812
15.47
34.34
717 765 675 678 693 777 678 771 627 837
717 774 684 690 705 786 687 783 639 837
717 774 684 690 705 786 687 783 639 837
18.02 0.30 0.30 0.38 0.31 0.29 0.32 0.32 0.30 0.30
730
730
2.08
0.04
V 939 888 960 801 852 756 831 1041 822 885
948 897 972 816 867 768 843 1053 837 897
948 897 972 816 867 768 843 1053 837 897
1.02 0.98 1.08 5.88 16.29 1.89 1.09 2.65 1.83 2.78
890
890
3.55
0.62
LB: lower bound; W: makespan; CPU: computational time in minutes. a Worse lower bound. b LTM stops at max nodes. c Longer computational time. d New best solution.
0.40 0.27 0.87 0.67 0.43 0.32 0.58 0.43 1.20 1.05
CPU
0.10 0.07 0.05 0.10 0.12 0.03 0.03 0.05 0.02 0.08
4.28 1.08 14.13 6.55c 8.72 2.40c 290.27c 1.40 10.02 4.55
204
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
Table 3 Computational results for benchmark instances in the set C of Meisel and Bierwirth (2011). #
n = 75
n = 80
n = 85
n = 90 a
n = 95
n = 100
1 2 3 4 5 6 7 8 9 10
1178(1178) 1011(1007) 1182(1182) 1107(1107) 1192(1192) 1123(1123) 1200(1200) 1174(1174) 1074(1074) 1188(1188)
1173(1173) 1023(1005) 1013(1006) 1202(1202) 1036(1036) 1117(1117) 1201(1201) 1038a(1017) 1192(1192) 1206(1206)
1049(1049) 1017(1007) 1027(1027) 1186(1186) 1082(1082) 1009a(1006) 1195(1195) 1105(1105) 1010(1007) 1166(1166)
1008 (1007) 1015a(1006) 1011(1006) 1063(1063) 1062(1062) 1193(1193) 1108(1108) 1094(1094) 1075(1075) 1049(1049)
1174(1174) 1090(1090) 1010a(1007) 1138(1138) 1143(1143) 1055(1055) 1172(1172) 1014a(1006) 1019(1019) 1007a(1006)
1008a(1007) 1104(1104) 1107(1107) 1202(1202) 1008a(1007) 1136(1136) 1098(1098) 1151(1151) 1011(1006) 1011a(1007)
ACT
0.022
0.033
0.103
0.153
0.085
0.120
The value in parentheses is the lower bound. a New best solution; ACT: average computational time (minute).
Table 4 Comparison of solution methods on benchmark instances of Meisel and Bierwirth (2011). n, q
45, 50, 55, 60, 65, 70,
W
4 4 4 4 4 4
Avg.
CPU
n, q
LTM
F
LTM
F
775.8 770.9 771.9 771.1 769.0 761.9
775.8 770.9 771.9 771.1 769.0 760.9
5.730 13.780 10.360 22.470 19.600 22.590
0.020 0.023 0.017 0.022 0.025 0.030
770.1
769.9
15.755
0.023
Table 5 Real world data from Medcenter container port, Italy. #
LTM
F
W
CPU
LB
W
CPU
1 2 3 4 5 6 7 8 9 10
15.55 27.50 10.77 25.82 24.95 53.82 23.14 33.27 37.86 51.14
0.08 0.49 0.14 0.87 4.21 26.17 0.87 3.47 60.00 47.34
14.92 27.44 10.78 25.66 24.80 53.78 22.98 33.08 37.58 50.96
15.56 27.53 10.78 25.84 24.98 53.87 23.16 33.31 37.72 51.10
0.00 0.08 0.03 0.05 0.07 0.15 0.13 0.05 1.05 0.12
ACT
30.38
14.36
30.20
30.38
0.17
and I6). Additionally, Table 1 also shows that CPLEX is capable of solving the MIP model F quite well. Considering the makespan values in Table 1, by solving the model F, a new best solution for VI9 can be found and the proposed method provides the same solution quality for all other instances. In the dimension of efficiency, except for instance VI7, the formulation F could be solved to optimality within 10 minutes. Compared with LTM, there are 5 cases (i.e., IV6, IV8, VI4, VI6, VI7) in which CPLEX consumes more time than LTM (note that CPLEX generates the optimal solutions and LTM only finds incumbent solutions especially for large-scale instances). The benchmark instances of Bierwirth and Meisel (2009) are somehow biased according to Meisel and Bierwirth (2011). For example, the ratio of n/m is set to 1 for almost the instances and the instances in the sets V and VI are very unrealistic since their bay numbers are up to 50 (the bay number of the largest megacontainership today, say Emma Maersk is around 24). Hence, Meisel and Bierwirth (2011) provides more realistic and challenging benchmark instances to test the cluster-based QCSP solution
75, 6 80, 6 85, 6 90, 6 95, 6 100, 6
W
CPU
LTM
F
LTM
F
1142.9 1120.3 1084.7 1068.8 1082.9 1085.3
1142.9 1120.1 1084.6 1067.8 1082.2 1083.6
51.850 48.000 54.830 56.390 57.530 60.000
0.022 0.033 0.103 0.153 0.085 0.120
1097.5
1096.9
54.767
0.086
methods. Tables 2–4 list the results for the large instances in the sets B and C of Meisel and Bierwirth (2011). The number of tasks in the set B ranges from 45 to 70, the number of quay cranes q = 4, and the bay number m = 15; while for the set C, n = 75, 80, . . . , 100, q = 6, and m = 20. For this benchmark suite, the proposed method immensely outperforms the LTM algorithm in terms of both effectiveness and efficiency. From Tables 2 and 3, 3 and 10 new optimal solutions have been delivered by the proposed method for the sets B and C, respectively. In addition, as summarized in Table 4, for the sets B and C, the average computational time consumed by the LTM algorithm is 15.8 minutes and 54.8 minutes, respectively. However, for both the sets B and C, CPLEX can solve the MIP model F to optimality within a minute. The rationales for such an improvement can be: 1. The proposed MIP model F is very compact since it only introduces q n of xki and q m of ukb, that is, q (n + m) binary decision variables. In comparison, the MIP model for the unidirectional cluster-based QCSP in Legato et al. (2012) involves at least n (n + q) binary decision variables. For example, when n = 100, q = 6, m = 20 as some instances in the set C, the number of binary decision variables introduced in F is 720 and its counterpart such as the MIP model in Legato et al. (2012) is at least 10,600. 2. The precedence constraints are not nuisances for the unidirectional cluster-based QCSP. Contrarily, it is expected that the more task pairs are in U, the easier the MIP model F can be solved. 3. The essential part of the LTM heuristic is similar to branch-andbound. So are the modern MIP solvers. However, in general, MIP solvers are more advanced in effective presolving, smart branch-and-bound tree management, and deep cuts generation. To convince the readers that the proposed method is better than LTM, we use the real world data from Medcenter container
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
205
Fig. 4. Scheduling plans comparison among manual method, LTM, and the proposed method.
terminal in Gioia Tauro, Italy. The computational results are summarized in Table 5. Please note that the time unit for these 10 instances is set to 2.73 minutes as reported by Legato et al. (2012).
The slight differences between our results and the ones from Legato et al. (2012) may be due to the numerical rounding off during the computation. As shown in Table 5, 10 instances could be solved
206
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
Table 6 Computational results for instances in the set D. #
f = 0.2, cl1
f = 0.2, cl2
f = 0.2, uni
f = 0.8, cl1
f = 0.8, cl2
f = 0.8, uni
1 2 3 4 5 6 7 8 9 10
807(807) 606(605) 737(737) 808(807) 607(606) 671(671) 626(626) 610(610) 750(750) 647(647)
611(611) 609(609) 608(607) 609(609) 609(608) 609(609) 611(611) 610(609) 610(610) 610(610)
609(608) 609(609) 609(608) 639(639) 610(609) 610(610) 610(610) 610(609) 610(610) 610(610)
2412(2411) 2408(2407) 2408(2407) 2411(2411) 2411(2410) 2409(2407) 2409(2409) 2409(2407) 2409(2408) 2408(2407)
2410(2409) 2410(2409) 2410(2410) 2409(2409) 2409(2408) 2410(2409) 2411(2410) 2410(2409) 2410(2410) 2409(2408)
2409(2409) 2411(2410) 2409(2409) 2410(2410) 2410(2409) 2410(2409) 2410(2409) 2410(2409) 2410(2409) 2410(2409)
ACT (minute)
0.033
0.050
0.077
0.325
0.213
0.213
The value in parentheses is the lower bound. For the meanings of ‘‘cl1’’, ‘‘cl2’’, and ‘‘uni’’, refer to Bierwirth and Meisel (2009).
Table 7 Computational results for instances in the set E. #
g = 0.80
g = 0.85
g = 0.90
g = 0.95
g = 1.00
1 2 3 4 5 6 7 8 9 10
1510(1509) 1510(1510) 1510(1510) 1510(1510) 1510(1509) 1510(1509) 1509(1509) 1510(1509) 1509(1509) 1510(1509)
1510(1509) 1510(1510) 1510(1510) 1510(1510) 1510(1509) 1510(1509) 1509(1509) 1510(1509) 1509(1509) 1510(1509)
1510(1509) 1510(1510) 1510(1510) 1510(1510) 1510(1509) 1510(1509) 1509(1509) 1510(1509) 1509(1509) 1510(1509)
1510(1509) 1510(1510) 1510(1510) 1510(1510) 1510(1509) 1510(1509) 1509(1509) 1510(1509) 1509(1509) 1510(1509)
1510(1509) 1510(1510) 1510(1510) 1510(1510) 1510(1509) 1510(1509) 1509(1509) 1510(1509) 1510(1509) 1510(1509)
ACT (minute)
0.118
0.108
0.097
0.090
0.105
The value in parentheses is the lower bound.
Table 8 Evaluation of the simplification rule by Set VI in Bierwirth and Meisel (2009). #
VI1
VI2
VI3
VI4
VI5
VI6
VI7
VI8
VI9
VI10
d=1
W CPU
837 0.05
840 0.05
834 0.07
822 0.02
747 0.03
777 0.03
864 0.03
945 0.05
822 0.05
930 0.02
d=2
W CPU
822 0.05
837 0.05
834 0.07
822 0.05
747 0.05
741 0.05
864 0.07
906 0.02
822 0.05
930 0.03
d=3
W CPU
816 0.07
828 0.12
834 0.08
822 0.03
735 0.05
735 0.05
858 0.10
891 0.05
822 0.08
900 0.07
d=4
W CPU
810 0.07
795 0.08
834 0.13
822 0.13
735 0.10
735 0.08
852 0.10
882 0.07
813 0.12
897 0.08
d=5
W CPU
810 0.15
789 0.10
834 0.25
804 0.12
717 0.12
735 0.12
852 0.23
882 0.12
813 0.13
897 0.12
d=6
W CPU
810 0.32
789 0.12
834 0.55
801 0.23
717 0.13
735 0.17
852 0.58
876 0.12
813 0.37
897 0.17
d=7
W CPU
810 0.37
786 0.13
834 0.83
801 0.28
717 0.25
735 0.22
852 1.50
876 0.27
813 0.47
897 0.25
d=8
W CPU
810 0.62
786 0.15
834 0.88
801 0.43
717 0.53
735 0.50
852 3.28
876 0.32
813 0.65
897 0.37
d=9
W CPU
810 0.88
786 0.20
834 1.72
801 0.55
717 0.47
735 0.55
852 1.98
876 0.38
813 1.02
897 0.70
d = 10
W CPU
810 0.87
786 0.45
834 2.77
801 2.13
717 0.95
735 0.68
852 10.83
876 0.38
810 1.15
897 0.55
d=1
W CPU
810 4.28
786 1.08
834 14.13
801 6.55
717 8.72
735 2.40
852 290.27
876 1.40
810 10.02
897 4.55
to optimality within 2 minutes. Fig. 4 presents the scheduling plans for the instance 10 obtained by 3 methods, i.e., manual scheduling, LTM, and by solving F.
Furthermore, besides the above two benchmark suites and the real data from Medcenter container terminal, we also used the instance generator introduced in Bierwirth and Meisel (2009) to
207
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
produce other two sets of testing instances (i.e., sets D and E). In the set D, different spatial distributions of container groups are considered for a large sized vessel (number of bays 20, bay capacity 600) under a low handling rate f = 0.2 and a high handling rate f = 0.8. The number of container groups is 100 and the number of cranes is 4. In the set E, a large sized vessel is considered where the precedence density varies from g = 0.8 to 1.0. Other parameters are as in the set D. Tables 6 and 7 summarize the results and show that CPLEX can solve the 110 instances within 1 minute. Finally, the proposed model by adopting the simplification rule is evaluated by the large-scale instances in the set VI of Bierwirth and Meisel (2009). We let d vary from 1 to 10 and Table 8 summarizes the results. According to Table 8, when d = 10, by adopting the rule, the same solution quality can be achieved in significantly less time for all the 10 instances compared with the approach by solving F alone. Note that, for most of the cases (see the bold values in Table 8), choosing d = 7 is enough to guarantee that the model F can be efficiently solved with a minor loss in optimality. 4. Conclusion This paper studies the unidirectional cluster-based QCSP. Compared to other MIP models for the cluster-based QCSP, the proposed model is compact since it only involves a small pool of binary decision variables. To speed up the solving of the proposed model, a rule aiming to restrict the pattern of task assignment is expressed as constraints. While adopting such a rule does not always lead to an optimal scheduling plan, it can advance the solution for large instances. In additional, a relaxed formulation is devised as well to obtain a tighter lower bound for the unidirectional cluster-based QCSP. To test the performance of the proposed MIP model (solved by CPLEX), comprehensive numerical experiments have been conducted to assess the quality of the QCSP solution methods. Based on the experiment results, the proposed method outperforms the LTM algorithm developed in Legato et al. (2012). The advantages of our proposed MIP model are: (1) The proposed model is much easier to formulate. Fewer binary decision variables are introduced for the proposed model. Apart from this, the proposed model also get other great features. For example, in order to use other models for the cluster-based QCSP, usually users need to calculate the minimal temporal distance Dvij w and the set H (see Appendix A). However, in the proposed MIP model, Dvij w and H do not need calculation beforehand. Besides, since Dvij w and H are functions of d and ^t, if d and ^t vary, the formulation developed based on the previous values of d and ^t is no longer valid for the new d and ^t. Also, this would become troublesome as users might try to analyze the cluster-based QCSP with uncertainty driven by ^t; (2) Even for large and challenging instances, the proposed model can be efficiently solved by standard optimization solvers, e.g., CPLEX. (3) The proposed model can be generalized to a rich unidirectional cluster-based QCSP model with small modifications. (4) The proposed model is the first MIP model for the cluster-based QCSP immune to the error generated by ignoring the phenomena of blocking at the initial stage of the scheduling. Acknowledgements The authors like to thank Dr. Frank Meisel (School of Economics and Business, Martin-Luther-University Halle-Wittenberg, Germany) and Dr. Roberto Trunfio (Department of Electronics, Computer and System Sciences, University of Calabria, Italy) for providing the benchmark suites and patient instruction.
Appendix A. To fix the issue of initial/final stage blocking The previous MIP formulations proposed in Kim and Park (2004) to Legato et al. (2012) fail to consider the blocking phenomena of quay cranes at the initial/final stage. In their models, two dummy tasks 0 and T are used to indicate the beginning and the end of the service of the vessel. However, in order to reflect the blocking phenomena of quay cranes at the initial/final stage of the scheduling, instead of dummy tasks 0 and T, two sets of dumn o n o k k my tasks 0k jp0k ¼ r k ; l0k ¼ l0 and T k jpT k ¼ 0; lT k ¼ lT could k2Q
k2Q
be introduced. Note that the tasks 0k and Tk are the first task and final task assigned to the quay crane k. Thus, by such a transformation, each quay crane is ready to serve the vessel at time 0. Let X ¼ X [ f0k gk2Q [ fT k gk2Q ; X0k ¼ X [ f0k g; XT k ¼ X [ fT k g; tij ¼ ^tjli lj j ði; j 2 XÞ and redefine the minimal temporal distance proposed in Bierwirth and Meisel (2009):
8 ^ > < ðli lj þ dv w Þt; if v < w; i – j; li > lj dv w Dijv w ¼ ðlj li þ dv w Þ^t; if v > w; i – j; li < lj dv w > : 0; otherwise
Here, i; j 2 X (note that X is used instead of X), v, w 2 Q and dvw = (d + 1)jv wj. Let H denote the set of all combinations of tasks and quay cranes that potentially lead to crane interference.
n
o
H ¼ ði; j; v ; wÞ 2 X2 Q 2 jði < jÞ ^ Dvij w > 0
The corrected MIP formulation (based on the one in Bierwirth & Meisel (2009)) is:
min : cmax X xk0k j ¼ 1; s:t:
ðA:Appendix 1Þ ðk 2 Q Þ
ðA:Appendix 2Þ
ðk 2 Q Þ
ðA:Appendix 3Þ
j2XT k
X
xkjT k ¼ 1;
j2X0k
XX
xkij ¼ 1;
k2Q j2XT k
X
xkji
j2X0k
X j2X
ðA:Appendix 4Þ
ði 2 XÞ
xkij ¼ 0;
ði 2 X; k 2 Q Þ
ðA:Appendix 5Þ
Tk
ci þ t ij þ pj cj 6 M 1 xkij ;
ði; j; 2 X; k 2 Q Þ ðA:Appendix 6Þ
ci þ pj cj 6 0;
ðði; jÞ 2 UÞ
ci þ pj cj 6 Mð1 zij Þ; cj pj ci 6 Mzij ;
ðA:Appendix 7Þ
ði; j 2 XÞ
ðA:Appendix 8Þ
ði; j 2 XÞ
ðA:Appendix 9Þ
zij þ zji ¼ 1; ðði; jÞ 2 WÞ X xw m xvui þ uj 6 1 þ zij þ zji ;
u2X0v
ðA:Appendix 10Þ
u2X0w
ðði; j; v ; wÞ 2 HÞ
0
ci þ Dijv w þ pj cj 6 M @3 zij
X u2X
ðði; j; v ; wÞ 2 HÞ
0
cj þ Dijv w þ pi ci 6 M @3 zji
xvui
0v
X u2X0v
ðA:Appendix 11Þ 1 X wA xuj ; u2X0w
xvui
ðA:Appendix 12Þ 1 X wA xuj ; u2X0w
ðði; j; v ; wÞ 2 HÞ
ðA:Appendix 13Þ
ci P 0;
ðA:Appendix 14Þ
ði 2 XÞ
ci 6 cmax ; xkij
2 f0; 1g;
zij 2 f0; 1g;
ði 2 fT k gk2Q Þ ði; j 2 X; k 2 Q Þ ði; j 2 XÞ
ðA:Appendix 15Þ ðA:Appendix 16Þ ðA:Appendix 17Þ
208
J.H. Chen et al. / European Journal of Operational Research 232 (2014) 198–208
References Bierwirth, C., & Meisel, F. (2009). A fast heuristic for quay crane scheduling with interference constraints. Journal of Scheduling, 12(4), 345–360. Daganzo, C. F. (1989). The crane scheduling problem. Transportation Research Part B – Methodological, 23(3), 159–175. Kim, K. H., & Park, Y. M. (2004). A crane scheduling method for port container terminals. European Journal of Operational Research, 156(3), 752–768. Lee, D. H., & Chen, J. H. (2010). An improved approach for quay crane scheduling with non-crossing constraints. Engineering Optimization, 42(1), 1–15. Lee, D. H., Wang, H. Q., & Miao, L. X. (2008). Quay crane scheduling with noninterference constraints in port container terminals. Transportation Research Part E – Logistics and Transportation Review, 44(1), 124–135. Legato, P., Trunfio, R., & Meisel, F. (2012). Modeling and solving rich quay crane scheduling problems. Computers and Operations Research, 39(9), 2063–2078. Lim, A., Rodrigues, B., Xiao, F., & Zhu, Y. (2004). Crane scheduling with spatial constraints. Naval Research Logistics, 51(3), 386–406. Lim, A., Rodrigues, B., & Xu, Z. (2004). Approximation schemes for the crane scheduling problem. In T. Hagerup & J. Katajainen (Eds.), 9th Scandinavian workshop on algorithm theory (pp. 323–335). Springer. Lim, A., Rodrigues, B., & Xu, Z. (2007). A m-parallel crane scheduling problem with a non-crossing constraint. Naval Research Logistics, 54(2), 115–127.
Liu, J., Wan, Y., & Wang, L. (2006). Quay crane scheduling at container terminals to minimize the maximum relative tardiness of vessel departures. Naval Research Logistics, 53(1), 60–74. Meisel, F. (2011). The quay crane scheduling problem with time windows. Naval Research Logistics, 58(7), 619–636. Meisel, F., & Bierwirth, C. (2011). A unified approach for the evaluation of quay crane scheduling models and algorithms. Computers and Operations Research, 38(3), 683–693. 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. Monaco, M., & Sammarra, M. (2011). Quay crane scheduling with time windows, one-way and spatial constraints. International Journal of Shipping and Transport Logistics, 3(4), 454–474. Ng, W. C., & Mak, K. L. (2006). Quay crane scheduling in container terminals. Engineering Optimization, 38(6), 723–737. Peterkofsky, R. I., & Daganzo, C. F. (1990). A branch and bound solution method for the crane scheduling problem. Transportation Research Part B – Methodological, 24(3), 159–172. Sammarra, M., Cordeau, J., Laporte, G., & Monaco, M. (2007). A tabu search heuristic for the quay crane scheduling problem. Journal of Scheduling, 10(4), 327–336. Zhu, Y., & Lim, A. (2006). Crane scheduling with non-crossing constraint. Journal of the Operational Research Society, 57(12), 1464–1471.