You are on page 1of 16

This article was downloaded by: [Van Pelt and Opie Library]

On: 24 October 2014, At: 13:11


Publisher: Taylor & Francis
Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House,
37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Production Research


Publication details, including instructions for authors and subscription information:
http://www.tandfonline.com/loi/tprs20

A workload balancing genetic algorithm for the quay


crane scheduling problem
a a
S.H. Chung & Felix T.S. Chan
a
Department of Industrial and Systems Engineering , The Hong Kong Polytechnic
University , Hung Hom , Kowloon , Hong Kong
Published online: 08 May 2013.

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

To link to this article: http://dx.doi.org/10.1080/00207543.2013.774489

PLEASE SCROLL DOWN FOR ARTICLE

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

*Corresponding author. Email: mfnick@inet.polyu.edu.hk


Ó 2013 Taylor & Francis
International Journal of Production Research 4821

Figure 1. Outline of quay cranes and vessel.

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.

3. Problem description and modelling


3.1 Problem description
This paper studies the QCSP, which has been studied by Kim and Park (2004), Moccia et al. (2006), Sammarra et al.
(2007), and Bierwirth and Meisel (2009). It is classified in the research stream of container groups. The problem
4822 S.H. Chung and F.T.S. Chan

Table 1. Sample of raw data set.

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

i, j index of task, where i, j = 1, …, I


b index of bay, where b = 1, …, B
k index of quay crane, where k = 1, …, K
pi processing time required by task i
liT the location of task i expressed in a bay number
lkQ the location of quay crane k expressed in a bay number
tijT travelling time required by a quay crane from location of task i (liT ) to the location of task j (ljT ). In the situation without
blocking and waiting, tijT = | liT  ljT |. One bay required one unit time.

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.

Objective Z : MIN ½cmax ; (1)

where

cmax ¼ maxi2I fcTi g (2)

cTi ¼ sTi þ pi (3)


International Journal of Production Research 4823

Figure 2. Example of precedence relationship constraints for a QC moving from right to left.

SiT ¼ xkij (CjT þ tijT ) (4)

Problem constraints

sTi  xkij cTj (5)


Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

3.2 Precedence relationship


The calculation of task starting time sTi may be changed from Equation (4) to Equation (6) when the precedence rela-
tionship is involved for certain tasks. When a bay contains more than one task, those tasks at the same bay must be
restricted by precedence constraints as introduced in the Introduction. A task i can start only after the completion of its
precedent task cPi . If the consecutive tasks are handled by the same QC, a task can start right after the completion of the
precedent task. Then Equation (4) can still be used. However, if it is handled by another QC k, the earliest available
time of QC k at the targeted bay will be compared with the completion time of its precedent task. If it is earlier than
that, QC k will have to wait at two bay units apart from the targeted bay as in Figure 2 and Equation (6) will be used,
otherwise Equation (4) can still be used. In Equation (6), the starting time of task SiT will become the completion time
of the precedent task in the targeted bay plus the two unit bay time.

sTi ¼ xkij cPi þ 2 (6)

3.3 Crane interference


Crane interference constraints avoid QCs across each other. When a QC k travels from a bay liT to a bay ljT , it has to
check whether there are any other QC(s) performing task(s) between all the bays between them and those bays denoted
as set @. In addition, it is necessary to consider one bay further from the targeted bay ljT because of the QC safety margin
constraints. In general, there will be two situations, QC k travelling to Case I: left or Case II: right. For Case I, if
liT > ljT , then @ = all the bays between liT and ljT – 1. For Case II, liT > ljT , then @ = all the bays between liT and ljT + 1.
If blocking exists between the current bay and the targeted bay as in Figure 3, QC k has to wait two bay units apart from
the blocking bay b0 until the task completed by the blocking QC k 0 at time cQ k 0 b0 because of the safety margin. For Case I,
the blocking by the adjacent QC on the left k 0 ¼ k  1 will be checked, whereas for Case II, k 0 ¼ k þ 1. In this situation,

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

sTi ¼ cQk0 b0 þ jljT  lbT0 j þ 2; (7)

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 .

sTi ¼ cQk0 b0 þ 1 (8)

4. Methodology: workload balancing genetic algorithm


Genetic algorithms (GAs) are well known to be robust in handling scheduling problems (Grefenstette 1986; Srinivas
and Patnaik 1994; Merelo et al. 2002; Bayir, Toroslu, and Cosar 2007; Gua et al. 2008). In addition, a GA has been
applied successfully with fuzzy logic in many papers (Sonia 2003; Espejo, Ventura, and Herrera 2010). In this paper, a
workload balancing heuristics is applied in a GA to enhance the mutation operation.

