real-time freight locomotive rescheduling and uncovered train detection during disruption

13
Innovative Applications of O.R. Real-time freight locomotive rescheduling and uncovered train detection during disruption Keisuke Sato , Naoto Fukumura Transport Information Technology Division, Railway Technical Research Institute, 2-8-38 Hikari-cho, Kokubunji-shi, Tokyo 185-8540, Japan article info Article history: Received 12 August 2010 Accepted 18 April 2012 Available online 26 April 2012 Keywords: Transportation Real-time locomotive rescheduling Column generation Set-covering relaxation Constrained shortest path abstract This paper discusses rescheduling of freight train locomotives when dealing with a disrupted situation in the daily operations in Japan. Within the current framework of dispatching processes, passenger railway operators modify the entire timetables and an adjusted freight train timetable is distributed to a freight train operator. For this timetable, we solve the locomotive rescheduling problem by changing the assign- ment of the locomotives to all the trains and considering their periodic inspections. We then solve the uncovered train detection problem that selects unassigned trains according to their value if the resched- uling phase fails. We formulate the two problems as integer programming problems and solve them by column gener- ation. Our simple speeding-up technique named set-covering relaxation is applied to the rescheduling problem, which has set-partitioning constraints. The column generation subproblem is reduced to a shortest path problem with the inspection constraint and solved in polynomial time. Numerical experi- ments carried out with a real timetable, locomotive scheduling plan and major disruption data in the area with the highest frequency of freight trains reveal that satisfactory solutions are obtained within 30 sec- ond on a PC even for cases with a 72-hour goal for recovery. The set-covering relaxation speeds up the computation time by a factor of eight at a maximum. Ó 2012 Elsevier B.V. All rights reserved. 1. Introduction Optimization approaches for railway planning problems such as timetabling, rolling stock circulation and crew scheduling have been long and widely studied, and have recently brought major success to some train operators (refer to Caprara et al., 2007; Kroon et al., 2009; Vaidyanathan et al., 2008a,b). They dramatically reduce the associated operational cost and improve satisfaction of passengers and cargo owners. Meanwhile under a disrupted situation in the daily operations where planned timetables and schedules cannot be achieved (accidents or adverse weather condi- tions), resolutions of timetable adjustment and rolling stock/crew rescheduling by optimization have not yet been proposed suffi- ciently as indicated by Jespersen-Groth et al. (2009) as well as Rezanova and Ryan (2010). The prime factor making the resched- uling optimization difficult is time for train dispatchers in charge to wait for a solution provided by a computer. A feasible solution of acceptable quality must be obtained as quickly as possible to prevent train delays from further propagating, particularly in areas with high frequency of train operations. Among the literature on optimization approaches for railway disruption management, Walker et al. (2005) schedule simulta- neously timetables and drivers on the Metro line in New Zealand. They formulate their problem as a set-partitioning problem with many additional constraints and aim at minimizing the deviation from the existing timetables and crew schedules. An arbitrary chosen train (among the 36 ones operated in the area) is delayed for numerical experiments and the solutions are obtained in 110 second. D’Ariano et al. (2007) model real-time conflict resolu- tion of trains as a job shop scheduling problem with an alternative graph formulation. The optimization criterion is the minimization of the deviation from existing timetables. For most of the problem instances which consist of up to 108 trains running on 86 block sections in the Netherlands and random input delays, they provide the solutions in 20 second by a branch-and-bound algorithm with initial heuristics. D’Ariano et al. (2008) extend the model to a con- flict detection and resolution problem, implementing rerouting of trains by a local search. Corman et al. (2010) apply a tabu search to the problem and obtain better results in shorter times. D’Ariano and Pranzo (2009) discuss the minimization of propagation of train delays for several hours in a day. The railway area under study con- sists of 191 block sections, 21 platforms and 40 trains scheduled per hour. They decompose the long time horizon into tractable intervals and solve each subproblem successively. Mazzarello and 0377-2217/$ - see front matter Ó 2012 Elsevier B.V. All rights reserved. http://dx.doi.org/10.1016/j.ejor.2012.04.025 Corresponding author. Tel.: +81 (0)42 573 7311; fax: +81 (0)42 573 7305. E-mail addresses: [email protected] (K. Sato), [email protected] (N. Fukumura). European Journal of Operational Research 221 (2012) 636–648 Contents lists available at SciVerse ScienceDirect European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Upload: keisuke-sato

Post on 05-Sep-2016

230 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Real-time freight locomotive rescheduling and uncovered train detection during disruption

European Journal of Operational Research 221 (2012) 636–648

Contents lists available at SciVerse ScienceDirect

European Journal of Operational Research

journal homepage: www.elsevier .com/locate /e jor

Innovative Applications of O.R.

Real-time freight locomotive rescheduling and uncovered train detectionduring disruption

Keisuke Sato ⇑, Naoto FukumuraTransport Information Technology Division, Railway Technical Research Institute, 2-8-38 Hikari-cho, Kokubunji-shi, Tokyo 185-8540, Japan

a r t i c l e i n f o

Article history:Received 12 August 2010Accepted 18 April 2012Available online 26 April 2012

Keywords:TransportationReal-time locomotive reschedulingColumn generationSet-covering relaxationConstrained shortest path

0377-2217/$ - see front matter � 2012 Elsevier B.V. Ahttp://dx.doi.org/10.1016/j.ejor.2012.04.025

⇑ Corresponding author. Tel.: +81 (0)42 573 7311;E-mail addresses: [email protected] (K. Sato), fukum

a b s t r a c t

This paper discusses rescheduling of freight train locomotives when dealing with a disrupted situation inthe daily operations in Japan. Within the current framework of dispatching processes, passenger railwayoperators modify the entire timetables and an adjusted freight train timetable is distributed to a freighttrain operator. For this timetable, we solve the locomotive rescheduling problem by changing the assign-ment of the locomotives to all the trains and considering their periodic inspections. We then solve theuncovered train detection problem that selects unassigned trains according to their value if the resched-uling phase fails.

We formulate the two problems as integer programming problems and solve them by column gener-ation. Our simple speeding-up technique named set-covering relaxation is applied to the reschedulingproblem, which has set-partitioning constraints. The column generation subproblem is reduced to ashortest path problem with the inspection constraint and solved in polynomial time. Numerical experi-ments carried out with a real timetable, locomotive scheduling plan and major disruption data in the areawith the highest frequency of freight trains reveal that satisfactory solutions are obtained within 30 sec-ond on a PC even for cases with a 72-hour goal for recovery. The set-covering relaxation speeds up thecomputation time by a factor of eight at a maximum.

� 2012 Elsevier B.V. All rights reserved.

1. Introduction

Optimization approaches for railway planning problems such astimetabling, rolling stock circulation and crew scheduling havebeen long and widely studied, and have recently brought majorsuccess to some train operators (refer to Caprara et al., 2007; Kroonet al., 2009; Vaidyanathan et al., 2008a,b). They dramaticallyreduce the associated operational cost and improve satisfactionof passengers and cargo owners. Meanwhile under a disruptedsituation in the daily operations where planned timetables andschedules cannot be achieved (accidents or adverse weather condi-tions), resolutions of timetable adjustment and rolling stock/crewrescheduling by optimization have not yet been proposed suffi-ciently as indicated by Jespersen-Groth et al. (2009) as well asRezanova and Ryan (2010). The prime factor making the resched-uling optimization difficult is time for train dispatchers in chargeto wait for a solution provided by a computer. A feasible solutionof acceptable quality must be obtained as quickly as possible toprevent train delays from further propagating, particularly in areaswith high frequency of train operations.

ll rights reserved.

fax: +81 (0)42 573 [email protected] (N. Fukumura).

Among the literature on optimization approaches for railwaydisruption management, Walker et al. (2005) schedule simulta-neously timetables and drivers on the Metro line in New Zealand.They formulate their problem as a set-partitioning problem withmany additional constraints and aim at minimizing the deviationfrom the existing timetables and crew schedules. An arbitrarychosen train (among the 36 ones operated in the area) is delayedfor numerical experiments and the solutions are obtained in110 second. D’Ariano et al. (2007) model real-time conflict resolu-tion of trains as a job shop scheduling problem with an alternativegraph formulation. The optimization criterion is the minimizationof the deviation from existing timetables. For most of the probleminstances which consist of up to 108 trains running on 86 blocksections in the Netherlands and random input delays, they providethe solutions in 20 second by a branch-and-bound algorithm withinitial heuristics. D’Ariano et al. (2008) extend the model to a con-flict detection and resolution problem, implementing rerouting oftrains by a local search. Corman et al. (2010) apply a tabu searchto the problem and obtain better results in shorter times. D’Arianoand Pranzo (2009) discuss the minimization of propagation of traindelays for several hours in a day. The railway area under study con-sists of 191 block sections, 21 platforms and 40 trains scheduledper hour. They decompose the long time horizon into tractableintervals and solve each subproblem successively. Mazzarello and

Page 2: Real-time freight locomotive rescheduling and uncovered train detection during disruption

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 637

