Optimization of Classification Track Assignment Considering Block Sequence at Train Marshaling Yard

,


Introduction
Railway transportation is known as one of the most significant modes of transport.Due to its advantages of the large capacity for both long-distance and short-distance transport, its full-time service, as well as the adaptation to different weather conditions, it is the most commonly used mode in freight transportation.In 2015, around 17.4% of inland cargo in European countries was transported via rail [1], while such proportion in China wais 13.3% [2].With the trend of global multimodal freight transportation, especially the development of marine shipping, more railway connections to the other modes of transport are built [3].It is obvious that the efficient railway transportation is required, which helps ensure the reliability of the supply chain and decrease the transportation cost.
Train marshaling stations are terminals in the rail freight transportation network, where the inbound trains are disassembled into railcars to form outbound trains.Due to the complexity of the operation process at marshaling yards, railcars spend 10% ∼50% of their time in the marshaling yard during the whole trip [4], most railcars are just waiting on the track without any operation.Simplifying the operations at marshaling yard can increase the efficiency of the rail freight transportation system.This paper concentrates on process at train marshaling station, especially for the optimization of classification track allocation.
The procedures at marshaling yard can be divided into four subproblems: railcar generation problem, train makeup problem, railcar classification problem, and outbound track assignment problem [5].The assignment of railcars to classification tracks is one of the most important tasks at train marshaling yard.It is based on the wagon-flow allocation plan, aimed at arranging the traffic flow from the inbound trains to classification tracks and deciding which track the railcars are assigned to.It closely influences the assembling process and the railcar sequence on the outbound train, because an inapposite railcar order on the track may cause much more repetitive work.
The typical layout of a train marshaling yard is shown in Figure 1.Inbound trains, which are composed of railcars with different destinations, will be stored at the arrival yard first.In order to transfer each railcar to its destination, the inbound trains are uncoupled and disassembled into railcars over a hump hill, which is called a humping operation.After rolling down from the hump, each railcar is assigned to a classification track at the classification bowl.Once the order of the railcars on the classification track cannot fit the connection rules, the railcars will be pushed to the hump and do the humping operation again, which is called rehumping operation.The humping and rehumping operations are also regarded as roll-in and pull-out operations in [6].After being assembled and coupled, railcars form outbound trains at the departure yard and dispatch to their destinations.More details about the whole process are described by Boysen [7].Once the railcar sequence on one classification track does not satisfy the assembling sequence, more rehumping operations are required, so that railcars will spend much more time at marshaling yard.
After the outbound train leaves the train marshaling yard, it will reach a number of intermediate train yards successively and unload railcars at their corresponding destination.In order to simplify the operation process both at marshaling yards and other following train yards, a group of railcars with the same origin and destination or belonging to the same train form a block.Each group of railcars will not be separated until they reach their assigned blocks, so that the reclassified operations are reduced during the whole trip.A train carrying more than one block is described as a multiblock train, which is of great advantage over a train with only one block [8].Along the whole journey, the railcars of the same train reach their destinations (some following train yards) successively, the order of the existing destinations is usually regarded as a block sequence, and the complexity of the operational process at each following train yard is influenced by the railcar sequence on the outbound train, which is already determined at the former classification yard.If the railcar sequence does not fit the block sequence, there will be much more operations when the railcars are unloaded at their destinations.
In order to release the pressure at the marshaling station, this paper mainly concentrates on the process at classification bowl, and two problems are taken into account.Firstly, by deciding the railcar assignment, we try to reduce the rehumping operations and coupling operations.Secondly, the railcars on the same train should be arranged in a proper sequence (e.g., the block numbers of railcars on the same train appear consecutively), so that those railcars will arrive at their destinations successively, thus improving the efficiency of the whole rail freight network.

