a tabu search algorithm for the integrated scheduling problem of container handling systems in a...

19
Discrete Optimization A tabu search algorithm for the integrated scheduling problem of container handling systems in a maritime terminal Lu Chen a,b,c, * , Nathalie Bostel b,d , Pierre Dejax b,c , Jianguo Cai a , Lifeng Xi a a Department of Industrial Engineering and Management, School of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai 200030, China b IRCCyN – Institut de Recherche en Communication et Cyberne ´tique de Nantes, France c Department of Automatic Control and Industrial Engineering, Ecole des Mines de Nantes, La Chantrerie, F-44070 Nantes Cedex 03, France d IUT de Saint Nazaire de l’Universite ´ de Nantes, De ´partement GLT, 58 rue Michel Ange, 44606 Saint Nazaire Cedex, France Received 16 December 2004; accepted 8 June 2006 Available online 1 September 2006 Abstract The scheduling problem in a container terminal is characterized by the coordination of different types of equipment. In this paper, we present an integrated model to schedule the equipment. The objective is to minimize the makespan, or the time it takes to serve a given set of ships. The problem is formulated as a Hybrid Flow Shop Scheduling problem with precedence and Blocking constraints (HFSS-B). A tabu search algorithm is proposed to solve this problem. Certain mech- anisms are developed and introduced into the algorithm to assure its quality and efficiency. The performance of the tabu search algorithm is analyzed from the computational point of view. Ó 2006 Elsevier B.V. All rights reserved. Keywords: Scheduling; Tabu Search; Hybrid Flow Shop; Makespan; Container terminal 1. Introduction Container trade worldwide has grown 9.5% per year during the last decade and will continue with an 8% growth rate in the coming years (James et al., 1997). Ports are responding to this increase in containerization by handling containers more efficiently and enhancing levels of service. A port’s efficiency is often measured in terms of its throughput and typical ship turnaround time (i.e. a ship’s time at berth plus any delay caused by the port). High turnaround times are not acceptable in the shipping industry because of the large potential cost. 0377-2217/$ - see front matter Ó 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2006.06.033 * Corresponding author. Address: Department of Industrial Engineering and Management, School of Mechanical Engineering, Shanghai Jiao Tong University, Shanghai 200030, China. Tel.: +86 21 62933053/629 321 15; fax: +86 21 62932684. E-mail address: [email protected] (L. Chen). European Journal of Operational Research 181 (2007) 40–58 www.elsevier.com/locate/ejor

Upload: lu-chen

Post on 14-Jul-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

European Journal of Operational Research 181 (2007) 40–58

www.elsevier.com/locate/ejor

Discrete Optimization

A tabu search algorithm for the integrated scheduling problemof container handling systems in a maritime terminal

Lu Chen a,b,c,*, Nathalie Bostel b,d, Pierre Dejax b,c, Jianguo Cai a, Lifeng Xi a

a Department of Industrial Engineering and Management, School of Mechanical Engineering,

Shanghai Jiao Tong University, Shanghai 200030, Chinab IRCCyN – Institut de Recherche en Communication et Cybernetique de Nantes, France

c Department of Automatic Control and Industrial Engineering, Ecole des Mines de Nantes, La Chantrerie,

F-44070 Nantes Cedex 03, Franced IUT de Saint Nazaire de l’Universite de Nantes, Departement GLT, 58 rue Michel Ange, 44606 Saint Nazaire Cedex, France

Received 16 December 2004; accepted 8 June 2006Available online 1 September 2006

Abstract

The scheduling problem in a container terminal is characterized by the coordination of different types of equipment. Inthis paper, we present an integrated model to schedule the equipment. The objective is to minimize the makespan, or thetime it takes to serve a given set of ships. The problem is formulated as a Hybrid Flow Shop Scheduling problem withprecedence and Blocking constraints (HFSS-B). A tabu search algorithm is proposed to solve this problem. Certain mech-anisms are developed and introduced into the algorithm to assure its quality and efficiency. The performance of the tabusearch algorithm is analyzed from the computational point of view.� 2006 Elsevier B.V. All rights reserved.

Keywords: Scheduling; Tabu Search; Hybrid Flow Shop; Makespan; Container terminal

1. Introduction

Container trade worldwide has grown 9.5% per year during the last decade and will continue with an 8%growth rate in the coming years (James et al., 1997). Ports are responding to this increase in containerizationby handling containers more efficiently and enhancing levels of service. A port’s efficiency is often measured interms of its throughput and typical ship turnaround time (i.e. a ship’s time at berth plus any delay causedby the port). High turnaround times are not acceptable in the shipping industry because of the large potentialcost.

0377-2217/$ - see front matter � 2006 Elsevier B.V. All rights reserved.

doi:10.1016/j.ejor.2006.06.033

* Corresponding author. Address: Department of Industrial Engineering and Management, School of Mechanical Engineering,Shanghai Jiao Tong University, Shanghai 200030, China. Tel.: +86 21 62933053/629 321 15; fax: +86 21 62932684.

E-mail address: [email protected] (L. Chen).

Ship Operation Area

Rail/Road Intermodal

Quayside

Storage Yard

Block 2Block 1

Block 4Block 3

Yard Vehicle

YardCrane

Quay Crane

Fig. 1. A typical layout of a container terminal.

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 41

Fig. 1 is a typical layout of a container terminal. Each terminal is composed of a quayside area and a stor-age yard. The quay area has one or more berths for the docking of ships. The storage yard is used to storecontainers temporarily in order to account for the differences in arrival times of the sea and land carriers. Con-tainers are stored in blocks, usually with six lanes side by side. Each lane has twenty or more container stacksthat are four or five containers high.

As soon as a berth is assigned, shore-based Quay Cranes (QCs) are allocated for unloading input containersand loading output containers. At the storage blocks in the yard, Yard Cranes (YCs) carry out a number ofoperations that include lifting and placing import and export containers from and onto the yard vehicles,receiving export containers from the ship agents for stacking, and re-stacking transshipment containers whennecessary. Yard Vehicles (YVs) are used for transporting containers between the quayside and the yard, ser-vicing both quay cranes and yard cranes as prime movers.

Storing containers in the yard, allocating resources in the terminal, and scheduling ship loading andunloading operations are major problems in a container terminal. These problems have been extensivelystudied in the past few years. In this paper, we focus on the scheduling problem of different types ofequipment.

This paper is organized as follows. In Section 2, we give a brief review of previous work in the area of con-tainer terminal operations management. In Section 3, we formulate the problem as a hybrid flow shop prob-lem. A procedure for calculating makespan lower bounds is developed in Section 4 for evaluating the qualityof the algorithm. We discuss in detail the components of the tabu search algorithm in Section 5. Computa-tional experiments are conducted for realistic settings and the results are reported in Section 6. Finally, in Sec-tion 7 we present our conclusions.

2. Related work

Problems associated with allocating and scheduling the resources, such as berths, storage space and han-dling equipment, in a container terminal have been extensively studied in the past few years. See Vis and DeKoster (2003) for a comprehensive review of the literature on various models and aspects of the schedulingof these resources. Here, we provide only a brief review of existing studies related to the handlingequipment.

QCs are the handling equipment at berths for unloading and loading berthed ships. Daganzo (1989) studiedthe impact that different crane scheduling strategies have on maximum throughput and ship delay. His studyshows that, with different crane allocation strategies, the increases in productivity can be significant. Kim andPark (2004) treat QC scheduling as the m-parallel machine scheduling problem. A mixed-integer programmingmodel is formulated to determine the schedule of each QC assigned to a ship, with the goal of completing allthe operations of a ship as rapidly as possible.

The scheduling of YCs is a very important research topic related to yard operation, which determines theefficiency of the terminal to a great extent. Kim and Kim (2002) develop a cost model for calculating theoptimal amount of storage space and the optimal number of transfer cranes for handling import containers.Kim and Kim (1999a,b,c) try to minimize the total travel distance of a straddle crane in the yard by routing

