Está en la página 1de 15

Transportation Research Part E 46 (2010) 156170

Contents lists available at ScienceDirect

Transportation Research Part E


journal homepage: www.elsevier.com/locate/tre

A decomposition scheme for large-scale Service Network Design with asset management
Nicolas Teypaz, Susann Schrenk, Van-Dat Cung *
G-SCOP, Laboratoire des Sciences pour la Conception, lOptimisation et la Production, INPG-UJF-CNRS, 46, Avenue Flix Viallet, 38031 Grenoble, France

a r t i c l e

i n f o

a b s t r a c t
In this paper, we address a large-scale freight transportation problem for maximizing the prot of a carrier. We propose two solving algorithms using a decomposition of the problem into three main steps: construction of the network, lling vehicles with commodities and construction of the vehicle plannings. The resolution of these steps involves heuristic schemes, Mixed Integer Programming and Constraint Programming techniques. To evaluate the model and the solution algorithms, we produce instances based on a study of reallife data. The results show that the methods without transhipment provide solutions with a good computation time/quality trade-off. 2009 Elsevier Ltd. All rights reserved.

Article history: Received 3 September 2008 Received in revised form 27 May 2009 Accepted 11 July 2009

Keywords: Freight transportation Service Network Design Asset management

1. Introduction Freight transportation is one main activity at the core of the Supply-Chain of companies. According to the French transportation ministry and INSEE national institute of economics and statistics, this activity impacts strongly on the national economy with more than 1 million workers, 120 billion euros of sales turnover. Crainic (2000) mentioned that the transport represents a signicant part of the national expenditures of any country. Todays increasing competition and rationalization of resources put a high pressure on carriers to optimize their transportations. In this context, we are interested in a problem raised from an industrial application. We deal with the determination of the transportation plan for regular operations. This plan is constructed for a given planning horizon (often 1 day, 1 week or 1 month) from a set of selected transportation services. It is replicated for each planning horizon. Those tactical planning problems are generally modeled as Service Network Design Problems. Crainic (2002) stated that Service Network Design Problems (SNDP) are essential in the construction of a transportation network. Their formulations are associated with the long-term evolution of transportation infrastructures and services. Service Network Design is often used to solve freight transportation problems with consolidation: by rail in Barnhart et al. (2000), by air in Barnhart et al. (2002, 1996) and also by road. A recent survey is given by Wieberneit (2008). The Service Network Designer is making decisions that affect both commodities and vehicles by answering such questions as:  What are the routes and schedules of the services?  Which vehicles should be used to operate all services?  How should the commodities be routed through this network of services? Other more operational issues are often included in Service Network Design formulations, e.g. service frequencies, crews assignments and customer service requirements.
* Corresponding author. E-mail addresses: nicolas.teypaz@g-scop.inpg.fr (N. Teypaz), susann.schrenk@g-scop.inpg.fr (S. Schrenk), van-dat.cung@g-scop.inpg.fr (V.-D. Cung). 1366-5545/$ - see front matter 2009 Elsevier Ltd. All rights reserved. doi:10.1016/j.tre.2009.07.003

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

157

A Service Network Design solution is a transportation plan including both the schedules of vehicles and the ow of commodities in order to achieve a certain objective. In our case, the objective is to maximize the prot of the carrier. More precisely, our freight transportation problem is dened as follows. Given a physical network composed of terminals (harbors, rail stations, airports or warehouses) and potential connections (sea routes, railways, airways, roads) and a planning horizon divided into a set of periods, the carrier may satisfy globally or partially origindestination transportation demands (commodities). This characteristic is known as price collecting or team orienteering problems and was integrated by Feillet et al. (2005) and Archetti et al. (2008) in different routing problems. These demands are periodic and repeated on every period (regular freight transport planning). To achieve this, the carrier has a set of vehicles of different types (their number is not limited). He may organize transhipment operations to improve his prots by consolidation of commodity ows while respecting the capacities of vehicles. The transportation costs are twofold: a xed cost to organize one transportation service (crew cost, handling cost and fuel cost) and a variable cost depending on the tonnage of commodities on board. The variable cost is assumed linear with the commodity ow. This assumption is classical in Service Network Design for freight transportation as in Barnhart and Schneur (1996) and Crainic (2000). Every time the carrier takes charge of the transport of a freight unit, he has some revenue depending on the tonnage and the commodities. Thus, he has to make a trade-off between transportation costs and the revenues to maximize his prot. The freight transportation problem we deal with has two asset management constraints. The rst concerns vehicle rotations. To provide a regular freight transportation planning, exactly the same transportation service should be organized in each time period. To guarantee this, vehicles should be spread out in an analogous way at the beginning and at the end of a planning horizon. It is not necessarily the same vehicle which has to be in the same location, vehicles may rotate. Chou et al. (2003) give an example of vehicle rotation for sea transportation, and Yan et al. (2005) for air media. This rarely occurs for road transportation; the same vehicle can run several routes starting at the same terminal in one period. To ensure vehicle rotation, it may be necessary to make provisions for repositioning some vehicles as in Crainic (2000). In literature, the vehicle rotations are referred to as the design balance constraints. They ensure that there is an equal number of vehicles entering and leaving each terminal in the network (Pedersen et al., 2007; Andersen et al., 2007a). Design balance constraints have been modeled for an application of express freight service by air in Barnhart and Schneur (1996) and Barnhart et al. (2002), by road in Smilowitz et al. (2003) and for an application of passengers transportation service by ferry in Lai and Lo (2004), Yan and Chen (2002) and Wang and Lo (2008). The second asset management constraint is that carriers want to use all their vehicles evenly. At the end of a given period (month or year) no vehicle should be neither under- nor over-used. This constraint means that the length of any vehicle route is between two bounds. In vehicle routing problems literature, this constraint is referred to as the time- or distance-constraint in Laporte (1992). Recently, Andersen et al. (2007c) extended formulation of the Service Network Design to a time-space network. The purpose of their paper is to compare solving models based on different Mixed Integer Programming formulations. The authors also analyzed the effect of asset management issues on the optimal solutions. In general, solving the latter issues increases the required computational effort. This study is the closest study to ours, but their test problems used are smaller than many instances from real-world problems we deal with. In Andersen et al. (2007b), the greatest instance used to evaluate the performance of different formulations contains ve terminals, 200 demands with time windows and 25 time units per period. Our smallest instance studied contains almost 40 terminals, 140 demands and 480 time units per period. We note that the commodities is loaded during a period, it has to be delivered in the same period. In our case, we do not have additional time windows. Thus, a commodity is only dened by its origin and destination terminals. As a consequence, to tackle real-world problems, our main proposal is to decompose the problem into three steps as follows: construction of the network, choice of the transported commodities and construction of the vehicle plannings (routes and scheduling). Although, even if the decomposition in three steps seems quite natural, we did never see it really applied. To the best of our knowledge, most papers treat only one of the steps. Concerning applications, our approach can provide a global transportation solution and can solve real-life size problems in freight transportation. The main advantages of the decomposition method are as follows: a step wise construction of the solution which permits to have rapidly an estimation of the potential prot; a high exibility to handle specic constraints, e.g. new time constraints can be easily integrated; improvements of one of the steps can be added independently so as to boost the solving method; in addition to this decomposition, we also studied how these steps can be performed successively. The order in which we solve these three steps decides whether or not transhipment can be used;  in a few seconds, our algorithm provides feasible solution of high quality for large-scale instances.     Even if no new techniques have been proposed, our resolution scheme involves many different tools of Operations Research to solve efciently each step of the decomposition method: graph algorithms, Linear and Mixed Integer Programming, column and row generation and Constraint Programming techniques. This variety of techniques and their combination reects the creativity of the proposed solution method. The paper is organized as follows. We present a model for this difcult problem in Section 2. Section 3 is dedicated to the decomposition of the problem into three main steps which allow to determine the transportation services, choose which

