Simulation-Based Dynamic Partitioning of Yard Crane Workload for Container Terminal Operations

Size: px
Start display at page:

Download "Simulation-Based Dynamic Partitioning of Yard Crane Workload for Container Terminal Operations"

Transcription

1 Simulation-Based Dynamic Partitioning of Yard Crane Workload for Container Terminal Operations Xi Guo, Shell Ying Huang, Wen Jing Hsu and Malcolm Yoke Hean Low School of Computer Engineering Nanyang Technological University, Singapore, {guox0006, assyhuang, hsu, Keywords: Dynamic data driven simulation, decision support systems, artificial intelligence, container terminal Abstract We address the problem of dynamically partitioning the entire row of h container yard blocks into k non-overlapping zones where k is the number of cranes allocated to a row of yard blocks. Allocating non-overlapping zones to each crane will simplify the operational management where a number of cranes share the work in a row because crane collision will be a potential danger and careful planning is needed to avoid it. However even careful prior planning may not solve all the crane clashes which will lead to delays in operation. We use real time data driven simulation to estimate the dynamic workload of each yard crane in the proposed yard crane workload partition algorithm. Our experimental results show that our partition scheme is able to minimize vehicle waiting time. This will help maintain the continuous feeding of vehicles to quay cranes and as a result, reduce vessel turnaround time, which is a key performance indicator for container terminals. 1. INTRODUCTION Today, about 80~90% of global trade by volume is shipped in containers. As of October 2008, there exist 4627 container vessels with a total capacity equal to 12.2 million TEUs [AXS-Alphaliner 2008] of them are vessels of capacity over 1000 TEUs. Container ports, which serve as hubs of container transshipment, play critical roles in the marine transportation network. The demand on high quality services from container terminals includes efficiency in container handling operations which in turn requires the port operator to utilize its resources efficiently. Container terminals are open systems of material flow. When a vessel berths at a container terminal, a number of quay cranes will be allocated to serve the vessel. Quay cranes first unload containers from the vessel onto interminal vehicles for transferring them to the storage yard. Yard cranes pick up containers from in-terminal vehicles and store them in pre-allocated yard locations temporarily for further transshipment or local import. The loading of containers onto the vessel is carried out in the reversed manner. External vehicles may access through terminal gates for carrying in/out containers for export/import. A typical layout of container terminal is shown in Figure 1. Usually in conventional terminals, the storage yard is divided into several tens of yard blocks in a number of rows in parallel to the quay. Depending on individual terminal layout design, each yard block may have more than 30 slots of containers placed end to end with each other. Vehicles travel along lanes shown in the dotted lines. Containers to be further loaded onto another vessel or to be transferred inland later will be temporarily stored in the yard. When multiple vessels are loading and unloading, vehicles will arrive at different slot locations in a yard block for storing and retrieving containers. Local trucks may also arrive to unload at some slot locations for export containers or to load for import containers. As a result, yard cranes need to gantry between different slot locations in serving vehicle jobs with a mixture of operation types. Both the yard crane and the vehicle must be at the same slot position for loading or unloading of containers. Yard crane gantry times may contribute to the vehicle waiting times. When a yard crane is busy serving other vehicle(s), a vehicle needs to wait for it to come and load/unload its container. One of the most important performance targets of terminal operation is to minimize vessel turnaround time. This means the main objective of the yard crane deployment system is to serve the vehicle jobs as efficient as possible so that the vehicles will reduce their delay at the yard side in order to continuously feed the quay cranes. This translates to minimizing the average vehicle job waiting time for the yard crane service. A secondary objective is to minimize the total yard crane gantry distance. Dispatching yard cranes with a smaller total gantry distance would reduce the total energy consumption of cranes and reduce the operating cost. Proper management of the yard crane operations is of great importance to the overall terminal performance, in terms of reducing vessel turnaround time for the customers, increasing productivity and minimizing energy consumption for the terminal operators. However, yard crane deployment

2 Figure 1. Layout & Container flows in a typical terminal is a very complex problem because of the uneven workload distribution which changes dynamically. To cater for this, yard cranes need to move not only within a yard block, but also from one block to another in the same or a different row. RTG (Rubber Tired Gantry) movements include: intrablock gantry, inter-block linear gantry and inter-block cross gantry. Intra-block gantries are movements of yard cranes within one yard block, which are linear along the current lane. If two blocks are adjacent in the same row, a yard crane could transfer towards the adjacent block without making turns. This is inter-block linear gantry which uses a speed similar to intra-block gantry, for example, moving from Block 5 to Block 4 in Figure 1. Inter-block cross gantry refers to movements of yard cranes from one block to another block in a different row, for example, moving from Block 2 to Block 6 in Figure 1. A yard crane doing this type of movement has to make two 90 turns and possibly some linear gantry. The 90 turns take much longer gantry time compared to inter-block linear gantry between two adjacent blocks and may also delay the vehicle movements by blocking the lanes. One common way to organize the yard crane operations is to do it in a hierarchy of 3 levels. In the first level, before the start of a shift, the number of yard cranes to be deployed for the shift is decided with reference to the number of quay cranes that will serve the vessels in that shift, the number of external trucks expected for import/export containers and the amount of container re-shuffling work within the yard. In the second level, yard cranes are distributed to different rows of the yard. This is also called cross gantry planning and can be done a few times in a shift, for example, every 2 hours. The distribution is based on the predicted number of loading and unloading operations in the up-coming cross gantry planning window. Lastly in level 3, yard crane deployment aims to determine the order in which the vehicles (the loading or unloading jobs) are served by the multiple cranes which are sharing the workload in the row of yard blocks. The issue of crane clash needs to be addressed carefully to avoid incurring significant amount of waiting by both cranes and vehicles. This three-level operation control of yard cranes addresses the problem of uneven and changing distribution of the workload in the yard and also avoids costly frequent cross gantry of cranes. However there are difficulties in managing Level 3 where service sequences for a number of yard cranes need to be decided and the locations of the vehicle loading and unloading jobs may cause crane collisions. The issue is further complicated by the uncertainties of the vehicle arrival times. Therefore we propose to divide this problem into 2 subproblems. The first subproblem is to partition the entire row of h blocks into k non-overlapping zones where k is the number of cranes allocated to the row of yard blocks by Level 2. Each crane will be in charge of one zone to work. The zones are chosen such that cranes in different zones will always maintain safe separation distance thus removing the danger of crane collision. If cross gantry planning at Level 2 is done every 2 hours, this zone partitioning may be done, say, every 30 or 40 minutes in response to the dynamically changing workload distribution. The second subproblem is to find the optimal dispatching sequence of a yard crane to serve all vehicle jobs in its appointed zone with minimized average job waiting time. Modified A* search algorithms with 2 admissible heuristics have been proposed to generate optimal dispatching solutions for the second subproblem with little computational time. (In an earlier paper [Guo and Huang 2008].)

3 This paper addresses the problem of dynamically partitioning h blocks in the same row into k nonoverlapping zones. An important issue is how to group the jobs, which are physically near each other, into a zone so that the dispatching decisions for multiple zones will achieve overall performance efficiency in the yard crane s continuous operations. A yard crane workload partitioning strategy for a row of yard blocks is proposed. It is based on real time data driven simulation that makes full use of the real time predicted vehicle arrival information to carry out what-if experiments to find the optimal partitioning plan. Previously developed modified A* search for generating the dispatching solution for a single crane is used for predicting accurately each crane s workload and obtaining a realistic picture of the performance of each possible zone partitions. In the rest of the paper, we discuss about the related work in Section 2 and present the problem formulation in Section 3. The workload partition scheme is described in Section 4 and the evaluation of the partitioning scheme by experiments in Section 5. Section 6 briefly concludes the paper with planned future work. 2. RELATED WORK Research on the yard crane dispatching or scheduling problem in container terminals have been carried out by several groups over the years. Kim and Kim [1999] proposed a Mixed Integer Programming (MIP) method for the problem of routing single yard crane to support the loading operations of a vessel. Based on the MIP formulation, an optimal algorithm is presented. Kim and Kim [2003] presented heuristic algorithms for the same problem. The proposed algorithm outperforms a Genetic Algorithm (GA) as shown by numerical experiments. However, the assumption in these works of having dedicated yard cranes just to support vessel loading operations is not practical for terminals with larger number of berths. Zyngiridis [2005] presented linear integer programs to schedule routes for one and two equal sized Automated Stacking Cranes in a single block working with straddle carriers. The primary objective is to minimize the total travel distance of cranes while giving priority to export containers. The difference between this study and others in the field is the use of straddle carriers instead of normal vehicles. Straddle carriers can pick up and place down the containers by themselves while normal vehicles need cranes in carrying out these operations. Lee et al. [2007] addressed the problem of vessel loading with two yard cranes serving one quay crane. A simulated annealing algorithm was presented which aimed at minimizing the total loading time at the stack area. Computational experiments show that completion time of their proposed algorithm is on average 10.03% above a loosely estimated lower bound. Published works which focused on inter-block level yard crane deployment are not abundant. Zhang et al. [2002] described the RTG deployment to find times and routes for RTG movements among blocks. The problem is formulated as a MIP model and is solved by modified Lagrangian relaxation. Cheung et al. [2002] developed a MIP model for allocating yard cranes among yard blocks and for scheduling inter-block movements. These two articles do not employ simulation tools to test performances. Linn et al. [2003] uses a simulation model to test the proposed algorithm but vehicle travel times are assumed always to be zero. Petering and Murty [2008] presented a simulation study to show that restricted yard crane movements yields a higher GCR (Gross Crane Rate, which is Quay Crane Rate) than a system that allows greater yard crane mobility. However, the deployment of yard cranes in one row only considered the number of jobs per block as a rough indicator of workload instead of actual workload. 3. PROBLEM FORMULATION In this work, we consider the problem of partitioning h blocks in the same row in the container storage yard into k non-overlapping zones. We make the following assumptions in the yard crane dispatching problem: Each vehicle job handles one container only Real time information on the location of each vehicle which will be coming to the row of yard blocks for the storage/retrieval job is available There are N jobs in the current planning period and P is the total number of slot positions in the row. To formulate the problem the following notations are used to describe the problem: A Arrival time of vehicle for job i, where i = L i F S i i i 1,2 N Location of job i, 1 L i P The time a yard crane finishes job i Service time of job i The objective of partitioning h blocks in the same row in the container storage yard into k non-overlapping zones is to minimize the average job waiting time defined as Minimize N 1 ( Fi Si Ai ) N 1 i= We choose the objective of minimizing the average job waiting time because this can reduce the quay crane waiting time for vehicles so as to reduce vessel turnaround time. Another possible objective is to minimize the difference in yard crane busy times in order to balance the workload of the yard cranes in the partition. However, this may lead to a partition where a yard crane is in charge of a far away job which incurs more gantry time and job waiting time but crane the busy time among cranes is better balanced.

4 The constraints of the partition is that cranes need to be separated at least by 8 slots at all times and also obviously each zone for one crane has to be a continuous sequence of slot locations. So if a zone (a, b) with slots ranging from a to b is assigned to crane x and zone (b+1, c) is assigned to crane x+1, then L i L j 8 for all L i (a, b) and L j (b+1, c). 4. OPTIMIZED WORKLOAD PARTITIONING BY USING DYNAMIC SIMULATION 4.1. Workload Partitioning As mentioned earlier, we need to partition the entire row of h blocks into k non-overlapping zones for the k cranes to work for the planning window. One common practice is to choose the k busiest blocks in terms of the number of expected jobs and assign them to the k cranes. This leaves h-k blocks unattended for the planning window. This may lead to serious delay of some jobs and adversely affect the overall performance. Indeed, it is not necessary to restrict the deployment of yard cranes to single blocks. Yard cranes could make linear gantry to an adjacent block in the same row easily like moving to another slot position in the same block. The only trouble is that it needs a little extra time to warn and stop vehicle traffic. One constraint of the partition is that cranes need to be separated at least by 8 slots at all times. So any point in the row of yard block where 2 adjacent job locations are separated by at least 8 slots may be a boundary between two zones to be assigned to 2 cranes. When dividing the jobs in one row among the cranes, the workload among the cranes should be balanced. One common method for balancing workload is to balance by the number of jobs in each zone. However, equal number of jobs in each zone does not necessarily lead to balanced workload. As yard cranes need to gantry between different slot locations for handling jobs, the gantry time contributes to the yard crane busy time and vehicle waiting time in yard. Therefore simply balancing the number of jobs for each zone may not produce good performance. So a critical issue in workload partitioning is how to estimate the workload of a zone in the row of yard blocks. As pointed out earlier, the planning window for the workload partitioning is a short period, for example, 40 minutes. It is possible to predict accurately the vehicle arrival information from the real time tracking and monitoring of terminal operations by the operating system of the terminal. We propose to make use of this real time data and use simulation to obtain more accurate estimates of the workload of each yard crane. The basic idea of this proposed approach is: 1) for each possible partitioning of the row of h blocks into k zones, use simulation driven by vehicle job arrival information made available in real time to get crane performance for that partition. 2) Choose the partition that gives the best Figure 2. Dynamic Data Driven Simulation Optimization for YC performance result. When using real time data driven simulation to derive the crane performance, we also compute the sequence in which the crane will serve the vehicle jobs to yield the best performance if the crane is assigned to that zone. So at the end of the workload

