European Journal of Operational Research 156 (2004) 41–53 www.elsevier.com/locate/dsw
Operational planning of a large-scale multi-modal transportation system q Benjamin Jansen a,*, Pieter C.J. Swinkels a, Geert J.A. Teeuwen a, Babette van Antwerpen de Fluiter b, Hein A. Fleuren c a
Centre for Quantitative Methods CQM b.v., P.O. Box 414, 5600 AK Eindhoven, The Netherlands b Altera Corp. 101 Innovation Drive, San Jose, CA 95134, USA c Tilburg University, P.O. Box 90153, 5000 LE Tilburg, The Netherlands Received 17 March 2001; accepted 20 February 2003
Abstract This paper describes the operational planning system POP developed for Danzas Euronet, a merger of Deutsche Post Transport and Danzas NTO. As of November 1997, the system has been used daily for the transportation planning of on average 4000 container-orders a day on trains and trucks in Germany. An important feature is that the future has to be taken into account: trucks have to return home within a couple of days, and empty containers have to be available at the right time and the right place. These repositioning aspects are taken into account integrally with the planning of the orders in order to get a cost-efficient solution. In addition, practical constraints play an important role, and the system has to be flexible for new and modified constraints. The system has not only been used heavily for daily planning, but also for many simulation studies, thereby supporting operations as well as commerce. 2003 Elsevier B.V. All rights reserved. Keywords: Transportation; Decision support systems; Large scale optimization; Network flows
1. Introduction Deutsche Post World Net is a major player in the transportation of parcels. Starting in the nineteen nineties, Deutsche Post laid out a new network in Germany consisting of about 35 freight centers with very modern sorting facilities. Longhaul transportation takes place overnight with q
This paper was finalist for the EURO Excellence in Practice Award 2001. * Corresponding author. Tel.: +31-40-2758702; fax: +31-402758712. E-mail address:
[email protected] (B. Jansen).
container transportation between the freight centers. In the morning and in the afternoon the parcels are being distributed to and collected from post offices and clients. In the past five years, the Deutsche Post network has been connected with the networks of several other companies, partly sharing the same sorting facilities, partly sharing the same transportation capacity. The combined network has been operated by Deutsche Post Transport. As of summer 2000 a merger with Danzas NTO led to the new company Danzas Euronet, now operating the synergy of their respective networks. A planning system is indispensable to be able to operate a network where transportation requests
0377-2217/$ - see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/j.ejor.2003.02.001
42
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
vary and so a daily changing plan is required. In 1997, Deutsche Post therefore decided to develop a new operational planning system to support the operations of the long haul. To give an impression of size: the number of transport orders averages over 4000 orders per day and is highly seasonal. It has a dip during the summer of about 2000 containers a day and peaks the week before Easter and Christmas with over 6000 per day. Transport is done by over 1500 trucks as well as a number of trains. The number of freight centers involved per day is over a hundred, consisting of the basic network of Deutsche Post combined with other outlets like regional post offices. The complexity of the planning system has been growing steadily over the years. For instance, increasing competition between the large postal and express companies in Europe gives rise to increased pressure on service times and costs. As of 1998 Deutsche Post guarantees next day service for parcels throughout Germany. An extra complication is that transport in Germany is typically unbalanced. For instance, the number of transport orders from west to east is much larger than from east to west. Therefore, also the repositioning of empty containers has to be taken into account. As costs for repositioning cannot be directly charged to a customer, it is evident that repositioning costs should be avoided as much as possible. The planning system has been developed by the companies CQM and AMIS in close cooperation with the client. CQM is specialized in the application of quantitative models and methods in complex planning environments. AMIS has expertise in Oracle databases. The system is being used daily since November 1997, hence it can be regarded as proven technology. The system is also used to support operations and commerce in various simulation studies. It gives a quick insight in the cost and planning effects of network synergies, customer offerings, and of changes in constraints. The savings obtained by using the system are difficult to measure. We estimate the total cost savings at least at 5%. This does not include the costs of manpower saved by automating the planning. Note that a 1% decrease in cost already leads to a few million dollars cost savings per year.
In this paper we describe the part of the planning system that performs the automatic planning of transport orders, called Planung und Optimierung Programm (POP). It contains many operations research aspects of interest for practitioners as well as theoreticians. Some of the key requirements put forth by the customer were: • It is an operational planning system, and has to take all practically relevant constraints into account. • The planning system should be flexible with respect to future developments at Deutsche Post (new customers, new ways of planning, new constraints, increasing size, etc.). • The daily planning run should require a computation time not more than 15 minutes on a ÔstandardÕ PC or workstation. • Implementation should be platform independent. To conform to these requirements it is important to stress the following contributions which might be of interest to OR-practitioners. • Much attention was paid to modeling this complex problem. Due to the size of the instances and the required runtime very many modeling decisions had to be made. These decisions all had to be based on careful data analysis. • Because of the previous point we have chosen a hybrid and iterative algorithmic approach that enabled us to solve instances of this size with all their requirements. The methods for some of the subproblems may not be algorithmically innovative, but the total framework certainly is. • Much attention was paid to data-structures. On the one hand for runtime reasons, on the other hand for adaptability to other requirements. It is our opinion that the results could not have been obtained without combining excellence in operations research and excellence in information technology.
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
This paper is structured as follows. In Section 2 we elaborate on the problem description. In Section 3 we give an overview of literature on transportation planning. In Section 4 we describe the approach we have taken in decomposing and solving the problem. Section 5 describes some aspects of the implementation, as well as experience with the real-life use of the system.
2. Problem description 2.1. General information The objective of the planning is to provide a cost-efficient transportation plan for a given set of orders, taking a large number of constraints into account. An order typically consists of a container of some type, and has a pickup and delivery location, a pickup time window and a delivery time window. Two modes of transportation can be used: rail and road. For orders that are transported by rail also the road feeders from and to the train station have to be planned. Most orders are flexible in their routing and timing, and we will concentrate on these orders in the remainder of the paper. Transportation is boarded out to contractors, and the set of available trucks can vary on a dayto-day basis. Most trucks can transport at most two containers at the same time. Constraints include: transport capacity, freight center capacity, timing, and container repositioning. The objective is to minimize cost. The transportation plan consists of so-called tours that are assigned to vehicles. Each tour is divided up in so-called tour sections, such that loading of containers only takes place at the beginning of a tour section, and unloading only takes place at the end of a tour section. For each vehicle the sequence of tours assigned to it should be feasible, which means that no geographic gaps between consecutive tour sections may exist and tour sections may not overlap in time, or have a time gap that is too large. The remaining sections give details about the different types of constraints and the cost structure.
43
2.2. Timing Order time windows. Each order has four time windows: one in which the container should be available at the pickup location, one in which the loaded container should be picked up, one in which the loaded container should be delivered, and one in which the container should have been unpacked at the delivery location. The time difference between earliest pickup time and latest delivery time usually is either 6–12 hour (next day service) or 30–36 hour (second day service). Note, that this implies that orders of different days can be combined to save costs. Preferred by the customer is that a pickup happens as early as possible in the pickup window. Opening hours. Freight centers have two types of opening hours: opening hours for pickup and delivery of containers, and opening hours for processing, in which containers can be unpacked. The latter opening times are called processing intervals (cf. Section 2.3). Travel times and distances. Locations are linked via sections. Length and travel time of a section depend on the truck type being used. Other timing constraints include the regulations regarding driving and breaks, maximal tour duration, maximal waiting times, availability of trucks in certain time windows only, and the required return of trucks to their home location within a certain amount of time. Planning horizon. The user can freely set the planning horizon. All orders with a pickup time in the planning horizon should be planned. Moreover, it is possible to extend the planning horizon with a period for which the repositioning is taken into account but for which the orders are not planned (the repositioning horizon). The planning horizon is typically one to three days; the repositioning horizon is typically a week. 2.3. Capacity Transportation capacity. Transportation capacity consists of capacity on rail and on road. The rail system consists of a two-hub system, where trains either drive to or from the hub via a number of intermediate train stations, or drive from hub to
44
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
hub, or drive from train station to train station. Trains have a given, fixed schedule. The available capacity per train is known in advance and typically in the order of 20–40 containers per train. Per day over 1500 trucks are being used. There are various types of trucks, which differ in the type and amount of containers they can load, as well as in their driving speed profiles. Typically, a truck loads at most two containers. The trucks are hired from contractors. Each contractor has a set of home locations. Each truck initially departs from a home location, and has to return to a home location within a specified number of days (typically 2– 5). We note that in the planning no detailed crew scheduling is involved. Instead it is assumed that a driver change can happen in any of the home locations of a contractor. Furthermore, regulations on driving and resting times are taken into account during planning. Moreover, it is determined whether or not two drivers are required for a tour. For orders to be transported by rail also the feeders have to be planned, which means that the container has to be transported by road from pickup location to train station (up feeder) and later from train station to delivery location (down feeder). For up feeders, orders that have different delivery train stations should preferably not be planned on the same truck, even if they have the same pickup location. This has to do with the fact that trains are composed of wagon groups and that shunting is typically done with wagon groups. At a train station the truck enters the line for a wagon group, which means that transporting orders from different wagon groups implies double waiting time at the lines. The same holds for planning of down feeders. Processing capacity. At the freight center, delivered containers have to be unpacked. It is required that all containers that enter should be unpacked before the end of the first possible processing interval. This has to do with the fact that during the day the sorting facilities are used for collection and distribution activities. The processing capacity of sorting facilities is measured in number of packages per minute, and each order has a number of packages given. It is essential to check feasibility of arrival times at freight centers
in view of the capacity of a sorting facility. Especially in the top season, when freight centers are heavily loaded. 2.4. Repositioning Container repositioning. The order set is typically unbalanced; in Germany much more (loaded) containers go from west to east than from east to west. This means that container repositioning is needed. An exact balance of containers (in the sense that the number of incoming containers equals the number of outgoing containers) is not required. Instead, container stock is allowed and the number of containers at a location should be between given bounds at any point in time. The lower bound is also used to model unknown orders that will take place after the end of the repositioning horizon. The number of outgoing orders for each location is estimated from historical data, and added to the lower bound for that location. 2.5. Cost aspects The objective is to minimize cost of transportation, which is the sum of the cost of the tours. The cost of a tour depends on the type of the tour, the length of the tour and the contractor. The tour type is related to the attractiveness of the tour for a contractor. For instance a tour A–B–A is preferred over a tour A–B, since it returns the truck to its home location. Costs are measured via tariff tables. A tariff table divides the possible distances of a tour into a sequence of consecutive intervals. For each interval ½xi ; yi Þ, it gives either a fixed cost Cif , or a cost per kilometer Cik . Note that this cost function may be discontinuous, not convex, and is not necessarily increasing in the distance.
3. Literature There is a lot of literature on traditional vehicle routing problems. Starting in the early days with simple single-depot problems, nowadays complicated pickup and delivery problems are being modeled and solved with various approaches (see e.g. Savelsbergh and Sol [17] or Dumas et al.
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
[8]). We refer to Desrosiers et al. [6] for an overview of the history of routing problems. In the world of express and parcel transportation the operational vehicle routing is just one of the underlying problems. From Crainic and Laporte [4] we cite the following design and planning problems: • service network design (selection of hubs, routes, service frequencies), • traffic distribution (routing of requests), • terminal policies (handling at terminals), • empty balancing (repositioning of resources), • crew and motive power scheduling (having resources and crews at the right time at the right place). In our application we have to deal with the aspects traffic distribution, empty balancing and motive power scheduling. We believe that these have to be taken into account integrally to obtain good solutions. In a series of papers Powell (e.g. [15]) investigates the design and implementation of motor carrier networks. Kim et al. [12] consider the service network design problem for UPS. Here the question is which routes to use for which transportation requests, i.e., in which hubs transshipment for a transportation request should take place and which mode(s) of transportation should be used. Note that this is a strategic problem, since the resulting service network typically yields a fixed (repeating) schedule between the hubs in the network. The planning horizon considered is one day. For postal and express companies the underlying networks are huge, implying that more traditional network design models and algorithms (see e.g. Magnanti and Wong [14]) are not applicable. Kim et al. [12] give computational results for some realistic networks. Solving the design problem took several hours for problems with about 100 locations and 10 hubs. Kuby and Grant [13] consider some variants of a similar problem on a smaller section of the network of Federal Express. For more research on network design in freight transportation we refer to Crainic [2] for a recent paper, and to Roy and Crainic [16].
45
Gr€ unert and Sebastian [11] consider the network design problem for the letter mail division of Deutsche Post AG. As in [12] the emphasis is on the strategic level to design a cost minimal air and ground transportation schedule. Unfortunately, the paper gives hardly any information about size of the problems, algorithms and computational results. Savelsbergh and Sol [18] show the application of a branch-and-price algorithm for the replanning activities at Van Gend and Loos, an express company operating in the Benelux. Incorporation of about 300 orders in a schedule with 100 trucks is performed with computing time in the order of 5–10 minutes. The problem of repositioning of transportation capacity has been considered in many papers. For instance, the problem occurs in the design of transportation schedules (e.g. Gr€ unert and Sebastian [11], Kim et al. [12]), where the number of trucks leaving should equal the number entering each day. In the sea container business a similar situation occurs as in ours: the number of containers is allowed to vary between certain bounds and repositioning should use certain forecasts to prevent unnecessarily expensive empty container transport at the last moment. We refer to Dejax and Crainic [5] for an overview. In the land distribution we refer to Crainic et al. [3] who give both dynamic and stochastic models for allocation of empty containers, based on multi-commodity network flow formulations. An approach using inventory and stock-control policies is used by Du and Hall [7], albeit for networks with a very special structure. Related to the above mentioned literature we believe that our application is rather unique. This stems from the following facts: • The problem we solve comes from operations and is not a strategic design problem. The transportation requests as well as the required vehicle capacity vary on a day to day basis. • The size of our problem is huge; given the requirements on computation time we are not aware of methods from the literature that can be directly used.
46
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
• There are a number of difficult practical constraints. Moreover, the cost functions are not convex, discontinuous, and not necessarily increasing in the number of kilometers. • The repositioning of empty containers is an integral part of daily operations. • The algorithm should be flexible with regard to addition or modification of constraints and cost structures.
4. Solution approach 4.1. General As is clear from the problem description, the problem is too large to be solved in one step. Therefore, we have decomposed the problem into a number of subproblems. This decomposition is motivated by the following requirements. • Each of the subproblems should have an efficient and effective algorithm, for the overall solution to be cost-efficient. • The decomposition allows for a flexible implementation in the sense that adding constraints and changing cost structures can be done relatively easily. • Initial solutions should be easy to construct, and when stopping the algorithm a partial solution should be available.
• Combination of orders. Given a set of unplanned orders, combine the orders in pairs such that planning the pairs together on tours will give a cost-efficient planning. • Planning of (combinations of) orders. Given a set of unplanned orders and combinations of orders and a partial plan, plan the unplanned (combinations of) orders in a cost-efficient way, taking timing and capacity constraints into account. • Plan improvement. Given a set of mostly planned orders, try to find a better planning by moving orders and tours around. • Tour test. Given a sequence of tours on a truck and a set of constraints to be tested, calculate departure and arrival times of each tour section, evaluate the specified set of constraints, and compute the costs of the tour sequence. The flow of the complete algorithm is depicted in Fig. 1. The modality choice is a preprocessing step and is performed only once. After that, the planning of orders on the road and the generation
modality choice
repositioning
The subproblems we solve are the following: • Multi-modality. Given a set of orders with preference for train transportation, assign each order to a mode of transportation, and if this mode is train, plan the train part of the trip for this order, taking timing and capacity constraints into account. • Repositioning. Given a set of partially planned orders and upper and lower bounds on the number of containers at each location, determine a set of empty container orders that can be transported efficiently, such that each location has enough and not too many containers for the next day(s).
order combination
tour test
order planning
planning improvement
Fig. 1. Structure of the algorithm.
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
and planning of empty container orders is done in a sequence of iterations. This sequence starts with repositioning the empty containers. After this, orders are combined in the order combination step. Next, the combinations of orders and uncombined orders are planned with a constructive algorithm. Finally, the planning is improved with a local search algorithm. In the next iteration, all the empty container orders that were generated in the previous repositioning step are removed, and a new set of empty container orders is computed, now using information from existing tours in the plan that are not filled to full capacity. Note that this iterative approach allows the user to stop the algorithm after each iteration having a partial feasible plan. The tour test is a basis for each of the steps in the algorithm. It is used to test feasibility and quality of the planning and of potential tours. As the tour test is invoked a large number of times, one test should be (and can be) done very fast. We now give a more detailed description of the various subproblems. 4.2. Modality choice Each order has a preferred modality, which can be either rail or road. Orders with preference for road have to be planned on trucks, whereas orders with preference rail can be planned on rail, but on road as well if there is not enough capacity on trains. The modality choice step is concerned with assigning rail orders to specific trains, with the objective of using the available trains in the most efficient way, and the constraints of train capacity, availability of trucks for transport to and from train stations, and timing constraints. This is done via a straightforward assignment technique, as the prerequisites set by the client do not give more optimization freedom. Of all the orders with rail preference, those that would need to drive the longest distance by vehicle have priority when assigning them to trains. This is because trains have a low cost per distance unit, and thus are more attractive for long-distance orders than for shortdistance orders. Hence, the algorithm just proceeds by sorting the orders to decreasing distance (from pickup to delivery location) and assigning them
47
one by one to the first possible train; a path-search algorithm is used. For each location it is prescribed which train station should be used. A priority is given to direct trains, then to a train that passes one hub, then to a train that passes two hubs. Whenever no train with free capacity is available, the order is transported by road. From the assignment of orders to trains, a set of up- and down feeder ÔordersÕ is derived. These orders are planned simultaneously with other road orders. 4.3. Repositioning The goal of repositioning is to generate a set of orders for transporting empty containers in such a way that • at each moment in time, every location has a stock of containers between given bounds, and • the transportation of these orders can be done cost-efficiently. We model the problem as a min cost flow problem (see e.g. Ahuja et al. [1]). A similar strategy is followed in Crainic et al. [3]. We build a time space network. Here a node in the network means a location (freight center or train station) at a certain point in time in a certain status. Existence of a link means movement of empty containers is possible from one location to another location (possibly the same) at certain times. A unit of flow over such a link corresponds to the movement of one empty container. The entire network models both road and rail transportation, and the subnetworks for these two modalities are linked by the feeder links. There are three types of nodes in the network: • Train station nodes. Nodes that represent a train station at a given point in time. • Freight center nodes. Nodes that represent freight centers at a given point in time with a given status. The statuses are the following (in sequence): INCOMING, STOCKING, OUTGOING. The first and last are used to be able to bound the number of incoming and outgoing empty containers. The stocking node is used to
48
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
bound the amount of stock as well as to prevent infeasibilities. • A source and a sink that are used to model flow conservation and infeasibilities. Fig. 2 shows the model structure at two freight center locations (upper and lower) at two consecutive time points (left and right). For freight center nodes, we restrict the number of points in time per day to two. This choice implies that all arrivals and departures of containers are aggregated to these time points. We have chosen for the fixed two time points because the time windows of most orders tend to be close to these two time points, and hence our approach will be accurate and efficient. Alternatively, we could have made a network in which each node has the time of an arrival or a departure of a specific container. This would make the model more accurate, but the size of the network would explode. For train station nodes, there is no need to aggregate over time, because the number of trains is limited. Hence for each train station, there is a node for each departure time of a train and each arrival time of a train in the repositioning horizon. There are different types of links in the network, as described below. For each link, we specify the lower and upper bound on the amount of flow over the link, and the cost per unit of flow over the link (see Table 1). Since network models notoriously are degenerate, a solution returned by a network solver is typically ÔunbalancedÕ, or ÔextremeÕ. However, in practice one likes solutions with certain regularity. For instance, when 10 empty containers have to be shipped from A to B before tomorrow night, one
could have 10 today, or 10 tomorrow, or 5 today and 5 tomorrow. The latter is typically preferred, but will not be returned by the network solver. By using multiple arcs with different costs between the same nodes this is accounted for. Several nodes in the network have supplies or demands. The STOCKING nodes have a demand, which equals the difference between the number of outgoing (customer) containers between the current and the next time point, and the number of incoming (customer) containers between the previous and the current time point. The first INCOMING node in time of each freight center has as supply the number of containers in stock at that location in the beginning of the repositioning horizon. The demand on the sink equals the total supply that enters the network in the first time period. The network flow model always has a feasible solution. For network flow problems standard algorithms are available. In POP the excellent implementation Ôcs2Õ of Goldberg [10] is used. 4.4. Combination of orders The way in which orders are combined on trucks is very important for the quality of the planning. Therefore, we create an optimal set of combinations of orders before starting the actual planning of the orders. These combinations serve as a hint to the planning algorithm: the algorithm tries to plan combinations of orders on the same truck, but it can untangle a combination if this does not provide a good solution. As most trucks have a capacity of two containers, we solve the problem of combining orders in pairs, such that the overall costs of the pairs are low. When costs are equal, the following preferences apply: • Combine orders on up (down) feeders that share the same delivery (pickup) location and/ or delivery (pickup) train station. • Combine orders that have pickup time window close to each other.
Fig. 2. Network structure at some of the freight center nodes.
Both stem from practical considerations. The following mathematical model is used. For each pair of orders i and j, we have a variable xij for
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
49
Table 1 Nodes and arcs in network flow model Purpose
From node
To node
Lower bound
Upper bound
Cost per unit
Model the containers staying in stock during a time period Model the containers over maximum allowed stock Model containers under minimum stock
STOCKING
STOCKING; at same location and next time point STOCKING
Minimum required stock
Maximum allowed stock
Cost of having one container in stock
0
Inf
Cost of one container over capacity
STOCKING; at same location and previous time point INCOMING; nodes at different freight centers and different time points, provided that transport between these locations can be done STOCKING; at the same location-time
0
Minimum required stock
Cost of being under stock
0
Inf
From tariff table
0
0
STOCKING
OUTGOING; at the same location-time
0
Upper bound on the total amount of in-coming orders with that delivery time Transport capacity of the location at that time point
OUTGOING
Train station, provided transport physically possible INCOMING, provided transport physically possible Train station if there is a tour section on a train corresponding to the two stations Sink
0
Inf
From tariff table
0
Inf
From tariff table
0
Capacity of train
Cost of one container on the train
Minimum required stock at the end of the horizon 0 0
Inf
0
Inf Inf
0 High cost to obtain a solution that is Ôas feasible as possibleÕ. Cost decreasing in time 0
STOCKING
STOCKING
Road transport
OUTGOING
Bound the number of empty containers that arrives at a freight center at a given point in time Bound the number of empty containers that departs from a freight center at a given point in time Transport from freight center to train station
INCOMING
Transport from train station to freight center Transport by train
Train station
Train station
Flow conservation
OUTGOING
Flow conservation Feasibility
Sink Source
Source STOCKING of every location-time point
Use of planned road transport
OUTGOING
Use of existing empty container orders
OUTGOING
INCOMING if a tour is already planned to drive this stretch INCOMING if empty container order exists and must be preserved
0
Available capacity on the truck
0
Maximum amount of orders to keep on this stretch
0
0
50
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
i < j, with value 1 when orders i and j are combined, zero otherwise. Define parameter Fij to be the gain obtained by combining orders i and j in one tour as opposed to transporting them in separate tours. For every two orders i and j that can be combined, let Fij ¼ Di þ Dj Dij þ BRij þ BTij ;
ð1Þ
where for each order i, j: Di Dij BRij BTij
minimal distance covered to pickup and deliver order i minimal distance covered to pickup and deliver orders i and j in one tour bonus for feeder priority of orders i and j bonus for similarity of pickup time of orders i and j.
Note that to compute the F -value of a combination we have to do (part of) the tour test. Then the model to be solved is P max Pij Fij xij s:t: 8i; j xij 6 1 xij ¼ 0 8i; j that cannot be combined; xij 2 f0; 1g: Note that this is a weighted matching problem. All combinations of couples of orders are first tested to determine the F -values. Then the algorithm of Gabow [9] is applied to find the optimum solution. In the case of very many orders (our largest test set contained 20,000 orders), the Oðn2 Þ time that is needed to find the F values is too slow, and we use only combinations of orders having pickup and/or delivery in each others neighborhood. Simulations showed that the quality of the planning is only slightly influenced by this restriction. 4.5. Order planning In this subproblem the planning of the road orders is done. The planning of road orders proceeds with a sliding window technique. The width of the sliding window depends on the width of the time windows of the orders. The orders having earliest pickup time within the window are being collected, combined, and partly planned. Then the repositioning model is again solved to generate a new set
of repositioning orders (note, that the links included in the model with their bounds and costs depend on the current planning). Then again, the orders having earliest pickup time in the current sliding window are being planned. A local search algorithm improves this part of the planning. Then the planning in the first part of the sliding window is being fixed, and the window is moved to the next position. The order planning consists of two phases, that each have a different approach: • Phase 1: a transporter (tour) oriented planning approach. • Phase 2: an order oriented approach integrated with a tour oriented approach. Transporter oriented planning. In the transporter oriented approach the idea is that a transporter should be efficiently and effectively used. For instance, trucks that are far away from their home locations should be used to transport orders to a location that is closer to their home, since it is expensive to let them drive home without a pay load. This is especially true for trucks with two drivers. The cost functions do not enforce this to happen in the order-oriented approach. The transporters that should be used are sorted by attractiveness via number of drivers, tour type and tour length. Running down the list of (combinations of) orders a planning on the list of tours is done. Given an order only tours that satisfy certain criteria (depending on the tour type and on the order) are taken into account. A first fit strategy is used for most tour types, as our experiments showed that a best fit strategy did not automatically lead to a better overall solution. Order and tour oriented planning. The order oriented planning proceeds in three outer loops. In the first one, only combinations of orders can be planned, in the second and third outer loops also single orders can be planned. Moreover, in the first outer loop no long empty mileage tours can be made. Between the second and the third outer loop transporters that cannot be sent home in time with existing orders are sent home empty. Each outer loop consists of a series of inner loops. In an inner loop (combinations of) orders are being planned, starting at the top of the list and running down-
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
wards. When an order has been planned, the algorithm tries to extend the tour in which the order has been planned, by searching for (combinations of) orders that can improve upon the plan. For instance, by searching for a similar order or by finding an order for the way back. Given an unplanned order the search for a tour able to transport the order proceeds as follows. First existing tours are tested, where tours having empty places are preferred. In case there is no tour that can transport the order without changing its route, a best-fit strategy can be used to find a suitable tour for the order. In case a new tour is needed for the transporter, again a best-fit approach can be used to select an attractive truck. Implementation details. The number of orders and tours is very large, and it would be too slow to simply try to place each order on each tour. Therefore, we use balanced binary search trees to keep track of unplanned orders at each location. The orders are sorted by pickup time. Also, we use balanced binary search trees to keep track of tour sections with available space for each location. These are sorted by start time. Both trees are maintained dynamically. To further speed up the search for interesting orders and tours some neighborhood structures are used. The neighborhoods can be computed beforehand and do not change during the planning. 4.6. Planning improvement In this step three types of local search procedures have been implemented, being order based, transporter based, and tour based. In these iterative improvement steps further cost savings in the plan are attained. Note, that a change to the plan is only accepted when a cost saving is being achieved; techniques from simulated annealing or tabu search have not been implemented because of running time issues. In the order based local search algorithm a search for empty space or time in tours is done that can be filled up with orders from other tours. After some steps, hopefully, tours or detours can be removed hence saving money. In the transporter based approach tours are moved from one transporter to the other. Possible cost effects are:
51
• a cheaper contractor is being used; • the moved tour can be combined with a tour at the new transporter, thereby making two shorter ones into one long one; • the tour type of the moved tour can be more attractive. In the tour based approach tours are swapped between transporters. A parameter states whether all tours are taken into account or only the last tours per transporter. A quick check determines whether a swap is likely to be attractive (for instance the contractors of the tours could be different). Once again, to speed up the local search we heavily use neighborhood structures, and several implementation ideas. 4.7. Tour test As mentioned previously, the tour test is used to evaluate a given set of constraints and to compute arrival and departure times and costs. It can be run on a single tour, a sequence of tours, or the whole plan. A binary pattern basically consisting of flags is used to determine which constraints should be checked. In this way the addition of a new type of constraint implies that an extra check should be implemented in the tour test, and maybe the default binary pattern should be changed. No changes in the rest of the system are necessary. As the tour test is used very often, it should run fast. The most time-consuming part of the tour test, is the determination of times (departure, driving, arrival, etc.) and breaks. Note, that to determine the position of a break the times are required. However, to compute the times we already need to know where to position breaks. As there is a flexibility in the positioning of the breaks, tackling this ÔcycleÕ is not easy. We do it by first computing bounds on times as well as ÔtentativeÕ times in a series of loops through the tours under consideration. In the final loop, the times and breaks are really set. The overall run time of one tour test is linear in the number of tour sections plus the number of containers that is transported.
52
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53
5. Implementation and real-life experience Although the system was primarily developed for the long-haul of Deutsche Post AG, it was designed in such a way that new customers, planning types, constraints, etcetera, could be incorporated relatively easily. Throughout the years, this design has proven its usefulness: a lot of smaller and larger changes have been made, without the need for a complete redesign of the system. This is both due to the flexibility in the algorithm and the flexibility offered by the implementation. The planning algorithm has been implemented in ANSI C. The program is platform independent; at the development site typically Windows is used, in the daily operations the program runs under Unix. On our standard PCs computation times range from a few minutes to 15 minutes during peak days. We paid much attention to the data structures. The implementation heavily uses balanced binary search trees, which are very efficient for quickly checking and updating the plan. Since November 1997, about 850 daily planning runs have been done with POP. Moreover, it has often been used to support simulation studies for answering questions like: • What is the influence of smaller or larger processing capacities at the freight centers? • What synergy effects can be expected from mixing the networks of customers X and Y ? • What price offering can be made to potential customer Z? From a theoretical point of view various interesting questions remain. For instance, is it possible to solve the planning and repositioning problems simultaneously? Can such a model be tackled with techniques as branch-and-cut, branch-and-price or set partitioning in reasonable runtimes? A related question is whether it is possible to compute a lower bound on the cost value of a planning. Intriguing challenges for us practitioners are to use detailed digital maps of Germany as more and more diverse customers are added to the network, to investigate and implement the use of transshipment of road-
transported orders, or to make the techniques in POP available for an on-line planning support system.
Acknowledgements We are grateful to Dr. Dieter P€ utz of Danzas Euronet for giving us the opportunity to write this paper. We are greatly indebted to Frank Cruse, Gerd Erb and their colleagues for their support in the development of the planning system. Thanks are also due to our business partner AMIS. Last but not least, we thank our colleagues Karin Lim, Jacques Verriet, Lonneke Driessen and Judith Lamers for their help in specific parts of the development of POP.
References [1] R.K. Ahuja, T.L. Magnanti, J.B. Orlin, Network Flows: Theory, Algorithms and Applications, Prentice Hall, Englewood Cliffs, NJ, 1993. [2] T.G. Crainic, Service network design in freight transporation, European Journal of Operational Research 122 (2000) 272–288. [3] T.G. Crainic, M. Gendreau, P. Dejax, Dynamic and stochastic models for the allocation of empty containers, Operations Research 41 (1) (1993) 102–126. [4] T.G. Crainic, G. Laporte, Planning models for freight transportation, European Journal of Operational Research 97 (1997) 409–438. [5] P.J. Dejax, T.G. Crainic, A review of empty flow and fleet management models in freight transportation, Transportation Science 21 (4) (1987) 227–247. [6] J. Desrosiers, Y. Dumas, M.M. Solomon, F. Soumis, Time constrained routing and scheduling, in: Handbooks in Operations Research and Management Science, in: M.O. Ball (Ed.), Network Routing, vol. 8, Elsevier, Amsterdam, 1995, pp. 35–139, Chapter 2. [7] Y. Du, R. Hall, Fleet sizing and empty equipment redistribution for center-terminal transportation networks, Management Science 43 (2) (1997) 145–157. [8] Y. Dumas, J. Desrosiers, F. Soumis, The pickup and delivery problem with time windows, European Journal of Operational Research 54 (1991) 7–22. [9] H. Gabow, Implementation of algorithms for maximum matching on non-bipartite graphs, Ph.D. thesis, Stanford University, 1973. [10] A.V. Goldberg, An efficient implementation of a scaling minimum-cost flow algorithm, Journal of Algorithms 22 (1997) 1–29.
B. Jansen et al. / European Journal of Operational Research 156 (2004) 41–53 [11] T. Gr€ unert, H.-J. Sebastian, Planning models for long-haul operations of postal and express shipment companies, European Journal of Operational Research 122 (2000) 289–309. [12] D. Kim, C. Barnhart, K. Ware, G. Reinhardt, Multimodal express package delivery: A service network design application, Transportation Science 33 (4) (1999) 391–407. [13] M.J. Kuby, R.G. Gray, The hub network design problem with stopovers and feeders: The case of Federal Express, Transportation Research Part A 27A (1) (1993) 1–12. [14] T.L. Magnanti, R.T. Wong, Network design and transportation planning: Models and algorithms, Transportation Science 18 (1984) 1–55.
53
[15] W.B. Powell, Maximizing profits for North American Van LinesÕ truckload division: A new framework for pricing and operations, Interfaces 18 (1988) 21–41. [16] J. Roy, T.G. Crainic, Improving intercity freight routing with a tactical planning model, Interfaces 22 (3) (1992) 31–44. [17] M.W.P. Savelsbergh, M. Sol, The general pickup and delivery problem, Transportation Science 29 (1) (1995) 17–29. [18] M.W.P. Savelsbergh, M. Sol, DRIVE: Dynamic routing of independent vehicles, Operations Research 46 (4) (1998) 474–490.