9th 9th IFAC IFAC Conference Conference on on Manufacturing Manufacturing Modelling, Modelling, Management Management and and Control 9th IFAC Modelling, Management and 9th IFAC Conference Conference on on Manufacturing Manufacturing Modelling, Management and Control Available online at www.sciencedirect.com Berlin, Germany, August 28-30, 2019 2019 Control 9th IFAC Conference on Manufacturing Modelling, Management and Control Berlin, Germany, August 28-30, Berlin, Control Berlin, Germany, Germany, August August 28-30, 28-30, 2019 2019 Berlin, Germany, August 28-30, 2019
ScienceDirect
IFAC PapersOnLine 52-13 (2019) 951–956
Algorithms Algorithms Algorithms Algorithms
for for locomotives locomotives maintenance maintenance for schedule locomotives maintenance for schedule locomotives maintenance schedule ∗∗∗ ∗∗ S. A. Galakhov ∗∗∗ A. A. Lazarev ∗∗ E. schedule M. Grishin ∗∗
A. A. Lazarev ∗∗ E. M. Grishin ∗∗ S. A. Galakhov ∗∗∗ ∗∗∗∗ ∗∗ A. S. G. V. Tarasov A. A. A. Lazarev Lazarev ∗ E. E. M. Grishin S. A. A. Galakhov Galakhov ∗∗∗ G.M. V. Grishin Tarasov∗∗∗∗∗∗ ∗∗∗∗ ∗∗∗∗ A. A. Lazarev E. G.M. V. Grishin Tarasov S. A. Galakhov ∗∗∗ G. V. Tarasov ∗∗∗∗ ∗ G. V. ∗ V. A. Trapeznikov Institute of Tarasov Control Sciences of Russian Academy ∗ V. A. Trapeznikov Institute of Control Sciences of Russian Academy ∗ V. A. A. Trapeznikov Trapeznikov Institute of Control Control Sciences of Russia; Russian Academy Academy of Profsoyuznaya 65, Moscow, V. Institute of of Russian Russia; of Sciences, Sciences, Profsoyuznaya 65,Sciences Moscow, ∗ V. A. Trapeznikov Institute of Control Sciences of Russia; Russian Academy of Sciences, Profsoyuznaya 65, Moscow, Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, Moscow, of Moscow Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov State University, Leninskie Gory 1/2, of Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, Russia; Lomonosov Moscow State University, Russia; Leninskie Gory 1/2, Moscow, Lomonosov Stateof Leninskie 1/2, National Moscow, Russia;Choice International Laboratory Decision and Analysis, Russia; InternationalMoscow Laboratory ofUniversity, Decision Choice andGory Analysis, National Russia; International Laboratory of Decision Choice and Analysis, National Research University Higher School of Economics, Moscow, International Laboratory of Decision Choice and Analysis, National Research University Higher School of Economics, Moscow, International of Decision Choice and Analysis, National Research University Higher School of Moscow, Russia,(e-mail:
[email protected]) Research Laboratory University Higher School of Economics, Economics, Moscow, Russia,(e-mail:
[email protected]) ∗∗ Research University Higher School of Economics, Moscow, Russia,(e-mail:
[email protected]) ∗∗ V. A. Trapeznikov Institute of Control Sciences of Russian Russia,(e-mail:
[email protected]) Institute of Control Sciences of Russian Academy Academy ∗∗ V. A. Trapeznikov ∗∗ Russia,(e-mail:
[email protected]) V. A. Trapeznikov Institute of Control Sciences of Russian Russian Moscow Academy of Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov V. A. Trapeznikov Institute of Control Sciences of Academy of Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow ∗∗ A. Trapeznikov Institute of Control Sciences of Russian Academy ofV. Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, Russia, (e-mail: of Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, Russia, (e-mail: of State Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow University, Leninskie Gory 1/2, Moscow, Russia, (e-mail:
[email protected]) State University,
[email protected]) Leninskie Gory 1/2, Moscow, Russia, (e-mail: ∗∗∗ State University,
[email protected]) Leninskie Gory 1/2,Leninskie Moscow, Russia, (e-mail: ∗∗∗ Lomonosov Moscow State Gory Moscow,
[email protected]) Lomonosov Moscow State University, University, Leninskie Gory 1/2, 1/2, Moscow, ∗∗∗ ∗∗∗
[email protected]) Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, Russia, (e-mail:
[email protected]) Lomonosov Moscow State University, Leninskie Gory 1/2, Russia, (e-mail:
[email protected]) Moscow, ∗∗∗ ∗∗∗∗ Lomonosov Moscow State University, Leninskie Gory 1/2, Moscow, (e-mail:
[email protected]) ∗∗∗∗ V. Russia, A. Trapeznikov Institute of Control Sciences of Russian Russia, (e-mail:
[email protected]) V. A. Trapeznikov Institute of Control Sciences of Russian ∗∗∗∗ ∗∗∗∗ V.ofRussia, (e-mail:
[email protected]) A. Trapeznikov Institute of Control Sciences of Russian Academy Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov V.ofA.Sciences, Trapeznikov Institute of65, Control Sciences of Russian Academy Profsoyuznaya Moscow, Russia; Lomonosov ∗∗∗∗ V.of A.Sciences, Trapeznikov Institute Control Sciences of Russian Academy of Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow State University, Leninskie Gory str.1/2, Moscow, Russia, Academy Profsoyuznaya Moscow, Russia; Lomonosov Moscow State University, Leninskieof65, Gory str.1/2, Moscow, Russia, Academy Sciences, Profsoyuznaya 65, Moscow, Russia; Lomonosov Moscow of State University, Leninskie Gory str.1/2, Moscow, Russia, (e-mail:
[email protected]) Moscow State University, Leninskie Gory str.1/2, Moscow, Russia, (e-mail:
[email protected]) Moscow State University, Leninskie Gory str.1/2, Moscow, Russia, (e-mail: (e-mail:
[email protected])
[email protected]) (e-mail:
[email protected]) Abstract: This This paper paper is is devoted devoted to to the the problem problem of of scheduling scheduling maintenance maintenance of of locomotives locomotives in in Abstract: Abstract: This paper is devoted to the problem of scheduling maintenance of locomotives in a depot. The problem based on the operation Eastern polygon of Russian Railways. A Abstract: This paper is devoted to the problem of scheduling maintenance of locomotives in a depot. The problem is based on the operation of Eastern polygon of Russian Railways. A Abstract: This paper devoted theoperation problem of maintenance of locomotives in a depot. The problem based Eastern polygon of Russian Railways. A heuristic algorithm and is programming model are presented. presented. Numerical experiments a depot. algorithm The problem isa based on ontothe the operation of scheduling Eastern polygon ofNumerical Russian Railways. A a constraint constraint programming model heuristic and are experiments a The for problem isa based on the operation of Eastern polygon ofNumerical Russian Railways. A heuristic algorithm anddepot a constraint constraint programming model are presented. Numerical experiments ondepot. real data data real configurations were carried carried outpresented. to compare compare the performance performance of heuristic algorithm and programming model are experiments on real for real depot configurations were out to the of heuristic algorithm anddepot aand constraint programming model are presented. Numerical experiments on real data for real real depot configurations were carried out to compare the performance of the heuristic algorithm constraint programming model solved with IBM ILOG CPLEX on real data for configurations were carried out to compare the performance of the heuristic algorithm and constraint programming model solved with IBM ILOG CPLEX on real data for real depot configurations were carried out solved to compare the performance of the heuristic algorithm constraint programming model with ILOG Optimizer. Copy-right 2019 IFAC the heuristic algorithm and constraint programming model solved with IBM IBM ILOG CPLEX CPLEX ccand Optimizer. Copy-right 2019 IFAC the heuristic algorithm and constraint programming model solved with IBM ILOG CPLEX c Optimizer. Copy-right 2019 IFAC c 2019 IFAC Optimizer. Copy-right © 2019, IFAC (International Federation Automatic Control) Hosting by Elsevier Ltd. All rights reserved. c 2019 Optimizer. Copy-right IFACof Keywords: Scheduling, maintenance scheduling, linear linear programming, programming, constraint constraint programming. programming. Keywords: Scheduling, maintenance scheduling, Keywords: Scheduling, Scheduling, maintenance maintenance scheduling, scheduling, linear linear programming, programming, constraint constraint programming. programming. Keywords: Keywords: Scheduling, maintenance scheduling, linear programming, constraint programming. 2. 1. INTRODUCTION INTRODUCTION 2. LITERATURE LITERATURE REVIEW REVIEW 1. 1. INTRODUCTION INTRODUCTION 2. LITERATURE LITERATURE REVIEW REVIEW 1. 2. 1. INTRODUCTION 2. LITERATURE REVIEW According to the safety requirements of Russian Railways, Each used used unit unit of of aa family family of of machines machines (for (for example, example, According to the safety requirements of Russian Railways, Each According to the themust safetyundergo requirements of Russian Russian Railways, each locomotive locomotive must undergo maintenance (TS-2) at the the locomotive Each unit of of (for example, According to safety requirements of Railways, be maintained. In (3) an algorithm Each used used fleet) unit must of aa family family of machines machines (for example, each maintenance (TS-2) at locomotive fleet) must be maintained. In (3) an algorithm According to themust safetyundergo requirements of Russian Railways, each locomotive must undergo maintenance (TS-2) at the the Pointlocomotive of Maintenance Maintenance of Locomotives Locomotives (LMP) after an Each used unit of a family of machines (for example, locomotive fleet) must be maintained. In (3) an algorithm each maintenance (TS-2) at of the optimal scheduling of maintenance of the family locomotive fleet) must be maintained. In (3) an algorithm Point of of (LMP) after an of the optimal scheduling of maintenance of the family each locomotive must undergo maintenance (TS-2) at the Point of Maintenance Maintenance of since Locomotives (LMP) after an locomotive established period of time time since the previous previous maintenance. fleet) must be maintained. In (3) an algorithm of the optimal scheduling of maintenance of the family Point of of Locomotives (LMP) after an machines is presented. This algorithm can be used to of the optimal scheduling of maintenance of the family established period of the maintenance. of machines is presented. This algorithm can be used to Point of Maintenance of since Locomotives (LMP) after and an of established period of time time since the previous previous maintenance. The size size ofperiod the Russian Russian Railways locomotive fleet and the optimal scheduling of maintenance of locomotive. theused family machines presented. This algorithm can be to established of the maintenance. determine theis next maintenance time for for each each locomotive. of machines isnext presented. This algorithm can be used to The of the Railways locomotive fleet determine the maintenance time established period of time since the previous maintenance. The size of the Russian Railways locomotive fleet and distribution of LMPs over their zones of influence is such of machines is presented. This algorithm can be used to determine the next maintenance time for each locomotive. The size of the Russian Railways locomotive fleet and In fact, for example, technical service TS-2 for some moddetermine the next maintenance time for each locomotive. distribution of LMPs over their zones of influence is such In fact, for example, technical service TS-2 for some modThe sizeaverage of of theLMPs Russian locomotive and determine distribution of LMPs over their zones of influence influence is such such that on on average from 50 to toRailways 100 locomotives locomotives passfleet through the next maintenance time for each locomotive. In fact, for example, technical service TS-2 for some moddistribution over their zones of is els of locomotives should be carried out every 72 hours. In fact, for example, technical service TS-2 for some modthat from 50 100 pass through of locomotives should be carried out every 72 hours. distribution of LMPs zonesof influence is such els that on average from 50are totheir 100 locomotives locomotives pass through LMPon every day. Thereover are hundreds ofofLMPs LMPs throughout In fact, for example, service TS-2 for some models of locomotives should be 72 that average from 50 to 100 pass through It is necessary to organize directly the distribution of els ofalso locomotives should be carried carried out every 72 hours. hours. LMP every day. There hundreds throughout It is also necessary totechnical organize directlyout theevery distribution of that on average from 50 to 100 locomotives pass through LMP every day. There are hundreds of LMPs throughout the country, but they are far enough from each other els of locomotives should be carried out every 72 hours. It is also necessary to organize directly the distribution of LMP every day. There are hundreds of LMPs throughout locomotives to the different locomotive maintenance points is also necessary to organize directlymaintenance the distribution of the country, but they are far enough from each other It locomotives to the different locomotive points LMP every day. There are hundreds of LMPs throughout the country, but they are far enough from each other so that the operation of each LMP can be regarded in It is also necessary to organize directly the distribution of locomotives to the different locomotive maintenance points the country, but they are far enough from each other (LMP) of the same railway network. locomotives to the different locomotive maintenance points so that the operation of each LMP can be regarded in (LMP) of the same railway network. the country, but far LMP enough each other so that the operation ofareeach each LMP canfrom be regarded regarded in locomotives isolation from the they others. When locomotive arrives at tosame the different (LMP) of of the the same railway locomotive network. maintenance points so that the operation of can be in (LMP) railway network. isolation from the others. When aa locomotive arrives at algorithm of so operation of no each LMP can be regarded in The isolation from the others. When locomotive arrives at thethat LMP,the there might be no available inspection position, The distribution distribution algorithm of locomotives locomotives set set at at the the difdif(LMP) of the same railway network. isolation from the others. When aa locomotive arrives at the LMP, there might be available inspection position, The distribution algorithm of locomotives set at the different depots for the maintenance is presented in (9). The distribution algorithm of locomotives set at the difisolation from the others. When a locomotive arrives at the LMP, there might be no available inspection position, and the locomotive should wait in one of the so-called ferent depots for the maintenance is presented in (9). the LMP, there might be no available inspection position, and the locomotive should wait in one of the so-called The distribution algorithm of locomotives set at the different depots for the maintenance is presented in (9). proposed algorithm for the organization locomotives ferent depots for the maintenance is presented in (9). the LMP, there might be no available inspection position, and the locomotive should wait in one of the so-called driveways until it it can can be wait inspected. Due to so-called the fact fact The proposed algorithm for the organization locomotives and the locomotive should in oneDue of the driveways until be inspected. to the ferent depots for the maintenance is presented in (9). The proposed algorithm for the organization locomotives operation process and maintenance allows us to calculate The proposed algorithm for the organization locomotives and the locomotive should wait in one of the so-called driveways until it can be inspected. Due to the fact that locomotives and LMP are characterized by certain driveways until itand canLMP be inspected. Due tobythe fact operation process and maintenance allows us to calculate that locomotives are characterized certain proposed algorithm for thevolume organization operation process and allows us to the optimal distribution of of of operation process and maintenance maintenance allows us locomotives to calculate calculate driveways until itand can be inspected. Due fact that locomotives and LMP are characterized bythe certain parameters (model, number of sections, sections, thetonumber number of The the optimal distribution of the the volume of maintenance maintenance of that locomotives LMP are characterized by certain parameters (model, number of the of operation process and maintenance allows us to calculate the optimal distribution of the volume of maintenance of locomotives between repair companies and get a graphical the optimal distribution of the volume of maintenance of that locomotives and LMP are characterized by certain parameters (model, number of sections, the number of available inspection positions, etc.), a problem of planning locomotives between repair companies and get a graphical parameters (model, number of sections, the number of available inspection positions, etc.), a problem of planning the optimal distribution of the volume of maintenance of locomotives between repair companies and get a graphical solution of the unit cost of repairs. The depot can have locomotives between repair companies and get a graphical parameters (model, number of sections, the number of available inspection positions, etc.), a problem of planning the work work inspection of LMP LMP appears. appears. Offered algorithms were tested solution of the unit cost of repairs. The depot can have available positions, etc.),algorithms a problem were of planning the of Offered tested locomotives between repair companies anddepot getthe a graphical solution of the unit cost of repairs. The can have several service track, as well as driveways at the entrance solution of the unit cost of repairs. The depot can have available inspection positions, etc.), a problem of planning the work of LMP appears. Offered algorithms were tested on real data for the existing configurations LMP of East several service track, as well as driveways at entrance the workdata of LMP appears. Offered algorithms wereoftested on real for the existing configurations LMP East solution of theThis unitarticle cost ofdoes repairs. The into depot can have several service track, as as at entrance the not account the several service track, as well well as driveways driveways at the the entrance the workof ofRussian LMP appears. Offered algorithms wereof on real data for the the existing configurations LMP oftested East to ground of Russian Railways. to the depot. depot. This article does not take take into account the on real data for existing configurations LMP East ground Railways. several service track, as well as driveways at the entrance to the depot. This article does not take into account the structure of the various depots. to the depot. This article does not take into account the on real of data for theRailways. existing configurations LMP of East structure of the various depots. ground of Russian Railways. ground Russian to the depot. This article does not take into account the structure of the the various depots. structure of various depots. ground of Russian Railways. The international transport This work work was was supported supported by by Russian Russian Railways Railways and and the the Russian Russian This The Dutch Dutch international transport passenger passenger company company structure of the various depots. The Dutch international transport passenger company NedTrain owns a large fleet of rolling stock and its Foundation for Basic Research, project no.17-20-01107. This work was supported by Russian Railways and the Russian The Dutch international transport passenger company This workfor was supported by project Russianno.17-20-01107. Railways and the Russian Foundation Basic Research, NedTrain owns a large fleet of rolling stock and its own own The Dutchowns international transport NedTrain owns large fleet fleet of rolling rollingpassenger stock and andcompany its own own Foundation for Basic Research, project no.17-20-01107. This workfor was supported by project Russianno.17-20-01107. Railways and the Russian NedTrain aa large of stock its Foundation Basic Research, NedTrain owns a large fleet of rolling stock and its own Foundation Basic Research, projectFederation no.17-20-01107. 2405-8963 © ©for 2019, IFAC (International of Automatic Control) Copyright 2019 IFAC 967 Hosting by Elsevier Ltd. All rights reserved. Copyright © under 2019 IFAC 967 Control. Peer review responsibility of International Federation of Automatic Copyright © 2019 2019 IFAC IFAC 967 Copyright © 967 10.1016/j.ifacol.2019.11.317 Copyright © 2019 IFAC 967
2019 IFAC MIM 952 Germany, August 28-30, 2019 Berlin,
A.A. Lazarev et al. / IFAC PapersOnLine 52-13 (2019) 951–956
depots, which carry out the repair and maintenance of trains. There are algorithms for optimal planning and scheduling of maintenance and repairs of passenger trains at a depot. Algorithms with using constraint programming are presented in (2). These algorithms are applicable only for passenger trains, as the maintenance is carried out immediately to whole trains, as opposed to the locomotives maintenance , where one repair position can be more than one locomotive. Also, the depots of the NedTrain company for train maintenance have a larger number of service tracks than LMP and have only one repair position. One of the possible solutions for constructing a locomotive’s maintenance schedule in the LMP is the use of the general Smith theorem (7). With its help, a certain type of locomotives is distributed to certain service tracks. However, this approximate solution is far from optimal and cannot satisfy many requirements of the railway network. The problem of servicing requirements with specified their processing times and release times on identical parallel machines is solved in (6). It is shown that in the general case the problem of minimizing the total weighted completion time of requirements on a single machine is NPhard. There is a simplification of the problem that maintenance duration can take only 8 different values for all types of locomotives. In the fifth Chapter (6) polynomial algorithms are presented for multiple parallel machines to search for the optimum of the various objective functions considering that the time of all requirements is equal and constant. This book does not take into account the possibility of having multiple positions on the same machine, ”driveways” and different processing times. Many real optimizing problems of scheduling are NP-hard. Almost always for such tasks do not exist algorithms on a search of an optimal solution that works acceptable time. The decision which is a local extremum of the objective function can be found by means of heuristic algorithms, metaheuristic algorithms and approximate algorithms. Such algorithms transfer the current state of a system to another one using the advance sequence of actions. In (4) and (5) the modernized metaheuristic algorithms of local search are offered which consider the current state of a system. At each stage, all possible conditions of a system consider which can be received from flowing by means of shifts of some elements are considered. That state, the value of an objective function at which is more near optimal to value, is chosen, and such a state becomes current. Algorithms search of the variable surroundings and search of decomposition of the variable surroundings give the decision, not very different from optimum, but the time of their work is short. The method which is set of a method of search of the variable surroundings and dynamic programming was applied to a problem of scheduling of LMP.
There are temporary standards on maintenance and features of TS-2. • the duration time of TS-2 is 60 or 90 minutes (depending on the type of locomotive), • the minimum interval between TS-2 at each inspection position — 15 minutes. Locomotives have sections of the standard size and can be 1-, 2-, 3-, 4-sections. Multisection locomotive passes TS-2 without dismembering. For carrying out TS-2 of 4-section locomotive assembled from two two-section locomotives, it is uncoupled to ensure the technical passage of workers — this locomotive is considered to be two two-section, occupies the entire inspection pit, i.e. two inspection positions at the same time. TS-2 is performs by inspection crew on inspection positions which are equipped for this purpose. There are restrictions on work of service tracks: • length of each inspection pit is 6 standard sections, • every inspection pit has two inspection positions, • the inspection positions can contain the 1-, 2-, 3sections locomotive (only one, regardless of the number of sections), • during the day locomotives come into LMP at moments determined by the schedule, • both inspection positions were being filled at the same time, either with two locomotives or with one 4-section locomotive of type 2+2, • for each inspection position, there is a list of model numbers of locomotives that can be inspected on that specific position. A schedule is based on the daily arrival of locomotives to LMP. It is possible that some locomotives are still being serviced at the end of the planning horizon. In this case, the time of unavailability of the service tracks is taken into account for planning for the next planning horizon. Let us call a driveway a buffer part of the railways, on which the locomotives can be stored until there is time for them to be inspected. Each driveway ends by exactly one inspection pit. Each locomotive at the time of arrival on LMP comes to a driveway. Time of the movement of the locomotive to a settler and back is 30 minutes. The locomotive which came to the driveway the first, the first will come on inspection pit (works under the FIFO scheme). It is impossible to change the sequence of maintenance of the locomotive which has come on a driveway. When planning it is necessary to decide on what driveway to put the locomotive and whether to occupy an inspection pit by one locomotive or to wait for the arrival of the second one. At the beginning of the planned day, some locomotives may already be on the access roads. 3.2 Mathematical problem definition
3. PROBLEM DEFINITION 3.1 General problem definition It is necessary to determine the maintenance schedule of locomotives, specifying maintenance beginning moments for each locomotive. The schedule is based on the specified requirements. 968
Let M be a set of service tracks in LMP, m — the number of them. Each inspection pit j ∈ M has two inspection positions (stalls). Locomotives are divided into 2 types depending on the processing times. Denote the processing times by p1 (75 minutes) and p2 (105 minutes) of the first and second types of locomotives, respectively. This time takes into account the time of maintenance (TS-
2019 IFAC MIM Berlin, Germany, August 28-30, 2019
A.A. Lazarev et al. / IFAC PapersOnLine 52-13 (2019) 951–956
2 continues for 60 or 90 minutes) and the time interval required to change the locomotives on the inspection pit (in practice, this interval is 15 minutes). Denote by N1 the set of locomotives of the first type and by N2 — the set of locomotives of the second type. Let n1 and n2 be the number of locomotives of sets N1 and N2 , respectively. Each inspection position can accommodate no more than 3 sections of locomotives. Locomotives can be 1-, 2-, 3-, 4-sectional. The 4-section locomotive is serviced at two inspection positions simultaneously. Denote by uis the number of locomotive sections I ∈ Ns , s ∈ {1, 2}.If we need to service two locomotives on the same inspection pit, both inspection positions were being filled simultaneously (two locomotives together come to the inspection pit in 15 minutes). At the same time, if only one locomotive is serviced on the inspection pit (even if there is enough space for two locomotives on it), the other will not go there until the first one comes out. If one 4-sectional locomotive of type ”2+2” has to pass maintenance on an inspection pit it will take both inspection positions at the same time. Let T be the considered planning horizon (planned day). The availability times of service tracks Ri , i ∈ {1, ..., m} (at the beginning of the planning horizon the inspection pit can be occupied by locomotives from the previous planned days) are known. The times of arrival of locomotives to the depot are known too:rsi ≤ T , i ∈ Ns , s ∈ {1, 2}. There is a nonempty set of all valid schedules Π. Let π be an element of the set Π. We consider π to be a valid schedule if it meets the following requirements:
• no more than one locomotive can be serviced on one inspection position at all moments of time, • all locomotives must be serviced, • the the locomotive can’t leave the inspection pit after the beginning of maintenance and before its end, • the locomotive can be serviced only once, • the processing time and the release time of the locomotive are the same for all depots and service tracks. Schedule π = π1 . . . πm , where πj — schedule of depot’s inspection pit j ∈ M . Locomotive i ∈ Ns , s ∈ {1, 2} can belong only to one schedule πj , j ∈ M and can’t be serviced twice in this schedule. Denote by Ssi (π), i ∈ Ns , s ∈ {1, 2} the time when an s-type locomotive i enters to the inspection pit in schedule π. Denote by Ksi (π) the number of the inspection pit on which this locomotive i came. Accordingly, a completion time of the locomotive i will be equal to Csi (π) = Ssi (π) + ps , if the locomotive is serviced on an inspection pit alone. Otherwise a completion time will be equal Csi (π) = Ssi (π)+ max{ps , ps }, where s — type of the locomotive, which came to the same inspection pit with a locomotive i. There are several different objective functions that can be minimized to achieve different goals. To minimize the total waiting time of locomotives it is necessary to minimize the value of the objective function F1 (π): Csi (π). (1) F1 (π) = i∈Ns s∈{1,2}
To minimize the total waiting time for the start of locomotive maintenance, it is necessary to minimize the value 969
953
of the objective function F2 (π): Csi (π) − pis − rsi . F2 (π) =
(2)
i∈Ns s∈{1,2}
Minimizing the average waiting time of locomotives is equivalent to minimizing the value of the objective function F3 (π): F3 (π) =
max
i∈Ns , s∈{1,2}
(Csi (π) − pis − rsi ).
(3)
It is also possible to minimize the finish time of maintenance of all locomotives. To do this it is necessary minimize the value of the objective function F4 (π): F4 (π) =
max
i∈Ns , s∈{1,2}
(Csi (π)).
(4)
4. ALGORITHMS 4.1 Heuristic algorithm Let some service tracks are occupied at the time ri of arrival of locomotive i, and tj , j ∈ {1, ..., m} the moment at which the inspection pit j will be released. Denote by cj — the capacity of driveways before the inspection pit j, njs — inspection position s of inspection pit j, and Snjs — a set of model numbers of locomotives that can be serviced at the inspection position s of inspection pit j. All locomotives on one inspection pit shall be serviced in the order of their arrival on LMP. We will design a schedule of LMP step by step, where on each stage the locomotive i is added , arriving first after the locomotives which have already been considered. Let uis = 4, then there are possible the following options for setting the locomotive i on TS-2 in the depot: one locomotive i is sent, two locomotives of the same type are sent, one locomotive of the first type and one locomotive of the second type on the same inspection pit are sent. Not each of the three options can be implemented for any locomotive, but may be it is possible to implement it in several ways. We must select such sets of service tracks S1 , S2 ∈ M that satisfy the capacity condition of driveways (the number of locomotives standing at time ri on the inspection pit’s driveway is less than their capacity) and such that the locomotive’s i series can be serviced on them. Each of the sets S1 , S2 corresponds to one of the options of setting the locomotive on TS-2. At least the set S1 is not empty. Additionally, the set S1 can be considered to consist of only one element k such that tk = min tj . j∈S1
Also, the set S1 can be contained in the set S1 or set S2 . Calculate the increase in the value of the objective function dFk1 , dFj2 , k ∈ S1 , j ∈ S2 for each of the three possible cases of setting the locomotive on TS-2, respectively: dFk1 = Csi (π) − ri ,
dFj2 = 2Csi (π)−ri −rj1 +max{pi , pj }−min{pi , pj }, j ∈ S1 , Choose the case of setting a locomotive on an inspection pit h, which increase the objective function value dFih is minimum: h : dFih = min {dFj1 , dFj2 }. j∈{S1 ∪S2 }
2019 IFAC MIM 954 Germany, August 28-30, 2019 Berlin,
A.A. Lazarev et al. / IFAC PapersOnLine 52-13 (2019) 951–956
Let uis = 4, there are two possible options of its statement on TS-2: the 4-section locomotive has to pass TS-2 on that inspection pit which will be released first (in relation to arrival time of the locomotive) or on that inspection pit on which two locomotives are now served and which will be released earlier. Other options are impossible as it is forbidden to change the general sequence of service of locomotives. And for the choice of the option of statement of such locomotive on TS-2 it is necessary to consider also the locomotive which arrives to LMP after 4-section. Two values of increase in objective function are the same way calculated and is chosen smaller of them. 4.2 Constraint programming model Input data Let T = [Ts , Te ] be the planning horizon - an interval of time, during which all the locomotives are to be inspected. All the time moments are considered to be an integer. Let L be the set of all locomotives. For each locomotive l ∈ L, let us define • • • • •
l.id - the unique identifier of l l.sections - the number of sections of which l consists l.arrival - the moment of arrival of l to the LMP l.ptime - duration of inspection of l l.model - the model number of l, the set of all possible model numbers being M
Upon arriving at the LMP, each locomotive should be placed into one of the driveways. Let S be the set of all driveways of the regarded LMP. For each driveway s ∈ S, let us define • s.id - the unique identifier of s • s.capacity - the number of locomotive sections that driveway s can possibly contain at once When it’s time for a locomotive l to be inspected (this moment of time is a part of the solution), the locomotive is transported to its designated inspection position (which position the locomotive should be serviced at is also a part of the solution). Let D be the set of all service tracks (each inspection pit is identified by its index d ∈ D). Let P be the set of all inspection positions. For each inspection position p ∈ P , let us define • p.id - the unique identifier of p • p.sections - the number of locomotive sections that p can possibly contain at once • p.line - the inspection pit that p belongs to, p.line ∈ D • p.number - the index number of the inspection position in the inspection pit (counting from the exit from the inspection pit, starting from 1) • p.f reetime - the moment of time when position p becomes available for service (p.f reetime > inf(T ) when, for example, position p was occupied by some locomotive at the beginning of planning horizon T ) Let W be the number of inspection crews available during T . The restrictions on the work of inspection crews are the following: 970
(1) The number W of available inspection crews is constant throughout the planning horizon (2) Each locomotive l consisting of 1, 2 or 3 sections shall be serviced by exactly one inspection crew during its whole inspection time. If a locomotive l consists of 4 sections, then it can be either serviced by two inspection crews during, or by one inspection crew (in which case the inspection would take twice as long). (3) Each inspection crew can only service one locomotive at a time Let SPsp , s ∈ S, p ∈ P be a Boolean matrix such that SPsp = 1 when it is possible to transport a locomotive from driveway s to the inspection position p, and SPsp = 0 otherwise. Let P Mpm be the Boolean matrix such that P Mpm = 1 when inspection position p can be used to service locomotives of model m, and P Mpm = 0 otherwise. Variables To solve the presented problem, we will need two sets of interval variables. Each variable is a time interval in the planning horizon T . Intervals these sets are optional meaning that each interval might or might not be present in the final solution. The solver algorithm defines which intervals should be present in the solution, and what are start and end moments of those intervals that are present, such that all constraints are satisfied and the objective function is minimized (we provide the constraints and objective functions below). We are using IBM Ilog CPLEX Optimizer (10). The interval variables are the following: • intSls is the interval during which locomotive l occupies driveway s • intPlp is the interval during which locomotive l occupies inspection position p. The length of this interval is constrained to be not less than l.ptime. This interval is constrained to be a sub-interval of max(Ts , p.f reetime), Te
In order to work with the interval variables and model the constraints, we’ll need the following functions and basic constraints: Functions: • startOf (int, dval) - returns start moment of the interval int when it is present, and returns dval otherwise. If dval = 0, then it can be omitted. • endOf (int, dval) - returns end moment of the interval int when it is present, and returns dval otherwise. If dval = 0, then it can be omitted. • lengthOf (int, dval) - returns duration, or length of the interval int when it is present, and returns dval otherwise. If dval = 0, we will denote that function simply as |int|. If dval = 0, then it can be omitted. • presenceOf (int) - boolean function returning 1 if the interval variable int is present in the solution, and 0 otherwise. If dval = 0, then it can be omitted. Basic constraints:
2019 IFAC MIM Berlin, Germany, August 28-30, 2019
A.A. Lazarev et al. / IFAC PapersOnLine 52-13 (2019) 951–956
• startBef oreEnd(int1 , int2 ) - basic constraint that forces the interval int1 to start no later than interval int2 ends • endBef oreStart(int1 , int2 ) - basic constraint that forces the interval int1 to end no later than interval int2 starts • endBef oreEnd(int1 , int2 ) - basic constraint that forces the interval int1 to end no later than interval int2 ends We’ll also need a few auxiliary functions: • SLoad(s, t) = pulse(intSls , l.sections, t) is equal l∈L
to the total number of sections of locomotives in the driveway s at the moment of time t • P Load(p, t) = pulse(intPlp , 1, t) is equal to the l∈L
number of locomotives at the inspection position p at the moment of time t • W Load(t) = pulse(intPlp , 1, t) is equal to the l∈L,p∈P
number of locomotives that are being inspected at the moment of time t
We will now reformulate in terms of interval variables the objective functions defined above. Objective functions (1) Total waiting time F1 (π) =
l∈L,s∈S
(2) Total idle time |intSls | + F2 (π) = l∈L,s∈S
l∈L,p∈P
|intSls |
|intPlp | − l.ptime
(3) Maximal waiting time F3 (π) = max |intSls | l∈L,s∈S
(4) Makespan F4 (π) = max endOf (intPlp ) l∈L,p∈P
Constraints • Each locomotive should be assigned to exactly one driveway: ∀l ∈ L : presenceOf (intSls ) = 1 s∈S
• Each locomotive is placed at its designated driveway right in the moment of arrival at LMP: ∀l ∈ L, s in S : startOf (intSls ) = l.arrival • The length (in sections) of all the locomotives that are occupying a driveway at the moment should not exceed the capacity of the driveway: ∀t ∈ T, s ∈ S : SLoad(s, t) ≤ s.capacity • The driveways are working according to FIFO scheme: ∀s ∈ S, l1 ∈ L, l2 ∈ L, l1 .arrival < l2 .arrival : endBef oreEnd(intSl1 s , intSl2 s ) • At any given moment of time, each inspection position cannot be occupied by more than one locomotive: ∀p ∈ P, t ∈ T : P Load(p, t) ≤ 1 • A locomotive cannot be assigned to an inspection position that is inaccessible from the driveway which that locomotive was assigned to: ∀l ∈ L, s ∈ S, p ∈ P : presenceOf (intSls ) ∗ presenceOf (intPlp ) ≤ SPsp • A locomotive cannot be assigned to an inspection position that is not compatible with the locomotive’s model number: ∀l ∈ L, p ∈ P : presenceOf (intPlp ) ≤ P Mp,l.model 971
955
• Each locomotive should leave its driveway right before being transported to its inspection position: ∀l ∈ L, s ∈ S, p ∈ P : endBef oreStart(intSls , intPlp ) ∀l ∈ L, s ∈ S, p ∈ P : startBef oreEnd(intPlp , intSls ) • Each locomotive consisting of less than 4 sections should be assigned to exactly one inspection position: ∀l ∈ L, l.sections < 4 : presenceOf (intPlp ) = 1 p∈P
• Each locomotive consisting of 4 sections should be assigned to exactly two inspection positions: ∀l ∈ L, l.sections = 4 : presenceOf (intPlp ) = 2 p∈P
These positions should not belong to different service tracks: ∀l ∈ L, p1 ∈ P, p2 ∈ P, p1 .id < p2 .id, p1 .line = p2 .line : presenceOf (intPlp1 ) ∗ presenceOf (intPlp2 ) = 0 • Total capacity of inspection positions occupied by a locomotive should be sufficient to accomodate the locomotive: ∀l ∈ L : presenceOf (intPlp ) ∗ p.sections ≥ l.sections p∈P
• When any two locomotives assigned to inspection positions that belong to the same inspection pit, they are either serviced simultaneously, or their service intervals do not intersect at all: ∀l1 , l2 ∈ L, p1 , p2 ∈ P, p1 .line = p2 .line : → presenceOf (intPl1 p1 )∗presenceOf (intP l2 p 2 ) = 1 − startOf (intP ≤ startOf (intP ) ∨ l p l p 1 1 2 2 startOf (intPl1 p1 ≥ endOf (intPl2 p2 ) • When two locomotives are assigned to inspection positions that belong to the same inspection pit, if their inspection starts simultaneously, then it should end simultaneously, too: ∀l1 , l2 ∈ L, p1 , p2 ∈ P, p1 .line = p2 .line : presenceOf (intP ) = 1 l p 1 1 ∧presenceOf (intPl2 p2 ) = 1 ∧ startOf (intPl1 p1 ) = startOf (intPl2 p2) → endOf (intPl1 p1 ) = endOf (intPl2 p2 ) − • The service tracks are working according to FIFO scheme: when two locomotives are assigned to inspection positions that belong to the same inspection pit, if their inspection starts simultaneously, then the locomotive that arrived at the LMP earlier should be placed closer to the exit from the inspection pit (i.e. it should be assigned to the inspection position with a smaller index number): ∀l1 , l2 ∈ L, l1 .arrival < l2 .arrival p1 , p2 ∈ P, p1 .line = p2 .line : presenceOf (intPl1 p1 ) = 1 ∧presenceOf (intPl2 p2 ) = 1 ∧ startOf (intPl1 p1 ) = startOf (intPl2 p2 ) → p1 .number < p2.number − • The number of inspection crews needed to service all the locomotives that are being inspected at the moment should not exceed the number of available inspection crews: ∀t ∈ T : W Load(t) ≤ W
2019 IFAC MIM 956 Germany, August 28-30, 2019 Berlin,
A.A. Lazarev et al. / IFAC PapersOnLine 52-13 (2019) 951–956
is 40 % greater than that provided by IBM ILOG CPLEX optimizer. At the same time, the computational time of a heuristic algorithm more less than the operating time of the CP model (30 seconds and 4 hours, respectively). To see the results obtained by two methods for different objective functions, click here. REFERENCES [1]
Fig. 1. The Gantt chart of schedules, obtained by Cplex 5. RESULTS The heuristic algorithm was tested on real data for real configurations of LMP. Also, comparison with the CP model was made for the optimizer of IBM ILOG CPLEX. Both approaches have their advantages and disadvantages. For example, it was impossible to obtain a decent solution by using heuristic algorithm when minimizing total waiting time and average waiting time (objective functions F2 (π) and F3 (π)). Since the presented heuristic algorithm is a greedy one, at each stage the option with the smallest waiting time of the beginning of service is chosen. As a result, the maximum waiting time of the beginning of service of locomotives appears even more, than for objective functions of F1 (π) and F4 (π). It should be noted that the heuristic algorithm well works by search of the decision with the objective function of F4 (π). The solution found by means of a heuristic algorithm on the indicators is not inferior to the decision received by means of the CP model. Illustrations of Gantt charts of schedules for the objective function F4 (π) are presented below. Continuous filling corresponds holding times of locomotives, and shaded— arrival time of the locomotive to LMP and its subsequent idle time. Time of completion of all works in the first case—19:15, in the second—18:54. However for faster work of the CP model arrival times were rounded up till the time, to multiple 15 minutes. Thus the schedules received in two different ways for objective function of F4 (π) are comparable. Operating time of the optimizer makes about 4 hours, operating time of a heuristic algorithm —about 30 seconds. For function F1 (π) value of total idle time for a heuristic algorithm on 40 % more than for the optimizer IBM ILOG CPLEX. 6. CONCLUSION The CP model IBM ILOG CPLEX and a heuristic algorithm for scheduling of maintenance of locomotives in LMP for real data were developed. For two (F2 (π) and F3 (π)), from four offered, objective functions it is impossible to apply a heuristic algorithm owing to its small efficiency. For one objective function (F4 (π)) the decisions received in various ways are comparable. For function F1 (π) value of total idle time for a heuristic algorithm 972
P. Brucker Scheduling Algorithms, Springer-Verlag, New York, 2006. [2] R. P. Evers Algorithms for Scheduling of Train Maintenance, Netherlands, 2010. [3] Jia-Yen Huang, New search algorithm for solving the maintenance scheduling problem for a family of machines, Vol. 21, Optimization Methods and Software (2006), pp. 461–477. [4] P. Hansen N. Mladenovic Variable neighborhood search: Principles and application, European Journal of Operational Research (1999), pp. 335–350. [5] P. Hansen N. Mladenovic Variable Neighborhood Decomposition Search, Journal of Heuristics (2001), pp. 449–467. [6] J. Labetoulle, E.L. Lawler, J.K. Lenstra and A.H.G. Rinnooy Kan Preemptive scheduling of uniform machines subject to release dates, Progress in Combinatorial Optimization, Academic Press (1984), pp. 245– 261. [7] W.E. Smith Various optimizers for single-stage production, Naval Res. Logist. Quart.3 (1956), pp. 59–66. [8] B. Vaidyanathan, R.K. Ahuja J.B. Orlin The Locomotive Routing Problem, Transportation Science (2008), pp. 492–507. [9] M. Kudayarov Selection of the optimal organization of repair of locomotives at the railway site, Proceedings of PTU, 2012. [10] IBM Ilog CPLEX home page: https://www.ibm. com/products/ilog-cplex-optimization-studio