A modified genetic algorithm for quay crane scheduling operations

A modified genetic algorithm for quay crane scheduling operations

Expert Systems with Applications 39 (2012) 4213–4221 Contents lists available at SciVerse ScienceDirect Expert Systems with Applications journal hom...

594KB Sizes 0 Downloads 112 Views

Expert Systems with Applications 39 (2012) 4213–4221

Contents lists available at SciVerse ScienceDirect

Expert Systems with Applications journal homepage: www.elsevier.com/locate/eswa

A modified genetic algorithm for quay crane scheduling operations S.H. Chung ⇑, K.L. Choy Department of Industrial & Systems Engineering, Hong Kong Polytechnic University, Hung Hom, Kowloon, Hong Kong

a r t i c l e

i n f o

Keywords: Container terminal Quay crane Scheduling Genetic algorithm

a b s t r a c t The demand for the maritime transportation has significantly increased over the past 20 years due to the rapid pace of globalization. Terminal managers confront the challenge in establishing the appropriate quay crane schedule to achieve the earliest departure time of ship and provide efficient service. In general, quay crane schedule problems include two main issues (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. Traditionally, the terminal planners determine the quay crane schedule based on their experience and own judgment. In addition, the interference among cranes and the increased in ship size further magnify its difficulty dramatically. Accordingly, this paper proposed a modified genetic algorithm to deal with the problem. To test the optimization reliability of the proposed algorithm, a set of well known benchmarking problem is solved, and the results obtained are being compared with other well known existing algorithms. The comparison demonstrates that the proposed algorithm performs as good as many existing algorithms and obtains better solutions than the best known ones in certain instances. In addition, the computational time(s) required are significantly much lesser, allowing it to be more applicable in practical situation. Crown Copyright Ó 2011 Published by Elsevier Ltd. All rights reserved.

1. Introduction The rapid pace of globalization has driven the trade among countries significantly, and thereupon, boosted the economics around the world. Container ports play an indispensable role in nowadays global logistics network. Global container throughput was 534 million TEUs (twenty-foot equivalent unit) in 2008 (Drewry Shipping Consultants Limited, 2010). Although the global container throughput has been turned down to 464 million TEUs due to the financial tsunami, it is still optimistic that the global economy will rebound and the sustainable growth in container throughputs in 2010–2014 is foreseen. Besides, the geographically closeness within the ports, especially in Europe and Asia, results in the immediate challenge on the competition among ports. The terminal managers are devoted to deliver high quality of services consistently and improve the efficiency of available facilities, in order to keep the good relationship with existing customers, attract the potential customers and enhance the operational productivity. In the last decade, the major development in port business focused on advanced technology development (Günther & Kim 2005; Zaffalon, Rizzoli, Gambardella, & Mastrolilli, 1998). Ports put much effort on developing various decisions supporting technologies to enhance their resources planning system since resource allocation directly determines the success and efficiency of the port ⇑ Corresponding author. E-mail address: [email protected] (S.H. Chung).

operations (Bierwirth & Meisel 2010; Meisel & Bierwirth 2006; Steenken, Vos, & Stahlbock, 2004). It includes the berth allocation plan, the loading and discharging plan of vessels, the yard plan of the container stowage and import and export container schedule through gate (Lim, Rodrigues, Xiao, & Zhu, 2004; Park & Kim, 2003). Since penalty cost will be incurred if the vessels cannot departure on time, the main objective of all these activities is to ensure the vessels can departure on time by minimizing the turnaround time of the vessels. All these plans had a close linkage and integrated as terminal operation system. If one of the plans failed to achieve its goal, it may induce a negative impact on the operation of the other plans. Quay Crane Scheduling Problem (QCSP) was firstly described by Daganzo (1989). Daganzo (1990) and also in Daganzo and Peterkofsky (1990) defined that the vessel can be partitioned longitudinally into a number of ship bays based on the size of the vessel. The turnaround time of a vessel is determined by how to arrange each quay crane to serve which ship bays and the processing time of each ship bay in a stowage plan. A stowage plan consists of the planning of loading and discharging. The workload of a ship bay depends on the number of containers need to be handled, including loading and discharging operations on the deck and in the hold. The precedence relationship among tasks concerns in the discharging and loading operations. Although they can be handled at different time and by different cranes, discharging operation must precede the loading operation. At the same ship bay, the tasks on the deck must be finished before the tasks in the hold to start its discharging

0957-4174/$ - see front matter Crown Copyright Ó 2011 Published by Elsevier Ltd. All rights reserved. doi:10.1016/j.eswa.2011.09.113

4214

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

operation. Oppositely, the task in the hold must be performed before the tasks on the deck start in loading operation at the same ship bay. Therefore, some tasks must be performed before others or cannot be performed simultaneously even by other cranes (Bierwirth & Meisel 2009). As the size of the quay crane is enormous, each ship bay can only be served by one quay crane at a time. Furthermore, since all the quay cranes travel on the same track, a quay crane can only perform the next ship bay without crossing the others. If a crane is needed to cross others, then it must wait until the other crane finished its tasks and moved away. The objective of this paper is to propose a genetic algorithm to deal with the QCSP. The paper will be divided into the followings. Section 2 will be a literature review. Section 3 will describe the problem description and formulation. Section 4 will present the proposed methodology. Section 5 will test the optimization reliability of the proposed algorithm and discuss the results obtained. The paper will be concluded with a conclusion in Section 6. 2. Literature review In general, 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 stowage plan refers to (1) the plan indicates the location of the discharged containers in each ship bay of a vessel, and (2) the preferred plan about the location of loaded containers in each ship bay of a vessel, which is based on the destination, weight, and type of containers. Operations research in the area of terminal operations is known as one of the most challenging topics because of its complexity and practical applicability. In the last decades, numerous researches have been carried out. The first QCSP studied by Daganzo (1989) is to determine the departure time of multiple vessels. Later on, Daganzo and Peterkofsky (1990) proposed a branch and bound algorithm to deal with the problem under the similar assumption, in which one task is performed at one ship bay. The study was to determine the departure times of multiple vessels and the number of cranes to be assigned to individual vessels at a specific time segment, and the objective of the study is to minimize the sum of the delay costs. Some researchers stated that QCSP can be modeled as m-parallel machine scheduling problems (Guinet, 1993; Lee & Pinedo, 1997) and vehicle routing problems (Sammarra, Cordeau, Laporte, & Monaco, 2007). Sammarra et al. (2007) solved the QCSP by separating the problem into two parts, routing problem and the scheduling problem. The routing problem was defined to determine the sequence of tasks on each crane and the scheduling problem was defined to determine the starting handling time of the tasks belonging to the route for each sequence. The significance of the studies is that the precedence constraint among tasks and the non-interference constraint of quay cranes have been defined. Kim and Kim (1999) pointed out that since the quay cranes travelling on the same track, blocking situation among the cranes may occur. Cranes can only travel to the ship bays and perform the task without interference. The objective of the study is to address the problems in scheduling multiple quay cranes to perform discharging and loading operations and to minimize the makespan of the operation. Later on, Kim and Park (2004) and Moccia, Cordeau, Gaudioso, and Laporte (2006) also studied the QCSP with the precedence constraint of the operation and the non-interference constraint among cranes. While Lim et al. (2004) assumed that the QCSP was task-to-crane assignment problem with integrated spatial constraints, included non-interference constraint among cranes and neighborhood constraints. The authors also assumed that some tasks cannot be perform simultaneously since tasks

bound for the same yard have to be perform separately in time to avoid trailer congestion in lanes. A probabilistic tabu search and a ‘‘squeaky wheel’’ optimization heuristic were proposed to solve the problem, while dynamic programing algorithms were used to solve simplified variants. In solving QCSP, Lee, Wang, and Miao (2006) first proved that QCSP is NP-complete. Many researchers proposed many different heuristic approaches (Gambardella, Rizzoli, & Zaffalon 1998; Vacca, Bierlaire, & Salani 2007; Wang, Chen, & Wang 2009). Kim and Park (2004) formulated the problem in mixed integer linear model and solved by using branch-and-bound (B&B) method and greedy randomized adaptive search procedure (GRASP). They assumed that the vessel was partitioned into number of ship bays and the discharging and loading operation associated with the same ship bays are divided into different tasks. The objective is to minimize the makespan of the operation. The result in the study indicated that the B&B method can only be practical in the small sized problem and once the number of task and the number of quay crane increased to 20 and 3 respectively, the computational time of B&B method increase rapidly. The GRASP identified the feasible solutions, which did not exceed the optimal more than 10%, in medium-size problem with reasonable time. Therefore the study recommended the GRASP in solving the practical QCSP rather than B&B method. Later on, Moccia et al. (2006) have studied the QCSP with the same assumption given by Kim and Park (2004) and made modification to the model in order to consolidate the lower bound and the upper bound for the completion time. The valid inequalities are provided to process the cutting planes method. They proposed a Branch and Cut (B&C) algorithm to solve the problem. A preprocessing technique is introduced to reduce the problem size and the separation heuristic method is also introduced to identify the violated inequalities. In the study, the problem set studied by Kim and Park (2004) are used to test the solution and the results obtained by using the B&B method and B&C algorithm are compared. The results showed that the B&C method outperformed the B&B method and the proposed algorithm is able to handle the practical problems size. Recently, Sammarra et al. (2007) further studied the QCSP model, which have been studied by Kim and Park (2004) and Moccia et al. (2006) under the same assumption made. They solved the QCSP by separating the problem into two parts, routing problem and the scheduling problem. The routing problem is defined to determine the sequence of tasks on each crane and the scheduling problem is defined to determine the starting handling time of the tasks belonging to the route for each sequence. They proposed a local search algorithm to solve the scheduling sub-problem and a Tabu Search (TS) algorithm for routing problem. By using the same objective as the one studied by Kim and Park (2004) and Moccia et al. (2006), the results of the TS are compared with them. The performance of the TS is outstanding compared to GRASP, but inferior to the B&C method. TS can obtain the almost optimal solution in the medium-size problem with the reasonable computation time.

3. Problem description and formulation The studied Quay Crane Scheduling Problem (QCSP) in this paper consists of K quay cranes to be assigned to serve |X| number of tasks, including loading and discharging operation on the deck or in the hold. The studied model is based on the model developed by Kim and Park (2004) and the modification made by Moccia et al. (2006). The following notations are used to describe the problem studied throughout the paper:

4215

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

is the main concern. In addition, it aims to find the solution with the minimum sum of the quay cranes completion time among a pool of solutions with the same makespan. A quay crane completion time (Yk) consists of the idle times, traveling times and the handling times. The task handling time is fixed but the idle times and traveling times can affect the completion time of the quay crane. Hence, the schedule which has the minimum sum of the quay crane completion time is expected to be chosen since more quay cranes can become available to be assigned to work on other ships as soon as possible. Problem Constraints The problem is subject to the following constraints:

Indices i,j Index of task, arranging in an ascending order of their relative locations in the direction of increasing ship bay numbers. k Index of quay crane, where k = 1 . . . K, arranging in an ascending order of their relative locations in the direction of increasing ship bay numbers. Problem data pi Processing time required by task i. rk The earliest available time of quay crane k. li The location of task i which expressed by a ship bay number. 0 lk The starting location of quay crane k expressed by a ship bay number.

lk

The final location of quay crane k expressed by a ship bay number.

T tij

Traveling time between two consecutive bays. Traveling time required by a quay crane from location of task i (li) to the location of task j (lj), tij = t  |lj  lj|. Traveling time required by quay crane k from the initial location to the first task location lj,

T

t k0j

tk0j

t kiT

X X

xk0j ¼ 1 8k 2 K;

ð3Þ

xkiT ¼ 1 8k 2 K;

ð4Þ

i2X

XX

xkij ¼ 1 8j 2 X;

0 jlk

¼ t   lj j. Traveling time required by quay crane k from the initial location to the first task location lj,

X

xkij 

j2XT

X

xkji ¼ 0 8i 2 X; 8k 2 K;

Di þ pj  Dj

v ¼1

u2X

0

xvuj 

k X X

v ¼1

u2X

ð10Þ

xvui  Mðzij þ zji Þ 8i 2 X; li < lj ; 8 k 2 K

0

ð11Þ Dj þ tkjT  Y k  Mð1  xkjT Þ 8j 2 X;

8k 2 K;

rk  Dj þ tk0j þ pj  Mð1  xk0j Þ 8j 2 X; 8k 2 K;

ð12Þ ð13Þ

xkij 2 f0; 1g 8i; j 2 A; 8 k 2 K; where A # V  V and V ¼ X [ f0; Tg;

ð14Þ

zij 2 f0; 1g 8i; j 2 X;

# Yk

ð9Þ

zij þ zji ¼ 1 8i; j 2 W; k X X

ð7Þ ð8Þ

Di  Dj þ pj  Mð1  zij Þ 8i; j 2 X;

The problem is to determine how to assign crane to serve the task aiming to minimize the makespan, which is the largest completion time among all the quay cranes. The ship can only depart after all quay cranes finish the jobs assigned to them. The objective function is shown as in Eq. (1). The problem formulation is similar to the one modeled by Kim and Park (2004) and as shown in the followings.

Objectiv e Z : MIN a1 W þ a2

8k 2 K;

8i; j 2 U;

Y k ; Di  0 8i 2 X;

X

ð6Þ

j2X0

Di þ tij þ pj  Dj  Mð1  xkij Þ 8i; j 2 X;

The completion time of quay crane k. The completion time of task i. =1, if task j starts later than the completion time of task i = 0, otherwise. The complete the final task assigned.

"

ð5Þ

k2K i2X

T

W

ð2Þ

j2X

tkiT ¼ t  jli  lk j (tkiT ¼ 0; 8i 2 X;, meaning that travelling time after completion of the final task is not considered). M A sufficiently large constant. a1 Weighting assigned to the makespan (the maximum completion time) in the objective function. a2 Weighting assigned to the sum of the completion time in the objective function. Set of indices X The set of all tasks. W The set of pairs of tasks that cannot be performed simultaneously. Where tasks i and j cannot be performed simultaneously, ði; jÞ 2 W . U The set of ordered pairs of tasks between which there is a precedence relationship. Where task i must precede task j, ði; jÞ 2 U . Decision variables xkij =1, if quay crane k performs task j immediately after performing task i = 0, otherwise. Yk Di zij

8k 2 K;

Yk  W

ð1Þ

k

The components include the makespan and the sum of the quay cranes completion time. As commonly adopted by researchers, a1 is generally set to be much larger than a2, meaning the makespan

ð15Þ

8k 2 K;

ð16Þ

Constraints (2) ensure the makespan is equal to the largest completion time among the quay cranes. Constraints (3) ensure each quay crane will be assigned with an initial task. Constraints (4) ensure each quay crane will be assigned with a final task. Constraints (5) ensure each task will be completed by one quay crane only. Constraints (6) ensure the flow balance for each task in each crane so that the task is performed in well-defined sequence. Constraints (7) ensure the completion time of task j should be larger than the task i plus its processing time and travelling time in each crane. Constraints (8) ensure task i should be completed before task j. Constraints (9) ensure that the completion time of task j should be larger than the task i plus its processing time. Constraints (10) ensure the flow balance for each task and each crane. Constraints (11) ensure to avoid the interference among quay cranes. Constraints (12) ensure the completion time of

4216

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

Generation (G) = 0

Roulette Wheel Selection

Formation of Initial Pool

Crossover Operation

G=G+1

G= Termination

Output Best Solution

Mutation Operation

Chromosome Validation

END Fitness Evaluation

Chromosome Validation

Insert Best Solution Recorded

Fitness Evaluation

Fig. 1. Outline of the proposed modified genetic algorithm.

Encoding of Chromosome Segment 1 4

10

5

1

6

7

Segment 2 3

9

8

2

1

2

2

Task Sequence

1

1

2

1

1

2

2

Crane assignment

Decoding of Chromosome Quay Crane

Sequence

1

4, 1, 6, 3, 9

2

10, 5, 7, 8, 2

Fig. 2. Sample of encoding of chromosome.

each crane is equal to completion time the final task plus the traveling time to the final location. Constraints (13) ensure the completion time of the second task is larger than the completion time of the initial task plus its processing time and travelling time in each quay crane. Constraints (14) and (15) define the variables to be the binary number. Constraints (16) define the non-negativity constraint. An excellent explanation of the constraints can be found in Kim and Park (2004) and Moccia et al. (2006). 4. Methodology This paper proposed a modified genetic algorithm to solve the QCSP as outline in Fig. 1. 4.1. Encoding and decoding of chromosome The chromosome is designed in permutation encoding (real number) as shown in Fig. 2. Each chromosome represents a possible solution for the assignment of the quay cranes and the sequence of the tasks on each quay cranes. Each chromosome consists of 2|X| number of genes, and consists of 2 segments with different encoding schemes. In the first segment, each gene represents a task and the sequence of gene represents the sequence of the task performed from the left to the right. The value of the gene

is randomly generated and cannot duplicate with other genes. In the second segment, each gene represents a quay crane being assigned to perform the task which is the corresponding position in the first segment. The value of the gene is randomly generated in this part based on the number of quay cranes assigned. For the example in Fig. 2, there are 10 tasks being assigned on 2 quay cranes. One of the quay cranes is assigned with 5 tasks in the sequence of tasks 4, 1, 6, 3, and 9. 4.2. Validation of chromosome As stated by Kim and Park (2004), precedence constraints and non-interference constraints must not be violated. For precedence constraint, some of the tasks cannot be performed before others due to the operation or the position of the task (located in hold or on deck). For non-interference constraint, quay cranes cannot perform the task when the route between the quay crane and the location of target task is blocked by another quay crane(s). Because of these constraints, a chromosome may become invalid. Therefore, modification will be carried out to make the chromosome valid. 4.2.1. Precedence constraint Discharging operation must precede the loading operation in the same ship bay. Containers on deck must be discharged before those in hold. Oppositely, the containers in hold must be loaded

4217

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

Before Validation Segment 1 1

10

5

4

6

7

Task

Bay

Operation

1 2

2 2

Loading Discharging

Segment 2 3

9

8

2

1

2

2

1

1

2

1

1

2

2

1

1

2

2

After Validation Segment 1 4

10

5

1

6

7

Segment 2 3

9

8

2

1

2

2

1

1

2

Fig. 3. Sample of the chromosome validation.

Table 1 Relationship between quay crane and location of task. Number of quay crane = 2

Location of task

Possible quay crane assigned

Number of quay crane = 3

Ship bay 1 Ship bay 10 Location of task

QC 1 QC2 Possible quay crane assigned

Ship Ship Ship Ship

QC 1 QC 1 & 2 QC2 & 3 QC3

bay bay bay bay

1 2 9 10

before those on deck in the loading operation. Therefore, the sequence of the genes must follow this constraint. Each gene in the first segment of the chromosome must be checked to identify the position and the operation of the tasks. When there are two tasks are located in the same ship bay, then the operation of the tasks is compared first and the position of the task in the ship bay is compared later. If a chromosome is invalid as shown in Fig. 3, swapping will be carried out to correct the sequence of tasks. For example, Task 4 should precede Task 1. In the second segment, the genes which are in the corresponding position must also swap to the position referred to the first segment, since those genes represent the number of quay crane assigned to the tasks. It is essential to keep the consistency with the original chromosome. 4.2.2. Non-interference constraint The non-interference constraint restricts the movement of the quay cranes. The distinguishing characteristic of QCSP which differ

from other scheduling problem is that the quay cranes travel on the same truck. As a result, some of the quay cranes cannot perform those tasks located in the end of the ship bay. Table 1 shows the relationship between quay crane and location of task. In the case of 2 quay cranes, the task in the first ship bay can only be performed by the first quay crane, where the task in the last ship bay can only be performed by the last quay crane, while in the case of 3 quay cranes, the task located in the ship bay 2 can be performed by Quay Cranes 1 and 2 only but not all 3 cranes, as shown in Fig. 4. For example in the case of 2 quay cranes as in Fig. 5, Task 2 located in Bay 10 should not be performed by Quay Crane 1.

4.3. Evaluation of fitness value The objective is to minimize the makespan and the total completion time of all the cranes. Thus, the fitness value of chromosome will be calculated by Eq. (17).

" Fitness Value ¼ 1= a1 W þ a2

X

# Yk

ð17Þ

k

4.4. Genetic Operations In the proposed modified genetic algorithm, the initial pool will be randomly generated. In addition, for the selection operator, the widely used Roulette wheel selection will be adopted.

Fig. 4. The accessibility of the quay cranes.

4218

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

Before Validation

Task: Bay: Crane Assigned:

Segment 1 4

10

5

1

6

7

2 10 1

Segment 2 3

9

8

2

1

2

2

1

1

2

1

1

2

1

1

1

2

2

After Validation Segment 1 4

10

5

1

6

7

Segment 2 3

9

8

2

1

2

2

1

1

2

Fig. 5. The example of the chromosome validation in second part of chromosome.

4.4.1. Crossover operation In this paper, the sequence of the genes in the first part of chromosome represents the sequence of the tasks to be performed. The ordered form of chromosome will reproduce illegal offspring. For this reason, some of the gene values may be missed and some of them may be duplicated in the offspring. To avoid the duplication or loss of gene value, order crossover proposed by Gen and Cheng (1996) is applied and repairing procedure is essential to prevent the illegitimacy of offspring as shown in the following steps. Fig. 6 shows a sample of crossover. Step 1: Select the segment randomly in the first part of chromosome in one parent. Step 2: Select the corresponding segment in the second part of chromosome. Step 3: Copy the segment into the corresponding positions in the offspring. Step 4: Delete the genes which exist in the segment of the offspring from the second parent. The remained genes are then copied to the offspring from left to right according to the sequence in the second parent.

Step 5: Repeat step 1–4 to produce the second offspring. 4.4.2. Mutation Operation The purpose of mutation is to prevent the population trapped in the local optimal and enable the genetic search in new solution space by changing one or more gene(s). In the proposed algorithm, since the chromosome is divided into two segments, the mutation methods used are different. In the first segment, two genes in the same chromosome are randomly selected and then swap each other because of the prevention of duplicating gene values. The order form of chromosome can be retained as shown in Fig. 7. Its purpose is to change the sequence of gene and the sequence of the tasks. In the second segment, a gene is randomly selected and mutated. As the selected gene represents the particular quay crane being assigned to perform a certain task, the value changed will be based on the total number of quay crane assigned, ranging from 1 to K, as shown in Fig. 8. Its purpose is to ensure the task can be performed by different quay crane after reproducing the population of new offspring. Its significance is to prevent trapping in the local optimal, increasing the diversity of the solution population by assigning tasks to new crane.

Fig. 6. Sample of crossover operation.

4219

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221 Table 4 Summary of the best results obtained in Instances 23–32.

Before Mutation 9

2

5

8

3

10

1

4

7

6

After Mutation 9

2

7

8

3

10

1

4

5

6

Fig. 7. Sample of mutation in Segment 1 of a chromosome.

Before Mutation

Problem no.

(Proposed) GA

(2007) TS

(2006) B&C

(2004) GRASP

(2004) B&B

23 24 25 26 27 28 29 30 31 32

576 669 744 645 660 531 810 897 570 594

582 669 741 639 657 531 810 891 570 591

576 666 738 639 660 531 807 891 570 591

591 675 741 651 687 549 819 906 570 597

576 669 738 639 657 537 807 891 570 591

Problem no.

1

2

1

1

1

2

1

2

2

1

After Mutation 1

2

2

1

1

2

1

2

2

1

Fig. 8. Sample of mutation in Segment 2 of a chromosome.

Table 2 Outlines of the instances. Instance set

Number of QCs

Number of tasks

13–22 23–32 33–42 43–49

2 2 3 3

10 15 20 25

Problem no.

(Proposed) GA

(2007) TS

(2006) B&C

(2004) GRASP

(2004) B&B

13 14 15 16 17 18 19 20 21 22

453 546 513 312 453 375 543 399 465 537

453 546 513 312 453 375 543 399 465 537

453 546 513 312 453 375 543 399 465 537

453 546 516 321 456 375 552 480 465 720

453 546 513 321 456 375 552 480 465 720

13 14 15 16 17 18 19 20 21 22

23 24 25 26 27 28 29 30 31 32

B&C

GRASP

B&B

1.03% 0.00% 0.40% 0.94% 0.46% 0.00% 0.00% 0.67% 0.00% 0.51%

0.00% 0.45% 0.81% 0.94% 0.00% 0.00% 0.37% 0.67% 0.00% 0.51%

2.54% 0.89% 0.40% 0.92% 3.93% 3.28% 1.10% 0.99% 0.00% 0.50%

0.00% 0.00% 0.81% 0.94% 0.46% 1.12% 0.37% 0.67% 0.00% 0.51%

Table 5 Summary of the best results obtained in Instances 33–42.

Table 3 Summary of the best results obtained in Instances 13–22.

Problem no.

Difference between GA and different approaches TS

Difference between GA and different approaches TS

B&C

GRASP

B&B

0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%

0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%

0.00% 0.00% 0.58% 2.80% 0.66% 0.00% 1.63% 16.88% 0.00% 25.42%

0.00% 0.00% 0.00% 2.80% 0.66% 0.00% 1.63% 16.88% 0.00% 25.42%

5. Numerical examples In order to test the optimization reliability of the proposed genetic algorithm, a set of well known benchmarking data obtained from Kim and Park (2004) will be used. The data set consists of 43 instances as outlined in Table 2. It has been used by many famous researchers including Kim and Park (2004) originally using branch-and-bound (B&B) and Greedy Randomized Adaptive Search

Problem no.

(Proposed) GA

(2007) TS

(2006) B&C

(2004) GRASP

(2004) B&B

33 34 35 36 37 38 39 40 41 42

603 717 690 636 522 618 519 567 588 576

603 735 690 681 519 618 519 567 594 576

603 717 684 678 510 618 513 564 588 570

666 762 699 708 540 660 579 597 642 666

603 717 678 678 510 609 513 561 585 561

Problem no.

33 34 35 36 37 38 39 40 41 42

Difference between GA and different approaches TS

B&C

GRASP

B&B

0.00% 2.45% 0.00% 6.61% 0.58% 0.00% 0.00% 0.00% 1.01% 0.00%

0.00% 0.00% 0.88% 6.19% 2.35% 0.00% 1.17% 0.53% 0.00% 1.05%

9.46% 5.91% 1.29% 10.17% 3.33% 6.36% 10.36% 5.03% 8.41% 13.51%

0.00% 0.00% 1.77% 6.19% 2.35% 1.48% 1.17% 1.07% 0.51% 2.67%

Procedure (GRASP), later on Moccia et al. (2006) using branch-andcut (B&C), and Sammarra et al. (2007) using Tabu search (TS). The genetic parameters used in the proposed algorithm are: population size = 50 individuals, crossover rate = 0.9 and the mutation rate = 0.05. The number of evolution is 30,000. The algorithm is programed by using Java Language and performed on an Intel Core 2 Quad 2.0 GHz PC with 2 GB RAM. The optimization results are summary as shown in Tables 3–6. Table 3 summarizes the results for Instances 13–22, regarded as the small size problem set with 2 quay cranes and 10 tasks. The results show that the proposed GA can obtain the same best known solutions as obtained by other existing optimization approaches in all the instances as the ones obtained by TS and B&C.

4220

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221

Table 6 Summary of the best results obtained in Instances 43–49. Problem no.

(Proposed) GA

(2007) TS

(2006) B&C

(2004) GRASP

(2004) B&B

43 44 45 46 47 48 49

897 855 864 723 819 663 915

879 834 852 690 792 663 912

897 822 840 690 792 645 927

942 858 873 735 807 669 972

864 813 825 687 789 627 888

Problem no.

Difference between GA and different approaches

43 44 45 46 47 48 49

TS

B&C

GRASP

B&B

2.05% 2.52% 1.41% 4.78% 3.41% 0.00% 0.33%

0.00% 4.01% 2.86% 4.78% 3.41% 2.79% 1.29%

4.78% 0.35% 1.03% 1.63% 1.49% 0.90% 5.86%

3.82% 5.17% 4.73% 5.24% 3.80% 5.74% 3.04%

Table 7 Computational time of GA, TS and B&C. Instances

13–22 23–32 33–42 43–49

Computational Time (mins) (Proposed) GA

(2007) TS

(2006) B&C

0.52 0.75 1.18 1.58

1.52 5.86 21.34 48.29

0.97 8.87 72.17 120

Table 4 summarizes the results for Instances 23–32 with 2 quay cranes and 15 tasks, regarded as medium size problem set. The results show that the proposed GA obtained the same best known results found by other approaches, in Instances 23, 27, 28 and 31. Compare with other heuristic approaches, the performance of GA is better than GRASP about 0.50%–3.93% and the performance of GA is quite similar to the TS. On the side of comparison with optimization approaches, the differences between GA and the optimization approaches B&B and B&C are not more than 1%. Table 5 summarizes the results for the Instances 33–42 with 3 quay cranes and 20 tasks, regarded as the second large problem set. The results show that in Instances 35, 37–42, the results obtained by the proposed GA are not as good as the best known ones by 1.77%, 2.35%, 1.48%, 1.17%, 1.07%, 0.51% and 2.67% respectively. However, the proposed GA obtained the best known results in Instances 33 and 34. In addition, it obtains a better result than the best known one in Instance 36 by 6.19%. Table 6 summarizes the results obtained for the last data set with 3 quay cranes and 25 tasks, regarded as the largest problem set for Instances 43–49. The results show that in general, the results obtained by the proposed GA is close to the best known ones in about 5%. Comparing the results with the other heuristic approaches, the performance of GA is better than GRASP with the difference up to 5.86% in 6 out of 7 instances. From instance 43-47, the performance of GA is inferior to TS around 1.41% to 4.78%, but only obtain similar results in Instances 48 and 49. Comparing with optimization approaches, the performance of GA deteriorates in this set of instances. In overall view, the proposed GA can obtain the reasonable quality of solution, and it especially performs well in the small size problem set such as in Instance 13–22. As the problem become more complex, the performance of GA can still work well by comparing with other heuristic approaches, resulting from GA do not exceed the best known solutions by more than 6%. Although the

performance of GA deteriorates in the largest size of problem set, the computational time of GA is more attractive and practical. Table 7 shows the computational time required by B&C (Moccia et al., 2006) and TS (Sammarra et al., 2007) which computed by the 2.5 GHz P4 machine equipped with 1 GB of RAM. Under going 30,000 evolutions for all the problem sets, the computational time(s) are within 2 min. While TS required from the shortest 1.52 min to the longest 48.29 min for 1,000 iterations. For B&C, Moccia et al. (2006) limited the computational time to be within 120 min. It is found that the computational time increases sharply when the problem size increases from the shortest 0.97 min to the longest 120 min. Therefore, GA is advantaged with respect to both heuristic approaches and optimization approaches in terms of computational time. 6. Conclusion QCSP is one of the core operations in container terminal, consisting of the sequence of the discharging and loading operations of container and the assignment of quay cranes. In the past two decades, the sharp increase in the container throughput establishes the indispensable role of maritime transportation in the global trade. Most of the container terminal starts focusing not only the customer service, but also its productivity. Million dollars has been invested in each terminal to improve the system in order to integrate the operations, assist in decision making and achieve the shorter turnaround time of the ships. This paper proposed a genetic algorithm to deal with the QCSP. The design and the implementation of algorithm have been developed and described. The optimization reliability of proposed GA was test by solving a set of well known benchmarking problems. By comparing the results obtained by the proposed GA and the ones obtained by other well known existing approaches included GRASP, Tabu Search, B&B method and B&C method, it is found that the proposed GA outperformed in small sized instances and obtain better results in some medium sized instances as well. Besides, the computational time required by the proposed GA is much faster than the existing approaches. References Bierwirth, C., & Meisel, F. (2009). A fast heuristic for quay crane scheduling with interference constraints. Journal of Scheduling, 12, 345–360. Bierwirth, C., & Meisel, F. (2010). A survey of berth allocation and quay crane scheduling problems in container terminals. European Journal of Operational Research, 202, 615–627. Daganzo, C. F. (1989). The crane scheduling problem. Transportation Research Part B, 23, 159–175. Daganzo, C. F. (1990). The productivity of multipurpose seaport terminals. Transport Science, 24, 205–216. Daganzo, C. F., & Peterkofsky, R. I. (1990). A branch and bound solution method for the crane scheduling problem. Transportation Research Part B, 24, 159–172. Drewry Shipping Consultants Limited (2010), Available from http:// www.drewry.co.uk/publications/list_publications.php?market=26. Gambardella, L. M., Rizzoli, A., & Zaffalon, M. (1998). Simulation and planning for intermodal container terminal. Simulation, 71, 107–116. Gen, M., & Cheng, R. (1996). Genetic algorithms and engineering design. New York: John Wiley. Guinet, A. (1993). Scheduling sequence-dependent jobs on identical parallel machines to minimize completion time criteria. International Journal of Production Research, 31(7), 1579–1594. Günther, H. O., & Kim, K. H. (2005). Container terminals and automated transport systems: logistics control issues and quantitative decision support. Springer. Kim, K. H., & Kim, K. Y. (1999). An optimal routing algorithm for a transfer crane in port container terminals. Transportation Science, 33(1), 17–33. Kim, K. H., & Park, Y. M. (2004). A crane scheduling method for port container terminals. European Journal of Operational Research, 156, 752–768. Lee, Y. H., & Pinedo, M. (1997). Scheduling jobs on parallel machines with sequencedependent setup times. European Journal of Operational Research, 100(3), 464–474. Lee, D. H., Wang, H. Q., & Miao, L. (2006). Quay crane scheduling with noninterference constraints in port container terminals. Transportation Research Part E, 44, 124–135.

S.H. Chung, K.L. Choy / Expert Systems with Applications 39 (2012) 4213–4221 Lim, A., Rodrigues, B., Xiao, F., & Zhu, Y. (2004). Crane scheduling with spatial constraints. Naval Research Logistics, 51, 386–406. Meisel, F., & Bierwirth, C. (2006). Integration of berth allocation and crane assignment to improve the resource utilization at a seaport container terminal. In Operations Research Proceedings 2005 (pp. 105–110). Springer. Moccia, L., Cordeau, J. F., Gaudioso, M., & Laporte, G. (2006). A branch-and-cut algorithm for the quay crane scheduling problem in a container terminal. Naval Research Logistics, 53, 45–59. Park, Y. M., & Kim, K. H. (2003). A scheduling method for berth and quay cranes. OR Spectrum, 25, 1–23. Sammarra, M., Cordeau, J. F., Laporte, G., & Monaco, M. F. (2007). A tabu search heuristic for the quay crane scheduling problem. Journal of Scheduling, 10, 327–336.

4221

Steenken, D., Vos, S., & Stahlbock, R. (2004). Container terminal operation and operations research–a classification and literature review. OR Spectrum, 26, 3–49. Vacca, I., Bierlaire, M. & Salani, M. (2007). Optimization at container terminals: Status, trends and perspectives. In Swiss Transport Research Conference 7th (pp. 1–21). Wang, Y., Chen, Y., & Wang, K. (2009). A case study of genetic algorithms for quay crane scheduling. Opportunities and Challenges, SCI, 214, 119–125. Zaffalon, M., Rizzoli, A. E., Gambardella, L. M., & Mastrolilli, M. (1998). Resource allocation and scheduling of operation in an intermodal terminal. European Simulation Symposium and Exhibition, Simulation in Industry, 10, 520–528.