4.1 Data preprocessing


Tasks in Table 1 will be rearranged in ascending order of their relative locations in the direction of increasing bay num-
ber, and in precedence order, as in Table 2.

4.2 Encoding and decoding of chromosome


Figure 5 shows the outline of the proposed workload balancing genetic algorithm (WBGA). The proposed approach
does not require a predefined mutation rate, which will be guided by a workload balancing heuristics. In encoding, a
chromosome consists of I genes, as show in Figure 6. Each gene represents an assignment of a crane to a task. Figure 2
shows a sample for the problem in Table 2 with two QCs being assigned. For decoding, a unidirectional search
approach is applied. The QC with a larger number has a higher priority to perform its set of tasks, meaning that the QC

Table 2. Sample of raw data set after data preprocessing.

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

Figure 5. Outline of proposed workload balancing genetic algorithm.

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.

4.3 Crossover operations


Crossover exchanges a certain portion of chromosome between two chromosomes. Thus, a number of genes will be ran-
domly selected depending on a predefined crossover rate cr. Figure 7 gives an example of two-point crossover, in which
the parents are generated based on the data in Table 2. In the example, two genes are randomly selected (the fifth and
seventh) for crossover. After crossover, the offspring O1 becomes invalid because task 5 cannot start until the

Figure 6. Sample encoding and decoding of chromosome.


4826 S.H. Chung and F.T.S. Chan

Figure 7. Sample crossover operations.


Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

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.

4.4 Mutation operations: workload balancing heuristics approach


Mutation changes the value of genes, relating to the task-to-QC assignment. During the assignment, crane interference
constraints and workload balancing between cranes may influence the quality of the solution.

Heuristics Part 1: mutate task to adjacent QC


The reason for this proposed mutation approach is to reduce the crane interference constraints. It can easily be shown that
if a task is assigned to crane k but reassigned to a larger QC number, a long waiting time may be induced during the trav-
elling because it must wait until the operations are completed by the blocking crane(s) in its path. Figure 8 gives an
example of a poor solution caused by a poor mutation. In the example, task 7 was assigned to QC 3, but reassigned to
QC 1 after mutation. QC 1 must wait until all the operations finished by QC 2. In the situation where the completion time
of task 6 by QC 2 is longer than the one of task 3 by QC 1, a waiting time will be induced in QC 1. Thus, it is better to
avoid mutating a task from crane k to k – 2 or k + 2 or an even larger number to avoid the long waiting time. Therefore,
any gene being selected will change from k to either k – 1 or k + 1 depending on the workload balancing heuristics.

Heuristics Part 2: workload balancing heuristics


For workload balancing, it is known that if there is no crane interference and each crane is handling the same number
of tasks, the completion time of each crane can be close, with the difference spent on individual crane travelling, as
shown in Figure 9. For example, if the total processing time induced by the assigned tasks for each crane is the same,
i.e., 80 time units, then the completion time of QC 1 will be 80 + 1 = 81, where the one unit time is spent on travelling

Figure 8. Sample of poor mutation.


International Journal of Production Research 4827

Figure 9. Sample of workload balancing.

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,

Figure 10. Fuzzy input sets.

Figure 11. Fuzzy output sets.


4828 S.H. Chung and F.T.S. Chan
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

Figure 12. Rule sets.

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

Figure 13. Sample of mutation.

Table 3. Benchmark data set by Kim and Park (2004).

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

Table 4. Summary of results for instances 13–49.

SGA-1 SGA-2 WBGA


Best
Set No. known Min Max SD Min Max SD Min Max SD

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

40 564 1.1 2.7 2.8 0 0 0 0 0 0


41 588 1 1.5 2.5 0 0 0 0 0 0
42’ 573 4.4 4.2 4.4 0 0 0 0 0 0
D 43 876 4.4 5.1 5.2 0 0.5 1.6 0 0 0
44 822 4.2 5.1 2.7 0 0.5 1.5 0 0 0
45 834 4.7 6.1 4.5 0 0.5 1.6 0 0 0
46 690 4.8 7.0 3.4 0 0.5 1.5 0 0 0
47 792 3.4 6.1 5.3 0 0.5 1.5 0 0 0
48 639 5.4 5.7 2.6 0.5 0.5 2.0 0.5 0 0
49 894 4.1 4.0 4.1 0 0.5 1.6 0 0 0
4829
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