42 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

a straddle crane during the loading operation of export containers. The objective is to improve the efficiency ofthe loading operation. Bose et al. (2000) discuss the dispatching strategies for straddle carriers so as tomaximize the productivity of quay cranes. In Zhang et al. (2002), Rubber Tyred Gantry Cranes (RTGCs)are the equipment in the yard for container handling. According to the authors, to fully utilize an RTGC,it needs to move to a block with a heavy workload after finishing the light workload in its current block.A mixed-integer programming model is developed to minimize the total amount of delayed work.

YVs are used to transfer containers between the quay and the yard. Because they service both QCs andYCs, the efficacy of the dispatching strategy adopted to deploy yard vehicles is a prime factor affecting theperformance of the entire system. Bish (2003) addresses the problem of dispatching vehicles to containersso as to minimize the turnaround time of a set of ships.

Very little of the existing literature focuses on the integrated scheduling problem of various types of han-dling equipment used at container terminals. Meersmans (2002) provides models and algorithms for schedul-ing the equipment in an integrated way in an automated container terminal. However, only loading operationsare considered.

Due to the strong interdependence of handling equipment, an integrated model is developed in this paper inorder to: (1) address the scheduling of various types of equipment at the same time so as to achieve a high levelof coordination; (2) consider both loading and unloading operations simultaneously; (3) minimize the make-span to serve a set of loading and unloading ships in a given time horizon; (4) take into account the work effi-ciency of the equipment.

3. Problem description and a mathematical formulation

Now, we consider the modeling technique of the integrated scheduling problem.

3.1. Basic notations and assumptions

The elements of the problem are:

(i) Jobs: Each container must go through several handling operations, and can be associated with a job. Ajob is defined as a complete loading/unloading process for a container. There are two main kinds of jobs:loading and unloading.

(ii) Machines: There are three different sets of machines: QCs, YCs, and YVs.(iii) Operations: Each job consists of the following three operations: a transfer operation of a container from/

onto the ship, which is done by QCs; a transfer operation within the storage yard done by YCs; a trans-fer operation between QCs and YCs done by YVs.

The following assumptions are introduced for the formulation of the problem:

(i) For those ships that need both unloading and loading operations, we assume that the loading operationbegins only after all the unloading operations are completed.

(ii) Notice that in a container terminal, inbound and outbound containers are not mixed up in one block instorage yards. It is reasonable to assume that no YC is shared between different blocks of inbound con-tainers and outbound containers. So, for a yard crane, only one kind of operation, either pick-up orretrieval, is considered.

(iii) All the vehicles in the terminal have the same unit capacity and can handle only one container at a time.(iv) The operation times of vehicles and the travel times are deterministic and the same for loaded and empty

trips.(v) Since route is not considered as a constraining resource, conflicts are not accounted for.

(vi) Container transfer times between cranes and vehicles are included in the processing time.

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 43

The objective is to construct a detailed schedule for all the machines, which determines the order and thetiming of the containers on an individual QC, YC and YV, such that the total service time of the ships isminimized.

3.2. Problem definition

In addition to those of the classical shop scheduling problem, our problem has several uniquecharacteristics:

(a) Unrelated parallel machines: If several QCs are assigned to a ship, the travel distance of each of these QCsis limited in order to avoid potential collision. This means that those containers at certain locations onthe ship must be handled by a certain QC. Also, a container in a certain block can only be assigned to acertain yard crane. Thus, the whole set of QCs and YCs are divided into several subsets, each of whichhas some parallel machines.

(b) Job precedence constraints: For unloading operations, containers on a deck must be handled before con-tainers in the hold of the same ship. For loading operations, containers in the hold must precede the con-tainers on the deck of the same ship.

(c) Sequence-dependent setup times: In a container terminal, empty travel times arise when a crane or a vehi-cle travels between two containers. For example, once a vehicle carries an unloaded container to a stor-age location in the yard, it has to make an empty trip to the quay area or another storage location in theyard in order to take its next container. These empty travel times may be regarded as sequence-depen-dent setup times. In addition, it is assumed that setup times verify the following triangular inequality forall the machines: sik + skl P sil, i,k, l 2 {the job indices}.

(d) Blocking: If a job shop has a limited buffer or no buffer at all between two successive machines, then itmay happen that, when the buffer is full, the upstream machine is not allowed to release a completed job.This phenomenon is known as ‘‘blocking’’: the completed job has to remain on the upstream machine,which prevents that machine from working on another job. This happens in a container terminal. Forexample, a vehicle carries a container to a crane, which is handling another container. In such a situa-tion, the vehicle cannot unload the container since the crane is not yet free. If this crane needs the samevehicle to unload the container it is handling, then both the crane and the vehicle are blocked and are notable to work on another container. Such deadlock situations may occur as the result of a poor coordi-nation policy, where production cannot progress.

To formulate the problem as a shop scheduling problem, we have the following principles:

(i) It is assumed that, for the ships that need both unloading and loading operations, the loading operationbegins only after all the unloading operations are completed. Thus, for one ship, the scheduling problemis separated into two independent problems: that for unloading operations and that for loading opera-tions. These two scheduling problems are solved separately in sequence.

(ii) In a given time horizon, there may be a set of loading and unloading ships in a terminal. Loading andunloading operations for different ships are considered simultaneously to minimize the total service time.Thus, YVs are shared among these ships. Trips of unloaded and loaded containers on YV scheduling arecombined to reduce empty vehicle trips in the terminal area. For example, once a YV carries an unloadedcontainer to a storage location in the yard, it takes a loaded container from another storage location inthe yard instead of traveling empty to the quay area.

With these prerequisites, the scheduling problem of a container handling system is formulated as aHybrid Flow Shop Scheduling (HFSS) problem. A hybrid flow shop consists of a series of productionstages, each of which has several machines operating in parallel. Some stages may have only one machine,but at least one stage must have multiple machines. The flow of jobs through the shop is unidirectional.

44 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

Each job is processed by one machine at each stage and it must go through one or more stages (Elmaghrabyand Kamoub, 1997).

We therefore use the triplet ajbjc notation for scheduling problems (Graham et al., 1979) to define ourproblem as follows:

Definition 1. We use HF, R jprec, sik, blockjCmax to denote the problem as a 3-stage Hybrid Flow ShopScheduling problem with a precedence constraint, setup times and Blocking (HFSS-B), where each stage ismade up of unrelated parallel machines. The objective is to minimize the makespan.

Our objective is to make the following decisions to minimize the makespan: assign each operation to amachine and sequence all the assigned operations on each machine.

The HFSS problem can be seen as an extension of the classical flow shop with one machine at each stage,which has been extensively studied, such as those reported by Ben-Daya and Al-Fawzan (1998), Carlier andRebaı (1996), Nowicki (1999), Nowicki and Smutnicki (1996), and Riane et al. (1998).

Linn and Zhang (1999) review the state of the art in HFSS for three different issues: processing complexity,modeling criteria and solution methods. Negenman (2001) provides a review of local search methods for flowshop and job shop scheduling and adapts these to the HFSS scheduling problem. Kurz and Askin (2003)investigate a set of heuristics for scheduling flexible flow lines on a set of test problems. Lee and Vairaktarakis(1994) develop a heuristic for the 2-stage hybrid flow shop and extend it to the case of more than two stages.Nowicki and Smutnicki (1998) present a tabu search algorithm for the flow shop with parallel machines with aspecific neighborhood definition that employs a critical path in a graph and a block of jobs. Low (2005)addresses an HFSS scheduling problem with unrelated parallel machines and develops a simulated annealingheuristic with a very simple neighborhood definition. However, there is very little literature on HFSS withunrelated parallel machines.

No study has been found so far that deals with an HFSS scheduling problem considering setup times, pre-cedence and blocking constraints, and where each stage is made up of unrelated parallel machines.