Ottaviani (2007) compute an optimal train speed profile in a safeand energy saving manner after solving the conflict detectionand resolution. Törnquist and Persson (2007) formulate timetablerescheduling and track assignments as a mixed integer program-ming problem which minimizes the total delay of trains at theirfinal destinations or the total associated cost. They give fourheuristics and apply them to the South Traffic District in Sweden.The solutions are provided in 5 second for a rescheduling timehorizon of 30 minute, which involves 52 trains on 198 tracksegments. Heilporn et al. (2008) study the minimization of the to-tal delay on an intermodal public transportation network aroundBrussels in Belgium. Instances consisting of 16–101 train stopsare solved within a second by using a constraint generation ap-proach to their mixed integer programming model. The MIP gapsof the solutions range from 0% (optimal) to 11.7%. Schöbel(2006), Schöbel (2009) and Schachtebeck and Schöbel (2010) takerouting of passengers into consideration in their optimizationmodels. Jespersen-Groth (2009) discusses a rolling stock recoveryproblem. The problem aims at rerouting rolling stock accordingto estimated passenger demand, and is formulated as a networkflow model. Reportedly, 100 train tasks are recovered in about70 second. Nielsen and Maróti (2009) model another rolling stockrescheduling as an online combinatorial decision problem. Theyminimize the weighted sum of cancellations of trains, train compo-sition changes and the deviation of rolling stock type in the end-of-day inventory at stations. For realistic instances of passenger rail-way operator NS of the Netherlands, their heuristic modifies therolling stock schedules in a few seconds to 10 minute dependingon rescheduling time horizons. Budai et al. (2010) also minimizethe deviation from the target inventory level of rolling stock typeat stations. Two flow-based heuristics are applied to variants ofrealistic instances of NS with 35 train units and about 900 trips.The solutions are obtained in 4–120 seconds. Huisman (2007)gives a set-covering model for a driver rescheduling problem ofNS where the timetables are changed due to maintenance workon train tracks. It takes about 15 hour to solve the real-world in-stances that have more than 700 driver duties and 7000 tasks bya column generation approach. Another crew rescheduling formu-lation is proposed by Rezanova and Ryan (2010) for the daily dis-ruption. Their model is based on a set-partitioning problem andit is applied to data obtained from Danish passenger railway oper-ator DSB S-tog A/S with up to 74 drivers and 91 tasks. The solutionsare provided in 26 second by column generation. In the airlineindustry, Jarrah et al. (1993), Yan and Tu (1997) and Thengvallet al. (2003) study the optimization of delays and cancellations un-der a disrupted situation by a network model. Their model involvesrescheduling of aircrafts. Rosenberger et al. (2003) give a set-parti-tioning model for aircraft re-assignment to flights, where possibleroutes for the aircrafts are enumerated a priori. They solve theproblem by a heuristic. Sarac et al. (2006) adds maintenance capac-ity constraints to a set-partitioning-based aircraft routing model,and propose a branch-and-price algorithm. An integrated decisionsupport tool proposed in Abdelghany et al. (2008) simultaneouslyoptimizes flight delays, cancellations, aircraft rescheduling andcrew rescheduling during a disruption. Kohl et al. (2007) andClausen et al. (2010) review recent studies. In the context ofgeneral vehicle routing, Huisman and Wagelmans (2006), Li et al.(2007) and Li et al. (2009) propose vehicle rescheduling algo-rithms. They do not take into consideration specific constraints ofthe railway industry such as periodic vehicle inspections.

In this paper, we discuss real-time optimization of reschedulingof locomotives that haul freight trains operated by The JapanFreight Railway Company in Japan. In almost all of their opera-tional areas, freight trains run on infrastructure owned by passen-ger railway operators. The frequencies of the passenger trains arevery high in the urban areas in Tokyo, Nagoya and Osaka, the three

largest cities. The freight trains run between the passenger ones.Under a disrupted situation in the daily operations, train dispatch-ers serving on the passenger operators modify the timetables andaccordingly the rolling stock schedules in various ways for the pas-senger trains (refer to Tomii et al., 2005). At the same time, the dis-patchers adjust the freight train timetable. Within the currentframework of the dispatching processes, options available for thefreight train operator are much restricted; rescheduling its re-sources (locomotives, freight cars, containers and drivers), request-ing for re-adjustment of the timetable or cancelling the trains. There-assignment of the resources to the trains is first tried. Thefreight railway company makes a request to the passenger trainoperators for the re-adjustment of the timetable only if therescheduling phase fails. The request must be made swiftly sinceit may affect timetables of passenger trains. It is, however, not al-ways approved. Train cancellation is the last resort since it mightlose the cargo owners’ trust. Thus resource rescheduling is themost important, and above all, the one pertaining to locomotivesis challenging. The number of available locomotives is rather lim-ited. Exactly one locomotive must be assigned to each train sincean additional locomotive may run over a block section or a plat-form. The time that it takes for a locomotive to haul its loads fromand to the specified stations ranges from 30 minute to 20 hour.Each locomotive must be inspected every 72 or 96 hour dependingon its type, and locomotive depots and workers for the inspectionsare limited. Hence, two or three days of rescheduling have to beconsidered. Meanwhile, maintenance of a locomotive which mustbe held every 90 days is not considered here since the locomotiveis planned to return to its home depot for every five days and themaintenance is presently done every 75 days on average.

Given an adjusted timetable and the current schedules andpositions of locomotives, we introduce two optimization problems.The first one is the locomotive rescheduling problem, in which wechange the assignment of the locomotives to trains. It is conse-quently decided whether all trains are exactly covered by the loco-motives, which is NP-complete as shown later. The secondproblem is the uncovered train detection problem and is solved onlyif the rescheduling fails. The locomotives are assigned to the trainsin accordance with their value, and the remaining uncovered trainsare detected for the re-adjustment of the timetable or the traincancellations. The evaluation criteria are different between thetwo problems, and therefore the whole issue is divided into twophases. Both problems are formulated as integer programmingproblems and solved by column generation (see Desaulniers etal., 2005 for an insightful overview of this topic). More specifically,the first problem is a set-partitioning problem with side con-straints and the second a set-packing problem with the same sideconstraints (refer to Nemhauser and Wolsey, 1988 for set-parti-tioning, set-packing and set-covering problems). As mentionedpreviously, rolling stock rescheduling algorithms are proposed byBudai et al. (2010), Jespersen-Groth (2009), and Nielsen and Maróti(2009). They are based on network flow models. Set-partitioningmodels for other kinds of rescheduling are proposed by Saracet al. (2006) and Rezanova and Ryan (2010) and solved by standardcolumn generation: the set-partitioning constraints are main-tained in the restricted master problems and the column genera-tion subproblems are solved by dynamic programming (refer toNemhauser and Wolsey, 1988) in pseudo-polynomial time. In thispaper, we make the following contributions to the literature:

� a set-covering relaxation to the set-partitioning constraints� a polynomial-time algorithm for the column generation sub-

problem with the periodic locomotive inspection constraint

to achieve the real-time rescheduling of practical cases. Toavoid degeneracy in the column generation, we replace the whole

Page 3: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Fig. 1. Planned timetable/locomotive schedules and adjusted timetable.

638 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

set of set-partitioning constrains with that of set-covering ones,and restore a subset of the set-partitioning constraints during thecolumn generation process. We reduce the column generationsubproblem to an unconstrained shortest path problem in a net-work whose size is polynomial in the size of the input, and applyDijkstra’s algorithm. Our approach can be applied to other rollingstock rescheduling cases in the railway industry provided thattimetable rescheduling has been completed, each train is hauledby a single locomotive or composed of one train unit, and shuntingproblems at stations can be discussed afterwards. Inspections ofrolling stock can be carried out during the rescheduling. The set-covering relaxation can be seen as a simple version of one of thespeeding-up techniques for column generation found in Lübbeckeand Desrosiers (2005), therefore we expect that the relaxation isalso effective for general instances.

The rest of the paper is organized as follows. Section 2 gives pre-cise definitions of the freight locomotive rescheduling and uncov-ered train detection problems. We also discuss the complexity ofthe former problem. In Section 3, we formulate the reschedulingproblem and solve it by column generation combined with theset-covering relaxation and the polynomial-time algorithm forthe column generation subproblem. We subsequently give an algo-rithm for the uncovered train detection problem in Section 4.Numerical experiments with a real timetable, locomotive schedul-ing plan and disruption data are detailed in Section 5. Section 6concludes the paper and presents our view of future work.

2. Problem description

2.1. Network representation