Table 5. Comparison of results for instances 13–49.


4830

WBGA
Best KP MCGL SCLM BM
Set No. known GRASP B&C TS UDS Min Max SD Sec

A 13 453 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001


14 546 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001
15 513 0.6 0.0 0.0 0.0 0.0 0.0 0.0 0.001
16 312 2.9 0.0 0.0 0.0 0.0 0.0 0.0 0.001
17 453 0.7 0.0 0.0 0.0 0.0 0.0 0.0 0.001
18 375 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001
19 543 1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.001
20 399 20.3 0.0 0.0 0.0 0.0 0.0 0.0 0.001
21 465 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.001
22’ 540 33.3 0.6 0.6 0.0 0.0 0.0 0.0 0.001
B 23 576 2.6 0.0 1.0 0.0 0.0 0.0 0.0 0.01
24 666 1.4 0.0 0.5 0.0 0.0 0.0 0.0 0.01
25 738 0.4 0.0 0.4 0.0 0.0 0.0 0.0 0.01
26 639 1.9 0.0 0.0 0.0 0.0 0.0 0.0 0.01
27 657 4.6 0.0 0.5 0.0 0.0 0.0 0.0 0.01
28 531 3.4 0.0 0.0 0.0 0.0 0.0 0.0 0.01
29 807 1.5 0.0 0.4 0.0 0.0 0.0 0.0 0.01
30 891 1.7 0.0 0.0 0.0 0.0 0.0 0.0 0.01
31 570 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.01
32 591 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.01
C 33 603 10.5 0.0 0.0 0.0 0.0 0.0 0.0 0.02
34 717 6.3 0.0 2.5 0.0 0.0 0.0 0.0 0.02
35 684 2.2 0.0 0.9 0.0 0.0 0.0 0.0 0.02
36 678 4.4 0.0 0.4 0.0 0.0 0.0 0.0 0.02
S.H. Chung and F.T.S. Chan

37 510 5.9 0.0 1.8 0.0 0.0 0.0 0.0 0.02


38 618 6.8 0.0 0.0 0.0 0.0 0.0 0.0 0.02
39 513 12.9 6.4 1.2 0.0 0.0 0.0 0.0 0.02
40 564 5.9 0.0 0.5 0.0 0.0 0.0 0.0 0.02
41 588 9.2 0.0 1.0 0.0 0.0 0.0 0.0 0.02
42’ 573 16.2 0.5 0.5 0.0 0.0 0.0 0.0 0.02
D 43 876 7.5 7.2 0.3 0.0 0.0 0.0 0.0 0.09
44 822 4.4 4.4 1.5 0.0 0.0 0.0 0.0 0.09
45 834 4.7 1.4 2.2 0.0 0.0 0.0 0.0 0.09
46 690 6.5 26.1 0.0 0.0 0.0 0.0 0.0 0.09
47 792 1.9 0.0 0.0 0.0 0.0 0.0 0.0 0.09
48 639 4.7 19.3 3.8 0.0 0.5 0.0 0.0 0.09
49 894 8.7 23.2 2.0 0.0 0.0 0.0 0.0 0.09
Note: KP, Kim and Park; MCGL, Moccia et al.; SCLM, Sammarra et al.; BM, Bierwith and Meisel.
International Journal of Production Research 4831

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.

4.5 Prevention of prematurity


To prevent the genetic search around a local optimal and pre-maturity of the solution pool, those chromosomes with the
second, third, and fourth lowest fitness values will be randomly regenerated. In addition, to prevent the loss of the best
chromosome(s), the elitist strategy is applied. In the mating pool, the weakest chromosome, which means the one with
the lowest fitness value, will be replaced by the stored best chromosome found so far during the evolution.

5. Results and discussion


The main contribution of this paper is the proposed algorithm, WBGA. In this connection, the objective of this section
is to test its performance. The experiments are divided into two parts. In Part 1, the importance of the proposed fuzzy
guided mutation approach will be tested by comparing the performance of genetic search and the optimisation quality of
the proposed algorithm with a simple genetic algorithm. In Part 2, the performance of WBGA will be tested by solving
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

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.

Part 1: testing the proposed fuzzy guided mutation approach