3.3. A mathematical formulation

This section presents a mixed-integer programming model for the integrated scheduling problem. The fol-lowing notation is used to formulate the problem.i, k job indexj stage index, j = 1,2,3m machine indexN the set of all the jobsP the set of ordered pairs of jobs between which there is a precedence relationship, when job i must pre-

cede job k, (i,k) 2 P

Oij operation of job i at stage jMij the set of machines out of which Oij can be processed onEm the set of jobs that might be performed on machine m

pij processing time of operation Oij

sikj setup time between job i and k at stage j

H a sufficiently large constant

Decision variablesxijm 1, if Oij is assigned to machine m; 0, otherwiseyikjm 1, if Oij and Okj are assigned to the same machine m; 0, otherwiseuikjm 1, if Oij precedes Okj (not necessarily immediately) on machine m; 0, otherwisezikjm 1, if Oij immediately precedes Okj on machine m; 0, otherwisetij the starting time of Oij

Cmax the completion time of the last job

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 45

The scheduling problem may be formulated as follows:

Minimize Cmax ¼Maxðtij þ pijÞ ð1Þsubject to tij P 0; 8i 2 N ; 8j 2 f1; 2; 3g; ð2Þ

tij þ pij 6 tiðjþ1Þ; 8i 2 N ; 8j 2 f1; 2; 3g; ð3ÞXm2Mij

xijm ¼ 1; 8i 2 N ; 8j 2 f1; 2; 3g; ð4Þ

yikjm 6 0:5ðxijm þ xkjmÞ,0:5ðxijm þ xkjmÞ 6 yikjm þ 0:5; 8i; k 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð5Þyikjm ¼ ykijm; 8i; k 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð6Þuikjm þ ukijm ¼ yikjm; 8i; k 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð7Þuikjm � zikjm P 0; 8i; k 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð8ÞXk2Em

zikjm 6 1; 8i 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð9ÞXk2Em

zkijm 6 1; 8i 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij; ð10Þ

xijm P 0:5Xk2Em

zikjm þXk2Em

zkijm

!,

0:5Xk2Em

zikjm þXk2Em

zkijm

!P xijm � 0:5; 8i; k 2 Em; 8j 2 f1; 2; 3g; 8m 2 Mij ð11Þ

tiðjþ1Þ þ sikj 6 tkj þ Hð1� zikjmÞ, ð12Þtkðjþ1Þ þ skij 6 tij þ Hð1� zkijmÞ; 8i; k 2 N ; 8j 2 f1; 2; 3g; 8m 2 Mij; ð13Þtij 6 tkj; 8ði; kÞ 2 P ; 8j 2 f1; 2; 3g; ð14Þxijm; yikjm; uikjm; zikjm ¼ 0 or 1; 8i; k 2 N ; 8j 2 f1; 2; 3g; 8m 2 Mij: ð15Þ

In the objective function (1), the makespan is minimized. Constraint (2) guarantees that each operation beginsafter time zero. Constraint (3) ensures that the order of operations for each container is respected. Constraint (4)ensures that every operation must be completed by exactly one crane or one vehicle. Constraints (5) and (6)define yikjm = ykijm = 1 when xijm = xkjm = 1. When Oij and Okj are assigned to the same machine m, constraint(7) defines uikjm such that either uikjm or ukijm equals 1. Constraint (8) defines zikjm = 1 when Oij immediately pre-cedes Okj. Constraints (9) and (10) ensure that each operation Oij has, at most, one predecessor and successor onmachine m. Constraint (11) is a flow balance constraint, guaranteeing that containers are handled in well-definedsequences. Constraints (12) and (13) simultaneously determine the starting time of the operation and define theblocking constraint. Indeed, when zikjm = 1, constraint (13) is not binding since tk(j+1) + skij 6 tij + H; whereasconstraint (12) imposes that ti(j+1) + sikj 6 tkj, which explains the blocking requirement that the operation freesits current machine once its next machine becomes available. It can be explained in the context of container ter-minals as follows: container i and container k are assigned to the same machine m in stage j. Container i has toremain on machine m, which prevents m from working on operation Okj until Oi(j+1) starts its processing. Whenrequired, constraint (14) denotes that container i precedes container j. Constraint (15) specifies the binary prop-erty of the decision variables.

A computational experiment shows that the computational time is excessive for practical use. For example,a relaxation problem with unit setup times, one QC, one YC, one YV and 10 containers requires more than4 hours to solve completely, using Xpress-MP, specialized software for integer and linear programs.

4. Lower bound

To determine the effectiveness of the heuristics, we need to compare their makespan with the optimal one.Unfortunately, finding the optimal makespan requires the solution of a mixed-integer program, which can be

46 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

quite time-consuming even for medium-sized problems. Consequently, we evaluate the performance of theheuristics for each problem relative to the lower bound, which is developed based on the global lower boundfor the flexible flow shop problem (Santos et al., 1995).

Supposing there are F ships. It is easy to see that the completion time for all the containers in a certain timehorizon is the maximum completion time of each ship. For f = 1, . . . ,F, let LBf be the lower bound of the com-pletion time of the last container of ship f. The global lower bound LB is

LB ¼ maxfLBf g; f ¼ 1; . . . ; F : ð16Þ

We assume that for those ships that need both unloading and loading operations, the loading operation

begins only after all unloading operations have been completed. Thus

LBf ¼ LBf U þ LBf L; f ¼ 1; . . . ; F ; ð17Þ

where LBf_U and LBf_L denote, respectively, the lower bound of the completion time of the last unloadingcontainer and the lower bound of the completion time of the last loading container for ship f.

4.1. Notation

The following notation is used to describe the development of lower bounds:J(f) the container set of ship f

nf number of total containers of J(f)J(f)_U the set of all the unloading containersnU number of unloading containersJ(f)_L the set of all the loading containersnL number of loading jobsQ number of QCs for ship f

R number of YCs for ship f

QCf_L(q) quay cranes for loading containers onto ship f(1 6 q 6 Q)YCf_U(r) yard cranes for retrieving unloading containers of ship f(1 6 r 6 R)

4.2. Development of LBf_L

First, we will see how to develop the lower bound for all the loading containers, namely LBf_L. In an opti-mal schedule, each quay crane, QCf_L(q), in the third stage processes a subset, J(Lq), of all the loading con-tainers J(f)_L. The maximum of the completion times of J(Lq) can be no less than the completion time of thelast container to be processed by QCf_L(q). In other words, the completion time of the last container to beprocessed by quay crane QCf_L(q) establishes a crane-based bound on the containers in J(Lq). The maximumof the crane-based bounds, over all the quay cranes, establishes the makespan lower bound on all the loadingcontainers. Since we do not know exactly which containers are assigned to each quay crane, we cannot deter-mine the maximum of the crane-based bounds in this set. However, we do know that this maximum must begreater than or equal to the average of all the crane-based bounds at this stage.

Moreover, quay cranes need to move along the track between two containers, thus a setup time is neededafter each operation is finished. Consequently, the makespan lower bound must account for these setup times.For each setup, we represent it as a dummy operation, whose processing time is equal to the setup time. There-fore, we have nL-Q dummy operations due to the fact that the last container of each crane does not have pre-ceding containers. The processing times of these nL-Q dummy operations must be included to establish thelower bound. Unfortunately, we cannot know exactly the container sequence for each crane, neither canwe know exactly the values of the setup times. We develop a notation sL(i) to obtain the minimum possiblesetup time for each container.

For each container i, let sL(i) denote the minimum setup time, which is the minimum value required to setup the container immediately preceding container i

sLðiÞ ¼ mink

sikj; 1 6 i; k 6 nL; j ¼ 3: ð18Þ

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 47