We model a freight train timetable and locomotive schedules asa network. The minimum unit of haulage of a train from and to thespecified stations is termed a task, and a sequence of tasks over sev-eral days is planned for each locomotive. An inspection can also beincluded in a sequence of tasks. Assume here that a disruption hasoccurred and an adjusted timetable is given. Then reschedulingstarting time h0 along with rescheduling period h is set. Given the ad-justed timetable, the planned locomotive schedules, the reschedul-ing starting time and the rescheduling period, we first define nodeset V :¼ K [ I [bI [ D [ S. Set K consists of the involved locomotives.This set also includes available reserve locomotives. Each locomo-tive k 2 K has the information on its previous inspection timePrevIns_time(k), time ready for the rescheduling Ready_time(k)(Ph0) and station Arr_sta(k) where k is at Ready_time(k).Inspection interval Rk, 72 or 96 hour depending on the type ofthe locomotive, is also prepared. The locomotive k must be in-spected every Rk time units. We denote by I the set of reschedulingtasks to be covered. A set of deadhead train tasks without cars isdenoted by bI . These tasks are also given and represent less thanten percent of the whole set of locomotive tasks in the Japanesefreight trains. An element i of I or bI has its departure time Dep_ti-me(i) and station Dep_sta(i), its arrival time Arr_time(i) and sta-tion Arr_sta(i). Note that h0< Arr_time(i) <h0 + h holds, i.e., thearrival time of the rescheduling tasks is neither earlier than therescheduling starting time nor later than the completion time ofthe rescheduling. Since each locomotive has its planned sequenceof tasks, its first task after the rescheduling period has expired,or the task whose departure time is earlier than the completiontime and arrival time is later than the completion time respec-tively, is definable. For a reserve locomotive, the task is to be inits home depot. We call the set of such tasks the convergence tasksand denote them by D. It holds that jDj = jKj by the definition. Eachconvergence task d 2 D has locomotive Due_loco(d) due to be as-signed and next inspection time NextIns_time(d) (Ph0 + h)which are determined by the planned sequence of tasks, as well

as Dep_time(d) and Dep_sta(d). For each node v 2 K [ I [bI, aninspection of the locomotives can be carried out after v when a lo-comotive depot is adjacent to Arr_sta(v). For every such v, we cre-ate an inspection node s. The node has Prev_task(s):¼v and hasstation Sta(s):¼Arr_sta(v). When an inspection is carried outafter Prev_task(s) in the planned schedule of some locomotive,we can regard the corresponding s as a scheduled inspection.Otherwise, it is an unscheduled inspection. The node is also associ-ated to the completion time of the inspection FinishIns_time(s),which is the arrival time of v plus the minimum time required forthe inspection. We denote by S the set of the inspection nodes.

Next, we define directed arc set E. The first type of arcs is drawnfrom a locomotive to a task if pair ðk; iÞ 2 K � ðI [bI [ DÞ satisfies thefollowing condition:

Arr staðkÞ ¼ Dep staðiÞ and Ready timeðkÞþ Buf timeðArr staðkÞÞ

6 Dep timeðiÞ

where Buf_time (⁄) is some buffer time needed to assign a loco-motive to a train at station ⁄. It should be noted that we do not con-sider shunting problems here since there are many tracks andturnouts in the freight stations in Japan. An arc also connects a tasknode pair ði1; i2Þ 2 ðI [bIÞ � ðI [bI [ DÞ if

Arr staði1Þ ¼ Dep staði2Þ and Arr timeði1Þþ Buf timeðArr staði1ÞÞ

6 Dep timeði2Þ

holds. There are no arcs starting at a node belonging to D. For eachinspection node s, we draw (Prev_taskðsÞ; sÞ 2 ðK [ I [bIÞ � S,which expresses an inspection after the end of its previous task. Atask after an inspection is represented by arc ðs; iÞ 2 S� ðI �bI [ DÞsatisfying the condition:

StaðsÞ ¼ Dep staðiÞ and FinishIns timeðsÞ 6 Dep timeðiÞ:

We show here a simple example. Fig. 1 represents a freight traindiagram and the schedules of two locomotives planned on the dia-gram. The locomotive labeled as Loco. 2, for instance, is planned tohaul Train 2 from Station C to Station B, and then Train 4 from Sta-tion B to Station A. We assume that an inspection can be carried outat Station A and Station C, and the label ‘Ins.’ indicates a scheduled

Page 4: Real-time freight locomotive rescheduling and uncovered train detection during disruption

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 639

inspection. Suppose here that a disruption has occurred and that thedeparture of Train 2 is delayed. Loco. 2 would miss Train 4 if no ac-tion was taken. We can avoid this if the tasks of Loco. 1 and Loco. 2are exchanged, i.e., Loco. 1 hauls Train 4 while Loco. 2 does Train 1.Fig. 2 is a graph constructed from the situation shown in Fig. 1. Thenodes of this graph consist of the positions of the locomotives at thestarting times (k1, k2), the tasks to be covered (i1, . . . , i4, i6, i8), thescheduled inspection (s2) after the arrival of Train 4 at Station A,the unscheduled inspections (s1, s3, s4), and the convergence tasks(d5, d8). The directed arcs are drawn between nodes if a locomotiveis able to move between them.

We add two functions c, f to the node set V and the arc set E,and construct network N :¼ ðV ; E; c; f Þ. The cost functionc : K � E! Rþ returns a nonnegative value when a locomotiveand an arc are input. For simplicity we substitute ck

e for c(k,e),and it represents the cost for locomotive k to traverse arc e. Weset ck

e :¼ 0 for arc e 2 E \ ððK [ I [bIÞ � ðI [bIÞÞ when its endpointtasks coincide with two consecutive tasks in the planned se-quence of tasks for any locomotive. Some positive cost is setotherwise, since it indicates a change of locomotive assignment.We prepare two cost values W1 and W2 with W1 < W2. Theplanned sequence of tasks for a locomotive is arbitrarily dividedinto several units called duties by the Japanese freight train oper-ator (just for its convenience). When arc e connects the last taskof one duty with the first task of another duty, we select W1.Otherwise, we do W2. For arc ðv ; sÞ 2 E \ ððK [ I [bIÞ � SÞ from a lo-comotive or a task to an inspection node, its cost is zero when s isa scheduled inspection and is set to W3 otherwise. The cost of arcðs; iÞ 2 E \ ðS� ðI [bI [ DÞÞ from an inspection node to a task nodeis equal to that of (Prev_task(s), i). The cost of an arc ending at aconvergence task, say ck

ðv ;dÞ for (v, d) 2 E \ (V � D), depends on thelocomotive (k). The Japanese freight train operator permits theassignment of a different locomotive (from the planned one) toa task d, though the assignment of the planned one is much pre-ferred. Hence we set ck

ðv ;dÞ :¼ 0 when Due_loco(d) = k andckðv ;dÞ :¼W4 otherwise. There are several types of locomotives run-

ning in the same area, and an additional cost W5 is imposed whenthe task of a locomotive is switched to a task hauled by a differ-ent type of locomotives. When a task should not be covered bylocomotives of a given type (when this type has a too small haul-ing power or when this assignment violates some other opera-tional constraints), we set ck

e :¼ 1 to prevent it from happening.The demand function f : ðI [ DÞ ! Rþ quantifies the importanceof each task.

Fig. 2. Graph constructed from Fig. 1.

2.2. Feasible path and inspection capacity

We consider a path from a locomotive node to a convergencenode in the network. It corresponds to the planned or rescheduledsequence of tasks for the locomotive. Let p be such a path and ck

p be

the sum of costs cke which appear along the path. We call ck

p the cost

of path p of locomotive k. Then p with ckp ¼ 0 is the planned se-

quence of tasks for k and those paths with positive costs corre-spond to sequences with a workload for rescheduling. We alsodefine fp similarly and call it the importance of path p. Recall here,that any locomotive must be inspected for every inspection inter-val Rk. To express a locomotive path in which the periodic inspec-tion is carried out properly, we first prepare function

Hk : ðfkg [ SÞ ! 2ðI[bI[DÞ such that, for each locomotive k 2 K and

inspection s 2 S,

HkðkÞ :¼ fi 2 I [bIjPrevIns timeðkÞ þ Rk P Arr timeðiÞg [ fd

2 DjPrevIns timeðkÞ þ Rk P NextIns timeðdÞg;

HkðsÞ :¼ fi 2 I [bIjFinishIns timeðsÞ þ Rk P Arr timeðiÞg [ fd

2 DjFinishIns timeðsÞ þ Rk P NextIns timeðdÞg:

Set Hk(k) is the set of tasks that can be assigned to locomotive kwithout any inspections. Set Hk(s) includes the tasks that can be as-signed to k after inspection s is done. Note that Hk(v1) # Hk(v2) isequivalent to jHk(v1)j 6 jHk(v2)j for any v1, v2 2 {k} [ S, since thefunction is based on time. We next take the locomotive and inspec-tion nodes contained in path p and call them s0, s1, . . . , sn in order oftheir appearance (s0 = k). Let Npðsm; smþ1Þ# I [bI be the tasks be-tween sm and sm+1 in p, and NpðsnÞ# I [bI [ D the ones after the lastinspection sn. We then consider that path p is a feasible path if p sat-isfies the following condition:

HkðsmÞ � Npðsm; smþ1Þ 8m 2 f0; . . . ;n� 1g;HkðsnÞ � NpðsnÞ:

The locomotive is properly inspected in a feasible path. We denoteby Pk the set of k’s feasible paths for each k 2 K. Another constraintinvolving inspections concerns the limited number of facilities andworkers for them. We let B be the depot set and T be the time spanset. The capacity for inspections in depot b 2 B at time span t 2 T isexpressed as Lb

t .

2.3. Problem definitions and complexity

Given the network N ¼ ðV ; E; c; f Þ, the rescheduling period h,the function Hk for each locomotive k 2 K and the inspection capac-ity Lb

t for every b 2 B, t 2 T, we aim at selecting one path among thefeasible paths for each locomotive so that all the elements in I [ Dare exactly covered, i.e., any task node should be traversed by onlyone path. Note that a train whose locomotive operation in tandemis specified is divided into two distinct tasks, and that the elementsin bI need not be covered or can be covered by up to two paths (thisis the operational rule for the Japanese freight train operator). Atthe same time, the number of locomotive inspections at b and t in-cluded in the selected paths must not exceed Lb

t . The locomotiverescheduling problem decides whether such covering is possibleor not, and if possible, finds paths so that the sum of ck

p is mini-mized. The uncovered train detection problem aims at findingthe combination of feasible paths so that the sum of fp is maxi-mized, under the condition that all the elements in I [ D are cov-ered by up to one path and that the constraints concerningdeadhead tasks and inspections are satisfied.

Page 5: Real-time freight locomotive rescheduling and uncovered train detection during disruption

640 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

We discuss here the complexity of the decision problem part ofour locomotive rescheduling problem. Maróti and Kroon (2005)show that it is NP-complete to decide if the nodes of a directedacyclic graph can exactly be covered by paths satisfying the follow-ing conditions: each path starts at a source (a node with no incom-ing arcs) and ends at a sink (a node with no outgoing arcs), and oneof its paths connects a given source with a given sink. In the loco-motive rescheduling problem, consider a case where bI ¼ S ¼£

holds and for every element of I there exist arcs starting and endingat the node respectively. Then the sources in the network are K andthe sinks are D. We also assume that Hk0 ðk0Þ ¼ I [ fd0g for somek0 2 K and d0 2 D, and that Hk(k) = I [ D for any other k 2 Kn{k0}.Then our problem is feasible if and only if the task nodes can ex-actly be covered by the paths starting at the sources and endingat the sinks and one of its paths connects k0 with d0.

3. Formulation and algorithm of the rescheduling problem

3.1. Integer programming formulation and overall algorithm

We regard the locomotive rescheduling problem as a variant ofa set-partitioning problem and model it as an integer programmingproblem. Our formulation consists of the aircraft routing formula-tion by Sarac et al. (2006) and a constraint concerning deadheadtrain tasks. It can also be seen that the model is made up of thedriver rescheduling formulation by Rezanova and Ryan (2010),the deadhead task constraint and an inspection capacity constraint.

For locomotive k 2 K and its feasible path p 2 Pk, let akip be one if

task i 2 I [bI [ D is included in p, otherwise zero. We similarlydefine abk

tp for depot b 2 B at time span t 2 T. We introduce adecision variable xk

p that takes one if p is selected as a rescheduledsequence of tasks for k, otherwise zero. We then present the fol-lowing formulation:

minimizeXk2K

Xp2Pk

ckpxk

p ð1Þ

subject toXk2K

Xp2Pk

akipxk

p ¼ 1 8i 2 I [ D; ð2Þ

Xk2K

Xp2Pk

akip

xkp 6 2 8i 2 bI; ð3Þ

Xp2Pk

xkp ¼ 1 8k 2 K; ð4Þ

Xk2K

Xp2Pk

abktp xk

p 6 Lbt 8b 2 B 8t 2 T; ð5Þ

xkp 2 f0;1g 8k 2 K 8p 2 Pk: ð6Þ

The objective function expressed as Eq. (1) seeks to minimize thetotal sum of the costs of selected paths, i.e., the total workload ofthe rescheduling process. Eq. (2) is a set of set-partitioning con-straints, which indicates that any task is contained in only one ofthe paths. A deadhead train task without cars need not be coveredor can be covered by up to two paths, and it is expressed as con-straint (3). For each locomotive, only one path is selected amongits feasible paths according to Eq. (4). Eq. (5) is the inspection capac-ity constraint for each depot and time span.

The optimal solution for this problem is straightforwardly ob-tained after all the feasible paths Pk are enumerated from networkN , though it would take too much time. We relax the integer con-straints of the variables and apply column generation. Additionallywe change (2) to

Pk2K

Pp2Pk ak

ipxkp P 1, i.e., we replace the set-parti-

tioning constraints with set-covering constraints temporally, sincethe application of column generation to problems with set-parti-tioning constraints is known to cause degeneracy (Lübbecke andDesrosiers, 2005). We also permit that the tasks in bI are covered

by more than two locomotives. We restore a subset of the set-par-titioning constraints (specifically, Eq. (9) shown in the next subsec-tion) and a subset of the deadhead task constraints (Eq. (11)) duringthe column generation process, and solve our problem again in adifferent solution space. We call our relaxation approach a set-cov-ering relaxation and show the overall algorithm in Fig. 3. We opti-mize the LP relaxation of the rescheduling problem and find aninteger solution among the enumerated feasible paths during thecolumn generation. When no integer solution can be found amongthe paths, we exactly decide the feasibility of the locomotiverescheduling problem by a branch-and-price algorithm. The detailsof the subroutines are displayed in the following subsections.

3.2. Initialization and restricted master problem

At Step 1 of the algorithm, we first introduce and initialize iter-ation counter ‘ :¼ 0 of our column generation as well as lowerbound ZLB :¼ 0 of the objective function value. A subset Pk

‘ of allthe feasible paths set Pk is given for each k with Pk

0 :¼£. We thenreplace Pk with Pk

‘ in the locomotive rescheduling problem. Somefeasible paths are generated and added to Pk

‘ through the iterations.Similarly I‘ # I and bI‘ #bI are defined with I0 ¼ bI0 :¼£. The twosubsets are related to the set-covering relaxation; we simply per-mit that the tasks in (I [ D)nI‘ are covered by more than one loco-motives and that any number of locomotives is assigned to thedeadhead tasks in bI nbI‘. The binary constraint (6) is also replacedwith a nonnegative one. One artificial nonnegative variable y isintroduced whose column coefficients consist of the right-handside of Eqs. (2)–(5) and a huge cost M in the objective function,making the problem always feasible at x = 0, y = 1. We give hererestoring parameter G P 0 to enlarge task sets I‘ and bI‘ associatedto the original set-partitioning constraints. This parameter is usedat Step 4. A restricted master problem denoted by (RMP‘) to the ori-ginal locomotive rescheduling problem is thus defined for each ‘ asfollows:

minimizeXk2K

Xp2Pk

ckpxk

p þMy ð7Þ

subject toXk2K

Xp2Pk

akipxk

p þ y P 1 8i 2 ðI [ DÞ n I‘; ð8Þ

Xk2K

Xp2Pk

aki0pxk

p þ y ¼ 1 8i0 2 I‘; ð9Þ

Xk2K

Xp2Pk

akip

xkp þ 2y <1 8i 2 bI nbI‘; ð10Þ

Xk2K

Xp2Pk

aki0p

xkp þ 2y 6 2 8i0 2 bI‘; ð11Þ

Xp2Pk

xkp þ y ¼ 1 8k 2 K; ð12Þ

Xk2K

Xp2Pk

abktp xk

p þ Lbt y 6 Lb

t 8b 2 B 8t 2 T; ð13Þ

y P 0; xkp P 0 8k 2 K 8p 2 Pk

‘ : ð14Þ

At Step 2 of the algorithm we solve (RMP‘) by an interior pointmethod, since [Chapter 12]Desaulniers et al. (2005) point out thatfewer iterations are required for column generation to stop if ananalytic center of the optimal face is adopted as the dual solution.We store the optimal objective value of (RMP‘) in Z‘. At the sametime, we obtain the dual prices or the optimal solutions for the dualproblem of (RMP‘). Let ki be the dual price corresponding to taskconstraint i in Eqs. (8)–(11), lk be that corresponding to constraintk in (12) and mb

t be that corresponding to constraint b, t in (13).

Page 6: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Fig. 3. Algorithm for locomotive rescheduling problem.

Fig. 4. Initial network N .

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 641

3.3. Column generation subproblem

After solving (RMP‘) for ‘, we decide at Step 3 in Fig. 3 if we canimprove the objective value Z‘ by adding new feasible paths to Pk

for some k. We introduce the following column generation sub-problem (SP‘) which is derived from the dual problem of (RMP‘):

find k 2 K p 2 Pk

such that ckp �

Xi2I[bI[D

akipki � lk �

Xb2B

Xt2T

abktp m

bt < 0:

We reduce the search problem to an unconstrained shortest pathproblem though the paths must be chosen from the set of feasiblepaths. We find a path satisfying the above conditions by extendingnetworkN and introducing networkN I. The extended networkN I

is constructed as shown below:

Step A: Sort I [bI [ D in ascending order of Arr_time(i (fori 2 I [bIÞ or NextIns_time(i) (for i 2 D). For each i, set itsranking number on index Ind(i).

Step B: For each k 2 K, make ðjI [bI [ Dj � jHkðkÞj þ 1Þ copies of net-work N and denote them by N jH

kðkÞj; . . . ;N jI[bI[Dj. Add

superscript j 2 fjHkðkÞj; . . . ; jI [bI [ Djg to all the elements,the sets, the functions of network N j.

Step C: For each k and j, change the endpoint ij of every arcðsj; ijÞ 2 Ej \ ðSj � ðIj [ bIj [ DjÞÞ of N j to ijH

kðsjÞj of N jHkðsjÞj.

Step D: For each j, delete every arc ðv j; ijÞ 2 Ej \ ðVj � ðIj [ bIj [ DjÞÞof N j if it satisfies Ind(ij) > j.

An example of network N with one locomotive is displayed inFig. 4. In this figure, locomotive k is allowed to haul three traintasks i1,i2 and i3 without any inspection. Assuming that Finis-hIns_time(s⁄) of inspection nodes s⁄ plus the inspection intervalRk exceeds NextIns_time(d6), the corresponding extended net-work N I is Fig. 5. Path k ? i2 ? i5 ? d6 in Fig. 4 is infeasible since

Page 7: Real-time freight locomotive rescheduling and uncovered train detection during disruption

642 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

it violates the periodic inspection constraint for k to haul i5 justafter doing i2, and there is no arc which connects i3

2 to i35; i

45; i

55 or

i65 in Fig. 5. Path k ? i2 ? s2 ? i5 ? d6 is feasible and path

k3 ! i32 ! s3

2 ! i65 ! d6

6 is in Fig. 5.Take any locomotive node k and inspection node s inN . If we let

jHk(s)j = t, then there are at most t task nodes to which the arcs of Et

are connected in the copied part N t of N I. They are the first t

nodes of the sorted set I [bI [ D from Step A and D, and are equiv-alent to Hk(s). The endpoints of the arcs starting at sj

(j 2 fjHkðkÞj; . . . ; jI [bI [ Djg) are members of N t from Step C. Thusthe constraint that tasks in Hk(s) can be assigned to k after s is ex-pressed by the extended network. Formally, we consider, for loco-

motive k, a path starting at kjHkðkÞj 2 K jH

kðkÞj and ending at an

element ofS

j2fjHkðkÞj;...;jI[bI[DjgDj in N I, i.e., a copied convergence task.

We define, such a path in which superscript q of node vq is de-leted, as a k–D path. Then the following holds.

Proposition 1. For all k 2 K, the set of k–D paths on NI is equivalentto Pk on N .

Proof. Given a k-D path p on N I for any k, we first show that thepath is included in Pk. For any node i 2 Np(sm,sm+1) between twoinspections sm and sm+1 in p, Ind(i) 6 jHk(sm)j holds from Step Cand D in constructing N I. Task i0 satisfying Ind(i0 = jHk(sm)j is amember of Hk(sm) (otherwise Hk(sm) has at most Ind(i0) � 1 tasks,a contradiction), therefore i 2 Hk(sm) holds from Step A and the def-inition of the function Hk. The same holds true for i 2 Np(sn), and pis shown to be a member of Pk.

Given the nodes in a feasible path p 2 Pk, let locomotive k(=s0) be

kjHkðkÞj, each task i 2 Np(sm,sm+1) be ijH

kðsmÞj, inspection sm+1 be sjHkðsmÞj

mþ1

and each i 2 Np(sn) be ijHkðsnÞj. For any i 2 Np(sm, sm+1) it holds that

i 2 Hk(sm) by definition, and so Ind(i)6 jHk(sm)j (otherwise i R Hk(sm)).

The copied node ijHkðsmÞj has also an index IndðijH

kðsmÞjÞ 6 jHkðsmÞj, and

therefore the arcs ending at ijHkðsmÞj are not deleted at Step D.

Meanwhile, sm and its next node in p is connected by the arc drawn

at Step C inNI. Therefore, a path exists onNI from kjHkðkÞj to djH

kðsnÞj ifwe let the endpoint of p be d. h

Fig. 5. Extended

Hence, we can reduce the column generation subproblem (SP‘) to ashortest path problem for all k if we impose the values of the dualprices �ki;�lk;�mb

t on the corresponding nodes. The shortest pathof one locomotive is independent of that of another, therefore wecan find the shortest paths parallelly for k 2 K. Note that the dual price�mb

t imposed on inspection node s is selected as follows: b = Sta(s),and t is the time span which has the minimum value of�mb

t satisfyingt # [Arr_time(Prev_task(s)), Dep_time(w)] where w is a node suchthat (s,w) 2 E. For an acyclic graph with n nodes and m arcs, we cansolve the shortest path problem in O(n + m) by Dijkstra’s algorithm.The extended network N I has at most jV jðjI [bI [ Dj � jHk0 ðk0Þj þ 1Þnodes and jEjðjI [bI [ Dj � jHk0 ðk0Þj þ 1Þ arcs. Since jSj 6 1þ jIj þ jbIjby the definition of inspection nodes and Hk(⁄) takes at most jSj + 1 dif-ferent values among the ðjI [bI [ Dj � jHk0 ðk0Þj þ 1Þ candidates, theshortest path from any locomotive to a convergence node can be foundin Oðð1þ jIj þ jbIj þ jDj þ jSj þ jEjÞjSþ 1jÞ ¼ OððjIj þ jbIj þ jDj þ jEjÞjSjÞ.Moreover we can solve the shortest path problem inOððjIj þ jbIj þ jDj þ jEjÞjKjÞ for each k when h6 Rk holds, i.e., therescheduling period is not longer than the inspection interval of loco-motive k. That is since HkðsÞP jI [bIj holds for any s and there is no arcfrom one node on N HkðkÞ to another node on N j for anyj 2 fðjHkðkÞj þ 1Þ; . . . ; ðjI [bIj � 1Þg.

We add feasible paths with negative cost values obtained byDijkstra’s algorithm to set Ck

‘ . The feasible paths other than theshortest one can also be added which are obtained collaterally bythe algorithm. Let rk

‘ be the shortest path length (let rk‘ :¼ 0 when

Pk‘ ¼£). From the complementary slackness condition for linear

programming problems, rk‘ is always less than or equal to zero.

3.4. Restoring constraints and termination of generation

The feasible shortest paths of the locomotives found in the pre-ceding subsection are equal to the optimal solution for theLagrangian relaxation problem of our locomotive reschedulingproblem with equations (2), (3), (5) relaxed, if we regard the dualprices ki; mb

t as Lagrangian multipliers. By the duality theorem, atany iteration ‘ the optimal value of the Lagrangian relaxationproblem is equal to Z‘ þ

Pk2K rk

‘ , i.e., the objective function valueof (RMP‘) plus the sum of the feasible shortest path lengths. Sincethis value can be adopted as a lower bound of the original

network N I .

Page 8: Real-time freight locomotive rescheduling and uncovered train detection during disruption

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 643

formulation of our locomotive rescheduling problem, we setZLB :¼maxfZLB; Z‘ þ

Pk2K rk

‘g at the beginning of Step 4 in Fig. 3.We refer here to the value of restoring parameter G and enlargetask sets I‘ and bI‘ associated to the original set-partitioning andat-most-two constraints if the following inequality is satisfied:

G� ðZ‘ � ZLBÞP �Xk2K

rk‘ :

Then we denote the optimal solution for (RMP‘) obtained at Step 2by �x; �y, and update the task set associated to the equality constraint(or the at-most-two constraint) at the next restricted master prob-lem (RMP‘+1) to:

I‘þ1 :¼ I‘ [ i 2 I [ DjXk2K

Xp2Pk

akip

�xkp þ �y > 1

8<:

9=;;

bI‘þ1 :¼ bI‘ [ i 2 bIjXk2K

Xp2Pk

akip

�xkp þ 2�y > 2

8<:

9=;:

When the inequality involving parameter G is not satisfied, we letI‘+1:¼I‘ and bI‘þ1 :¼ bI‘. For 0 6 G < 1, sets I‘ and bI‘ are updated ifP

k2K rk‘ ¼ 0 holds, i.e., the column generation with fixed I‘;bI‘ con-

verges. For G = 1, the constraints are changed whenP

k2K rk‘ ¼ 0 or

the lower bound ZLB is updated. If we set G > 1, then sets I‘ and bI‘are also enlarged when the ratio of difference of the objective func-tion value and the current lower bound to the negative sum of thefeasible shortest path lengths is smaller than or equal to G. In thedual problem viewpoint, the domain of variable ki P 0 for i 2 I [ Dis enlarged to ki > �1 by restoring the constraint for i, hence ourrelaxation approach can be seen as a simple version of the BOXSTEPmethod (a survey on speeding-up techniques for column generationcan be found in Lübbecke and Desrosiers (2005)).

At Step 5 of our algorithm, we set Pk‘þ1 :¼ Pk

‘ [ Ck‘ ; ‘ :¼ ‘þ 1 and

go to Step 2 if Z‘ > ZLB holds, since the complementary slackness en-sures that rk

‘ ¼ 0 is equivalent to Ck‘ ¼£. In the cases where task

sets I‘ and bI‘ associated to the original constraints are updated atStep 4, we also return to Step 2 since the dual solution space ischanged. Else, we stop the generation and find an integer solutionin step 6 (see Section 3.5). Note that we stop the algorithm whenZ‘ = M, which means x = 0, y = 1; it is obvious that there exists nosolution for the rescheduling problem in this case.

3.5. Integer solution search and feasibility check

At the starting point of Step 6 in Fig. 3, we have a fractional opti-mal solution for the locomotive rescheduling problem. We then re-store all the set-partitioning constraints by setting I‘ :¼ I [ D;bI‘ :¼ bI,and find an integer solution by applying a branch-and-cut algo-rithm. We denote by ZIP the objective function value of the integersolution. If ZIP < M holds, then it indicates that a not necessarily opti-mal but feasible solution is found. We stop the algorithm there,expecting the solution to be of acceptable quality. Else, it shows thatthere may or may not exist a feasible locomotive rescheduling plansince Pk

‘ # Pk, i.e., not all the feasible paths are enumerated at thispoint. We then apply branch-and-price algorithm (BP) in whichthe branching rule follows that in Rezanova and Ryan (2010). Inthe fractional optimal solution of (RMP‘), we find a locomotivewhich fractionally covers a task (or an inspection). We introducevariable vector z with

zki :¼

Xp2Pk

akipxk

p 8k 2 K 8i 2 I [bI [ D;

zbkt :¼

Xp2Pk

abktp xk

p 8k 2 K 8b 2 B 8t 2 T;

then some zki (or zbk

t ) takes a fractional value. When 0 < y < 1, it isobvious from Eq. (9). When y = 0, some pair {p1,p2} of feasible pathssatisfies 0 < xk

p1;0 < xk

p2and xk

p1þ xk

p26 1 from Eq. (12). At least one

task (or one inspection) is included in p1 while it is not in p2, other-wise they are identical and we can set xk

p1¼ 1; xk

p2¼ 0. Hence we di-

vide our linear programming problem into two subproblems. Onehas a constraint such that any feasible path of k in Pk must exactlytraverse i (or must have an inspection in b at t) and that the othermust not. In other words, we branch on zk

i (or zbkt ).

If an integer solution is found whose corresponding objectivefunction value is less than M by solving the LP at a branched node,then our problem turns out to be feasible. We stop the algorithmand output the solution. We also try to find such a solution bybranch-and-cut at some of the branched nodes when we see thatfeasible paths are fully enumerated. If the optimal value after theend of the branch-and-price procedure is M, then the locomotiverescheduling problem is infeasible.

4. Formulation of the uncovered train detection problem

We consider the uncovered train detection problem as a variantof a set-packing problem and aim at maximizing the sum of theimportance of the selected tasks. We give below its formulation:

maximizeXk2K

Xp2Pk

fpxkp ð15Þ

subject toXk2K

Xp2Pk

akipxk

p 6 1 8i 2 I [ D; ð16Þ

Xk2K

Xp2Pk

akip

xkp 6 2 8i 2 bI; ð17Þ

Xp2Pk

xkp 6 1 8k 2 K; ð18Þ

Xk2K

Xp2Pk

abktp xk

p 6 Lbt 8b 2 B 8t 2 T; ð19Þ

xkp 2 f0;1g 8k 2 K 8p 2 Pk: ð20Þ

The objective function expressed as Eq. (15) seeks to maximizethe total sum of the importance of the train tasks. Eq. (16) is a set ofset-packing constraints, which indicates that any task is containedin at most one of the paths. The number of feasible paths selectedfor a locomotive is one or zero (in which case there is no feasiblepath for the locomotive), and it is expressed as constraint (18).The remaining constraints are the same as those of the locomotiverescheduling problem. We again apply column generation to theproblem. Let m be an iteration counter. The feasible paths Pk

‘ enu-merated in the locomotive rescheduling problem are added at thefirst iteration. Any task i with

PPak

ipxkp ¼ 0 in the integer solution

refers to an uncovered task; such tasks are output.

5. Numerical experiments

5.1. Disruption cases and computational environment

This section presents computational results obtained by apply-ing our algorithms to data of the railway line shown in Fig. 6. Theline corresponds to the operational area with the highest frequencyof freight trains in Japan; more than 250 freight trains are operateddaily. The distance between Kuroiso Station and ShimonosekiFreight Station is about 1300 km and it takes almost one day forDC electric locomotives to haul the trains between the stations.

We apply delay and cancellation information reported on thewebsite by Japan Freight Railway Company (2006) to the timetableand the DC locomotive schedule plan for year 2006 (obtained fromAssociation (2006)). We set jKj = 144, which is equal to the numberof locomotives planned for the operations on the line, and assume

Page 9: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Fig. 6. Freight railway line and stations in Japan (Kamada, 2009 and GSI).

644 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

that there is no available reserve locomotive. The locomotives aredivided into seven types with the inspection interval being 72 or96 hour. We choose five major cases among the real disruptionslogged in from July to November 2006 (they are summarized in Ta-ble 1). The columns of this table show the disruption case number,the number of cancelled trains, the number of delayed trains, theaverage delay time of the delayed trains and the number of loco-motives that miss their next trains to haul due to delays or cancel-lations. Three to 24 (17% of all) locomotives will miss their nexttrains to haul without rescheduling; this provides a lower boundof the number of locomotives whose schedules need to be changed.The rescheduling period is set between 36 and 72 hour as there is atask whose running time is over 20 hour. Table 2 shows the num-ber of tasks that must exactly be covered, the number of scheduledand unscheduled inspection nodes, the total number of nodes andarcs in the network and the density of the network for each disrup-tion case and rescheduling period. The density of a network is de-

fined as jEj= jV j2

� �� 100 where jV j

2

� �¼ ðjV jjV � 1jÞ=2.

Table 1Disruption cases.

No. # Cancelledtrains

# Delayedtrains

Average delay(hour)

# Locomotives to missnext trains

1 0 12 3.1 32 0 16 2.2 43 0 18 3.1 54 0 15 4.4 105 2 50 3.1 24

The time span for the inspections is set to twelve hours and thecapacity for each existing depot and time span is one plus the num-ber of scheduled inspections in the depot at that time span. The

upper limit for the number of feasible paths Ck‘

��� ��� added to Pk‘ for

each k at iteration ‘is one for ‘ = 0, 66 for ‘ = 1 and five otherwise.We impose such a limitation since it would take more computation

times to solve (RMP‘), (IP) and (BP) for a larger number of Pk‘

��� ���. On

the other hand, we add relatively many paths when ‘ = 1. The set Pk1

consists of only one feasible path selected at ‘ = 0. After solving(RMP1), high dual prices would be set to tasks that were not in-cluded in

Sk2K Pk

1. We expect that each of such tasks would be in-

cluded in Ck1 for some k by enumerating 66 paths for each

locomotive and that all tasks would be covered for (RMP2), wherewe choose this value arbitrarily. We set restoring parameter G to0.0, 1.0, 3.0 and 5.0. The cost values are, W1 = 100, W2 = 160,W3 = 180, W4 = 300, W5 = 400 and M = 30,000, based on the opin-ions of experienced workers who were in charge of reschedulingof locomotives. The importance of each task is given similarly.The programs are implemented in Java SE 6, calling the Java APIof IBM ILOG CPLEX 12.1 for solving (RMP‘), (IP) and (BP). All theexperiments are carried out on a 32-bit Windows PC having a Corei7 CPU with 3.2 GHz and 3 GB RAM. The four CPU cores are used byCPLEX, and the shortest path problem on four locomotives is con-currently solved in (SP‘). The algorithm is run ten times for eachdisruption case and rescheduling period, since feasible paths areenumerated by (SP‘) in a different order for each trial due to themulti-threading and the fact that the dual optimal solution is not

Page 10: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Table 2Instance sizes (jKj = 144 for all cases).

No. Rescheduling period (hour) jI [ Dj jSj jVj jEj Density (%)

Scheduled Unscheduled

1 36 589 91 210 1096 17,032 2.841 48 763 110 278 1385 28,518 2.981 60 945 140 337 1673 41,850 2.991 72 1119 159 405 1962 58,815 3.062 36 608 101 209 1134 18,424 2.872 48 784 117 282 1416 29,665 2.962 60 964 150 336 1711 43,677 2.992 72 1140 166 409 1993 60,460 3.053 36 625 101 220 1165 19,781 2.923 48 796 122 287 1441 31,031 2.993 60 981 150 347 1742 45,810 3.023 72 1152 171 414 2018 62,401 3.074 36 593 92 210 1101 17,069 2.824 48 767 111 278 1390 28,561 2.964 60 949 141 337 1678 41,904 2.984 72 1123 160 405 1967 58,876 3.045 36 596 90 211 1103 17,027 2.805 48 770 109 279 1392 28,523 2.955 60 952 139 338 1680 41,898 2.975 72 1126 158 406 1969 58,885 3.04

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 645

unique for (RMP‘+1), which may cause the linear programming sol-ver to return different values of ki;lk; mb

t . The number of columngeneration iterations and therefore the computation time are alsoexpected to differ from trial to trial. Worst-case complexity cannotbe discussed due toNP-completeness of the feasibility of the loco-motive rescheduling problem. We instead evaluate the maximumrunning time over the ten trials as well as the average time. Wechoose this value arbitrarily so that the average of the resultswould not excessively influenced by a particular sample.

5.2. Locomotive rescheduling results

Table 3 shows the number of column generation iterations, thetotal number of enumerated feasible paths and the CPU times re-quired to solve the locomotive rescheduling problem for eachrestoring parameter value, disruption case and rescheduling peri-od. All the results shown in the table are average values over tentrials. In almost all the cases, the numbers of iterations and enu-merated paths differ from trial to trial and therefore their averagestake fractional values. As we have discussed, it is caused by themulti-threading in solving (SP‘) and the existence of multiple dualoptimal solutions for (RMP‘+1). Generally, the number of iterations,the number of paths and the CPU times are in proportion to eachother. The results are not between different values of G for casesNos. 1, 2 and 3 or when the rescheduling period is within 48 hour.For cases Nos. 4 and 5 with the rescheduling period set to 60 or72 hour, we obtain a solution in a shorter time when we setG = 3.0. When G = 0.0 or 1.0, we observe that more iterations are re-quired before updating task sets I‘ and bI‘. These sets are frequentlyupdated when G = 5.0 while the lower bound is not. In the follow-ing experiments, we fix G = 3.0.

In Table 4, the number of locomotives with a modified sequenceof tasks, the objective value of the output integer solution, the MIPgap defined by (ZIP � ZLB)/ZLB � 100, the number of column gener-ation iterations, the total number of enumerated feasible pathsand the CPU times (the overall time, the time spent in each phaseand the maximum of the overall time) are presented for each dis-ruption case and rescheduling period. All the results shown in thetable are average values over ten trials except for the maximumCPU time among the trials.

The instances are feasible except for cases Nos. 3, 4 and 5 withthe rescheduling period set to 36 hour. The reason for the resched-

uling to become feasible when we set a longer rescheduling periodis, that some tasks cannot be covered unless the planned sequencesfor locomotives with different types are exchanged, which must bedone prior to the completion time of the rescheduling. The Japa-nese freight train operator imposes an operational constraintwhere only locomotives of the same type may be assigned to a con-vergence task of a given locomotive in its planned sequence oftasks. There is no time and place for any exchange in the shortrescheduling period while there is a chance for it after 36 hour. Dif-ferent solutions are obtained from trial to trial for some instancesof case No. 4 (when the rescheduling period is set to 48, 60 or72 hour) and case No. 5 (60 or 72 hour). The difference of dual solu-tions returned by the LP solver for a particular (RMP‘+1) affects thefeasible paths enumerated in (SP‘+1) and finally the solutions. Thenumber of locomotives with a modified sequence of tasks doesnot decrease for cases Nos. 3, 4 and 5 though we take a longerrescheduling period. This outcome is possible since we do not di-rectly minimize the number of such locomotives but the sum ofrescheduling penalties (divided into five types).

For cases Nos. 1, 4 and 5, there are around twice as manyrescheduled locomotives as locomotives that miss their next trainsto haul due to the disruption (see Table 1), while that does not holdfor cases Nos. 2 or 3. There are no references about actual resched-uling results and we cannot compare our solutions with actual ones.Dispatchers in charge of locomotive rescheduling generally try toexchange the planned sequence of a disrupted locomotive with thatof an undisrupted one, and our results seem to be comparable tothem in this sense. Our solution for case No. 1 is manually assessedand the rescheduling of the six locomotives is favorably evaluatedby experienced workers of dispatching processes.

We observe a decrease of the objective function value when wetake a longer rescheduling period for cases Nos. 2, 3, 4 and 5. Forcase No. 1 with the various rescheduling periods, the same solutionis obtained, in which the locomotive scheduling is recovered after33 hour. Table 5 presents the number of locomotives with a mod-ified sequence of tasks, the number of unscheduled inspections(the value times cost W3 is included in ZIP as a part of the totalcost), the number of locomotives assigned to a different conver-gence task from the planned one (the value times W4 is in ZIP)and the number of rescheduled locomotives whose sequence oftasks includes a task originally hauled by a different locomotivetype (valued with cost W5) in the feasible rescheduling solutions

Page 11: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Table 3Restoring parameters and CPU times for rescheduling (average over 10 trials).

G No. Rescheduling period (hour) ‘ PPk‘

��� ��� Time (second) G No. Rescheduling period (hour) ‘ PPk‘

��� ��� Time (second)

0.0 1 36 6.0 8921.0 1.0 1.0 1 36 6.8 8922.4 1.01 48 7.2 9530.6 1.4 1 48 8.1 9564.1 1.61 60 7.2 9625.2 2.2 1 60 7.8 9634.4 2.11 72 7.0 9762.0 3.2 1 72 8.9 9752.2 4.22 36 19.1 10640.7 3.4 2 36 21.2 10480.2 3.72 48 21.8 12295.1 5.6 2 48 27.5 11741.9 6.92 60 35.8 14945.5 16.7 2 60 32.2 14602.8 15.32 72 25.7 13505.6 15.8 2 72 27.8 13675.3 17.23 36 28.5 10765.2 4.9 3 36 36.3 10603.0 6.13 48 29.7 13841.4 9.6 3 48 38.7 13357.0 11.73 60 26.2 14574.1 11.8 3 60 26.5 14803.7 12.33 72 35.6 17173.7 26.7 3 72 36.4 17721.1 26.04 36 14.3 9713.1 2.1 4 36 13.3 9714.6 2.04 48 19.9 11125.8 3.8 4 48 23.7 11266.4 4.64 60 37.1 15798.3 15.2 4 60 38.5 14696.4 14.74 72 53.2 19424.5 36.0 4 72 49.0 19505.7 32.95 36 3.0 8728.0 0.5 5 36 3.0 8728.0 0.55 48 36.2 12937.7 10.6 5 48 33.8 12891.2 9.45 60 38.1 15141.3 17.8 5 60 36.8 14986.1 24.45 72 45.2 20650.9 32.4 5 72 42.6 16733.1 30.4

3.0 1 36 6.0 8921.3 0.9 5.0 1 36 6.0 8923.0 0.91 48 7.8 9546.6 1.6 1 48 8.7 9549.2 1.81 60 7.1 9630.1 2.2 1 60 7.0 9635.4 2.41 72 7.6 9735.6 3.7 1 72 7.6 9757.9 3.72 36 22.5 10340.0 3.8 2 36 26.5 10186.6 4.52 48 27.6 11638.6 7.2 2 48 26.5 11644.3 6.62 60 27.3 12494.1 12.3 2 60 28.3 11795.6 11.62 72 23.5 13597.5 15.3 2 72 25.9 14448.1 16.63 36 22.3 10795.2 3.9 3 36 23.2 10786.5 4.23 48 23.8 12561.6 6.7 3 48 23.6 12116.3 6.53 60 26.2 14850.6 12.1 3 60 31.8 15364.4 14.73 72 34.6 17514.2 25.3 3 72 35.4 17778.5 26.14 36 11.7 9572.7 1.6 4 36 10.9 9586.7 1.64 48 18.6 10898.3 3.7 4 48 22.2 10959.2 4.84 60 29.0 14185.5 10.9 4 60 33.1 13425.1 12.54 72 37.7 17784.2 23.9 4 72 40.5 18325.2 27.45 36 3.0 8728.0 0.5 5 36 3.0 8728.0 0.55 48 25.2 12678.5 7.4 5 48 26.1 11981.9 7.45 60 28.2 16073.3 14.4 5 60 32.3 18570.7 18.25 72 37.6 18215.6 26.7 5 72 47.2 22716.7 38.3

Table 4Rescheduling results and CPU times when G = 3.0 (average over 10 trials).

No. Rescheduling period (hour) #Locos. with modified tasks ZIP Gap (%) ‘ PPk‘

��� ��� Time (second) (RMP‘) (SP‘) (IP) Max. time (second)

1 36 6.0 1200.0 0.00 6.0 8921.3 0.9 0.4 0.5 0.0 1.01 48 6.0 1200.0 0.00 7.8 9546.6 1.6 0.6 0.9 0.0 1.91 60 6.0 1200.0 0.00 7.1 9630.1 2.2 0.6 1.5 0.0 2.41 72 6.0 1200.0 0.00 7.6 9735.6 3.7 0.9 2.9 0.0 4.32 36 16.0 5335.0 0.00 22.5 10340.0 3.8 2.6 1.2 0.0 4.22 48 14.0 5235.0 0.00 27.6 11638.6 7.2 4.1 3.1 0.0 8.62 60 14.0 5120.0 1.23 27.3 12494.1 12.3 5.0 6.2 1.2 17.02 72 14.0 4840.0 0.46 23.5 13597.5 15.3 4.8 9.2 1.3 18.63 36 infeasible – – 22.3 10795.2 3.9 2.6 1.3 0.0 4.93 48 18.0 8430.0 0.00 23.8 12561.6 6.7 3.7 3.1 0.0 7.73 60 16.0 7850.0 0.00 26.2 14850.6 12.1 5.4 6.7 0.0 13.43 72 17.0 7710.0 0.00 34.6 17514.2 25.3 10.7 14.6 0.0 28.04 36 infeasible – – 11.7 9572.7 1.6 1.0 0.6 0.0 1.94 48 20.4 5560.0 0.00 18.6 10898.3 3.7 1.8 1.8 0.0 5.84 60 20.8 5560.0 0.00 29.0 14185.5 10.9 5.4 5.5 0.0 13.24 72 20.4 5240.0 0.00 37.7 17784.2 23.9 10.9 13.0 0.0 27.85 36 infeasible – – 3.0 8728.0 0.5 0.1 0.4 0.0 0.55 48 45.0 16160.0 0.25 25.2 12678.5 7.4 3.8 2.4 1.2 9.05 60 43.5 15632.0 1.77 28.2 16073.3 14.4 6.8 5.2 2.3 16.55 72 44.6 14356.0 0.48 37.6 18215.6 26.7 11.8 12.4 2.5 29.9

646 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

for case No. 3. As we take a longer rescheduling period, both thenumber of unscheduled inspections and the number of resched-uled locomotives assigned to a task originally hauled by a different

type increase. On the other hand, more locomotives are assigned totheir planned convergence tasks at the end of the rescheduling per-iod since there are more opportunities for that. When comparing

Page 12: Real-time freight locomotive rescheduling and uncovered train detection during disruption

Table 6CPU times without set-covering relaxation (average over 10 trials).

No. Reschedulingperiod (hour)

Gap (%) ‘ PPk‘

��� ��� Time (second)

3 36 – 18.9 11542.6 4.43 48 0.00 30.3 19295.2 14.63 60 0.00 52.1 31618.7 52.83 72 0.00 91.4 52240.9 213.24 36 – 9.7 10182.5 1.84 48 0.00 26.2 16761.0 9.24 60 0.00 49.4 30262.0 42.34 72 0.00 82.0 48383.0 161.75 36 – 3.0 8728.0 0.55 48 0.28 27.5 16263.9 10.55 60 1.76 45.6 25857.5 33.85 72 0.51 68.5 35357.2 84.2

Table 7Uncovered train detection results (average over 10 trials).

No. Reschedulingperiod (hour)

#Uncoveredtasks

Gap(%)

m PPk

m

��� ��� Time(second)

(RMPm) (SPm) (IP)

3 36 3.0 0.01 3.6 411.9 7.0 1.1 0.5 5.44 36 1.0 0.00 5.5 705.3 3.0 1.2 0.5 1.35 36 12.3 0.01 8.3 2044.4 4.7 2.8 0.6 1.3

Table 5Rescheduling solution summary of case No. 3.

No. Reschedulingperiod (hour)

#Locos. withmodifies tasks

# Unscheduledinspections

# Locos. whose planned tasknot assigned at end of rescheduling

# Locos. assigned totasks with different type

3 48 18.0 6 10 63 60 16.0 7 8 53 72 17.0 7 4 7

K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648 647

the 72-hour results to the 60-hour ones, we see that four morelocomotives can be assigned to their own convergence tasks byadding one locomotive to the set of rescheduled locomotives.

The MIP gap in Table 4 indicates that optimal solutions are ob-tained for cases Nos. 1, 2 with 36 and 48 hour, cases Nos. 3 and 4.The solutions are very close to optimal for the other cases. All theoptimal integer solutions are obtained at the termination of Step 5in our algorithm, as can be seen in Rezanova and Ryan (2010),where they conclude that it is since each submatrix of the con-straint matrix is a perfect matrix. It should also be noted that thealgorithm stops at Step 5 for all the infeasible cases.

The number of iterations, the number of paths and the CPUtimes are generally in proportion to each other. They are also re-lated to magnitude of disruptions. All solutions are obtained inten seconds when the rescheduling period is set to 48 hour andwithin 30 second when 72 hour overall, which is acceptable en-ough for the freight train operator. It takes almost the same timeto solve the restricted master problem as to solve the column gen-eration subproblem for ‘times. The integer solutions are found veryquickly after the column generation. The computation time of(RMP‘) depends on the size of the network and Pk

‘ while (SP‘) onthe network size only. The CPU times would not be balanced ifour algorithm required more iterations. The difference of the over-all computation time among the trials is very small and can be ig-nored. It should be noted that the short computation times cannotbe achieved without our set-covering relaxation; Table 6 presentsthe MIP gap, the number of column generation iterations, the totalnumber of enumerated feasible paths and the overall CPU time forcases Nos. 3, 4 and 5 where I0 :¼ I [ D; bI0 :¼ bI , i.e., the instances aresolved without the set-covering relaxation. The MIP gap is scarcelyimproved for case No. 5. The values of Z‘ decrease slowly and re-quire more iterations, causing the enumeration of many feasiblepaths. Our relaxation approach speeds up the computation timeby a factor of eight at a maximum.

5.3. Uncovered train detection results

For the cases where the rescheduling is identified as infeasible,we further solve the uncovered train detection problem. Table 7shows the number of uncovered tasks, the MIP gap defined by((the LP upper bound) � (the IP objective value))/(the LP upper

bound) � 100, the number of column generation iterations, thenumber of enumerated feasible paths and the CPU times. We ob-serve that there exist feasible paths of all the locomotives in everycase. Optimal or almost optimal solutions are obtained in terms ofthe objective function. The number of uncovered tasks are small forcases Nos. 3 and 4. For case No. 5, there are more uncovered tasksand four different solutions are obtained among the trials. At everyiteration, about one to two feasible path per locomotive is gener-ated on average. It takes more computation time to solve this prob-lem than the rescheduling one, though there are approximately10,000 feasible paths enumerated in advance. From 27% to 77%of overall time is spent for finding the integer solutions. This obser-vation indicates that the rescheduling algorithm is superior to theuncovered train detection algorithm for the feasibility decision oflocomotive re-assignment.

6. Conclusions

This paper presents a study about the real-time rescheduling offreight train locomotives when dealing with a disrupted situationin the daily operations in Japan. For a given adjusted timetable,we solve the locomotive rescheduling problem by changing theassignment of the locomotives to all the trains and taking into ac-count their periodic inspections. It is simultaneously decidedwhether all trains can exactly be covered by the available locomo-tives, which is NP-complete. We then solve the uncovered traindetection problem that selects unassigned trains according to theirvalue only if the rescheduling phase fails. We formulate and solvethe two problems by column generation. We apply a set-coveringrelaxation to the set-partitioning constraints of the reschedulingproblem. We reduce the column generation subproblem with theinspection constraint to a unconstrained shortest path problemand solve it in polynomial time. Numerical experiments carriedout with a real timetable of long-distance trains, locomotive sched-uling plan and major disruption data indicate that our algorithmsprovide satisfactory solutions within 30 second on a PC for variouscases with a 72-hour goal for recovery. The set-covering relaxationspeeds up the computation time by a factor of eight at a maximum.

A computer-aided rescheduling system embedding the pro-posed algorithm is being developed for practical use. Our futurestudy aims at integrating the locomotive problem and the driverrescheduling problem formulated by Sato and Fukumura (2010)into one framework; there is an operational rule stating that somedrivers can drive a limited number of locomotive types. Mean-while, the timetable modification algorithm by Tomii et al.(2005) handles the timetable of freight trains in addition to those

Page 13: Real-time freight locomotive rescheduling and uncovered train detection during disruption

648 K. Sato, N. Fukumura / European Journal of Operational Research 221 (2012) 636–648

of passenger trains in Japan. Communication and synchronizationbetween their algorithm and ours could also be interesting.

Acknowledgments

The authors thank anonymous reviewers for their valuablecomments. The data for the numerical experiments are partiallyprovided by courtesy of Mr. Eiki Shigeta and Mr. Hiroshi Kawakamiof the Japan Freight Railway Company.

References

Abdelghany, K.F., Abdelghany, A.F., Ekollu, G., 2008. An integrated decision supporttool for airlines schedule recovery during irregular operations. European Journalof Operational Research 185, 825–848.

Budai, G., Maróti, G., Dekker, R., Huisman, D., Kroon, L., 2010. Rescheduling inpassenger railways: the rolling stock rebalancing problem. Journal ofScheduling 13, 281–297.

Caprara, A., Kroon, L., Monaci, M., Peeters, M., Toth, P., 2007. Passenger railwayoptimization. In: Barnhart, C., Laporte, G. (Eds.), Handbooks in OperationsResearch and Management Science. Elsevier, Amsterdam, pp. 129–187, Chapter3.

Clausen, J., Larsen, A., Larsen, J., Rezanova, N.J., 2010. Disruption management in theairline industry—concepts, models and methods. Computers and OperationsResearch 37, 809–821.

Corman, F., D’Ariano, A., Pacciarelli, D., Pranzo, M., 2010. A tabu search algorithm forrerouting trains during rail operations. Transportation Research Part B:Methodological 44, 175–192.

D’Ariano, A., Corman, F., Pacciarelli, D., Pranzo, M., 2008. Reordering and localrerouting strategies to manage train traffic in real time. Transportation Science42, 405–419.

D’Ariano, A., Pacciarelli, D., Pranzo, M., 2007. A branch and bound algorithm forscheduling trains in a railway network. European Journal of OperationalResearch 183, 643–657.

D’Ariano, A., Pranzo, M., 2009. An advanced real-time train dispatching system forminimizing the propagation of delays in a dispatching area under severedisturbances. Networks and Spatial Economics 9, 63–84.

Desaulniers, G., Desrosiers, J., Solomon, M.M. (Eds.), 2005. Column Generation.Springer, New York.

Heilporn, G., Giovanni, L.D., Labbé, M., 2008. Optimization models for the singledelay management problem in public transportation. European Journal ofOperational Research 189, 762–774.

Huisman, D., 2007. A column generation approach for the rail crew re-schedulingproblem. European Journal of Operational Research 180, 163–173.

Huisman, D., Wagelmans, A.P.M., 2006. A solution approach for dynamic vehicle andcrew scheduling. European Journal of Operational Research 172, 453–471.

Japan Freight Railway Company, 2006. Operational Information. <http://www.jrfreight.co.jp/i_daiya/index.html> (in Japanese).

Jarrah, A.I.Z., Yu, G., Krishnamurthy, N., Rakshit, A., 1993. A decision supportframework for airline flight cancellations and delays. Transportation Science 27,266–280.

Jespersen-Groth, J., 2009. Decision Support for the Rolling Stock Dispatcher. Ph.D.thesis, Informatics and Mathematical Modelling, Technical University ofDenmark.

Jespersen-Groth, J., Potthoff, D., Clausen, J., Huisman, D., Kroon, L., Maróti, G.,Nielsen, M.N., 2009. Disruption management in passenger railwaytransportation. In: Ahuja, R.K., Möhring, R.H., Zaroliagis, C.D. (Eds.), Robustand Online Large-Scale Optimization, Lecture Notes in Computer Science, vol.5868. pp. 399–421.

Kamada, T., 2009. Hakuchizu KenMap Ver. 8.4. <http://www5b.biglobe.ne.jp/�t-kamada/CBuilder/kenmap.htm> (in Japanese).

Kohl, N., Larsen, A., Larsen, J., Ross, A., Tiourine, S., 2007. Airline disruptionmanagement—perspectives, experiences and outlook. Journal of Air TransportManagement 13, 149–162.

Kroon, L., Huisman, D., Abbink, E., Fioole, P.-J., Fischetti, M., Maróti, G., Schrijver, A.,Steenbeek, A., Ybema, R., 2009. The new Dutch timetable: the OR revolution.Interfaces 39, 6–17.

Li, J.-Q., Mirchandani, P.B., Borenstein, D., 2007. The vehicle rescheduling problem:model and algorithms. Networks 50, 211–229.

Li, J.-Q., Mirchandani, P.B., Borenstein, D., 2009. Real-time vehicle reroutingproblems with time windows. European Journal of Operational Research 194,711–727.

Lübbecke, M.E., Desrosiers, J., 2005. Selected topics in column generation.Operations Research 53, 1007–1023.

Maróti, G., Kroon, L., 2005. Maintenance routing for train units: the transitionmodel. Transportation Science 39, 518–525.

Mazzarello, M., Ottaviani, E., 2007. A traffic management system for real-time trafficoptimisation in railways. Transportation Research Part B: Methodological 41,246–274.

Nemhauser, G.L., Wolsey, L.A., 1988. Integer and Combinatorial Optimization. JohnWiley & Sons, New York.

Nielsen, L.K., Maróti, G., 2009. Disruption management of rolling stock in passengerrailway transportation. ERIM Report Series Research in Management ERS-2009-046-LIS Erasmus Research Institute of Management, Erasmus UniversityRotterdam.

Railway Freight Association, 2006. The 2006 Japan Freight Railway CompanyTimetable. Railway Freight Association, Tokyo. (in Japanese).

Rezanova, N.J., Ryan, D.M., 2010. The train driver recovery problem—a setpartitioning based model and solution method. Computers and OperationsResearch 37, 845–856.

Rosenberger, J.M., Johnson, E.L., Nemhauser, G.L., 2003. Rerouting aircraft for airlinerecovery. Transportation Science 37, 408–421.

Sarac, A., Batta, R., Rump, C.M., 2006. A branch-and-price approach for operationalaircraft maintenance routing. European Journal of Operational Research 175,1850–1869.

Sato, K., Fukumura, N., 2010. An algorithm for freight train driver rescheduling indisruption situations. Quarterly Report of RTRI 51, 72–76.

Schachtebeck, M., Schöbel, A., 2010. To wait or not to wait—and who goes first?Delay management with priority decisions. Transportation Science 44, 307–321.

Schöbel, A., 2006. Optimization in Public Transportation volume 3 of SpringerOptimization and Its Applications. Springer, New York.

Schöbel, A., 2009. Capacity constraints in delay management. Public Transport 1,135–154.

Thengvall, B.G., Bard, J.F., Yu, G., 2003. A bundle algorithm approach for the aircraftschedule recovery problem during hub closures. Transportation Science 37,392–407.

Tomii, N., Tashiro, Y., Tanabe, N., Hirai, C., Muraki, K., 2005. Train reschedulingalgorithm which minimizes passengers’ dissatisfaction. In: Ali, M., Esposito, F.(Eds.), Innovations in Applied Artificial Intelligence, Lecture Notes in ArtificialIntelligence, vol. 3533. pp. 829–838.

Törnquist, J., Persson, J.A., 2007. N-tracked railway traffic re-scheduling duringdisturbances. Transportation Research Part B: Methodological 41, 342–362.

Vaidyanathan, B., Ahuja, R.K., Liu, J., Shughart, L.A., 2008a. Real-life locomotiveplanning: new formulations and computational results. TransportationResearch Part B: Methodological 42, 147–168.

Vaidyanathan, B., Ahuja, R.K., Orlin, J.B., 2008b. The locomotive routing problem.Transportation Science 42, 492–507.

Walker, C.G., Snowdon, J.N., Ryan, D.M., 2005. Simultaneous disruption recovery of atrain timetable and crew roster in real time. Computers and OperationsResearch 32, 2077–2094.

Yan, S., Tu, Y., 1997. Multifleet routing and multistop flight scheduling for scheduleperturbation. European Journal of Operational Research 103, 155–169.