In a railroad system, train pathing is concerned with the assignment of trains to links and tracks, and train timetabling allocates time slots to trains. These important tasks were traditionally done manually, but there is an increasing move toward automated software based on mathematical models and algorithms. Most published models in the literature either focus on train timetabling only, or are too complicated to solve when facing large instances. In this paper, we present an optimization heuristic that includes both train pathing and train timetabling, and has the ability to solve real-sized instances. This heuristic allows the operation time of trains to depend on the assigned track, and also lets the minimum headway between the trains to depend on the trains' relative status. It generates an initial solution with a simple rule, and then uses a four-step process to derive the solution iteratively. Each iteration starts by altering the order the trains travel between stations, then it assigns the services to the tracks in the stations with a binary integer program, determines the order they pass through the stations with a linear program, and uses another linear program to produce a timetable. After these four steps, the heuristic accepts or rejects the new solution according to a Threshold Accepting rule. By decomposing the original complex problem into four parts, and by attacking each part with simpler neighborhood-search processes or mathematical programs, the heuristic is able to solve realistic instances. When tested with two real-world examples, one from a 159.3 km, 29-station railroad that offers 44 daily services, and another from a 345 km, eight-station high-speed rail with 128 services, the heuristic obtained timetables that are at least as good as real schedules.
All Science Journal Classification (ASJC) codes
- Civil and Structural Engineering