Real-time Path Planning of Driver-less Mining Trains with Time-dependent Physical Constraints

While the increased automation levels of production and operation equipment have led to improved productivity of mining activity in open pit mines, the capacity of mine transport system become a bottleneck. The optimization of mine transport system is of great practical significance to reduce the production and operation cost and improve the production and organizational efficiency of mines. In this paper we first formulate a multi-objective optimisation problem for mine railway scheduling by introducing a set of mathematical constraints. As the problem is NP-hard, we then devise a Mixed Integer Programming based solution to solve this problem, and develop an online framework accordingly. We finally conduct test cases to evaluate the performance of the proposed solution. Experimental results demonstrate that the proposed solution is efficient and able to generate train schedule in a real-time manner.


Introduction
The optimisation of railroad transportation system in open pit mines is an important part of the optimisation of complex large system in open pit mines.It is of great practical significance to reduce the production and operation cost, together with improving the production and organizational efficiency of mines.In recent years, while the increased automation levels of production and operation equipment have led to improved productivity, part of the mine transport system bottleneck problem began to highlight, especially on the basis of the static road network analysis method of the traditional routing optimisation planning models and algorithms.When faced with more complex and variable scheduling decisions, traditional solutions are easily limited, and difficult to get global realistic optimal results.
Various research work, such as mixed integer programming and dynamic programming, have been conducted to solve urban railroad transportation optimisation problems in the literature [6,10,28,30,32,33].Compared with urban railway networks, mine CONTACT Changxin Gao Email: xjren@xidian.edu.cnarXiv:2212.10730v3[eess.SY] 7 Jan 2023 railway networks have limited amount of tracks, most of which are bi-directional singletrack.This leads to some particular problems as follows.
• Track allocation: Giving most tracks are bi-directional single-track, the transportation capacity is limited by the number of receiving and departure tracks, the number of siding/meetpoints, and the length of single-tracks.Moreover, the capacity is also restricted by track maintenance.• Train conflict: For a bidirectional single-track, there are mainly two conflicts between trains.First, a pre-defined time difference is necessary to ensure safe operation when trains running in the same direction; Second, trains in opposite directions cannot be in the same segment at any time.
Given the problems stated above, the mine railroad scheduling problem is a complex optimisation problem, and the results under different decisions are far from each other.With purpose of less running time of all trains and maximizing the total amount of rolling stock, this paper proposes an integrated model to optimize train timetable and track allocation.The main contributions of this paper are listed as follows.
• We first formulate a multi-objective optimisation problem for mine railway scheduling by introducing a set of mathematical constraints.• As the problem is NP-hard, we then devise a MIP-based solution to solve this problem in a real-time manner.• We finally conduct test cases to demonstrate the validity and effectiveness of the solution.
In the following sections, Section 2 presents a review on the railway scheduling and train timetabling problems.Section 3 introduces the system model and describes the mining railroad optimisation problem.Section 4 provides the mathematical formulation for the objective and the set of constraints.Section 5 presents a description of all the modules that constitute the developed solution, in order for all the readers to get an understanding of the entire process.Section 6 presents a summary of the result for the tests carried out to evaluate the proposed solution.Section 7 is dedicated to the conclusions.

