2 a Bird’s eyes view b Cross section Figure 1.1 Layout of a Rail Station This study deals with the scheduling problem of rails crane in rail stations located at seaport container termin
Introduction
Background and Objective
Rail transportation becomes more important in intermodal freight transportation, to cope with the rapid changes which are taking place in global trade However, the percentage of goods carried by trains within Europe has dropped to 16.5% in 2009, from 19.7 %, in 2000 (Boysen et al
2012) Main reasons for this decrease are the difficulties in door-to-door transportation and the enormous initial investments involved in the construction of railroad infrastructure However, the unit transportation costs decrease as the transportation distance increases In addition, rail transportation is more environmentally friendly than road transportation
The operational management at rail stations is critical to the efficiency of rail transportation The railway station is the place where trains are discharged and loaded in by outbound/ inbound containers by rail cranes (RMGC, RTGC), forklifts and reach stackers When the trains come to the rail station, they carry outbound containers that need to be unloaded from the trains Then the inbound containers that are located in the container yard need to be loaded onto trains We consider the work scheduling problem of the rail crane because the scheduling affects directly the departure times of trains in the station
Figure 1.1 shows a general layout of rail stations The locations where the trains park are called “rail tracks,” and places where trucks park for loading and unloading containers (inbound container or outbound containers) are called “transfer points” The “transfer track” is a row of transfer points, which would most likely be in the form of a road of trucks
Figure 1.1 Layout of a Rail Station
This study deals with the scheduling problem of rails crane in rail stations located at seaport container terminals The problems can be defined as the two sub-problems; 1) determining the job sequence for cranes, and 2) assigning working area to cranes or assigning containers to cranes There are two operation methods of cranes: single-cycle and dual-cycle operations In the dual-cycle operation, a crane loads an inbound container from a truck to a train wagon, and then unloads an outbound container from a train wagon sequentially However, in the single cycle operation, the crane carries out the loading and unloading operations independently Hence, the
3 dual-cycle operation method can be applied to reduce the movement of empty cranes In this research, the dual-cycle operations of the cranes are applied The dual-cycle operations not only reduce the empty travel of the cranes but also reduce the operation cycles of yard trucks which are used to transfer containers back and forth between the rail station and the container yard In the single cycle operation, the number of delivery cycle of the yard truck at least equal to the total number of the inbound and outbound containers The number of delivery cycles can be reduced as same as the number of dual cycle can be applied However, the dual-cycle operations are the cause of the difficulties in these problems, the “re-handling” cases or the “double-handling” cases If the wagon onto which an inbound container will be loaded is not empty, the inbound container is moved to a temporary storage area firstly The inbound container is loaded onto the wagon after the wagon is empty This is referred to as a “re-handling” case With these approaches, sixteen different cases of operations of cranes are considered which are explained in detail in several next chapters
In rail stations with several cranes, we can assign a working area to each crane either dynamically or statically In the case of static assignment, the working area is partitioned into zones within which individual cranes operate In the case of dynamic assignment, the cranes can move along trains freely However, they need a complex system to control the real time position of cranes, since they cannot move across each other Thus, static assignment is more popular due to its more practical real world application
In this dissertation, both cases are considered in chapter 3 and 4
There are two types of movement of cranes If the movements of the trolley and the gantry are executed separately, they are referred to as
“rectangular movements.” Another type of movements where the movements of trolley and gantry are performed simultaneously is referred to as “Tchebychev movement” The latter type has been applied in this study.
Related Works
There are many researches related to the operation in rail terminals
The research related to the operation problem in a rail station can be classified into three sub-problems including layout design, load planning,
4 and rail crane scheduling There are some studies related to the layout design of a rail terminal Kozan (1997) that determined the crane split and assignment of trains to rail way tracks by a simple heuristic decision rule and a simple dispatching rule In addition, a simulation was applied based on these heuristic rules in order to compare different yard layout Ballis and Golias (2002) identified the main design parameters of a railroad transport terminal such as length and utilization of trans-shipment tracks, the mean stacking height in a storage area, the type and amount of handling equipment, etc by an analysis tool consisting of three modules, an expert system, a simulation model, and a cost calculation module Abacoumkin and Ballis (2004) is similar Ballis and Golias (2002), where they developed the expert system to define the terminal parameters such as cargo volume, loading unit mixture, equipment, layout characteristic, operation condition, etc Kozan (2006) used the simulation model to compare different combinations of handling equipment to determine the most efficient set of handling equipment which is balanced between investigation cost and performance Benna and Gronalt (2008) presented a simulation tool to plan and to design for the infrastructure, capacity, layout, and strategies of railroad container terminals
There are some papers about the load planning on trains Feo and González-Velarde (1995) optimized the assignment highway trailer to wagon in a piggyback (trailer on flatcar) system Bostel and Dejax (1998) was interested in the loading container on train at a rail transfer terminal
Their objective was to minimize the displacement of containers Unlike Bostel and Dejax (1998), Corry and Kozan (2006) considered a different terminal system and different objectives and constraints Their study proposes several techniques for determining an appropriate balance between container handling and weight distribution at a railroad transfer terminal In Bruns and Knust (2012), their objective was to assign containers to the wagon of a train to maximize the weight of load units and minimize the travelling cost of load units from their current storage location to the assigned location
There are some papers related to the rail crane scheduling problem
Alicke (2002) considered logistical problems relating to the loading and unloading of trains in a theoretical intermodal terminal called Mega Hub,
5 where containers are transferred between trains and shuttle cars by cranes
That article not only dealt with the assignment problem of containers to cranes, but also addressed sequencing problems related to containers That author formulated an optimization model based on Constraint Satisfaction, and developed various heuristics to minimize the maximum lateness of all trains Boysen and Fliedner (2010) discussed how to determine the static crane areas in rail – road transshipment yards In contrast, Boysen et al
(2010) addressed the static crane areas in rail – rail transshipment yards
Both of these studies used dynamic programming to find the optimal working area for each rail crane However, they did not determine the optimal job sequencing of rail cranes None of these researches assumed the dual – cycle operation of rail cranes Jeong and Kim (2011) applied the dual – cycle operation of a crane in order to determine the job sequence of the rail crane and the parking positions of container trucks Nevertheless, they considered the operation of a rail crane which just moves in one direction along the train Pap et al (2012) developed a branch-and-bound algorithm to find the optimal job sequence of a rail crane under a dual-cycle operation, although they did not consider re-handling cases for containers Guo et al
(2013) dealt with the scheduling problem of loading and unloading containers between a train and container yards Multiple gantry cranes were scheduled in a rail station with constraints of safety distance, as well as a non-crossing requirement being placed on the cranes However, that article assumed the one dimension travel (gantry travel) of the cranes, and did not consider dual-cycle operation or the re-handling containers Nguyen and Yun (2014) considered the job scheduling of a rail crane in rail terminals
The paper studied the transfers of containers between trains and trucks by a rail crane In addition, re-handling and the dual-cycle operation are considered
Scheduling problems of rail cranes in a rail station are similar to the scheduling problems of quay cranes at sea port container terminals Many researchers have studied quay crane scheduling problems (QCSP) at port container terminals In the quay crane scheduling problem, there are a number of factors which must be considered as follows: bays, stacks, groups of containers and containers However, the majority of studies have focused on the QCSP of container groups or vessel bays Kim and Park (2004)
6 considered the sequence problem of discharging and loading groups of containers of quay cranes in order to minimize the completion time of a ship operation with the interference constraints of cranes They proposed a branch-and-bound algorithm, and a greedy randomized adaptive search procedure (GRASP) to solve the problem Moccia et al (2006) revised the formulation in Kim and Park (2004), and obtained the optimal solution of the QCSP in small and medium sized instances A branch-and-cut algorithm was developed to archive the solutions of larger-sized instances Moreover, some later studies including those of (Kaveshgar et al 2012; Lee and Chen 2009; Sammarra et al 2007) tried to revise several issues in the formulation of Kim and Park (2004) and applied novel approaches towards problem solving Ng and Mak (2006) formulated the quay crane scheduling problem through integer programming They developed an algorithm to obtain the lower bound of the problem based on the job scheduling problem for parallel machines with sequence independent processing time and LPT (largest processing time) rule In order to find near optimal solutions, they developed a scheduling heuristic by decomposing the original problem into a number of independent quay crane scheduling sub-problems The ship was partitioned into zones, with each crane operating within an individual zone
Dynamic programming was used to determine the optimal partition Meisel (2011) considered the QCSP with the inclusion of another aspect, in which a crane at a vessel is only available within certain time windows A mixed integer programming model as well as a lower bound was developed A heuristic was proposed to minimize the makespan of the cranes
Many researchers have paid specific attentions on the QCSP with vessel bays Liu et al (2006) tried to minimize the maximum relative tardiness of vessel departures, and approached the duration of a vessel’s stay at a port using two levels The lower level dealt with the QCSP of each vessel in order to determine the minimum vessel processing time The upper level addressed the quay crane assignment problem in order to minimize the maximum relative tardiness Lee et al (2008) considered the handling sequence problem of ship bays in order to minimize the weighted sum of completion times of a ship bay A mixed integer programming model was developed, and a genetic algorithm was proposed in order to determine near optimal solutions Boysen et al (2012) addressed the problem of balancing
7 the workloads among quay cranes They considered the case of an indented berth where there are two sets of quay cranes The quay cranes located on one side of the berth operate as a single set, and cannot pass each other, while cranes located on opposite sides of the berth can pass each other A solution to the problem was proposed through the use of dynamic programming and heuristics
Quay crane scheduling with container sequencing problems is very complex, as thousands of potential sequences of containers need to be considered However, a relatively small number of papers focus on this area Goodchild and Daganzo (2006) is the first study incorporated the crane double cycling into the quay crane scheduling The authors considered the containers sequencing problem within a vessel bay They not only considered imported and exported containers, but also took into account reshuffle of containers, which are unloaded from the vessels in order to access containers which are stacked below them Not only a simple lower bound was developed but also a greedy algorithm and an upper bound were presented to evaluate the benefit of the dual cycle operations After the research of Goodchild and Daganzo (2006) many studies tried to extend this problem, (Goodchild and Daganzo 2007; Meisel and Wichmann 2010;
The rail crane scheduling problems in this study are based on the movement of containers We consider not only the gantry moves, but also the trolley moves Moreover, the re-handle cases are also considered As a contrast, many studies of QCSP study the operation of quay cranes based on the groups or bays of containers The movements of containers are usually decided by the crane drivers’ experiences, and hence, the papers regarding QCSP usually just decide the movement of the gantry
Table 1.1 Previous Researches and this Dissertation
Operation in Rail Terminals Quay Crane Scheduling Problem
Layout Design Load Planning Rail Crane Scheduling Group of Containers Individual Containers
Kozan (1997) Ballis and Golias (2002) Abacoumkin and Ballis (2004) Kozan (2006)
Bostel and Dejax (1998) Corry and Kozan (2006) Bruns and Knust (2012)
Boysen et al (2010) Jeong and Kim (2011) Pap et al (2012) Guo et al (2013) Nguyen and Yun (2014) Chapter 2, 3, 4
Kim and Park (2004) Moccia et al (2006) Ng and Mak (2006) Sammarra et al (2007) Lee and Chen (2009) Meisel (2011) Kaveshgar et al (2012) Liu et al (2006) Lee et al (2008) Boysen et al (2012)
Zhang and Kim (2009) Meisel and Wichmann (2010)
Table 1.2 Contribution Summary of this Dissertation
Reseach Station Number of Cranes
Alicke (2002) Rail-Rail Multiple Split move No Yes Assigning job to cranes
Scheduling the shuttle cars in the sorter
Determining the job sequence of cranes
Rail-Rail Multiple Split move No Yes Assigning container moves to cranes Dynamic programming
Rail-Road Multiple No No Yes Assigning job to cranes Dynamic programming
Rail-Road Single Re-handle Yes No Determining the job sequence of a crane Genetic algorithm
Heuristic Pap et al (2012) Rail-Road Single No Yes No Determining the job sequence of a crane Branch and bound Guo et al (2013) Rail-Road Multiple No No No Determining the job sequence of cranes Branch and bound Nguyen and Yun
Rail-Road Single Re-handle Yes Yes Determining the job sequence of a crane Branch and bound
Chapter 3 Rail-Road Multiple Re-handle Yes Yes Assigning job to cranes
Determining the job sequence of cranes
Chapter 4 Rail-Road Multiple Re-handle Yes Yes Assigning job to cranes
Determining the job sequence of cranes
Thesis Organization
This dissertation considers the job scheduling of cranes in rail terminals
The chapter 2 will focus on the job scheduling of a single rail crane, while chapter 3 and 4 consider multi-crane scheduling problem In chapter 3, the static boundaries of cranes are applied, in which the cranes work in a fix working area In contrast, chapter 4 deals with the dynamic case, in which the cranes can move freely along the railway tracks, without any fixed zones
However, the cranes cannot go across each other Chapter 5 is the conclusions of all chapters and the explanation about future works
+ Nguyen, D V A., & Yun, W Y (2014) Optimal job scheduling of a rail crane in rail terminals International Journal of Industrial Engineering, 21(3), 129-140
Optimal Job Scheduling of a Rail Crane in Rail Stations
Introduction
This chapter investigates the job sequencing problem of a rail crane at rail terminals with multiple train lanes Two kinds of containers are carried between trains and trucks Inbound containers are loaded onto trains and outbound containers are unloaded from trains We consider the dual-cycle operation of the crane to load and unload containers between trains and trucks The re- handling of containers is considered A branch-and-bound algorithm is used to obtain the optimal solution A parallel simulated annealing algorithm is also proposed to obtain near optimal solutions to minimize the makespan in job sequencing problems of large size Numerical examples are studied to evaluate the performance of the proposed algorithm Finally, three different layouts for rail terminals with different locations of temporary storage areas are considered, Figure 2.1, 2.2 and 2.3
Figure 2.1 Layout 1: Temporary Storage Area between Railway Tracks and
Figure 2.2 Layout 2: Temporary Storage Area outside Transfer Track
Figure 2.3 Layout 3: Temporary Storage Area outside Railway Tracks
This chapter is organized as follows Section 2.2 presents the mathematical model of this problem A branch and bound algorithm to obtain the optimal scheduling of a crane to minimize the makespan is explained in Section 2.3 In Section 2.4, a parallel simulated annealing algorithm is proposed to obtain near optimal solutions Numerical examples are given in Section 2.5 and Section 2.6 concludes this chapter.
Mathematical Model
In this section, the problem of rail crane scheduling is formulated through integer programming To formulate this problem, the outbound containers are indexed continuously after the inbound containers For example, if the set of four inbound containers is I 1, 2,3, 4 , the set of three outbound containers is
O The following notations are used to describe the mathematical programming
T Number of trains (T+1 is the temporary storage area position; and
T+2 is the transfer track position)
W Number of wagons per train x , x i j Wagon indexes y , y i j Train indexes
, i j An outbound or an inbound container index, respectively, that is located at position i i x , y , j x , j y t x Travelling time of a crane between two adjacent wagons t y Travelling time of a crane between two adjacent railway tracks
', ' , x y d x y Travelling time of a crane from position x y ', ' to position x y , ,
I Set of inbound containers that have the same position as outbound containers
O Set of outbound containers that have the same position as inbound
D ij The time required to complete a loading or unloading job of a container j if the container j is performed after a container i and the containers i and j do not need to be re-handled
D ij The time required to complete a loading or unloading job of a container j if the container j is performed after a container iand the container ineeds to be re-handled, the container j does not need to be re-handled
D ij The time required to complete a loading or unloading job of a container j if the container j is performed after a container iand the container jneeds to be re-handled , the container i does not need to be re-handled
D ij The time required to complete a loading or unloading job of a container j if the container j is performed after a container iand both of them need to be re-handled
D 0i The time required to complete the loading or unloading job of the first container i in the crane job sequence, if the container i does not need to be re-handled
D 0i The time required to complete the loading or unloading job of the first container i in the crane job sequence, if the container i needs to be re-handled
X ij 1, if container i is handled immediately before container j; 0, otherwise
Containers “0” and “E” are considered as the initial and final states of the rail crane
R i 1, if container i needs to be re-handled; 0, otherwise
C i Completion time of the inbound container i
The mathematical programming model is as follows:
We want to the optimal job sequencing of a crane to minimizing the completion time of all unloading and loading operations It is defined in the objective function (2.1) The completion time of the crane is the completion time of the last jobs in its schedule, as constraint (2.2) Constraint (2.3) ensures that only one container is assigned immediately before another container
Constraint (2.4) is a flow balance constraint Constraints (2.5) and (2.6) determine the initial and final states of the crane Constraints (2.7) to (2.9) are related to the re-handling cases Constraint (2.7) denotes that if an inbound containeri,iI', is loaded onto a wagon before unloading the outbound container j , jO' and i x j x andi y j y , it needs to be loaded to the temporary storage area Constraint (2.8) is a supplement for constraint (2.7), if the inbound container i is loaded into temporary storage area, the crane should load i onto the wagon after unloading the outbound container Constraint (2.9) guarantees that the inbound container, which is not occupied by an outbound container, is not loaded into the temporary storage area Constraints (2.10) to (2.13) define the completion time of container j in case that container j is
17 handled immediately after containeri Constraints (2.14) and (2.15) determine the completion time of the first container in the crane schedule If the first container in the crane schedule does not need to be re-handled, the constraint (2.14) is applied; otherwise, constraint (2.15) is applied In addition, the operation time of the crane to handle container j is defined in equations (2.18) to (2.21) that are related to 16 cases in a crane schedule that are shown in Figure 2.4 The letters (a), (b), (c) and (d) appropriate to the letters on the Figure 2.4 Equations (2.22) and (2.23) define the operation time to complete the first container in the job sequence of the crane
Figure 2.4 Sixteen Cases in the Job Sequence of a Crane
A Branch-and-Bound Algorithm
In this section, a branch and bound algorithm is proposed to obtain the optimal rail crane schedules The following notation is used to describe the procedure
Q The set of containers assigned to the job sequence of the crane
P The set of remaining containers; P I O Q\
S The jobs sequence of the crane at the current node in the
20 search tree c S The completion time of the crane to perform the job sequence
S c l S The last position of the crane along x direction after performing the job sequence S l l P Left boundary of the remaining containers;
min for l x l P i i P r l P Right boundary of the remaining containers;
max for r x l P i i P p Total processing time to load and unload all inbound and outbound containers in P p travel Travelling time of the gantry along the working area p re-handle The re-handle time of a crane
Figure 2.5 Notation for Calculating the Lower Bound for the Completion Time of a Rail Crane
The procedure of the branch and bound algorithm is as follows:
Step 1: Root node: S , Q , P I O , c S 0 S is added to the search tree as the initial element of the search tree A heuristic method (section 2.3.2) is used to generate the initial upper bound and set it as the current upper bound
Step 2: A node which has the smallest lower bound in the search tree is selected If P stop the algorithm, otherwise, go to step 3
Step 3: All feasible children nodes are created by assigning each element of Pto S Step 4: Assess the lower and upper bounds of all feasible children nodes
Step 4.1: If the upper bound of a node is smaller than the current upper bound, update the current upper bound, otherwise, keep the current upper bound
22 Step 4.2: If a node has a lower bound that is smaller or equals the current upper bound, it is added to the search tree, otherwise, ignore the node Return step 2
The lower bound of the completion time of the rail crane scheduling problem is calculated as following:
Figure 2.5 illustrates the notations for calculating the lower bound of the completion time of crane operations The lower bound of the makespan of the crane includes four elements, the completion time of the crane to finish all containers which were assigned to the crane, S, the total time of loading and unloading containers onto and from the wagon, the gantry travel times, and the operation times of re-handling cases The mathematical model can determine the time which is required for the crane to perform the job sequence, S The operation time to load and unload containers on and from wagons is calculated by equation (2.25) In equation (2.25) the operation time includes only the travelling time of the crane between the wagons carrying the containers and the
23 transfer track It is the minimum travelling time required to load or unload a container Equation (2.26) considers the gantry movement from the current position of the crane to the edges, left and right It is the minimum time required for gantry movement In equations (2.25) and (2.26) we ignore all travelling times of the crane between inbound containers and outbound containers and all re-handling movements In equation (2.27), we consider the outbound containers that are not assigned to S, and need to be re-handled If the inbound container iI' and the outbound container jO' and i x j i x , y j y and iS j, S , then R i R j 1(From constraints (2.7 and 2.8)) , then equation (2.27) will be used Therefore, equation (2.24) is a lower bound of the completion time at node S
The upper bound of a node in a search tree is calculated so as to eliminate the solutions that are not optimal To calculate the upper bound of a node, which has a job sequence S, a heuristic technique is applied In the heuristic, the crane will handle all containers in a slot from left area to the right area, or from the right area to the left area Table 2.1 shows the selection cases between left- to-right and right-to-left heuristics In order to avoid the re-handling job of containers, if an outbound container and an inbound container are located on the same wagon, the outbound container is added to the job sequence immediately before the inbound container
1 l S c l P l l P r l S c l P l l S c l P r Left-to-Right 2 l S c l P l l P r l S c l P l l S c l P r Right-to-Left
Table 2.2 An Example of Inbound and Outbound Containers
Container Type Train Wagon Container Type Train Wagon
In order to illustrate the operation of the branch and bound algorithm, the input data in Table 2.2 is used This illustrative example includes nine inbound containers and seven outbound containers which are carried by two trains The travelling time between two wagons is 2 and the travelling time between two trains is 1 unit of time The containers are handled by one crane The Figure 2.6 shows the search tree of the branch and bound algorithm
Figure 2.6 The Search Tree of the Branch and Bound Algorithm
The algorithm gives the final solution as follow: S= {1, 10, 2, 11, 3, 4, 6, 5, 12, 7, 13, 8, 15, 9, 16, 14}, the completion them of the crane is 72, computation
25 time is 2.27 seconds The algorithm was scan 11004 nodes and the number of nodes eliminated is 8969.
Parallel Simulated Annealing Algorithm
In this section, a parallel simulated annealing (PSA) algorithm, based on parallel computing technique, is proposed to obtain near optimal solutions for minimizing the job completion time of a crane to unload and load containers
This algorithm is first developed by Casotto, Romeo, and Sangiovanni- Vincentelli (1987) After the first development, many authors study this algorithm, (Chen et al 2007, Witte et al 1991, Ferreiro et al 2013) Figure 2.7 shows the flow chart of the PSA
The solution of the PSA is permutation-based (order-based) for inbound and outbound containers The outbound containers are numbered continuously after the inbound containers For example, nine inbound containers and seven outbound containers are shown in Table 2.2 The solution of these inbound and outbound containers is illustrated in Figure 2.8 Moreover, to generate a neighborhood solution, two containers are randomly selected and swapped
Figure 2.7 Flow Chart of the Parallel Simulated Annealing Algorithm
Once a neighborhood solution is generated, the following criterion is used to adjudicate if it is accepted or not Let Q C Q N where C, N and Q (*) are the current solution, neighborhood solution and completion time of solution (*), respectively A neighborhood solution is accepted as the current solution if 0or r e Tm j
, where r is a uniform random number in (0,1), and j
T m represents the current temperature at core m
The cooling down function is the geometric update scheme introduced by Lundy and Mees(1986)
If T then the procedure is terminated.
Numerical Examples
In order to evaluate the performance of the PSA, 12 problems were generated randomly by uniform distribution Each wagon has one of four cases: empty, one inbound, one outbound, and two containers The probabilities that a wagon carries a container (an inbound or an outbound container) are 0.25, 0.50, 0.75 and 0.95 The examples were tested on a computer with an AMD Athlon CPU 3.00 GHz, 4 cores, 4 threads, 4 GB memory and the algorithms were based on the extending thread of Java on Windows 7 professional 64-bit 4 threads were built In Korea, a rail station usually has three rail tracks and the train has a maximum of thirty-three wagons Hence, the biggest problem has 97 inbound containers and 97 outbound containers, which are carried by three trains
Figure 2.9 Mean of Completion Times of the PSA
Firstly, we determine the values of three parameters of the PSA We consider five levels of T, 1, 5, 10, 20 and 30, five levels of , 0.999997938,
0.999998969, 0.999999484, 0.999999742 and 0.999999871, and four levels of
, 0.001, 0.01, 0.1 and 1 Figure 2.9 shows the mean completion times of the rail crane It is shown that three parameters have strong effects on the objective values We chose the values of these parameters based on the main effects plots: T 10, 0.999999871, 0.1 and the number of iteration in each core was L= 1000000
In Table 2.3, the results of the PSA are compared with the optimal solutions from the branch and bound algorithm (B&B) The B&B algorithm can give the optimal solution for small-sized problems (examples 1-5), but it takes too long times to obtain the optimal solution for large-sized problems (examples 6-12) The B&B can give the optimal solution very quickly in case which outbound containers are carried by one train In this case, the lower
29 bounds and upper bounds are very tight because there are no choices between trains When the train is nearly full of containers, the lower bounds and the upper bounds are tighter Hence, it leads the problem 4 to have very short computation time For example, B&B did not find the optimal solution in example 6 within 6636 sec but the LB and UB were given by 250 and 300
However, the PSA gives optimal solutions for small-sized cases very quickly, and can also give near-optimal solutions for large-sized cases For instance, PSA gives the near optimal solution, within 100 sec in example 6
Table 2.3 Experimental Results of B&B versus PSA
Table 2.4 and Figure 2.10 show the result of the parallel simulated annealing of 12 problems which are generated by different percentages of wagons with inbound and outbound containers These problems are big unbalance between the number of outbound and inbound containers From table 2.4, if the number of inbound containers (or the rate of inbound containers) is
30 bigger than the number of outbound containers (or the rate of outbound containers), the makespan is smaller The cause is that the more outbound containers there are the more re-handling cases happen
Table 2.4 Effect of the Average Percentage of Wagons with Inbound and
Outbound Containers on Completion Time
Average Percentage of a Wagon with an Inbound Container
Average Percentage of a Wagon with an Outbound Container
Figure 2.10 The Average of Percentages of Wagon with Containers versus the
In addition, Table 2.5 shows a comparison of the results of the completion times of the crane in three cases with different layouts of temporary storage area In the numerical examples the completion times of the crane in layouts 2 and 3 are shorter than that of layout 1, because in most of cases of layouts 2 and 3 the rail crane does not need to utilize the temporary storage area The layout 2 and layout 3 have shorter distance between the transfer track and trains Almost cases, the layout 2 gives better performances than the layout 3, because if the re-handling cases happen, the travelling time of loading inbound containers to temporary storage area is very long Furthermore, in Table 2.5, the results of dual-cycle and single-cycle operation strategies are also shown The dual-cycle operation strategy outperforms the single-cycle operation strategy in terms of the job completion time of the crane The number of operation cycles and the empty travelling time of the crane are reduced in dual-cycle operation strategy
Table 2.5 Comparison Job Completion Time among Three Rail Station
Conclusions
In this chapter, we studied a rail crane scheduling problem in rail terminals
We formulated a mathematical programming model and proposed a branch and bound algorithm and a parallel simulated annealing algorithm to obtain the optimal job sequence of the crane In our model, we considered re-handling cases of inbound and outbound containers precisely We also considered the dual-cycle operation strategy of the crane The branch and bound technique gave the optimal solutions for small-sized problems and lower and upper bounds The PSA gave near optimal solutions for large-sized problems Three different layouts of the temporary storage area in the rail station were considered and Layouts 2 and 3 outperformed Layout 1 in the numerical examples, because the travelling distances between the railway tracks and the
33 transfer tracks of the layout 2 and 3 are shorter than that of the layout 1 Almost case the layout 2 have better performance than the layout 3, because in case of re-handling, the travelling distance in layout 2 is shorter than that of the layout 3 Finally, the dual-cycle operation strategy gave smaller makespan than the single-cycle operation strategy and the dual-cycle operation strategy reduced the job completion time of a crane up to 40% In future work, we will consider multi-crane scheduling problems and integrated scheduling problems with yard trucks
Optimal Scheduling of Multiple Rail Cranes in Rail Stations
Introduction
This chapter considers the scheduling problem of multiple rail cranes to load and unload inbound and outbound containers to and from wagons of trains within rail terminals This chapter considers the static boundaries of working areas of rail cranes Each rail crane works within its own working area The working area within a static boundary is easy to determine in the real world because it does not require a complex control system to verify the real time position of each crane In addition, the static boundary can also be applied as an upper bound for the dynamic approach for future studies The scheduling problem of multiple rail cranes in a rail station can be described by two sub- problems: 1) assigning the working area to each rail crane, and 2) determining the job sequence for each rail crane In this chapter, the dual-cycle operations of rail cranes are applied We not only assign working areas to cranes, but also determine job sequence of each crane We minimize the maximum completion time (makespan) of all rail cranes Dual-cycle operations of cranes are applied and the re-handling work of containers is also considered This research also considers “re-handling” cases (or named double handling cases), which add a considerable degree of complexity to scheduling problems The re-handling case depends on the job sequence of cranes If the job of a crane is to load an inbound container onto a wagon which already contains an unloaded outbound container, the inbound container needs to be put down into a temporary storage area The inbound container is loaded onto the wagon only after the outbound has been unloaded The inbound container is referred to as the “re-handling inbound container” and the outbound container is referred to as the “re- handling outbound container.”
In this chapter, a mixed-integer programming is built and a branch-and- bound algorithm is developed to find the optimal solutions An original simulated annealing algorithm and a parallel simulated annealing algorithm are
35 designed to obtain near optimal solutions of large-sized problems Numerical examples are studied to investigate the performance of these algorithms
The remainder of this chapter is organized as follows: The scheduling problem of multiple rail cranes in a rail station is presented in detail in Section 3.2 A branch-and-bound algorithm and two simulated annealing algorithms are proposed in Sections 3.3 and 3.4, respectively Numerical examples are studied in Section 3.5 Section 3.6 concludes this chapter.
Mathematical Model
Figure 3.1 Notation of the Scheduling Problem of Multiple Rail Cranes
Artificial containers,0 k and E k , denote the first and last positions of a crane k Figure 3.1 denotes the notation of the scheduling problem of multiple rail cranes in a rail station
The notation of this chapter is same as chapter 1, except the following notation
X ij 1, if container i is handled immediately before container j by a crane k; 0, otherwise b k The right hand side boundary of a crane k
C i Completion time of loading or unloading job of container i
C max Makespan of all cranes
The scheduling problem could be formulated as the following model:
38 In this chapter, we want to minimize the makespan of the all cranes It is defined in the objective function (3.1) The makespan is the maximum completion time of the all cranes, as described in constraint (3.3) The completion time of a crane is the completion time of the last container in its container sequence, as in constraint (3.2) Constraints (3.4) and (3.5) show that the containers assigned to a crane must be located in the working area of the crane Constraints (3.6) and (3.7) mean the bounds of working areas Constraint (3.8) ensures that a container is assigned to only one crane Constraint (3.9) is the flow balance constraint Constraints (3.10) and (3.11) select the initial and final containers of a crane, respectively Constraints (3.12) to (3.14) evaluate the re-handling cases The constraint (3.12) denotes that if an inbound container i iI'is loaded onto a wagon before the unloading of the outbound container j, C i C j , jO'and i x j x and i y j y , the container i needs to be loaded to the temporary storage area, R i 1 If the inbound container i and the outbound container j have the same position on a train, R i R j (constraint
(3.13)) If the inbound container i is loaded into temporary storage area, after unloading the outbound container j , the crane should load the inbound container i onto the wagon Constraint (3.14) guarantees that the inbound container, which is not occupied by an outbound container, is not loaded into the temporary storage area Constraints (3.15) to (3.18) determine the finishing time of a container Constraints (3.19) to (3.22) determine the completion time of the first container in the schedule of a crane
If time permits, this mathematical model could be solved by using commercial software such as Cplex However, as scale of the problem increases, solving time of the problem will be prohibitively long (see Section 5 for details) Therefore, we design a branch-and-bound algorithm and two simulated annealing algorithms in Sections 3.3 and 3.4, respectively, to solve this problem
A Branch-and-Bound Algorithm
In this section, a branch-and-bound algorithm (B&B) is developed to find the optimal solutions of the multiple rail cranes scheduling problem The solutions of B&B are the sequence of containers assigned to all cranes The sequences are constructed by assigning each available container to the crane which has the earliest completion time
The following notation is used to describe the solution process
S k The sequence of containers assigned to crane k
Q The set of containers assigned to all cranes
P k The set of containers assigned to crane k c k Completion time of the current node in the search tree by crane k c l k The last position along the x direction of crane k after performing the container sequence S k l l k The left boundary of crane k after performing the sequenceS k ;
1 l 1 l r l k The right boundary of crane k after performing the sequenceS k ; l r W
R k The set of containers which have not been assigned to the sequence of crane k , but which are located in the working area of cranek
The process of the B&B is as follows:
Step 1: The root node of the search tree is determined as follows;
Q , all job sequences of cranes are empty, S k , c k 0 for each kK Root node is added to the search tree as the initial node of the tree The heuristic, “Travel to the Right,” is used to generate the initial upper bound, and to set it as a current upper bound , say η
Step 2: The node which has the smallest lower bound value is selected from the search tree If Q I O return the optimal solution and stop the algorithm Otherwise; continue Step 3
Step 3: The crane with smallest c k is selected, and the P k is generated
All feasible children nodes of the current node are generated by adding each element of P k to S k
Step 4: Calculate lower bounds of all feasible children nodes
Step 5: If S k k K , the upper bound of the node is assessed If upper bound of a node is smaller than η, update η
Step 6: If the lower bound of a feasible node is less than or equal to η, the feasible children node is added to the search tree as a new branch
In this section, we develop a lower bound for the multiple rail cranes scheduling problem The notation for calculating the lower bound of the objective value is illustrated in Figure 3.2 The working areas of all cranes are divided into many partitions based on the boundaries of rail cranes The boundaries of a crane’s working area of a node in a search tree are the farthest wagon on the left (“left boundary”), and the farthest wagon on the right (“right boundary”), that were assigned to a crane The unassigned area located outside the boundary of crane k is denoted as L k for k K \ , which is used to express the travel time of cranes along the area The unassigned areas are divided into many segments based on the location of containers in those areas
The lengths of the m th segments are denoted as l m k for kK \ , which is expressed by the travel time of cranes
The lower bound of the scheduling problem of multiple rail cranes is calculated as follows: max, k / k K
Figure 3.2 An Illustration of Notation for the Lower Bound of the Multiple
The following explanations demonstrate why this calculation is the lower bound of the makespan of all cranes In equation (3.24), C max is the maximum lower bound of the operation time of cranes, C k , within their working areas C k is the lower bound of the operation time of crane k because c k is the total time
43 required to handle all containers in the job sequence of crane k, and t k , the minimum travelling time of the crane k to handle all remaining containers in its working zone In (3.27), the value of t k includes two elements as 2t min k t max k and ,
The first element is the minimum travelling time of the gantry from the lowest boundary to the farthest boundary The second element is the minimum travelling time required for a crane to load or unload a container The calculation of t k has ignored all travelling times of the crane between containers and all re-handling movement times of the crane, and hence, C max is the lower bound of the makespan Similarly to t k , is the minimum travelling time of cranes to finish all the containers within the zone, which have not been assigned to any crane Thus, the summation of and all C k divided by is the lower bound of the makespan
The upper bound of the makespan of all cranes is obtained by the heuristic
“Travel to the Right” (Jeong and Kim, 2011) At a node, the set of containers assigned to crane k is generated as V k i P k : i x l k l The dual-cycle operation of a crane is constructed by the matching phase, and the job sequences of cranes are obtained by the ‘Travel to the Right’ procedure The next two subsections will describe these procedures in detail
In the matching phase, inbound containers and outbound containers are matched to construct the dual operational cycles Due to the unbalance of number of inbound container and outbound container, there are two types of tasks as 1) single task, in which the cranes need to perform single-cycle operations, and 2) dual tasks, in which the cranes need to perform dual-cycle operations In the first case of task, the inbound or outbound containers are matched with “dummy container”, D The matching phase results in sets of
44 inbound and outbound containers being scheduled as tasks for cranes In this process, the ‘Hungarian method’ is applied to match inbound and outbound containers together The cost matrix is calculated as follows:
(3.31) i The inbound container, i , is either on the left of the outbound container, j, or is located closer to the transfer track than j ii The inbound container, i, is either on the right of the outbound container, j, or is located further from the transfer track than j In this case, the containers have a greater likelihood of being re-handled
Hence, we assign a penalty value “ p” to avoid these issues iii The inbound container, i, and the outbound container, j, are located at the same place on the trains iv The crane performs a single cycle operation with an inbound container v The crane performs a single cycle operation with an outbound container
In this phase, the cranes travel from the left to the right and serve those containers which are closer to the transfer track first The process of this algorithm is as follows:
Step 1: S k for k K is the current node in the search tree Let C k 1 be the set of all tasks assigned to crane k obtained from the matching phase Let C k 2 be the final task sequence of cranek Let C k 3 be the set of all tasks including re-handling work
Step 2: A crane k is chosen in the order of 1 to K Set C k 2 and
Step 3: Choose a task in C k 1 that is located furthest to the left and nearest the transfer track Remove the task in C k 1 The task is added to C k 2 If a task needs to be re-handled, the task is added to C k 3
Step 4: If C k 1 is not empty, go to Step 3 Otherwise, go to Step 5
Step 5: Choose the first task in C k 3 and remove it fromC k 3 Add the task into the sequence of C k 2 to minimize the finishing time of crane k
Step 6: If C k 3 is not empty, go to Step 5 Otherwise, go to Step 7
Step 7: If all cranes tasks are completed, the algorithm stops Otherwise, go to Step 2
Simulated Annealing Algorithms
Two simulated annealing (SA) algorithms as the traditional SA and a parallel SA are designed to obtain near optimal solutions of the scheduling problem
The simulated annealing algorithm is developed to find near optimal solutions of the multiple rail crane scheduling problem This section will describe operators of the SA
A solution of the scheduling problem consists of two parts as 1) the working area and 2) the job sequence of each crane The initial working areas are assigned to cranes based on the balance of the workload The “workload” is the summation of all travelling times to discharge outbound containers or to retrieve inbound containers (Boysen and Fliedner 2010) We use the example in the previous section to illustrate how to construct the initial solution
We assume that the travelling time between two adjacent trains is one time unit, and that the temporary storage area is located between the transfer track and the railway track Table 2 presents the travelling time of cranes to handle the containers in Table 3.2 Total workload is 41 time units Therefore, the
49 working area of the first crane is from wagon number 1 to wagon number 5
The working area of the second crane is from wagon number 6 to wagon number 10 The workload of the first crane is 20 The workload of the second crane is 21 Table 3.3 illustrates a solution for this example The first part represents the working areas of the cranes The numbers in this part denote the wagon numbers of the last right hand side areas area which was handled The second and third parts show the work sequencing of cranes handling inbound and outbound containers, and the number denotes the container number In Table 3, the inbound containers 2, 7 and 9, and the outbound containers 11, 12 and 15, require re-handling
Table 3.2 An Example of Workload
Container Type Workload Container Type Workload
Two operations are designed to generate neighborhood solutions The first operation is a “zone operator”, which is used to determine a new working area for a crane The second operator is “sequence operator” used to generate a new job sequence for the crane If a random number in the range of (0, 1) is less than or equal to , the first operation is chosen Otherwise, the second
50 operation is applied In the zone operator, the boundary of a crane is first adjusted by adding randomly -1, 0 or 1 The containers that do not satisfy the boundary are assigned to other cranes In the sequence operator, a pairwise interchange is carried out to adjust the job sequence, where two inbound containers or two outbound containers are randomly selected and swapped
Once a neighborhood solution is generated, the following criterion is used to accept or reject it Let Q C Q NB where C, NB and Q(*) are the current solution, neighborhood solution and makespan of solution (*), respectively A neighborhood solution is accepted as the current solution if
, where r is a uniform random number in (0,1) and T l represents the current temperature
The cooling down function is the geometric update scheme introduced by (Lundy and Mees 1986)
The termination condition of the algorithm is
Multi-core processors have gained increasing popularity due to their greater computational strength We propose a parallel simulated annealing algorithm based on the use of a multi-core processor This algorithm will fully utilize the capacity of a computer to find the best solutions Figure 3.5 shows the flow chart of the parallel simulated annealing
The parallel SA differs from the traditional SA in two points: the loops are used to designate computation jobs within the multi-core processor, and a
51 comparison of current solutions is made to obtain a new current solution after loops
Figure 3.5 Parallel SA Flow Chart
Numerical Examples
The method of design of experiment (DOE) is used to determine the parameters of SA and PSA The example considered in this section includes 97 inbound containers and 97 outbound containers, which are carried by three trains; each train has thirty three wagons Three rail cranes are used to load and unload all containers The distance between two wagons is 7 meters and the distance between two trains is 7 meters, and the velocity of cranes is 3 meters per second Travelling time of cranes between two trains is 2.33 seconds; and travelling time of cranes between two wagons is 4.67 seconds
Parameter determination of the traditional SA
The SA algorithm contains four parameters, , T 0 , and To determine these parameters of this simulated annealing algorithm, we consider three values of (0.3, 0.4 and 0.5), three values of T 0 (10, 20 and 30), three values of (0.9999989691, 0.9999994846 and 0.9999997423) and three values of (0.001, 0.010 and 0.100) 810 runs of 81 combinations of four parameters are executed in order to obtain the mean of the makespans The experiment was analyzed by means of a multi-factor Analysis of Variance (ANOVA) technique where the makespan is the response variable Table 3.4 shows the ANOVA table The analyses indicate that T 0 and have statistically significant effects on the performance of the SA The different level of and
do not yield statistically significant differences on the performance of SA
However, is selecting rate between two operators to obtain neighborhood solutions; and is the stopping condition of the SA Hence, these parameters are necessary in the SA According to the Figure 3.6, 0.5 and 0.001 seem to be better than the order values Finally, we chose as 0.5, T 0 as 30,
Table 3.4 ANOVA: Makespan versus Blocks, , T, and
Total 809 116008.6 Note: * Not an exact F-test
** Denominator of F-test is zero
Figure 3.6 Mean of Makespan of the SA
Parameter determination of the parallel SA
To determine the parameters of the parallel simulated annealing algorithm, we set as 0.3, 0.4 and 0.5, T 0 as 10, 20 and 30, as 0.9999989691, 0.9999994846 and 0.9999997423, as 0.001, 0.010 and 0.100 and the number of iterations ( ) as 100000 and 1000000 1620 runs of 162 combinations of 5 parameters are executed in order to obtain the mean values of makespans
Figure 10 shows the performance of the PSA when the parameters were changed Table 3.5 show the ANOVA table of the objective value and all parameters The effect of T 0 and are strongest (P-value of T 0 is 0.006 and P-value of is 0.002) However, the interactions and , and and are statistically significant due to their low p-values From Figure 3.7, we chose the parameters of the PSA: 0.5, T 0 30, 0.9999997423, 0.001 and
Table 3.5 ANOVA: Makespan versus Blocks, , T, , and
Note: * Not an exact F-test
Figure 3.7 Mean of Makespan of the Parallel SA
Computational experiments showed that the computational time to obtain the optimal solution from the mathematical model is unreasonable for practical use The examples were tested on a computer with an AMD Athlon CPU 3.00 GHz, 4 cores, 4 threads and 4 GB memory; and the computation was done by CPLEX 12.6 Figure 3.8 shows the computation time to achieve the optimal solutions from some very small size problems When the number of containers increases, the computation time rapidly increases
Figure 3.8 Computation Times of Mathematical Model
In order to evaluate the performance of the traditional SA, the parallel SA, and the B&B algorithms, 24 problems were randomly generated by Bernoulli distribution The probabilities that a wagon carries a container (an inbound or an outbound container) are 0.25, 0.50, 0.75 and 0.95, respectively The algorithms are coded in Java In Korea, rail stations usually have three rail tracks, while each train contains an average of thirty-three wagons Table 3.6 shows the mean values of makespans, standard deviations and computation times of the 24 problems, as obtained by three methods; the branch-and-bound algorithm, the simulated annealing algorithm and the parallel simulated annealing algorithm For small-sized problems, all methods gave the same results For large-sized problems, the branch-and-bound could not return an optimal solution, while the two SA algorithms returned near optimal solutions within 20 minutes In almost all cases, the performance of the parallel SA is better than the traditional SA, because the parallel SA can search more solution candidates than the traditional SA Moreover, the parallel SA does multiple moves simultaneously, therefore it is easy to avoid the local optimal than the traditional SA
Table 3.7 and Figure 3.9 show the makespan of all cranes obtained from the parallel SA of 24 problems The problems are generated with different rate between inbound and outbound containers From Table 3.7, the makespan of all
58 cranes are increase if the number of outbound containers is more than the number of inbound containers The cause is that the more outbound containers there are the more turn around the cranes move If we compare the makespan in cases balance rate of inbound and outbound containers (Table 3.6) and cases unbalance rate of inbound and outbound containers (Table 3.7), the balance case lead to smaller makespan The cause is that balance cases lead to more dual-cycle operation than the unbalance cases Hence, it can reduce the empty travelling of the cranes
Table 3.6 Experimental Results of B&B and Simulated Annealing Algorithms
Note: * Computation time exceeds 43200 seconds (12 hours)
** The computer is out of memory
Table 3.7 Effect of the Average Percentage of Wagons with Inbound and
Average Percentage of a Wagon with an Inbound Container
Average Percentage of a Wagon with an Outbound Container
CPU Time (sec.) Mean (Std.)
Figure 3.9 The Average of Percentages of Wagon with Containers versus the
Table 3.8 Single-cycle Operation Approach versus Dual-cycle Operation
Recently, in many rail stations, there has been a trend for the crane driver to unload all of the outbound containers, prior to loading all inbound containers In addition, the working areas are divided equally The makespan of 24 problems with a single operation and equal working area are represented in Table 3.8 Table 3.8 shows the comparisons between the dual-cycle and the single cycle operation approach within a rail station The PSA reduces the makespan of all cranes from 54.66% to 128.00%
Table 3.9 represents the comparison of the makespan among three layouts, which were introduced in chapter 2 The layout 2 and 3 give smaller makespans than the layout 1, because the travelling time between the railway tracks and the transfer track of layout 2 and 3 are smaller However, by the approach in this chapter, the layout 2 and 3 give similar value of the makespan If the re- handed cases happen, layout 2 will give smaller makespan value than the layout 3, because the travelling time between the temporary storage area and transfer
64 track of layout 2 is smaller than that of the layout 3 In the table 3.9, the differences are not clear It means that the re-handling cases are almost eliminated
Table 3.9 Comparison Makespan among Three Rail Station Layouts
No Layout 1 Layout 2 Layout 3 No Layout 1 Layout 2 Layout 3
Conclusions
In this chapter, we considered a multiple crane scheduling problem in which working areas are assigned to cranes and the job sequence of each crane is considered Moreover, the dual-cycle operation of cranes was incorporated
The makespan of cranes was used as an optimization criterion, and a simulated annealing algorithm and a parallel simulated annealing algorithm were proposed to find near optimal solutions The results of these algorithms were compared with the results from the B&B We investigated the performance of algorithms using numerical examples In generally, the parallel simulated annealing algorithm outperforms the traditional simulated annealing algorithm
In 48 problems considered in this chapter, 24 problems have balance rate between inbound and outbound containers, 24 problems have unbalance rate between inbound and outbound containers The balance cases have smaller
65 makespan value, because there are many dual-cycle operations applied If two problems have similar total number of containers, the problems has bigger rate of outbound containers trend to give bigger makespan value, because more outbound containers, the re-handling case happens easily
The three layouts of rail stations are considered Layouts 2 and 3 give better performance than the layout 1, because layouts 2 and 3 have shorter travelling time between transfer track and railway tracks
Further research may include the study of rail crane scheduling problems with the additional consideration of train timetables, or with the integration of truck scheduling
Optimal Scheduling of Multiple Rail Cranes in Rail Stations
Introduction
In chapter 3, the cranes work strictly in separated areas In contrast, in this chapter, the cranes work freely along the trains However, we assumed the rail cranes cannot go across each other This may be the cause as to why cranes become idle The rail crane scheduling problem can be divided by two sub- problems: The first one is to assign containers to each crane The second is to determine the job sequence to each crane
One difficulty of this problem is re-handling An inbound container is directly loaded onto a train if the wagon is empty; otherwise, the inbound container needs to be re-handled In that instance, the inbound container is unloaded from a truck and stacked at a temporary storage area The inbound container that is stacked at the temporary storage area will be loaded onto the train after the wagon is empty (or the outbound container is discharged) In that case, we say that the outbound needs re-handling Obviously, the re-handling operations of containers (inbound containers or outbound container) are dependent on the point of time that the containers are transferred by cranes In the simplest cases, the re-handling case is caused the operation of a crane, or may unfortunately be caused by two being operated A crane loads an inbound container on a wagon but that wagon had not been discharged yet, meaning the inbound container needs storing in temporary storage area Later, another crane unloads the wagon, and it should load the inbound container onto the wagon
This chapter is organized as following Section 4.2 explains the mathematical model In section 4.3, the Simulated Annealing Algorithms are developed to obtain near optimal solutions Section 4.4 is used to validate the performance of the algorithms In section 4.5 the conclusions of this chapter are presented
Mathematical Model
In this section, the mathematical model is developed The notation of this chapter is same as chapter 1, except the following notation
X ij 1, if container i is handled immediately before container j by crane k; 0, otherwise
C i Completion time of the loading or unloading job of container i
C max Makespan of all cranes k
T Ii Additional handling time of crane k if inbound container i needs to be re-handled k
T Oi Additional handling time of crane k if outbound container i needs to be re-handled
TR k Total re-handling time of crane k
Z ij 1, if container j starts to be handled after container i is completely handled; 0, otherwise
R i 1, if container i needs to be re-handled; 0, otherwise p i The time required to perform container i
D ij The time require to complete the loading or unloading job of container j if container j is performed after container i
It is defined in the objective function (4.1) The makespan is the maximum completion time of the all cranes, as described in constraint (4.4) The completion time of a crane is the completion time of the last container in its container sequence, as in constraint (4.2) and (4.3) Equation (4.5) is the processing time of a container Constraint (4.6) defines the variable Z ij if
70 container j is handled after the operation of container i is completed, Z ij 1; otherwise, Z ij 0 Constraint (4.7) is noninterference constraint Constraint (4.8) ensures that a container is assigned to only one crane Constraint (4.9) is the flow balance constraint Constraints (4.10) and (4.11) select the initial and final containers of a crane, respectively Constraints (4.12) to (4.14) evaluate the re-handling cases The constraint (4.12) denotes that if an inbound container i iI'is loaded onto a wagon before the unloading of the outbound container j, C i C j , jO'and i x j x and i y j y , the container i needs to be loaded to the temporary storage area, R i 1 If the inbound container i and the outbound container have the same position on a train, R i R j (constraint
(4.13)) If the inbound container i is loaded into temporary storage area, after unloading the outbound container j , the crane should load the inbound container i onto the wagon Constraint (4.14) guarantees that the inbound container, which is not occupied by an outbound container, is not loaded into the temporary storage area Constraints (4.15) determines the finishing time of a container Constraints (4.16) to (4.19) define the addition time if an container needs to be re-handled Constraints (4.20) and (4.21) determine the completion time of the first container in the schedule of a crane The value of D ij is calculated by equation (4.23)
Simulated Annealing Algorithms
The meta-heuristic simulated annealing algorithm is used to solve the problem of multiple rail cranes scheduling
4.3.1 The Traditional SA Initial solution
A solution of the scheduling problem is a permutation representation of job sequence of each crane The initial solution of the SA is obtained by assigning containers to cranes based on the balancing workload among cranes (refer section 3.4.1) The job sequence is come from a simple heuristic, called
“unidirectional” operating, in which a crane will handle its job in a single direction
Two methods are used to generate the neighborhood solutions in this simulated annealing algorithm The first method is pairwise interchange two containers that are assigned to the same crane The second method is exchange the assignment of a container In the second method, two adjacent cranes are select randomly, assume that two cranes k n and k n 1 are selected The cranek n has a job sequence s s 1 n , 2 n , , s m n and the crane k n 1 has a job sequence
s 1 n 1 , s 2 n 1 , , s m n ' 1 There are two cases of the exchange of assignment of containers Case 1: The last task in the job sequence of the crane k n is assigned to crane k n 1 as the first task, s m n , s 1 n 1 , s 2 n 1 , , s m n ' 1 Case 2: the first task in the job sequence of the crane k n 1 is assigned to crane k n as the last task,
s s 1 n , 2 n , , s m n , s 1 n 1 These two cases are applied with probability 0.5 Overall, the first method and the second method are selected with probability , if
0,1 rand the first method is happened, otherwise the second method are applied Where rand 0,1 is random number between 0 and 1
The neighbor solution is accepted if Q R Q C or
Q(*) is the completion time of crane k in solution (*), r is the random number between (0,1), T i is the current temperature of iteration i
In this SA, the geometric update scheme of (Lundy & Mees 1986) is referred
And the algorithm stops when computation exceeds an expected time
Parallel computing is a technique to increase computation speed of a computer In this algorithm the searching neighborhood solutions is separated to many threads of the CPU Many threads search the solution simultaneously
Hence it can search more solution candidates than the traditional SA in the same time All operators in this algorithm are the same of those of the traditional SA Figure 4.1 shows the flow chart of the algorithm In the parallel SA the neighborhood solutions are generated from the same current solution by many threads simultaneously If a thread can achieve a new current solution or a new best solution, it will update to the current solution or the global best solution All the operators of the parallel SA are the same as the operators of the SA
Figure 4.1 Parallel SA Flow Chart
Numerical Examples
It is very difficult to obtain the optimal solutions from the mathematical model Figure 4.2 shows the computation of Cplex 12.6 to get the optimal solution from the mathematical model From Figure 4.2, the computation time increases rapidly when the number of container increases When the number of container is 10, we cannot achieve the optimal solution within 12 hours
Figure 4.2 Computation Times of Mathematical Model
Determine Parameter of the Simulated Annealing Algorithm
In this section, we use the method of Ruiz and Stutzle (2007) to determine the parameters of these algorithms The simulated annealing algorithms in this research has three parameters, , T and We set four values for ,
0.2,0.4,0.6,0.8 , seven values for T, 1,5,10, 20, 40,80,160 and four values for , 0.9999000,0.9999900,0.9999990,0.9999999 There are 112 combinations of three parameters The algorithm is tested with 24 problems, which are generated randomly by Bernoulli distribution The probability that a wagon carry a container are 0.25,0.50,0.75,0.95 The number of the trains are 1, 2,3 and the number of the rail cranes are 2,3 A problem is generated two times for the inbound containers and outbound containers The response variable is calculated by relative percentage deviation (RPD) Ruiz and Stutzle (2007) sol sol 100 sol
Where: M sol is the objective value of a given problem obtained by a combination of the three parameters, Best sol is the best solution returned by all
Co m p u tat io n Ti m e (Sec )
75 combinations of all parameters for the same problem The algorithms are run by setting the computation time:
CpuTimeNumberOfInbounds NumberOfOutbounds NumberOfCranes (Milliseconds)
Determine parameter of the SA
Table 4.1 shows the ANOVA table of RPD versus all the parameters The result in the table 4.1 shows that all parameters are very significant In Figure 4.3 the mean plot of the three parameters are presented From the figure, the set of parameters given the best performance is 0.2,T5 and 0.999999
Determine parameter of the PSA
Table 4.2 shows the ANOVA results of three parameters All factors are significant From the Figure 4.4 the set of parameters given the best results is
Table 4.1 ANOVA: RPD versus No., , T and
Source DF Seq SS Adj SS Adj MS F P
Figure 4.3 Mean of RPD of the SA
Table 4.2 ANOVA: RPD versus No., , T and
Source DF Seq SS Adj SS Adj MS F P
Figure 4.4 Mean of RPD of the PSA
The table 4.3 shows the results of the SA and PSA 24 problems are used to test the algorithms A problem is run 10 times to obtain the mean and standard deviation The Discrete Artificial Bee Colony algorithm (DABC) Guo et al (2013) and the Greedy Randomized Adaptive Search Procedure (GRASP) Kim and Park (2004) are developed to compare to our algorithms All the algorithms are coded by java From Table 4.3, the SA and PSA outperform the DABC and GRASP In the small size problem the gap between our algorithms and the other algorithms is small When the sizes of the problems increase, the gaps among the algorithms are increased The PSA outperform the SA because the PSA can search more solution candidates than the SA in the same time
Table 4.3 Experimental Results of Simulated Annealing Algorithms
DABC (Guo et al ,2013) GRASP (Kim and Park, 2004) Simulated Annealing Algorithm
Mean (Std.) Mean (Std.) Mean (Std.) Mean (Std.)
Table 4.4 Effect of the Average Percentage of Wagons with Inbound and
Average Percentage of a Wagon with an Inbound Container
Average Percentage of a Wagon with an Outbound Container
CPU Time (sec.) Mean (Std.)
Figure 4.5 The Average of Percentages of Wagon with Containers versus the
Table 4.4 and Figure 4.5 shows the makespan obtained from the parallel SA with 24 problems which are generated with unbalanced rate of inbound and outbound containers The numerical results give the same trend to the chapter
81 3 If the problems have similar total number of containers, the problem which have more outbound containers than inbound containers will lead to bigger makespan value And the balance rate of inbound and outbound containers gives smaller makespan than the unbalance case
Static versus Interference working areas of cranes
In this section, the scheduling of rail cranes with interference constraints are compared with the scheduling of rail cranes with static working areas Table 4.5 shows the makespan of cranes in two cases, static working areas and interference working areas of cranes The interference working areas has smaller values of the makespans However, the differences are small; the largest difference between two cases is 5.38% Table 4.6 shows the comparison between the static and the interference working areas in case which cranes have different capacities In the problems from 1 to 12, the travelling time of two cranes are (4.66, 2.33) and (4.66, 2.00) The travelling time of three cranes are (4.66, 2.33), (4.66, 2.00) and (4.66, 2.33) The difference makespans between the static and interference working area are minor
Table 4.5 Static versus Interference Working Area of Crane with Twin
Table 4.6 Static versus Interference Working Area of Crane with Different
Conclusions
In this chapter, we consider a multi crane scheduling problem in rail stations We not only assign the job tasks to cranes in dynamic boundary of cranes but also determine the sequence scheduling of each crane The makespan of cranes is used as optimization criterion and a SA and a parallel SA algorithm are proposed to find the solutions We investigate the performance of algorithms by numerical examples In general, the parallel SA algorithm outperforms the SA The algorithms proposed in this chapter give better solutions than other algorithms
In this chapter, we consider problems with balance and unbalance rate of inbound and outbound containers The problems which have balance rate of inbound and outbound containers give smaller makespan, because the cranes can perform more the dual-cycle operations When the rate of outbound
83 container is bigger the rate of inbound container, it usually leads to bigger makespan, because the re-handling cases are happened
Two operation policies, static working areas and interference working areas, are compared The interference working areas of cranes reduces less than 5% of the value of makespan As the future research, we can study this problem with the consideration of timetable of trains or with the integration of trucks scheduling
Conclusions
In this study, we have dealt with the operations of the rail cranes in rail stations located in container terminals We considered three sub problems, 1) single crane serves multiple trains, 2) multiple cranes serve multiple trains with fixed working area, and 3) multiple cranes serve multiple trains with interference constraints The dual-cycle operations were applied and the re- handling of containers was considered Moreover, two dimensions travelling of cranes are studied
Firstly, chapter 2 studied the operation of a single rail crane to serve multi- train The mathematical model was developed The branch and bound algorithm can solve several small-size problems We proposed a parallel simulated annealing algorithm to solve the problems in both small-size and large-size The meta-heuristic parallel simulated annealing is developed based on the traditional simulated annealing algorithm
Secondly, chapter 3 and 4 studied the operation of multi-rail crane operation to serve multiple trains The mathematical models were developed
The Cplex 12.6 software cannot solve large-size problems of chapter 3 The meta-heuristic algorithm, parallel simulated annealing algorithms were proposed to solve the large-size problems In chapter 3, the cranes were strictly constrained to work in their zones In contrast, in chapter 4, the cranes were allowed to move freely along the working sides However, the cranes cannot go across each other The numerical examples demonstrated that, with the application in chapter 4, the makespan of cranes is smaller than that of the chapter 3 However, the differences of makespan between two approaches are not too much The application of the approach in chapter 3 is easy to be applied in the real world Because it does not need an online control system to manage the real time positions of the cranes
In this study, we also considered the problems which have balanced and unbalance rates of inbound and outbound containers Two kinds of these problems demonstrate the benefit of dual-cycle operations The dual-cycle
85 operations can reduce the empty travel of both cranes and trucks Moreover, the problems with bigger rate of outbound containers usually give bigger makespan, because they lead to the re-handling cases easily
Moreover, in this study, we considered three rail stations with different location of the temporary storage areas The layout 1 which has the temporary storage area between transfer track and railway tracks give the worst performance, because the travelling time between the transfer track and the railway tracks is biggest Layouts 2 and 3 have the same travelling distance between the transfer track and the railway tracks However, the layout 2 has shorter travelling time in case of re-handling Hence, layout 2 which has the temporary storage area outside the transfer track gives the best performance
In the future, the problem in this study can be extended by considering the dynamic problem of the lateness of the trains which is usually happen in the practical situations Furthermore, we can combine these problems with the truck scheduling problems in the container yards, or the load planning problems of the containers on the trains
[1] Abacoumkin, C., & Ballis, A (2004) Development of an expert system for the evaluation of conventional and innovative technologies in the intermodal transport area European Journal of Operational Research, 152(2), 410-419
[2] Alicke, K (2002) Modeling and optimization of the intermodal terminal
[3] Ballis, A., & Golias, J (2002) Comparative evaluation of existing and innovative rail–road freight transport terminals Transportation Research Part A: Policy and Practice, 36(7), 593-611
[4] Benna, T., & Gronalt, M (2008) Generic simulation for rail-road container terminals Proceedings of the 40th Conference on Winter Simulation pp 2656-2660
[5] Bostel, N., & Dejax, P (1998) Models and algorithms for container allocation problems on trains in a rapid transshipment shunting yard
[6] Boysen, N., Emde, S., & Fliedner, M (2012) Determining crane areas for balancing workload among interfering and noninterfering cranes
[7] Boysen, N., & Fliedner, M (2010) Determining crane areas in intermodal transshipment yards: The yard partition problem
European Journal of Operational Research, 204(2), 336-342
[8] Boysen, N., Fliedner, M., & Kellner, M (2010) Determining fixed crane areas in rail-rail transshipment yards Transportation Research Part E: Logistics and Transportation Review, 46(6), 1005-1016
[9] Bruns, F., & Knust, S (2012) Optimized load planning of trains in intermodal transportation OR Spectrum, 34(3), 511-533
[10] Casotto, A., Romeo, F., & Sangiovanni-Vincentelli, A (1987) A parallel simulated annealing algorithm for the placement of macro-cells
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 6(5), 838-847
87 [11] Chen, D J., Lee, C Y., Park, C H., & Mendes, P (2007) Parallelizing simulated annealing algorithms based on high-performance computer Journal of Global Optimization, 39(2), 261-289
[12] Corry, P., & Kozan, E (2006) An assignment model for dynamic load planning of intermodal trains Computers & Operations Research, 33(1), 1-17
[13] Feo, T A., & González-Velarde, J L (1995) The intermodal trailer assignment problem Transportation Science, 29(4), 330-341
[14] Ferreiro, A M., García, J A., López-Salas, J G., & Vázquez, C (2013)
An efficient implementation of parallel simulated annealing algorithm in GPUs Journal of Global Optimization, 57(3), 863-890
[15] Goodchild, A V., & Daganzo, C F (2006) Double-cycling strategies for container ships and their effect on ship loading and unloading operations Transportation Science, 40(4), 473-483
[16] Goodchild, A V., & Daganzo, C F (2007) Crane double cycling in container ports: Planning methods and evaluation Transportation Research Part B: Methodological, 41(8), 875-891
[17] Guo, P., Cheng, W., Zhang, Z., Zhang, M., & Liang, J (2013) Gantry crane scheduling with interference constraints in railway container terminals International Journal of Computational Intelligence Systems, 6(2), 244-260
[18] Jeong, B J., & Kim, K H (2011) Scheduling operations of a rail crane and container deliveries between rail and port terminals Engineering
[19] Kaveshgar, N., Huynh, N., & Rahimian, S K (2012) An efficient genetic algorithm for solving the quay crane scheduling problem
[20] Kim, K H., & Park, Y M (2004) A crane scheduling method for port container terminals European Journal of Operational Research, 156(3), 752-768
88 [21] Kozan, E (1997) Increasing the operational efficiency of container terminals in Australia Journal of the Operational Research Society, 48(2), 151-161
[22] Kozan, E (2006) Optimum capacity for intermodal container terminals
[23] Lee, D H., & Chen, J H (2009) An improved approach for quay crane scheduling with non-crossing constraints Engineering Optimization,
[24] Lee, D H., Wang, H Q., & Miao, L (2008) Quay crane scheduling with handling priority in port container terminals Engineering Optimization, 40(2), 179-189
[25] Liu, J., Wan, Y W., & Wang, L (2006) Quay crane scheduling at container terminals to minimize the maximum relative tardiness of vessel departures Naval Research Logistics, 53(1), 60-74
[26] Lundy, M., & Mees, A (1986) Convergence of an annealing algorithm
[27] Meisel, F (2011) The quay crane scheduling problem with time windows Naval Research Logistics, 58(7), 619-636
[28] Meisel, F., & Wichmann, M (2010) Container sequencing for quay cranes with internal reshuffles OR Spectrum, 32(3), 569-591
[29] Moccia, L., Cordeau, J.-F., Gaudioso, M., & Laporte, G (2006) A branch-and-cut algorithm for the quay crane scheduling problem in a container terminal Naval Research Logistics, 53(1), 45-59
[30] Ng, W C., & Mak, K L (2006) Quay crane scheduling in container terminals Engineering Optimization, 38(6), 723-737
[31] Nguyen, D V A., & Yun, W Y (2014) Optimal job scheduling of a rail crane in rail terminals International Journal of Industrial Engineering, 21(3), 129-140
[32] Pap, E., Bojanic, G., Ralevic, N., Georgijevic, M., & Bojanic, V (2012)
Crane scheduling method for train reloading at inland intermodal container terminal Proceeding of IEEE 10th Jubilee International
Symposium on Intelligent Systems and Informatics, pp 189-192
89 [33] Ruiz, R., & Stützle, T (2007) A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem
European Journal of Operational Research, 177(3), 2033-2049
[34] Sammarra, M., Cordeau, J.-F., Laporte, G., & Monaco, M F (2007) A tabu search heuristic for the quay crane scheduling problem Journal of Scheduling, 10(4-5), 327-336
[35] Witte, E E., Chamberlain, R D., & Franklin, M A (1991) Parallel simulated annealing using speculative computation IEEE Transactions on Parallel and Distributed Systems, 2(4), 483-494
[36] Zhang, H., & Kim, K H (2009) Maximizing the number of dual-cycle operations of quay cranes in container terminals Computers &
Crane Scheduling in Rail Stations with Multiple Rail Tracks
Department of Logistic Information Technology
The Graduate School Pusan National University
Rail station in port container terminals is an important facility for loading and unloading containers between trains and port container terminals This dissertation addresses the operation of the cranes in rail station with multiple rail tracks Two types of containers are carried between trains and trucks
Inbound containers are loaded onto trains and outbound containers are unloaded from trains We consider the dual-cycle operation of the crane to load
91 and unload containers between trains and trucks Three different layouts of the rail stations are considered Three approaches are studied
Firstly, the job sequencing problem of a rail crane at rail terminals with multiple train lanes is investigated in this study A mathematical model is developed A branch-and-bound algorithm is used to obtain the optimal solution A parallel simulated annealing algorithm is also proposed to obtain near optimal solutions to minimize the makespan in job sequencing problems of large size Numerical examples are studied to evaluate the performance of the proposed algorithm
Secondly, this study considers the scheduling problem of multiple rail cranes to load and unload inbound and outbound containers to and from wagons of trains within rail stations We not only assign working areas to cranes, but also determine job sequence of each crane We minimize the maximum completion time (makespan) of all rail cranes The mixed-integer programming is built and a branch-and-bound algorithm is developed to find the optimal solutions A traditional simulated annealing algorithm and a parallel simulated annealing algorithm are designed to obtain near optimal solutions of large-sized problems Numerical examples are studied to investigate the performance of these algorithms
Finally, the scheduling of multiple rail canes with indifferent working areas In second approach, the cranes work strictly in separated areas In contrast, in this approach, the cranes work freely along the trains We not only assign loading and discharging jobs, but also determine the job sequence for each crane The makespan is used as an optimization criterion The mixed- integer programming is built A traditional simulated annealing algorithm and a parallel simulated annealing algorithm are proposed to solve the problem In the numerical example, the performances of these algorithms are compared with two previous studies
The scheduling of crane in this study can be applied to the rail stations with multiple rail tracks to increase the productivity of the station and reduce the
92 waiting time of the trains in the stations Moreover, the dual-cycle operations reduce the number of trucks tasks in the container yards
다수의 기차 선로가 있는 기차역의
크레인 스케쥴링
Duy Vu Anh Nguyen 물류 정보 기술 학과
대학원 부산대학교
항구의 컨테이너 터미널에서 기차역은 열차와 항구 컨테이너 터미널 사이 컨테이너들의 상ã하차를 위한 중요한 시설이다 이 논문은 다수의 기차 선로가 있는 기차역에서 크레인의 운영에 관해 다룬다
컨테이너들의 두 종류는 열차와 트럭 사이에서 운반된다 들어오는 컨테이너들은 열차에 실려지고, 나가는 컨테이너들은 열차에서 내려진다
우리는 열차와 트럭 사이에서 컨테이너들을 상ã하차 하기 위한 크레인의 이중 사이클 운영을 고려한다 기차역의 세 가지 다른 배치를 고려하였다
세가지접근법은다음과같다
먼저, 다수의열차선로가있는기차터미널에서철송크레인의작업순서문제가이논문에서연구되었다 수리적모델은개발되었고, 분기한정 알고리즘이 최적해를 찾기 위해 사용되었다 또한 parallel simulated