I. Introduction
The railway system is an essential component of the multi-modal transportation system, which plays an important role in the movement of both goods and people [1]. Train services are planned meticulously, and the corresponding schedules are often published in advance. Scheduling, regardless of the domain, is a complex problem influenced by capacity, resource, demand, uncertainty, and many other constraints. Train scheduling reflects the compromises required due to the limited resources, such as track infrastructure, rolling stock (carriages) and crew. Further, the perspective of the scheduler influences the objective(s) to be optimised, which ultimately has an impact on the schedule.