5 partitioning process, we have both the partitioning plan for the k cranes and the service sequence for each crane Dynamic Data Driven Simulation Figure 2 shows the integrated yard crane deployment scheme using dynamic data driven simulation for 1) partitioning jobs in one row into a number of zones so that each yard crane will be in charge of one zone in the planning window. 2) Determining dispatching sequences for each zone to minimize average job waiting time. The entire partitioning process consists of two components (modules): the optimization module is responsible for (i) generating partitioning plans; (ii) analyzing and evaluating the results of the what-if experiments and (iii) selecting the optimal partition plan together with the dispatching sequences for the cranes. The simulation module will (i) make predictions of vehicles arrival information by conducting simulation which is driven by the real time location information of the vehicles; (ii) conduct what-if experiments according to the partition plans from the optimization module to predict future system states. As shown in Figure 2, a request for crane deployment is generated every planning window, for example, 40 minutes. Real time vehicle location information and other relevant information will come together with deployment requests to be passed into the simulation module and the optimization module. Upon this request, the optimization module will generate crane deployment strategies which are the partition plans and pass them one by one to the simulation module for what-if experiments. Real time terminal data including vehicle locations will be passed to the simulation module. In the simulation module, the model templates including sub-models for yard cranes and vehicles will be initiated to form a base model representing the current real terminal states at the deployment request time. The base model makes predictions of vehicle arrivals to the row of yard blocks in the planning period by simulation. With the predicted vehicle arrivals and a partition plan from the optimization module, what-if simulations will predict how yard cranes will perform under this partition plan. This result will be analyzed in the optimization module. If the current simulated plan gives better performance than our current knowledge of the best plan, the system will update Figure 3. Selection of zone partitions the currently known best partitioning plan. If the stop criteria have not been met, the optimization module will generate another candidate deployment plan to be tested using what-if simulations. Otherwise, the final decision of the partition plan will be the current best plan and the crane dispatching sequences associated with the partition plan will be the service plans for the cranes Generation and Selection of Partition Plans The simplest plan will be to assign entire blocks to the cranes but it is likely to produce plans where workloads among cranes are very unbalanced resulting in long waiting times in some zones for some cranes. We will partition the row of yard blocks where the dividing line between 2 zones can be anywhere for which two adjacent job locations are at least 8 slots apart. As shown in Figure 3, R1, R2, R3 and R4 are all potential boundaries between individual zones for cranes. If there are K yard cranes working for the row of yard blocks and there are in total M such potential zone partition points, where K-1 M, the problem of choosing a partition plan will become a combinatorial problem. The number of ways to choose K-1 points from M points is M M! K 1 = (K 1)!(M K+ 1)! Three ways of selecting the partition plan are proposed and evaluated. 1. Algorithm 1 is to select the partition plan which minimizes the average job waiting time for all the jobs in the row of yard blocks. This aims to reduce vehicle delays at the yard side and therefore to support the quay side better in minimizing vessel turnaround time. 2. Algorithm 2 is to select the partition plan which minimizes the standard deviation of the yard crane busy times. This is in fact a mechanism to minimize the difference of busy times among cranes. The crane busy time is the sum of its total service time and its total gantry time. 3. Algorithm 3 is to select the partition plan which allocates entire blocks to cranes but tries to minimize the difference in the number of jobs handled by the cranes. This is a benchmark algorithm for the other 2 algorithms to compare against. This is quite commonly practiced in terminals 4.4. Prediction of the Performance of a Partition Plan The what-if experiments conducted by the simulation module are to predict the crane performance under a partition plan. To do this, the optimal dispatching sequence for the crane to serve all the jobs within each zone in the (3)

