Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

13
Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information Xi Guo , Shell Ying Huang, Wen Jing Hsu, Malcolm Yoke Hean Low School of Computer Engineering, Nanyang Technological University, Singapore 639798, Singapore article info Article history: Received 2 May 2010 Accepted 7 February 2011 Available online 2 March 2011 keywords: Decision-making Optimization Yard crane dispatching Container terminal abstract The performance of a container terminal depends on many aspects of operations. This paper focuses on the optimal sequencing of a yard crane (or YC for short) for serving a fleet of vehicles for delivery and pickup jobs. The objective is to minimize the average vehicle waiting time. While heuristic algorithms could not guarantee an optimal solution, a conventional mathematical formulation such as mixed integer program would require too much computing time. We present two new algorithms to efficiently com- pute YC dispatching sequences that are provably optimal within the planning window. The first algo- rithm is based on the well-known A search along with an admissible heuristics. We also incorporate this heuristics into a second backtracking algorithm which uses a prioritized search order to accelerate the computation. Experimental results show that both new algorithms perform very well for realistic YC jobs. Specifically, both are able to find within seconds optimal solutions for heavy workload scenarios with over 2.4 10 18 possible dispatching sequences. Moreover, even when the vehicle arrival times are not accurately forecasted, the new algorithms are still robust enough to produce optimal or near-optimal sequences, and they consistently outperform all the other algorithms evaluated. Ó 2011 Elsevier Ltd. All rights reserved. 1. Introduction Containerization has revolutionized cargo shipping and resulted in increased global cargo flow. Container terminals serve as crucial hubs in the transportation chain of trade flows. In providing effi- cient services, minimizing vessel turnaround time is a common and key performance goal of terminal operations. The vessel turn- around time is calculated by vessel unberthing time minus vessel berthing time. When a vessel berths at a terminal, a number of quay cranes (QCs) are allocated to serve the vessel. QCs first unload containers from the vessel onto in-terminal vehicles for transfer- ring them to the container storage yard. A vehicle would arrive at a specific job location at a yard block and be served by a yard crane (YC) to pick up the container and to temporarily store it in the yard block. The operation of loading containers onto a vessel is carried out in the reverse order. Previous studies on YC dispatch- ing/scheduling have pointed out that YC operations are of great importance and likely to be a potential bottleneck to the overall terminal performance [1]. One common way to organize the yard operations is to partition a container storage yard into a number of zones for each planning window. Each zone is handled by one or two YCs according to the predicted number of loading and unloading operations in the next planning window, e.g. 1 or 2 h. In most cases, the partition is done in units of yard blocks. Because YC gantry to a different row may take around half an hour or more, yard blocks in different rows usually will not be grouped into the same zone. Fig. 1 shows a pos- sible partition of a storage yard in a typical container terminal where a zone may not be whole blocks. In a yard block, containers are arranged in a number of rows and slots as shown in Fig. 2. A number of adjacent rows across a few slot locations form a cluster. Vehicles travel along lanes for con- tainer jobs. When a vessel is unloading, vehicles carry containers to different yard clusters. When multiple vessels are loading and unloading at the same time, vehicles will arrive at different slot locations. Local trucks carrying export containers may also arrive at any time to unload at certain designated slot locations. As a re- sult, YCs need to move between different slot locations in their as- signed zones to serve vehicle jobs. When an YC is busy serving other vehicle(s), a vehicle needs to wait for it. A vehicle may also need to wait for the YC to move to its job location. The overall objective of terminal operations is to reduce vessel turnaround time [8]. While trying to minimize vessel turnaround time, the terminal also gets the benefits of improved berth utiliza- tion and higher productivity. This also means lower manpower costs. Therefore at the yard side, YCs need to service in coming 1474-0346/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.aei.2011.02.002 Corresponding author. Tel.: +65 6790 5786; fax: +65 6792 6559. E-mail addresses: [email protected] (X. Guo), [email protected] (S.Y. Huang), [email protected] (W.J. Hsu), [email protected] (M.Y.H. Low). Advanced Engineering Informatics 25 (2011) 472–484 Contents lists available at ScienceDirect Advanced Engineering Informatics journal homepage: www.elsevier.com/locate/aei

Transcript of Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Page 1: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Advanced Engineering Informatics 25 (2011) 472–484

Contents lists available at ScienceDirect

Advanced Engineering Informatics

journal homepage: www.elsevier .com/ locate /ae i

Dynamic yard crane dispatching in container terminals with predicted vehiclearrival information

Xi Guo ⇑, Shell Ying Huang, Wen Jing Hsu, Malcolm Yoke Hean LowSchool of Computer Engineering, Nanyang Technological University, Singapore 639798, Singapore

a r t i c l e i n f o a b s t r a c t

Article history:Received 2 May 2010Accepted 7 February 2011Available online 2 March 2011

keywords:Decision-makingOptimizationYard crane dispatchingContainer terminal

1474-0346/$ - see front matter � 2011 Elsevier Ltd. Adoi:10.1016/j.aei.2011.02.002

⇑ Corresponding author. Tel.: +65 6790 5786; fax: +E-mail addresses: [email protected] (X. Guo)

Huang), [email protected] (W.J. Hsu), [email protected]

The performance of a container terminal depends on many aspects of operations. This paper focuses onthe optimal sequencing of a yard crane (or YC for short) for serving a fleet of vehicles for delivery andpickup jobs. The objective is to minimize the average vehicle waiting time. While heuristic algorithmscould not guarantee an optimal solution, a conventional mathematical formulation such as mixed integerprogram would require too much computing time. We present two new algorithms to efficiently com-pute YC dispatching sequences that are provably optimal within the planning window. The first algo-rithm is based on the well-known A⁄ search along with an admissible heuristics. We also incorporatethis heuristics into a second backtracking algorithm which uses a prioritized search order to acceleratethe computation. Experimental results show that both new algorithms perform very well for realisticYC jobs. Specifically, both are able to find within seconds optimal solutions for heavy workload scenarioswith over 2.4 � 1018 possible dispatching sequences. Moreover, even when the vehicle arrival times arenot accurately forecasted, the new algorithms are still robust enough to produce optimal or near-optimalsequences, and they consistently outperform all the other algorithms evaluated.

� 2011 Elsevier Ltd. All rights reserved.

1. Introduction

Containerization has revolutionized cargo shipping and resultedin increased global cargo flow. Container terminals serve as crucialhubs in the transportation chain of trade flows. In providing effi-cient services, minimizing vessel turnaround time is a commonand key performance goal of terminal operations. The vessel turn-around time is calculated by vessel unberthing time minus vesselberthing time. When a vessel berths at a terminal, a number ofquay cranes (QCs) are allocated to serve the vessel. QCs first unloadcontainers from the vessel onto in-terminal vehicles for transfer-ring them to the container storage yard. A vehicle would arriveat a specific job location at a yard block and be served by a yardcrane (YC) to pick up the container and to temporarily store it inthe yard block. The operation of loading containers onto a vesselis carried out in the reverse order. Previous studies on YC dispatch-ing/scheduling have pointed out that YC operations are of greatimportance and likely to be a potential bottleneck to the overallterminal performance [1].

One common way to organize the yard operations is to partitiona container storage yard into a number of zones for each planning

ll rights reserved.

