Available online at www.sciencedirect.com
Transportation Research Part B 42 (2008) 438–454 www.elsevier.com/locate/trb
A time–space scheduling model for optimizing recurring bulk railcar deliveries Mark Lawley a,*,1, Vijay Parmeshwaran a, Jean-Philippe Richard a, Ayten Turkcan a,2, Malay Dalal b, David Ramcharan b a
School of Industrial Engineering, Purdue University, 315 N Grant Street, West Lafayette, IN 47907, United States b Union Pacific Railroad, 1400 Douglas Street, Stop 0420, Omaha, NE 68179, United States Received 2 October 2006; received in revised form 1 October 2007; accepted 2 October 2007
Abstract This work presents a time–space network flow model for scheduling recurring bulk rail deliveries from suppliers to customers. The objective is to maximize demand satisfied while minimizing waiting times for loading and unloading the bulk commodity. The model uses a variety of information including customer demand, rail network characteristics, loading and unloading hours, and track and station capacities. The planning horizon length and planning period can be varied to provide solutions for both long term planning and short term daily operations. The paper includes computational studies that examine the tradeoff between planning period length and schedule quality. 2007 Elsevier Ltd. All rights reserved. Keywords: Railcar; Scheduling; Time–space model; Rail optimization; Train scheduling; Freight cars
1. Introduction Train scheduling and freight car assignment are omnipresent problems in the operation of large commercial railroads. They arise because railroads not only transport commodities between different locations but also because they typically provide the railcars necessary for the transportation of these commodities. Scheduling recurring bulk rail deliveries such as coal or scrap metal from suppliers to customers is a variant of the more general freight car assignment and the train scheduling problems. It is both important and difficult for commercial railroads. It is important because of the large volume of business it represents. It is difficult because it exploits all available rail resources and information to minimize congestion, maximize capacity, and reduce uncertainty in daily arrival and departure patterns. The benefits of effective bulk scheduling include *
Corresponding author. Tel.: +1 765 494 5415; fax: +1 765 496 1459. E-mail addresses:
[email protected] (M. Lawley),
[email protected] (V. Parmeshwaran),
[email protected] (J.-P. Richard),
[email protected] (A. Turkcan),
[email protected] (M. Dalal),
[email protected] (D. Ramcharan). 1 Weldon School of Biomedical Engineering, Purdue University, 206 S Martin Jischke Drive, West Lafayette, IN 47907, United States. 2 e-Enterprise Center, Purdue University, 203 S Martin Jischke Drive, West Lafayette, IN 47907, United States. 0191-2615/$ - see front matter 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.trb.2007.10.001
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
439
reductions in demand shortage, staffing costs, and loading/unloading delays. Further, effective scheduling can give long range planners a clearer understanding of their true capacity, enabling them to make commitments consistent with their ability to deliver. The scheduling of recurring bulk delivery is different from traditional empty freight car assignments and train scheduling models in three important ways. First, car assignment and scheduling is for a single commodity only. Thus, freight cars used to transport the commodity tend to be homogeneous, and there is no need to model car substitution. Second, shipment quantities between origin–destination pairs (O–D pairs) are very large, implying that shipments are only initiated when a completely loaded train can be sent from origin to destination. As a result, there is no need to model the demand on a car by car basis, and thus it is sufficient to model it on a train by train basis. Finally, demands are recurring and predictable. This follows from the fact that the demand for freight cars follows from a relatively stable production pattern of the railroad customers. In railroads modeling, there may be other sources of uncertainties such as variation of transit times and dwelling times, which will increase the necessity of using a stochastic modeling approach. In our study, the dwelling times are calculated considering the available capacity of the stations, operating days and times at stations. They are dynamic since they change according to the arrival time of the train to the station. The average transit times are calculated according to the traffic on the tracks and they change according to the day and time of the travel. In this study, we use a deterministic approach to solve the problem because of a fairly stable environment. In this paper, we develop a model for the scheduling recurring rail deliveries of bulk commodities from a set of suppliers to a set of customers so as to maximize the demand satisfied during a given planning horizon and minimize total train waiting time. The model considers information on customer demand patterns, rail network characteristics (distance, timing, topology, . . .) , supplier loading capacities and staffing schedules, customer unloading capacities and staffing schedules, and freight railcar characteristics (number, availability, . . .). The model proposed is a time–space network, encoded as a mixed-integer program (MIP), where the representation of the physical network (suppliers, customers, stations, rails, etc.) is replicated for each time epoch or planning period over a finite planning horizon. Time–space models are commonly used to model train scheduling (Sherali and Tuncbilek, 1997; Sherali and Suharko, 1998) and can be easily customized to deal with different practical situations faced by railroad operators and planners on a day to day basis. A feasible solution to the model consists of a set of paths through the network that represents the movement of a set of trains through space and time. We propose an algorithm to solve this model and study its computational characteristics on a set of realistic demand and rail network data provided by an industry partner. Because the complexity of the model increases with the resolution of the planning period and the length of the planning horizon, a major part of this work involves finding a good balance between solution time and schedule quality. Because this model was developed and evaluated in collaboration with a major rail transportation company, we believe that it is practically relevant. Furthermore, we believe that our modeling and solution approaches are unique as they combine and support all of the following features: 1. The model can be used for both tactical planning and detailed daily operations by appropriately selecting the planning horizon, planning period, and network characteristics. 2. The model captures rail network information such as customer working hours, station capacities, and customer priorities that are practically important when coordinating daily activities. 3. The solution methodology produces high-quality solutions for large, realistic networks of the size encountered in practice. It can generate schedules that are highly detailed in the early part of the planning horizon and more aggregate towards the end. 4. The model explicitly considers train routings and yard operating hours to help avoid congestion on the rail network. It also schedules the return and repositioning of empty freight cars to avoid loading delays. 5. The solution approach supports both recurring and sporadic demands. The remainder of the paper is organized as follows: Section 2 provides a literature review on the most relevant railcar assignment and scheduling research. Section 3 describes our scheduling problem and discusses the assumptions of our model. Section 4 presents the time–space model we propose. Section 5 explains
440
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
the solution methodology. Section 6 presents results from our computational studies. Finally, Section 7 summarizes the work. 2. Literature review There is an abundant body of research dealing with problems occurring in the rail industry. In this section, we review the literature most relevant to the scheduling of recurring bulk rail deliveries. For more extensive reviews, the reader is referred Assad (1980), Cordeau et al. (1998), and Crainic and Laporte (1997). Gorman (1998) develops an approach for minimizing the fixed and variable costs associated with computing demand flow and scheduling trains. The model allows capacity limits for trains and introduces some restrictions to alleviate congestion. The solution approach consists in the hierarchical solution of two separate problems: the first one to determine demand flow in the network and the second to schedule trains. Keaton (1992) presents a dual adjustment procedure to iteratively solve the train connections and scheduling problem in which one of the car assignment constraints is dualized. The objective of this work is to minimize car times while minimizing classification and train costs. Both the above approaches do not consider customer/supplier working hours or empty car reassignment. Joborn et al. (2004) apply economy of scale concepts to the empty freight car distribution problem in a scheduled railway system. In their problem, trains run according to a timetable, i.e., train routes, arrival and departure times, capacities, and so forth are known. Car distribution costs are assumed proportional to the number of cars sent from origin to destination, and car-handling costs at rail yards are proportional to the number of blocks of cars handled, therefore favoring the movement of large blocks of cars. Jovanovic and Harker (1991) develop an approach for finding reliable schedules, that is, schedules that have a high probability of remaining feasible under stochastic operating conditions. The model verifies the feasibility of given schedules and uses an MIP to find a feasible plan for train meets and overtakes. Kwon et al. (1998) develop a dynamic freight car routing and scheduling model that manages car-to-block assignment to incorporate seasonal or weekly traffic patterns and daily traffic variability. The approach does not consider empty car reassignment, track capacities, or loading/unloading delays. Newman and Yano (2000a) compare centralized and decentralized scheduling approaches for allocating containers to trains with the objective of minimizing fixed and variable transportation and handling costs for each container, while meeting on-time delivery requirements. Decentralized scheduling allows decision makers in a subset of geographically distinct locations to make independent decisions using only locally available data. Their method computes day-of-week schedules for direct and indirect (via a hub) trains and allocates containers to these trains while respecting train capacity. Container demands are differentiated by origin, destination, origin arrival date, and due date. Hub delays and transit times are assumed to be deterministic. Empty container repositioning can be handled as part of the demand. In a separate paper, Newman and Yano (2000b) propose a decomposition procedure for scheduling direct trains and containers for each origin–destination (O–D) pair, scheduling trains and containers into the hub from each origin, and scheduling trains and containers from the hub to each destination. They do not consider track capacities but propose to limit blocking at the origin using penalty costs. They do not consider the scheduling of empty cars. Sherali and Tuncbilek (1997) consider the day-to-day repositioning of a common pool of empty cars for separate automobile manufacturers. The problem faced by each manufacturer is to determine the fleet size of cars. They propose strategic and dynamic models, where the strategic model estimates the required fleet size using historical demand data, and the dynamic model uses a time–space approach for refinement. The dynamic model is designed with the objective of determining the smallest fleet size needed to satisfy all the demands at various points in time over a rolling horizon. It is based on the following two simple facts: (1) any loaded flow leaving an origin creates a demand of empty cars at that origin at the same time period and (2) any loaded flow arriving at a destination creates a supply of empty cars at that destination at the same time period. The authors develop a heuristic to solve the dynamic model. In related work, Sherali and Suharko (1998) develop an aggregate planning approach for empty car repositioning. The model assumes flexible routing and delay times for each O–D pair and develops aggregate schedules to reposition empty cars. The approach does not consider train capacity or customer/supplier operating schedules.
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
441
In other work, Kraft (2002) uses a probabilistic bid pricing approach for scheduling freight deliveries with the idea of maximizing revenue by reserving capacity for last minute ‘‘walk in demand’’. Dorfman and Medanic (2004) develop a discrete event model to control conflict and congestion at meet–pass nodes and arrival destinations. They assume departure times and train velocities are given. Ghoseiri et al. (2004) develop an MIP coupled with Pareto analysis to minimize fuel costs and travel time. Their model does not explicitly consider train capacity or loading/unloading delays. Sahin (1999) develops a heuristic algorithm for resolving conflicts on a single-track railway with the objective of minimizing total delay. When a conflict occurs at a meet–pass point, a look-ahead method is used to find the consequences of each alternative solution. Our research differs from previous work in that it explicitly considers network capacities, operating hours, preferred routings, and congestion delays simultaneously, which are essential to obtain the highly detailed, feasible schedules for short term planning and operations. Furthermore, strategic and tactical decision making can be supported by selecting longer planning horizons, fewer planning periods, and less restrictive network capacities. The following sections present a detailed discussion of our working assumptions and describe our modeling and solution approaches. 3. Supply network characteristics and assumptions One major source of inefficiency in bulk delivery scenarios for the commercial rail industry is the uncoordinated arrival of multiple trains at suppliers and customers rail yards. Uncoordinated arrivals result in congestion in the yards and hence loading/unloading delays. The objective of our work is to develop a method for scheduling and coordinating supply cycles for customers (where the supply cycle consists of loading, transit, unloading, and return of empty cars to the supplier) that maximizes the amount of demand satisfied. This requires scheduling not only the loading and departure of trains from suppliers to customers to avoid congestion and delays at intermediate stations and customer rails, but also requires scheduling the return and repositioning of empty freight cars to allow suppliers to load new cars. The supply network of interest to our industrial collaborator consists of 18 suppliers, 74 customers, 38 intermediate stations, which are junctions or crew change points and 471 two-way tracks connecting different stations in the network. Also, the number of cars and locomotives available to our industrial partner is limited and the number of trains used for bulk commodity transportation is normally around 60 trains taking into account scheduled and unscheduled maintenance of railcars and locomotives and the availability of crews. We next describe the assumptions we made with respect to the scheduling environment. First, the number of trains that can be serviced simultaneously at any station is limited by material handling equipment. We refer to this as the loading/unloading capacity. In our model, we limit the total number of trains at a station to be no greater than the loading/unloading capacity. This assures that any train at a station during loading/unloading hours can be serviced. Thus, the waiting time for loading/unloading depends on train arrival time, station working days (Monday–Friday, Monday–Saturday, or Monday–Sunday), station operating hours (24 h or daylight hours only), and train loading/unloading time. Most the articles on train scheduling consider fixed delay times, which do not depend on the day and time of operations, at customer and supplier destinations to handle loading or unloading times that do reflect the actual loading or unloading delays due to operating time restrictions or delay due to limitations in material handling at these yards (Dorfman and Medanic, 2004; Ghoseiri et al., 2004). Also, because the loading/unloading capacities of most suppliers and customers in this network are multiples of 40 cars, our industrial partner typically forms trains that are composed of 40 cars. Therefore, we assume all trains are composed of the same number of cars. Second, we observe that each station can only hold a finite number of trains without blocking track segments important for train movement. We refer to this as station capacity. Our model limits the total number of trains at a station to be no greater than station capacity. Gorman (1998) models station capacities as the number of trains that can be serviced per hour without adversely affecting specified yard time. In our study, the number of trains that can be loaded/unloaded simultaneously is considered and denoted as the loading/ unloading capacity of the station, which is less than or equal to station capacity. Thirdly, the number of trains that can be sent on a track segment on any given day is limited. We refer to this number as daily track capacity. Daily track capacities are estimated from their physical characteristics and
442
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
from the number of other trains scheduled to use them. Our model assures that track capacities are not violated. In literature, Gorman (1998) also considers line capacities which are defined as the number of trains on a line over the same time period without significantly slowing travel time due to excessive meets and passes. The track capacity in our study is same as the line capacity defined in Gorman (1998). Fourthly, although there are many routes for every O–D pair, very few are typically used in practice, and usually one is preferred. Therefore, we assume that each supplier–customer pair and customer–supplier pair has a given fixed route, and that track transit times are dependent on the day of the week and the hour of day. The route between each O–D pair is composed of several track segments and the travel times on each track segment is known and provided by our partner. We note that our model can easily be extended to handle flexible routing situations. Fifth, the car fleet of our industrial partner is limited. Therefore, we assume that only a finite number of cars, locomotives, and crews are available. Most articles in the literature model meet and pass (M&P) and meet and overtakes (M&O) and headway constraints explicitly (Dorfman and Medanic, 2004; Ghoseiri et al., 2004; Sahin, 1999; Jovanovic and Harker, 1991). The headway constraints, meets and overtakes on tracks are not explicitly considered in our study. The trains are scheduled to time intervals and this provides additional flexibility for the company to find exact departure times considering the headways. The meets and overtakes on tracks are not considered, because the physical network is a two-way track system and the transit times are calculated according to the possible meets and overtakes on the tracks. Sometimes, the number of trains might be more than the expected number on a track, which affects the transit times significantly. In this case, the freight trains are given the lowest priority to use the track. The trains may have to wait until the track becomes available and that may cause delays in schedule. In that case, the schedule should be updated to incorporate the current delay information. Finally, because demand is fairly predictable and because this model is meant to be run over a rolling horizon, we assume that the demand during the planning horizon for each customer is known. Our model allows the user to specify both the planning period and the planning horizon. In our practical application, we experimented with planning periods ranging from 1 to 12 h and planning horizons of up to 7 days. 4. Mathematical model This section describes our time–space network flow model. Before we derive the model, we illustrate how the time–space network can be generated from the physical rail network. Fig. 1 illustrates a small network with two suppliers {Sa, Sb}, two customers {Ca, Cb}, and two intermediate stations {A, B}. Arcs are labeled with travel times (one time unit is required from Sb to Cb). Fig. 2 shows the corresponding time–space network. It is obtained as follows. The supplier and customer stations are replicated for time periods t0 = 0 to t4 = 4. The number of nodes is equal to (Tend Tbeg + 1) ·
A
1
Sa
1 2 Ca Sb
1
1 1 B Fig. 1. Example network.
Cb
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
443
t0
t1
t2
t3
t4
Sa
Sa
Sa
Sa
Sa
Ca
Ca
Ca
Ca
Ca
Sb
Sb
Sb
Sb
Sb
Cb
Cb
Cb
Cb
Cb
Fig. 2. Time–space representation of example network.
(number of suppliers + number of customers) = 5 · (2 + 2) = 20 nodes. Arcs connecting the same stations at subsequent time periods represent waiting trains (waiting arcs). The number of waiting arcs used to represent trains waiting at route origins and destinations is 2 · (number of routes) · (Tend Tbeg). In our example, there are four supplier–customer pairs, {(Sa, Ca), (Sa, Cb), (Sb, Ca), (Sb, Cb)}, and four customer–supplier pairs, {(Ca, Sa), (Ca, Sb), (Cb, Sa), (Cb, Sb)}, for a total of eight routes. Thus, we have 64 waiting arcs for trains waiting at route origins and destinations. Arcs connecting the origin and destination stations on a route represent the flow of loaded/empty cars (flow arcs). Assuming that the travel time between origin and destination on route r is sr, the origin node in period t will be connected to destination node in period t + sr (for example, Sa at t0 has an arc to Ca in t2 and an arc to Cb in t4). The number of flow arcs for route r is (Tend sr+1). The example has eight O–D pairs with one route each, thus, the number of flow arcs is ðS a ; C a Þð4 2 þ 1Þ ¼ 3
ðC a ; S a Þð4 2 þ 1Þ ¼ 3 ðS a ; C b Þð4 4 þ 1Þ ¼ 1
ðC a ; S b Þð4 2 þ 1Þ ¼ 3:
ðS b ; C a Þð4 2 þ 1Þ ¼ 3
ðC b ; S a Þð4 4 þ 1Þ ¼ 1 ðS b ; C b Þð4 1 þ 1Þ ¼ 4
ðC b ; S b Þð4 1 þ 1Þ ¼ 4:
Fig. 3 illustrates a feasible solution for the small example, assuming four trains available at t0, Train 1 at Sa, Train 2 and Train 3 at Sb, and Train 4 at Cb (we explain the arc labels later in this section). Train 1 waits at Sa and departs at t1, reaching Ca at t3. Train 2 departs Sb at t0 and reaches Ca at t2. At t3, it is assigned to another route and waits at Ca between t3 and t4. Train 3 departs Sb at t0, arrives at Cb at t1, and is unloaded until t3. It is then assigned to another route, departs Cb at t3, reaching Sb at t4. Train 4 departs Cb at t0 and arrives at Sa at t4. We now present the parameters, variables, objective, and constraints of the scheduling model. The objective optimizes a combination of waiting time and demand satisfied. Constraints ensure flow conservation at nodes and guarantee that track and station capacities are not exceeded. Parameters R set of O–D pairs for all loaded and unloaded trains RL R set of O–D pairs for all loaded trains, i.e., all O–D pairs where the origin station is a supplier and the destination station is a customer
444
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
t0=0 Sa
OSaCa,0
t1=1
t2=2
t3=3
t4=4
Sa
Sa
Sa
Sa
Ca
Ca
FSaCa,1
DSaCa,3 Ca
Ca
Ca
DSbCa,2
OCaSa,3
FSbCa,0
Sb
Sb
Sb
Sb
FSbCb,0
Sb
FCbSb,3
FCbSa,0 DSbCb,1 Cb
Cb
DSbCb,2 Cb
Cb
Cb
Fig. 3. Time–space flow representation for example problem.
S set of all loading/unloading stations A set of all track segments RT(r) A set of track segments included in the route of O–D pair r 2 R D set of days making up the planning horizon T(d) set of time periods in day d 2 D D length of planning period Tbeg beginning time of planning horizon Tend ending time of planning horizon, Tend = Tbeg + KD, K 2 Z+ T set of all time periods {Tbeg, Tbeg + D, Tbeg + 2D, . . . , Tbeg + KD = Tend} o(r) origin station of O–D pair r 2 R h(r) destination station of O–D pair r 2 R dr number of trains dispatched on O–D pair r 2 RL wr priority of demand on O–D pair r 2 RL HCs holding capacity at station s 2 S LCs loading/unloading capacity at station s 2 S TCat track capacity of segment a 2 A at time t 2 T sr total travel time of O–D pair r 2 R in multiples of D sra travel time on O–D pair r 2 R to reach track segment a 2 RT(r) in multiples of D ULst loading/unloading time (loading time if the destination station is a supplier and unloading time if the destination station is a customer) for a train arriving at time t 2 T in station s 2 h(r), r 2 R a relative importance of two objective function components, a 2 [0, 1] Variables Frt number of trains departing from o(r) on route r 2 R in time period t 2 T Ort number of trains waiting (or being loaded/unloaded) at o(r) of route r 2 R in time period t 2 T Drt number of trains waiting (or being loaded/unloaded) at h(r) of route r 2 R in time period t 2 T
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
445
4.1. Mathematical formulation XX XX maximize a wr F rt ð1 aÞ ðDrt þ Ort Þ r2RL t2T
subject to X F rt 6 d r ;
r2R
t2T
8r 2 RL ;
ð1Þ
t2T
Or;tD 6 Ort þ F rt ; 8r 2 R; 8t 2 T ; Dr;tD þ F r;tsr P Drt ; 8r 2 R; 8t 2 T ; X ðF kt þ Okt Þ; Dr;tD þ F r;tsr 6 Drt þ X
Or;tD þ
rjs¼oðrÞ
X
X
ðDk;tD þ F k;tsk Þ ¼
kjs¼hðkÞ
X
Ort þ
rjs¼oðrÞ
X
kjoðkÞ¼hðrÞ
ð2Þ ð3Þ 8r 2 R; 8t 2 T ;
X
X
ðOrt þ F rt Þ þ
rjs¼oðrÞ
Dkt ;
8s 2 S; 8t 2 T ;
ð5Þ
kjs¼hðkÞ
8s 2 S; 8t 2 T ;
Drt 6 HCs ;
ð4Þ
ð6Þ
rjs¼hðrÞ
Drt 6 LCs ;
8s 2 S; 8t 2 T ;
ð7Þ
rjs¼hðrÞ
F r;tsr þ X
tþUL Xst
F r;t0 sr 6 Dr;tþULst ;
8t 2 T ; 8r 2 R; s ¼ hðrÞ;
ð8Þ
t0 ¼tþ1
X
8d 2 D; 8a 2 A;
ð9Þ
F rt ; Ort ; Drt P 0; and integer; 8r 2 R; t 2 T :
ð10Þ
F r;tsra 6 TC ad ;
t2T ðdÞ rja2RT ðrÞ
In this work, our industrial collaborator’s goal is to maximize demand satisfied while minimizing total waiting time at stations. Traditionally, in most of previous work, the models reduce the total operating cost of train scheduling, a part of which may be the fixed cost of operating a train and the rest variable costs associated with train formation and car handling (Joborn et al., 2004; Newman and Yano, 2000; Kwon et al., 1998) or minimize total delays (Sahin, 1999) or reduce the total fleet size of the operator (Sherali and Tuncbilek, 1997). Ghoseiri et al. (2004) develop a multi objective model with conflicting objectives namely to reduce total fuel costs while reducing the total travel time of passengers in a passenger rail system. The objective we consider is the weighted sum of demand satisfied and total waiting time. The first term in the objective function represents the number loaded trains departing for customer stations from a supplier station during the current planning horizon. Note that each departure has a weight, wr, that reflects the relative importance of the customer to the railroad. These weights differentiate customers that pay a premium for expedited shipment from those that do not. The second component of the objective represents the total waiting time at customer and supplier locations. Waiting time may be extended if multiple trains are present at a yard simultaneously or if trains arrive at times when loading/unloading is not possible. It is the sum of times the trains spends waiting to be unloaded/loaded, being unloaded/loaded, and waiting to be sent on another assignment. This second component tries to keep trains moving, that is, reduce the time trains spend in yards, which was an important concern of our industrial partner. We note that the two objective components do not necessarily yield solutions with similar characteristics. The weight parameter, a, which is chosen between 0 and 1, is used to adjust the relative importance of the two objectives. When a = 1, demand is optimized without considering the waiting time, when a = 0, only waiting time is minimized. Constraint set (1) guarantees that the number of trains sent on an O–D pair does not exceed the number of trains needed on that O–D pair. Constraint sets (2)–(4) are individual flow balance constraints for each route and each time period. Constraint set (2) balances flow at the origin station of route r. The number of trains waiting at the origin at time period (t D), Or,tD, is no greater than the sum of the number of trains waiting
446
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
at time period t, Ort, and the number of trains leaving the station at the beginning of time period t, Frt. Constraint set (3) balances flow at the destination station. The sum of the number of trains waiting at time period (t-D), Dr,tD, and the number of trains arriving to the station at the beginning of time period t, Fr,ts, is no less than the number of trains waiting at time period t, Drt. We apply flow balance constraints on routes rather than stations to facilitate computation of waiting times. Constraint set (4) guarantees the assignment of the loaded/unloaded train to a route, which has the corresponding station as the origin. Constraint set (5) balances flow for each station, s, in time period t. The total number of incoming trains, (Or,tD + Dk,tD + Fk,ts), must be equal to the number of outgoing trains, (Ort + Dkt + Frt). This constraints set ensures that the number of trains leaving any station is no greater than the number of trains entering the station. Returning to Fig. 3, only the variables illustrated on the arcs are non-zero. They are related through constraints (2)–(5) as in Table 1. Constraint set (6) limits the number of trains waiting at a station to not exceed the station’s holding capacity, HCs. Constraint set (7) ensures that the number of trains simultaneously present at each station does not exceed the loading/unloading capacity of the station. Constraint set (8) guarantees that an unloaded (or loaded) train stays at the destination until it is completely loaded (or unloaded). The left-hand side of constraint (8) shows the number of trains departed from a station for the same destination station between time t sr and t + ULst sr. The right-hand side shows the number of trains at destination station at time t + ULst, which is the time the train departed the origin at time t sr is completely loaded/unloaded. The number of trains at the end of time unit t + ULst should be greater than or equal to the number of trains departed the origin station between time t sr and t + ULst sr. The train which arrives to the destination station can be released only after that. For example, consider an origin– destination pair A–B. Assume the travel time between A–B is 10 time units and, for the sake of simplicity, assume that the unloading time for each train at B is three time units. Let us also assume there are departures from A to B at time units 1 and 2 and there are no other departures until the end of the planning horizon. The first train leaves A at time 1 (t sr = 1) and will reach B at time 11 (t = 11) and stay there until time 14 (t + ULst = 14). At time 11, the number of trains at B is one and we should make sure that it does not leave B until it is completely unloaded. There will be another train arrival to B at time 12. The number of trains at time 12 should be 2, because the first train is still being unloaded. The number of trains at times 13 and 14 should be 2. After time 14, the first train is free to leave B. After time 15, the second train can also leave Table 1 Tight flow conservation constraints for Fig. 3 Constraint set 2 OSaCa,0(=1) 6 FSaCa,1(=1) Constraint set 3 FSbCa,0(=1) P DSbCa,2(=1) FSbCb,0(=1) P DSbCb,1(=1) DSbCb,1(=1) P DSbCb,2(=1) FSaCa,1(=1) P DSaCa,3(=1) Constraint set 4 FSbCa,0(=1) 6 DSbCa,2(=1) FSbCb,0(=1) 6 DSbCb,1(=1) DSbCb,1(=1) 6 DSbCb,2(=1) FSaCa,1(=1) 6 DSaCa,3(=1) DSbCa,2(=1) 6 OCaSa,3(=1) DSbCb,2(=1) 6 FCbSb,3(=1) Constraint set 5 DSbCa,2 + FSaCa,1(=2)=DSaCa,3 + OCaSa,3(=2) OSaCa,0(=1)=FSaCa,1(=1) FSbCa,0(=1)=DSbCa,2(=1) FSbCb,0(=1)=DSbCb,1(=1) DSbCb,1(=1)=DSbCb,2(=1) DSbCb,2(=1)=FCbSb,3(=1)
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
447
Table 2 Illustration of the number of constraints and variables in a test instance Total number of loaded routes (RL): 124 Number of supplier and customer stations (S): 92 Total number of track segments (A): 471
Total routes (R): 395 Days in the planning horizon (D): 7
Planning period length (p) h
Slots in the planning horizon jTj = jDj * (24/p)
Number of constraints jRLj + 4jRjjTj + 3jSjjTj + jDjjAj
Number of variables 3jRjjTj
1 2 3 4 6
168 84 56 42 28
315,229 159,325 107,357 81,373 55,389
199,080 99,540 66,360 49,770 33,180
B. In constraint (8), the total waiting time for loading/unloading (ULst) depends on the arrival time of the train and the station’s working days and hours. Constraint set (9) guarantees that the total number of trains sent on a track segment in any given day does not exceed the daily track capacity of that segment. Finally, constraint set (10) restricts all variables to be nonnegative integers. It is important to observe that the number of trains in the network is not explicitly modeled. As has been mentioned earlier the average number of trains used for bulk commodity transportation in the network is around 60 trains. In practical situations, the exact number of trains in the network used by our partner can change everyday subject to train and crew availability. The exact number of trains available is reflected in the initial snapshot, which reflects the exact position of each train in the network, their route information and intended destination, used to initialize the model. The number of constraints and variables in the MIP formulation depends on network characteristics such as number of track segments, total number of routes between O–D pairs, number of supplier (customer) locations, and on user defined parameters such as the length of the planning horizon and the length of planning period. As the planning horizon increases and planning period length decreases, the number of variables and constraints increases exponentially and the model becomes more difficult to solve in a reasonable amount of time. Table 2 shows the number of constraints and variables for different planning period lengths in a sample test instance with a seven-day planning horizon. The following section describes the heuristic approach we developed to solve large instances of this problem.
5. Solution methodology Since the mathematical program describing this time–space model is a mixed integer program, we first considered solving it using commercial software. Although for small problems with a planning horizon of 2–4 days and a planning period length between 3 and 6 h, optimal solutions were obtained relatively quickly, commercial branch-and-bound algorithms were not able to obtain feasible solutions for problems of industrial size within two days of computation. Our typical industrial problems have a planning horizon of at least 5 days and a planning period of 1–4 h. In literature, different solution methods are used to solve train blocking, scheduling and empty car repositioning problems. Ghoseiri et al. (2004), Gorman (1998), Keaton (1992), Newman and Yano (2000) propose two stage procedures to solve the scheduling problem. The most commonly used technique is to split the problem into a train scheduling problem and a demand flow problem and solve each stage successively in an iterative manner along with a heuristic to reduce computational time. The next most common approach is to model the monolith, stand alone train routing and scheduling problem, and solve it using some relaxation technique, heuristic procedure (Joborn et al., 2004; Dorfman and Medanic, 2004) or column generation approach (Kwon et al., 1998). In this work we develop a heuristic approach based on solving smaller sub-problems of the proposed model to find a weekly schedule in reasonable time. The proposed heuristic is as follows:
448
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
Heuristic 1. Procedure initialization: The model is initialized with the following information: Length of planning horizon (days) First day of the horizon (Mon–Fri) Routing information of each O–D pair Track capacities Demand data for planning horizon Start time of first day, Tbeg
Unit planning period (h) Objective weight, a 2 [0,1] Transit times between different stations Initial location of the railcars Suppliers, customers, intermediate stations
2. Integer model execution: Run time–space model with unassigned variables constrained to integer for time CPU-MAX. If best solution is sufficiently close to optimal, go to step 6. 3. Create sub-problem: Create a sub-problem with starting time Tbeg and planning horizon P% of original horizon. Run time–space model and get solution. 4. Perform fixing step: Fix model variables for first p planning periods in the computed solution. 5. Horizon update: If Tbeg = Tend, go to step 6. Else Tbeg = Tbeg + pD, go to step 3. 6. Write solution and stop. After the model parameters are initialized at step 1, the model is given to a commercial optimization software package and run for a fixed amount of time. Note that for models with planning horizon less than four days, this is typically sufficient to obtain an optimal solution. At the end of the allotted time, the best integer solution obtained by the commercial software is compared to the best bound that was obtained to determine if the optimality gap is sufficiently small. If so, the algorithm is terminated and the integer solution is returned. If the optimality gap is not small, a sub-problem is created with a horizon length that is shorter than the original horizon (D), say P% of the original horizon. For example, if P is equal to 50% and the original horizon length (D) is 1 week, then the planning horizon of the sub-problem is set to four days. This mixed integer sub-problem has fewer integer variables and is easier to solve than the original model. It is solved using commercial software until the optimality gap becomes sufficiently small. At step 4, the decision variables corresponding to the first p periods of the problem are fixed to their value in the computed solution and a new sub-problem is created in which the variables for periods p + 1 to p + 1 + dP · D/100e are computed and fixed. For example, to compute a seven day schedule the first subproblem is initiated with all the data corresponding to the first four days and the problem solved. At the end of this procedure, the decision variables corresponding to the first day might be fixed (say the first p planning periods correspond to the first day) and the second sub-problem is solved for the next four days. This procedure is iterated until all variables of the problem have been assigned. Because there is no requirement that all demand be met, this heuristic always produces a feasible solution. Note that the computational time required by this algorithm depends on the value of p and that it is always possible to reduce the running time of the algorithm by increasing the value of p. It is important to note that these sub-problems can be solved to optimality in most cases, though not necessarily within the allotted computational time. In literature, capping the computation time taken by the commercial solver is not uncommon. Sherali and Suharko (1998) use computational limits of 4 h for solver while Newman and Yano (2000) use a solver time limit of two and a half hours. If the computational procedure is terminated earlier, the best integer feasible solution obtained can be compared to the optimal solution, obtained by running the solver to completion, to decide if the solution satisfies the current needs of the company. In those cases when the sub-problems cannot be solved to optimality, an upper bound on the objective can be achieved through simple LP relaxation. The heuristic provides a schedule for a planning horizon of length D. Table 3 provides an example of a single train schedule, where ‘O’ denotes that the train is at the origin, ‘F ’ denotes that the train is on a route, and ‘D’ denotes the train is at the destination station. This train is at the origin station, LT04, from Monday at
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
449
Table 3 Sample hourly schedule
O F F F F F F F D
Station Id
Arrival (day/time)
Departure (day/time)
LT04 SO69 SO19 AX71 BV81 MK59 TP50 TP33 TP18
MON 0:00 MON 13:00 MON 15:00 MON 19:00 MON 22:00 TUE 2:00 TUE 3:00 TUE 5:00 TUE 6:00
MON 12:00 MON 13:00 MON 15:00 MON 19:00 MON 22:00 TUE 2:00 TUE 3:00 TUE 5:00 THU 23:00
0:00 (12.00 AM) to Monday at 12:00 (12.00 PM), at which time it leaves LT04. It passes through station SO69 on Monday at 13:00, SO19 on Monday 15:00, and so on. It arrives at its destination, TP18, on Tuesday at 6:00 and stays there until Thursday at 23:00. Subsequently, the train is assigned to another route. 6. Computational study In this section, we perform a computational study on a typical problem instance obtained from our industrial partner. Our goal is to understand the effects of system and heuristic parameters on system performance and solution time. We believe this will provide some insight into how to apply our modeling and solution approach to a given system, and might also provide useful insights into system characteristics that constrain performance. Our network instance has 74 customers, 18 suppliers, 60 trains, 38 intermediate stations, 395 routes, and 471 track segments with daily capacities. Typical routes have 4–5 track segments and typical customers have 5–6 possible suppliers. The planning horizon is 7 days and the total demand over the planning horizon is 124 deliveries. We coded our algorithm in C++ and used Xpress-MP callable functions libraries. Table 2 provides a brief overview of the constraints and variables in some of the test instances. We test the effects of three factors on three system performance measures and CPU time. Table 4 presents the factors, and the experimental levels. The three factors are the objective function weight, planning period length, and the heuristic fixing period (see step 4 of the heuristic method). The system performance measures are demand satisfied, trains scheduled, and total waiting time. Recall that the objective function weight, a, specifies how much emphasis to place on each of our system objectives, demand and waiting time. We consider five levels, a = 0, 0.25, 0.5, 0.75 and 1. If a = 0, all emphasis is placed on reducing the waiting time, while if a = 1, all emphasis is on maximizing demand satisfied. The planning period length represents the minimum time window within which departures and arrivals can be scheduled. For example, if planning period length is 4 h, there are six periods throughout the day when arrivals and departures are scheduled. Small planning period resolutions significantly increase the size of the time– space network, while larger planning periods provide less scheduling certainty and perhaps reduce capacity. We test three values for planning period, 3, 4, and 6 h. Finally, the fixing period is the number of hours of the planning horizon that are fixed or assigned in a single iteration of the heuristic. We believe short fixing periods are preferable from a scheduling perspective, since greater scheduling flexibility is maintained for the next iteration, but short fixing periods incur higher computational costs. We experiment with three values of fixing period; one day, one and a half days and two days.
Table 4 Experimental factors Experimental factor
Number of levels
L1
L2
L3
L4
L5
Objective weight Planning period length Heuristic fixing period
5 3 3
0.0 3h 1 Day
0.25 4h 1.5 Days
0.5 6h 2 Days
0.75
1.0
450
M. Lawley et al. / Transportation Research Part B 42 (2008) 438–454
We have 5 · 3 · 3 = 45 different combinations giving us 45 unique test instances. In literature, Keaton (1992) solves three problems with 80 terminals, 1300–1500 O–D pairs and 173 trains. Sherali and Suharko (1998) solve seven problems while Newman and Yano (2000) solve 30 problems on problems of similar size. Joborn et al. (2004) solve 21 problems of which they could not solve 9 problems, which have more than 300,000 constraints and 21,000 binary variables. The size of problem instances used in this work is very comparable to those handled by the articles listed above. We performed a full factorial analysis on the 45 test instances without replication. We performed analysis of variance on the three main effects and the three two factor interactions for each of the performance measures. As is typically done, we used the three factor interaction as a measure of experimental error to compute the f-statistics. Table 5 summarizes the most important effects for each of the performance measures. Note that objective function weight and heuristic fixing period are important for each performance measure, and their two factor interaction seems important for CPU time. We will now look more closely into these results. Fig. 4 illustrates the effect of heuristic fixing period on demand satisfied and trains scheduled. Note that these follow one another very closely, although at different levels. Demand satisfied represents actual loaded trains that are scheduled for both departure and arrival during the week, whereas trains scheduled represents all loaded and unloaded trains scheduled for departure during the seven-day planning horizon. As the heuristic fixing period decreases, demand satisfied and trains scheduled both improve significantly. Thus, we think the fixing period needs to be as short as possible without incurring unreasonable CPU times. Fig. 5 plots the relationship between planning period length and CPU time. As the planning period increases, the computation time decreases significantly. This is due to the fact that the time–space network flow models solved at step 3 of the heuristic have less number of constraints and variables for higher values of planning period. Note from Table 5 that there does seem to be a slight demand related interaction between the fixing period and planning period. Fig. 6 indicates that the overall effect of the planning period depends on the level of the Table 5 Summary of most important effects for analysis of variance
Demand satisfied Trains scheduled Waiting time CPU
Main effects
P-Value
Objective function weight Heuristic fixing period Objective function weight Heuristic fixing period Objective function weight Planning period length
4