1 Introduction
The multiagent path finding (MAPF) problem is an abstraction of routing problems such as that of robots or automated guided vehicles through an environment whilst preventing collisions. The stateoftheart of complete solvers such as ConflictBased Search (Sharon et al., 2015) and BranchandCutandPrice (Lam et al., 2019) has recently progressed to facilitate routing as many as 50 agents on various benchmark instances (Lam et al., 2020)
. Therefore, this seems to be the opportune moment to make this abstract model more realistic, and start solving real problems.
The application domain discussed in this paper is that of shunting and servicing trains, which considers all operations on trains outside the timetable. When at the end of the day trains have completed their service, they are parked on a nearby shunting yard, cleaned (sometimes also on the outside on a special washing track), repaired if necessary, and they receive regular checks and maintenance. After this, trains of the right type need to be ready at the right time to start executing their service in the timetable of the following day. For a small number of trains and a large shunting yard, finding feasible paths and schedules for the trains and their operations can be done by hand, but this becomes very difficult when a shunting yard is operating close to its capacity.
Van Den Broek (2016) has coined the name Train Unit Shunting and Service (TUSS) problem to indicate this application domain. It is an extension to the Train Unit Shunting Problem (TUSP), that originally focused on parking and matching arriving train units to departures only. TUSP has been investigated by several researchers in railway engineering and operations research, who provided mixedinteger programming (MIP) formulations for parts of the problem (Lentink et al., 2006; Kroon et al., 2008), where typically the routing is considered separately. Later several authors added one or more maintenance related service tasks to be scheduled simultaneously. The full scope of the problem has been brought in by the ROADEF 2014 competition (Marcos and Sourd, 2014). This formulation is based on a reallife situation, and the results of that competition made clear that for practical application this problem could only be solved by heuristics (Geiger et al., 2018). Since then these heuristics have been further developed by Van Den Broek (2016), Kremer and Buijs (2016), and Van De Ven et al. (2019)
. However, we cannot estimate the quality of the solutions found by these heuristics.
Only a complete algorithm can conclude that a given instance is infeasible and can provide a bound on the quality of heuristic methods. Moreover, such a complete algorithm is especially important for supporting decisions on investing in logistic capacity, since it can provide proof that capacity is inherently insufficient, and possibly even indicate the main bottlenecks. If such an algorithm is fast enough, it can also be used to support finding feasible solutions, for example by providing an optimistic heuristic in heuristic search, or by indicating combinations of choices as infeasible. Bounds on heuristics and advice on investment decisions can even be provided when abstract models are used, as long as such an abstraction is a relaxation and the algorithm is complete.
The main objective of this work is therefore to identify whether MAPF models (and algorithms) can be used or extended to provide a relaxation of the TUSS problem. The contributions of this paper include an introduction of TUSS from the viewpoint of MAPF, and an analysis of similarities and differences to arrive at a relaxation of TUSS based on MAPF.
The next section contains a detailed description of the TUSS problem including the context and argumentation for the importance of providing bounds. Then, in Section 3 a model of MAPF is given and the similarities and differences from TUSS are analyzed, with in particular attention for aspects of the MAPF model that invalidate its use as a relaxation of TUSS. Section 4 contains the consequential formal extensions of MAPF, including an analysis whether this addresses such a relaxation issue, or makes the model more precise, hopefully leading to better bounds. In a concluding section we reflect on these extensions and provide an outlook for next steps to be taken to let MAPF algorithms contribute to the practice of railway scheduling.
2 Background
First we provide more context and details on TUSS as it occurs in practice. Then we highlight some relevant work from the literature.
2.1 Conceptual model
This subsection describes the reallife problem, and those aspects that need to be incorporated in the formal models.
In a railway network the nodes represent major cities. For passenger transportation these hubs incorporate a station (or a few closely connected ones) and one or more yards. Many train services start and terminate at these hubs. One of the functions of a hub is to provide physical trains for these services, while terminating services cause a return flow. Then, at a yard trains are checked, cleaned, repaired, and parked. Functionally it resembles a repair shop with trains being the components to be delivered to the transportation process.
Figure 1 shows the interaction between the transport and yard processes. The timetable and related traintype assignment specifies the required output flow of the shunting and servicing site (i.e., the ’repair shop’) and the return flow. It prescribes which types of trains, and in which composition, must be delivered at a specific station platform at what time. Vice versa it specifies the train units that become available when train services terminate. Although in some countries the timetable specifies the physicaltrain identifier, more often it specifies only the train type. Consequently the return flow contains different physical trains every day, even when a time table is executed repeatedly.
The maintenance program for a train type specifies the tasks to be executed with respect to the condition. For example, the need for a check depends on mileage. Because different trains arrive at a hub every day, and a train does not require daily the same maintenance services, the tasks to be scheduled vary over time.
At a yard certain tracks allow specific tasks to be executed. This resembles a flexible flow shop (e.g. Yazdani et al., 2010), where a physical train is represented by a job and the associated maintenance tasks to be executed by the operations. (Note that in the literature on flexible flow shops often an operation is what is called a task in this paper.) A set of tracks on which an operation can be performed is the equivalent of a set of similar machines. However, due to the rail infrastructure the routing is much more restricted than in a general flexible flow shop, and the intermediate stocks are limited due to track lengths.
Informally speaking, the objective of the Train Unit Shunting and Service Problem is to find a feasible schedule for all activities required to take train units from a station platform to a yard, find conflictfree routes to tracks that are needed for the trains to get serviced and parked, and deliver the trains to the transportation process as specified, while respecting all kinds of resource constraints. In the following we briefly describe the subproblems involved.
2.2 Subproblems to be addressed
First, each train to be delivered needs to be mapped to one of the trains arriving and present on the yard. This is called the matching problem. In general any train can be chosen for delivery if its type is compliant. However, sometimes a unique train is specified in order to direct it to a workshop. Second, a resourceconstrained scheduling problem can be identified which represents the allocation of service resources. In addition to tasks that are known a priori, a schedule should include conditional tasks such as shunting between service tracks and staff that has to walk over the yard from one task to the other. Assigning a resource flow, that is the job sequence a resource unit follows, yields transportation tasks for trains and staff, which depend on spacial distances and site characteristics. Third, since staff needs to meet specific shift restrictions such as maximum number of subsequent hours driving a train, assigning a resource flow involves a special kind of staff scheduling and rostering problem. Fourth, a parking problem involves assigning a part of a track to each train for a certain time interval. Because a track can only host a relatively small number of trains, and each train type has its own length, this resembles a bin packing problem with additional constraints on the parking time (e.g., at platforms). Moreover, trains usually arrive and depart in some composition of two or more. To find feasible or optimal plans, decoupling and coupling becomes relevant. Finally, a routing problem is to be solved for trains to drive to and from the yard, while avoiding conflicts with regular passenger and cargo trains, and to visit the appropriate service and parking tracks as scheduled.
A typical approach is to solve these problems sequentially: for example, first do the matching for decoupled train units, then schedule the tasks and resources, allocate the parking places, find out where to couple train units, define the routing and finally assign personnel. This sequential approach has reached it limits, and is unable to solve today’s hub problems due to the high traffic intensities. In particular, such sequential approaches cannot provide bounds.
2.3 Bounds for the logistic hub capacity
Traditionally, railways produce timetables that are used for several months or sometimes even longer. Repeating the same solution for TUSS for every day (or week) is possible only by including sufficient slack in time and space, because, as described above, servicing requirements depend on the condition of individual trains. However, public transportation volumes keep on growing and unfortunately the rail infrastructure cannot be extended accordingly. Not only are typically the most important hubs situated in urban areas with often little space left to extend shunting yards, such extensions of the infrastructure determine to a high degree the total cost of railways, which should be reduced to let the industry be competitive in the future. If the planning of servicing and shunting can be done dynamically, such that only those activities are scheduled that are required based on uptodate information about arriving trains and their condition, then the infrastructure can be used more efficiently. Furthermore, it is expected that such dynamic planning will also contribute to make the overall railway network more robust, because it increases its ability to compensate for disruptions. However, such an approach raises a new problem: How can the logistic capacity of a hub under dynamic planning be assessed to support strategic and tactical planning?
NS, the national railway operating company in the Netherlands, has developed a method to simulate dynamic hub logistics with online scheduling using local search. Although this has improved logistic analysis, the gap between the hub capacity of solutions found this way, and the upper bound found by optimization of a relaxed problem formulation remains significant. The currently used relaxed problem formulation covers all subproblems mentioned before, except for the routing. It is expected that with routing included the relaxation gap will be reduced. The relaxed problem formulation should be complete, meaning that no feasible solution to the original problem is discarded. This also means that when the relaxed problem is infeasible, the original problem is infeasible as well. This is the main motivation for applying MAPF to TUSS.
2.4 Related Work
To the best of our knowledge, Freling et al. (2005) provide the first attempt to capture a train unit shunting problem (TUSP) in a mathematical model. They split the problem in two subproblems: the track assignment problem and the matching problem. They are able to solve both models, and use reallife instances of the NS. Lentink et al. (2006) extend this formulation by not only looking at the assignments of train units to tracks and departures, but by also including the routing of the trains through the shunting yard. Kroon et al. (2008) and Lentink (2006) provide an integrated approach for the matching and parking problem. They aimed to include all possible configurations of train units and shunting yards in their models. Haahr et al. (2017) provides a comparison benchmark of multiple solution approaches for the TUSP, based on instances of the Danish State Railway and the NS. Besides using solution approaches from the literature they also introduce three new methods: a constraint programming formulation, a column generation approach, and a randomized greedy heuristic.
TUSS extends the TUSP by including service tasks, such as cleaning, regular checks, and maintenance. Geiger et al. (2018) show that for practical applications the TUSS problem can currently only be solved by heuristics. Van Den Broek (2016) provides a simulated annealing algorithm that finds solutions for the TUSS problem. Furthermore, Van De Ven et al. (2019)
combine machine learning with local search with the goal to provide bounds of the logistic hub capacity. However, solving a (large) number of instances does not provide a guarantee that always solutions for instances with similar properties can be found, nor can be this be used to indicate instances as infeasible. For this, a complete solver is required.
Methods that can solve TUSS problems at scale do not exist, but for multiagent path finding (MAPF), complete solvers such as ConflictBased Search (CBS) (Sharon et al., 2015) and BranchandCutandPrice (BCP) (Lam et al., 2019) can deal with instances of relevant size (e.g., 50–100 agents). In both solvers, paths for individual agents are computed independently. When such paths imply a collision, CBS considers these collisions pairwise and creates two branches, one for each agent receiving priority over the other. BCP uses a master LP that can select among an increasing number of shortest paths for the agents, and uses the dual of these collisions to define the cost of using that specific node in a next iteration of path finding.
MAPF with task allocation is an extension of MAPF where tasks have to be allocated to the agents. Ma and Koenig (2016) consider the assignment of (single) target task locations to agents before finding the routes. In the more general multiagent pickup and delivery problem (MAPD) (Liu et al., 2019) multiple tasks are assigned to agents and collisionfree paths are planned for them to execute their tasks. In this recent work, first a task sequence for each agent is found by solving a special traveling salesman problem, and then paths are planned accordingly. This approach is complete if the problem is wellformed, i.e., if (a) the number of tasks is finite, (b) the parking location of each agent is different from all task/end points, and (c) there exists a path between any two task/end points which traverses no other task/end points. MAPD does not include the matching problem and the related individual constraints on arrival and departure times, nor the staff scheduling and (de)coupling subproblems, but includes most of the other elements. In TUSS the tasks are maintenance and cleaning; although they come with the train, there is some form of allocation, because sometimes there are different locations where the tasks can be performed.
Although the summary of related work above is far from complete, in our literature search we have not encountered any method that can solve the TUSS problem optimally at scale, and relaxations of TUSS appear not to have been a topic of study on itself thus far.
3 The MultiAgent Path Finding Problem
It is important to be clear about the variant of MAPF that we assume to be given before we can propose (new) extensions. In this section, we provide a formal definition of the MultiAgent Path Finding problem that is analogue to the one for example used by Lam et al. (2019).
Let be a connected, undirected graph that consists of a set of nodes called “locations” and a set of edges . Let be the timeextended vertex set, where a vertex corresponds to a combination of a location and a time . We denote to be the timeextended edge set, where an edge if and only if and either or . We define the reverse edge of to be . We say that the directed graph is the spacetime graph corresponding to .
Let us be given a set of which the elements are called “agents”. For each agent we are given a start and goal location . A path of length for agent
is a vector of locations
where and and for all . For , agent remains at its goal location. Let be a cost function on the edges of . For now we let . The cost of a path is the sum of the traversed edges’ cost. A feasible solution to the MAPF problem is a set of paths, one for each agent such that each vertex is visited at most once and each edge and its reverse are visited at most once in total.Common objectives are to minimize the sum of individual costs (SIC) of the paths that agents take, or to minimize the latest time an agent arrives at its goal location, i.e., the makespan. Here we opt for SIC minimization. Formally, the PSPACEcomplete decision problem corresponding to the first of these objectives is described below.
[framed]MultiAgent Path Finding (decision problem)
Input: & A graph , the time extended graph of , a set of agents , a vector of length of starting locations , a vector of length of goal locations , a cost function on the edges and an integer .
Question: & Does a set of paths exist (one for each agent ), such that no pair of two paths visits the same node of (resulting in a node conflict) and no pair of two paths visits both an edge and its reverse (resulting in an edge conflict) and such that the total cost of all the edges in all paths satisfies ?
The minimization variant of this problem is finding the minimum for which the question is still answered affirmatively. Unlike most MAPF definitions that assume a gridworld, we specifically use a graph representation as it allows for a more precise modeling of a shunting yard.
The MAPF problem has similarities with the routing subproblem of the TUSS problem, but it can also solve part of the job scheduling subproblem. Consider the following translation of (part of) an instance of TUSS to an instance of MAPF. The trains in the shunting yard can be seen as agents in the MAPF problem. The shunting yard can be modeled as a graph where each track is represented by a number of nodes. A natural choice for this number is to take the length of the track and divide it by the length of the shortest train, and rounding up the result. This allows for at least as much space for trains to move around on the graph is would be the case on the real shunting yard, making sure the formulation is a relaxation of the application. For service tasks that need to be performed at certain tracks, the goal is to find paths to these tracks for each of the trains that are not colliding (either on tracks or in resource allocation) during which the service tasks are completed.
In order to use MAPF as a relaxation, we plan to formulate a series of MAPF modifications that are all relaxations of the reallife version of the TUSS problem, but become progressively more restrictive, closing the gap between solutions to TUSS and bounds produced by the MAPF modifications. It is important to observe that the original MAFP formulation as given above is not a relaxation of TUSS. Therefore, it is important to first provide, as an essential starting point, a variant of MAPF that is a relaxation of TUSS, and then further refine this variant.
4 Extensions
To guarantee this being a relaxation, it is essential that the first variant includes some basic model of the matching problem. In the MAPF problem each agent has its own unique goal location in the graph, while in TUSS any physical train of the appropriate type can be assigned to a departure. A relaxed version of this problem is to assume that all train units are interchangeable, and that the problem thus defines that each goal needs obtained by (at least) one of the agents. Second, the direction of movement of trains is taken into account. Third, we propose to include a set of service tasks for each agent, resembling cleaning, repair and maintenance checkups. Finally we mention several further possible extensions to reduce the gap between an optimal solution for the MAPF extension and feasible solutions to TUSS.
4.1 Matching as a subproblem
In practice there are multiple types of train units. At the end of the timetable trains, which are compositions of train units, enter the shunting yard while at the end of the maintenance period trains depart, possibly in different compositions, to enter service the following day. It does not matter which specific train units fill the slot in the departing train, as long as they are of the prescribed type. This property reminds us of robots that can perform specific tasks, which is modeled by the multicommodity flow problem (Even et al., 1975). For the moment, we presume all trains are decoupled, but address the extension of matching train units of certain types. Another difference we address with this extension is that of differing arrival and departure times of trains. In the classical MAPF problem, all agents start their routes at the same moment while trains leave and reenter the transporting service at different moments throughout the day. The start and goal nodes of an agent are therefore not only location dependent, but also time specific. We assume that for each train type, as many train units arrive as depart.
Every agent is assigned a type . The expected time and location of an agent’s arrival is accurately represented by the vertex . The start locations of agents are thus replaced with starting vertices in the timeextended graph. The goal locations are also replaced by vertices such that they carry a time specification. Goal vertices are also no longer attached to a specific agent. Instead, a set of goal vertices is introduced, where is the specified train unit type that departs at that vertex. An agent of type can only depart from a goal vertex of the corresponding type. In the end, all departures have to be satisfied. Thus, a matching problem between the agents and the departures has to be solved implicitly or explicitly.
This extension is important, because without it agents have fixed goal locations. This would effectively limit the options and might exclude practically feasible solutions. The model would then no longer represent a relaxation of the TUSS problem. Ignoring the coupling and decoupling, and thus treating train units as agents does not reduce the number of options. The proposed extension is thus a relaxation of TUSS. Even the case where all agents are considered to be of the same type, all arrivals are at time 0, and all goals at the latest time in the input is still a relaxation, and could be a good start point.
4.2 Direction of movement
A possible next step in refining the relaxation is keeping track of the direction of movement of an agent. This extension is added to make the model more precise, resulting in a better capacity bound. When a train moves in a given direction, it means that the train driver must be located on the frontend of the train. Therefore, a train cannot simply reverse direction. The train driver has to walk towards the other side of the train, this process takes some time. Ignoring this may lead to infeasible solutions because of missed deadlines, but does not remove potentially feasible solutions from the modeled search space.
We propose to model this restriction of a train’s movement by adapting the graph. Every node where a train is allowed to reverse its direction is split in two nodes as illustrated in Figure 2. Nodes on which a train is not allowed to reverse direction are split in the same manner, except there is no edge between and . For every pair of nodes and it is required that only one agent can occupy either node.
4.3 Including service tasks
A further important extension of MAPF to model TUSS more accurately is the inclusion of service tasks. This is the most prevalent reason that trains are required to not only park, but also move over the yard throughout the maintenance period. This extension is thus aimed at improving the capacity bound.
During the maintenance period trains are checked, cleaned, repaired, and parked at the shunting yard. These tasks will be referred to as service tasks. Each train has a set of service tasks that it has to complete during the maintenance period. Each service task can be performed at several locations.
We propose to model the service tasks in the form of waypoints that agents should pass at some moment during their path. Each agent is assigned a set of service tasks , where each service task , for , corresponds to a set of locations at which the service task can be completed. An agent that is being serviced has to remain at the service location for the duration of the service task. Therefore, a service task is said to be completed when the path of agent includes the same location for consecutive time steps. A path is only considered feasible when all maintenance tasks of agent are completed. By defining the service tasks in this manner we ensure two properties: 1) the order of the service tasks is not of predefined, and 2) agents can move over unoccupied nodes that are also service locations just like any other nodes.
4.4 Other extensions and open questions
Next we discuss several more practical extensions we believe to be of less importance.
The first of such extensions is that some locations in the shunting yard are not eligible for parking, such as track changes and platforms. Trains can only remain on such locations for several time steps at most. A strict way in which this can be modeled is to remove all wait edges for the corresponding vertices. This might however be too strict, such that the model is no longer a relaxation of the reallife TUSS application.
For the moment we also ignore the composition of train units into trains and the related coupling and decoupling activities. Train units (just as agents) are atomic. Maintenance tasks are assigned to train units. Trains are not atomic. Arriving events and departure goals are defined for trains. It is still an open question what an effective extension of MAPF is to represent this. Without this, however, the current model is a relaxation.
A basic way in which tracks in the shunting yard can be represented by a graph is to divide every track into multiple nodes. A natural choice would be to divide the track length by the length of the shortest train type and round up to obtain the number of nodes that together represent that track. This method ensures there is at least as much space for trains to move around in the model as there is on the represented shunting yard, resulting in a relaxation. To obtain a more accurate representation, which is more strict, the train length can be paired with train types. This assigns a length to every train unit. A track can be modelled by one or more nodes, where a constraint needs to ensure that the sum of the lengths of the trains on a track is not more than the length of the nodes. Additionally, such a representation should then accurately reflect the train order on the track to guarantee that only trains at the beginning or the end of the track can leave the track, and also only in that direction.
An extension that is very much part of the reallife problem is the planning of personnel. Personnel is required in the form of train drivers, maintenance crews and cleaners. Employees of each category are limited in their number, ability and working hours. Operational costs are very high if all trains have their own driver for the duration of the entire maintenance period and the maintenance period extends for longer than one shift. Also, employees can only perform certain tasks. In all likelihood, the train drivers do not have the knowhow required for a technical maintenance check of the train, the maintenance engineers are unaware of how to properly clean the train, and the cleaners cannot drive the train around the shunting yard. Moreover, when crew has to move from one service track to another, or from one train to another, walking times have to be taken into account. If indeed there are known limitations on the available personnel, then scheduling personnel is a very important extension. However, when the main objective of the model is to provide a bound on the capacity of the (very expensive) yard infrastructure, this extension is not necessarily a relaxation.
Lastly, more detail could be added in terms of physical correctness. The speed of trains can vary during movement. Because trains have such a high mass, changing the momentum by accelerating or breaking can take a significant time. There are also safety measures that limit the speed of trains and install a minimum time between two trains crossing the same track change. The way in which these extensions are implemented should conserve the relaxation property of the model.
5 Conclusion and Future work
The reallife application of the Train Unit Shunting and Servicing problem contains many practical details that are hard to account for in an abstract model. We aim to find an upper bound on the servicing capacity of a shunting yard and it is therefore important to extend the model in a manner that such a bound can be guaranteed.
The main conclusion from the presented analysis is that it is essential to first extend MAPF with some representation of the matching problem. This, in its simplest form has strong similarities to the task allocation and planning MAPF models discussed in related work (Ma and Koenig, 2016; Andreychuk et al., 2019). If done properly, this extension provides a relaxation of TUSS.
This paper described further refinements to obtain better bounds: timespecific arrival and departure times can be modeled such that agents no longer start moving towards their goals at the same time, but instead enter the shunting yard at the arrival time and leave shortly before their departure from one of the platforms. Keeping track of the direction of movement of agents can be achieved by splitting each node into two nodes. Each new node then resembles one direction of movement. The capacity of the new nodes is in total still only enough to harbour one agent at a time. The addition of service tasks in the form of waypoints resembles the need for trains to be checked, cleaned and repaired at predefined locations on the shunting yard. Each agent has their own set of service tasks to complete, and each service task can be completed at a given set of locations. The service tasks also take a specified amount of time to complete, in which the agent has to remain on the service location. We provide arguments why each of the resulting variants is a relaxation of TUSS. By formulating these extensions precisely, we aim to interest researchers in this reallife problem and leverage existing work on MAPF to solve TUSS.
Keeping the goal of relaxation in mind, the extensions proposed in Subsection 4.4 should be further formalized. Apart from these extensions, we propose several other interesting directions for future research.
A similar exercise as reported in this paper could be done for the use of finding feasible solutions to the TUSS problem. This would require the model variants to be restrictions rather than relaxations. The big advantage is that any feasible solution to a restriction can be translated into a feasible solution of the original problem, so a complete or optimal algorithm is not necessary.
Another future research direction is to introduce disturbances into the problem. For the TUSS the exploration of socalled robust schedules seeks to construct the maintenance schedule such that disturbances in arrival times, train or track defects and personnel running late, can be absorbed by making no or only a very small change to the schedule. Although, there are no papers that provide robust schedules for the TUSS problem, several robustness measures to measure the robustness of TUSS schedules are proposed by Van Den Broek et al. (2018).
Finally, we have considered MAPF and its extensions mainly as a feasibility problem. In practice, costs emerge mostly from the personnel that is required to fulfill all the scheduled tasks. It would therefore be beneficial to minimize the number of simultaneous actions, for example with regards to train movements.
References