The main objective of this experiment is to test the importance of the proposed mutation approach. It can be divided
further into two purposes: Purpose 1, to demonstrate the importance of reassigning tasks to adjacent QC; and Purpose 2,
workload balancing approach. Accordingly, two simple genetic algorithm (SGAs) have been created for comparison,
named SGA-1 and SGA-2, respectively. Both SGAs are similar to the proposed WBGA, with the only difference being
in the mutation approach. The mutation rate is set to be 0.1, in which certain gene(s) will be randomly selected. As
SGA-1 is created for Purpose 1, the mutation can reassign a task to another crane without restriction. As SGA-2 is cre-
ated for Purpose 2, the mutation can only reassign a task to the adjacent QC. All the approaches will be individually
run for 10 times with the same genetic parameter.
Figure 14 shows the average solution obtained by the three approaches for instance 49 during the 500 evolutions.
By comparing the results obtained by SGA-1 with SGA-2 and WBGA, the importance of reassigning tasks to an adja-
cent QC can be analysed. The results indicate that both SGA-2 and WBGA performed better than SGA-1 by obtaining
a smaller makespan on average. This demonstrated that the approach of reassigning tasks to only an adjacent QC can

Figure 14. Average results for the evolutions of instance 49.


4832 S.H. Chung and F.T.S. Chan

Table 6. Summary of results for instances 50–102.

WBGA
2009 2012
Set No. LB UDS LTM Min % Avg Max SD Sec

D 50 708 741 741 741 0 741 741 0 0.09


51 759 798 798 798 0 798 798 0 0.09
52 924 960 960 960 0 960 960 0 0.09
E 53 639 717 717 717 0 717 717 0 0.21
54 741 774 774 774 0 774 774 0 0.20
55 651 684 684 684 0 684 684 0 0.20
56 651 690 690 690 0 690 690 0 0.20
57 666 705 705 705 0 705 705 0 0.21
58 750 786 786 786 0 786 786 0 0.21
59 654 687 687 687 0 687 687 0 0.20
60 747 783 783 783 0 783 783 0 0.21
61 600 639 639 639 0 639 639 0 0.20
62 813 837 837 837 0 837 837 0 0.20
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

F 63 906 948 948 948 0 949 951 1.5 1.80


64 696 741 741 741 0 741 741 0 1.81
65 798 837 837 837 0 838 840 1.5 1.80
66 888 924 924 924 0 926 927 1.5 1.82
67 840 882 882 882 0 883 885 1.4 1.82
68 930 963 963 963 0 963 963 0 1.80
69 765 807 807 807 0 807 810 0.9 1.80
70 918 957 957 957 0 958 960 1.4 1.81
71 792 834 834 834 0 835 837 1.4 1.80
72 705 744 744 744 0 745 747 1.5 1.81
G 73 822 870 870 870 0 872 876 2.4 5.1
74 807 843 843 843 0 844 846 1.3 5.2
75 642 675 675 675 0 675 675 0 5.0
76 810 852 852 852 0 852 852 0 5.1
77 657 699 699 699 0 702 709 3.8 5.0
78 603 642 642 642 0 643 645 1.3 5.0
79 702 744 744 744 0 753 753 0 5.2
80 702 750 750 750 0 752 753 1.5 5.0
81 690 738 738 735 0.4 739 744 3.8 5.1
82 681 717 717 717 0 723 726 4.3 5.0
H 83 906 948 948 948 0 950 953 2.4 19.6
84 861 897 897 897 0 900 903 3.2 19.6
85 930 972 972 972 0 973 975 1.5 19.8
86 768 816 816 816 0 818 819 1.5 19.6
87 822 867 867 867 0 870 876 4.3 19.7
88 723 768 768 765 0.4 765 765 0 19.6
89 804 843 843 843 0 843 843 0 19.7
90 1008 1053 1053 1053 0 1057 1065 4.2 19.6
91 792 837 837 837 0 838 841 1.7 19.5
92 855 897 897 897 0 899 903 3.1 19.6
I 93 771 816 810 810 0 816 820 3.8 43.1
94 747 786 786 786 0 789 792 3.2 43.1
95 786 834 834 834 0 840 846 5.3 43.0
96 765 819 801 801 1.5 804 810 3.1 43.1
97 672 720 717 717 0.4 719 720 1.6 43.2
98 696 735 735 735 0 746 750 7.2 43.1
99 804 852 852 846 0.7 850 852 2.9 43.0
100 837 900 876 876 2.0 887 903 7.8 43.1
2 101 750 813 813 810 0.4 812 816 2.5 43.2
102 852 903 897 897 0.7 901 906 3.5 43.1

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.

Part 2 (1): comparison with existing approaches: small-scale problem


The objective of this experiment is to compare the optimisation quality of the proposed WBGA with the well-known
Downloaded by [Van Pelt and Opie Library] at 13:11 24 October 2014

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.