158

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

demands to satisfy and schedule the transportation services. To conclude, Sections 4 and 5 present computational results of our method, its limits and some avenues for further study. 2. Model of the problem This section presents a model for the freight transportation problem studied in this paper as a single objective linear mixed integer programming model on a time-space network. This model is based on the formulation of the Service Network Design with asset management Andersen et al. (2007c). We have completed this formulation by taking into account the particularities of our problem:  the carrier can reject some demands completely or partially,  no vehicle must be neither under- nor over-used (time-constraints).

2.1. Notation The periodic transportation demand k is as follows: for every planning horizon (week), transport the quantity wk unities of commodities, from origin Ok to destination Dk. Each time the carrier satises one unit of demand k (one ton, one container, one barrel, etc.), he earns quantity P k of money. Let K be the set of all demands. Origin and destination are terminals on which carrier has access. The distance between two terminals is di; j. We represent terminals V and their physical connections E by a directed graph G V; E. To transport the freight we have a set L of different vehicles which are classied by their types. We can assume that the number of vehicles is large. We denote by Ltype the set of vehicles of types type, i.e. L U type Ltype . We assume that the vehicles are spread out as wished at the beginning of the planning horizon. Each vehicle l 2 L is able to transport a maximum of C l (capacity of vehicle l) units and needs time tl i; j to go from origin i to destination j. Once arrived at j, the vehicle has to stay there for at least s time units before continuing its trip. This is for the vehicle to be refueled and for cargo to be loaded and unloaded. This break time may include a buffer to reduce lateness. If a vehicle l carries w units (from several demands wk ) directly from terminal i to terminal j, it costs the xed cost F lf i; j plus the variable cost F lv w; i; j. The variable cost is assumed to be linear with the weight of carried freight: we denote U l i; j the variable cost per unit of commodity transported between i and j: thus F lv w; i; j U l i; j w. In fact, these costs are the same for all vehicles of same type. Over a planning period, if a vehicle l is used, it has to fulll a specic quota of hours dened by the minimum Quotalmin and the maximum Quotalmax quota of hours. These quotas are the same for the vehicles of same type. 2.2. Formulation as a mixed integer program The formulation as a Mixed Integer Program (MIP) is adapted from Service Network Design problems. As stated in the previous section, we need to index all variables with a time parameter. We denote by T the set of discretized time over the planning horizon. For any terminal i; d i denotes the set of predecessors of i and d i the set of successors of i. The variables we use are as follows:  At time t the fraction xkl of commodity k is charged in origin i for destination j by vehicle l. Variables xkl are between 0 and ijt ijt 1 and represent ows of commodities.  The boolean variables ylijt indicate whether the vehicle l is going from origin i to destination j at time t. Variables ylijt choose the service for the vehicle l (i.e. dene the network).  The boolean variables dl indicate whether or not the vehicle l is used.  zk represents the fraction of demand k which is carried during one planning horizon, that is the fraction of demand k which is satised. The carrier wants to maximize his prot (which is the revenue minus the xed and variable costs) by respecting all constraints as detailed below. Maximize: Prot = revenue xed and variable costs:

X
k2K

Pk wk zk

X XX
ij2E l2L t2T

F lf i; j ylijt

X
k2K

! U l i; j wk xkl ; ijt 1

subject to: Multicommodity ow constraints:

X X
j2d i l2L

xkl ijt

X X
j2d i l2L

xkl l j;is 0; jitt

8i 2 V; i Ok; i Dk; 8k 2 K; t 2 T;

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

159

X X X
t2T j2d i l2L

xkl ijt

X X X
t2T j2d i l2L

