solving real life locomotive problems

Upload: phani-deep

Post on 07-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

  • This article was downloaded by: [203.110.246.230] On: 29 September 2015, At: 14:00Publisher: Institute for Operations Research and the Management Sciences (INFORMS)INFORMS is located in Maryland, USA

    Transportation Science

    Publication details, including instructions for authors and subscription information:http://pubsonline.informs.org

    Solving Real-Life Locomotive-Scheduling ProblemsRavindra K. Ahuja, Jian Liu, James B. Orlin, Dushyant Sharma, Larry A. Shughart,

    To cite this article:Ravindra K. Ahuja, Jian Liu, James B. Orlin, Dushyant Sharma, Larry A. Shughart, (2005) Solving Real-Life Locomotive-Scheduling Problems. Transportation Science 39(4):503-517. http://dx.doi.org/10.1287/trsc.1050.0115

    Full terms and conditions of use: http://pubsonline.informs.org/page/terms-and-conditions

    This article may be used only for the purposes of research, teaching, and/or private study. Commercial useor systematic downloading (by robots or other automatic processes) is prohibited without explicit Publisherapproval, unless otherwise noted. For more information, contact [email protected].

    The Publisher does not warrant or guarantee the articles accuracy, completeness, merchantability, fitnessfor a particular purpose, or non-infringement. Descriptions of, or references to, products or publications, orinclusion of an advertisement in this article, neither constitutes nor implies a guarantee, endorsement, orsupport of claims made of that product, publication, or service.

    2005 INFORMS

    Please scroll down for articleit is on subsequent pages

    INFORMS is the largest professional society in the world for professionals in the fields of operations research, managementscience, and analytics.For more information on INFORMS, its publications, membership, or meetings visit http://www.informs.org

  • TRANSPORTATION SCIENCEVol. 39, No. 4, November 2005, pp. 503517issn 0041-1655 eissn 1526-5447 05 3904 0503

    informs doi 10.1287/trsc.1050.0115

    2005 INFORMS

    Solving Real-Life Locomotive-Scheduling Problems

    Ravindra K. AhujaDepartment of Industrial and Systems Engineering, University of Florida, Gainesville, Florida 32611, [email protected]

    Jian LiuInnovative Scheduling, GTEC, 2153 SE Hawthorne Road, Gainesville, Florida 32641,

    [email protected]

    James B. OrlinSloan School of Management, Massachusetts Institute of Technology, Cambridge, Massachusetts 02139,

    [email protected]

    Dushyant SharmaDepartment of Industrial and Operations Engineering, University of Michigan, Ann Arbor, Michigan 48109,

    [email protected]

    Larry A. ShughartInnovative Scheduling, GTEC, 2153 SE Hawthorne Road, Gainesville, Florida 32641,

    [email protected]

    In the locomotive-scheduling problem (or the locomotive-assignment problem), we must assign a consist (a setof locomotives) to each train in a preplanned train schedule so as to provide each train with sufcient loco-motive power to pull the train from its origin to its destination. Locomotive-scheduling problems are amongthe most important problems in railroad scheduling. In this paper, we report the results of a study on thelocomotive-scheduling problem as it is faced by CSX Transportation, a major U.S. railroad company. We con-sider the planning version of the locomotive-scheduling model (LSM) in which multiple types of locomotivesexist, and we need to decide which set of locomotives should be assigned to each train. We present an inte-grated model that determines: the set of active and deadheaded locomotives for each train; the light-travelinglocomotives from power sources to power sinks; and train-to-train connections (for which we specify whichinbound trains and outbound trains can directly connect). An important feature of our model is that we explic-itly consider consist bustings and consistency. A consist is said to be busted when a set of locomotives coming onan inbound train is broken into subsets to be reassigned to two or more outbound trains. A solution is consistentover a week if a train receives the same locomotive assignment each day that it runs. We will provide a mixed-integer programming (MIP) formulation of the locomotive-assignment problem. However, an MIP of this sizecannot be solved to optimality or near optimality in acceptable running times using commercially available soft-ware. Using problem decomposition, integer programming, and very large-scale neighborhood search, we havedeveloped a solution technique to solve this problem within 30 minutes of computation time on a Pentium IIIcomputer. Our solution obtained a potential savings of over 400 locomotives over the solution obtained by thein-house software developed by CSX.

    Key words : rail transportation; integer programming; network optimization; train schedulingHistory : Received: April 2002; revisions received: August 2003, September 2004; accepted: September 2004.

    1. IntroductionRailroad transportation of goods plays an integralpart in the U.S. economy, particularly in multimodaland container transportation. The rail transportationindustry offers great potential for employing math-ematical optimization techniques to solve the manyproblems that it currently faces. However, research inrailroad scheduling has experienced a slow growth.Until recently, most contributions relied on simpli-ed models or only applied to small instances, failingto incorporate the characteristics of real-life applica-tion. The intense competition that rail carriers face

    (most notably from trucking companies) and the ever-increasing speed of computers have motivated the useof optimization models at various levels in railroadorganizations. In addition, recently proposed modelstend to exhibit an increased level of realism. As aresult, there is a growing interest in utilizing opti-mization techniques for railroad problems. In the lastfew years, many advances in rail freight and pas-senger transportation have appeared in operationsresearch literature. (See, for example, Cordeau, Toth,and Vigo 1998.) This paper concerns the developmentof new models and algorithms for solving real-life

    503

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems504 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    locomotive-scheduling problems faced by U.S. rail-road companies.For the locomotive-scheduling problem (or the

    locomotive-assignment problem), we must assign aconsist (a set of locomotives) to each train in a pre-planned train schedule so as to provide each trainwith sufcient power to pull the locomotives from itsorigin to its destination. Generally, a consist is cho-sen from a set of different eet types (such as AC44,AC60, SD40, etc.). For example, a trains consist maybe composed of two locomotives of types AC44 andone locomotive of type AC60.Locomotive-scheduling problems are among the

    most important problems in railroad scheduling(Florian et al. 1976; Smith and Shef 1988; Chihet al. 1990; Forbes, Holt, and Watts 1991; Fischettiand Toth 1997; Nou, Desrosiers, and Soumis 1997;and Ziarati et al. 1997, 1999). Often, locomotive avail-ability determines whether a train departs on time.With new locomotives costing in excess of $1.8 mil-lion, it is paramount to the railroad business thatthey be managed efciently. The variety of locomo-tives and trains and the diverse geographic networkscreate very difcult combinatorial optimization prob-lems. There are no satisfactory algorithms available tosolve these problems. As a result, there are inefcien-cies in locomotive management. However, throughthe development of better models and algorithms,substantial savings can be achieved. CSX Transporta-tion has over 3,000 locomotives, which translates intoa capital investment of over $5 billion, as well asover $1 billion in yearly maintenance and opera-tional costs. Even a small percentage of savings inlocomotive utilization could translate into substantialsavings.Locomotive-scheduling problems can be studied at

    the planning level or at the operational level. At theplanning stage of the locomotive-scheduling prob-lem, we assign locomotive types to various trains.The operational locomotive-scheduling model addi-tionally takes into account the fueling and mainte-nance needs of the locomotives, which are ignoredin the planning model. In this paper, we considerthe planning version of the locomotive-schedulingmodel (LSM). We will now summarize the features ofthe LSM to provide the reader with a better under-standing of the problem. A large railroad companyhas a train schedule that consists of several hundredtrains with different weekly frequencies. Some trainsrun every day in a week, whereas others run lessfrequently. At CSX, there are several thousand traindepartures per week (assuming that we may countthe same train running on different days multipletimes). Many trains have long distances to travel andtake several days to go from their origins to their des-tinations. To power these trains, CSX owns several

    thousand locomotives of different types with differ-ent horsepower and pulling capacities. In the LSM,we assign a set of locomotives to each train in theweekly train schedule so that each train receives suf-cient tractive effort, or pulling power, and sufcienthorsepower, or speed, and so that the assignment canbe repeated indenitely every week. At the same time,assigning a single locomotive to a train is undesirablebecause if that locomotive breaks down, the train getsstranded on the track and blocks the movement ofother trains.An additional feature of the LSM is that some loco-

    motives may deadhead on trains. Deadheaded locomo-tives do not pull the train; rather, they are pulledby active locomotives from one place to another.Deadheading plays an important role in locomotive-scheduling models because it allows extra locomo-tives to be moved from locations where they are insurplus to those where they are in short supply. Loco-motives also light travel; that is, they travel on theirown between different stations to reposition them-selves between two successive assignments to trains.A set of locomotives in light travel forms a group,and one locomotive in the group pulls the othersfrom an origin station to a destination station. Lighttravel is different from deadheading because it is notlimited by the train schedule. In general, light travelis faster than deadheading. However, light travel ismore costly, as a crew is required to operate thepulling locomotive, and the transportation does notgenerate any revenue because no cars are attached.Because we assign a set of locomotives (or a con-

    sist) to trains, we need to account for consist busting.Whenever a train arrives at its destination, its consistis either assigned to an outbound train in its entirety,or it goes to the pool of locomotives where new con-sists are formed. In the rst case, we say that thereis a train-to-train connection between the inbound andoutbound trains and no consist busting takes place. Inthe second case, consist busting takes place. Consistbusting entails merging locomotives from inboundtrains and regrouping them to make new consists.This is undesirable from several angles. First, consistbusting requires additional locomotive and crew timeto execute the moves. Second, consist busting oftenresults in outbound trains getting their locomotivesfrom several inbound trains. If any of these inboundtrains is delayed, the outbound train is also delayed,leading to further delays down the line. In an idealschedule, we try to maximize the train-to-train con-nections of locomotives, and thus minimize consistbustings.Another important feature of the locomotive-

    scheduling model is that we want a solution that isconsistent throughout the week in terms of the loco-motive assignment and train-to-train connections. If

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 505

    a train runs ve days a week, we want it to beassigned the same consist each day it runs. If we makea train-to-train connection between two trains and ifon three days in a week both trains run, then we wantthem to have the same train-to-train connection on allthree days. Consistency of the locomotive assignmentand train-to-train connections is highly desirable froman operational point of view. Consistency of the solu-tion translates into rule-based dispatching and makesthe job of a locomotive dispatcher relatively easy. Forexample, if a train is assigned three AC44 locomotiveson each day it runs, the dispatcher can remember thisrule and enforce it. If the train is assigned a differentset of locomotives on different days, the assignmentsare harder to implement.Our LSM model is substantially different from

    locomotive-scheduling models previously studied.Single-locomotive models have been studied byForbes, Holt, and Watts (1991) and by Fischetti andToth (1997). Multicommodity ow-based models forplanning decisions have been studied by Florian et al.(1976), Smith and Shef (1988), and Nou, Desrosiers,and Soumis (1997). Multicommodity ow-based mod-els for operational decisions have been developed byChih et al. (1990) and by Ziarati et al. (1997, 1999).Our multicommodity ow-based model for planningdecisions offers more features than any of the existingplanning models.The locomotive-scheduling problem is a very

    large-scale combinatorial optimization problem. Weformulate it as a mixed-integer programming (MIP)problem, which is essentially an integer multicom-modity ow problem with side constraints. We con-sidered the locomotive-scheduling problem for CSXTransportation, which consisted of 3,324 trains orig-inating from and terminating at 119 stations weeklyand 3,316 locomotives of ve locomotive types.Our formulation contains about 197,000 integer vari-ables and 67,000 constraints, and is too large tobe solved to optimality or near optimality usingexisting commercial-level MIP software. We there-fore developed a heuristic methodology to solvethe locomotive-scheduling problem. By using lin-ear programming, mixed-integer programming, andvery large-scale neighborhood search techniques, wehave attempted to obtain very good solutions for thelocomotive-scheduling problem. We solved the LSMin two stages. In the rst stage, we modied theoriginal problem so that all trains run seven daysa week. This approximation of the original problemallows us to handle consistency constraints satisfac-torily. In the second stage, we modied the solutionof the rst stage to solve the original problem sothat trains do not run all seven days a week. Wedeveloped prototype software for our algorithms andcompared our software with the in-house softwareused by CSX. In one representative instance for which

    CSX software required 1,614 locomotives to satisfythe train schedule, our software required only 1,210locomotives, thereby achieving a savings of over 400locomotives. We obtained similar improvements forother benchmark instances. In the solutions obtainedby the CSX software, locomotives actively pull a trainabout 31.3% of the time, deadhead about 19.6% of thetime, and idle at stations about 49.1% of the time. Inthe solutions obtained by our software, locomotivesactively pull the train about 44.4% of the time, dead-head about 8.1% of the time, light travel about 0.8% ofthe time, and idle at stations about 46.7% of the time.Though this research demonstrates that on the plan-

    ning level signicant reduction in the number of loco-motives is possible, realizing these savings in practicerequires additional work. Our research assumes thatall trains run on time, and we assigned locomotivetypes to each train to minimize the systemwide costs.However, while assigning locomotives to trains in areal-time environment, we need to assign locomotivetail numbers (which are unique for each locomotive) totrains. For example, suppose that the planning modelsuggests that we assign two AC44s to train A. Theremay be six AC44 locomotives available for the assign-ment. Out of these six locomotives (with the samelocomotive type but different tail numbers), we needto decide which two locomotives should be assignedto train A. To do so, we need to take into accountthe fueling requirement of locomotives. For exam-ple, a locomotive may have the fuel to go another300 miles, but train A would not encounter any fuel-ing station for the next 400 miles; clearly, we cannotassign this locomotive to train A. Another importantissue is the maintenance of locomotives. Each loco-motive needs to undergo periodic maintenance; reg-ular maintenance is due every 3,000 miles and majormaintenance is due every 10,000 miles. This mainte-nance can be done only at some locations, which arecalled shops. Thus, if a locomotive is due for regu-lar maintenance, then we cannot assign it to a trainthat takes it too far from a shop, as it cannot returnbefore its due maintenance. We therefore observethat a locomotive-assignment plan may have severalcorresponding locomotive schedules, some of whichmay satisfy fueling and maintenance requirementswhile others may not. Another factor that our orig-inal research ignored was train time uncertainty. Weassumed that all trains run on time, whereas, in prac-tice, trains are often late. How to account for delayedtrains and how to update locomotive assignment withminimum-cost impact are central issues we need toresolve before our planning model can be applied. Weare currently doing research to resolve these issues,and when successful, our planning model will proveitself quite valuable.

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems506 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    2. Problem DetailsIn this section, we will provide the details and nota-tion of the locomotive-scheduling problem that weused for CSX.

    Locomotive Data. A railroad company typicallyhas several different types of locomotives with differ-ent pulling and cost characteristics and different num-bers of axles (often ranging from four to nine). Wedenote by K the set of all the locomotive types anduse the index k to represent a particular locomotivetype. We associate the following data with each loco-motive type k K: (i) hk: the horsepower provided bya locomotive of type k; (ii) k: the number of axlesin a locomotive of type k; (iii) Gk: the weekly owner-ship cost for a locomotive of type k; and (iv) Bk: eetsize of locomotives of type k, that is, the number oflocomotives available for assignment.

    Train Data. Locomotives pull a set L of trains fromtheir origins to their destinations. Trains have differ-ent weekly frequencies; some trains run every day,while others run less frequently. We will considerthe same train running on different days as differ-ent trains; that is, if a train runs ve days a week,we will consider it as ve different trains. We usethe index l to denote a specic train. We associatethe following data for each train: (i) dep-timel: thedeparture time for the train l; (ii) arr-timel: thearrival time for train l (in the same format as the dep-timel

    ; (iii) dep-stationl: the departure station fortrain l; (iv) arr-stationl: the arrival station for train l;(v) Tl: tonnage requirement of train l; (vi) l: horse-power per tonnage needed for train l; (vii) Hl: horse-power requirement of train l, which is dened as Hl =lTl; and (viii) El: the penalty for using a single loco-motive consist for train l.

    Locomotive-Train Combinations. We need the fol-lowing data for train-locomotive type combinations:(i) ckl : the cost incurred in assigning an active loco-motive of type k to train l; (ii) dkl : the cost incurredin assigning a deadheaded locomotive of type k totrain l; and (iii) tkl : the tonnage pulling capability pro-vided by an active locomotive of type k to train l.Also specied for each train l are three disjoint setsof locomotive types: (i) MostPreferredl, the preferredclasses of locomotives; (ii) LessPreferredl: the accept-able (but not preferred) classes of locomotives; and(iii) Prohibitedl, the prohibited classes of locomo-tives. When assigning locomotives to a train, we canonly assign locomotives from the classes listed asMostPreferredl and LessPreferredl (a penalty is asso-ciated for using LessPreferredl).

    Constraints. We will now describe the constraintsin the LSM. The constraints can be classied into twocategories: hard constraints (which each locomotiveassignment must satisfy) and soft constraints (which

    are highly desirable but not always required to be sat-ised). We incorporate soft constraints by attachinga penalty for each violation of these constraints. Thehard constraints for LSM are: (i) each train must beassigned locomotives with at least the required ton-nage and horsepower; (ii) each train l is assigned loco-motive types belonging to the set MostPreferredl andLessPreferredl only; (iii) each train must be assignedlocomotives with at most 24 active axles; (iv) eachtrain can be assigned at most 12 locomotives, includ-ing both the active and deadheaded locomotives; and(v) the number of assigned locomotives of each typeis at most the number of available locomotives of thattype. The soft constraints for LSM are: (i) consistencyin the locomotive assignment (if a train runs ve daysa week, then it should be assigned the same consisteach day it runs); (ii) consistency in train-to-train con-nections (if locomotives carrying a train to its destina-tion station connect to another train originating at thatstation, then it should preferably make the same con-nection each day that both trains run); (iii) same-classconnections (trains should connect to other trains inthe same class); and (iv) avoiding consist busting asmuch as possible.

    Objective Function. The objective function for thelocomotive-scheduling model contains the follow-ing terms: (i) cost of ownership, maintenance, andfueling of locomotives; (ii) cost of active and dead-headed locomotives; (iii) cost of light-traveling loco-motives; (iv) penalty for consist busting; (v) penaltyfor inconsistency in locomotive assignment and train-to-train connections; and (vi) penalty for using single-locomotive consists.

    3. Space-Time NetworkWe will formulate the locomotive-scheduling prob-lem as a multicommodity ow problem with sideconstraints on a network, which we call the weeklyspace-time network. Each locomotive type denes acommodity in the network. We denote the weeklyspace-time network as G7 = N 7A7, where N 7denotes the node set and A7 denotes the arc set.Figure 1 displays a part of the weekly space-time net-work at one location. We construct the weekly space-time network as follows.

    Nodes in the Weekly Space-Time Network. Thenetwork contains a train arc il jl for each train l. Thetail node il of the arc denotes the event for the depar-ture of train l at dep-stationl and is called a departurenode. The head node jl denotes the arrival event oftrain l at arr-stationl and is called an arrival node.For each arrival event, we create an arrival-groundnode, and for each departure event, we create adeparture-ground node. Each node is associated withtwo attributes: time and place. We use timei todenote the time attribute of node i in the weekly

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 507

    Train Arcs:

    Connection Arcs:

    Ground Arcs:

    Train Arcs

    Train 1

    Train 4

    Train 5

    Train 6

    ArrivalNodes

    Train 2

    Train 3

    DepartureNodes

    Train ArcsGround Nodes

    Time

    Figure 1 A Part of the Weekly Space-Time Network

    space-time network. We denote the sets of departure,arrival, and ground nodes by the sets DepNodes, ArrN-odes, and GrNodes, respectively. Let the set AllNodes=DepNodesArrNodesGrNodes.Arcs in the Weekly Space-Time Network. The net-

    work contains four types of arcs. The rst is the setof train arcs, denoted by the set TrArcs, and containsan arc for every train. We connect each arrival nodeto the associated arrival-ground node by a directedarc called the arrival-ground connection arc. We connecteach departure-ground node to the associated depar-ture node through a directed arc called the ground-departure connection arc. We next sort all the groundnodes at each station in chronological order by theirtime attributes and connect each ground node tothe next ground node through directed arcs calledground arcs. (We assume without any loss of gener-ality that ground nodes at each station have distincttime attributes.) The ground arcs allow inbound loco-motives to stay in an inventory pool as they wait tobe connected to the outbound trains. We also connectthe last ground node in the week at a station to therst ground node of the week at that station throughthe ground arc; this ground arc models the endinginventory of locomotives for a week, which becomesthe starting inventory for the following week. We alsomodel the possibility of an inbound train sending itsentire consist to an outbound train. We capture thispossibility by creating train-train connection arcs froman arrival node to departure nodes whenever sucha connection can be feasibly made. We also allowthe possibility of light travel. We create a light arcin the weekly space-time network corresponding toeach light travel possibility (to be described in detailin 6.4). Each light arc originates at a ground node(with a specic time and at a specic station) and alsoterminates at a ground node. Each light arc has a xedcharge that denotes the xed cost of sending a sin-gle locomotive with crew from the origin of the lightarc to its destination. We denote this xed charge for

    a light-travel arc l by Fl. The light arc also has a vari-able cost that depends on the number of locomotiveslight traveling as a group. Therefore, the four kinds ofarcs are: train arcs (TrArcs), connection arcs (CoArcs),ground arcs (GrArcs), and light-travel arcs (LiArcs).Let AllArcs= TrArcsCoArcsGrArcsLiArcs.We will formulate the locomotive-scheduling prob-

    lem as a ow of different types of locomotives inthe weekly space-time network. Locomotives owingon train arcs are either active or deadheading; thoseowing on light arcs are light traveling; and thoseowing on connection and ground arcs are idling(that is, waiting between two consecutive assign-ments). We shall use the following additional nota-tion for the weekly space-time networks in our MIPformulations: (i) I i: the set of incoming arcs intonode i AllNodes; (ii) Oi: the set of arcs emanatingfrom node i AllNodes; (iii) Fl: the cost of an (active)light traveling locomotive with crew on a light arcl LiArcs; (iv) dkl : dened for every arc l AllArcs (fora train arc l, dkl denotes the cost of deadheading oflocomotive type k on train arc l and for every otherarc it denotes the cost of traveling for a nonactivelocomotive of locomotive type k on arc l); (v) CB:the set of all connection arcs from arrival nodes toground nodes; alternatively, CB = i j AllArcs i ArrNodes and j GrNodes; (vi) CheckTime: a timeinstant of the week when no event takes place (that is,no train arrives or departs at any station; we assumethat CheckTime is Sunday midnight); and (vii) S: theset of arcs that cross the CheckTime (that is, S = i j AllArcs timei

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems508 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    subject to:kK

    tkl xkl Tl for all lTrArcs (1b)

    kK

    hkxkl lTl for all lTrArcs (1c)kK

    kxkl 24 for all lTrArcs (1d)kK

    xkl +ykl 12 for all lTrArcsLiArcs(1e)

    lI ixkl +ykl =

    lOi

    xkl +ykl

    for all iAllNodes for all kK (1f)kK

    ykl 12zl for all lCoArcsLiArcs (1g)lOi

    zl=1 for all iArrNodes (1h)lI i

    zl=1 for all iDepNodes (1i)kK

    xkl +ykl +wl2 for all lTrArcs (1j)

    dlSxkl +ykl +sk=Bk for all kK (1k)

    xkl ykl 0 and integer

    for all lTrArcs for all kK (1l)zl01 for all lCoArcsLiArcs (1m)wl01 for all lTrArcs( (1n)

    We will now explain the above formulation to con-rm that it correctly represents the LSM. We willrst discuss the constraints. Constraint (1b) ensuresthat the locomotives assigned to a train providethe required tonnage, and constraint (1c) ensuresthat the locomotives assigned provide the requiredhorsepower. Constraint (1d) models the constraintthat the number of active axles assigned to a traindoes not exceed 24; the constraint (1e) models theconstraint that every train arc and light arc areassigned at most 12 locomotives. The ow balanceconstraint (1f) ensures that the number of incominglocomotives equals the number of outgoing locomo-tives at every node of the weekly space-time network.Constraint (1g) makes the xed-charge variable zlequal to 1 whenever a positive ow takes place ona connection arc or a light arc; this constraint alsoensures that no more than 12 locomotives ow onany light arc. Constraint (1h) states that, for eachinbound train, all the inbound locomotives use onlyone connection arc; either all the locomotives go to theassociated ground node (in which case consist bust-ing takes place), or all the locomotives go to another

    outbound train (in which case consist busting doesnot take place and there is a train-to-train connection).Constraint (1i) states that for each outbound train allthe outbound locomotives either come from a groundnode or all the locomotives come from an incomingtrain. Constraint (1j) makes the variable wl equal to 1whenever a single-locomotive consist is assigned totrain l. Finally, constraint (1k) counts the total num-ber of locomotives used in the week; this is the sumof the ow of locomotives on all the arcs crossingthe CheckTime. The difference between the number oflocomotives available and the number of locomotivesused equals the number of unused locomotives sk.We will now discuss the objective function (1a),

    which contains six terms. The rst term denotes thecost of actively pulling locomotives on train arcs. Thesecond term captures the cost of deadheading loco-motives on train arcs and light-travel arcs, as wellas the cost of idling locomotives. We also includethe variable cost of consist busting in the deni-tion of the term dkl for each arc l CB. The thirdterm,

    lLiArcs Flzl, denotes the xed cost of light-

    traveling locomotives. The fourth term,

    lCBVzl,denotes the xed cost of consist busting. The fthterm,

    lTrArcs Elwl, denotes the penalty associated

    with the single-locomotive consists; and the sixthterm,

    kK Gksk, represents the savings accrued from

    not using all the locomotives. Observe that we canobtain different levels of consist busting by selectingdifferent values of the consist busting cost V . Thegreater the value of V , the less the amount of consistbusting in an optimal solution.Observe that formulation (1) assumes that any loco-

    motive type can ow on any train arc. However,recall from our discussion in 2 that each train arc lhas MostPreferredl, LessPreferredl, and Prohibitedlsets of locomotives. We handle these constraints inthe following manner. To formulation (1) we addthe constraints xkl = 0 for each k Prohibitedl andeach l TrArcs. These constraints ensure that prohib-ited locomotives are never used on train arcs. To dis-courage the ow of locomotive types belonging tothe LessPreferred sets, we multiply ckl by a suitableparameter larger than 1 (for example, 1.2) for eachk LessPreferredl and each l TrArcs.Our formulation (1) incorporates all the hard con-

    straints described in 2, but not all the soft constraints,such as the consistency constraints. Including thoseconstraints would make the formulation unmanage-ably large.The locomotive-scheduling problem (1) can be

    shown to be NP-complete. We prove this resultby reducing a well-known NP-complete problem,3-partition, into a locomotive-scheduling problem(Garey and Johnson 1979). We will prove this resultnext.

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 509

    3-Partition Problem. Given 3n integers a1 a2 ( ( ( a3n,and b =3ni=1 ai/n, where ai > b/4 for all i = 12 ( ( ( 3n, does there exist a partition of 1 ( ( ( 3n into nsubsets S1 S2 ( ( ( Sn such that

    3niSj ai = b for all j = 1

    to n?Suppose that there are exactly n trains, each with a

    horsepower requirement of b units, and they all travelfrom the same origin city to the same destination city.Suppose further that there are 3n locomotives, wherelocomotive i provides horsepower ai. Assume thatb = 3ni=1 ai/n, where ai > b/4 for all i = 12 ( ( ( 3n.Then the locomotive-scheduling problem has a feasi-ble solution if and only if the 3-partition problem hasa feasible solution. Thus, the 3-partition can be solvedby solving a locomotive-scheduling problem.In the data provided to us by CSX, there were

    538 trains, each of which operated several days ina week, and there were ve locomotive types. Theweekly space-time network consisted of 8,798 nodesand 30,134 arcs. The MIP formulation (1) consistedof 197,424 variables and 67,414 constraints. This for-mulation could not be solved to optimality or nearoptimality using the commercial software CPLEX 7.0.As a matter of fact, we were unable to solve eventhe linear programming (LP) relaxation of the prob-lem. Additionally, this formulation does not cap-ture the consistency constraints incorporating whichwould even further expand the size of the problem.We therefore developed an alternative approach thatsimultaneously helped enforce consistency while dra-matically reducing the problem size. We will describeour approach in the next section.

    5. Simplifying the ModelWe analyzed the number of CSX trains running withdifferent frequencies in one week. The table shownin Figure 2 provides these numbers. The rst columnin the table gives the weekly train frequency, or howoften the trains run in a week. The second columnin the table lists the number of trains in the trainschedule that run with the frequency given in therst column. The third column is a product of therst and second columns; the fourth column provides

    Table 1 Analysis of Trains and Their Frequencies

    CumulativeTrain Number of Cumulative percentage offrequency A trains B A B sum of A B A B (%)7 372 2604 2,604 7836 62 372 2,976 8955 29 145 3,121 9394 24 96 3,217 9683 20 60 3,277 9862 16 32 3,309 9951 15 15 3,324 100

    a cumulative sum of the third column. The fth col-umn expresses the values in the fourth column in per-centage notation. Observe that the third column liststhe number of train arcs in the weekly space-time net-work for trains with different frequencies. The tablereveals that about 94% of the train arcs in the space-time network correspond to the trains that run ve,six, or seven days.We now make an approximation that reduces the

    size of the MIP substantially and also helps us sat-isfy the consistency constraints. We create a dailylocomotive-scheduling model that is a simplicationof the weekly locomotive-scheduling model in the fol-lowing manner. We assume that: (i) all trains that runp days or more per week run every day of the week;and (ii) all trains that run fewer than p days do notrun at all. This assumption results in an approxima-tion in the sense that we provide locomotives to thetrains that do not exist and do not provide locomo-tives to trains that do exist. For the train data givenin Table 1, Table 2 gives the number of such trains fordifferent values of p, as follows.To transform the solution of the daily locomotive-

    scheduling solution into a feasible solution for theweekly scheduling problem, we take locomotivesfrom the trains that exist in the daily problem butdo not exist in the weekly problem (type 1 trains)and assign them to the trains that do not exist in thedaily problem, but exist in the weekly problem (type 2trains). Also, we possibly use additional locomotivesto meet the constraints. Clearly, we can convert thesolution of the daily problem into a weekly prob-lem more effectively if the number of type 1 trainsare less than the number of type 2 trains, but still asclose as possible. From this perspective, we nd thatp = 5 is the best choice for p, which we also deter-mined in our computational investigations. We there-fore solve the locomotive-scheduling problem in twostages. The rst stage solves the daily locomotive-scheduling problem, and the second stage modiesthe daily locomotive schedule to obtain the weeklylocomotive schedule.

    Table 2 Choosing the Right Value of p

    p 1 2 3 4 5 6 7

    Number of 442 352 272 192 120 62 0nonexisting trainsthat are assignedlocomotives(type 1 trains)

    Number of existing 0 15 47 107 203 348 720trains that arenot assignedlocomotives(type 2 trains)

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems510 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    6. Solving the Daily LocomotiveScheduling Problem

    In this section, we will describe how to solve thedaily scheduling problem, including: (i) how to con-struct the daily space-time network and formulate theMIP for the daily scheduling problem; and (ii) how tosolve the daily locomotive-scheduling problem usinga decomposition-based approach.

    6.1. Constructing the Daily Space-Time Networkand Formulating the MIP

    The daily space-time network is constructed for thedaily locomotive-scheduling problem for which eachtrain is assumed to run each day of the week. It isconstructed similarly to how we construct the weeklyspace-time network. We represent the daily space-time network as G1 = N 1A1. The daily space-timenetwork is about seven times smaller than the weeklyspace-time network.In the daily model, the departure time is the num-

    ber of minutes past midnight that the train departs,and the arrival time is the number of minutes pastmidnight that the train arrives. The day of the weekdoes not play a role in this daily model. For a train l,let dayl denote the number of times the train crossesthe midnight time line as it goes from its origin to itsdestination. For example, consider a train that leavesstation A at 7 am on one day and arrives at 4 pm twodays later at station B. For example, the train starts onMonday at 7 am and arrives at 4 pm on Wednesday.In this case, dayl= 2. If this train were to repeat eachday in our weekly model, then two copies of the trainwould cross the time line at midnight on Sunday: thetrain that starts at 7 am on Saturday and ends at 4 pmon Monday, and the one that starts at 7 am on Sundayand ends at 4 pm on Tuesday. In general, if dayl=min our daily model, then there are m copies of thetrain l that cross the midnight demarcation at Sun-day time line in our weekly model. Therefore, assign-ing a locomotive in our daily model to a train l withdayl=m corresponds to assigning m locomotives ofthe same type in the weekly model.To account for the impact of dayl, we modify

    the eet size constraint of the locomotive-schedulingproblem as follows:

    lSxkl + ykl dayl+ sk = Bk for all k K(

    The rest of the formulation of the locomotive-scheduling problem (1) on the daily space-time net-work is identical to the one provided earlier.

    6.2. Solving the MIP for the Daily SchedulingProblem

    Though the space-time network for the daily schedul-ing problem was substantially smaller than the space-time network for the weekly scheduling problem, we

    found it to be too large to be solved to optimalityor near optimality. The daily locomotive-schedulingproblem consisted of 463 train arcs, and the dailyspace-time network contained 1,323 nodes and 30,034arcs. The MIP formulation consisted of 22,314 vari-ables and 9,974 constraints. The LP relaxation took afew seconds to solve, but the MIP did not provide anyinteger feasible solution in 72 hours of running time.We conjecture that the biggest source of difculty wasthe presence of xed-charge variables zl (for connec-tion and light arcs), which takes value 1 wheneverthere is a positive ow on arc l. It is well known thatMIPs with many xed-charge variables often produceweak lower bounds.To obtain high-quality feasible solutions and to

    maintain a relatively small total running time of thealgorithm, we decided to eliminate the xed-chargevariables from the MIP formulation using heuristics.The heuristics also allowed us greater exibility indetermining what kind of solution we want. In ourformulation, we have two kinds of xed-charge vari-ables: one corresponding to connection arcs and theother corresponding to light arcs. We will rst con-sider the xed-charge variables corresponding to thetrain-train connection arcs, followed by the xed-charge variables corresponding to light arcs. We willalso consider some cases in which xed-charge vari-ables can be eliminated without any loss of generality.

    6.3. Determining Train-Train ConnectionsTrain companies often specify some hardwiredtrain-train connections, that is, they specify someinbound trains whose consist must go to the spec-ied outbound trains. These hardwired train-trainconnections are easy to enforce in the space-time net-work. Sometimes, a station has a unique inboundtrain and a unique outbound train. If this station hasno light-traveling locomotives coming into it, thenall the locomotives brought in by the inbound trainwill be automatically assigned to the outbound train.Hence, there will be no consist busting and therewill be no need for xed-charge variables. Sometimes,train companies also have rules that control whichtrain-train connections are permissible and/or desir-able. We can eliminate such inadmissible train-trainconnections easily. Among the admissible train-trainconnections, we x several of them using an iterativeprocess, which we describe next.We begin with a daily space-time network that

    contains all the candidate train-train connection arcsand candidate light arcs. We next solve the linearprogramming relaxation of the locomotive-schedulingmodel for which there are no xed-charge variablesand constraints (that is, constraints (1g) through (1i)),and all the train-to-ground and ground-to-train con-nections have a large cost to discourage the ow on

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 511

    such arcs (or, alternatively, to discourage consist bust-ing). Let 0l denote the total ow of locomotives (ofall types) on any arc l in the daily space-time net-work. We next select a candidate train-train connec-tion arc h with the largest value of 0h. This arcindicates a successful potential train-train connection.We make this connection arc the unique connectionarc for the two corresponding trains and resolve thelinear programming relaxation. If this linear program-ming relaxation is infeasible or if it increases the costof the new solution by an amount greater than 1, wedo not make this train-train connection; otherwise, wekeep this connection. In any case, we remove arc hfrom the list of candidate train-train connections. Wenext select another candidate train-train connectionarc h with the largest value of 0h in the currentow solution and repeat this process until either wehave reached the desired number of train-train con-nections (as specied by some parameter 2), or untilthe set of candidate train-train connections becomesempty.Our method is parameter driven. By suitably iden-

    tifying the values of the two parameters 1 and 2, wecan govern the behavior of the algorithm. By choosingthe higher value of 1, we can increase the number oftrain-train connections. We can also increase the num-ber of train-train connections by increasing the valueof the parameter 2. We illustrate in 8 that by usingthis heuristic technique, we were able to increase thenumber of train-train connections to 72%, which wassubstantially higher than the goals originally set byour industry sponsor. In fact, 72% was originally notconsidered to be an achievable goal. The parameters1 and 2 need to be assigned correct values so we candetermine the desired consist busting. We used 1 =$1000 and varied 2 to get different levels of consistbustings.

    6.4. Determining Light-Travel ArcsLight travel of locomotives plays an important role inlocomotive scheduling and can substantially impactthe quality of the solution. Incorporating light travelin the locomotive-scheduling model requires twodecisions: (i) candidate light arcs (what the light travelarcs should be in the space-time network); and (ii) owon light-travel arcs (which locomotives should ow onthe candidate light arcs). In principle, we could allowlight travel of locomotives from any station to anystation at any time of the day. To capture all thesepossibilities of light travel in our network, we needto add a large number of arcs in the daily space-timenetwork. This, however, would increase the size ofthe network substantially as well as the number ofow variables. Instead of introducing a large numberof light-travel arcs, we developed a heuristic proce-dure to create a small but potentially useful collection

    of light-travel arcs; we developed another heuristicprocedure for selecting a subset of these arcs forlight travel. We will now describe these procedures ingreater detail.Our rst procedure determines the candidate light-

    travel possibilities. For each such arc, we need todecide its origin station, its start time, its destina-tion station, and its end time. The end time can becomputed from the origin station, its start time, andits destination station if we know the average speedof the light-traveling locomotives. In the railroadnetwork, light-traveling locomotives typically travelfrom power sources (stations where inbound trainsrequire substantially more tonnage/horsepower thanthe outbound trains) to power sinks (stations whereoutbound trains require substantially more tonnage/horsepower than the inbound trains). First, we con-struct the space network, which is the same as thedaily space-time network described in 6.1 exceptthat we ignore the time element. We next determinethe additional availability of pulling power at powersources and the additional demand for pulling powerat power sinks in the space network of our weeklymodel. To incorporate both horsepower and tonnageconstraints simultaneously, we translate this informa-tion into the number of locomotives of a standardtype. This gives us node imbalances of locomotivesin the space network. We then solve a minimum-costow problem (see, for example, Ahuja, Magnanti, andOrlin 1993) in the space network to determine theoptimal locomotive ow in the network. If there is apositive ow of locomotives on arc i j in the spacenetwork greater than some threshold value (say, twolocomotives), then we create candidate light-travelarcs from station i to station j in the space-time net-work departing from city i every eight hours. For thedata provided by CSX, we found 58 arcs in the spacenetwork with a ow of greater than two locomotivesand we created 174 candidate light arcs in the space-time network.In our formulation described before, we need to

    create a xed-charge variable for each candidate lightarc, and we cannot solve the formulation for thismany xed-charge variables in the required time.Our second procedure eliminates the xed-chargevariables. The procedure works by rst solving alinear programming formulation of the locomotive-scheduling problem in which all the candidate lightarcs are added. It then removes all those light arcsthat have zero ow. Let 0l denote the total num-ber of locomotives owing on a candidate light arc l.We then perform the following iterative step. Weselect the candidate light arc l with the smallest valueof ow 0l. Suppose this is arc r . We delete arc rfrom the network and solve the LP relaxation of thelocomotive-scheduling problem. If the deletion of this

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems512 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    candidate light arc causes the total cost of ow (ofthe LP relaxation) to increase by at least 4 units, wekeep this arc and remove it from the candidate lightarcs list; otherwise, we permanently delete this arc.We repeat this process until there are no unexam-ined candidate light arcs. The number of light arcsgenerated by this module crucially depends upon thevalue of the parameter 4. If we increase the valueof 4, then we increase the number of arcs deletedfrom the network, which will result in fewer lightarcs being generated. Hence, by assigning suitablevalues to this parameter, one can generate an appro-priate number of light arcs. We used 4 = $1000 inour implementation.

    6.5. Determining Active and DeadheadedLocomotive Flow Variables

    As described before, the use of heuristics to determinetrain-train connections and light-travel arcs eliminatesthe xed-charge variables. We next determine theremaining variables that are the active and dead-headed locomotives on arcs in the network. To deter-mine these variables, we solve the following integerprogramming problem:

    min z = lTrArcs

    kK

    ckl xkl +

    lAllArcs

    kK

    dkl ykl

    + lTrArcs

    ElwlkK

    Gksk (2a)

    subject to:kK

    tkl xkl Tl for all l TrArcs (2b)

    kK

    hkxkl lTl for all l TrArcs (2c)kK

    kxkl 24 for all l TrArcs (2d)kK

    xkl + ykl 12 for all l TrArcs LiArcs(2e)

    lI ixkl + ykl =

    lOi

    xkl + ykl

    for all i AllNodes for all k K (2f)kK

    xkl + ykl +wl 2 for all l TrArcs (2g)lSxkl + ykl dayl+ sk = Bk for all k K (2h)

    xkl ykl 0 and integer

    for all l TrArcs for all k K (2i)wl 01 for all l TrArcs( (2j)

    We refer to a solution of (2) by xy, because wcan be deduced using the solution xy. This integer

    programming model is much easier to solve than themodel described in 6.1. It does not contain xed-charge variables and has fewer locomotive ow vari-ables. The locomotive-scheduling problem we solvedhad 2,315 xkl variables; 6,120 y

    kl variables; 463 wl

    variables; and 7,782 constraints. We solved (2) usingCPLEX 7.0 and set the CPLEX parameters so that avery good integer solution is obtained in the earlypart of the branch-and-bound algorithm. We foundthat CPLEX 7.0 provided a high-quality solutionwithin 15 minutes of execution time, but it did notterminate even when it was allowed to run for over48 hours. We also found that the algorithm, when runfor 24 hours, was not much better than the best inte-ger solution obtained within 15 minutes; therefore,prematurely terminating the algorithm after 15 min-utes did not much affect the quality of the solutionobtained.

    6.6. Neighborhood Search AlgorithmThe integer solution obtained by the integer program-ming software CPLEX 7.0 is not, in general, an opti-mal solution for the locomotive-scheduling problem.We found that this solution can be easily improvedby a modest modication of the solution. We useda neighborhood search algorithm to look for possi-ble improvements. A neighborhood search algorithmtypically starts with an initial feasible solution andrepeatedly replaces it by an improved neighbor untilwe obtain a solution that is at least as good as itsneighbors. At this point, the current solution is calleda local optimal solution (Aarts and Lenstra 1997). Wecall a neighborhood search algorithm a very large-scale neighborhood (VLSN) search algorithm if the sizeof the neighborhood is very large, possibly exponen-tial in terms of the input size parameters, and weuse implicit enumeration algorithms to identify animproved neighbor. We refer the reader to the papersby Ahuja et al. (2001a, b; 2002) for additional detailson VLSN search algorithms. This neighborhood canalso be considered a specic implementation of theconcept of referent domain optimization, as it is brieydescribed in Glover and Laguna (1997). We dene aneighborhood using an integer programming formu-lation and identify an improved neighbor with thesoftware CPLEX.Let x y be a feasible solution of (2). We call a

    solution xy a neighbor of x y if xy is feasiblefor (2b)(2j) and it differs from x y for one loco-motive type only; that is, xq = xq and yq = yq forall q K\k for some locomotive type k. In otherwords, all the feasible locomotive ows that can beobtained by changing the locomotive ow for onelocomotive type only dene the neighborhood of thesolution xy. Mathematically, all the solutions of the

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 513

    following integer program dene the neighborhoodof the solution x y.

    minimizezk = lTrArcs

    ckl xkl +

    lAllArcs

    dkl ykl

    + lTrArcs

    ElwlGksk (3a)

    subject to:

    tkl xkl Tl

    qK\k

    xql for all l TrArcs (3b)

    hkxkl lTl

    qK\khq xql for all l TrArcs (3c)

    kxkl 24

    qK\kq xql for all l TrArcs (3d)

    xkl + ykl 12

    qK\kxkl + ykl

    for all l TrArcsLiArcs (3e)lIi

    xkl + ykl =

    lOi

    xkl + ykl

    for all i AllNodes (3f)xkl + ykl +wl 2

    qK\k

    xql + yql

    for all l TrArcs (3g)lAllArcs

    xkl + ykl dayl+ sk = Bk (3h)

    xkl ykl 0 and integer for all l TrArcs (3i)

    wl 01 for all l TrArcs( (3j)We call the solution x y a local optimal solution

    if x y is an optimal solution of (3) for each k K.Thus, a solution x y is a local optimal solution of thelocomotive-scheduling problem if each single locomo-tive type is optimally scheduled when the scheduleof other locomotive types is not allowed to change.Although (3) is an integer programming problem with2,168 variables and 3,437 constraints, CPLEX was ableto solve it to optimality within a few seconds.To summarize, we take the solution provided by the

    integer programming software for the daily schedul-ing problem (3) as the starting solution of our neigh-borhood search algorithm and solve a sequence ofproblems (3) for all locomotives of type q K. Westop when the solution cannot be improved for anylocomotive type. The solution at this stage is a localoptimal solution.

    7. Solving the WeeklyLocomotive-Scheduling Problem

    We will now describe how we solve the weekly loco-motive-scheduling problem. Recall from our discus-sion in 5 that to handle the consistency constraints

    and to keep the problem size manageable, we solvethe problem in two stages. The rst stage assumesthat all trains run every day of the week. To satisfythis assumption, we eliminate trains that run fewerthan p days (for example, p = 5), and all other trainsare assumed to run every day of the week. Whenwe apply the solution of the daily scheduling to theweekly scheduling problem by repeating it every day,then we provide locomotives to some trains that donot exist and do not provide locomotives to thosetrains that do exist. To transform this solution into afeasible and effective solution for the weekly schedul-ing problem, we take locomotives from the trains thatexist in the daily problem but do not exist in theweekly problem and assign them to the trains that donot exist in the daily problem but exist in the weeklyproblem; we possibly use additional locomotives tomeet the constraints. In this section, we will describethis method in greater detail.First, we will dene some notation in order to sim-

    plify the presentation. There are two sets of trains inthe locomotive-scheduling problem: (i) 6, the set oftrains that operate p or more days a week; and 7 , theset of trains that operate fewer than p days a week.Let 61 denote the set of train arcs corresponding tothe trains in 6 in the daily space-time network G1,and let 67 denote the set of train arcs correspond-ing to the trains in 6 in the weekly space-time net-work G7. Observe that each arc in 61 induces p ormore corresponding arcs in 67( Let 7 7 denote the setof train arcs corresponding to the trains in 7 in theweekly space-time network G7. Observe that trainsin 7 do not have any corresponding train arc in G1.Also observe that in the weekly space-time network,TrArcs=67 7 7.Suppose that the optimal solution for the daily

    locomotive-scheduling problem produces the follow-ing solution:xkl : The number of active locomotives of type k

    assigned to train arc l 61.ykl : The number of deadheaded locomotives of type k

    assigned to train arc l 61.We have the following objectives for the weekly

    locomotive-scheduling problem:(i) Each arc l 67 has a corresponding arc in 61,

    say, l. The locomotive assignment of arc l 61 inthe daily locomotive-scheduling problem becomes thetarget ow for the corresponding arc l 67 in theweekly locomotive-scheduling problem. We wouldlike the locomotive ow on each arc in 67 to be asclose to its target ow as possible, as this ensuresthat the weekly locomotive schedule is consistent.Changes to the target ow can be made, but they arepenalized, as changes may affect the consistency ofthe solution. Henceforth, we assume that xkl and ykldenote the target ow for each arc l 67.

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems514 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    (ii) Each arc l 7 7 should be assigned a sufcientnumber of locomotives so that its horsepower andtonnage requirements are satised. Observe that wedo not consider consistency for train arcs in 7 7. Only6% of the train arcs are in 7 7, and ignoring consis-tency of these arcs does not have a major impact onthe overall consistency of the solution.(iii) If there is a train-train connection from train A

    to train B in the daily space-time network, then thesame train-train connection should be carried over tothe weekly space-time network on all the days whenboth trains A and B run.The weekly space-time network is constructed in

    the same manner as the daily space-time network,where each train running on different days is treatedas a separate train. However, we make some changesfor train-train connection arcs. For a train-train con-nection arc in the daily space-time network, we havea corresponding train-train connection arc only onthose days when both the associated trains run, andnot otherwise.We will now discuss how to determine a locomo-

    tive schedule in the weekly space-time network. Werst formulated this problem as an integer program-ming problem, which is similar to the IP formula-tion (1) presented in 4. However, we were unableto solve it using CPLEX 7.0. The integer program-ming problem for the weekly space-time network isabout seven times larger than the corresponding prob-lem for the daily space-time network, and CPLEXran for 72 hours without obtaining any integer fea-sible solution. Because our goal was to solve thelocomotive-scheduling problem within 30 minutes ofcomputational time, we needed to follow anotherapproach.We next attempted to determine the locomotive

    schedule one locomotive type at a time. This con-verted a multicommodity ow problem (with eachlocomotive type dening a commodity) with side con-straints into a sequence of single-commodity owproblems with side constraints, one for each locomo-tive type. We found that CPLEX 7.0 efciently solvedthese single-commodity ow problems with side con-straints. We will now describe this approach in greaterdetail.We rst arranged different locomotive types in

    order and then, following this order, considered themone by one.Suppose we are considering locomotive type k. Our

    goal is to determine the schedule of locomotive type kso as to:

    minimizel7

    ckl Mxkl +l6

    ckl xkl +

    lAllArcs

    dkl xkl

    + lTrArcs

    ElwlGksk+ Pl6

    :+kl +:kl ( (4a)

    Subject it to (3b)(3g), (3i)(3j), and the followingconstraints:

    xkl Ukl for all l 7 (4b):+kl :kl = xkl + ykl xkl + ykl for all l 6 (4c):+kl :

    kl 0 and integer for all l TrArcs (4d)

    lSxkl + ykl + sk = Bk for all k K (4e)

    where M is a large positive number, and where

    Ukl =max{Tl

    qK\k t

    q

    l xqltkl

    lTl

    qK\k h

    q

    l xqlhk

    }

    denotes the number of active locomotives of type kneeded to meet the tonnage and horsepower require-ments of the train arc l.This formulation is similar to formulation (3),

    which nds the optimal ow of locomotives of type kwhile keeping the ow of other locomotive typesintact. In addition, the formulation attempts to sendthe sufcient number of locomotives on arcs in 7 ; thisis achieved by subtracting a large positive number Mfrom the active locomotive costs of arcs in 7 in theobjective function (4a). The formulation also attemptsto nd a ow which is close to the target owon the arcs in 6; this is accomplished by measuringthe positive or negative deviation :+kl or :

    kl from

    the target ow through constraints (4c) and (4d) andpenalizing it in the objective function (4a). By assign-ing a suitable value to the coefcient P , we make thelocomotive ow xk yk sufciently close to the targetow on the arcs in the set 6. In our computationalinvestigations, we used P = $1000.We solved formulation (4) multiple times and with

    different objective functions to obtain improved solu-tions. For example, our primary objective is to providea sufcient number of locomotives to the trains in 7 .We accomplish our goal by choosing a sufcientlylarge value of M (say, 106), and solving (4) for eachlocomotive type one at a time. The order in whichwe consider different locomotive types is important.We consider the locomotive types in the decreasingorder of their availability; that is, the locomotive typethat has the largest number of locomotives available isconsidered rst, followed by the locomotive type thathas the second-largest number of locomotives avail-able, and so on. The intuition behind this rule is thatif some trains need locomotives, we will try to powerthem by the locomotive type that has a greater avail-ability; this rule tends to generate feasible locomotiveassignments. Once all trains have a sufcient numberof active locomotives, we set M = 0 and solve it againfor all locomotive types. Depending on the value of P ,the optimal solution balances the total ow cost and

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 515

    the penalty for deviation from the target ow. We mayneed to experiment with different values of P beforewe obtain the right balance between the two terms.For our data, formulation (4) is dened over a

    network with 8,798 nodes and 9,139 arcs. The for-mulation (4) consists of 15,266 variables and 13,142constraints. CPLEX 7.0 was able to solve it for onelocomotive type in a few seconds. We took a total oftwo to three minutes to obtain a satisfactory solutionin the weekly space-time network. Whereas the inte-ger programming formulation of the weekly space-time network was insolvable, solving it heuristicallyusing the constrained network ow algorithm wasquite efcient.After we obtained a feasible solution of the weekly

    locomotive-scheduling problem, we applied a neigh-borhood search algorithm to it. We considered eachlocomotive type one by one and tried to determinethe optimal ow of the selected locomotive type whilekeeping the ow of other locomotive types intact.This subproblem is a (single-commodity) constrainedminimum cost ow problem and can be very ef-ciently solved. We terminate when the solution valuedoes not improve for any locomotive type. Observethat this algorithm can also be regarded as a verylarge-scale neighborhood search algorithm and is amodication of the neighborhood search algorithmdescribed in 6.6 for the daily space-time network.Finally, after we have obtained the solution of theweekly locomotive-scheduling problem, we can cre-ate additional train-train connections by matching thelocomotive assignments of inbound and outboundtrains at each station if they have the same consist.For the data provided by CSX, we were able to cre-ate about 10%15% additional train-train connectionswith the use of this algorithm.

    8. Computational ResultsIn this section, we will present our computationalresults. CSX Transportation supplied us with datales for several scenarios. Here we present the resultsfor three scenarios corresponding to three months.These scenarios contained 3,324 trains originatingfrom and terminating at 119 stations; however, thetonnage and horsepower requirements of these trains

    Table 3b Comparison of ALS and CSX Solutions: Comparison of Other Statistics

    Scenario 1 Scenario 2 Scenario 3 AveragePerformancemeasure CSX (%) ALS (%) CSX (%) ALS (%) CSX (%) ALS (%) CSX (%) ALS (%)

    Active time 3130 4440 3130 4495 2920 4703 3060 4546Deadheading time 1960 810 1960 931 2018 831 1979 857Idling time 4910 4670 4910 4500 5062 4378 4961 4516Light-traveling time 0 080 000 074 000 088 000 081Consist busting 850 494 850 6823 850 7074 850 6279

    Table 3a Comparison of ALS and CSX Solutions: The Number ofLocomotives of Different Types Used by the CSX and ALSSoftware

    Scenario 1 Scenario 2 Scenario 3Type oflocomotives CSX ALS CSX ALS CSX ALS

    SD40 498 249 519 283 550 323SD50 171 160 162 138 174 161C40 621 487 619 466 620 432AC44 164 154 155 154 155 155AC60 160 160 160 160 160 160

    Total 1614 1210 1615 1201 1659 1231

    were different in different scenarios. 3,316 locomo-tives belonged to ve locomotive types that we coulduse for scheduling. All of our algorithms were imple-mented in C++, and we made extensive use ofcallable libraries in CPLEX 7.0. The algorithms wererun and tested on a Pentium III PC with a speed of750 MHz. We call our software the Advanced Loco-motive Scheduling (ALS) system. Our algorithms havebeen very consistent in terms of their running-timerequirements and the reduction in locomotives.Table 3(a) compares the solutions obtained by ALS

    with those of CSXs software. In each of these cases,the ALS solution is substantially superior to the CSXsolution; ours reduces the total cost substantially anddramatically decreases the number of locomotivesused. The ALS solution used 350400 fewer locomo-tives than the CSX solution with medium consist bust-ing (50%) and medium light travel (0.8%). Recall from1 that CSX handles consist assignment and locomo-tive scheduling separately and that their locomotive-scheduling phase considers each locomotive typeindividually. We achieved the dramatic decrease inthe number of locomotives mainly by combining con-sist assignment and locomotive scheduling and byconsidering all locomotive types together instead ofindividually.Integrating consist assignment and locomotive

    scheduling also signicantly reduced the fractionof locomotives that deadhead. Table 3(b) presentsthe statistics on the percentage of the times whenlocomotives are actively pulling trains, deadheadingon trains, light traveling, or idling at stations (formaintenanceor just waiting to be assigned to out-

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling Problems516 Transportation Science 39(4), pp. 503517, 2005 INFORMS

    Table 4a Sensitivity of the Solution to Light Travel

    No light Medium light SufcientConsist busting: 50% travel travel light travel

    Total number of locomotives used 1,268 1,210 1,192Total cost ($) 9,431,228 9,242,092 9,182,314Percentage active time (%) 3914 4444 45.26Percentage deadheading time (%) 1237 809 7.33Percentage idling time (%) 4849 4667 46.06Percentage light traveling time (%) 000 080 1.35

    bound trains). In the ALS solution, the percentage ofthe time that locomotives are actively pulling trainsis about 14% more than in the CSX solution. There-fore, our solution signicantly increases locomotiveproductivity.We also conducted some tests to measure the sen-

    sitivity of the solution to the extent of light traveland the number of train-train connections; for thesake of brevity, we will present these results for oneScenario 1 only. Table 4(a) displays the statistics ofthe nal solution when we allow three levels of lighttravel: no light travel; medium light travel; and suf-cient light travel. We observe that a reasonable levelof light travel can increase the locomotive utilizationrate signicantly. Table 4(b) provides the statistics ofthe nal solution when we consider several levelsof train-train connections. We observe that consist-busting can be decreased at the expense of a lowerlocomotive-utilization rate and a requirement of morelocomotives.

    9. Summary and ConclusionsIn this paper, we have presented the results ofa study of a locomotive-scheduling problem facedby CSX Transportation, a major U.S. railroad com-pany. We focused on the planning version of thelocomotive-scheduling problem, for which we assignlocomotive types to various trains. Our goal was todevelop excellent plans along a number of dimen-sions. Our primary metric for evaluating a solutionwas to compare it to the existing software that thelocomotive-planning division at CSX uses. This exist-ing software is an in-house software that has been

    Table 4b Sensitivity of the Solution to Consist Busting

    Very high High Medium Low Minimumconsist busting consist busting consist busting consist busting consist busting

    Consist busting rate (%) 6639 5948 4942 3909 3106Number of locomotive used 1,155 1,165 1,210 1,281 1,340Total cost ($) 9,052,779 9,064,822 9,242,092 9,532,021 9,772,958Percentage active time (%) 4668 4574 4444 4267 4125Percentage deadheading time (%) 628 679 809 999 957Percentage idling and dwelling time (%) 4623 4668 4667 4635 4804Percentage light-traveling time (%) 081 079 080 099 114

    developed over a period of 10 years. While it has thesubstantial advantage of capturing many constraintsand objectives not dealt with in the existing literature,it also has some signicant limitations. In particular,it is unable to produce acceptable solutions withoutconsiderable manual adjustment of the solution pro-duced. Our approach to solve the planning versionof the locomotive-scheduling problem produced solu-tions that satised the constraints and business rulesspecied by CSX and offered considerable savingsin cost, especially in terms of a signicant reductionin the number of locomotives needed. Our model isthe rst approach to account for consist busting, lighttravel, and consistency of the solution in a uniedframework. Our approach relies on the technique ofseparating the locomotive-scheduling problem into atwo-step process; rst we solve the daily locomotive-scheduling problem, and then we solve the weeklylocomotive-scheduling problem. This approach worksreasonably well for those situations in which a largenumber of trains run most days of the week.By incorporating more realistic constraints and

    costs in our models, we needed to rely on a multistageheuristic procedure to solve the model. In particular,we were unable to solve MIPs involving many xed-charge constraints. We avoided this with a sequentialheuristic procedure for determining the three sets ofthe decision variables (i) light travel, (ii) train-trainconnections, and (iii) active and deadhead locomotiveow variables sequentially instead of determiningtheir values through an integrated single model. Nev-ertheless, our sequential procedure heavily exploitedinformation from a sequence of LPs, and thus relied

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.

  • Ahuja, Liu, Orlin, Sharma, and Shughart: Solving Real-Life Locomotive-Scheduling ProblemsTransportation Science 39(4), pp. 503517, 2005 INFORMS 517

    on a systemwide view of the entire planning prob-lem. When we determine light-travel arcs, we con-sider locomotive ow variables as part of the LPssolved also. Similarly, when we determine train-trainconnection variables, we again consider locomotiveow variables in the decision process. Therefore, wedo achieve a certain level of integration in our sequen-tial approach. Perhaps in the future we will be ableto obtain a better integration of these different sets ofvariables.

    AcknowledgmentsThe authors would like to express their sincere thanks tothe referees for their insightful comments that led to sig-nicant improvements of the paper. They would addition-ally like to acknowledge the help of their students, AnuragChandra, Ozlem Ergun, Anurag Mehta, and MukundhanKrishnaswamy, who participated in this project and con-tributed in different capacities. The project was partlyfunded by CSX Transportation, and the authors gratefullyappreciate the CSX Locomotive Division for giving themthe research grant and access to their data. This researchwas also partly funded by the National Science FoundationGrants DMI-9900087, DMI-0085682, DMI-9820998, and theOfce of Naval Research Grant ONR N00014-98-1-0317.

    ReferencesAarts, E. H. L., J. K. Lenstra, eds. 1997. Local Search in Combinatorial

    Optimization. John Wiley & Sons, New York.

    Ahuja, R. K., T. L. Magnanti, J. B. Orlin. 1993. Network Flows: Theory,Algorithms, and Applications. Prentice Hall, Englewood Cliffs,NJ.

    Ahuja, R. K., J. B. Orlin, D. Sharma. 2001a. Multi-exchange neigh-borhood search algorithms for the capacitated minimum span-ning tree problem. Math. Programming 91 7197.

    Ahuja, R. K., J. B. Orlin, D. Sharma. 2001b. A very large-scaleneighborhood search algorithm for the combined through-eetassignment model. Submitted to INFORMS J. Comput.

    Ahuja, R. K., O. Ergun, J. B. Orlin, A. P. Punnen. 2002. A survey ofvery large-scale neighborhood search techniques. Discrete Appl.Math. 123 75102.

    Chih, K. C., M. A. Hornung, M. S. Rothenberg, A. L. Kornhauser.1990. Implementation of a real time locomotive distributionsystem. T. K. S. Murthy, R. E. Rivier, G. F. List, J. Mikolaj,eds. Computer Applications in Railway Planning and Manage-ment. Computational Mechanics Publications, Southampton,UK, 3949.

    Cordeau, J.-F., P. Toth, D. Vigo. 1998. A survey of optimizationmodels for train routing and scheduling. Transportation Sci. 329881005.

    Fischetti, M., P. Toth. 1997. A package for locomotive scheduling.Technical Report DEIS-OR-97-16, University of Bologna, Italy.

    Florian, M., G. Bushell, J. Ferland, G. Guerin, L. Nastansky. 1976.The engine scheduling problem in a railway network. INFOR14 121138.

    Forbes, M. A., J. N. Holt, A. M. Watts. 1991. Exact solution of loco-motive scheduling problems. J. Oper. Res. Soc. 42 825831.

    Garey, M. S., D. S. Johnson. 1979. Computers and Intractability:A Guide to the Theory of NP-Completeness. W. H. Freeman.

    Glover, F., M. Laguna. 1997. Tabu Search. Kluwer AcademicPublishers, Norwell, MA.

    Nou, A., J. Desrosiers, F. Soumis. 1997. Weekly locomotive schedul-ing at Swedish state railways. Technical Report G-97-35,GERAD, cole des Hautes Etudes Commercials de Montral,Canada.

    Smith, S., Y. Shef. 1988. Locomotive scheduling under uncertaindemand. Transportation Res. Record 1251 4553.

    Ziarati, K., F. Soumis, J. Desrosiers, M. M. Solomon. 1999. A branch-rst, cut-second approach for locomotive assignment. Manage-ment Sci. 45 11561168.

    Ziarati, K., F. Soumis, J. Desrosiers, S. Gelinas, A. Saintonge. 1997.Locomotive assignment with heterogeneous consists at CNNorth America. Eur. J. Oper. Res. 97 281292.

    Dow

    nloa

    ded

    from

    info

    rms.o

    rg b

    y [2

    03.11

    0.246

    .230]

    on 29

    Septe

    mber

    2015

    , at 1

    4:00 .

    For p

    erson

    al us

    e only

    , all r

    ights

    reserv

    ed.