A branch-first, cut-second approach for locomotive assignment

A branch-first, cut-second approach for locomotive assignment

0.00 Avg rating0 Votes
Article ID: iaor20002889
Country: United States
Volume: 45
Issue: 8
Start Page Number: 1156
End Page Number: 1168
Publication Date: Aug 1999
Journal: Management Science
Authors: , , ,
Keywords: programming: branch and bound, programming: integer
Abstract:

The problem of assigning locomotives to trains consists of selecting the types and number of engines that minimize the fixed and operational locomotive costs resulting from providing sufficient power to pull trains on fixed schedules. The force required to pull a train is often expressed in terms of horsepower and tonnage requirements rather than in terms of number of engines. This complicates the solution process of the integer programming formulation and usually creates a large integrality gap. Furthermore, the solution of the linearly relaxed problem is strongly fractional. To obtain integer solutions, we propose a novel branch-and-cut approach. The core of the method consists of branching decisions that define on one branch the projection of the problem on a low-dimensional subspace. There, the facets of the polyhedron describing a restricted constraint set can be easily derived. We call this approach branch-first, cut-second. We first derive facets when at most two types of engines are used. We then extend the branching rule to cases involving additional locomotive types. We have conducted computational experiments using actual data from the Canadian National railway company. Simulated test-problems involving two or more locomotive types were solved over 1-, 2-, and 3-day rolling horizons. The cuts were successful in reducing the average integrality gap by 52% for the two-type case and by 34% when more than 25 types were used. Furthermore, the branch-first, cut-second approach was instrumental in improving the best known solution for an almost 2,000-leg weekly problem involving 26 locomotive types. It reduced the number of locomotives by 11, or 1.1% at an equivalent savings of $3,000,000 per unit. Additional tests on different weekly data produced almost identical results.

Reviews

Required fields are marked *. Your email address will not be published.