We order all the sL(i), i 2 J(f)_L, in non-decreasing order, and use a sequence SETL to denote the resultinglist. SETL(y) is the yth element in the sequence SETL, SETL(y) 2 {sL(i)ji 2 J(f)_L}. Therefore, SETL can beexpressed as follows:

SETL ¼ fSETLð1Þ; . . . ; SETLðyÞ; . . . ; SETLðnLÞg; ð19Þ

where SETL(y � 1) 6 SETL(y).

In order to get the completion time of the loading containers, we should know the time when each containerenters stage three. Unfortunately, we cannot know exactly at what time a container is ready to be processed atstage three. So we develop a notation ETL (Entering Time for Loading job) to obtain the earliest possible timefor each container to enter stage three.

For each container i, i 2 J(f)_L, ETL(i) is the sum of the processing time through stage two:

ETLðiÞ ¼ pi1 þ pi2: ð20Þ

We order all the ETL(i), i 2 J(f)_L, in non-decreasing order, and use a sequence ETL_ND to denote the

resulting list. ETL_ND(x) is the xth element in the sequence ETL_ND, ETL_ND(x) 2 {ETL(i)ji 2 J(f)_L}.Therefore, ETL_ND can be expressed as follows:

ETL ND ¼ fETL NDð1Þ; . . . ;ETL NDðxÞ; . . . ;ETL NDðnLÞg; ð21Þ

where ETL_ND(x � 1) 6 ETL_ND(x).

Given the above discussion, we present the following theorem to establish the lower bound for loadingcontainers.

Theorem 1. Suppose there are nL loading containers in a queue at time t = 0 (nL 6 nf) and Q quay cranes for these

loading containers. Then the lower bound for the loading containers, denoted by LBf_L, is defined as follows:

LBf L ¼ 1

Q

XQ

x¼1

ETL NDðxÞ þXnL

i¼1

pi3 þXnL�Q

y¼1

SETLðyÞ !

: ð22Þ

Proof. Let J(Lq), 1 6 q 6 Q, be a subset of the nL containers that are assigned to quay crane QCf_L(q) at thelast stage when an optimal makespan schedule is obtained. Let nq = jJ(Lq)j. Then, for each QCf_L(q), there isa container (denoted as J 0(Lq)) that arrives first at that crane and a container (denoted as J 0 0(Lq)) that is thelast to be handled by that crane. There are also, between these nq containers, nq � 1 dummy operations thatrepresent the setup times. The completion time associated with J 0 0(Lq) is then a bound on the maximum of thecompletion times for the containers in set J(Lq). Denoting the completion time of J 0 0(Lq) as C(Lq), we get

CðLqÞPX2

j¼1

pðJ 0ðLqÞ; jÞ þX

i02JðLqÞpi03 þ

Xnq�1

i0¼1

si0 ;i0þ1;3: ð23Þ

The first term on the right-hand side of the above inequality shows that the time needed to start handling onQCf_L(q) is, at best, equal to the processing time of J 0(Lq) for the previous two operations. Note also that allcontainers in J(Lq) must be handled by the crane before finishing, which is reflected in the second term. Thethird term is the total setup times for the nq containers that are assigned to QCf_L(q). The inequality of (23)holds since these times are the best times that can theoretically occur.

The above establishes a bound on the completion times associated with the containers assigned to eachquay crane. A bound for all the loading containers is then the maximum of the completion times establishedover all the quay cranes QCf_L(q), 1 6 q 6 Q. Since we do not know exactly which containers are assigned toeach quay crane in an optimal schedule, we cannot determine the maximum of the completion times in this set.However, we do know that this maximum must be greater than or equal to the average of the Q completiontimes at this stage. Thus, a bound on the maximum completion time may be established as:

maxq

CðLqÞP1

Q

XQ

q¼1

CðLqÞ: ð24Þ

48 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

With inequality (23), the inequality (24) may be written as

maxq

CðLqÞP1

Q

XQ

q¼1

X2

j¼1

pðJ 0ðLqÞ; jÞ þX

i02JðLqÞpi03 þ

Xnq�1

i0¼1

si0 ;i0þ1;3

8<:9=;

P1

Q

XQ

q¼1

X2

j¼1

pðJ 0ðLqÞ; jÞ þXnL

i¼1

pi3 þXQ

q¼1

Xnq�1

i0¼1

si0;i0þ1;3

!

P1

Q

XQ

x¼1

ETL NDðxÞ þXnL

i¼1

pi3 þXnL�Q

y¼1

SETLðyÞ !

: � ð25Þ

Finally, the lower bound for the makespan of loading containers, LBf_L, is the minimum value that this max-imum completion time can be. This establishes the desired result as follows:

LBf L ¼ 1

Q

XQ

x¼1

ETL NDðxÞ þXnL

i¼1

pi3 þXnL�Q

y¼1

SETLðyÞ !

: ð26Þ

4.3. Development of LBf_U

Similarly, we could get the lower bound for the makespan of unloading containers, LBf_U, as follows:For each container i, let sU(i) denote the minimum setup time for the yard crane, which is the minimum

value required to set up the container immediately preceding container i

sU ðiÞ ¼ mink

sikj; 1 6 i; k 6 nU ; j ¼ 3: ð27Þ

We order all the sU(i), i 2 J(f)_U, in non-decreasing order and use a sequence SETU to denote the resultinglist. SETU(y) is the yth element in the sequence SETU, SETU(y) 2 {sU(i)ji 2 J(f)_U}. Therefore, SETU can beexpressed as follows:

SETU ¼ fSETUð1Þ; . . . ; SETUðyÞ; . . . ; SETUðnU Þg; ð28Þ

where SETU(y � 1) 6 SETU(y).

For each container i, i 2 J(f)_U, ETU(i) (Entering Time for Unloading jobs) is the sum of the processingtimes of the first two operations:

ETUðiÞ ¼ pi1 þ pi2: ð29Þ

We order all the ETU(i), i 2 J(f)_U, in non-decreasing order and use a sequence ETU_ND to denote the

resulting list. ETU_ND(x) is the xth element in the sequence ETU_ND, ETU_ND(x) 2 {ETU(i)ji 2 J(f)_U}.Therefore, ETU_ND can be expressed as follows:

ETU ND ¼ fETU NDð1Þ; . . . ;ETU NDðxÞ; . . . ;ETU NDðnU Þg; ð30Þ

where ETU_ND(x � 1) 6 ETU_ND(x).

The following theorem presents the lower bound for unloading containers.

Theorem 2. Suppose there are nU unloading containers in a queue at time t = 0 (nU 6 nf) and R yard cranes

handling these unloading containers. Then, the lower bound for the unloading containers, denoted by LBf_U, is

defined as follows:

LBf U ¼ 1

R

XR

x¼1

ETU NDðxÞ þXnU

i¼1

pi3 þXnU�R

y¼1

SETUðyÞ !

: ð31Þ

5. Tabu search algorithm

The tabu search (TS) is a metaheuristic global optimization method originally developed by Glover(Glover, 1989, 1990) for large combinatorial optimization tasks and extended to solve many real-life problems.

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 49

It is different from the well-known hill-climbing local search techniques in the sense that it does not becometrapped in local solutions. The TS allows moves away from the current solution that makes the objective func-tion worse in the hope that it will achieve a better solution.

Critical path-based local search algorithms (Matsuo et al., 1988; Van Laarhoven et al., 1992; Dell’Amicoand Trubian, 1993; Taillard, 1994) have been extremely efficient in solving classical flow shop scheduling prob-lems. Unfortunately, many properties in these methods do not hold for the scheduling problem with a block-ing constraint. The main difference is that the permutation of two consecutive operations on the same resourcein classical flow shop and job shop problems consists of reversing the related disjunctive arc in the correspond-ing disjunctive graph, while with blocking constraint it consists of replacing the related disjunctive arc byanother one in the disjunctive graph (Mati et al., 2001).