Multiagent pathfinding with continuous time.
In
IJCAI International Joint Conference on Artificial Intelligence
, Vol. 2019August. External Links: ISBN 9780999241141, Document, ISSN 10450823 Cited by: §5.  On the complexity of time table and multicommodity flow problems. In 16th Annual Symposium on Foundations of Computer Science (sfcs 1975), pp. 184–193. Cited by: §4.1.
 Shunting of passenger train units in a railway station. Transportation Science 39 (2), pp. 261–272. External Links: Document, ISSN 00411655 Cited by: §2.4.
 Multiattribute assignment of trains to departures in rolling stock management: A contribution to the EURO/ROADEF 2014 Challenge. Annals of Operations Research 271 (2), pp. 1131–1163. External Links: Document, ISSN 15729338 Cited by: §1, §2.4.
 Optimization methods for the Train Unit Shunting Problem. European Journal of Operational Research 262 (3), pp. 981–995. External Links: Document, ISSN 03772217 Cited by: §2.4.
 Shunting Yard Optimization A heuristic. Technical report Cited by: §1.
 Shunting of passenger train units: An integrated approach. Transportation Science 42 (4), pp. 436–449. External Links: Document, ISSN 15265447 Cited by: §1, §2.4.
 BranchandCutandPrice for MultiAgent Pathfinding. In Proceedings of the TwentyEighth International Joint Conference on Artificial Intelligence, pp. 1289–1296. Cited by: §1, §2.4, §3.
 New Valid Inequalities in BranchandCutandPrice for MultiAgent Path Finding. In ICAPS, Cited by: §1.
 Applying Operations Research Techniques to Planning of Train Shunting. In Planning in Intelligent Systems: Aspects, Motivations, and Methods, pp. 415–436. External Links: ISBN 0471734276, Document Cited by: §1, §2.4.
 Algorithmic Decision Support for Shunt Planning. Ph.D. Thesis, Erasmus Universiteit Rotterdam. External Links: Link, ISBN 9789058921048 Cited by: §2.4.
 Task and Path Planning for MultiAgent Pickup and Delivery. In Proc. of the 18th International Conference on Autonomous Agents and Multiagent Systems, External Links: Link Cited by: §2.4.
 Optimal target assignment and path finding for teams of agents. Proceedings of the International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS, pp. 1144–1152. External Links: ISBN 9781450342391, ISSN 15582914 Cited by: §2.4, §5.
 ROADEF / EURO 2014 Challenge Trains don ’ t vanish !. hal01057324, pp. 1–37. Cited by: §1.
 Conflictbased search for optimal multiagent pathfinding. Artificial Intelligence. External Links: Link Cited by: §1, §2.4.
 Determining capacity of shunting yards by combining graph classification with local search. ICAART 2019  Proceedings of the 11th International Conference on Agents and Artificial Intelligence 2, pp. 285–293. External Links: ISBN 9789897583506, Document Cited by: §1, §2.4.
 How to measure the robustness of shunting plans. In 18th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS 2018), pp. 1–13. External Links: ISBN 9783959770965, Document, ISSN 21906807 Cited by: §5.
 Train Shunting and Service Scheduling: an integrated local search approach. Master thesis. External Links: Document, ISSN 00178470 Cited by: §1, §2.4.
 Flexible jobshop scheduling with parallel variable neighborhood search algorithm. Expert Systems with Applications 37 (1), pp. 678–687. External Links: Link, Document, ISSN 09574174 Cited by: §2.1.