65 6792 6559., [email protected] (S.Y.g (M.Y.H. Low).

window. Each zone is handled by one or two YCs according to thepredicted number of loading and unloading operations in the nextplanning window, e.g. 1 or 2 h. In most cases, the partition is donein units of yard blocks. Because YC gantry to a different row maytake around half an hour or more, yard blocks in different rowsusually will not be grouped into the same zone. Fig. 1 shows a pos-sible partition of a storage yard in a typical container terminalwhere a zone may not be whole blocks.

In a yard block, containers are arranged in a number of rows andslots as shown in Fig. 2. A number of adjacent rows across a fewslot locations form a cluster. Vehicles travel along lanes for con-tainer jobs. When a vessel is unloading, vehicles carry containersto different yard clusters. When multiple vessels are loading andunloading at the same time, vehicles will arrive at different slotlocations. Local trucks carrying export containers may also arriveat any time to unload at certain designated slot locations. As a re-sult, YCs need to move between different slot locations in their as-signed zones to serve vehicle jobs. When an YC is busy servingother vehicle(s), a vehicle needs to wait for it. A vehicle may alsoneed to wait for the YC to move to its job location.

The overall objective of terminal operations is to reduce vesselturnaround time [8]. While trying to minimize vessel turnaroundtime, the terminal also gets the benefits of improved berth utiliza-tion and higher productivity. This also means lower manpowercosts. Therefore at the yard side, YCs need to service in coming

Page 2: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 1. Storage yard partitioned into zones.

1 2 3 4 . . . Yard Crane Slot … 37

Truck

Row 2 1

Fig. 2. A yard block with slots and rows.

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 473

vehicle jobs as fast as possible to minimize vehicle delays. Thishelps in supporting unblocked vehicle flows to the quay side toachieve overall objective of the terminal.

YC management involves two types of problems: YC deploy-ment and YC dispatching. YC deployment is the problem of deploy-ing YCs to various parts of the yard to serve in a zone for a planningperiod. YC dispatching is the problem of dispatching YCs to servevarious vehicle jobs in its assigned zone within a planning period.The main focus of this paper is the YC dispatching problem. The YCdispatching algorithm proposed is part of the hierarchical YC man-agement scheme for container terminals that we are working on.To help understand the context, the hierarchical YC managementscheme is described in Section 3.

The YC dispatching problem is sometimes referred to as the YCrouting problem in literature because YCs are routed among thevarious job locations. It is a complicated problem because: (1) boththe job arrival times and the job locations affect the dispatching se-quence. For example, a job arriving later but nearer to the currentYC location could possibly be a better choice as the next job than ajob arriving earlier but at a location further away. It also impliesthat the choice of the next job is affected by the YC’s locationand finishing time of the current job. Therefore the problem is se-quence-dependent and could not be easily broken into simplersubproblems. This makes techniques like dynamic programmingnot quite applicable. (2) An idle YC can move to the chosen nextjob location before the actual job arrival to shorten vehicle waitingtime. This is possible if the next several job arrivals can be pre-dicted. So the time spent on YC gantry may or may not contributeto vehicle waiting times.

The main difficulty of the YC dispatching problem is possibly itscomputation complexity. The problem of single YC dispatching isNP-hard [3], which means the time it takes to find the optimal dis-patching solution is likely to increase exponentially with the prob-lem size. An YC with 10 job requests would have over 3.6 millionpossible dispatching solutions. Even when the planning windowis small, it could still be too time consuming to find the optimalsolution. The difficulty is aggravated as multiple YCs need to bedispatched in the yard. And in real world applications, operationsare carried out continuously over time so computation for a solu-tion has to meet the real time constraint. Conventional approachesinclude Mixed Integer Programming (MIP) and heuristic methods.

MIPs (e.g. [4]) are computationally intensive and only suitable forsmall-size problems while heuristic methods reduce computationtime but sacrifice solution optimality (e.g. [5,12]).

In handling the YC dispatching problem, we propose two opti-mal algorithms for an YC to handle the jobs in its assigned zonewithin a planning window efficiently. The algorithms take the pre-dicted job arrival times as input. The two algorithms find the bestdispatching sequence with reasonable computational time in solv-ing problems of practical sizes. This is achieved by using domain-specific knowledge beyond the definition of the searching problemitself. The first algorithm is a modified A⁄ search algorithm. Exper-iments show that this algorithm could find the optimum out of2.4 � 1018 possible dispatching sequences in about 2–4 s. We fur-ther hybrid the domain-specific knowledge with a Recursive Back-tracking algorithm (RBA⁄) to improve the memory usagelimitation. The RBA⁄ algorithm is an anytime algorithm.

One concern of YC dispatching based on the predicted vehiclearrivals is the dynamics of these arrivals which make accurate pre-dictions difficult. The advanced traffic information systems (ATIS)that can provide road-users and traffic managers with accurateand reliable real-time traffic information have been widely studiedin recent years. A surge of research into reliable and accurate trafficand travel time prediction models have been developed in the pastdecades [2]. With real-time tracking of terminal assets, vehicle jobarrivals in near future could be predicted. Predicting vehicles’ arri-val times in container terminals is relatively simpler than otherproblems because vehicle tracks in terminals are simpler than roadnetworks in cities and vehicle speeds in terminals are more uni-form than those in public roads. However it is possible that some-times actual vehicle job arrival times deviate from the predictions.We evaluate the performance of the proposed algorithms undernoisy conditions and show that our algorithms are robust enoughto outperform the other heuristics.

The rest of the paper is structured as follows. In Section 2 we re-view the related works. Problems in YC management are discussedand a hierarchical YC management scheme is described in Sec-tion 3. A formal description of the YC dispatching problem is givenand the problem is reduced to a tree search problem in Section 4.Our proposed algorithms are presented in Section 5. Section 6 isdedicated to the experimental evaluation of the performance ofthe proposed algorithms. Conclusion is drawn in Section 7.

2. Related work

The problems of scheduling and dispatching resources in con-tainer terminals have been widely studied in recent years. Surveyson researches of various container terminal operations have beendone by Vis and de Koster [7], Steenken et al. [8] and Stahlbockand Vob [9].

Page 3: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

474 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

Some early efforts in YC dispatching started by addressing thesingle YC loading only problem. The loading plan of a QC and thecontainers stock at each bay (clustered slots) are known before-hand. The solutions focus on the sequence of bay visits and thenumber of containers to be picked up at each bay while the individ-ual container pick-up sequence within a specific bay is left to thecrane operator. Kim and Kim [4] addressed this loading only prob-lem using Mixed Integer Programming (MIP) for routing single YCto support the loading operations of a vessel. A beam search heuris-tic was proposed later and compared with a Genetic Algorithm (GA)[5,10]. However, for large problems, the MIP model has limitedapplicability due to the excessive computational time while heuris-tics will not guarantee to generate optimal solutions. In addition,the assumption of having dedicated yard cranes just to support ves-sel loading operations in these works is not always the best for ter-minals with many berths and more yard blocks than cranes.

Several works studied the problem with two or more YCs. Due tothe problem complexity, MIP models were commonly employedjust to formulate yard related problems while heuristic methodswere proposed to find near-optimal solutions. Jung and Kim [11]considered two YCs working in one shared zone to support vesselsloadings with a GA and a Simulated Annealing (SA) algorithm. Caoet al. [12] considered double-rail-mounted gantry (DRMG) cranesystems where two YCs can pass through each other along a rowof blocks with a combined greedy and SA algorithm. Ng [13] studiedthe problem of scheduling multiple YCs to handle jobs with differ-ent ready times within a yard zone with MIP and heuristics.

The combination of MIP models and heuristics methods has beenemployed for the YC deployment problem [14–17]. Decisions at thislevel deploy YCs among the yard blocks for a few times in a day basedon forecasted workload typically in terms of the number of containermoves or vehicle jobs. However, the number of container moves isnot an accurate estimate of the YC workload since the time spenton YC gantry can vary significantly depending on the service se-quence of jobs. Other studies extended to a broader scope by includ-ing several related subproblems in one integrated model. Handlingequipments of YCs, QCs and in-terminal vehicles were all consideredin Chen et al. [18], Lao and Zhao [19], Zeng and Yang [20]. Froylandet al. [21] considered the problem of operating a landside containerexchange area including YC dispatching, short-term container stack-ing and allocation of vehicle delivery locations.

The research work today have helped much in finding better waysto manage container terminals. However, the hardcore single YC dis-patching problem with detailed job serving sequence is not satisfac-torily solved. Migration into real world applications still appearsunlikely as MIP models require too much time for the NP-hard prob-lem while using heuristics cannot guarantee optimal YC performance.

The consequence of time-consuming or suboptimal solutions ofthis hardcore problem is serious. As terminals are operating con-tinuously with multiple YCs, small performance downgrades fora single YC over a period of time might result in serious overallYC performance downgrades in a long term. As YC subsystem istightly coupled with in-terminal vehicle subsystem and QC subsys-tem, the poorly performing YC subsystem would have significantnegative impact on them. This will certainly lead to low efficiencyand productivity of the whole terminal. Therefore, a better solutionto the hardcore single YC dispatching problem is demanded. In thispaper, we propose new algorithms to incorporate the key featuresof the A⁄ search approach to guarantee solution optimality in theYC service zone within a planning period.

3. Yard crane operation management

The conventional YC management follows a top–down ap-proach to make decisions at higher levels without considering

decisions at lower levels. After equipment ordering at the begin-ning of a shift at the top level, a common practice is to initially as-sign YCs to various yard blocks to work. Then a re-distribution ofYCs among the yard blocks is done from time to time to matchthe dynamically changing workload. The workload in a future timeinterval is often simply estimated by the number of jobs expected[14,15] and the frequency of YC re-distribution is usually pickedbased on past experience. At the bottom level, job serving sequencefor the YC(s) in charge of a block may be left to the crane opera-tor(s) to decide or solved by methods in [5,10–13]. Using this ap-proach, it is difficult to achieve the best possible balance ofworkloads among YCs to minimize the delays of vehicles at theyard side. The reasons are as follows.

3.1. Block-based workload partition

Since the number of YCs is often not the same as the number ofyard blocks, partitioning in units of blocks may lead to one of thefollowing scenarios: (1) some blocks do not have any YCs in chargeeven though there are jobs arriving; or (2) some YCs are in chargeof more than one block; (3) some blocks have more than one YC. Inthe first situation it will result in long vehicle waiting times. In thesecond scenario, an YC in charge of two blocks (or more) may havetoo many jobs to handle. The third scenario needs carefully syn-chronized YC operations to avoid YC clashes in order to avoid longYC waiting times.

3.2. Workload prediction

Obviously, a successful workload balance among multiple YCshighly depends on the accuracy of the future workload estimation.However, estimations based on the number of jobs may widelydeviate from the true ‘‘workload’’ as (1) for the same number ofjobs, a YC will incur different gantry times due to the differentjob locations or different job serving sequences; (2) for the sameset of jobs, different arrival sequences and arrival times will resultin different job serving sequences and therefore different gantrytimes. So workload prediction by the number of jobs is not accu-rate which may make YC allocation algorithms less effective in bal-ancing workload.

3.3. Re-distribution/re-partition frequency

Since the yard operation is a complex system running 24 hcontinuously, the management is typically based on rolling timeperiods. In general, the trade-off issue is that a high frequency ofre-distribution/re-partition leads to flexibility in coping withdynamic workload but with possible performance loss due to localoptimization for short planning windows. It incurs higher compu-tational costs. In addition, the movement of a Rubber Tired GantryCrane to a different row involves two 90� turns which take muchlonger time than linear gantry. Therefore, frequent re-distributionof YCs in this way may delay the vehicle movements by blockingthe lanes. It is often very hard to decide on the frequency thatoffers the best trade-off.

To overcome the difficulties above, we propose a hierarchicalscheme for YC operation management which is organized intothree levels as shown in Fig. 3. Suppose a suitable number of YCshas been assigned to work for the current shift.

Level 1 deploys YCs among different rows at suitable timesbased on predicted future workload. This is done a few times dur-ing a shift of 8 h. The objective at this level is to minimize the mis-match of YC assignments among the rows of yard blocks and toreduce the number of unnecessary time-consuming cross gantries.Cross gantries only occur at times necessary to balance the work-load among different rows.

Page 4: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 3. Hierarchical YC operation management scheme.

Fig. 4. Continuous YC work flow.

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 475

Level 2 serves two purposes. First is to partition the time inter-val T between two rounds of YC deployment at Level 1 into a num-ber of planning windows of variable lengths. The second is topartition a row of yard blocks into a number of zones for each plan-ning window. A zone can be part of a yard block, one block or spanmore than one block. Each zone is assigned one YC. Observing thesafety constraints to avoid YC collision, YC zones are typically non-overlapping for the same planning window to guarantee that evenin case of noises in job arrival times, no potential collision wouldoccur. We follow the industrial concern in our scheme. The searchfor the suitable partition of both the time and space will be an iter-ative process. Starting with a large time window, Level 2 tries tofind the space partition. Sometimes the space partition for the pro-posed time window does not have a satisfactory solution. The rea-sons may be a lack of sufficient partition points, which are areas ofat least eight-slot separation between adjacent jobs, to achieve awell balanced partition plan. Then the time window will be re-duced gradually until a balanced space partition is found. The pro-cess continues till the current time interval T to be managed byLevel 2 is completely partitioned.

For each zone in a proposed space partition of a planning win-dow in Level 2, Level 3 helps in two ways. First is to determine theserving sequences of vehicle jobs (this is the YC’s dispatching se-quence). The second is to provide an estimation of the YC’s perfor-mance of the zone in supporting decision makings at Level 2.

The hierarchical scheme aims to achieve the best possible bal-ance of workloads among YCs through flexible time and space par-titioning of workload to cope with dynamic workload changes.Instead of making estimation of workload at Level 2 by the numberof jobs, the scheme considers a pool of candidate partition solu-tions. These candidate partition solutions are evaluated with thesupport of Level 3, which computes the YC dispatching sequencesand returns the expected YC performance of these candidate solu-tions. It also means that in handling such inter-related complexproblems, the efficiency of the lower level support is essential.Here the single YC dispatching algorithm at Level 3 may need tobe called hundreds or even thousands of times to support deci-sion-making at higher levels. The computation of the dispatchingsolution must be extremely time-efficient and the quality of thedispatching solution must be guaranteed.

In the rest of this paper, we focus on the single YC dispatchingproblem at Level 3.

4. Problem formulation

4.1. General description

The following assumptions are made in the YC dispatchingmodel:

� Each vehicle job involves one container only. If a vehicle carriestwo containers stacked to different locations, it will go to thedelivery location of the top container first. A vehicle carrying

multiple non-stacking containers to the same destination slotlocation is modeled as multiple container jobs as explainedlater.� The slot locations of jobs are pre-determined and the vehicle

arrival times can be predicted for a relatively short planningwindow, e.g. 30 min.� The YC process time of each job can be accurately predicted.� YC gantry time between two job positions could be predicted

with high accuracy as gantry speed is usually quite consistent.� A terminal environment where vehicle dispatching is done in

the just-in-time manner so both delivery and retrieval jobsare to be done as soon as possible. This will help the vehicleproductivity.

Usually, predictions of arrivals are only made for jobs in thenear future. Also, van Hinsbergen et al. [22] show that certaingroups of approaches nowadays are able to predict point to pointtraffic conditions accurately. Therefore, the assumptions of reliablepredictions for vehicle job arrivals in the near-future as inputs forthe YC dispatching models are realistic with advanced technologiesand recent developments in transportation studies.

In our formulation, the following notations are used:

J ¼ f1; 2; . . . ; ng the set of job IDs for the planning windowPr ¼ f0; 1; 2; . . . ; ng the set of possible immediate predeces-sors of a jobSu ¼ f1; 2; . . . ; n; nþ 1g the set of possible immediate succes-sors of a jobAi the arrival time of job iPi the process time of job i by an YCMij the time for YC gantry from the position of job i to that ofjob jSi the time a YC starts processing job i

J is the set of jobs to be sequenced. Let the start status of an YCbe a virtual job 0 and the final status of an YC be a virtual job n + 1.When considering the continuous YC work flow, job 0 will be thelast job in the previous planning window and job n + 1 is the firstjob in the next planning window as shown in Fig. 4. M0j is the YCgantry time from its position at the start of the time window tothe position of job j.

The objective of an YC is to serve every vehicle as quickly aspossible so that the vehicles can continuously feed the quay cranesso as to reduce the vessel turnaround time. So, the YC dispatchingproblem is: For a set J of n vehicle jobs with predicted job arrivaltimes Ai (i = 1, 2, . . ., n), job processing times Pi (i = 1, 2, . . ., n) andYC gantry times Mij (i = 1, 2, . . ., n; i = 1, 2, . . ., n), find a job se-quence for the YC so as to

Minimize1n

Xi2J

ðSi � AiÞ:

Page 5: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 6. Search space of the problem.

476 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

Si, the start time of each job i, has to be after Ai the arrival timeof the vehicle and after the YC moves from its previous job locationto the current job location. The YC may immediately start movingtowards its next job location after the completion of the processingof the current job.

The YC dispatching model is flexible to include operation condi-tions where some vehicles carry more than one container. For sit-uations that containers are not stacked on top of each other at thesame slot location, they could be simply modeled as several con-tainer jobs with the same arrival time. For situations where severalcontainers are to be loaded/unloaded at the same slot one after an-other, they will be individual jobs with their own vehicle arrivaltimes, possibly one after another. In both situations, the YC dis-patching algorithm will find a job serving sequence which returnsthe minimum total waiting time for all the jobs.

When vehicle arrivals cannot be predicted, an YC can only startto move towards the next job location after the actual job arrival.Job starting time in this case could be derived as in Eq. (1) wherejob i is the current job and job j is the next job. If vehicle arrivalscan be predicted and the next job is decided, an YC is able to startmoving towards the next job location before the actual vehicle ar-rival. This is referred to as the pre-gantry ability. Job starting timewith pre-gantry ability is shown in Eq. (2).

Sj ¼ maxfSi þ Pi; Ajg þMij ð1ÞSj ¼ maxfSi þ Pi þMij; Ajg ð2Þ

The advantage of the pre-gantry ability is the possibility of uti-lizing YC idle time between jobs to transfer between different joblocations. In Fig. 5a, when the next job is not known in advance,the YC would be idle at the current job location and only start gan-try after the arrival of the next job. When job arrivals are known inadvance, the YC could start gantry towards the next job locationimmediately after the completion of the current job. The pre-gantry ability saves partial or the whole gantry time as shown inFig. 5b.

Using the well known three-field classification of schedulingproblems by Graham et al. [23], the single YC dispatching problemwith the objective of minimizing average (total) job waiting timemay be described as 1=ðr; dÞ=T . The first field means single ma-chine. The middle field states the job characteristic of arbitraryjob release times ri and compatible release times with due timesdi. Compatible release times with due times means for any two jobsi and j, if ri 6 rj, then di 6 dj. The third field specifies the objectivefunction. In the case of compatible release times with due times,the objective of minimizing total tardiness is equivalent to mini-mizing total job waiting time. In our problem, r = d.

(a)

(b)

Fig. 5. (a) No pre-gantry; (b) with pre-gantry.

The 1=ðr; dÞ=T problem has been shown to be strongly NP-hardby Koulamas and Kyparisis [24] with zero setup times. Our prob-lem of single YC dispatching has the additional features of se-quence-dependent setup times. And the setup times areanticipatory as defined by Allahverdi et al. [25] since YC maypre-gantry (if possible) to shorten the job waiting times. Our prob-lem could be considered as a 1=ðr; dÞ=T problem with anticipatorysequence dependent setup times which is at least as hard as oreven harder than the original problem. Approaches developed forthe normal single machine job scheduling problem with the objec-tive of minimizing total tardiness are not applicable to our problemsince that problem usually assumes zero job release times.

4.2. YC dispatching reduced to a tree-search problem

We believe that solving the YC dispatching problem as de-scribed in the last section by integer programming approach willnot be feasible for practical applications. Given an YC dispatchingproblem of n jobs, there are n! possible dispatching solutions.The solution space can be transformed into a tree-search problem.Each job is a node and the virtual job 0 is the starting node. Theedge weight from node i to node j has a value equal to the vehiclewaiting time for job j if the YC is to do job j immediately after fin-ishing job i. This edge weight is given by

Wij ¼maxfSi þ Pi þMij � Aj; 0g ð3Þ

Note that S0 = P0 = 0. The task is to find a path of minimum totaldistance from the start node to a leaf node that visits each job ex-actly once. From (3), it can be seen that the edge weights are notpre-defined and depend on Si.

Fig. 6 shows the search space. For a dispatching problem of njobs, each path from the start node to a leaf node in the tree repre-sents a complete dispatching sequence of height n and there are intotal n! such paths. The objective of the problem is now trans-formed into finding a path of minimum total cost (i.e. totalweights/total job waiting time) from the start node to a leaf node.

5. Optimal search algorithms

In finding the least-cost path of the YC dispatching problem, weneed to traverse the tree for searching the optimal solution. As theproblem is NP-hard, exhaustive search would be time-consumingto perform. Here we propose to use modified A⁄ search to reducesearch time and yet to guarantee optimality. We derive a heuristicfunction using domain knowledge for the modified A⁄ search.

5.1. Modified A⁄ search

A⁄ search is a common method for graph search to find the opti-mal path from an initial node to one goal node. It keeps an open listof nodes to be expanded and always tries to select the most prom-ising node first based on an evaluation function f(x) = g(x) + h(x)

Page 6: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 8. Jobs in U(node_cur) re-indexed and generated as children of node_cur.

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 477

where g(x) is the cost from the start node to x and h(x) is the esti-mated lowest cost from x to the goal node. If h(x) never overesti-mates the true cost h⁄(x), i.e. h(x) 6 h⁄(x), the heuristic h(x) isadmissible. When coupled with an admissible heuristic h(x), A⁄

search is optimally effective. In other words, no other algorithmwill expand less nodes than A⁄ by employing the same h(x) [26].

Unlike the original A⁄ search, we are not actually looking for one‘‘goal’’ node in the YC dispatching problem. The search tree isformed such that each path from the root to a leaf node is of heightn representing a complete dispatching sequence of n jobs. Theobjective of our tree search is to find a path from the start nodeto a leaf node (a dispatching sequence of n jobs) with minimumf(x) (i.e. total job waiting time). Once a leaf node is reached, thecost f(x) of this complete dispatching sequence is kept.

We still use the A⁄ cost function f(x) to select the most promis-ing node to expand, but the criterion for stopping the search ismodified accordingly. In the original A⁄ search, the search will stopwhen a goal node is reached or when the open list is empty. In themodified A⁄ search, the search will stop when we reach a leaf nodewith a cost f(x) lower than that of any path in the open list or whenthe open list is empty. In this way, we formed our definition of the‘‘goal state’’ in the stopping criteria of A⁄ search while maintainingthe characteristics of A⁄search: admissible, complete and optimallyeffective. Pseudocode of the Modified A⁄ is shown in Fig. 7. Let

g(x) = cumulated job waiting time from start to node x withedge weight Wij computed by Eq. (3).h(x) = estimated lower bound cost from node x to a leaf node.N = set of all jobs, |N| = n.P(x) = set of jobs already in the (partial) path from the root ofthe tree (start) to node x.U(x) = N � P(x).

5.1.1. An admissible heuristic h(x)A⁄ is optimal in tree-search if h(x) is an admissible heuristic,

that is, h(x) never overestimates the cost from node_cur to the goal.

Fig. 7. Pseudocode of m

In this problem, an admissible heuristic means h(x) never overesti-mates the total job waiting time to handle the remaining unor-dered jobs.

Now, the problem is how to evaluate h(x) where x is a successornode of node_cur in the algorithm presented in Fig. 7. As shown inFig. 8, all successors of node_cur, i.e. U(node_cur), are re-indexed ina list L, where Ai 6 Aiþ1, for i = 1, 2, . . . M. (M = |U(node_cur)|).

Consider a node x = Ji. To evaluate h(x), the cost from Ji to a leafnode, we need to estimate the minimal total job waiting time forthe remaining M � 1 jobs, that is, U(x) = U(node_cur) � {Ji}. U(x)can be partitioned into two groups:

Uðx¼ jiÞ¼Cearlier [Clater

Cearlier ¼fJjg; where Aj6 Fi and j – i; and

Clater ¼fJjg; where Aj > Fi

As shown in Fig. 9, Fi is the finish time of Job Ji. Jobs in Cearlier andin Clater are the ones that arrive earlier or later than Fi respectively.

For each job in Cearlier, it definitely needs to wait for the timeperiod from its own arrival to the finish time of Job Ji plus the timeperiod of the YC’s gantry from Ji to its own job location. The mini-mum total job waiting time for jobs in Cearlier is shown in expres-sion (4).XðFi � Aj þMijÞ; where Jj 2 Cearlier ð4Þ

We assume additional reshuffling of containers if required isseparately done from the vessel loading and unloading process.Therefore, containers to be retrieved from the yard during loading

odified A⁄ search.

Page 7: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 9. Successor jobs of node_cur.

478 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

are on top of the container stacks, and containers to be stored inthe yard during unloading are just placed on top of the proper slot.In this case, process time differences among jobs are minor and weapproximate the crane process time for all jobs by averaged YCprocess time, Ts time units.

In addition to the waiting time described in expression (4), thesecond job to be handled in Cearlier has to wait at least one unit of Ts,the processing time of the first job handled in Cearlier. The third jobto be handled in Cearlier has to wait for at least 2⁄Ts, the sum of jobprocess times of the first and the second job handled in Cearlier. Like-wise, the last job to be handled in Cearlier will have to wait for atleast (|Cearlier| � 1)Ts, the sum of the job process times for the pre-vious (|Cearlier| � 1) jobs in Cearlier.

Thus, combining expression (4) and the waiting times men-tioned above, the minimum total waiting time for jobs in Cearlier

is as follows.

½1þ 2þ . . . þ ðjCearlier j � 1Þ� � Ts þXðFi � Aj þMijÞ;

where Jj 2 Cearlier ð5Þ

Some of the jobs in Clater may arrive earlier than the earliestreachable time of the YC after it finishes job Ji. The minimum totalwaiting time for jobs in Clater is described in expression (6)X

maxf0; Fi � Ak þMikg; where Jk 2 Clater ð6Þ

The estimated minimum cost from node Ji to a leaf nodehðx ¼ JiÞ is now labeled as h(i), where Ji is the ith job arrival amongall the successors of node_cur. The heuristic h(i), which describesthe minimum total job waiting time for the remaining M � 1 jobs,is then the sum of the two components in (5) and (6):

hðiÞ ¼ ½1þ 2 . . . þ ðjCearlierj � 1Þ� � Ts þX

Jj2Cearlier

ðFi � Aj þMijÞ

þX

Jk2Clater

maxf0; Fi � Ak þMikg ð7Þ

Proof: h(i) is admissible

(1) The waiting time as expressed by (5) is the very minimumfor jobs in Cearlier as if each job were the first job to be servedafter job Ji and no job in Clater would be served before any jobin Cearlier.

(2) The waiting time as expressed by (6) is the very minimumfor each of the jobs in Clater as if it were the first job to beserved after job Ji.

Since components (5) and (6) do not overlap with each other,h(i) can never overestimate the total job waiting time for theremaining M � 1 jobs. Thus h(i) can never overestimate the costto the leaf node and is hence admissible.

5.2. Prioritized Recursive Backtracking with heuristics

A⁄ algorithm is optimally efficient for any given heuristic func-tion h(x). However it has two limitations in real world applications.

First one is memory usage. Because A⁄ keeps all generated nodes inmemory and the number of nodes increases exponentially with theproblem size, it may run out of memory space. This limits its usagein large-scale problems. The second limitation is that real time dis-patching often requires anytime algorithms. This means an algo-rithm which could work out a solution quickly and keepsimproving it until the optimal is reached or it is interrupted by realtime constraints to provide the current ‘‘best’’ solution. A⁄ searchhas actually a breath-first searching feature and could not quicklyobtain a solution (i.e. not anytime).

To overcoming these limitations, we propose a Recursive Back-tracking (RB) based algorithm. RB is complete and optimal if thedepth of a search tree is finite and there is no time constraint. Itgreatly reduces memory usage by recursively calling sub problemsand keeping only the nodes on the current path. RB could quicklyfind the first solution by visiting only N nodes in a problem of sizeN. It would then backtrack to examine other solutions. If a bettersolution is encountered during the backtracking process, theknowledge of the current best solution will be updated accord-ingly. Therefore, RB based algorithm is anytime such that a currentbest solution is provided even though the entire search is notfinished.

5.2.1. Combination of RB and heuristics h(x), RBA⁄

We propose to employ the heuristic which embeds the domainspecific knowledge as in Eq. (7) to trim the search space of RB.Every time we expand a new node along a search path, the jobwaiting time could be obtained and the total job waiting time ofall planned jobs from the start to the current node g(x) is updated.The pruning of the search space could be more effective if the low-est cost from the current node x to a goal node can be computed.Let h(x) represents the estimated minimum total job waiting timefor all unplanned jobs from the current job node. If h(x) is admissi-ble, in other words, h(x) never overestimates the cost from the cur-rent node to a goal node, the heuristic is by nature optimal becauseit thinks the cost of solving the problem is less than it actually is[27]. Since g(x) is the exact cost from start node to the current nodex, this implies that g(x) + h(x) never overestimates the true cost of asolution through node x. The decision to stop searching further thesub-trees of the current node could use the evaluation ofg(x) + h(x). This evaluation function has been proposed in Sec-tion 5.1.1. By combining this heuristic into the RB algorithm, wepropose the RBA⁄which will not miss the optimal solution and willgreatly reduce the computation time of RB. Pseudocode is shown inFig. 10.

In Fig. 10, optimalJ is created to record the current best com-plete dispatching sequence. In each iteration of the FOR loop inRBA⁄, an unplanned job Ji will be considered as the current job tobe served by the YC. Dynamic data driven simulation of the YC gan-try and loading/unloading operation enables the prediction of thecumulated job waiting time g(Ji) from the first job till job Ji thatis the partially built dispatching sequence in newJ. The minimumtotal job waiting time for jobs not planned yet h(Ji), is computedaccording to Eq. (7). The sum g(Ji) + h(Ji) represents the estimatedminimal total job waiting time for any dispatching sequence whichhas the partially built dispatching sequence as in newJ. If this sumis smaller than that of the current best dispatching sequence, thefunction RBA⁄ will be called to explore further the current pathin the search tree. Otherwise, the current path is terminated andanother unplanned job will be considered as the current job. Ifthe current job is a leaf node, the algorithm has found a completedispatching sequence and the current best solution will be updatedaccordingly.

In each iteration, after picking job Ji as the current job, it resultsin a partially built dispatching sequence P(Ji) = newJ, and jobs leftunplanned U(Ji) = J. There are factorial(|U(Ji)|) dispatching

Page 8: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Fig. 10. Pseudocode of RBA⁄.

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 479

sequences with the partially built sequence newJ as the prefix.Whenever g(Ji) + h(Ji) is found to be no better than the current bestsolution, a total of factorial(|U(Ji)|) dispatching sequences arepruned from the search space.

5.2.2. Acceleration with prioritized search orderIn the algorithm of RBA⁄, unnecessary exploration to sub-trees

is pruned according to the knowledge of the current best solution.In the worst case, the optimal solution could be reached last andwe could still be forced to explore the entire solution space. There-fore, the discovery of a good path which has near-optimal total jobwaiting time at the early stage of the tree search is crucial to theperformance of the RBA⁄.

As in Fig. 10, the recursive algorithm RBA⁄ takes a list of un-planned jobs J as input. For each job Ji in list J, it will be consideredas a next job and followed by a function call for the remaining jobs(J � {Ji}). To accelerate the search process, we propose a techniquecalled prioritized search order which is more likely to discover agood dispatching sequence early in the planning process, insteadof choosing the next job randomly. Two ordering methods are usedand compared:

(1) The first method is to use job arrival times as the priority inthe search order. The rationale is that considering the earli-est arrival job first among all unplanned jobs will minimizeits own waiting time and increases the likelihood of an opti-mal or near-optimal path at an early stage and will help inpruning more sub-trees in the subsequent searches.

(2) Another method is to sort the jobs by the reachable time (theearliest possible service start time) as described in Eq. (8).

TReachablej¼maxfAj; Fi þMijg ð8Þ

If a vehicle job arrives earlier than the time the YC can gantry toits job location, the reachable time of the job will be the YC’s arrivaltime to the job location. If the YC can pre-gantry to the location of ajob first, the reachable time will be the vehicle’s arrival time. Theearliest reachable unplanned job may not be the one with the ear-liest arrival time. The earliest reachable job may not be the one

nearest to the previous job. The rationale behind this approach isthat giving priority to the job that is earliest reachable improvesthe crane’s throughput and therefore is likely to lead to an optimalor near-optimal solution.

These two methods will be evaluated by simulation experi-ments.

6. Performance evaluation

6.1. Experimental design

To evaluate the performance of the proposed YC dispatchingalgorithms, simulation experiments were carried out. Parametersettings in the experiments, like YC gantry speed and yard blocksizes were obtained from a joint project with PSA International[6]. Similar settings were also seen in [33] where case studies weredone on a local terminal in Singapore, a regional terminal in SouthEast Asia and a major terminal on the drawing board. The lineargantry speed of an YC is 7.8 km/h. As reshuffling operations of con-tainers in the storage yard are usually done separately during thelull periods of yard operations, we assume containers to be re-trieved are already on the top of the slots and containers to bestored in yard will be placed on top of their slot locations. TheYC processing time is thus assumed to be 120 s for each containerjob. Other related recent studies using constant YC process time in-clude Cao et al. [12], Jung and Kim [11] and Lee et al. [28]. The sim-ulation model is programmed using C++ language under Visual C++6.0 compiler on Pentium Core2 Quad CPU Q9450 and 3 GB RAM.

Three sets of experiments were conducted to simulate an YC as-signed to a zone of 1, 1.5 and 2 yard blocks respectively. Each blockhas a size of 37 slots. The distance between two neighboring blocksis equivalent to eight slots in terms of YC gantry time. For each setof experiments, three scenarios of different vehicle arriving rateswere tested. The means of the exponential distributions of inter-ar-rival times are listed in Table 1 in unit of seconds. Heavy loadmeans that job arrival rate is slightly lower than the YC servicingrate (dependent on crane process time + average inter job gantrytime). For the same category of workload, a larger service zone is

Page 9: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Table 1Job inter-arrival times in one zone.

Seconds Heavy load (s) Normal load (s) Light load (s)

Zone = 1 BLK 180 240 270Zone = 1.5 BLKs 225 270 300Zone = 2 BLKs 255 300 330

480 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

given a larger mean inter-arrival time because YCs need to gantrylonger distances. For each experimental setting, 20 independentruns were performed. The slot locations of the jobs are generatedrandomly within the zone. Other recent studies using randomizedcontainer locations include [20,29,30].

Two groups of algorithms are tested as listed in Table 2. Onegroup is the optimal algorithms. As the solution tree of this problemis finite and all branches have the same depth, all algorithms in thisgroup are able to find the optimal dispatching sequence given en-ough time and/or memory space. In Section 6.2, we compare thecomputational time of the optimal algorithms. The other group isthe heuristic algorithms. Algorithms in this group could find a solu-tion fast but the optimal solution is not guaranteed. SCJF is a heuris-tic algorithm by Ng [13]. In Section 6.3, we compare the performancebetween the heuristic algorithms and the most efficient optimalalgorithms under noisy conditions. This is to evaluate how they per-form when the prediction of job arrival times are not 100% accurate.

6.2. Computational time of optimal algorithms

Computational times for planning windows of 12 jobs and 20jobs are presented in Sections 6.2.1 and 6.2.2, respectively. Theseare examples of possible window sizes for an YC to be in chargeof an assigned zone. Computational costs in terms of the numberof nodes explored and the effective branching factors of 10 to 24jobs are presented in Section 6.2.3. For each experimental setting,20 independent runs were performed.

6.2.1. Planning window of 12 jobsComputational time is the factor of interest since all algorithms

return the optimal dispatching sequence. To evaluate the mean

Table 2Algorithms used in the experiments.

Optimalalgorithms

ExS Exhaustive searchPGS Pure greedy search (A⁄ search with h(x) = 0)A⁄ Modified A⁄ searchRBA⁄_A RBA⁄, prioritized search order by arrival

timesRBA⁄_R RBA⁄, prioritized search order by reachable

timesRBA⁄_ran RBA⁄, randomized search order

Heuristicalgorithms

FCFS First come first serveNJF Nearest job firstSCJF Smallest completion time job first

Table 3Computational time of zone = 1 BLK.

(Seconds) ExS PGS

Heavy load Mean 12666 60.2Upper 12673 97.2Lower 12659 23.2

Normal load Mean 12662 30.5Upper 12670 51.7Lower 12654 9.3

Light load Mean 12670 18.8Upper 12676 33.9Lower 12663 3.8

computational time l, we obtain the average �x of 20 runs. t-Distribution is employed to generate t-Confidence Interval (CI) onl: �x� ta=2;n�1s=

ffiffiffinp6 l 6 �xþ ta=2;n�1s=

ffiffiffinp

. In this study, we gener-ate 95% CI where t0:05=2;20�1 ¼ 2:09. Computational times (seconds)for dispatching 12 jobs in the work zone of 1 yard block (BLK) areshown in Table 3 where the Upper is calculated by �xþ ta=2;n�1s=

ffiffiffinp

and the Lower by �x� ta=2;n�1s=ffiffiffinp

.The data in Table 3 show that the Exhaustive Search (ExS)

method is able to explore the entire search tree and find the opti-mal solution in about 3.5 h when the service zone is one block un-der all three workload cases. PGS performs much better than ExS.PGS always expands the node whose current cumulated waitingtime is minimum using f(x) = g(x). It greatly reduces the searchspace in the problem tree. With the domain specific knowledgeembedded in h(x) by Eq. (7) in Section 5.1.1, the proposed A⁄ searchfurther reduces the computational time to less than 1 s. It showsthat the proposed h(x) is able to prune the unworthy partial pathseffectively.

Among the three RRA⁄ algorithms, both RBA⁄_A and RBA⁄_R per-form better than RBA⁄_ran by finding the optimal solution in about0.02–0.04 s. We conclude that the two acceleration techniques ofprioritized search order help to find a good solution first and workreally well with the heuristic to shorten the computational time.These three proposed algorithms (A⁄, RBA⁄_A and RBA⁄_R) performvery well to find the optimal solution in less than 1 s when the ser-vice zone of the YC is one yard block. Their computational time dif-ference is not obvious in terms of 95% CI for a planning window of12 jobs.

Similar results have been obtained for service zones of 1.5blocks and 2 blocks as shown in Tables 4 and 5, respectively. Thisindicates that the algorithms are also effective when the YC is incharge of a larger zone with longer gantry distances.

6.2.2. Planning window of 20 jobsThe computational times of the group of optimal algorithms are

further evaluated for a longer planning window of 20 jobs.Table 6 shows the computational time of Modified A⁄ search

and RBA⁄ with two prioritized search orders when the YC servicezone is one yard block. All three algorithms work efficiently to findthe optimal dispatching sequence in around 2 s in terms of sampleaverage from 20 independent runs. Although the two RBA⁄ algo-rithms explore more nodes in the search tree than A⁄ method, theyoutperform the A⁄methods because they do not have the overheadto maintain the open_list queue for deciding which node to visitnext. RBA⁄ prioritized by arrival of jobs (RBA⁄_A) performs slightlybetter in terms of averaged computational time than RBA⁄ priori-tized by reachable time of YCs (RBA⁄_R). We believe this is becauseRBA⁄_R may favor dispatching solutions where some jobs arestarved leading to poor initial solutions. These poor solutions arenot very effective in pruning later searches for the optimalsolution.

A⁄ RBA⁄_ran RBA⁄_R RBA⁄_A

0.07 52.7 0.03 0.030.11 95.3 0.04 0.040.04 10.1 0.02 0.02

0.05 31.5 0.03 0.030.07 58.0 0.04 0.040.02 5.0 0.02 0.02

0.03 19.8 0.02 0.020.05 36.2 0.03 0.030.02 3.3 0.01 0.01

Page 10: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Table 4Computational time of zone = 1.5 BLKs.

(Seconds) ExS PGS A⁄ RBA⁄_ran RBA⁄_R RBA⁄_A

Heavy load Mean 12662 35.5 0.05 27.5 0.04 0.04Upper 12668 57.4 0.07 52.5 0.06 0.05Lower 12657 13.6 0.02 2.5 0.02 0.01

Normal load Mean 12664 15.0 0.03 17.9 0.02 0.02Upper 12681 27.3 0.05 33.2 0.02 0.02Lower 12647 2.8 0.01 2.6 0.01 0.01

Light load Mean 12668 9.6 0.02 15.3 0.02 0.02Upper 12673 17.5 0.03 28.0 0.02 0.02Lower 12662 1.7 0.01 2.7 0.01 0.01

Table 5Computational time of zone = 2 BLKs.

(Seconds) ExS PGS A⁄ RBA⁄_ran RBA⁄_R RBA⁄_A

Heavy load Mean 12666 23.4 0.04 16.4 0.02 0.02Upper 12676 40.0 0.06 28.0 0.03 0.03Lower 12655 6.8 0.02 4.7 0.01 0.01

Normal load Mean 12670 11.8 0.02 14.9 0.02 0.02Upper 12684 21.0 0.04 27.3 0.03 0.03Lower 12655 2.7 0.01 2.5 0.01 0.01

Light load Mean 12668 7.8 0.02 13.7 0.02 0.02Upper 12682 13.7 0.04 25.6 0.03 0.03Lower 12654 2.0 0.01 1.8 0.01 0.01

Table 6Computational time of zone = 1 BLK.

(Seconds) A⁄ RBA⁄_R RBA⁄_A

1 BLK Heavy load Mean 1.91 1.61 1.53Upper 2.65 2.15 2.02Lower 1.17 1.08 1.03

Normal load Mean 0.43 0.32 0.31Upper 0.62 0.47 0.45Lower 0.23 0.18 0.17

Light load Mean 0.31 0.26 0.24Upper 0.13 0.11 0.10Lower 0.31 0.26 0.24

Note: PGS runs out of memory and exhaustive search, RBA⁄_ran run out of time.

Table 7Computational time of zone = 1.5 BLKs.

(Seconds) A⁄ RBA⁄_R RBA⁄_A

1.5 BLK Heavy load Mean 3.32 2.53 2.23Upper 4.81 3.52 3.03Lower 1.82 1.54 1.43

Normal load Mean 1.30 0.98 0.92Upper 1.95 1.43 1.32Lower 0.66 0.52 0.51

Light load Mean 0.61 0.50 0.47Upper 0.82 0.67 0.64Lower 0.41 0.33 0.31

Note: PGS runs out of memory and exhaustive search, RBA⁄_ran run out of time.

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 481

These results show that the proposed A⁄ algorithm can produceoptimal YC dispatching sequence with very low computationalcosts. And the proposed combination of RB and A⁄ heuristics withthe prioritized search order further improves the performance.Even in the heavy load case, we have 95% confidence that RBA⁄

can find the optimal solution out of over 2:4� 1018 possible dis-patching sequences within 2.02 s, which is the upper bound inthe 95% Confidence Interval. This is considered good enough tobe used in all real time environments.

As a benchmark for our A⁄ search algorithm, PGS runs out ofmemory in all cases tested for a list of 20 jobs. Employing the eval-uation function f(x) = g(x), PGS runs out of memory because itneeds to keep a large number of partially evaluated dispatching se-quences in the memory. As this algorithm is equivalent to an A⁄

search algorithm whose h(x) is always equal to zero, it also showsthat a good admissible heuristic h(x) close to the actual cost h�ðxÞ isimportant for the success of A⁄ methods.

When the computational time of a search algorithm to get theoptimal solution is longer than the planning time window, weinterpret it as running out of time. In all tested cases, exhaustivesearch for a list of 20 jobs would run out of time. Out of 20 inde-pendent runs, some runs for RBA⁄_ran have the same problem. Thismeans that when the search order is randomized, the initial

solutions obtained can be very bad and is not very useful to pruneother partial dispatching sequences. It also confirms the impor-tance of prioritized search order in RBA⁄.

When the workload is heavy, all three algorithms listed in Ta-ble 6 need to take more time to work out the optimal solution. Thiscan be explained using queuing theory: the closer the job arrivalrate is to the process rate (YC handling rate), the higher probabilitythere is to see queuing jobs. When several vehicle jobs wait for theYC service, their relative job locations would be an important factorin determining the optimal service order. The algorithms may needto expand and evaluate more alternative job sequences in findingthe optimal, resulting in longer computational times. However, afew seconds are all that is needed.

Similar results have been obtained for service zone of 1.5 blocksand 2 blocks as shown in Tables 7 and 8 respectively. Comparingresults across three zone sizes, we find RBA⁄_A always performsthe best in terms of mean computational time. RBA⁄_A is fast en-ough to compute a dispatching sequence in real time environmentwhile at the same time guarantees to find the optimal solution. It isalso fast enough when being called by our Level 2 YC managementscheme to find dispatching solutions and expected YC performancefor various proposed zones of partition plans and planningwindows.

Page 11: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Table 8Computational time of zone = 2 BLKs.

(Seconds) A⁄ RBA⁄_R RBA⁄_A

2 BLK Heavy load Mean 2.99 2.30 2.00Upper 4.89 3.53 3.03Lower 1.08 1.07 0.98

Normal load Mean 0.76 0.68 0.61Upper 1.14 0.99 0.90Lower 0.38 0.38 0.31

Light load Mean 0.43 0.34 0.32Upper 0.62 0.48 0.44Lower 0.24 0.20 0.19

Note: PGS runs out of memory and exhaustive search, RBA⁄_ran run out of time.

482 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

6.2.3. Effective branching factorOne way to characterize the quality of a search algorithm is the

Effective Branching Factor (EBF), b⁄. It is an indicator of how fast analgorithm could find the optimal solution in the solution space. Ifthe total number of nodes explored to find the optimal solutionfor a particular problem is N, and the solution depth is d, then b⁄

is the branching factor that a uniform tree of depth d would havein order to contain N + 1 nodes.

N þ 1 ¼ 1þ b� þ ðb�Þ2 þ . . . þ ðb�Þd

The effective branching factor of an algorithm can vary acrossproblem instances, but usually it is fairly constant for sufficientlyhard problems. Therefore, experimental measurements of b⁄ on asmall set of problems can provide a good guide to the algorithm’soverall usefulness [27]. Comparison of the search cost and effectivebranching factors for PGS, modified A⁄, RBA⁄ with prioritizedsearch order by job arrival time (RBA⁄_A) and RBA⁄with prioritizedsearch order by reachable time (RBA⁄_R) from 10 to 24 jobs inincremental steps of two jobs are shown in Table 9.

A smaller effective branching factor means less number ofnodes explored by an algorithm to find the optimal route. The re-sults show that PGS will face the problem of running out of

Table 9Comparison of search cost (the number of nodes explored) and effective branching factor

Search cost (N)

d PGS A⁄ RBA⁄_A RBA⁄_

10 4806 51 63 6312 35,559 94 110 10814 244,077 173 204 19616 – 333 388 38118 – 717 867 86520 – 1487 1645 164122 – 3947 4622 462324 – 6305 7358 7294

Table 10Performance under noise among various algorithms (N = 12 jobs).

Mean average job waiting time

FCFS NJF SCJF A⁄/R

1 BLK HeavyL 208.0 182.4 156.9 141NormalL 134.5 120.8 92.3 84LightL 120.5 110.2 80.3 73

1.5 BLK HeavyL 256.8 196.3 154.8 142NormalL 204.4 168.5 116.5 109LightL 175.1 152.8 96.3 90

2 BLK HeavyL 283.6 234.6 162.3 150NormalL 239.5 203.4 135.0 126LightL 215.0 192.8 122.7 115

memory in the current experimental settings when the numberof jobs in the planning window reaches 16. It also shows the expo-nential growth of the number of nodes explored by PGS. The twoRBA⁄ methods are slightly inferior to the optimally effective A⁄

method in terms of node expansion. However, they end in smallercomputational time because they do not have the overhead tomaintain the open_list queue for deciding which node to visit nextas in A⁄ search.

6.3. YC performance under noise

It may happen that the predicted job arrival times are not 100%accurate. The actual arrival times may deviate from predicted arri-val times because of unexpected events. In these situations, theremay be performance loss in planning with predictions. In this sec-tion, the YC performance under noisy conditions is evaluated.

Assume noise follows normal distributions. The prediction erroris assumed as follows. If a job is predicted to arrive within 20 min,there is 95% confidence that the actual arrival time falls in therange ±30 s from the predicted arrival. If a job is predicted to arrivein the period from 20 to 40 min, there is 95% confidence that theactual arrival time falls in the range ±60 s from the predicted arri-val. If a job is predicted to arrive at least 40 min from the planningtime, there is 95% confidence that the actual arrival time falls in therange ±120 s from the predicted arrival.

Four algorithms are evaluated in the scenarios with predictionnoise. FCFS and NJF are two algorithms that do not use predictioninformation. For algorithms SCJF and A⁄/RBA⁄, the dispatching se-quence picked using prediction information is evaluated under ac-tual arrival times. R_Opt represents the performance of the optimaldispatching sequence based on the actual arrival times. Root MeanSquare Deviation (RMSD) is calculated by comparing performanceof selected algorithm with R_Opt for 20 independent runs:ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiP

ðSelected algorithm� R OptÞ2

N

2

s

.

Effective branching factor (b⁄)

R PGS A⁄ RBA⁄_A RBA⁄_R

2.22 1.29 1.32 1.322.28 1.30 1.32 1.322.33 1.30 1.32 1.32– 1.32 1.33 1.33– 1.33 1.35 1.35– 1.35 1.36 1.36– 1.37 1.38 1.38– 1.36 1.37 1.37

RMSD

BA⁄ R_Opt FCFS NJF SCJF A⁄/RBA⁄

.2 138.9 77.6 50.7 22.7 4.0

.1 83.1 55.5 40.2 14.8 2.2

.0 71.6 52.5 40.7 15.3 3.1

.9 138.4 138.5 67.9 27.5 10.0

.4 105.0 112.9 69.5 20.8 8.9

.2 86.4 95.5 73.9 17.0 9.3

.3 144.7 154.5 99.5 26.6 9.3

.6 121.4 128.4 87.1 23.5 9.1

.1 109.8 113.2 88.1 19.7 9.4

Page 12: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

Table 11Performance under noise among various algorithms (N = 20 jobs).

Mean average job waiting time RMSD

FCFS NJF SCJF A⁄/RBA⁄ R_Opt FCFS NJF SCJF A⁄/RBA⁄

1 BLK HeavyL 231.4 182.9 167.0 148.9 145.3 97.7 41.5 24.4 6.3NormalL 135.5 118.4 94.3 84.2 81.7 59.1 39.1 16.9 3.9LightL 116.9 104.6 76.8 68.5 65.9 55.2 40.5 17.0 4.9

1.5 BLK HeavyL 335.4 232.9 187.1 174.2 168.1 187.7 72.7 28.4 10.3NormalL 255.5 191.6 146.6 132.3 127.3 142.7 68.4 29.9 9.5LightL 208.0 175.2 122.1 113.6 107.6 106.0 71.6 22.7 10.2

2 BLK HeavyL 362.6 260.8 195.4 173.8 167.9 210.3 98.1 32.7 9.2NormalL 289.1 218.9 155.7 138.4 132.8 168.1 90.4 30.9 9.3LightL 251.5 203.0 135.9 124.0 114.7 149.5 92.8 33.7 12.4

X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484 483

The data in Tables 10 and 11 show the performance of dispatch-ing 12 and 20 jobs under the assumed noise, respectively. A⁄/RBA⁄

outperforms three other algorithms (FCFS, NJF, SCJF) in all testedscenarios. With prediction error, although the dispatching se-quence selected by A⁄/RBA⁄ using prediction information may notbe the optimal sequence under actual arrivals, it still perform quitegood and much better than pure real time dispatching algorithm(FCFS and NJF). With the same level of noise interference, the A⁄/RBA⁄ algorithms outperform the SCJF algorithm. When planning awindow of 20 jobs, the performance loss is bigger than planningfor 12 jobs. Planning for a longer window means handling morejobs with bigger prediction errors. It shows the performance ofusing prediction information will get worse when the predictionerror increases.

The experimental results show that using prediction informa-tion which is not 100% accurate could still improve terminal per-formance from purely real time algorithms like FCFS or NJFwhich does not use prediction information at all. In real world ter-minal operations, the deviation of predicted arrivals from actualarrivals could be monitored. And rolling planning window couldbe applied to update predictions and schedule proper re-planningwhen the prediction error is large. More details about rolling win-dow planning could be found in [32].

7. Conclusions

We have proposed an YC management scheme for containerterminals and proposed algorithms to solve the problem of YC dis-patching as part of it. A modified A⁄ search algorithms with anadmissible heuristic is proposed to compute optimal dispatchingsolutions. To overcome the large memory usage limitation of theA⁄ search, we further proposed an RBA⁄ algorithm that combinesthe advantages of A⁄search and Backtracking with prioritizedsearch order. Experiments were carried out to evaluate the algo-rithms under three workload cases in three different sized yardzones: 1 block, 1.5 blocks and 2 blocks. Results show that the pro-posed algorithms consistently perform very well over all testedcases. Our RBA⁄ algorithm with prioritized search order is able tofind the optimal solution over 2.4 � 1018 possible dispatching se-quences within three seconds under heavy workload.

The experiments under noise show that the proposed algo-rithms perform well even when predictions of arrivals are not100% accurate. The efficiency of our algorithms suggests that evenwhen there is heavy noise like large unexpected change in jobarrivals, the dispatching sequence may be re-computed efficientlywithout delaying the YC operations in rolling planning windows.

In our current definition of the YC dispatching problem, pre-dicted vehicle arrival times are input to the algorithm to minimizethe average vehicle waiting time. This means that given the num-ber of jobs, we are minimizing the total job waiting time. Thisworks well when all jobs should be finished as soon as they arrive.

In practice, some terminal operators would guarantee the externaltruck drivers carrying import/export containers an upper limit oftheir waiting times. Internal vehicles for loading and unloadingvessels will have higher priority than external trucks. Our YC dis-patching algorithms will be able to handle this situation if the in-put to the algorithm is changed to include vehicle job deadlinesin addition to job arrival times. Job arrival times are used in thecomputation of job finish time in a dispatching sequence but jobdeadlines are used in the minimization of total job waiting time(job waiting time is zero if it is done by the deadline). We will bedoing further studies on this.

In the hierarchical YC management scheme, higher-level plan-ning to determine the workload partition for multiple YCs involvesestimating and balancing workloads of zones in various possibletime and space partitions. Our proposed algorithms will be a veryeffective tool to return useful information such as crane workload,total job waiting time, etc., in each zone of each candidate partitionplan. This would greatly improve decision makings of choosing abalanced partition at level 2. A preliminary study of workload par-tition involving space partition was done in Guo et al. [31].

A ‘‘hybrid’’ of the modified A⁄ search heuristic h(x) and Recur-sive Backtracking algorithm with prioritized search order may beapplied to other similar applications where the solution spacecould be transformed into a search graph. However, h(x), the esti-mation of the cost from current node to a goal node, needs to bemodified to embed the application-specific knowledge accordingly.Moreover, the prioritized search order in the Recursive Backtrack-ing needs to match problem-specific objectives. With proper utili-zation of application-specific knowledge, the search efficiency mayalso be improved.

References

[1] W. Li, Y. Wu, M. Petering, M. Goh, R.D. Souza, Discrete time model andalgorithms for container yard crane scheduling, European Journal ofOperational Research 198 (2009) 165–172.

[2] J.W.C. van Lint, S.P. Hoogendoorn, H.J. van Zuylen, Accurate freeway travel timeprediction with state-space neural networks under missing data,Transportation Research Part C 13 (2005) 347–369.

[3] A. Narasimhan, U.S. Palekar, Analysis and algorithm for the transtainer routingproblem in container port operation, Transportation Science 36 (1) (2002) 63–78.

[4] K.H. Kim, K.Y. Kim, An optimal routing algorithm for a transfer crane in portcontainer terminals, Transportation Science 33 (1) (1999) 17–33.

[5] K.Y. Kim, K.H. Kim, Heuristic algorithms for routing yard-side equipment forminimizing loading times in container terminals, Naval Research Logistics 50(2003) 498–514.

[6] X. Guo, S.Y. Huang, W.J. Hsu, M.Y.H. Low, T.H. Chan, J.H. Liu, Vehicledispatching with real time location information in container terminals. In:Proceedings of the European Modeling and Simulation Symposium, 2007.

[7] I.F.A. Vis, R. De Koster, Transshipment of containers at a container terminal: anoverview, European Journal of Operational Research 147 (2003) 1–16.

[8] D. Steenken, S. Vob, R. Stahlbock, Container terminal operation and operationsresearch – a classification and literature review, OR Spectrum 26 (2004) 3–49.

[9] R. Stahlbock, S. Vob, Operations research at container terminals: a literatureupdate, OR Spectrum 30 (2008) 1–52.

Page 13: Dynamic yard crane dispatching in container terminals with predicted vehicle arrival information

484 X. Guo et al. / Advanced Engineering Informatics 25 (2011) 472–484

[10] K.H. Kim, J.S. Kang, K.R. Ryu, A beam search algorithm for the load sequencingof outbound containers in port container terminals, OR Spectrum 26 (2004)93–116.

[11] S.H. Jung, K.H. Kim, Load scheduling for multiple quay cranes in port containerterminals, Journal of Intelligent Manufacturing 17 (2006) 479–492.

[12] Z. Cao, D.-H. Lee, Q. Meng, Deployment strategies of double-rail-mountedgantry crane systems for loading outbound containers in container terminals,International Journal of Production Economics 115 (2008) 221–228.

[13] W.C. Ng, Crane scheduling in container yards with intercrane interference,European Journal of Operational Research 164 (2005) 64–78.

[14] R.K. Cheung, C.-L. Li, W. Lin, Interblock crane deployment in containerterminals, Transportation Science 36 (1) (2002) 79–93.

[15] C. Zhang, Y.-W. Wan, J. Liu, R.J. Linn, Dynamic crane deployment in containerstorage yards, Transportation Research Part B 36 (2002) 537–555.

[16] R. Linn, J.-Y. Liu, Y.-W. Wan, C. Zhang, K.G. Murty, Rubber tired gantry cranedeployment for container yard operation, Computers & Industrial Engineering45 (2003) 429–442.

[17] J. He, D. Chang, W. Mi, W. Yan, A hybrid parallel genetic algorithm for yardcrane scheduling, Transportation Research Part E 46 (1) (2010) 136–155.

[18] L. Chen, N. Bostel, P. Dejax, J. Cai, L. Xi, A tabu search algorithm for theintegrated scheduling problem of container handling systems in a maritimeterminal, European Journal of Operational Research 181 (2007) 40–58.

[19] H.Y. Lao, Y. Zhao, Integrated scheduling of handling equipment at automatedcontainer terminals, International Journal of Production Economics 112 (2008)665–682.

[20] Q. Zeng, Z. Yang, Integrating simulation and optimization to schedule loadingoperations in container terminals, Computers & Operations Research 36 (6)(2009) 1935–1944.

[21] G. Froyland, T. Koch, N. Megow, E. Duane, H. Wren, Optimization the landsideoperation of a container terminal, OR Spectrum 30 (2008) 53–75.

[22] C.P.I.J. van Hinsbergen, J.W.C. van Lint, H.J. van Zuylen, Bayesian committee ofneural networks to predict travel times with confidence intervals,Transportation Research Part C 17 (2009) 498–509.

[23] R.L. Graham, E.L. Lawler, J.K. Lenstra, A.H.G. Ronnooy Kan, Optimization andapproximation in deterministic sequencing and scheduling: a survey, Annalsof Discrete Mathematics 5 (1979) 287–326.

[24] C. Koulamas, G.J. Kyparisis, Single machine scheduling with release times,deadlines and tardiness objectives, European Journal of Operational Research133 (2001) 447–453.

[25] A. Allahverdi, C.T. Ng, T.C.E. Cheng, M.Y. Kovalyov, A survey of schedulingproblems with setup times or costs, European Journal of Operational Research187 (2008) 985–1032.

[26] R. Dechter, J. Pearl, Generalized best-first search strategies and the optimalityof A⁄, JACM 32 (3) (1985) 505–536.

[27] S. Russell, P. Norvig, Artificial Intelligence: A Modern Approach, second ed.,Pearson Education, Inc., Upper Saddle River, NJ, 2003.

[28] L.H. Lee, E.P. Chew, K.C. Tan, Y.B. Han, An optimization model for storage yardmanagement in transshipment hubs, OR Spectrum 28 (2006) 539–561.

[29] S. Hoshino, J. Ota, A. Shinozaki, H. Hashimoto, Highly efficient AGVtransportation system management using agent cooperation and containerstorage planning, In: IEEE/RSJ International Conference on Intelligent Robotsand System, 2005, pp. 1588–1593.

[30] K.H. Kim, Y.-M. Park, M.-J. Jin, An optimal layout of container yards, ORSpectrum 30 (2008) 675–695.

[31] X. Guo, S.Y. Huang, W.J. Hsu, M.Y.H. Low, Simulation-based dynamicpartitioning of yard crane workload for container terminal operations, In:Proceedings of the 42nd Annual Spring Symposium (ANSS), San Diago, CA,USA, 2009.

[32] X. Guo, S.Y. Huang, W.J. Hsu, M.Y.H. Low, Yard crane dispatching based on realtime data driven simulation for container terminals. In: Proceedings of theWinter Simulation Conference, 2008, pp. 2648–2655.

[33] S.Y. Huang, W.J. Hsu, C. Chen, R. Ye, S. Nautiyal, Capacity analysis of containerterminals using simulation techniques, International Journal of ComputerApplications in Technology 32 (4) (2008) 246–253.