Are you an EPFL student looking for a semester project?
Work with us on data science and visualisation projects, and deploy your project as an app on top of Graph Search.
Good train scheduling for a big network with many trains is very hard to achieve. As the trains are competing for the tracks with one another, the number of constraints grows rapidly. Trying to take advantage of emerging technologies in the areas of optimization and machine learning, the Swiss Federal Railways have created a challenge to find the best algorithm to solve this problem. Two algorithms to solve this task were implemented in this project. First, a greedy strategy trying to schedule all trains at their earliest possible and then solving conflict after conflict was reproduced. It is shown that this algorithm is able to keep up with the best methods existing. With the objective of generalizing and improving the result, a policy gradient method is then added to take on the most critical decisions that have to be made in every iteration of the first algorithm. Even though this second enhanced algorithm does not obtain optimal solutions, it is able to outperform the first one in a generalized task. Hence, it can be shown that reinforcement learning is applicable to the train routing and scheduling task and, more generally, in environments with an open structure.