Related Works
An enormous number of studies have been conducted on railway scheduling and train timetabling problems [4,7,11,13,17,22].The research work can be classified into three main categories: the train scheduling and rescheduling problem, the periodic and nonperiodic timetabling problem, and the passenger train and freight train timetabling problem [15].
Train scheduling is an offline problem that determines the arrival and departure times for trains at each station before the schedule is executed, e.g., [1,16,19,23,27].With a planned schedule, rescheduling is a real-time problem that aims to determine detailed train movements and timetables to minimize train deviations, e.g., [12,29,31,34].Sanat et al. [23] studied a train scheduling problem in a large national railway network, and presented two flexible heuristics based on a Mixed Integer Program formulation for local optimisation to improve infrastructure utilization.Wang et al. [29] proposed a train rescheduling optimisation model in the case of the vehicle breakdown on a metro line.Efficient rescheduling strategies including flexible shortturning and adding backup trains are particularly formulated into the model.Bersani et al. [1] formalized demand-oriented scheduling and rescheduling models in order to propose a dynamic timetable, and proposed a min-max method to address operational constraints related to train capacity, train speed limits, train transfers, possible conflict in the track section use, with the main objective to minimize the travel time.
Periodic timetabling requires that most or all train paths repeat in time with a certain period (e.g., 12 hours), e.g., [9,20,25,26,35].However, as it becomes difficult to obtain effective periodic schedules when dealing with interruptions or conflicts (e.g.track maintenance), a non-periodic timetable becomes more appropriate, e.g., [5,8].Huang et al. [9] integrated stop planning, service planning, and scheduling in a periodic timetabling problem and modelled it as a Mixed Integer Linear Programming formulation to minimize the average travel delay of passengers.They then developed a genetic algorithm supported by a scheduling heuristic to solve the problem for better scalability and efficiency.
Because railways provide both passenger and freight services, there are naturally passenger train and freight train timetabling problems, e.g., [2,3,14,18,21,24].Mu and Dessouky [18] introduced two mathematical formulations to cope with the rapidly increasing freight demand for railway transportation, and presented several heuristics that can significantly reduce the solution time of the exact method carried out by CPLEX yet produce a satisfactory solution quality.Bešinović et al. [3] introduced the integrated passenger and freight train timetable adjustment problem which handles both passenger as well as freight trains, and developed a mixed integer linear programming model to simultaneously retime, reroute and cancel trains in the network.
These research lines are viewed from different perspectives but are not truly independent of each other.For example, passenger train scheduling is usually a periodic timetabling problem.Li et al. [15] studied a non-periodic freight train scheduling problems, in which a schedule is planned for freight trains and can be different in different periods of the day.The proposed method considers car flow transfer between consecutive trains and the shipment delivery time requirement.A tabu search algorithm is developed that extends the applicability of the proposed optimisation method for large-scale problems.Experiments on real-world instances of the Menghua railway indicate the effectiveness of the proposed algorithm.The mining railroad optimisation problem is to determine the best feasible timetable for a set of trains in order to load mines as many as possible.The related constraints are to satisfy restrictive operational constraints (e.g., track capacity, travel speed, safe distance etc.) and to avoid possible conflicts when using each single track.

System Model
Define a physical network G * = (S, W ) with a set of nodes S and a set of links W. The set S consists of switch stations (S u ⊂ S), and load-outs (S l ⊂ S) in physical network.W = {(i, j)} is the set of links in physical network, where (i, j) stands for link connecting node i ∈ S to node j ∈ S. The set W consists of mainline tracks (W u ⊂ W ), siding tracks (W w ⊂ W ) and crossovers (W o ⊂ W ) in physical network.For each link (i, j), let • d ij be the capacity of (i, j): Here capacity is the maximum number of trains that can stand on the link (i, j) at any point of time.• f (i, j) be the travel time from i to j, where f is the speed profile based function.
• f (j, i) be the travel time from j to i, where f is the speed profile based function.
In order to model the business operation of mine loading, for each load-out i ∈ S l , let P i be the average loading time for a train.
Let Q = {0, 1, • • • , |Q| − 1} be the set of time instants, where time is discretized into discrete time instants of length g minutes.For instance if we take g = 5 then a period of 1 hour would be represented by discrete set

Train Model
Let M = {1, 2, • • • , m} be the set of real trains travelling in the physical network G * .For each train m ∈ M ,we will get the following set of inputs: • loSeq m : Sequence of scheduled load-outs to visit.
• depT ime m : Scheduled departure time.
As we have a cyclical network and train changes direction (turns back) after going to a load-out, in order to model this behaviour we will break down the train journey into different parts.Each part will be represented by a different model train.Thus, if a train m goes to n load-outs, its whole journey will be represented by a set of n + 1 model trains called T m , where each model train represents a specific segment of train m's journey.Accordingly, one business rule will be added that any model train can depart only after its predecessor has finished its journey.
For example, considering the case of a train m starting from station A and going to two load-outs G1 and G2, its journey will be modelled as follows: From now on, we will use train to refer to model train only, unless specified otherwise.Thus, for each train t ∈ T , we will have the following set of information: • depQ t : Scheduled departure time.
• dep t : Scheduled departure location node.
• dest t : Final destination node of the train, after which it will disappear from the network.• t pre : Predecessor train of train t.