6 plan is computed and the performance of the crane will be obtained based on this sequence. However, the problem of yard crane dispatching has been proved to be NP-complete [Narasimhan and Palekar 2002], which means the time it takes to find the optimal dispatching solution increases exponentially with the problem size. A yard crane with 10 job requests in a zone would have over 3.6 million possible dispatching solutions. Facing this difficulty, people have tried methods like Integer Programming [Kim and Kim 1999, Ng 2005] to explore all possibilities with smaller problem sizes than what we study here. Others proposed heuristic methods to reduce computation time by sacrificing optimism [Kim and Kim 2003, Lee et al. 2007], e.g. simulated annealing. We employ an algorithm which guarantees to find the optimal solution for a single crane to handle the jobs in a zone. It is fast enough even for real time environments. Previous experiment results have shown that it could find 18 the optimal solution out of possible dispatching sequences in about 2 to 4 seconds [Guo and Huang 2008]. This is achieved by a modified A* search with an admissible heuristic. More details of this algorithm could be found in [Guo and Huang 2008]. 5. PERFORMANCE EVALUATION 5.1. Experimental Design To evaluate the performance of the proposed yard crane workload partition schemes which are based on dynamic data driven simulation, experiments were carried out. Parameter settings like terminal layout, yard crane gantry speed, vehicle arrival patterns, yard crane handling rate, etc, were obtained from real world terminal models. The gantry speed of the yard crane is 7.8km/hour within a block. Inter-block gantry between two adjacent blocks of the same row uses similar speed. In addition, yard crane movements have higher priority than vehicle movements so that vehicles always give way to crane gantry. The yard crane service time is taken as a constant of 180 seconds for all jobs. The simulation model is programmed using C++ language under Visual C on Pentium Core2 Quad with 2.66GHz and 3GB of RAM. There are 5 blocks in the row of yard blocks. We tested allocating 3, 4 and 5 yard cranes along this row of 5 yard blocks, respectively. The workload of the entire row in terms of the mean inter-arrival time is adjusted so that the numbers of job arrivals are proportional to the number of yard crane in the row. It is realistic because the number of cranes assigned to a row correlates positively to the expected number of jobs to be handled in the row. In the current implementation, the simulation of the vehicles to predict the vehicle job arrival information based on the real time vehicle location information has not been done yet. We use exponential distributions to represent the predicted inter-arrival times between job arrivals which would have been the output of the simulation module to be used by the what-if experiments. Two sets of experiments are conducted. In Set A, job arrivals to the entire row of 5 blocks have the same exponential distribution. The slot positions of the jobs are randomly chosen among all the slots in the row. In Set B, the job arrivals to blocks 1 and 2, to block 3 and to blocks 4 and 5 have different exponential distributions as shown in Table 1. The slot positions of the jobs are randomly chosen among the respective block(s). Table 1. Inter-Arrival Time (IAT) for Job Arrival Patterns for various settings sec Set A Set B BLK1~5 BLK1,2 BLK3 BLK4,5 5 YCs IAT=60 IAT=125 IAT=180 IAT=180 4 YCs IAT=75 IAT=200 IAT=200 IAT=200 3 YCs IAT=100 IAT=225 IAT=240 IAT= Results Analysis Firstly, experiments are carried out for Set A where vehicle job arrivals have the same rate for all the blocks in the row. We tested scenarios where 3, 4 and 5 yard cranes are assigned to the row for workload partitioning where each yard crane will be in charge of one non-overlapping zone for the planning period of one hour. Performance indicators of interest are average vehicle waiting time/job (V_JWT), average yard crane gantry time/job (YC_JGT), average yard crane busy time for the planning period (YC_BT), and standard deviation of yard crane busy time (YC_BTSD). Performance of workload partitioning for 5, 4 and 3 yard cranes over a row of 5 yard blocks for Set A is presented in Table 2, Table 3 and Table 4 respectively. Results show that Algorithm 1 always finds partition plans with the smallest average vehicle waiting time/job. Algorithm 2 performs not as well as Algorithm 1 but is better than Algorithm 3 in terms of average waiting time/job, which we consider as the most important performance indicator of yard side operations. As shown in Figure 4, percentage improvements of Algorithm 1 over Algorithm 3 are 12.3%, 16.7% and 17.8% for 5, 4 and 3 yard cranes respectively. Smaller yard crane/block ratio has better performance improvements possibly due to larger gantry time between serving consecutive jobs which are considered in our what-if simulations but simply ignored in traditional method in Algorithm 3. Algorithm 2 improves less than Algorithm 1 in terms of job waiting time but it improves the standard deviation of yard crane busy time. This confirms that algorithms that try to make yard cranes as equally busy as possible may not lead to a workload