In our study, we propose a completely new neighborhood structure to deal with the problem of schedulingwith blocking constraint. Based on this, a tabu search algorithm is designed and implemented. We start thissection by a brief discussion of the concept of solution representation that will be used in our neighborhoodstructure definition.

5.1. Solution representation

We present here an approach to represent the solution for the neighborhood structure, which we call vector

representation.Let M denote the set of all the machines. A complete schedule S can be decomposed into subsets Smj,

S ¼S

m2Mj¼1;2;3

Smj. Smj corresponds to an order of containers that are processed on machine m in stage j,

j = 1,2,3, m 2M. Let nmj = jSmjj, Smj can be defined by a permutation vector pmj = (pmj(1), . . . ,pmj(nmj)),where pmj(x) denotes the xth container in pmj. If we distinguish the machine in each stage, we denote theset of machines in stage j as M(j). Let mj = jM(j)j. We use pj ¼ ðp1j; . . . ; pmjjÞ to represent the container pro-cessing order of the machines in stage j. Then, we can define a solution in the following way:

TableConta

i

12345678910

p ¼[3j¼1

pj ¼[3j¼1

ðp1j; . . . ; pmj;jÞ: ð32Þ

To illustrate how we develop the neighborhood structure, we create the following instance, from which asequence of examples is introduced.

Instance: The system has 1 QC and 1 YC for 4 unloading containers, 2 YCs and 1 QC for 6 loading con-tainers, and 3 YVs for transferring loading/unloading containers between the quay and yard area, i.e.m1 = m2 = 3, m3 = 2. Container processing times on each type of equipment and the setup times between eachtwo containers on each type of equipment are given in Tables 1 and 2, respectively. (We assume that the setuptime of any two containers on QC is 0.)

Example 1. We process the 10 containers in the orders given by p11 = {1,2,3,4}, p21 = {5, 8,10}, p31 ={6,7,9}, p12 = {6,8,3,9}, p22 = {5,7,10}, p32 = {1,2,4}, p13 = {1,2,3,4}, p23 = {5,6,7,8,10,9}, respectively.

1iner processing times for the instance

pi1 pi2 pi3

129 116 38140 81 45139 110 59139 124 6327 94 12713 121 10510 117 11736 112 11624 90 10634 122 122

Table 2Setup times on YC and YV

i 1 2 3 4 5 6 7 8 9 10

1 0/0 25/90 34/105 29/95 –/96 –/71 –/22 –/68 –/20 –/262 25/90 0/0 35/120 30/80 –/64 –/39 –/14 –/36 –/16 –/103 34/105 35/120 0/0 29/125 –/56 –/31 –/22 –/28 –/24 –/184 29/95 30/80 29/125 0/0 –/77 –/52 –/3 –/49 –/3 –/75 –/96 –/64 –/56 –/77 0/0 52/65 242/25 237/54 98/9 222/836 –/71 –/39 –/31 –/52 52/65 0/0 214/42 209/13 126/58 194/207 –/22 –/14 –/22 –/3 242/25 214/42 0/0 29/31 316/18 44/608 –/68 –/36 –/28 –/49 237/54 209/13 29/31 0/0 311/47 39/319 –/20 –/16 –/24 –/3 98/9 126/58 316/18 311/47 0/0 296/7610 –/26 –/10 –/18 –/7 222/83 194/20 44/60 39/31 296/76 0/0

a, b in a/b represent the setup time on YC and YV respectively for each two containers.‘‘–’’ means that the two containers cannot share the same machine.

50 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

A feasible schedule for the instance could be represented as p = (p1,p2,p3), where p1 = (p11,p21,p31),p2 = (p12,p22,p32), p3 = (p13,p23). The makespan of this schedule is 829.

5.2. Initial solution generation

In this section, the heuristic used to generate an initial schedule is developed. The Multiple Insertion Heu-ristics (MIH) is developed based on the insertion heuristic for the Vehicle Routing Problem (VRP) (see Vigoand Toth (2002) for a comprehensive survey). The main idea of the MIH is to schedule all containers at eachstage in turn. When scheduling the current container, we insert it into every possible position in the partialcontainer sequence and find the best feasible insertion place for the current container using a priority criterion.Because our scheduling problem has no intermediate storage, those containers whose handling operations fin-ish earlier will be delivered to the next stage as soon as possible. The First Come First Served (FCFS) rule isapplied when building the container sequences in the stages other than the first stage. Precedence constraintsare considered before inserting a container and applying the FCFS rule, so as to ensure that a feasible schedulecan be obtained.

The heuristic for generating the initial schedule can be fully described as follows:

Step 1: Arrange containers in numerical order for use in stage j = 1.Step 2: The priority of a container follows a numerical order. Insert container i at every possible position in

the machine sequence developed so far, and calculate the extra time cij for each insertion.Step 3: Place container i at the position with the minimum extra time (MET).Step 4: For the remaining stages, the priority of a container follows the FCFS strategy. A container thus

selects a machine that incurs the minimum extra time.

To insert container i between container ix and iy in stage j, the extra time cij is defined as

cij ¼ sixij þ siiy j � sixiy j; 8i; ix; iy 2 N ; 8j 2 f1; 2; 3g: ð33Þ

It is noted that, besides the MET, the machine priority can be Non-Delay (ND) and Minimum CompletionTime (MCT). A feasible schedule is called non-delay if no machine is kept idle while an operation is waitingfor processing (Pinedo, 2002). Therefore, three machine priority policies can be applied to implement the pro-posed initial solution heuristic. Thus, we have MIH_MET, MIH_ND and MIH_MCT.

5.3. Neighborhood structure

Due to the existence of some technological constraints, i.e. the precedence constraint and the blocking con-straint, the implementation of the TS needs to deal with the possibility of reaching an unfeasible solution. The

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 51

neighborhood structure NIst restricts the search to a subset of the solution space that contains only feasiblesolutions. In the proposed approach, a neighbor of a solution is obtained by moving and inserting an oper-ation into an allowed machine sequence.

Let O denote the set of all the operations, O = {Oijji 2 N, j 2 {1, 2,3}, v denotes an operation processed onmachine a in stage j, a 2M, v 2 O. Then, a b-insertion of operation v, b 2M, is performed in two steps.

(i) Delete v from its current machine sequence paj, and(ii) Assign v to machine b and choose the position of v in pbj.

Note that if machine a 5 b, then the operation is re-assigned to another machine. If a = b, then the oper-ation is re-sequenced on the same machine.

We restrict the search to the collection of solutions that are associated with the set of m1-tuple vector p1.Each vector p1 represents the processing order in which the given set of containers is processed in the firststage. Such a vector by itself does not specify the complete schedule. Thus, we need to construct a completeschedule for every given vector p1. For each of the subsequent stages, containers are first sequenced in non-decreasing order of their completion time at the previous stage. Then, they are assigned to the First AvailableMachine (FAM) at the current stage. To ensure that a feasible schedule can be obtained, those technologicalconstraints of our problem, i.e. unrelated machine sets and precedence constraints, are considered beforeapplying the FAM rule.

Based on the previous description that gives the necessary conditions for moving an operation, we intro-duce the following neighborhood NIst.

Neighborhood NIst: In the first stage (j = 1) of solution p, let x be a position of partial schedule pa1. A neigh-bor of p is obtained by performing a b-insertion of the operation pa1(x) (compatible with the precedence con-straint), a, b 2M(1). The job schedules for the subsequent stages (j = 2, 3) are obtained by using the FCFSand FAM rules.

We associate with each insertion move a quadruple notation (x,a,y,b), which defines that container pa1(x)is deleted from machine a and then is inserted into the sequence of machine b in position y of permutation pb1.Note that machines a and b belong to the same machine set, those out of which container pa1(x) can be pro-cessed on. An illustration is shown in Fig. 2.

If we denote the new processing order obtained from p by applying the insertion move op(x,a,y,b) as pop,the neighborhood of p, NIst(p), consists of processing order pop by moves op from a given set OP.

OPðpÞ ¼[na1

x¼1

[a2Mð1Þ

[nb1þ1

y¼1

[b2Mð1Þ

opðx; a; y; bÞ: ð34Þ

Note that when a = b, an additional condition y 5 x is added to prevent redundant moves (moves are redun-dant if they provide the same processing order). Thus, we get

N IstðpÞ ¼ fpopjop 2 OPðpÞg: ð35Þ

1

1

x-1 x+1x na1

y nb1

πa1

πb1

1 x-1 x+1x na1πa1 y

1 y x-1 na1πa1 x

(i)

(ii)

(iii)

Fig. 2. An insertion operation of (x,a,y,b): (i) a 5 b, (ii) a = b, x < y, (iii) a = b, x > y.

52 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

Example 2. Performing a move op(1, 1,3,1) for the container processing order from Example 1, we obtain anew order pop, where p11 becomes {2,3,1,4}. The move set OP(p) for the instance contains 36 moves.

5.4. Evaluation of moves

An exact evaluation of every move op at every step requires an entire computation of the makespan andbecomes expensive. We introduce an attempt to avoid the calculation of the makespan. Indeed, we computelower bounds instead of exact values to obtain a faster evaluation. The development of the lower bound isoutlined below.

We consider the following machine scheduling problem. A set of n jobs has to be scheduled on a set of unre-lated parallel machines M(1). Let m1 = jM(1)j. Each job i (i = 1,2, . . . ,n) has to be processed for pi units byone machine out of a set of machines Mi, and each job i has a tail qi that must elapse between its completionon the machines and its exit from the system. In order to process job k after job i, a setup time sik is requiredthat depends on both job i and job k, but does not depend on the machine that both jobs are processed on. Aschedule is to define the start time ti of each job i such that:

(i) each machine processes, at most, one job at a time,(ii) no job is processed by more than one machine,

(iii) some jobs must be finished before other jobs, and(iv) no operation is preempted.

The completion time of a schedule is defined as Cmax = Maxi=1,. . .,n (ti + pi + qi). The objective is to find afeasible schedule of minimum completion time. Using the notation of Graham et al. (1979), this problem isdenoted as Pjprec, sik, qi, MijCmax.

The HFSS-B problem is related to Pjprec, sik, qi, MijCmax in the following way. We select stage one andrelax the capacity constraint of the subsequent stages (i.e. their respective capacities are assumed to be infi-nite). Then, the relaxation of the HFSS-B problem to a Pjprec, sik, qi, MijCmax problem with m1 machines,can be obtained by setting:

qi ¼X

Ohl2W ij

phl; i ¼ 1; 2; . . . ; n; ð36Þ

where Wij represents the set of the successors of operation Oij at the following stages. Ohl, an operation of job h

at stage l, is out of Wij. Clearly, the solution of the derived Pjprec, sik, qi, MijCmax instance is a valid lowerbound of the HFSS-B problem.

Using the solution vector representation method, a complete schedule S of the Pjprec, sik, qi, MijCmax prob-lem can be decomposed into subsets Sm, S = [m2M(1)Sm. Sm corresponds to an order of operations that areprocessed on machine m, m 2M(1). A feasible solution can be given by p = {p1, . . . ,pm1}. Let nm = jSmj.pm = (pm(1), . . . ,pm(nm)) is the processing order of operations on machine m(m = 1,2, . . . ,m1), where pm(x)denotes the element in position x in pm. For i = 1, . . . ,n, let ci be the completion time of job i. Then the make-span Cmax of the schedule defined by p is

Cmax ¼ maxi¼1;...n

ðci þ qiÞ: ð37Þ

If we further define that, for m = 1, . . . ,m1, Cm is the completion time on machine m,

Cm ¼Xnm

x¼1

ppmðxÞ þ spmðxÞ;pmðxþ1Þ: ð38Þ

Instead of calculating ci for each job i, we use the completion time of the last job on each machine to define alower bound of the makespan. Then a lower bound of Cmax, bCmax, can be defined in the following way:

bCmax ¼ max C1 þ qp1ðn1Þ; . . . ;Cm1

þ qpm1ðnm1Þ

n o: ð39Þ

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 53

bCmax also gives a lower bound for the original HFSS-B problem and is used to evaluate a move in the tabusearch framework.

Example 3. Using these computations, we obtain the data for the Pjprec, sik, qi, MijCmax problemcorresponding to the instance. These are presented in Tables 3 and 4.

A feasible schedule for the instance in this example is shown in the Gantt chart of Fig. 3. p = (p1,p2,p3),where p1 = {1,2,3,4}, p2 = {5,8,10}, p3 = {6,7,9}.

The completion times of each job i, i = 1, . . . , 10 are given in Table 5.The completion times on each machine are C1 = 547, C2 = 373 and C3 = 577, respectively. The makespan

value associated with p is

TableJob pr

Jobs

pi

qi

TableSetup

i

12345678910

‘‘–’’ m

Cmax ¼ maxi¼1;...;10

ðci þ qiÞ ¼ c9 þ q9 ¼ 773: ð40Þ

Eq. (39) gives the lower bound of the makespan

bCmax ¼ maxfc4 þ q4; c10 þ q10; c9 þ q9g ¼ c9 þ q9 ¼ 773: ð41Þ

This lower bound is equal to the makespan in this case.

3ocessing times

1 2 3 4 5 6 7 8 9 10

129 140 139 139 27 13 10 36 24 34154 126 169 187 221 226 234 228 196 244

4times

1 2 3 4 5 6 7 8 9 10

0 0 0 0 – – – – – –0 0 0 0 – – – – – –0 0 0 0 – – – – – –0 0 0 0 – – – – – –– – – – 0 52 242 237 98 222– – – – 52 0 214 209 126 194– – – – 242 214 0 29 316 44– – – – 237 209 29 0 311 39– – – – 98 126 316 311 0 296– – – – 222 194 44 39 296 0

eans that the two jobs cannot share the same machine.

0 100 200 300 400 500 600

QC

YC1

YC2

Processing time Setup time

1 2 3 4

C1

5 8 10s8,10 s58

C2

6 7 9s67 s79

C3

Fig. 3. The Gantt chart for the schedule in Example 3.

Table 5Job completion times

Jobs 1 2 3 4 5 6 7 8 9 10

ci 129 269 408 547 27 13 237 300 577 373

54 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

5.5. Tabu list and search strategy

A tabu list is a short time memory. It is applied to have a trace of the evolution of the search to preventcycling. In our case, once a container i is moved away from position x, we add both the container and theposition to the tabu list for some time. We do not allow a move that involves returning container i to positionx for a certain number of iterations. Let T = (T1,T2, . . . ,Tmaxt) be the tabu list of a fixed length maxt.Tt = (h,q,r) is a 3-tuple element, where h denotes a container, q denotes a position and r denotes a machine,1 6 t 6 maxt. We add Tt to the tabu list in the following way: we shift each element in the tabu list to the leftby one position and put Tt in position maxt, i.e.

T t�1 ¼ T t; t ¼ 2; . . . ;maxt; ð42ÞT maxt ¼ T t: ð43Þ

We may overrule the tabu status of a solution if we are sure that this solution differs from the solutions thatshould be excluded from the search process by the tabu list. An aspiration criterion is used to override the tabustatus of a move. In our algorithm, we allow a tabu move if such a move leads to a neighborhood solution thathas a smaller bCmax than that of the best solution obtained so far.

We adopt the best-fit strategy in our search. Given a schedule (a container processing order) p, its neigh-borhood is searched using the following strategy: we evaluate each neighborhood solution of p that is not cur-rently forbidden in the tabu list, and move to the best non-tabu neighbor. That is, we calculate the bCmax ofeach solution, and select the solution with the smallest bCmax.

5.6. Algorithm

We start with an initial processing order p and a primary empty tabu list T. At each iteration, we apply theneighborhood search strategy and find out the set of moves OP(p). We select the best non-tabu move op 0,which determines the neighborhood p0 ¼ pop0 . Then, we create the new tabu list T. The processing order p 0

is set to be the primal one for the next iteration. The best bC�max found and the associated processing orderp* are updated. The algorithm terminates if there is no improvement over the best solution obtained aftera certain number of iterations (NonImpIter), or if the total number of iterations reaches a predetermined valueMaxIter.

The above discussion leads us to the following TS algorithm:

Step 1. Initialization: p� ¼ p; bC�max ¼ bCmaxðp�Þ, T = ;, Iter = NIter = 0.Step 2. Set Iter :¼ Iter + 1, NIter :¼ Niter + 1. Find the move op 0 2 OP(p), the neighborhood p0 ¼ pop0 and

the modified tabu list T. Set p :¼ p 0.Step 3. If bCmaxðpÞ < bC�max then set p* :¼ p, bC�max ¼ bCmaxðpÞ, Niter :¼ 0 and go to step 2.Step 4. If ((Iter 6MaxIter) & (NIter 6 NonImpIter)), then go to step 2; otherwise, STOP.

Counters Iter and NIter trace the number of total iterations and the number of iterations performed with-out improvement, respectively. Based on a preliminary study with a small number of problem instances, wechose the following parameter values throughout our computational experiments:maxt = 10 (tabu list size);MaxIter = 1000 (maximum number of iterations);NonImpIter = 100 (maximum number of iterations without improvement).

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 55

6. Computational experiments

To assess the solution quality and efficiency of the proposed tabu search algorithm, some experiments areconducted and analyzed. These experiments are divided into two parts: the first part evaluates the initial solu-tion heuristics and suggests a good one as the initial seed for the proposed TS algorithm. The second part givesthe solutions for test problems using the proposed TS algorithm and compares the performance of the algo-rithm with the lower bound. All experimental tests are implemented on a personal computer with a Centrino1300 MHz processor and 256 MB RAM.

6.1. Problem settings

We develop a data generator for the problem setting. It is controlled by parameters that allow us to produceinstance sets with specific characteristics. The terminal layout model and parameters in the computationalstudy are based on the data we received from the Port of Shanghai. We use small and medium-sized real-lifeinstances. For the same set of containers, we construct different scenarios by varying the number of cranes andvehicles. The details are as follows:

(1) A typical layout of a maritime terminal is defined as the scheduling environment in which the number ofcontainers varies from 10 to 100.

(2) There are 20 different scenarios with different parameters (the number of containers or equipment) to betested.

(3) The operation times are generated from uniform distributions of

U(9,41) for the yard crane picking operationU(38,70) for the yard crane dropping operationU(105, 161) for the quay crane operationU(60,130) for the yard vehicle transferring operation

(4) Precedence relations among containers are considered.(5) Setup times sikj are generated that do not violate the triangular inequality.

6.2. Initial seed selection

For each scenario, we randomly generate 20 instances (with different processing times), and record the aver-age percent deviation (APD) of the heuristic makespan from the lower bound over these 20 instances.

In order to obtain a good initial solution heuristic for further improvement, the performances of three pri-ority policies (mentioned in Section 5.2) are evaluated. These priority policies are MIH_MET, MIH_ND andMIH_MCT. The average performance for the 20 scenarios is summarized in Table 6, where it is observed thatthe MIH_ND performs best as the problem size increases in terms of the makespan.

6.3. Proposed TA performance

In order to understand the effect of initial solution on the overall performance, we use two different heu-ristics to generate initial solution, namely the MIH_ND and the MIH_MET. Two TS based heuristics arecompared with each other for both solution quality and efficiency. These two heuristics are defined as:

TA1: tabu search algorithm with MIH_ND initial solution heuristic, andTA2: tabu search algorithm with MIH_MET initial solution heuristic.

The experimental results are summarized in Table 7, which includes the APD of the makespan obtainedfrom the tabu search algorithms and their computation times.

From the results, we observe that with small problems, both TA1 and TA2 can obtain an optimal solutionfor several scenarios. The results in Table 7 show that the performance of TA1 is much better than TA2 in

Table 6Performance comparison of three priority policies

Problem size Performance in APDa CPU times (seconds)

n QC YC YV MIH_MET MIH_ND MIH_MCT MIH_MET MIH_ND MIH_MCT

10 2 4 4 5.35(0) 8.66(5) 7.68(2) 0.290 0.382 0.30110 2 4 6 0.50(3) 7.52(6) 4.40(3) 0.291 0.371 0.30020 2 4 6 14.55(0) 4.98(2) 5.12(1) 0.340 0.400 0.32120 2 4 8 13.78(0) 2.56(2) 2.67(1) 0.310 0.401 0.32120 2 6 8 16.45(0) 4.18(2) 4.17(0) 0.310 0.391 0.32140 2 4 8 16.21(0) 5.78(0) 6.87(0) 0.471 0.561 0.50040 2 6 8 19.88(0) 8.65(0) 10.32(0) 0.480 0.561 0.50140 2 6 10 21.58(0) 8.83(0) 9.76(0) 0.481 0.561 0.50150 2 6 8 23.12(0) 12.22(0) 13.65(0) 0.641 0.731 0.66150 2 6 10 25.49(0) 12.45(0) 12.56(0) 0.651 0.731 0.66150 4 6 10 70.88(0) 13.64(0) 12.75(0) 0.641 0.731 0.66150 4 8 10 75.11(0) 11.75(0) 12.34(0) 0.641 0.721 0.67160 4 8 12 82.76(0) 11.31(0) 12.09(0) 0.882 0.962 0.93260 4 8 15 63.90(0) 12.36(0) 12.45(0) 0.882 0.971 0.91160 4 10 12 87.11(0) 13.09(0) 15.74(0) 0.881 0.971 0.91160 4 10 15 88.35(0) 15.12(0) 14.36(0) 0.881 0.972 0.90180 4 10 15 89.85(0) 15.65(0) 16.76(0) 1.672 1.752 1.70380 4 10 20 90.09(0) 16.32(0) 17.85(0) 1.672 1.752 1.712100 4 10 20 86.17(0) 15.73(0) 14.98(0) 2.975 3.075 3.034100 4 12 24 91.54(0) 17.36(0) 18.76(0) 2.984 3.075 3.024

a Number of optimal solutions found in the 20 instances.

Table 7Performance comparison of TA1 and TA2

Problem size Performance in APDa CPU time (seconds)

n QC YC YV TA1 TA2 TA1 TA2

10 2 4 4 0.71%(15) 2.19%(5) 26.0 41.810 2 4 6 1.30%(12) 0.33%(12) 32.7 39.020 2 4 6 0.15%(12) 0.68%(2) 34.0 37.020 2 4 8 1.10%(5) 0.35%(8) 39.5 35.820 2 6 8 0.45%(4) 2.13%(0) 34.0 35.340 2 4 8 0.52%(0) 2.60%(0) 43.0 61.740 2 6 8 0.38%(0) 0.27%(0) 46.7 59.040 2 6 10 0.33%(2) 0.22%(0) 48.0 44.250 2 6 8 0.48%(0) 0.30%(0) 95.2 95.650 2 6 10 0.44%(0) 0.30%(0) 94.0 93.750 4 6 10 9.39%(0) 9.92%(0) 131.7 157.050 4 8 10 8.09%(0) >20% 113.3 165.060 4 8 12 8.81%(0) >20% 197.7 257.760 4 8 15 8.36%(0) >20% 179.0 262.560 4 10 12 7.58%(0) >20% 216.5 278.060 4 10 15 8.63%(0) >20% 112.5 140.780 4 10 15 8.43%(0) >20% 272.3 461.080 4 10 20 8.26%(0) >20% 269.0 905.3100 4 10 20 8.72%(0) >20% 496.2 1506.0100 4 12 24 8.58%(0) >20% 563.0 1872.1

a Number of optimal solutions found in the 20 instances.

56 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

terms of both solution quality and computational efficiency when the container number and the equipmentnumber increase. It reveals the fact that an initial solution heuristic affects the performance of a designed algo-rithm. Thus, one can conclude that, for the problems addressed, a good initial solution heuristic is necessary.The performances of TA1 and TA2 shown in Table 7 also indicate that the increase in the equipment number

0

500

1000

1500

2000

2500

3000

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20problem index

CPU

tim

e (s

)

TA1 TA2

Fig. 4. CPU time of the TA1 and TA2.

L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58 57

affects the performance of the designed algorithms. This observation can be attributed to the quality of thelower bound, which deteriorates as the machine number increases.

Based on the results of the 20 sets of test problems, Fig. 4 shows how the computational times of the twodifferent TS algorithms change as the number of containers or the number of pieces of equipment increases. Itcan be observed that the computational time increases as the problem size gets larger. From the viewpoint ofcomputational efficiency, the computation of TA1 is slightly faster then TA2 for the first 11 scenarios, and isdramatically faster than TA2 for the last 9 scenarios. Generally speaking, the proposed TS algorithm withMIH_ND as the initial solution generator is better than the one with MIH_MET, in terms of both the qualityand the efficiency of the solution.

7. Conclusion

In this paper, an integrated model is developed to address the scheduling of various kinds of container han-dling equipment in a maritime terminal. It is an extension of the hybrid flow shop scheduling problem. Theobjective is to improve the coordination among the equipment and, as a consequence, to increase the produc-tivity of the terminal. A mixed-integer programming model is provided for solving the problem optimally. ATS based algorithm has been developed to obtain a better performance schedule. Two heuristics are comparedwith each other: TA1 is the proposed TS algorithm with MIH_ND as initial solution generator; TA2 is the onewith MIN_MET as initial solution generator. The computational results show that, when the problem sizegets larger, TA1 outperforms TA2 with respect to the quality and the efficiency of the solution. In addition,from the experimental results, one can observe that a good initial solution heuristic is important for the sched-uling problem addressed and helpful for further improvement of the solution.

References

Ben-Daya, M., Al-Fawzan, M., 1998. A tabu search approach for the flow shop scheduling problem. European Journal of OperationalResearch 109, 88–95.

Bish, E.K., 2003. A multiple-crane-constrained scheduling problem in a container terminal. European Journal of Operational Research144, 83–107.

Bose, J., Reiners, T., Steenken, D., 2000. Vehicle dispatching at seaport container terminal using evolutionary algorithm. In: Proceedingsof the 33rd Hawaii International Conference on System Science.

Carlier, J., Rebaı, I., 1996. Two branch and bound algorithms for the permutation flow shop scheduling problem. European Journal ofOperational Research 90, 238–251.

Daganzo, C.F., 1989. Crane productivity and ship delay in ports. Transportation Research Record 1251, 1–9.Dell’Amico, M., Trubian, M., 1993. Applying tabu search to the job-shop scheduling problem. Annals of Operations Research 41, 231–

252.Elmaghraby, S.E., Kamoub, R.E., 1997. Production control in hybrid flowshops: An example from textile manufacturing. In: Artiba, A.,

Elmaghraby, S.E. (Eds.), The Planning and Scheduling of Production Systems. Chapman & Hall, UK (Chapter 6).Glover, F., 1989. Tabu search, part I. ORSA Journal of Computing 1, 190–206.Glover, F., 1990. Tabu search, part II. ORSA Journal of Computing 2, 4–32.Graham, R.L., Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., 1979. Optimization and approximation in deterministic sequencing

and scheduling: A survey. Annals of Discrete Mathematics 5, 287–326.

58 L. Chen et al. / European Journal of Operational Research 181 (2007) 40–58

James, A.P., Howard, J.M., Basilotto, J.P., et al., 1997. Megaports and load centers of the future with the port of Houston as the baselineport. Research Report, Texas A&M University.

Kim, K.H., Kim, K.Y., 1999a. Routing straddle carriers for the loading operation of containers using a beam search algorithm. Computer& Industrial Engineering 36, 109–136.

Kim, K.H., Kim, K.Y., 1999b. A routing algorithm for a single straddle carrier to load export containers onto a containership.International Journal of Production Economics 59, 425–433.

Kim, K.H., Kim, K.Y., 1999c. An optimal routing algorithm for a transfer crane in port container terminals. Transportation Science 33,17–33.

Kim, K.H., Kim, H.B., 2002. The optimal sizing of the storage space and handling facilities for import containers. TransportationResearch Part B 36, 821–835.

Kim, K.H., Park, Y., 2004. A crane scheduling method for port container terminals. European Journal of Operational Research 156 (3),752–768.

Kurz, M.E., Askin, R.G., 2003. Comparing scheduling rules for flexible flow lines. International Journal of Production Economics 85,371–388.

Lee, C.-Y., Vairaktarakis, G.L., 1994. Minimizing makespan in hybrid flowshops. Operations Research Letters 16, 149–158.Linn, R., Zhang, W., 1999. Hybrid flow shop scheduling: A survey. Computers & Industrial Engineering 37, 57–61.Low, C., 2005. Simulated annealing heuristic for flow shop scheduling problems with unrelated parallel machines. Computers &

Operations Research 32 (8), 2013–2025.Mati, Y., Rezg, N., Xie, X., 2001. A taboo search approach for deadlock-free scheduling of automated manufacturing systems. Journal of

Intelligent Manufacturing 12, 535–552.Matsuo, H., Suh, F.J., Sullivan, R.S., 1988. A controlled search simulated annealing method for the general jobshop scheduling problem.

Working paper 03-44-88, Graduate School of Business, University of Texas, Austin, TX.Meersmans, P.l.M., 2002. Optimization of container handling systems. Ph.D. thesis, Tinbergen Institute 271, Erasmus University

Rotterdam.Negenman, E.G., 2001. Local search algorithms for the multiprocessor flow shop scheduling problem. European Journal of Operational

Research 128, 147–158.Nowicki, E., 1999. The permutation flow shop with buffers: A tabu search approach. European Journal of Operational Research 116, 205–

219.Nowicki, E., Smutnicki, C., 1996. A fast tabu search algorithm for the permutation flow-shop problem. European Journal of Operational

Research 91, 160–175.Nowicki, E., Smutnicki, C., 1998. The flow shop with parallel machines: A tabu search approach. European Journal of Operational

Research 106, 226–253.Pinedo, M., 2002. Scheduling Theory, Algorithms, and Systems, second ed. Prentice Hall, New Jersey.Riane, F., Artiba, A., Elmaghraby, S.E., 1998. A hybrid three-stage flowshop problem: Efficient heuristics to minimize makespan.

European Journal of Operational Research 109, 321–329.Santos, D.L., Hunsucker, J.L., Deal, D.E., 1995. Global lower bounds for flow shops with multiple processors. European Journal of

Operational Research 80, 112–120.Taillard, E.D., 1994. Parallel taboo search techniques for the job-shop scheduling problem. ORSA Journal on Computing 6 (2), 108–117.Van Laarhoven, P.J.M., Aarts, E.H.L., Lenstra, J.K., 1992. Job shop scheduling by simulated annealing. Operations Research 40 (1), 113–

125.Vigo, D., Toth, P. 2002. The Vehicle Routing Problem. Philadelphia, USA.Vis, I.F.A., De Koster, R., 2003. Transshipment of containers at a container terminal: An overview. European Journal of Operational

Research 147, 1–16.Zhang, C., Wan, Y.W., Liu, J., Linn, R.J., 2002. Dynamic crane deployment in container storage yards. Transportation Research Part B

36, 537–555.