Resumen
Using mathematical methods to support the yearly timetable planning process has many advantages. Unfortunately, the train timetabling problem for large geographical areas and many trains is intractable for optimization models alone. In this paper, we therefore present a MILP-based heuristic that has been designed to generate good-enough timetables for large geographical areas and many trains. In the incremental fix and release heuristic (IFRH), trains are added to the timetable in batches. For each batch of trains, a reduced timetable problem is solved using a mathematical integer program and CPLEX. Based on the solution, the binary variables defining meeting locations and stops are fixed, and the next batch of trains is added to the timetable. If previously fixed variables make the problem infeasible, a recovery algorithm iteratively releases fixed variables to regain feasibility. The paper also introduces a simple improvement heuristic (IH) that uses the same idea of working with batches of trains. The heuristics are tested on a real case-study from Sweden consisting of both small problem instances (approximately 300 trains and 1400 possible interactions) and large problem instances (approximately 600 trains and 5500 possible interactions). IFRH returns a feasible timetable within 30 minutes for all problem instances, and after running IH the optimality gaps are less than 5%. Meanwhile, if CPLEX is used without the heuristic framework to solve the total optimization problem, a feasible timetable is not returned within 2 hours for the large problem instances.