7 Set A: Same job arrival rate for the entire row Table 2. 5 yard cranes for the row in Set A (seconds) Algo Algo Algo Table 3. 4 yard cranes for the row in Set A (seconds) Algo Algo Algo Table 4. 3 yard cranes for the row in Set A (seconds) Algo Algo Algo Set B: Different job arrival rate Table 5. 5 yard cranes for the row in Set B (seconds) Algo Algo Algo Table 6. 4 yard cranes for the row in Set B (seconds) Algo Algo Algo Table 7. 3 yard cranes for the row in Set B (seconds) Algo Algo Algo Figure 4. Percentage improvement of average job waiting time of 1 and 2 over Algorithm 3 (Set A). Figure 5. Percentage improvement of average job waiting time of 1 and 2 over Algorithm 3 (Set B). partition with improved performance because being busy is not equivalent to being productive. Another observation from the results is that in Set A, the other performance indicators for Algorithm 1 are also either better than those of Algorithm 3 or slightly worse than Algorithm 3. For example, consider the average gantry time per job: the worst for Algorithm 1 is 1.5 seconds longer per job when there are 3 cranes in the row. We also conducted the same experiments for Set B where vehicle job arrival rates are different as shown in Table 1. Performance of workload partitioning for 5, 4 and 3 yard cranes assigned to a row of 5 yard blocks is presented in Table 5, Table 6 and Table 7 respectively. Similarly to situations in Set A, results show that Algorithm 1 always finds plans with the smallest average vehicle job waiting time. Algorithm 2 s performance is not as good as Algorithm 1 s but better than Algorithm 3 in terms of average job waiting time. As shown in Figure 5, improvements of Algorithm 1 over Algorithm 3 are 17.8%, 21.4% and 23.8% for 5, 4 and 3 yard cranes respectively in terms of average job waiting time. We find that our newly proposed yard crane workload partition scheme improves even more in the situation where workload distribution is uneven which is usually the case in real terminals. This is because a large terminal would need to handle multiple vessels which are at different stages of loading and unloading process and external vehicles come in at different times for import/export containers.