Time Space Network
We here consider a time-space network G = (N, A), where N denotes the node set and A denotes the arc set.For each node i ∈ N , let Outb i ⊆ A be the set of all the outbound arcs of node i, and Inb i ⊆ A be the set of all the inbound arcs of node i.
Given a physical network G * , we then can construct the time-space network G as follows: • For each load-out in s ∈ S l , we replace it with two separate node s in (entry node) and s out (exit node), and add a load-out link (s in , s out ) into W. Let W l ⊂ W be the set of load-out links.By splitting the entry and exit point nodes for each load-out, we ensure that trains are staying at load-out for the required loading time.At the same time, we replace the related inbound links (i, s) ∈ W to (i, s in ) and the related outbound links (s, j) ∈ W to (s out , j).Accordingly, we have f (i, s in ) = f (i, s), f (j, s out ) = f (j, s), and f (s in , s out ) = P s , where P s indicates the required loading time.• For each link (i, j) ∈ W whose capacity d ij > 1, we break down this link into smaller links by adding d ij −1 dummy nodes into S and replacing the link (i, j) with d ij − 1 dummy links (with proportional travel time) as well.Note: After this operation, the capacity of each arc is 1.This operation guarantees that on every arc at any point of time only one train travels on that arc, which will in turn guarantee that trains maintain a safe headway separation while travelling in the same direction.• For each siding track (i, j) ∈ W w , we add a siding node i to S and replace the siding track (i, j) with two separate arcs (i, i ) and (i , j).Let S w ⊂ S be the set of siding nodes.Accordingly, we have For each link (i, j) ∈ W , let Iden(i, j) be the set of identical arcs in A. • For each node s ∈ S, we add |Q| corresponding nodes {s 0 , ..., s |Q|−1 } in N .For each train t ∈ T , we add corresponding virtual source node s t 0 in N s ∈ N , where s t 0 represents the source node where train t departs.We also add one sink s 1 into N , where s 1 represents the sink node where every train terminates its journey.• For each link (i, j) ∈ W , we add following transit arcs into Iden(i, j) ⊂ A: (i k , j k+f (i,j) ), f or all k = 0, ..., |Q| − 1 and k + f (i, j) ≤ |Q| − 1 (j k , i k+f (j,i) ), f or all k = 0, ..., |Q| − 1 and k + f (j, i) ≤ |Q| − 1 • For each link (i, i ) ∈ W w , we then update Iden(i, i ) as follows: • For each siding node i ∈ N , we add following waiting arcs into A w ⊂ A. In this way, we allow trains to wait/dwell on sidings.
(i k , i k+1 ), f or all k = 0, ..., |Q| − 2 • For any load-out s ∈ S l with loop capacity cap s , we add (cap s − 1) waiting arcs between (s k in , s k out ) , for all k = 0, ..., |Q − 2|.In this way, we allow trains to wait/dwell in the loops.
• For each station node i ∈ S u , we add an arc from that node to the sink, signifying that allows train cancelling in case of deadlock (i.e.we can cancel a train with a very high penalty).Thus we add these train disappearing arcs into A d ⊂ A: (i k , s 1 ), f or all k = 0, ..., |Q| − 1 • For each train t ∈ T , we add an arc from the source to the scheduled starting node of that train, and we add these starting arcs into A s ⊂ A: (s t 0 , j k ), f or all k ≥ depQ t , and j is the scheduled starting node(i.e., j = dep t ) • In all the above cases, whenever an arc (i, j) ∈ A is added to the time-space network, we also add this arc to the Outbound arc set of node i(i.e.Outb i ) and to the Inbound arc set of node j(i.e.Inb j ).

Mathematical Model
According to the definitions made in the previous section, the objective and the set of constraints are now presented in a formal manner.

Attributes
For each (i k , j l ) ∈ A and a given train t ∈ T , there exists a cost attribute c t i k j l as follows: where (i k , j l ) denotes an arc in the time space network representing possible movement (of a train) starting from node i at time k and terminating at node j at time l.The cost α * (|Q|− k/(60/g) ) implies that we give weighted penalties for waiting/dwelling, where α is constant parameter.The cost β * (l − depQ t ) implies the penalty for late departure, where β is constant parameter.The cost ρ * time lef t implies that we try to route trains as close as to the destination.The cost γ * (l − k) implies that we try to route trains along the shortest-time path.

Variables
For each (i k , j l ) ∈ A and a given train t ∈ T , define the following binary decision variable: 1, if train t will travel on arc(i k , j l ) during k to l 0, otherwise

Objective
Given the above cost attributes and variables, we then define the objective as follows:

Constraints
In particular, we formulate the related constraints as follows: • Flow conservation constraint: These constraints algebraically state that the sum of the flow through arcs directed toward a node plus that node's supply, if any, equals the sum of the flow through arcs directed away from that node plus that node's demand, if any.
• Node capacity constraint: This constraint ensures that for each node excluding s 1 , trains can be held safely without any collision or deadlock at any time point.
t∈T (j,i)∈Inbi • Arc capacity constraint: This constraint implies that for any track, load-out in the network, at any time instant q ∈ Q, there can only be at max one train travelling or staying.
t∈T (i k ,j l )∈Iden(i,j)&{k≤q−1,l≥q} • Train departure constraint: This constraint implies that any train t with predecessor not null, which represents the return trip of a real train, has to depart at the time when its predecessor train completes its journey.

