Transpn Res.-E (Logistics and Transpn Rev.), Vol. 34, No. 2, pp. 101±115, 1998 # 1998 Elsevier Science Ltd. All rights reserved Printed in Great Britain 1366-5545/98 $19.00+0.00
Pergamon
PII: S1366-5545(97)00022±7
ROUTING AND SCHEDULING TEMPORAL AND HETEROGENEOUS FREIGHT CAR TRAFFIC ON RAIL NETWORKS OH KYOUNG KWON
The Korea Transport Institute, 968-5 Daechi-Dong, Kangnam-Gu, Seoul 135-280, Korea
CARL D. MARTLAND and JOSEPH M. SUSSMAN
Henry L. Pierce Laboratory, Department of Civil and Environmental Engineering, Massachusetts Institute of Technology, 77 Massachusetts Avenue, Cambridge, MA 02139, U.S.A. (Received 23 January 1996; in revised form 2 June 1997) AbstractÐFreight car scheduling is taking on a more important role in rail operating plans as more shippers demand trip plan information for their procurement, production and distribution plans, and as railroads pursue operations that are better scheduled and planned. This paper presents several ways to improve current freight car scheduling practices and describes a dynamic freight car routing and scheduling model that can produce more achievable and market-sensitive car schedules. A time±space network representation technique was used to represent car moves on possible sequences of car-to-block and block-to-train assignments on a general-merchandise rail service network. The problem was formulated as a linear multicommodity ¯ow problem; the column generation technique was used as a solution approach. The model was tested on a hypothetical rail network based on the sub-network of a major U.S. railroad. # 1998 Elsevier Science Ltd. All rights reserved Keywords: Freight, rail, optimization. 1. INTRODUCTION
Improving service quality has become a more important issue to the railroad industry in this era of deregulation. Shippers have become more sensitive to logistics-related costs and they now require transportation services that can improve their logistics processes throughout the supply chain. They seek to reduce inventories of raw materials and in-progress and ®nished products, and they need freight transportation services that can be closely coordinated with their procurement, production and delivery systems. Freight car scheduling is taking on a more important role in rail operating plans as more shippers demand car schedule information for their procurement, production and distribution plans, and as railroads pursue operations that are better scheduled and planned. Freight car scheduling can be de®ned as the process whereby a car, when it becomes available for movement, is assigned a trip plan that describes when it should be moved by speci®c trains or jobs to its destination (Missouri Paci®c, 1977). In this paper, we identify several ways to improve the current freight car scheduling practices and develop dynamic freight car routing and scheduling model to produce more achievable and market-sensitive car schedules. 2. CURRENT FREIGHT CAR SCHEDULING PRACTICE AND AREAS FOR IMPROVEMENT
The development of freight car scheduling systems was initiated by the Missouri Paci®c Railroad (MoPac) in the early 1970s as the Federal Railroad Administration (FRA) awarded the MoPac a contract for the development and partial implementation of a freight car scheduling system. The MoPac's freight car scheduling system consisted of four components which : (1) centrally de®ne and control the operating plan; (2) generate complete trip plans for cars; (3) establish ®eld visibility of the trip plans; and (4) support information requirements. The freight car scheduling system generates the trip plan or car schedule that de®nes the sequence of blocks and trains a car is scheduled to move on and the locations where the car will be 101
102
Oh Kyoung Kwon et al.
picked up and set out as it travels from its origin to its destination. Trip plans can be generated from the basic components of the typical railroad operating plan: (1) train schedules; (2) blocking plan; (3) train make-up plan; and (4) train connection standards at terminals. The blocking plan determines car-to-block assignments at all terminals. In current blocking plan practice, a block is de®ned by several parameters such as origin, next common destination, priority and ®nal destinations. By specifying ®nal destinations for each block, the current blocking plan allows only ®xed car-to-block assignment. In the MoPac's freight car scheduling system, trip plans are generated based on the following heuristic procedure; . The generation of a trip plan begins by determining the appropriate yard block for the car. . Once a yard block has been selected, a list of trains which carry that yard block is identi®ed. . Car scheduling assigns the car to the earliest candidate train that the car can make. A car `can make' a train if it is (or is scheduled to be) available before the cuto time for that train. . Once the appropriate candidate train has been selected, car scheduling repeats this trip plan generation process from the location where the train will set out the car's block until the complete trip plan is generated. Since the MoPac developed a freight car scheduling system, several railroads have developed and are developing their own freight car scheduling systems. The trip plan generation, which is the core component of these freight car scheduling systems, is still largely based on the heuristic procedure developed by the MoPac. Discussions on the status of car scheduling systems in the U.S railroad industry can be found in Van Dyke (1992, 1994). There are two important issues that the trip plan generation procedures of current freight car scheduling systems have not fully considered. The ®rst issue concerns the heterogeneity of trac in building trip plans. Dierent shippers have dierent service requirements, and a railroad needs to design and deliver dierent service products for them. Some shippers require fast and highly reliable service and may accept a higher price. For example, manufacturers with the JIT (Just-InTime) production system require a tight delivery time window and a very high standard of on-time performance. Other shippers require less costly service and may accept slower and less reliable moves. Such heterogeneity of trac, in terms of dierent service requirements, needs to be considered in order to build trip plans that are sensitive to the service requirements of shippers. Some amount of service dierentiation is feasible through the development of blocking plans, train schedules, and train connection standards. However, when variations in trac or changes in operating conditions occur, it is dicult to dierentiate among dierent shipments moving within the same block. The second issue concerns variability in trac (e.g. weekly and daily trac variability) and potential train capacity problems in building trip plans. Current trip plan generation procedures simply assign cars to the earliest candidate trains without considering the capacity of the train. If the train is full, some cars must be delayed until the next appropriate train departs, typically 24 h later. Car scheduling practice largely neglects potential train capacity problems due to trac variability in building trip plans. A manager can use the system to determine the number of cars assigned to a particular train; if the train is overbooked, the manager can then reschedule some cars to a later train. However, this is a last minute adjustment made after the trip has begun that will alter the trip plan originally developed and given to the customer. A car scheduling that does not automatically consider trac variability and train capacity constraints is likely to produce less
Fig. 1. Current freight car scheduling.
Routing and scheduling
103
achievable trip plans (or, trip plans with unnecessary slack time that consider possible en route delays a priori), especially when the system is congested. In practice, train capacity can be limited by length or by weight. In this paper, we assumed that trains are length limited, but it would be possible to extend the framework to include weight limits. 3. DYNAMIC FREIGHT CAR ROUTING AND SCHEDULING MODEL
We developed a dynamic car routing and scheduling model that incorporates heterogeneity of trac, trac variability, and train capacity restrictions so that it produces trip plans that are more consistent with train length constraints and more sensitive to service requirements of shippers. Figure 2 shows the dynamic freight car scheduling scheme we developed. The major improvement is that the system will delay lower priority trac classes in order to avoid overbooking trains, thereby generating more achievable trip plans. 3.1. Incorporating service standards and trac variability The heterogeneity of trac is considered by incorporating dierent service standards for dierent shippers. In the model, the service standards for dierent shippers are represented by delivery time windows. The trac variability is considered on a weekly basis by incorporating the projected volume of trac by day of week 3.1.1. Incorporating service standards. A railroad can establish service standards for dierent shippers by de®ning a delivery time window based on the explicit requirements of shippers or negotiations with shippers. The delivery time window is speci®ed by earliest and latest acceptable delivery times. Speci®cally: tk 2 tkMIN ; tkMAX 8k 2 K
1
where, K is the set of shippers, tk is the delivery time for shipper k, tkMIN is the earliest acceptable delivery time, and tkMAX is the latest acceptable delivery time. Dierent shippers may impose dierent explicit or implicit costs to a railroad if unreliable service is provided. Explicit costs may include a penalty cost for unreliable service. Implicit costs may include loss of goodwill and long-term market loss to competitive carriers or modes. Depending upon how they measure and evaluate service, some shippers may impose penalties for both early and late arrival. Other shippers may impose penalties only for late arrival. A railroad may estimate penalty costs for dierent shippers based on the explicit penalty cost speci®ed by the shipper or independent study of demand elasticities. Speci®cally, the penalty imposed by shipper k
k can be represented as: 8 > 1
tk ÿ tkMAX ; if tk > tkMAX > > <
2 k
tk 0; if tk 2 tkMIN ; tkMAX > > > : 2
tkMIN ÿ tk ; if tk < tkMIN
Fig. 2. Dynamic freight car scheduling.
104
Oh Kyoung Kwon et al.
where,
tk is the penalty cost when the delivery time is tk , 1
: is the penalty cost function when the actual delivery time is later than the latest acceptable delivery time, and 2
: is the penalty cost function when the actual delivery time is earlier than the earliest acceptable delivery time. Unreliable service also in¯uences equipment utilization and imposes certain costs on the railroad. Therefore, it is important to establish a car scheduling system that produces car schedules, considering both the service requirements of dierent shippers and the potential costs of unreliable compliance with schedules. 3.1.2. Incorporating trac variability. The other important issue to consider is trac variability and possible train capacity problems. There are two possible types of trac variability: one variability comes from relatively regular trac variability, e.g. seasonalities and weekly trac pattern; other variability has a more stochastic nature, e.g. daily trac variability. In this model, we used the projected volume of trac by day of week, as one aspect of trac variability. It would be possible to extend the framework to consider the volume of trac by time of day. It may be desirable to adjust schedules for certain peak periods to prevent possible excessive delays at congested terminals or due to limited train capacities in certain train segments. A railroad could `reschedule' some trac (e.g. less important trac) by holding it at intermediate terminals or even `reroute' some cars via a dierent block sequence and corresponding train sequence during peak periods. It is not possible to deal with these peak period problems using predetermined and ®xed car-toblock assignments that do not vary with day of week or with actual operating conditions. A dynamic management scheme for car-to-block assignment is suggested to incorporate the trac variability in generating trip plans. To allow dynamic car-to-block assignment, the ®nal destinations in the block de®nition are not speci®ed, i.e. the `tag table' that lists ®nal destination of cars that can be assigned to a speci®c block is eliminated. NorFolk Southern has already developed what they call algorithmic blocking, which uses a shortest path algorithm, to assign cars to blocks (Baugher, 1994). This system eliminates the need for an extensive tag table, but does not support dynamic car-to-block assignment as described in this paper. Instead, NorFolk Southern uses a standard car scheduling methodology to create the trip plans from train schedules and cutos. 3.2. Time-space network representation To represent temporal and spatial car movements on the rail network and to ®nd the optimal pattern of car routes and schedules during a planning horizon, the time±space network representation technique is used. The time space network representation technique has been used in many railroad problems (Florian et al., 1976; Hornung and Kornhauser, 1979; Chih, 1990, 1992). It has also been used in other areas such as empty container allocation problem (White, 1972; Crainic et al., 1990), truck ¯eet management (Powell et al., 1988), and airline crew scheduling (Barnhart et al., 1993). A time±space network is built to represent the rail operation over a certain period of time. A procedure for building a time±space network is explained using an example set of train schedules, block de®nition and make-up plan (Tables 1 and 2). In Table 2, there are 3 blocks moving from terminal 1 to terminal 3. These could be carrying dierent trac classes, or these could all have the same trac classes, thereby providing more frequent movement. Table 1. Train schedule: example. Train number
Train capacity (cars)
Terminal
Arrival
Departure
Day
908
200
1 3 9
Ð 04:40 08:40
02:00 05:00 Ð
1 1 1
927
160
1 3 9
Ð 11:55 18:05
09:30 12:25 Ð
1 1 1
942
80
1 3
Ð 24:00
20:00 Ð
1 1
Routing and scheduling
105
Table 2. Block de®nition and train make-up plan: example Block number 1 3 4 6 8 230
Origin
Destination
Trains carrying block
1 1 1 1 1 3
3 3 3 9 9 9
942 927 908 908 927 927, 908
Car movements through possible sequences of car-to-block and block-to-train assignments, car processing activities at a terminal, and possible car holdings at a terminal are represented as dierent types of links on the time-space network. Four dierent types of links are used: movement link, processing link, holding link and dummy link. A movement link represents a de®ned block with a corresponding train schedule. A processing link represents car processing activity at the terminal. A holding link represents car holding until the next available train departure at the terminal. Dummy links are used to represent the delivery time window. 3.2.1. Links to represent de®ned blocks.. A movement link for each block can be represented by identifying its origin, destination, departure time of a train that carries the block from its origin, and arrival time of a train that carries the block to its destination. Figure 3 shows a representation of blocks on the time±space network. When a speci®c block can be assigned to several trains at a terminal, we generate separate movement links for each train. For example, block number 230 at terminal 3 can be assigned to two trains (train 927 and 908). In such a case, we generate two movement links (one for block 230 on train 927 and other for block 230 on train 908). Some blocks are de®ned to use multiple train segments bypassing classi®cation works at intermediate terminals. For example, block number 6 uses two train segments of train 908 (one segment from terminal 1 to 3 and the other from terminal 3 to 9) bypassing the classi®cation at terminal 3. In addition, some blocks are de®ned to use more than one train. It simply requires a `block swap' operation that transfers the block to another train without any classl®cation work at a terminal. Each movement link, therefore, corresponds to one or more train segments. The ¯ow on the movement link denotes cars that are assigned to a speci®c block. The ¯ow upper bound can be the block size limit constrained by corresponding classi®cation track length at terminal. Assuming train capacity constraints that limit the train length, which is the sum of corresponding block sizes, is the stronger constraint, block size constraints are not included in the model. 3.2.2. Links to represent terminal processing. We represent each terminal as two separate nodes (IN and OUT nodes) to represent the terminal processing activities. An IN node is used to
Fig. 3. Representation of blocks.
106
Oh Kyoung Kwon et al.
represent train arrival at terminal. An OUT node is used to represent both the train departure from terminal or the time to ®nish necessary terminal processing time for dierent trac classes. Empirical analyses of terminal performance have shown that dierent classes of trac have dierent train connection performance (i.e. high priority trac has more reliable train connection, performance than low priority trac) and dierent terminal processing times (Kerr et al., 1976). Suppose we have the estimated terminal processing time for each trac class. Then the estimated time to ®nish necessary terminal processing for each trac class can be computed and corresponding nodes can be generated. Processing links are then generated by connecting a node for train arrival and nodes for time to ®nish necessary terminal processing for all trac classes. Flow on the processing link denotes trac volume by trac class handled through yard operation. Actual ¯ow on this link is always equal to the trac volume of a corresponding trac class that arrived on a speci®c train. 3.2.3. Links to represent car holding at terminal. When the number of cars that are expected to be moved on a speci®c train is more than the train's capacity, we need to hold some cars at the terminal until the next available train. For example, the number of cars in terminal 3 that arrived and ®nished the necessary terminal processing before departure time of train 908 is more than the capacity of train 908. Therefore, some cars need to be held at the terminal to connect to train 927 or other trains scheduled to depart later (see Fig. 4). The ¯ow on the holding link denotes cars held in the terminal either waiting for the ®rst available train connection or for the next available train connection if those cars missed their previous train connections due to a train capacity problem. In the model, the ¯ow upper bound is set to in®nity, assuming the terminal always has enough track capacity to hold cars. This assumption implies that the train capacity is the only reason that a car miss a connection in the terminal. This rather strong assumption should be relaxed to represent a more realistic terminal operation. 3.2.4. Service standards and delivery time windows. Individual shipment can be characterized as a group of cars that has the same origin, destination, trac class and departure time (It is also de®ned as a commodity in the model). To consider dierent service standards for dierent shipments, the delivery time window is de®ned by both the earliest acceptable arrival time and the latest acceptable arrival at the destination for each shipment. A sink node and a number of dummy links are used to represent possible car arrivals at the destination. We generate one sink node for each shipment. Then we generate dummy links that
Fig. 4. Time±space network representation for car scheduling.
Routing and scheduling
107
connect all nodes for possible train arrivals at the destination within the delivery time window and the sink node. The ¯ow on each dummy link represents cars arriving at dierent times at the destination terminal for a corresponding shipment. The sum of ¯ows on all dummy links to a speci®c sink node is equal to the volume of the corresponding shipment. The cost of a dummy link is the penalty cost on early or late arrival at the destination. We make two assumptions about the penalty cost function in the model. First, we assume that only late arrivals are penalized by shippers. Second, we assume that the penalty cost is linearly proportional to the lateness. The delivery time window and penalty cost function are represented as follows: tkp tkMAX 8p; 8k
3
tkp k
tkp ÿ tkMAX 8p; 8K
4
where k is the per-unit-time penalty cost. In the model, to handle car moves that would not complete their moves to destination during the planning horizon, a supersink node and additional dummy links are generated to absorb all remaining cars at the end of the planning horizon. The cost of dummy links to the supersink is set high, to minimize the ¯ow on these links. 3.3. Problem formulation We formulated a multicommodity ¯ow problem on a time±space network to determine combined routes and schedules of car movements for a given planning period. Since individual commodities (shipments) share common train capacity, we formulate our problem as a multicommodity ¯ow problem. We formulate the multicommodity ¯ow problem using path ¯ows. The following notation is used for a path ¯ow formulation. ckp : cka :
tkp ): fkp : xa : yt : dk : ut : pa : ta : K: Pk : P: V: A: T:
per unit cost of commodity k on path p per unit cost of link a per unit penalty cost of commodity k by using a path p ¯ow of commodity k on path p size of block a length of train segment t demand of commodity k capacity of train segment t indicator variable for car-to-block assignment 1 if itinery p uses block a; 0 otherwise indicator variable for block-to-train assignment 1 if block a is connected to train t; 0 otherwise set of commodities set of paths from the origin to the destination of commodity k set of paths of all commodities
fP1 ; P2 ; ; PK g set of nodes set of links (including de®ned blocks) set of train segments
3.3.1. Objective function. We would like to ®nd the optimal set of trip plans for cars so as to maximize the achievement of established service standards which are given. The objective of the model is to ®nd the optimal pattern of commodity ¯ows on the speci®ed time±space network and to build corresponding trip plans so as to minimize the total penalty costs (which is equivalent to maximizing adherence to service standards). It is assumed that train cost, car handling cost and car time cost are ®xed during the planning period. The objective function becomes: XX ckp fkp
5 MIN k2K p2pk
108
Oh Kyoung Kwon et al.
where, the path cost ckp is the penalty cost by using path p and can be represented as X cka
tkp ckp a2p
max f0;
tkp ÿ tkMAX g
6
3.3.2. Demand constraints. To ensure that all cars reach their destinations, the following demand constraint is required for each commodity. X fpk d k 8k 2 K
7 p2Pk
3.3.3. Car-to-block and block-to-train assignments, and train capacity constraints. A car moves from its origin to its destination via a sequence of blocks and trains. The car-to-block and blockto-train assignments are explicitly considered in the model for realistic representation of rail operations. In the formulation, an indicator variable pa is used to represent car-to-block assignment and another indicator variable ta to represent block-to-train assignment. The size of block a
xa ) and the length of train segment t
yt ) can be represented using the path ¯ow variables. XX pa fpk
8 xa k2K p2Pk
yt
X a2A
3.3.4. Path ¯ow formulation. represented as follows.
ta xa
X a2A
0 ta @
XX k2K p2Pk
1 pa fpk A
9
The path ¯ow formulation of the multicommodity ¯ow problem is MIN
XX k2K
s:t:
X p2Pk
X a2A
0 ta @
XX k2K p2Pk
fpk 5 0
p2Pk
fpk d k
ckp fpk
10
8 2 K
k
11
1 pa fpk A 4 ut
8t 2 T
wt
8p 2 Pk ; 8k 2 K
12
13
The path ¯ow formulation of this multicommodity ¯ow problem has a very simple constraint structure. The problem has a single constraint for each train segment t which states that the sum of car ¯ows using train segment t is at most the capacity of train ut . The sum of car ¯ows using train segment t can be obtained from the car-to-block assignment (8) and the block-to-train assignment (9). Moreover, the problem has a single constraint for each commodity k which states that the total car ¯ow on all the feasible paths connecting the source node sk and the sink node tk of commodity k must equal the demand dk for this commodity. We de®ne a dual variable k for each commodity k and another dual variable wt for each train segment t. 3.4. Column generation solution procedure Column generation technique has been applied in many areas such as railroad operations (Florian et al., 1976; Crainic and Rousseau, 1986), airline crew scheduling (Crainic and Rousseau,
Routing and scheduling
109
1987; Barnhart et al., 1993), urban transit crew scheduling problem (Desrochers and Soumis, 1989), and vehicle routing problem with time windows (Desrosiers et al., 1984; Desrochers et al., 1992). The column generation algorithm to solve the above multicommodity ¯ow problem is implemented as follows: Step 1. Initialization: Choose an initial set of paths as an initial basic feasible solution. Step 2. Restricted master problem: Solve RMP to optimality using the revised simplex method. It will determine a set of dual solutions wt and k . k k Step 3. Column generation: Solve a shortest path problem from source P node s to sink node t k for each commodity k with respect to the modi®ed costs ca wt . t2a
If for all commodities, the length of the shortest path for that commodity is greater than or equal to k , the current solution is the optimal solution. Otherwise, add paths that have negative reduced cost to RMP and go to Step 2. 3.5. Inputs and outputs of the model Table 3 summarizes the inputs to the model. The operating plans such as train schedules, blocking plan and train make-up plan are inputs to the model. When a set of car schedules obtained from the model is not satisfactory, we can obtain another set of car schedules that is more satisfactory using an iterative procedure by changing input operating plans. In addition, terminal processing times, service standards, and predicted demand during the planning horizon are input. The model requires the predicted demand data during the planning horizon. The operating plans, terminal processing time and service standards are used to construct the time±space network. The penalty cost information is used to de®ne the cost of dummy links that represent the service standards. Table 4 summarizes the output from the model. The main output from the model is the trip plan (car schedule) information that will be used to make customer commitments. The model generates shipment-based trip plans for shipments from dierent shippers at dierent times of the day on dierent days of the week. The model computes the train capacity utilization for each train during the planning horizon. It allows more eective planning of train capacity by ®nding critical capacity bottlenecks of the Table 3. List of the inputs to the model Operating plans *Train schedule (speci®ed by each train segment) departure and arrival terminals designed train capacity *Blocking plan block de®nition (without speci®cation of ®nal destinations) *Train make-up plan block-to-train assignment Terminal processing time estimated terminal processing time by trac class Service standards for shippers delivery time window speci®ed by shipper penalty cost on early or late arrival at destination speci®ed by shipper Demand during planning horizon known and predicted demands by shipper
Table 4. List of outputs from the model Trip plan information by shipper by day of week by departure time at the origin terminal Train capacity utilization by train segment by day of week
110
Oh Kyoung Kwon et al.
system. The model also computes the terminal handling volume for each terminal at dierent time of the day on dierent day of the week. With the trip plan information, these information will help terminal managers to build the more eective terminal work plans. 4. CASE STUDY
This section presents the description and results of the case study. The dynamic freight car routing and scheduling model developed in the research has been tested on a hypothetical network based on the sub-network of a major U.S railroad. The capability of the model to produce achievable and clearly dierentiated schedules of dierent trac classes is discussed. By doing a sensitivity analysis on dierent trac mixes (i.e. the shares of dierent trac classes), what portion of trac can be provided a high quality service is also discussed. The model is coded using IBM's OSL (Optimization Subroutine Library) and the C programming language. All computational tests were run on an IBM RS 6000/370 workstation. 4.1. Case description The case network has 12 terminals. 16 trains are providing car-load (or general merchandise) train service on the network (Fig. 5). The train schedule for each train is speci®ed in terms of a set of departure and arrival times along with its train route. For each train, the number of locomotives, which determines its train capacity in terms of the maximum number of cars it can haul, is speci®ed. The blocking plan speci®es 59 blocks. The network serves 56 markets segmented by origin, destination and trac class. Trac is classi®ed into high and low priority trac. Total trac volume for a one-week period is 9712 cars. Daily average trac volume is 1387 cars for the entire network. In the network, a corridor between terminal 3 and terminal 9 is somewhat congested and causes car delays due to train capacity problems. For the case study, the delivery time window and penalty cost function are de®ned as follows. We use the shortest path time from the origin to the destination as the service standard tkMAX (i.e. the latest acceptable delivery time) for each commodity k. We assumed that the per car terminal processing times for high and low priority cars are 8 h and 16 h, respectively. Since terminal processing times are dierent, feasible train connections are different although they arrive at a terminal at the same time. As a result, the shortest path times of dierent trac classes for the same O±D pair are dierent. It means that the service standards of dierent trac classes for the same O±D pair are dierent. The high priority class has a faster service standard than the low priority class. A dierent penalty cost k is assumed for trac class of commodity k. The penalty cost per hour late for the high priority class is $9. The penalty cost per hour late for the low priority class is $3. A railroad can use its own set of service standards and a dierent penalty cost function.
Fig. 5. Train service frequency of case network.
Routing and scheduling
111
Several test cases that have dierent trac mixes (i.e. shares of high and low priority trac) are de®ned. With P1 as the base case, they are designed to examine the sensitivity of the model output to the trac mixes. Table 5 describes eight test cases examined. 4.2. Analysis results Table 6 summarizes the sizes of case problems in terms of number of commodities, number of nodes, and number of links; and the computational performance in terms of number of iterations to reach the optimality, total number of columns generated, and computation time in seconds. For all problems, the number of commodities is 1226 and the number of nodes is 2946. As was discussed in Section 2, one of the problems of current car scheduling practice is that it does not consider train capacity constraints in generating car schedules. In current practice, a car scheduling system produces and maintains a ®xed set of car schedules, and then assigns trac on that ®xed set of car schedules. This practice at best provides a warning that some trains are oversubscribed. To examine the range of capacity utilization during a planning period and possible capacityrelated problem under dierent car scheduling practices, we compute the maximum and minimum levels of capacity utilization during a one-week period for each train segment based on the result of assigning trac on a set of car schedules. n y tmax max t n1N ut n y min min t t n1n ut where, tmax is the maximum level of capacity utilization for train segment t, tmin is the minimum level of capacity utilization for train segment t; ut is the capacity of train segment t; ynt is the train length of train segment t at day n, and N is the planning period. Consider a case problem P1. We compare the projected train capacity utilization by train segment during the planning period when a railroad uses a ®xed set of car schedules without considering train capacity constraints and when it uses the optimal set of car schedules generated from the model. Suppose a railroad uses a ®xed set of car schedules that are based on the shortest possible schedule for each O±D pair, which is a sequence of car-to-block and block-to-train from the origin Table 5. Test cases with dierent trac mixes Problem
High priority (cars)
Low priority (cars)
High priority share (%)
3068 3244 3784 4484 5424 5884 6724 7362
6644 6488 5928 5228 4228 3828 2988 2350
31.6 33.2 39.0 46.2 55.8 60.6 69.2 75.8
P1 P2 P3 P4 P5 P6 P7 P8
Table 6. Probelm size and computational performance Problem
No. of links
No. of iterations
No. of columns
Computation time (s)
P1 P2 P3 P4 P5 P6 P7 P8
27,238 27,214 26,461 26,236 24,722 24,510 24,110 23,462
10 9 8 9 9 10 9 9
4060 4249 4012 4140 4137 4069 4103 4067
1563 1442 1227 1392 1298 1391 1249 1204
112
Oh Kyoung Kwon et al.
to the destination that results in the shortest O±D trip time. To project train capacity utilization for each train segment during the planning period, we assigned the trac volume of each O±D at dierent departure day and time to its corresponding shortest-time path without considering train capacity constraints. Figure 6 shows the range of train capacity utilization for each train segment during the planning period when trac is assigned on a ®xed set of car schedules. Several train segments are highly over-subscribed and others are under-subscribed. This is mainly because this car scheduling practice does not consider train capacity constraints. If there are over-subscribed trains, cars at corresponding terminals are more likely to miss the train connections at terminals, and to have long delays. A railroad needs more controls on car-totrain connections at the terminal level, which is done usually without considering the impact on
Fig. 6. Train capacity utilization with shortest-time path based car schedule.
Fig. 7. Train capacity utilization with optimal car schedules from the model.
Routing and scheduling
113
Fig. 8. Train capacity bottlenecks.
system level service performance, such as O±D trip time and on-time performance. For some train segments that are highly over-subscribed, it may not be feasible to operate trains of such long length. The dynamic car routing and scheduling model developed in this research resolves this problem by explicitly considering train capacity constraints. Figure 7 shows the range of train capacity utilization for each train segment when trac is assigned on the schedules generated from the model. There are no over-subscribed trains during the planning period. The analysis of capacity utilization allows more eective planning of train capacity. From the results of capacity utilization by train segment over the planning horizon, critical train capacity bottlenecks that were fully utilized over a planning period or only during a certain peak days could be found (Fig. 8). By increasing the capacity of selected bottlenecks, a railroad may use the additional capacity increase to optimal service improvements. The major output from the model is car schedule information. The model produces distinct car schedules for dierent departure times at origin, for dierent days of week for each market, for dierent trac classes, and for dierent O±D pairs. To compare the dierence in planned service levels for dierent classes of trac, the mean and standard deviation of lateness by trac class are computed. The lateness is measured by max f0; tkp ÿ tkMAX g, i.e. the dierence between the scheduled O±D trip time and the latest acceptable delivery time. For the case problem P1, mean lateness is 0.1 h and standard deviation of lateness is 0.9 h for the high priority trac. Mean lateness is 10.9 h and standard deviation of lateness is 31.4 h for the low priority trac. It suggests that a railroad can use the model to plan fast and highly reliable service for high priority trac and slower and less reliable service for low priority trac. Table 7. Optimal solutions for case problems High priority
Problem P1 P2 P3 P4 P5 P6 P7 P8
Low priority
Min. penalty cost (dollar)
Mean lateness (h)
Std dev lateness (h)
Mean lateness (h)
Std dev lateness (h)
220,495.2 222,674.7 222,674.7 224,588.7 238,542.0 242,761.5 255,185.5 262,529.3
0.1 0.1 0.1 0.1 0.5 0.6 0.8 0.9
0.9 0.9 0.9 0.8 2.2 2.7 3.4 3.9
10.9 17.3 12.3 14.1 16.7 18.4 23.0 28.5
31.4 30.8 32.7 34.6 37.6 37.7 43.1 45.7
114
Oh Kyoung Kwon et al.
We did a sensitivity analysis on trac mixes by examining all eight test cases that have dierent shares of high and low priority trac. Table 7 summarizes the optimal solutions (minimum penalty cost, mean and standard deviation of lateness for dierent trac classes) for case problems. High priority trac is provided a highly reliable service. As a railroad tries to provide a highly reliable service to more trac, however, service level of high priority trac also begin to deteriorates. Service level of low priority trac, on the other hand, signi®cantly deteriorates as the share of high priority tra1c increases. In addition, the dierence between the service levels of high and low priority trac becomes larger as the share of high priority trac increases. 5. CONCLUSIONS
In summary, this paper has dealt with two well-known problems related to freight car scheduling, namely the lack of train capacity constraints and the inability to adjust trip plans for peak periods based upon priorities for speci®c trac classes. Because of these limitations, car scheduling systems tend to generate many infeasible trip plans and cannot ensure that high priority trac gets the best service during peak periods. Dynamic car scheduling adresses both of these problems; car-to-block assignments take into account train capacity and lower priority cars are deferred to later trains. While the technique presented in this paper requires substantial advance information and extensive computer power, the case study demonstrates that powerful operations research techniques can be used to create more realistic trip plans and to maximize service levels by taking into account the service requirements of dierent classes of trac. The model can also be used to examine the relationship among capacity, trac mix, operating plans, and service capabilities. For example, it could be used to optimize service improvements after adding train capacity or to produce a new set of car-to-block assignments following a change in the operating plan. By iterating over various operating plans, a railroad could use the model to obtain a set of car schedules that best achieve the established service standards for current customers. The model could be enhanced in various ways, including more realistic representation of terminal operations; use of non-linear penalties for late shipments; use of limits on block size; and consideration of stochasticity in demand and operations. Given the very large size of rail networks, however, the most important consideration may be to streamline data requirements and to improve the eciency of the procedures so that actual rail networks can be handled within a reasonable amount of time. In general, the linkage with the rest of the railroad's information system will be very important. The model needs regularly updated information on demand, train capacities, and terminal processing times, and the model must be coordinated with terminal control systems in order to implement a dynamic car-to-block assignment procedure. In closing, it should be noted that certain elements of dynamic car scheduling could be implemented using less complicated methodolody. Car-to-block assignments and train cutos, for example, could be varied by day-of-week and trac class based upon simple heuristics, past experience with train capacity and processing times, and projected trac volumes for the coming period. Standard car scheduling logic would then produce more realistic trip plans, even without any formal attempt to optimize performance.
REFERENCES Barnhart, C., Johnson, E., Anbil, E. L. and Hatay, L. (1993) A column generation technique for the long haul crew assignment problem. In Optimization in Industry, Vol. II. John Wiley and Sons, London. Baugher, R. (1994) Remarks considering the status of trip planning and car scheduling systems in the railroad industry. Proceedings of the Transportation Research Forum, Daytona Beach, pp. 218±222. Chih, K. C., Bodden, M. P., Hornung, M. A. and Kornhauser, A. L. (1990) Routing and inventory logistics system: a heuristic model for optimally managing intermodal double-stack trains. Journal of Transportation Research Forum 31(1), 50±62. Chih, K. C., Hornung, M. A., Rothenberg, M. S., Kornhauser, A. L. and Workman, J. D. (1992) Implementation of a real time locomotive distribution system. In Computers in Railways III, Vol. 2, pp. 38±49. Computational Mechanics Publications, Boston. Crainic, T. and Rousseau, J. (1986) Multicommodity, multimode freight transportation: a general modeling and algorithmic framework for the service network design problem. Transportation Research B 20(3), 225±242.
Routing and scheduling
115
Crainic, T. and Rousseau, J. (1987) The column generation principle and the airline crew scheduling problem. INFOR 25(2), 136±151. Crainic, T. G., Gendreau, M. and Dejax, P. (1990) A Dynamic Stochastic Model for the Allocation of Empty Containers, Publication No. 713. Centre de recherche sur les transports, University of Montreal. Desrochers, M. and Soumis, F. (1989) A column generation approach to the urban transit crew scheduling problem. Transportation Science 23(1), 1±13. Desrochers, M., Desrosiers, J. and Solomon, M. (1992) A new optimization algorithm for the vehicle routing problem with time windows. Operations Research 40(2), 342±354. Desrosiers, J., Soumis, F. and Desrochers, M. (1984) Routing with time window by column generation. Networks 14, 545± 565. Florian, M., Bushell, G. and Ferland, J. (1976) The engine scheduling problem in a rail network. INFOR 14(2), 121±138. Hornung, M. and Kornhauser, A. L. (1979) An analytic model for railroad network restructuring. Report 79-TR-11, Princeton University. Kerr, P. A., Martland, C. D., Sussman, J. M. and Philip, C. E. (1976) Models for Investigating Train Connection Reliability at Rail Classi®cation Yards, Studies in Railroad Operations and Economics, Vol. 14. Massachusetts Institute of Technology. Missouri Paci®c Railroad (1977) Missouri Paci®c's Computerized Freight Car Scheduling System: System Functional Requirements, Report No. FRA-OPPD-77-10. Department of Transportation, Federal Railroad Administration, U.S. Powell, W. B., She, Y. and Nickerson, K. S. (1988) Maximizing pro®ts for North American van lines' truckload division: a new framework for pricing and operations. Interfaces 18(1), 21±41. Van Dyke, C. D. (1992) Trip planning and seamless rail transportation. Proceeding of the Transportation Research Forum 6, 243±263. Van Dyke, C. D. (1994) Status of trip planning and car scheduling systems in the railroad industry. Proceedings of the Transportation Research Forum, Daytona Beach, pp. 218±235. White, W. W. (1972) Dynamic transshipments networks: an algorithm and its application to the distribution of empty containers. Networks 2, 211±236.