A Lagrangian heuristic framework for a real-life integrated planning problem of railway transportation resources. (April 2015) - Dauzère-Pérès, Stéphane
Highlights: An integrated model for rolling stock and crew scheduling is presented. A Lagrangian heuristic framework is proposed to solve industrial problems, and various relaxation schemes are analyzed. Coupling constraints are rewritten to improve the heuristic effectiveness. Numerical experiments are performed on real-life instances, and the impact of various parameters is analyzed. Abstract: Train path (infrastructure), rolling stock and crew scheduling are three critical planning decisions in railway transportation. These resources are usually planned separately in a sequential process that typically starts from planning (1) train paths and goes further on to (2) rolling stock and (3) train drivers. Such a sequential approach helps to handle the complexity of the planning process and simplify the underlying mathematical models. However, it generates solutions with higher costs because the decisions taken at one step can drastically reduce the set of feasible solutions in the following steps. In this paper, we propose a Lagrangian heuristic framework to solve an integrated problem which globally and simultaneously considers the planning of two railway resources: Rolling stock units and train drivers. Based on a mixed integer linear programming formulation, this approach has two important characteristics in an industrial context: (i) It can tackle real-life integrated planning problems and (ii) the Lagrangian dual is solved by calling two proprietary software modules available at SNCF. Various relaxation schemes are analyzed. Moreover, coupling constraints are rewritten to improve the heuristic effectiveness. Numerical experiments on real-life instances illustrate the effectiveness of the Lagrangian heuristic, and the impact of various parameters is analyzed. Compared to a sequential approach, it leads to cost reductions and generates good solutions in a reasonable CPU time.