Solution
Given an offline scenario, i.e. optimise the train schedule for a pre-defined time window, a traditional approach is to solve the above MIP problem directly.However, the above approach can not apply into the online scenario, since the solving time often turn out to be unacceptable.e.g., it may take several days to generate a train schedule for the next 24-hour.Instead, we here propose a solution framework for the online scenario.As shown in fig.2, it runs iteratively.The cycle length is pre-defined (e.g.every 5 minutes), which is decided as per the business requirements (e.g.problem size, algorithm running time, etc).For each cycle, it contains 4 steps as follows.In the pre-processing step, we use the current status as input, and formulate the above MIP problem, which complexity changes exponentially when variable size varies.To further reducing the running time, we adopt the following approaches to reduce the variables:

Pre-processing
• Initializing variables only for arcs on which train will travel: for each train, we only consider the reasonable arcs according to its destination.For example, in fig. 3 the train t is heading for load-out A. We then can set all the unreasonable variables (i.e., those variables associated to the arcs heading for load-out C) to 0. • Removing variables corresponding to unrealistic movements: consider the train t in fig. 4 going towards load-out, which is not allowed to move on track F. We then fix variables corresponding to such invalid movements to 0.

Solving MIP
In this step, we solve the formulated MIP problem via mathematical optimisation solver (e.g.Gurobi, Xpress, Cplex, etc).To better utilize the solver, we also integrate more strategies as follows: • Warm start: supply hints to help solver find an initial solution, which consist of pairs of variables and values, known as a warm start.The hints may come from soft business rules or human experience.• Solver tuning: use offline data to tune the solver, and adopt the solver setting for the online running.

Post-processing
After getting the MIP results, we then need to translate the math-style results into trains' schedule solution.In particular, we need to combine trains with the related predecessor trains to get complete movements.As shown in table 1, we need to combine the results of t m1 , t m2 , t m2 to get the schedule of train m.

Simulation/execution
For each given solution, we then validate the schedule further via simulation, and add more details including maintenance allocation.We finally trigger an actual execution by communicating the detailed schedule to trains.

Experiments and Results
In this section, we evaluate the performance of the proposed solution.

Experimental Environment Setting
We here consider the sample network in fig. 1, and has track capacity shown in fig. 5.
As per the subsection 3.3, we then construct the time-space network of 20-minute time window in fig.6, for which the time instant length is 5 minutes.We then evaluate the proposed solution via the following test cases.From case 1 to case 4, we vary trains to schedule, generate the train schedule, and demonstrate the solution in time-space network.

Test Case 1
We have two trains to schedule in table 3, where train Mtest01 goes towards load-out G and train Mtest02 returns from load-out G.We are able to get the solution in less than one minute, where the train schedule for train Mtest01/Mtest02 are demonstrated via green-path/blue-path respectively in fig.8.

Conclusions
This work studied an online mining railway optimisation problem.We first formulated the problem as a novel MIP problem, and proposed an online solution accordingly.
The solution has been evaluated via test cases.However, it is worthy mentioning that our model is an initial integrated optimisation model for mine railway scheduling, and station track allocation planning, which has more generalisation space for some specific purposes.Further research will focus on the following several aspects: • consider more practical constraints, such as ensuring first-come-first-serve policy near load-outs.• develop an effective heuristic algorithm to increase the efficiency of the solution.

Disclosure statement
No potential conflict of interest was reported by the author(s).

Table 1 .
Model Train ExampleModel Train Departure Node Destination Node Predecessor Train

Table 2 .
Case 1: Train Info Train Name Departure Node Departure Time Destination Node Given a single train info in table 2, we are able to get the solution in less than one minute, where the train schedule for train Mtest01 is demonstrated via green-path in fig.7.

Table 3 .
Case 2: Train Info Train Name Departure Node Departure Time Destination Node

Table 4 .
Case 3: Train InfoWe have three trains to schedule in table 4: both train Mtest01 and Mtest03 go towards load-out G from different start station; train Mtest02 goes back from loadout G with departure time constraint.We are able to get the solution in less than one minute, and the train schedule are demonstrated via in fig.9.In particular, train Mtest01/Mtest02/Mtest03 schedule are demonstrated via green-path/bluepath/orange-path respectively.