Part 2 (2): comparison with existing approaches: large-scale problem


Instance sets E–I are regarded as large problems. They have only been tested by Bierwirth and Meisel (2009), and
recently Legato et al. (2014). They have not tested by others, maybe because of their complexity. The size of the prob-
lem may be too great for the other existing algorithms in the literature. The optimisation results obtained by UDS,
LTM, and WBGA are summarised in Table 6. The lower bound values have been proposed by Bierwirth and Meisel
(2009), and are calculated by dividing the total workload with the number of available QCs. In all the instances, WBGA
can obtain the best solution found by UDS and LTM. However, WBGA outperforms in the larger sets G, H, and I and
found a number of new solutions for Nos 81, 88, 99, and 101. In addition, although it is in the set of larger problem
sizes, the standard deviation of the solutions obtained in the 10 runs is reasonable. This demonstrates the optimisation
quality and reliability of the proposed WBGA.
More importantly, the proposed WBGA required a much lower computational time compared with the UDS as in
Table 5. In UDS, the run-time limit for its algorithm is reported to be 1 h in sets H and I. In general, WBGA can obtain
a solution from less than 1 s to a maximum of 43 s in the largest problem size for each individual run. It is relatively
much shorter than UDS.

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

Systems, Man, and Cybernetics Part C 38 (2): 218–228.


Kim, K. H., and K. Y. Kim. 1999. “An Optimal Routing Algorithm for a Transfer Crane in Port Container Terminals.” Transportation
Science 33 (1): 17–33.
Kim, K. H., and Y. M. Park. 2004. “A Crane Scheduling Method for Port Container Terminals.” European Journal of Operational
Research 156: 752–768.
Lee, S., K. C. Lee, M. H. Lee, and F. Harashima. 2002. “Integration of Mobile Vehicles for Automated Material Handling Using
Profibus and IEEE 802.11 Networks.” IEEE Transactions on Industrial Electronics 49 (2): 693–701.
Lee, D. H., H. Q. Wang, and L. Miao. 2006. “Quay Crane Scheduling with Non-Interference Constraints in Port Container Termi-
nals.” Transportation Research Part E 44: 124–135.
Legato, P., R. Trunfio, and F. Meisel. 2012. “Modeling and Solving Rich Quay Crane Scheduling Problems.” Computers & Opera-
tions Research 39: 2063–2078.
Lim, A., B. Rodrigues, F. Xiao, and Y. Zhu. 2004. “Crane Scheduling with Spatial Constraints.” Naval Research Logistics 51:
386–406.
Lim, A., B. Rodrigues, and Z. Xu. 2007. “A m-Parallel Crane Scheduling Problem with a Non-Crossing Constraint.” Naval Research
Logistics 54 (2): 115–127.
Liu, J., Y. W. Wan, and L. Wang. 2006. “Quay Crane Scheduling at Container Terminals to Minimize the Maximum Relative Tardi-
ness of Vessel Departures.” Naval Research Logistics 53 (1): 60–74.
Merelo, J. J., P. A. Castillo, G. Romero, l. Rojas, J. Gonzalez, and H. Pomares. 2002. “Statistical Analysis of the Main Parameters
Involved in the Design of a Genetic Algorithm.” IEEE Transactions on Systems, Man, and Cybernetics Part C 32 (1): 31–37.
Moccia, L., J. F. Cordeau, M. Gaudioso, and G. Laporte. 2006. “A Branch-and-Cut Algorithm for the Quay Crane Scheduling
Problem in a Container Terminal.” Naval Research Logistics 53: 45–59.
Sammarra, M., J. F. Cordeau, G. Laporte, and M. F. Monaco. 2007. “A Tabu Search Heuristic for the Quay Crane Scheduling
Problem.” Journal of Scheduling 10: 327–336.
Sonia, H. G. 2003. “A Fuzzy Genetic Multiobjective Optimization Algorithm for a Multilevel Generalized Assignment Problem.”
IEEE Transactions on Systems, Man, and Cybernetics Part C 33 (2): 214–224.
Srinivas, M., and L. M. Patnaik. 1994. “Adaptive Probabilities of Crossover and Mutation in Genetic Algorithms.” IEEE Transactions
on Systems, Man, and Cybernetics 24 (4): 656–667.
Zhu, Y., and A. Lim. 2006. “Crane Scheduling with Non-Crossing Constraints.” Journal of Operational Research Society 57 (12):
1464–1471.

You might also like