Professional Documents
Culture Documents
To cite this article: S.H. Chung & Felix T.S. Chan (2013) A workload balancing genetic algorithm for the quay crane
scheduling problem, International Journal of Production Research, 51:16, 4820-4834, DOI: 10.1080/00207543.2013.774489
Taylor & Francis makes every effort to ensure the accuracy of all the information (the “Content”) contained
in the publications on our platform. However, Taylor & Francis, our agents, and our licensors make no
representations or warranties whatsoever as to the accuracy, completeness, or suitability for any purpose of the
Content. Any opinions and views expressed in this publication are the opinions and views of the authors, and
are not the views of or endorsed by Taylor & Francis. The accuracy of the Content should not be relied upon and
should be independently verified with primary sources of information. Taylor and Francis shall not be liable for
any losses, actions, claims, proceedings, demands, costs, expenses, damages, and other liabilities whatsoever
or howsoever caused arising directly or indirectly in connection with, in relation to or arising out of the use of
the Content.
This article may be used for research, teaching, and private study purposes. Any substantial or systematic
reproduction, redistribution, reselling, loan, sub-licensing, systematic supply, or distribution in any
form to anyone is expressly forbidden. Terms & Conditions of access and use can be found at http://
www.tandfonline.com/page/terms-and-conditions
International Journal of Production Research, 2013
Vol. 51, No. 16, 4820–4834, http://dx.doi.org/10.1080/00207543.2013.774489
A workload balancing genetic algorithm for the quay crane scheduling problem
S.H. Chung* and Felix T.S. Chan
Department of Industrial and Systems Engineering, The Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong
(Received 16 May 2012; final version received 31 January 2013)
This paper proposes a novel genetic algorithm to deal with the quay crane scheduling problem (QCSP), which is known
to be one of the most critical tasks in terminal operations because its efficiency and the quality of the schedule directly
influence the productivity of the terminal. QCSP has been studied intensively in recent years. Algorithms in this field are
concerned in the solution quality obtained and the required computational time. As QCSP is known to be NP-hard, heu-
ristic approaches are widely adopted. The genetic algorithm proposed is constructed with a novel workload balancing
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
heuristics, which is capable of considering the loading conditions of different quay cranes (QCs) during the reassignment
of task-to-QC. The idea is modelled as a fuzzy logic controller to guide the mutation rate and mutation mechanism of
the genetic algorithm. As a result, the proposed algorithm does not require any predefined mutation rate. Meanwhile, the
genetic algorithm can more adequately reassign tasks to QCs according to the QCs’ loading condition throughout the
evolution. The proposed algorithm has been tested with the well-known benchmark problem sets in this field and pro-
duces some new best solutions in a much shorter computational time.
Index Terms: terminal operations; container; quay crane scheduling; genetic algorithm; fuzzy logic
1. Introduction
Quay cranes (QCs) are the most important and crucial equipment and assets in seaport terminals, requiring the greatest
investment among all other facilities. Their efficiency in discharging a container from a vessel and loading a container
on to a vessel is usually used to measure the productivity of a terminal (Lee et al. 2002; Bierwirth and Meisel 2010). In
general, the quay crane scheduling problem (QCSP) refers to: (1) the allocation of quay cranes to handle the discharging
and loading operations; and (2) the service sequence of ship bays in a vessel of each quay crane (Daganzo 1989). The
objective is to minimise the completion time of a vessel operation known as makespan. The operation of discharging or
loading a container is regarded as a task, which can be generally defined based on bay areas, complete bays, groups of
containers in the same bay, and individual containers (Bierwirth and Meisel 2009; Bierwirth and Meisel 2010).
As a result of the practical environment, QCSP is subjected to two types of physical constraint. From QCs, they are
mounted on a railway line along the quay side of a berth in the terminal, allowing them to move alongside the vessels
berthed to perform operations, as shown in Figure 1. As they are mounted on the same railway, they are not allowed to
cross each other, defined as the well-known crane interference constraint. In addition, because of their physical size, two
adjacent QCs must be apart from each other by at least one ship bay, known as the safety margin constraint in most of
the literature (i.e., Kim and Kim 1999; Kim and Park 2004; Sammarra et al. 2007; Bierwirth and Meisel 2010). From
vessels, they are usually classified into the upper part, called the deck, and the lower part, called the hold. Altogether,
they are used to define the precedence relationship of tasks at the same ship bay. When several operations are performed
at the same ship bay, all discharging operations must precede the loading operations. Discharging operations on the deck
must precede discharging operations in a hold. For loading, all the loading operations in a hold must precede the load-
ing operations on the deck (Kim and Park 2004).
The objective of this paper is to propose a modified genetic algorithm to deal with the QCSP. The proposed
algorithm applies a workload balancing heuristic approach to enhance the searching ability of the genetic algorithm by
controlling the mutation rates and mutation mechanism. The rest of the paper is divided into the following sections. Sec-
tion 2 gives a literature review on QCSP. Section 3 discusses the problem background, the objective function, and the
problem constraints. Section 4 presents the proposed fuzzy guided genetic algorithm approach. Section 5 demonstrates
the optimisation performance of the proposed algorithm by comparing it with other well-known existing approaches in
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
this area that have the same benchmarking data sets. The paper concludes in Section 6.
2. Literature review
The first QCSP was studied by Daganzo (1989) on a multi-vessel model, investigating the methodology of assigning
the number of QCs to the ship bays in minimising the departure time of vessels. He proposed mixed integer program-
ming to solve the problem in minimising the total delay cost. Later on, Daganzo and Peterkofsky (1990) studied the
model further by assigning a QC to individual holds at a specific time segment using the branch-and-bound (B&B)
method for solving large-scale problems. In both studies, they assumed one task per ship bay, and the interference of
cranes as well as the precedence relationship of task on the same ship bay were not considered.
In general, research in QCSP can be classified into two streams, complete bays and container groups. Complete bays
may also be regarded as one task per ship bay (Lim et al. 2004; Zhu and Lim 2006). Because of its nature, Lim, Rodri-
gues, and Xu (2007) have proven that, if all the QCs on the same rail only move along an identical direction from the
lower to the upper ship bays, there is always at least an optimal schedule. This is defined as unidirectional schedule.
Liu, Wan, and Wang (2006) have also applied this in their mixed integer programming formulation. Bierwirth and Mei-
sel (2009) also applied this in their heuristics algorithm as one of the searching methods. However, in their study, they
also stated that in the situation of stacking container groups, an optimal solution may not necessarily exist in a unidirec-
tional schedule because, in such an approach, a precedence relationship of tasks exists.
Another stream in the QCSP is container groups, which is relatively more complicated. The QCSP studied in this
paper is also in this category. Kim and Park (2004) formulated it as a mixed integer linear model, solving it by the
B&B method and greedy randomised adaptive search procedure (GRASP). The result indicated that B&B performs bet-
ter in small-scale problems. When the number of tasks and the number of QCs increased to 20 and three, the computa-
tional time required by B&B increased rapidly. Later on, Moccia et al. (2006) revised the model of Kim and Park
(2004) by indicating that the crane interference cannot be avoided. They consolidated the lower bound and the upper
bound for the completion time. They proposed a branch-and-cut (B&C) algorithm and introduced a preprocessing tech-
nique to reduce the problem size and the separation heuristic method. The results indicated that B&C outperformed the
B&B method proposed by Kim and Park (2004) and the computational time can be controlled within 2 h. Lee, Wang,
and Miao (2006) first proved that QCSP is NP-complete and therefore proposed a genetic algorithm approach to solve
the problem. However, they have not compared their algorithm with the well-known benchmarking data set in the field.
Sammarra et al. (2007) studied further the revised model of Moccia et al. (2006). They proposed the tabu search (TS)
algorithm, where the neighbourhood searches are based on a disjunctive graph. Although the computational times
improve significantly, the solution qualities obtained are relatively poorer than with the B&C algorithm. Recently,
Bierwirth and Meisel (2009) revised further the model of Moccia et al. (2006), indicating that crane interference cannot
be avoided in some cases. In addition, the safety margin constraints have also been corrected.
Task (original) 1 2 3 4 5 6 7 8 9 10
Bay 2 10 3 2 6 2 7 7 3 5
Processing time 41 19 6 12 37 34 48 10 56 3
1 – Deck/2 – hold 2 1 1 2 1 1 1 2 2 2
1 – Load/2 – unload 1 1 2 2 2 1 2 1 2 2
consists of I tasks and K quay cranes. Each task i has a processing time pi located at a bay liT . It can be either a loading
or a discharging operation and either on the deck or in the hold at different ship bays, as in Table 1. The following
notations are used to describe the problem throughout the paper.
Problem data
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
Variables
cQkb the completion time of quay crane k at bay b
cTi the completion time of task i
ciP the completion time of task i’s precedent task
SiT the starting time of task i at bay liT
Decision variables
xkij = 1, if quay crane k performs task i after performing task j;
= 0, otherwise.
The problem is to determine the task-to-QC assignment and the corresponding serving sequence. The objective is to
minimise the makespan cmax of tasks, as in Equation (1). If there is no other crane blocking the railway during the trav-
elling, the completion time is equal to the starting time plus the processing time, as in Equation (3). The starting time
will equal the completion time of the previous task plus the travelling time, as in Equation (4). Constraints (5) ensure
that the starting time of a task must be greater than the completion time of its previous task.
where
Figure 2. Example of precedence relationship constraints for a QC moving from right to left.
Problem constraints
Figure 3. Example of crane interference constraints for a QC moving from right to left.
4824 S.H. Chung and F.T.S. Chan
Figure 4. Example of crane interference constraints for a QC moving from right to left.
the starting time for QC k will change from Equation (4) to Equation (7), which is equal to the completion time of the
task cQ
k 0 b0 plus the distance between the blocked bay to the targeted bay and the safety margin.
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
where cQ Q
k 0 b0 ¼ maxfck 0 @1 g
In the situation if the blocking existed at the bay one further from the targeted bay, as in Figure 4, the QC k will
have to wait just next to the target bay. Therefore, the starting time will become the completion time of the task cQ k 0 b0
plus one bay travelling distance, as shown in Equation (8). It is noted that the blocking crane k 0 should travel to two
bay units apart from bay ljT after completion. During the travelling, if QC k 0 is blocked by its adjacent QC, this situation
will be prevented by giving a very large value to the completion time CjT .
Task 1 2 3 4 5 6 7 8 9 10
Bay 2 2 2 3 3 5 6 7 7 10
Processing time 12 41 34 6 56 3 37 48 10 19
International Journal of Production Research 4825
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
on the right will always perform the set of tasks earlier than the one on the left. The tasks are serviced in the sequence
from left to right in the chromosome. In the example, QC 2 will perform tasks 6, 8, 9, and 10, while QC 1 will perform
tasks 1, 2, 3, 4, 5, and 7. Assuming all the tasks having the same operating time, the corresponding crane schedule is
plotted.
completion of task 4 because of the precedence constraints. This violates the encoding of the chromosome. Thus, the
value of the fifth gene will change into the QC number of its precedence task.
from bay 2 to bay 3. Similarly, QC 2 will be 82 unit time with two unit time travelling from bay 2 to 6, and QC 3 will
then be 83 unit time. Thus, a workload balancing heuristics is proposed to guide the mutation. It determines: the number
of tasks; and the direction of tasks released to the adjacent crane in order to balance the workload of cranes. If a QC’s
loading is higher than its adjacent one, certain loading should be released.
To compare the workload balancing between the QCs, the concept of fuzzy logic will be applied. Three input data
are used to evaluate a situation, including: (1) crane loading condition CL; (2) pressure given by its adjacent cranes
from the left PL; and (3) pressure given by its adjacent cranes from the right PR. CL is classified as low (L), normal
P
(N), and heavy (H), as in Figure 10. If the loading is 10% lower than the average loading (g ¼ Ii pi=K), the loading is
defined as low, same as g normal, and 10% more than g as heavy. PL and PR are classified as low (L), normal (N), and
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
high (H).
Based on the input data, the output will indicate the number of tasks released to the left or right adjacent crane,
respectively, as shown in Figure 11, named as output sets RL and RR, respectively. The number of tasks being released
will be equal to 0 (zero (Z)), 1 (few (F)), 2 (normal (N)), and 3 (many (M)), representing the number of tasks being
mutated to the adjacent QC. One task represents one gene. To link the output with the input data, a set of fuzzy rules is
constructed as shown in Figure 12. For defuzzification, the common and useful method, centre of gravity, will be used
for the influence of each rule on the output, as shown in Equation (9). In the fuzzy rules, if two cranes have the same
loading, then the crane loading is defined as normal. If a crane has 10% less than its adjacent one, it is low. Similarly,
10% more is high. For example, if the CL is H, PL is L and PR is H, then the number of tasks releasing to the left RL
will be Z, and to the right RR it will be M.
X .X
Z ¼ zl(zj ) z (9)
Accordingly, in mutation operation, a QC will be randomly selected, for example QC 2 in Figure 13. The loading of
QC 2 and the pressure from its adjacent cranes QCs 1 and 3 will be the input data. After defuzzification, if the output
is to release one task (gene) to the crane on the left (QC 1), a gene will be randomly selected from the lower half of
Instance Set A B C D E F G H I
No. of tasks 10 15 20 25 30 35 40 45 50
No. of QCs 2 2 3 3 4 4 5 5 6
Evolution 10 20 50 500 1000 5000 10,000 50,000 100,000
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014
A 13 453 0 0 0 0 0 0 0 0 0
14 546 0 0 0 0 0 0 0 0 0
15 513 0 0 0 0 0 0 0 0 0
16 312 0 0 0 0 0 0 0 0 0
17 453 0 0 0 0 0 0 0 0 0
18 375 0 0 0 0 0 0 0 0 0
19 543 0 0 0 0 0 0 0 0 0
20 399 0 0 0 0 0 0 0 0 0
21 465 0 0 0 0 0 0 0 0 0
22' 540 0 0 0 0 0 0 0 0 0
B 23 576 0 1.0 1.9 0 0 0 0 0 0
24 666 0.5 1.4 1.7 0 0 0 0 0 0
25 738 0 1.6 3.6 0 0 0 0 0 0
26 639 0.9 1.9 2.6 0 0 0 0 0 0
27 657 0.5 1.4 2.5 0 0 0 0 0 0
28 531 0 1.1 1.9 0 0 0 0 0 0
29 807 0.4 1.1 3.2 0 0 0 0 0 0
30 891 0.3 1.7 4.3 0 0 0 0 0 0
31 570 0 1.1 2.9 0 0 0 0 0 0
32 591 0 1.0 2.8 0 0 0 0 0 0
C 33 603 1.5 4.5 7.8 0 0 0 0 0 0
34 717 0.8 2.1 2.6 0 0 0 0 0 0
35 684 0 2.2 7.8 0 0 0 0 0 0
36 678 0 1.8 3.6 0 0 0 0 0 0
37 510 0 1.8 2.8 0 0 0 0 0 0
38 618 0.7 1.9 4.9 0 0 0 0 0 0
39 513 1.5 1.8 1.9 0 0.5 1.6 0 0 0
International Journal of Production Research
WBGA
Best KP MCGL SCLM BM
Set No. known GRASP B&C TS UDS Min Max SD Sec
the segment, which consists of the tasks being assigned to that crane (QC 2). Otherwise, it will be selected from the
upper half to the right. The purpose is to avoid the long waiting time induced by crane interference.
the well-known benchmarking data set used in QCSP. The data set was originally introduced by Kim and Park (2004),
containing nine instance sets of different problem size with 10 instances each, as in Table 3. The data set has been
solved by many researchers with different algorithms in the literature, including B&B and GRASP by Kim and Park
(2004), B&C by Moccia et al. (2006), TS by Sammarra et al. (2007), unidirectional search (UDS) by Bierwirth and
Meisel (2009), and LTM by Legato et al. (2012), summarised in Table 4. The proposed algorithm WBGA is pro-
grammed in Java language and run on a PC with Pentium 4 CPU with 2G RAM, the genetic parameters applied are:
pool size –10, crossover rate –0.1, and the number of evolutions is given in Table 3.
WBGA
2009 2012
Set No. LB UDS LTM Min % Avg Max SD Sec
improve the solution quality obtained. In addition, by comparing SGA-2 and WBGA, the importance of workload bal-
ancing can be analysed. The results indicated that an average makespan obtained by WBGA is even smaller. Moreover,
the number of evolutions required is less. This demonstrated that the approach of workload balancing can improve fur-
ther the searching ability of GA in this problem. The number of evolutions required is less.
International Journal of Production Research 4833
To test further the optimisation reliability and quality of the proposed algorithm, a comparison was carried out in
instances 13–49, and the results are summarised in Table 4. The column ‘Best known’ indicates the best known results
found up to 2012 since Kim and Park (2004). For Nos 22 and 42, after correcting the QC interference and safety
margin constraints according to Bierwirth and Meisel (2009), the valid answers should be larger than those found by
Moccia et al. (2006). The lower bounds for Nos 38, 39, 41, 42, 43, 44, 45, 48, and 49 are 613.67, 508.38, 585.06,
560.31, 859.32, 820.35, 824.88, 628.87, and 879.22, respectively. Other best known values listed are known to be
optimal. The optimisation results are represented in the percentage difference between the solution and the best known,
% = (Best Known– Solution Known)/Best Known 100. The results indicate that SGA-1 cannot obtain the best known
solution, whereas SGA-2 and WBGA can. In addition, by applying workload balancing in the mutation approach, the
standard deviation of the solutions improves in WBGA from SGA-2. The overall results demonstrate the importance of
the proposed mutation approach.
existing algorithms found in the literature, as shown in Table 5. The result shows that it is as good as UDS heuristics.
Both can achieve all the best known solutions found in the literature. However, WBGA outperforms UDS heuristics and
found a new best solution in No. 48 by getting a solution 0.5% closer to the lower bound. In addition, the standard
deviations for all the instances in the 10 runs are approximately zero, demonstrating the stability of the proposed
WBGA.
6. Conclusion
This main contribution of this paper is to propose a genetic algorithm with a workload balancing heuristics to guide the
mutation operation. The loading situation of a crane and the pressure given by its adjacent cranes on the left and right
are modelled by using the concept of fuzzy logic as input data to determine the corresponding output actions. It guides
the number of genes that mutate and the direction of task-to-crane reassignment. Therefore, the proposed algorithm does
not require a predefined mutation rate. The proposed algorithm has been tested by comparing the solution quality and
the computation time with various existing algorithms in the literature on the well-known benchmark data set used in
QCSP, including the approaches B&B, GRASP, B&C, TS, UDS, and LTM. The results demonstrate that the proposed
mutation approach can improve the genetic search and reduce the number of evolutions required. In addition, the results
also demonstrate that the proposed algorithm outperforms others and obtained a number of new best solutions in some
data sets. The computation time required is much shorter.
4834 S.H. Chung and F.T.S. Chan
References
Bayir, M. A., I. H. Toroslu, and A. Cosar. 2007. “Genetic Algorithm for the Multiple-Query Optimization Problem.” IEEE Transac-
tions on Systems, Man, and Cybernetics Part C 37 (1): 147–153.
Bierwirth, C., and F. Meisel. 2009. “A Fast Heuristic for Quay Crane Scheduling with Interference Constraints.” Journal of Schedul-
ing 12: 345–360.
Bierwirth, C., and F. Meisel. 2010. “A Survey of Berth Allocation and Quay Crane Scheduling Problems in Container Terminals.”
European Journal of Operational Research 202: 615–627.
Daganzo, C. F. 1989. “The Crane Scheduling Problem.” Transportation Research Part B: Methodological 23: 159–175.
Daganzo, C. F., and R. I. Peterkofsky. 1990. “A Branch and Bound Solution Method for the Crane Scheduling Problem.” Transporta-
tion Research Part B 24: 159–172.
Espejo, P. G., S. Ventura, and F. Herrera. 2010. “A Survey on the Application of Genetic Programming to Classification.” IEEE
Transactions on Systems, Man, and Cybernetics Part C 40 (2): 121–144.
Grefenstette, J. J. 1986. “Optimization of Control Parameters for Genetic Algorithms.” IEEE Transactions on Systems, Man, and
Cybernetics 16 (1): 122–128.
Gua, Z. X., W. K. Wong, S. Y. S. Leung, J. T. Fan, and S. F. Chan. 2008. “A Genetic-Algorithm-Based Optimization Model for
Solving the Flexible Assembly Line Balancing Problem with Work Sharing and Workstation Revisiting.” IEEE Transactions on
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014