Related Work
The classification track assignment is always regarded as a sorting problem, which is already reviewed by Gatto et al. [9].Generally, the sorting process can be divided into two types, single-stage sorting and multistage sorting.For single-stage sorting, the railcars are allowed to be pushed to the hump hill only once, and the aim is always to minimize the number of classification tracks [10,11] or dwell time [12].Multistage sorting allows rehumping operations, and the aim is always the minimization of rehumping operations [13].
The general train marshaling problem proved to be NP-complete [10].Few researchers concentrate on holistic operational research models, and typical studies are made by Bohlin et al. [14,15], where the mixed integer models are formulated.The column generation approach, as well as several heuristics algorithms, is designed to solve those models.They not only decide the assignment of the classification tracks, but also calculate the assembling time for each outbound train.Jaehn et al. [12,16] also build mixed integer models, aiming to minimize the weighted tardiness of all outbound trains, and an exact branch and bound procedure is designed to solve the problem.More related works are made by He et al., where genetic algorithms are designed to analyze the fuzzy dispatching model [17], and an optimal decomposing heuristic solution method is proposed to solve the mixed 0-1 integer model [18].
A number of scholars propose graph theoretical approaches.Bohlin et al. [6] focus on the cases in which each outbound train can be built on a separate classification track, and the problem was treated as a special list coloring problem.Elias [19] defines "chains" as a number of rehumping operations, trying to minimize the number of chains, which can be treated as the color sequence.Finally, a 2-approximate solution is achieved.Some scholars also analyze the rescheduling problem for the rehumping operation [20,21], which can be treated as a multiperiod dynamic process.Efficient technics for similar topics are introduced by Giat and Dreyfuss [22,23].Other studies consider the robustness or uncertainty while making the track assignment, which are reviewed by Boysen et al. [7].Considering the delay of some incoming trains, Bühsing and Maue provide new algorithms for a feasible humping schedule of the inbound trains, but the number and the capacity of tracks are not considered [24].Related works are introduced in [25], where the restriction of the delay is discussed, and efficient algorithms are developed based on the extended model of spares allocation.In China, very few scholars studied the classification track utilization, and the existing studies concentrate on the improvement of the track capacity [26,27].Due to the fact that the classification track is always too short for one outbound train and the number of available tracks is less than the number of blocks, the railcars of one outbound train are always assigned to different classification tracks, thus increasing the number of coupling operations when forming outbound trains.Besides, one classification track may consist of railcars from different outbound trains; when the railcars are not sorted by block or by outbound train on the track, some rehumping procedures are required.Both rehumping and coupling operations are time consuming and will reduce the capacity of station bottleneck.
Most previous studies only considered reducing the rehumping operations or satisfying the block sequence.Besides, due to the complexity to solve the OR model, the restriction on the order of the railcars in the outbound train is not always considered [12,[14][15][16], and the track capacity is usually ignored as well [28].
In this paper, the railcar allocation on the classification track is discussed in detail, especially how different types of railcar sequence influence the rehumping operations and coupling operations.Both the classification process and outbound train forming process are considered.In addition, both the assembling sequence and the block number sequence on the train are analyzed, so that the efficiency at the classification bowl, the departure yard, and the following train yards are improved.Many constraints related to the real-world case are also expressed in the paper, such as the track capacity and how the railcars from the former stage that have already on the classification track influence the classification track utilization.Basic studies have been made by the authors of this paper [29,30], aimed at minimizing the rehumping operations (or the number of dirty tracks) and coupling operations.
The paper consists of five parts.Section 1 mainly introduces the basic operations at marshaling station and the strategy for classification track utilization.Section 2 presents the reviews of related literature.In Section 3, distinctive types of classification tracks are discussed, a 0-1 linear programming model is built, and Tabu algorithm is designed.
In Section 4, a numerical experiment of a real-world case is cited to test the model.The final part is the conclusion.

Types of Classification Track.
The common sorting strategies can be divided into three types [31]: sorting-by-train, sorting-by-block, and triangular sorting.In China, the sortby-train and sort-by-block strategies are commonly used, which are mainly discussed in this paper.To simplify the classification track utilization, classification tracks are divided into three types: the empty track, the clean track, and the mixed track [6].The empty track has no railcar on it.The clean track is occupied by the railcars with the same destination (e.g., sort-by-block strategy) or belonging to the same outbound train (e.g., sort-by-train strategy).The mixed track is occupied by railcars with different destinations or belonging to different outbound trains.There are two types of mixed tracks, the temporary track and the dirty track.On a temporary track, the order of the railcars is the same with the outbound train's assembling order.On a dirty track, the order of the railcars is different from the outbound train's assembling order.Figure 2 is an example of the clean track and the mixed track.Each railcar has a corresponding destination, and each destination is titled with a block number.A, B, and C are block numbers (using sort-by-block strategy) or outbound train numbers (using sort-by-train strategy).Each railcar on the classification track has a fixed assembling time according to the wagon-flow allocation plan.The railcars to block A (or outbound train A) are the earliest for assembling operation, followed by railcars to block B and C. For the temporary track, the railcars on the classification track satisfy the assembling sequence, while for the dirty track, railcar A is on the left of the track so that it will be the last for the assembling operation, which does not satisfy the assembling sequence.
Operations on the clean track are relatively simple, as the railcars can be directly moved to the departure yard.As for temporary track, more coupling operations are required.When a dirty track appears, rehumping operations are required.The existence of mixed tracks will lead to much more dwell time and greatly increase the difficulty in marshaling operations.Figure 3 shows an example of the coupling operation.Railcars u 1 , u 2 , u 3 , u 4 belong to the same outbound train;   Apart from considering the assembling sequence, we also take the block sequence into account.Assume that the blocks from near to far are ordered from 1 to 5 and each railcar is unloaded at its corresponding destination.In order to simplify the unloading operation, the railcar next to the locomotive is the earliest to drop off at the nearest block.We note that the block number of each railcar on the classification track should be an ascending order, so that the outbound train can directly upload the railcars at their destination.

Mathematical Model.
The core problem is to find a proper railcar sequence on the classification track, trying to make less mixed tracks and satisfying the requirements of the block sequence.To simplify the problem, two assumptions are made: (i) The railcars with the same destination that do not depart at the end of the stage plan can be considered as an outbound train.
(ii) The length of the trains and the classification tracks are measured by the number of railcars.
We consider all operations in one stage plan; the set of inbound trains M (index i) and the set of outbound train N (index j) are given.All the trains are sorted by the dissembling and assembling sequence incrementally, i = 1, 2, . . ., m, j = 1, 2, . . ., n, where i is dissembled before i+1 and j is assembled before j + 1.The start time of disassembling and the end time of assembling divide the marshaling process into 2(m + n) time segments at most.Each time segment represents a track allocation condition in classification yard, because the railcars may hump to classification yard for disassembling or leave the classification yard for assembling.
The set of railcars U contains all railcars of inbound trains and outbound trains.For each railcar u, the outbound train n u that it serves, its length l u , its start time of disassembling  u ( u ∈ T), and the end time of assembling  u ( u ∈ T) are given.We define a Boolean variable  j u , which describes the relation between railcar and its outbound train.If railcar u belongs to outbound train j,  j u = 1, otherwise 0. According to Section 3.1, in order to simplify the operation process, the block number on an outbound train should be an ascending order.d u denotes the destination of railcar u (e.g., the index of the railcar u is 3, and the destination is station D, whose index is 4; then d 3 = 4).n u denotes the outbound train that railcar u serves.For arbitrary railcars on the same classification track, u and u  , if u is closer to the locomotive than u  , and d u ≤ d u  , then the rule of track assignment based on block sequence is satisfied (see Figure 4).
There are w (w ∈ W) classification tracks; for any point of time, the total railcar length must be less than the track capacity C w .In order to describe the condition of the railcars at each time segment, the binary variable y w ut is designed, which equals 1 when railcar u is assigned to track w at time point t and 0 otherwise.The connection of the outbound train and its corresponding track is described as variable x w j , which equals 1 when the outbound train j is on track w.The third decision variable is d w , defining the dirty track; d w = 1 means track w is dirty track, otherwise not.
All the parameters and variables are described in Table 1.
Dirty tracks require more rehumping operations, and temporary tracks mean more coupling operations.Our purpose is to minimize the number of mixed tracks, including both dirty tracks and temporary tracks.In the model, the number of temporary tracks is measured by the number of coupling times, while the number of rehumping times equals the number of dirty tracks. min ∑ w∈W x w j ≥ 1 j = 1, 2, . . ., n; ∑ w∈W x w j ≤  j j = 1, 2, . . ., n; x w j , y w ut , d w ∈ {0, 1} The aim of the model is to minimize the number of dirty tracks and the coupling times for assembling operations, which is expressed in objective function (1);  is a weight coefficient to distinguish the importance of the rehumping operation and the coupling operation.At any point of time, a railcar cannot be assigned to more than one track, which is guaranteed by constraint (2).Constraint ( 3) and ( 4) describe the relation between railcars and classification tracks.Each railcar is arranged to a track, and the track is not occupied after the assembling time of the railcar.Constraint (5) ensures that the total length of all railcars on the same track cannot exceed its capacity at any time segment.Constraint (6) is the definition of dirty track.It means track w is dirty track when railcar sequence does not satisfy the assembling sequence.Constraint (7) describes the relation among tracks, railcars, and outbound trains.It means that once the railcar is on the track, the outbound train it belongs to is on the track too.Constraints (8)-( 9) ensure that the minimum number of tracks for each outbound train is 1, while the maximum is  j .Owing to the length limit of the classification tracks, railcars of the same outbound train may be assigned to two or more tracks.In such condition, a series of coupling processes are required to connect railcars from different tracks; the order of railcars should satisfy the block sequence, which is expressed in constraint (10) and (11).

Solution Algorithm.
The model is a 0-1 integer programming model, so that exact solutions can be reached by ILOG CPLEX.However, when the scale is expanded, there is a sharp increase in the solution time.It has been proved by many scholars that specific single-stage shunting and multistage shunting problem are strongly NP-complete, so a Tabu search is designed for the improvement of efficiency (see Figure 5).
Step 0 (initialization).The initial solution  current is set by a two-dimensional array  Step 1 (neighborhood search).A new solution is generated by randomly changing the corresponding track of a certain railcar based on rules of 2-Opt, and then the objective function value is calculated individually.
Step 2 (Tabu list design).The Tabu search algorithm uses the Tabu list to record the local optimal solution to avoid roundabout searching and find the global optimal solution.There are two main characters, Tabu object and Tabu length.In this paper, Tabu object is denoted by a three-dimensional array q[u][w 1 ][w 2 ], and the information involved is railcar index u, track w 1 which is arranged by railcar u of the previous phase, and track w 2 which is occupied by railcar u of the new round of neighborhood search.
Step 3 (solution check).If the minimum objective function is less than the best solution,  best ≤ ( current ) min , then the Tabu list is renewed, and set  best =  current ; else repeat step 1.
The computational experiments prove that the Tabu search algorithm offers a good solution in a very short time.Usually the optimal solution appears in the 50-100th iteration, so the maximum iteration is designed to be 100, and the Tabu length is 30 by a variety of tests.

Numerical Experiments and Analysis
4.1.Data Preparation.The numerical experiment integrates with actual scenarios and randomly created data, which was cited in [29].Input is 12 inbound trains (A1∼A12), 17 outbound trains (B1∼B17), and railcars connection plan.Table 2 shows the disassembling and assembling sequence of the train, involving 15 time segments.According to the input data in Table 3, outbound trains B13∼B17 will not depart by the end of stage.There are at least 7 destinations for the railcars, whose indexes are 1∼7 from near to far.Table 4 is the railcar connection plan, in the column "Outbound Train", B1 (3, 4) means outbound train B1 contains railcars with destination 3 and 4, and the column "Makeup" represents outbound train/railcar index/railcar number.

Computational Results.
The numerical experiments are tested by both CPLEX and the Tabu algorithm.The algorithm is written in C#, and it runs in Visual studio 2012.Those two pieces of software run on a laptop with an Intel Core i7 CPU and 12G memory.Assume that there are 10 classification tracks.The capacity of each classification track is 100.The objective function is 27, where there are 0 dirty track and 10 temporary tracks.As it can be seen in Figure 6, outbound trains B1, B2, B3, B4, B5, B6, B7, B12, B13, B14 are all allocated to different tracks, requiring 10 coupling operations.
In comparison, we also make the track assignment without considering the block sequence.By testing the model in [30] which does not consider constraints (10) and (11), the objective function is 18, with 1 dirty track (track 3) and no temporary track (see Figure 7).
More comparisons can be seen in Table 5.It can be indicated that the number of coupling operations is the most affected factor while considering the block sequence.Because more restrictions for the railcar sequence are required, which may cause more coupling times than before.
As for the algorithm, the optimization solution can be found within 50 interactions.The calculation results show that this algorithm has good convergence (see Figure 8).
In addition, the algorithm can reach the optimal solution in a shorter time compared to CPLEX as the scale expands.As it can be seen in Table 6, when the track number is less than 8, CPLEX cannot find an optimal solution due to the limitation of the machine's memory, while Tabu algorithm can reach a locally optimal solution.Since more options and less restrictions are available for the railcars.However, in China, it is impracticable to build new tracks, and the track number is usually less than the block number.Most of the time, each track is assigned to a fixed block number, which will restrict the classification track assignment too.Due to the intense capacity, it is better to decide a reasonable assembling sequence while making the stage plan.

Variation in Track
Length.Usually, in a classification bowl, the tracks' lengths are different due to the shape of the yard.For the limit of the track length, railcars of the same outbound train may be assigned to more than one classification track.We tested tracks with arbitrary length to see the impact.For the cases with 8∼11 tracks (see Table 7), once the lengths of the classification tracks are reduced, more temporary tracks and dirty tracks are formed, which means that more rehumping operations and coupling operations are required.As with the number of tracks, it is also infeasible to change track length at marshaling station, so it is better to make track assignment for the railcars with special needs ahead of time (e.g., outbound trains with more railcars should be allocated to a longer track with a similar length).

The Influence of Wagon-Flow Allocation
Plan.According to the wagon-flow allocation plan, railcar 5 and 12 cannot be assembled by the end of this stage, so that those tracks will be occupied throughout the whole stage (see track 6 in Figure 6, track 9 in Figure 7).The railcars connection plan, as well as the disassembling and assembling sequence, is the factor that mainly influences the quality of the track assignment.For example, a reasonable disassembling sequence may lead to a proper railcar sequence on the classification track during a certain time.Coordinating the use of the classification track and the wagon-flow allocation plan can greatly reduce the time at train marshaling yard.Therefore, in the real world case, it is better to make an integrated plan, which is also the aim of our future work.

4.3.4.
For Railcars from the Last Stage.Usually, there are some railcars that cannot be assembled by the end of the stage, so that they may stay on the track for the next operational stage.Such railcars may influence the track assignment for the following procedure.As it is shown in Table 3, the first 3 railcars are considered as an inbound train A0, which are not assembled by the end of the last stage.Assuming that those 3 railcars park on 3 tracks, respectively, after calculating by the model, 1 more dirty track appears.Once there are railcars whose assembling time are earlier than those three railcars, they would prefer not be assigned to the same tracks, thus making the other tracks overloaded.In our model, it is better to assign railcars of the same outbound train to one track, more restrictions to those three tracks are required, so that more rehumping and coupling operations are needed.

Conclusion
Due to the uneven traffic flow and the influence of the station layout, the classification track capacity at most marshaling stations is very tight.The optimization of classification tracks has an important influence on improving the efficiency for marshaling operations.In this paper, the basic application of the classification tracks is analyzed.This paper requests a certain sequence of the railcars, in order to reduce the rehumping operations and the coupling operations at marshaling station, as well as simplify the operations at following train yards.It puts forward a holistic design thinking of the rail freight network, trying to decrease the whole time.Tabu search is designed for the real-world application, which proved to be efficient.A variety of factors such as track length, track number, wagonflow allocation plan, and railcars from the last stage would influence the results.It illustrates that operations of railway system are continuous processes and should be considered as a whole.

Figure 1 :
Figure 1: A schematic layout of a typical hump yard.

Figure 3 :
Figure 3: Coupling operation of the railcars from different tracks.

u 1 ,
u 2 are assigned to classification track 1, while u 3 , u 4 are assigned to classification track 2. When the outbound trains are separated on classification tracks, those railcars should be connected while assembling in order to form the outbound trains.

Figure 4 :
Figure 4: The definition of the destination sequence of the railcars.

Figure 5 :
Figure 5: The procedure of Tabu search.

Figure 8 :
Figure 8: The convergence rate of Tabu search.

Table 1 :
Parameters and variables.Binary variable:1 if railcar  is assigned to track  at time , otherwise 0 Binary variable:1 if track  is dirty track, otherwise 0
current .Set  best =  current , S best = S current .

Table 3 :
Railcars information of inbound trains.

Table 5 :
Comparison of the results for whether to consider the block sequence.Figure6: Track assignment with 10 tracks (with block sequence considered).

Table 6 :
Computation time of CPLEX and Algorithm.

Table 7 :
Variation in track length and track number.