8 For the other performance indicators, the results in Set B are similar to those in Set A. 6. CONCLUSION We proposed 2 new workload partitioning schemes which employ dynamic data driven simulation to conduct what-if experiments. The new partitioning schemes consider not only the number of loading and unloading jobs but also the time cranes spent doing gantry between consecutive jobs in the service sequence of the cranes. The service sequence of the cranes are optimized sequence obtained by planning based on A* search. Our experiments show that choosing the best performing partition plan based on the optimized service sequence will be able to produce the smallest vehicle waiting time. This will help maintain the continuous feeding of the quay cranes by the vehicles and thus reduce the vessel turnaround time. For future research, one useful area is to develop techniques such as dynamic programming to remove repeated computation in the workload partition process. Petering, M.E.H. and Murty K.G Effect of Block Length and Yard Crane Systems on Overall Performance at a Seaport Container Transshipment Terminal. Computers & Operations Research, Available online 29 April 2008 Zhang, C., Wan, Y-W., Liu, J., Linn, R.J Dynamic Crane in Container Storage Yard. Transportation Research Part B: Methodological 36(6): Zyngiridis, I Optimizing Container Movements Using One and Two Automated Stacking Cranes. Master s thesis, Naval Postgraduate School, Monterey. 7. REFERENCES AXS-Alphaliner. Data on November 11th, 2008 Cheung, R.K., Li, C-L., Lin, W Interblock crane deployment at container terminals. Transportation Science 36(1): Guo, X. and Huang, S.Y Performing A* Search for Yard Crane Dispatching in Container Terminals. In Proceedings of the International Conference on Tools with Artificial Intelligence, Volume (1): Kim, K.H. and Kim, K.Y An Optimal Routing Algorithm for a Transfer Crane in Port Container Terminals. Transportation Science 33 (1): Kim, K.Y. and Kim, K.H Heuristic for Routing Yard-side Equipment for Minimizing Loading Times in Container Terminals. Naval Research Logistics 50, Lee, D.-H., Cao, Z., Meng, Q Scheduling of twotranstainer systems for loading outbound containers in port container terminals with simulated annealing algorithm. International Journal of Production Economics 107: Linn, RJ. Liu, J-Y., Wan, Y-W., Zhang, C., Murty, KG Rubber Tired Gantry Crane for Container Yard Operation. Computers & Industrial Engineering 45(3): Narasimhan, A., Palekar, U.S., Analysis and Algorithm for the Transtainer Routing Problem in Container Port Operation. Transportation Science 36 (1), Ng, W.C Crane Scheduling in Container Yards with Intercrane Interference. European Journal of Operational Research 164,