( xkl jit

zk zk

if if

i Ok; i Dk;

8i 2 V; k 2 K:

Vehicle route constraints:

X X

X ylijt yliit X

ylijt0 yliit dl 0; yljittl j;is 0;

8t 2 T; l 2 L; 8t 2 T; t 1; t jTj; i 2 V; l 2 L; 8l 2 L:

4 5 6

ij2E t 0 2T:t0 6t<t 0 t l j;is

j2d i

Quotalmin dl 6

X X

j2d i

t l i; j ylijt 6 Quotalmax dl ;

t2P ij2E

Design-balance constraints on the vehicle types:

X X X
l2Ltype t2T j2d i

ylijt

X X X
l2Ltype t2T j2d i

yljit 0;

8i 2 V; type:

Capacity constraints:

X
k2K

wk xkl 6 C l ylijt ; ijt

8ij 2 E; l 2 L; t 2 T:

Variables:

ylijt 2 f0; 1g; xkl ijt


k

8ij 2 E; l 2 L; t 2 T; 8ij 2 E; l 2 L; k 2 K; t 2 T; 8k 2 K; 8l 2 L:

9 10 11 12

2 0 . . . 1;

z 2 0 . . . 1; dl 2 f0; 1g;

Constraints (2) and (3) are ow constraints: (2) requires that the demand k arrived at terminal i (i Ok and i Dk) from j will not remain at i in the next time period. A break of at least time s is necessary before transportation can continue. The expected fraction zk of demand k starts from Ok and arrives at destination Dk with respect to transportation time (3). Allocation of vehicles according to their capacities is the consequence of constraints (8). Constraints (4) state that for each time period, if a vehicle l is  used, it  should be engaged in one activity only: the vehicle does one transportation service between two terminals ylijt0 1 or the vehicle waits in the last terminal l yiit 1 . During one planning horizon, we must satisfy the design-balance constraints (5) for each vehicle used. We notice that the design-balance constraints for each vehicle are not checked for t 1 and t jTj because the vehicle rotation is allowed (see Fig. 1). Constraints (6) ensure that the transport time is between Quotalmin and Quotalmax for each vehicle l used. We will refer to these constraints (6) as the time-constraints. These constraints permit us to dene the route of each vehicle.

Fig. 1. Illustration of the vehicle rotation with two vehicles of the same type.

160

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

The vehicles of the same type have to do cycles1 such that their transportation plannings can be repeated period after period without the need for an expensive repositioning of a vehicle by doing a trip with empty load. We will refer to these constraints (7) as the design-balance constraints. The Fig. 1 highlights the vehicle rotation permitted by these constraints. The vehicle starting at terminal A in the rst period will take the route starting at terminal D for the second period, and vice-versa. 2.3. An upper bound for our problem As this formulation has too many variables and constraints, mainly due to time index, we cannot expect any response for real transportation instances by solving this MIP directly. Nevertheless, the Service Network Design with asset balance requirement formulation, without taking time into account, allows us to get an upper bound for global prot. The smallest instance studied with this timeless model requires approximately 225,000 variables including 1600 integer variables and approximately 7200 constraints. Proposition 2.1. The Service Network Design with asset balance requirement formulation without taking time into account (that is without time index for variables) is an upper bound for our problem. Proof. The resolution of the time-free formulation provides only commodities to carry, vehicle types and related networks and does not produce the transportation planning. There is no guarantee that a complete planning of vehicles, which fullls all these choices, exists. However, it does choose which commodities and transportation network would give the largest prot. Thus the prot of any feasible solution cannot be greater than the prot of the found solution, even though it may be infeasible. h We calculated the upper bound by solving an aggregate form of Service Network Design formulation without time index with ILOG Cplex. The aggregated formulation reduces the smallest instance above to approximately 68,000 variables including 1600 integer variables and approximately 3200 constraints. The computed upper bound will be used in our computational study to measure the quality of our approach based on the decomposition of the problem. 3. Solving algorithms based on a decomposition of the problem A decomposition of the problem into three main steps is done to ease its resolution. We devise two solving algorithms depending on the order of the steps according whether to allow transhipment. An overview of our approach follows which will be further detailed in subsequent sections. This decomposition not only allows us to take into account all the constraints of our problem but also to display solutions in progressive stages. Indeed, the solution contains two sets: the vehicle plannings and the satised demand routes. Step 1: Choose which transportation services will be open (i.e. construct the service network). We proceed rst by constructing the network of the most protable vehicle type (the cheapest per transport unit per distance unit), then we iterate the network construction for the remaining vehicle types. The constructed network represents the physical routes which will be operated. In some sense, this xes variables yij which correspond to a service ylijt without considering time dimension t and individual vehicle l. Thus, the xed cost is completely determined after this step. To ensure that design-balance constraints are respected to allow vehicle rotation from period to period, we care that the number of in-coming services is equal to the number of out-going services for each terminal. Thus, the constructed network is a Eulerian graph and it is well suited for the construction of Eulerian cycles in Step 3. Two heuristics are proposed to solve this rst step. One is based on the direct connection heuristic, the second is based on a linear relaxation of a simplied MIP. Step 2: Fill vehicles with commodities (i.e. choose which freight to carry). From the transportation services network, we maximize the revenue, we determine the satised fraction of each demand zk . Each transportation service a allows us to carry a volume xk for each commodity k. The service a is either the physical a route i; j operated by a vehicle type or the service i; j; t operated by the vehicle l if Step 3 xing time t and vehicle l is performed before Step 2. We have to take care that each commodity fraction is transported by only one vehicle and that capacities of the vehicles are respected. Prot is maximized in this step. The choice of which freight to carry is solved as a maximum ow problem on an appropriated network. Step 3: Construct the vehicles plannings (i.e. schedule the different routes).

For the sake of simplicity, all cycles considered in this paper are directed.

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

161

Fig. 2. Algorithm without transhipment.

Fig. 3. Algorithm with transhipment.

We assign each operated transportation service (yij xed in Step 1) to one vehicle l and one departure time t. This means that the set of consecutive transport services ylijt is decided.

162

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

In this step we consider the vehicles individually. We construct the vehicle routes and the corresponding schedules, which we call the vehicle planning. In order to facilitate planning, we start by construction of the Eulerian cycle of each eet network (and alternatively the Eulerian cycles of the connected components). On a given cycle, time quotas are easily taken into account. We use Constraint Programming to solve this step. The two proposed algorithms differ by the orders of resolution steps as described in Fig. 2 (steps in order 1-3-2) and (steps in order 1-2-3) (see Fig. 3). In any case, the last two steps (2 and 3) are not independent. For each step of both algorithms, we detail the points which must not be overlooked. The rst algorithm performs the steps in order 1-3-2: after designing the network it gives independent transportation plannings respecting time quotas and nally it lls the plannings with freight. There is no interaction between the different vehicle types, no transhipment is considered. In the second algorithm, we swap the order of last two steps. Thus the second decision is the lling of the network with freight. This has to be done carefully and ensures that the chosen commodities can be carried and delivered in the same planning horizon. Interactions between vehicles exist: some commodities may be transferred from one vehicle to another implying that transportation plannings must allow transfer operations. Thus, transhipment complicates construction of vehicle plannings, and creates some precedences between transportation services. Besides, time quotas still have to be respected. 3.1. Construction of the service network For the rst step of our algorithms, we propose two different methods to design the service network. The rst one is based on an heuristic which searches for protable cycles with commodities carried directly from their origin to their destination. In the second method we solve a linear relaxation of a simplied formulation. 3.1.1. Direct trip policy heuristic We construct the service networks successively for the different vehicle types. Let type be the rst vehicle type for which we construct the service network. In practice we start by constructing the service network of the most protable type (that is the vehicle, which, once lled, is the least expensive per transport unit per distance unit). Then, once the service network is constructed for the vehicles of type type, we remove the commodities it deals with and apply the same procedure to construct the networks for the other vehicle types. We suppose that any commodity is transported directly from its origin to its destination by a vehicle of type type. We l km denote by C type the capacity of the vehicles of Ltype . As there is no stop-over for any commodity, we need CW vehicles of type type type to transport the total demand W k of product k between its origin Ok an its destination Dk. Each of these virtual transport operations of a fraction of demand k induces a transportation cost (xed + variable) and brings in the revenue of the satised fraction of the demand k. Thus, each transport operation corresponds to a prot (which is positive or negative). We consider a graph in which the vertices are terminals, and the description above explains how we construct weighted arcs. We complete this graph with arcs correspondingmto empty transports (their cost is only the xed transportation cost) l 
k

of arcs between each pairs of vertices. These extra arcs will allow such that there are exactly the same number maxk W C type repositioning of vehicles with empty load. In this graph, some arcs are weighted by a positive value (which corresponds to prot) and others by a negative value (loss). As transportation plannings have to be copied from one planning horizon to the other and due to vehicle repositioning constraints, the chosen arcs (which will compose the network) have to form one or more cycles. Moreover, to maximize profit we choose cycles with global positive weight. Now, to solve this graph problem optimally, we modeled it as a maximum cost ow problem and solved it using the minimum mean cycle cancelling algorithm dened by Ahuja et al. (1989). This algorithm is polynomial On2 m3 logn in size of the constructed graph (n vertices and m arcs), but the number of arcs of this l m k graph (depending on maxk W ) is pseudo-polynomial in size of the freight transportation problem. C type Proposition 3.1. In the simplied problem without time quotas (constraints (5)), the prot of the solution of the direct trip policy provides a lower bound for the solutions of both of our algorithms based on the direct trip policy heuristic for Step 1 (construction of the network). As time quotas are not too restrictive in our problem, this bound is a practical lower bound for our problem including them. Proof. We rst show that in the simplied problem without time quotas, the solution of the direct trip policy can be easily transformed in a solution of our problem: The solution of the direct trip policy is a set of protable cycles for vehicles and direct trips for chosen commodities. We can assign vehicles to any cycle with the following algorithm: take a cycle, cut it in enough pieces of length less than the length of the period and assign one vehicle to each of these pieces. The obtained vehicle routes respect design-balance constraints because they are built on cycles or pieces of cycles. Departure and arrival times of vehicles at terminals can be easily included as no synchronization between vehicles is necessary. Thus with the direct trips for chosen commodities, the obtained vehicle routes provide a solution of our problem without time quotas. To end the proof, we now state that if the service network is built with direct trip policy heuristic then both of our algorithms improve prot of our problem (if time quotas are ignored): the constructed network permits for both algorithms

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

163

to carry directly from origin to destination all commodities chosen with direct trip policy. However, if more protable commodities can be taken instead, our algorithms which allow stopovers or transhipments in Step 2 will favour this commodities. Thus, prot will increase. h 3.1.2. Linear relaxation heuristic In order to measure the quality of our heuristic, we compare our result with the network constructed by a linear relaxation of the aggregated Service Network Design formulation with the design-balance constraints without time index, as for the upper bound (Proposition 2.1). To obtain the integer solution, after each resolution step of the relaxation of the MIP we round out variables with a fractional part less than 0.25 or greater than 0.75. If no variable can be rounded, we round the variable which is nearest to an integer. 3.2. Choice of the freight to carry Once the service network is constructed by the direct trip policy or linear relaxation, we have to choose which commodities will be carried. We have two possibilities: either we allow transhipment or not. We look at both to measure how transhipment increases prot. 3.2.1. Without transhipment Without transhipment (steps in order 1-3-2) the choice of freight is done at the last step and corresponds to optimally loading the planned vehicles. At the rst step, a protable network is constructed considering only direct trips. However, more prots could be achieved by considering stopovers and possibilities of loading and unloading at each terminal. This is done by solving a maximum cost ow problem. From the planning of one vehicle l, we build one particular instance of the maximum cost ow problem (see Fig. 5) in order to ll this vehicle with demands. The maximum cost ow will be computed in a graph constructed as follows. The vertices of the graph are terminals (A, B, etc.) visited by the vehicle, and each arc links the origin to the destination of one demand. For demand k, the capacity of the arc corresponds to the demand size, wk ; and the cost of the arc is the unit prot of the demand (P k U lOkDk for a direct trip). We also consider empty loads represented by the dashed arcs 1; 0. We add two vertices: one source s and one hole t. In order to respect capacity of vehicle l, the arcs linking the source and the hole to the other vertices, have a capacity equal to the capacity C l of vehicle l and a zero cost. Fig. 4 gives an example with four demands, the maximum ow problem for one vehicle l is represented in Fig. 5. As, by construction, no interaction exists between the different plannings, we can ll them at the same time by solving a maximum ow problem: we append the different ow problems and introduce a super-source and a super-hole. This maximum cost ow problem contains some specic arc capacity constraints in order not to exceed certain demands. In the example, these specic constraints must be set for the demand from A to B: The ows over the two arcs AB must not globally exceed the demand size w1 . Thus this step is done in polynomial time in size of the Service Network built in Step 1.

Fig. 4. Demands.

Fig. 5. Maximum ow problem for one vehicle l.

164

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

Fig. 6. Time incoherences.

Fig. 7. Precedence graph on transportation tasks.

3.2.2. With transhipment: time incoherences may occur To make transhipment possible, we swap the order of the last two steps (steps in order 1-2-3). Once the service network is designed we determine which commodities to transport on each arc. This is done by solving a multicommodity ow problem in a multidigraph, where the objective is to maximize prot and each arc of the graph corresponds to one transportation service. This problem is polynomial in size of inputs, it can be solved either by using Linear Programming (LP), or by using approximation algorithm as by Garg and Konemann (1998) and Fleischer (2000). However, when choosing which freight to carry, no time constraints are taken into account, and some time incoherences may occur which would interfere with the construction of plannings in the Step 3. Time incoherences have to be identied and, as a result, some commodity choices may have to be revised. This is managed with constraint and variable generations into the multicommodity ow formulation. The so modied problem is then solved again to revise the rst choices we made when lling the network with commodities. All these are detailed and illustrated on an example in the following sections. 3.2.2.1. Description of time incoherences. Time is not considered neither when we construct the service networks nor when we ll service networks with commodities. Thus, let A, B, C and D denote four terminals, the situation represented in Fig. 6 may occur: The same vehicle has to transport the different represented commodities from their origin to their destination. Obviously, we cannot transport the commodities 1, 2 and 3 from their origin to their destination by visiting all terminals only once, even if we use different vehicles. We can highlight this impossibility by using a precedence graph constructed as follows. Each transportation service can be seen as a task. If the same commodity is carried on successive services, the rst transportation service has to be done rst and so on for the next transportation services. Let us construct the precedence graph of these different commodity tasks, we denote by T AB the task transportation service from A to B00 .     The rst commodity implies the following precedences: T DA ! T AB ! T BC 2 2 The second gives precedence: T AB ! T BC ! T CD 3 For the third we have: T CD ! T DA The other commodities do not imply any precedence, because they are transported directly. Thus we need to schedule the task of precedence graph G represented in Fig. 7. This graph has a cycle: it is impossible to schedule these tasks by respecting all time precedences. 3.2.2.2. How to nd and eliminate time incoherences. To know which commodities are responsible for the appearance of a cycle and on which transportation arcs, we construct a directed graph G0 as follows. The vertices of this graph are the trans0 0 portation demands k, the arc k; k means that demand k is in conict with demand k . In the precedence graph G, we 0 0 0 consider that demand k is in conict with demand k if and only if k is loaded after k and k is unloaded before k at the end of an operation belonging to G. Proposition 3.2. The graph G0 has a cycle if and only if the precedence graph G has a cycle. We can identify the demands which involve the cycles in G0 and, resulting from our proposal, these demands are also responsible for the cycle in the precedence graph G. We detect the cycles in G and G0 with Floyds algorithm. These demands are called the incriminated demands. We add new constraints to the multicommodity ow problem so as to discard at least one precedence between transportation tasks, and to eliminate at least one cycle in the precedence graph. These constraints impact the transportation arcs on which at least two incriminated demands are transported.
1 1

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

165

Fig. 8. Graph of incriminated demands.

Fig. 9. Constraints to avoid cycles on incriminated demands.

Let fk1 ; k2 ; . . . ; km1 k1 g be a cycle in G0 . The last transportation arcs in the graph G shared by the demands ki and ki1 (involved in this cycle) are denoted as aki . As we need to discard the cycle we have to reroute at least one commodity; in other words, we need to choose which commodities will keep the same route and which will not. Thus we introduce a binary variable uk which determines whether or not commodity k will be carried on transportation arc i; j. We need these variables ij only for the demands involved in the cycle. The added constraints are as follows:

xaiki 6 wki uaiki ;


ki1 ki1 ki1

8i 2 1 . . . m;

13 14 15 16 17

xaki 6 w uaki ; 8i 2 1 . . . m;  X  k k uaiki uai1 6 2m 1; ki


i21...m k

uaiki 2 f0; 1g; uaki 2 f0; 1g;


ki1

8i 2 1 . . . m; 8i 2 1 . . . m:

Constraints (13) and (14) guarantee that commodity ki is carried on transportation arc aki only if this arc is kept for it (that is k if uaiki 1). The constraint (15) enforces that at least one conict between 2 demands belonging to cycle in G0 will be cancelled. Thus after constraint generation the incriminated demands will not all follow the same paths as before, and at least the cycle fk1 ; k2 ; . . . ; km1 g in G0 will be eliminated. So the incriminated demands will no longer produce the same precedences in G. 3.2.2.3. Example. The three commodities 13 are responsible for the cycle in the precedence graph of Fig. 8. These commodities follow, respectively, the paths: DAABBC, ABBCCD and CDDA. In order to break the cycle in the precedence graph, at least one of the these commodities has to follow another path or even not be carried. The graph of incriminated demands G0 is represented in Fig. 8, and the critical transportation arcs are specied over the arcs of G0 . The constraints we added are detailed in Fig. 9. 3.2.2.4. How to more efciently eliminate time incoherences. The number of introduced variables is limited by the number of commodities jKj and the size of the network, but these are binary variables. Furthermore, we have no guarantee that the number of constraints (15) we introduce is polynomial: in some iterations no new variables may be introduced but a new constraint (15) may be added. Thus, the elimination of time incoherences may take a long time. So as to speed up this step, we try to discard more than one cycle before relling arcs with commodities. We used an aggregate formulation which allows the reduction of the number of introduced binary variables and, consequently, the number of constraints (15). Thus, discarding a cycle in this aggregate version allows us to eliminate the development of a lot of similar cycles at the same time. Moreover, so as to eliminate more time incoherences at each step, we try to nd several cycles in the graph G0 and in the precedence graph at each step. Even with these improvements, we have no time guarantee. We will see in the empirical results (Section 4) how often elimination of time incoherences prevents us from getting a solution in a reasonable time.

166

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

Table 1 Constraint Programming scheduling rules without transhipment. Rules Clauses EulerT 1 ; T 2 Rule Rule Rule Rule Rule no no no no no 1 2 3 4 5 True False True False False AT 1 DT 2 True True False Quotalmin True True True T2 T2 T2 T2 T2 after T 1 on same vehicle after T 1 on same vehicle on a new vehicle on a new vehicle on a new vehicle Decision

3.3. Construction of the vehicle plannings In this step we care about time dimension and time constraints in the designed network and we assign vehicles to the services. The plannings can be seen as a scheduling problem in which each transportation service is a task whose duration is its transportation time. Vehicles are resources which execute these tasks with respect to following constraints. Eulerian cycle: Starting with the service network which is Eulerian by construction, an Eulerian cycle is constructed by Eulers algorithm. Vehicles are assigned to this cycle or to part of it. This is to respect the design-balance constraints including time dimension. Two consecutive tasks on a resource must verify that the arrival terminal of the rst task is the same as the departure terminal of the second task. The transportation tasks have to be assigned evenly between the different vehicles over one period. Any used vehicle l should be used at least Quotalmin but less than Quotalmax time units. This problem can be seen as a graph decomposition problem. This problem is detailed in Teypaz and Rapine (2008). Similar problems have been proved NP-Complete by Dor and Tarsi (1997). If transhipment is considered, including time becomes increasingly difcult because of precedences between transportation arcs. When the same commodity is transported on successive arcs, these arcs have to be scheduled in the same order.

Geographical constraints: Time quotas:

Transhipment operations:

To construct the vehicle plannings, we choose Constraint Programming which is a classical and efcient search technique to solve difcult scheduling problems. In particular, we are interested in the intelligent backtrack ability among others (constraints propagation in a node, instantiation order of variables, etc.) offered by Constraint Programming Kumar, 1992. Considering an Eulerian cycle, a simple algorithm can solve the problem if the chosen cycle allows it, i.e. when the cycle can be decomposed into paths with lengths between Quotalmin and Quotalmax . Otherwise, if the chosen cycle does not bring a solution, we may branch to another alternative (backtracking) for the construction of this cycle. Moreover, Constraint Programming makes it easier to integrate some secondary constraints for our problem such as: transit times, regular departure times and time windows. We use GNU-Prolog compiler which is a constraint solver on nite domains described in Diaz (2007). In practice, at each step of the search, we schedule one task either on the current resource or on a new one. The domain of time variables of each task (indicating the beginning of the tasks) are updated according to the graph of task precedence. At each node of the search tree, a task is scheduled. We introduce different scheduling rules. They are applied following a given order which favours to nd quickly a feasible solution. In case of failure, we backtrack by changing the applied rule or by using a new Eulerian cycle. Table 1 gives some mathematical details of the rules for the simple case without transhipment. We denote by T 1 the last transportation task assigned to a vehicle, and by T 2 the next transportation task to assign. The clause EulerT 1 ; T 2 states that task T 2 is after task T 1 in the current Eulerian cycle. AT 1 DT 2 means that the arrival of transportation task T 1 is equal to the departure of transportation task T 2 . Clause Quotalmin guarantees that the current vehicle has reached the minimum utilization time. The order in which we apply the different rules is essential to nd a solution. Nevertheless, it may happen that no feasible solution respecting time quotas and delivering all commodities in the same period exists or can be computed in reasonable time. In this case, no solution will be provided. To take transhipment into account, we introduce new scheduling rules which consider precedences between transportation tasks. This makes this scheduling problem even harder to solve as it will be presented in computational results.

4. Tests and computational results We present results obtained using an homogeneous eet, i.e. a eet of identical vehicles. Some remarks on the heterogeneous eet will also be given.

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170 Table 2 Distribution of the size of any demand. Demand size wk Distribution Small demands Equivalent demands Big demands 130 (%) 40 5 5 3090 (%) 40 20 5 90150 (%) 10 50 10 150250 (%) 5 20 40

167

250800 (%) 5 5 40

4.1. Data instances Our methods have been tested on real-life instances provided by our industrial partner. The solutions obtained reduced signicantly the eet size with little increase in prot. To go further in the tests while preserving data condentiality, we generate instances based on the structure of the real-life data. The instances contain 40 terminals and distances di; j between the different terminals are known. Our time period is of 480 time units, during such a period if a vehicle is used it should be at least for Quotamin time units and at most for Quotamax time units. For the most protable vehicle, considered in most of the tests, we chose Quotamin 130 and Quotamax 325. We have three different vehicle types type 1; 2; 3, and capacity C l of vehicle l is known. The capacity of the most protable   vehicle is of 140 transport units. For any vehicle l, the xed cost is given by matrix F lf i; j , and the variable cost is given by U l i; j. We also know transportation times between all pairs of terminals, detailed in matrix t li;j . We choose different percentages of lling for the demands matrix and demands are either concentrated at certain terminals (called hubs or not. The four different ways of lling the demands matrix are as follows. 1 hub: Demands are concentrated at one hub. It means the row and the column corresponding to the hub are lled at 80% with non-zero demands, and that the remainder is lled at 5%. This corresponds to 8.75% non-zero demands in the matrix. 8 .75%: The matrix is lled randomly with 8.75% of non-zero demands. 3 hubs: Demands are concentrated on 3 hubs, this corresponds to 16% non-zero demands. 1 6%: The matrix is lled randomly with 16% of non-zero demands. In all cases, the lling is done in such a way that all terminals are involved in at least one non-zero demand, as origin or destination. The analysis of real-life data permits us to compute the transportation prices Pk . The size of any demand is either small, equivalent or big compared to vehicle size (Table 2). Thus we have 12 different proles of instances (four lling ways multiplied by three demand sizes). For each prole, we generated 10 instances. We then compute the average of the obtained results. We tested all of these instances with both algorithms (with and without transhipment) and for both methods of construction of the network (direct trip policy and linear relaxation heuristics). To evaluate the quality of the solutions, we compare our results to the lower bound of Proposition 3.1 and the upper bound of Proposition 2.1. We detail also the number of vehicles used and the computational times. 4.2. Resolution time and failures To test all our methods, we limited the time to 20 min for solving an instance on a desktop computer equipped with Intel Core 2 Duo 2.4 GHz with 2 Gbytes of RAM and ILOG Cplex 10.2. This time limit is to meet the requirements of the industrial application. In Table 3, for both methods of constructing the planning, the rst two columns summarize the average resolution time for the method without transhipment (NoT) and the one with transhipment (T). The next two columns specify the number of failures of methods with transhipment: the number of times that the resolution was stopped during the demand-related lling step (Step 2) is detailed in column (Fail2), the number of times that the resolution was stopped during construction of the planning (Step 3) is summed up in column (Fail3). Fail2 is due to too many time incoherences, Fail3 is caused by too many difcult precedence constraints on transportation services. These two failures are of a different nature, in the second case we already know the global prot, remaining construction of planning is a decision problem. Methods without transhipment are very robust, they provide a solution for all instances. The solving process is done in approximately 1 s if direct trip policy is used for network design, and 1 min when linear relaxation heuristic is used. With transhipment, the computational time is increased and we do not always have a solution. When the network is constructed using linear relaxation heuristic, computational time is even longer and failures are more frequent. 4.3. Solution results 4.3.1. Prot optimization First, we present the prot of the solutions obtained the different methods compared to the lower and upper bounds (see Table 4).

168

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

Table 3 Computation time (in seconds) and resolution failures. Instances Direct trip policy NoT Time Small demands ( vehicle size 1 hub 0.32 8.75% 0.33 3 hubs 0.44 16% 0.43 Demands % vehicle size 1 hub 0.46 8.75% 0.44 3 hubs 0.60 16% 0.62 Big demands ) vehicle size 1 hub 0.78 8.75% 0.73 3 hubs 1.47 16% 1.48 Total
a b

Linear relaxation Fail2 0 0 0 4 0 0 0 0 0 0 0 0 4 Fail3 2 1 3 1 1 0 1 1 2 2 2 1 17 NoT Time 61.83 58.34 71.35 87.71 64.10 62.79 73.59 78.58 62.09 66.20 84.27 81.06 T Timea 62.67 127.36 151.20 130.25b 62.73 132.59 83.97 218.83 74.33 66.79 177.80 116.12 Fail2 0 1 0 9 0 3 0 5 0 0 0 0 18 Fail3 2 2 3 0 3 0 1 1 0 1 0 0 13

T Timea 1.25 22.33 40.26 65.18 0.88 10.94 29.44 209.30 1.95 2.15 2.83 7.95

If resolution fails, its computation time is not used to compute the average. Only one result.

Table 4 Relative gain and satised demands (all in percentage). Instances Direct trip policy NoT RG Small demands ( vehicle size 1 hub 12.63 8.75% 5.83 3 hubs 18.59 16% 10.36 Demands % vehicle size 1 hub 16.68 8.75% 7.29 3 hubs 16.81 16% 10.46 Big demands ) vehicle size 1 hub 16.38 8.75% 8.55 3 hubs 21.88 16% 13.59 Average 13.25 5.78 Sat 68.19 64.74 72.86 69.95 86.99 80.74 86.41 83.06 87.26 86.87 87.78 88.21 T RG 31.96 25.56 49.01 40.95a 42.33 37.92 51.15 47.82 41.63 36.84 53.15 48.91 42.31 9.41 Sat 69.11 64.53 76.06 72.34 88.57 81.68 89.27 84.63 88.23 86.95 88.74 86.95 Linear relaxation NoT RG 2.41 11.73 6.59 7.78 7.49 17.91 3.32 12.87 4.26 14.55 7.83 7.82 5.76 11.95 Sat 68.70 64.40 73.75 73.16 84.94 81.44 84.72 82.43 86.68 87.02 87.51 88.46 T RG 31.46 19.23 57.66 50. 81b 43.25 33.86c 68.26 63.36d 45.87 39.38 70.21 61.98 48.61 17.26 Sat 71.92 65.76 79.32 83.03 87.70 82. 66 88.29 86. 60 87.55 87.75 88.74 89.66 81.31 81.67 90.21 90.36 79.93 79.48 89.64 89. 84 83.10 82.92 90.30 90.65 85.78 5.00 Cplex RG

r
a b c d

Average of six results. Only one result. Average of seven results. Average of ve results.

To compare the prot values of the algorithms, we compute the relative gain (RG) dened as the difference between the prot value of a solution and the lower bound, divided by the difference between the upper and the lower bound. We expressed this relative gain as a percentage. A negative relative gain means that the prot is worse than the lower bound, a relative gain of 100% means that the prot is equal to the upper bound. The last column gives the relative gain of the best solution of the aggregated formulation computed by Cplex in 20 min. We also specify the percentage of satised demands in the columns labelled Sat. To summarize results from the 12 data proles, average and standard deviation r of the relative gains are given at the end of the table. We observe that most of the algorithms improve prots. Only the method without transhipment and based on a network construction using linear relaxation is often worse than the lower bound. Indeed, linear relaxation constructs networks privileging transhipment; this prevents construction of independent plannings and less protable commodities are carried.

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170 Table 5 Vehicle utilization. Instances Direct trip policy NoT Average utilization time 291.3 T 188 Linear relaxation NoT 292.7 T 187.5

169

Transhipment allows us to increase prots signicantly. With direct trip policy, the average of the relative gain increases by around 30%. With linear relaxation, the increase of the average is even improved. We note that when the data instances contain hubs, the relative gain are higher from 5% to 10%. Indeed, efcient networks are easier to construct and higher rates of satised demands are achieved. When demands are randomly generated, of small or medium size, the use of direct trip policy is more attractive: The relative gains are good, and furthermore, this method provides a solution for nearly all instances. Also, this method is less inuenced by the prole of the instance (the standard deviation r is lower). For big size demands, the method with transhipment using linear relaxation is the best according to the relative gains. This is explained by the fact that linear relaxation constructs networks privileging transhipments and that big demands favour transhipments of full loads, thus dependencies between vehicles are limited. 4.3.2. Vehicle utilization For different methods, we compute the average utilization time of the vehicles (Table 5). These times are similar for the different proles of instances. Without transhipment, vehicle utilization times are close to Quotamax 325, thus vehicles are almost optimally used. The methods with transhipment are less efcient on vehicle utilization times which are close to Quotamin 130. In spite of respect of time quotas and a better prot, methods with transhipment are unsatisfactory: they use 1.5 times more vehicles than if no transhipment is used. 4.4. Heterogeneous eet We tested the same instances with an heterogeneous eet containing the same type of vehicles as homogeneous eet and two other types with smaller capacities (100 and 60). These vehicles are competitive compared to the bigger vehicles especially for small demands. The network constructed by using linear relaxation is nearly the same as for the homogeneous eet, but as the linear model is bigger, it takes a longer time to obtain the network. The lower bounds and the results for small size demands are improved but the benets are quite small. Indeed, for medium and big size demands, using an heterogeneous eet gives worse results! The networks constructed for small vehicles in Step 1 are often not protable after Step 2. Because, the commodities are taken by larger vehicles in Step 2 when lling decision is made. Thus, the protable cycles from Step 1 for the small vehicles becomes unprotable with the empty trips. We did not further investigate heterogeneous eet with our decomposition methods. 5. Conclusion and perspectives In this paper, we formulate a large-scale freight transportation problem involving both the eet assignment and Service Network Design. The objective is to maximize the prot of a carrier. We developed a 3-step decomposition heuristic to solve this problem. We used graph algorithms (ow problems), Linear and Mixed Integer Programming and Constraint Programming techniques. The main contributions of the paper to the literature are to address real-life size instances, and to build step by step a comprehensible solution whose representation is complex. Major ndings of the numerical tests for the two solving methods with or without transhipment are as follows. The one without transhipment using direct trip policy for network construction provides the best trade-off between solution quality and computational time: Computation is very fast (a few seconds), vehicles are well used and the prots are good. Methods with transhipment get better prots, but vehicles are under-used. Furthermore, 20 min of resolution time is not always enough to nd a solution. For operators, the contributions of our decomposition algorithms are: a fast estimation of the potential prot (after the rst step), a high exibility w.r.t. new time constraints (to include in the constraint programming), and very fast computation of high quality solutions. Actually, our algorithm provides a decision support which helps our industrial partner to evaluate an ideal eet for maximizing its prot. Furthermore, it is enough exible concerning the transportation costs and transhipment. For scholars, the specicity of our method is a step wise construction of a solution w.r.t. its complex structure. Each step involves specic Operations Research techniques to provide efciently high quality solutions in a low computation time even for large-scale instances. These size instances had never been tackled including neither asset management issues, nor price collecting aspects before.

170

N. Teypaz et al. / Transportation Research Part E 46 (2010) 156170

The perspectives are twofold. First, our decomposition scheme may be enhanced by improving each of its step. Second, we did not consider the eet size and heterogeneous eet which are natural in an industrial context. These constraints should already be considered within the network construction and cannot be easily integrated in our resolution scheme. Furthermore, there is no backtrack on the choices we made in this constructive method. A formulation of our problem based on routes (in this case, a route is a complete planning of a vehicle) combined with Service Network Design formulation may be more suitable for this problem. These aspects are still under investigation. Acknowledgments This research has been supported by the following grants and contracts: BQR INPG Optimisation du transport de fret par lutilisation de plateformes logistiques; Cluster de Recherche GOSPI, Gestion et Organisation des Systmes de Production et de lInnovation, Rgion Rhnes-Alpes; ANR-05-CIGC-006-04 CHOC, Challenge en Optimisation Combinatoire. References
Ahuja, R., Magnanti, T., Orlin, J., 1989. Optimization Chapter Network Flows. Elsevier North-Holland, Inc. pp. 211369. Andersen, J., Christiansen, M., Grnhaug, R., Crainic, T., 2007a. Branch-and-price for service network design with asset management constraints. Technical Report 55, Centre Interuniversitaire de Recherche sur les RTseaux dEntreprise, la Logistique et le Transport, Canada. Andersen, J., Crainic, T., Christiansen, M., 2007b. Service network design with asset management: formulations and comparative analyses. Technical Report 40, Centre Interuniversitaire de Recherche sur les RTseaux dEntreprise, la Logistique et le Transport, Canada. Andersen, J., Crainic, T., Christiansen, M., 2007c. Service network design with management and coordination of multiple eets. European Journal of Operational Research. Archetti, C., Feillet, D., Hertz, A., Speranza, M., 2008. The capacitated team orienteering and protable tour problems. Journal of the Operational Research Society. Barnhart, C., Jin, H., Vance, P., 2000. Railroad blocking: a network design application. Operations Research 48 (4), 603614. Barnhart, C., Krishnan, N., Kim, D., Ware, K., 2002. Network design for express shipment delivery. Computational Optimization and Applications 21 (3), 239 262. Barnhart, C., Schneur, R., 1996. Network design for express freight service. Operations Research 12 (6), 852863. Chou, M., Song, M., Teo, C., 2003. Inventory-routing problem in sea freight: direct versus transshipment model. Technical Report, The Logistics Institute Asia Pacic. Crainic, T., 2000. Service network design in freight transportation. European Journal of Operational Research 122 (2), 272288. Crainic, T., 2002. Chapter Long-Haul Freight Transportation. Handbook of Transportation Science. Kluwers International Series. pp. 451516. Diaz, D., 2007. GNU Prolog: A Native Prolog Compiler with Constraint Solving Over Finite Domains. Dor, D., Tarsi, M., 1997. Graphe decomposition is np-complete: a complete proof of holyers conjecture. SIAM Journal on Computing 26 (4), 11661187. Feillet, D., Dejax, P., Gendreau, M., 2005. Traveling salesman problems with prots. Transportation Science 39 (2), 188205. Fleischer, L., 2000. Approximating fractional multicommodity ows independent of the number of commodities. SIAM Journal on Discrete Mathematics 13 (4), 505520. Garg, N., Konemann, J., 1998. Faster and simpler algorithms for multicommodity ow and other fractional packing problems. In: 39th Annual IEEE Symposium on Foundations of Computer Science, pp. 300309. Jaillet, P., Song, G., Yu, G., 1996. Airline network design and hub location problems. Location Science 4 (3), 195212. Kumar, V., 1992. Algorithms for constraint satisfaction problems: a survey. AI Magazine 13 (1), 3244. Lai, M., Lo, H., 2004. Ferry service network design: optimal eet size, routing, and scheduling. Transportation Research Part A 38, 305328. Laporte, G., 1992. The vehicle routing problem: an overview of exact and approximate algorithms. European Journal of Operational Research 59 (3), 345 358. Pedersen, M., Crainic, T., Madsen, O., 2007. Models and tabu search meta-heuristics for service network design with asset management requirements. 49, Centre Interuniversitaire de Recherche sur les RTseaux dEntreprise, la Logistique et le Transport. Smilowitz, K., Atamtnrk, A., Daganzo, C., 2003. Deferred item and vehicle routing within integrated networks. Transportation Research Part E 39, 305323. Teypaz, N., Rapine, C., 2008. Graph decomposition into paths under length constraints. Technical Report 164, Cahiers de Leibniz G-SCOP. Wang, D., Lo, H., 2008. Multi-eet ferry service network design with passenger preferences for differential services. Transportation Research Part B 42 (9), 798822. Wieberneit, N., 2008. Service network design for freight transportation: a review. OR Spectrum 30, 77112. Yan, S., Chen, H., 2002. A scheduling model and a solution algorithm for inter-city bus carriers. Transportation Research Part A 36 (9), 805825. Yan, S., Chen, S., Chen, C., 2005. Air cargo eet routing and timetable setting with multiple on-time demands. Transportation Research Part E 42 (5), 409 430.

También podría gustarte