A fast heuristic for the train scheduling problem

Abstract The train scheduling problem is an integer programming problem known to be NP hard. In practice such a problem is often required to be solved in real time, hence a quick heuristic that allows a good feasible solution to be obtained in a predetermined and finite number of steps is most desired. We propose an algorithm which is based on local optimality criteria in the event of a potential crossing conflict. The suboptimal but feasible solution can be obtained very quickly in polynomial time. The model can also be generalized to cater for the possibility of overtaking when the trains have different speed. We also furnish a complexity analysis to show the NP-completeness of the problem. Simulation results for two non-trivial examples are presented to demonstrate the effectiveness of the proposed algorithm.