Algorithm and Software Development to Allocate Locomotives for Transportation of Freight Trains
We suggest a mathematical model to allocate locomotives for transportation of freight trains. The aim of the optimization in this model is to minimize the number of locomotives used for the transportation of the trains by choosing routes of the trains and locomotives. It is supposed that the trains can be transported only at defined time intervals (so-called train paths); every locomotive has possible routes called railway hauls. We take into account the necessity of periodic maintenance. We use graph theory and integer optimization to formulate the problem. We suggest mathematical definitions of a railway haul, a train path, a train route, and a locomotive route. An heuristic search algorithm to find an approximate solution of the problem is suggested. The main idea of the algorithm is maximal usage of locomotives that started earlier than other ones. The algorithm contains three stages. A solution of the previous stage is improved at each following stage. We use transfers of the locomotives to improve the current solution. We describe software development to optimize the model. We solve the problem using the historical data of Moscow railway.