A new mixed integer linear model for a rich vehicle routing problem ...

17 downloads 1378 Views 533KB Size Report
May 8, 2010 - Abstract. In this paper we address a rich vehicle routing problem that arises in real-life applications. Among other aspects we consider time ...
Ann Oper Res (2010) 181: 337–358 DOI 10.1007/s10479-010-0748-4

A new mixed integer linear model for a rich vehicle routing problem with docking constraints Julia Rieck · Jürgen Zimmermann

Published online: 8 May 2010 © Springer Science+Business Media, LLC 2010

Abstract In this paper we address a rich vehicle routing problem that arises in real-life applications. Among other aspects we consider time windows, simultaneous delivery and pick-up at customer locations and multiple use of vehicles. To guarantee a coordinated material flow at the depot, we include the timed allocation of vehicles to loading bays at which the loading and unloading activities can occur. The resulting vehicle routing problem is formulated as a two-index vehicle-flow model which integrates the routing under real-life conditions and the assignment of vehicles to loading bays at the depot. We use CPLEX 11.0 to solve medium-sized instances that are derived from the extended Solomon test set. The selective implementation of preprocessing techniques and cutting planes improves the solver performance significantly. Keywords Vehicle routing · Simultaneous delivery and pick-up · Docking constraints · Mixed integer linear programming

1 Introduction The classical capacitated vehicle routing problem (CVRP) consists of finding routes for vehicles of known capacity which operate from a single depot to supply a set of customers at known locations and with given demands. Routes for the vehicles are computed such that an objective function, like the total transportation costs or the number of vehicles used, is minimized. The problem has attracted a lot of attention in the academic literature. The interest is motivated both by its practical relevance and its considerable difficulty; as an extension of the traveling salesman problem the CVRP is N P -hard in the strong sense (cf. Garey and Johnson 1979; Toth and Vigo 2002). J. Rieck () · J. Zimmermann Department of Operations Research, Clausthal University of Technology, Julius-Albert-Str. 2, 38678 Clausthal-Zellerfeld, Germany e-mail: [email protected] J. Zimmermann e-mail: [email protected]

338

Ann Oper Res (2010) 181: 337–358

Routing problems appear in a large number of practical situations like truckload and lessthan-truckload services, parcel services, the transportation of handicapped people, school bus routing, and the routing of salesmen. However, most real world routing problems are often more complex than the idealized CVRP studied in the literature. Hence, research has turned to more specific and rich variants of the CVRP. The family of these problems is identified as rich vehicle routing problems (RVRPs). In order to model RVRPs, the basic CVRP must be extended by considering additional constraints or different objective functions. In the following two paragraphs, we specify requirements that are typically discussed in the literature for routing problems and, in our opinion, typically occur in real-life applications. Firstly, we describe the characteristics that can be associated with single addresses and secondly, we define the characteristics of the vehicles. In practice many customers, e.g. wholesale and retail customers, can only be served during certain times of the day, henceforth called time windows. We assume that the customers impose hard time windows, i.e. a vehicle must arrive at a customer location before its time window closes and if the vehicle arrives too early, it must wait until the time window opens (see e.g. the surveys by Bräysy and Gendreau 2005a, 2005b). In order to avoid night shifts, the loading and unloading activities at the depot must be done within the prescribed depot business hours. Mainly in reverse logistics networks, products have to be transported from the depot to customer locations and other products have to be taken from customer locations to the depot. In this case, each customer requires two types of service, a delivery and a pickup, and both activities have to be carried out simultaneously by the same vehicle (see e.g. the survey by Parragh et al. 2008). The distribution of products to customers is performed by using a set of vehicles that are available at the depot. Since the number of vehicles in the fleet usually increases over the time vehicle capacities differ, particularly regarding maximum weight, volume or number of pallets the vehicle can load. Thus, a heterogeneous vehicle fleet is to be considered. Moreover, drivers operating the vehicles must not exceed a total working time during the day, typically to comply with legal restrictions. Designing routes with multiple uses of the vehicles is important in practice, because customer locations are frequently near the depot and vehicle capacities are relatively small. In order to save operating costs, it is prudent to assign several routes to the vehicles. In addition to the requirements already suggested, the main problem at the depot is to guarantee a coordinated material flow without interruption. Departing and arriving vehicles have to be assigned to loading bays and to suitable time slots for loading and unloading. The consideration of docking constraints at the depot is necessary to reduce waiting times as long waiting times result in late starting vehicles and crowed yards. In Sect. 2 of this paper we discuss an application for a rich vehicle routing problem with docking constraints that have great practical relevance in the carrier industry in Europe. Section 3 gives basic information on modeling techniques for routing problems. In Sect. 4 we present the mathematical model formulation for the considered RVRP. Based on the model, we describe methods to improve the quality of the model in terms of computational time and solution gap (Sect. 5). The results of a comprehensive performance analysis are given in Sect. 6. Finally, conclusions are presented in Sect. 7.

2 Practical application in the carrier industry Typically, carriers arrange the material flow through a transport network during a specific time period and they prepare documentation consisting of bills and export documents. The

Ann Oper Res (2010) 181: 337–358

339

carrier industry can be divided into some segments, each offering services that satisfy different customer requirements. We distinguish between truckload and less-than-truckload carriers, air and ocean carriers, multimodal operators, parcel carriers, and hazardous material carriers. In this paper, we focus on the less-than-truckload (LTL) segment in which carriers provide the ground transportation of small and medium shipments, e.g. pallets, boxes, parcels, buckets, sacks, or pipes. In order to obtain a high degree of capacity utilization, LTL carriers make use of hubs and depots that allow the consolidation of freight along certain routes. A typical LTL shipment would first be picked-up at a customer location and dropped off at a local depot. There, shipments of different carriers are consolidated into one vehicle load for linehaul to the destination depot or to a hub where the freight will be further consolidated for additional linehauls. After arriving at the destination depot, the shipment would be finally trucked to the customer. In particular, medium-sized LTL carriers have difficulties operating more than one depot at the same time, because they do not dispose of an adequate number of human and monetary resources. To exist in the European market, they cooperate with other LTL carriers that enable them to achieve synergy effects in terms of area coverage, optimization of travel times and service quality. Each cooperative member has to maintain one single depot and has only to perform the delivery and pick-up service around the depot. To overcome the distances between depots of different carriers, the cooperation uses a linehaul network with a fixed schedule for the vehicles. The income of a LTL carrier in a cooperation depends on identifying economical efficient vehicle routing alternatives and providing customer friendly services. Consequently, the routing under real-life conditions is of particular importance. In addition to the characteristics that can be associated with addresses and vehicles (cf. Sect. 1), the consideration of docking constraints has significant impact on feasibility of a routing schedule. In most cases, vehicle drivers leave the depot in the morning to perform the deliveries and pick-ups at no more than 50 customer locations in the local area and they return in the early evening. Additionally, in the afternoon drivers often perform a loading and/or unloading stop at the depot. Hence, all vehicles have to be loaded or unloaded nearly at the same time. In an interview with 18 medium-sized LTL carriers we found out that a typical carrier has only one or two loading bays available at which the loading and unloading activities can occur. To ensure an on-time departure of linehaul vehicles, a coordinated material flow and the avoidance of waiting times at the depot is essential.

3 Modeling techniques for vehicle routing problems A variety of integer programming models have been proposed for the CVRP and its (rich) variants. In particular, the model formulations differ in the chosen set of decision variables (cf. Toth and Vigo 2002; Letchford and Salazar-Gonzales 2006). Let G = (V , A) be a complete digraph, where V is the set of vertices (customers, depot) and A is the set of arcs that connect pairs of vertices. Then, four modeling techniques can be distinguished: – Two-index vehicle-flow formulations containing binary variables indicating whether an arc in the underlying digraph G is selected or not. – Three-index vehicle-flow formulations explicitly indicate the vehicle that traverses an arc. Therefore, they consider a binary variable for every arc-vehicle combination.

340

Ann Oper Res (2010) 181: 337–358

– Commodity-flow formulations requiring a new set of (continuous) variables which represent the amount of demand that flows along the associated arcs. This is in addition to the variables used by a two- or three-index vehicle-flow formulation. – Set-partitioning formulations containing a binary variable for every potential vehicle route. Two-index vehicle-flow formulations have been extensively used to model the CVRP (see e.g. Laporte and Nobert 1983; Lysgaard et al. 2004). Rich vehicle routing problems are usually formulated as three-index vehicle-flow models with decision variables xij v which indicate whether an arc i, j  ∈ A is traversed by vehicle v (v = 1, . . . , K) in an optimal solution. These models seem to be more flexible in incorporating additional constraints, e.g. different capacities of the vehicles. In their monograph, The Vehicle Routing Problem, Toth and Vigo (2002) suggest that two-index vehicle-flow formulations “generally are inadequate for more complex versions of vehicle routing problems”. Their arguments are based on the proposition that “these models are not suited for the cases where the cost or the feasibility of a circuit [each corresponding to a vehicle route] depends on the overall vertex sequence or on the type of vehicle allocated to the route”. To emphasize the role of three-index vehicle-flow formulations in connection with RVRPs, we specify relaxations of the problem considered in Sect. 1 that are modeled in the newer literature. Kallehauge et al. (2005) consider the vehicle routing problem with time windows, Dethloff (2001) the vehicle routing problem with simultaneous delivery and pick-up, Hajri-Gabouj and Darmoul (2003) the vehicle routing problem with time windows and multiple use of the vehicles and Goel and Gruhn (2008) the vehicle routing problem with time windows, heterogeneous vehicles as well as delivery and pick-up locations. In Rieck and Zimmermann (2009) we use a state of the art modeling technique in which the formulation of Kallehauge et al. (2005) is combined with the formulation of Dethloff (2001) and the resulting model is completed to the case of docking constraints. Although this three-index vehicle-flow model is quite powerful, we show in Sect. 6.2 that the formulation is particularly inferior to the new model introduced in this paper. Letchford and Salazar-Gonzales (2006) demonstrate that “commodity-flow formulations are unlikely to give the best performance for problems in which all vehicles are identical”. However, these models can be useful for some RVRPs. Commodity-flow formulations should be of interest, if the consideration of additional variables strengthen the lower bound based on the linear programming relaxation. Set-partitioning formulations require the consideration of all vehicle routes that are potential candidates for an optimal solution. Since the explicit generation of all these routes is normally impractical, authors usually resort to a column generation approach. Unfortunately, for routing problems with time windows, the determination of routes (columns) by column generation techniques is already N P -hard in the strong sense (cf. Dror 1994). Moreover, the considered RVRP involves heterogeneous vehicles, therefore, potential routes have to be generated for each vehicle capacity. That is why Taillard (1999) as well as Choi and Tcha (2007) present heuristic column generation procedures for the heterogeneous fleet vehicle routing problem. This paper describes a new mixed integer linear model for the real-life rich vehicle routing problem with docking constraints (cf. Sect. 1). The model uses binary variables xij ∈ {0, 1} to indicate if a vehicle traverses an arc i, j  in the optimal solution found. By introducing artificial nodes for the depot, the feasibility of each vehicle route can be checked easily. Additionally, with the introduction of variables yij ∈ {0, 1} which sequence the loading and unloading activities at the depot, the assignment problem of vehicles to loading bays can be attached. The statement “the most successful algorithms for the CVRP are based on either two-index vehicle-flow or set partitioning formulations, or a combination of the

Ann Oper Res (2010) 181: 337–358

341

Fig. 1 Transport digraph G

two” proposed by Letchford and Salazar-Gonzales (2006) motivates our work on two-index vehicle-flow formulations for RVRPs.

4 Model formulation The following section describes a two-index vehicle-flow model for the considered RVRP which integrates the routing of vehicles under real-life conditions and the assignment of vehicles to loading bays at the depot. The main scientific benefit of the model is that the twoindex vehicle-flow formulation can be extended by docking constraints without increasing the complexity of the model. Since not all constraints specified in Sect. 1 may apply in certain applications, different blocks of restrictions are presented to facilitate the formulation of relaxations. Let G = (V , A) be the underlying transport digraph, where V is the vertex set and A is the arc set. Vertex set V = C ∪ L ∪ S ∪ E consists of nodes C for customers, nodes L for loading bays as well as nodes S (start) and E (end) which represent the departure of vehicles from the depot and the arrival of vehicles at the depot, respectively. That is, we model the problem with “open routes”, where a route of a vehicle starts at the corresponding start node and ends at the corresponding end node. For technical reasons, we assume that each vehicle is able to perform at most two routes during the planning horizon. An extension of this assumption to three or more vehicle uses is possible without further ado. Set S = S 1 ∪ S 2 comprises two nodes for the departure of each vehicle, where S 1 consists of nodes for the first and S 2 for the second departure of the vehicles. Set E is composed analogously, where |S| = |E|. For a problem instance with three customers, two vehicles and two loading bays, the resulting digraph G contains 13 vertices, namely – three customer nodes i1 , i2 , i3 , – four start and four end nodes s1 , . . . , s4 , e1 , . . . , e4 , and – two loading bay nodes λ1 , λ2 ; see Fig. 1. The subgraph consisting of start, end, and loading bay nodes is complete. To simplify matters, the forward and backward arcs between pairs of nodes in the subgraph are described by dashed edges. The subgraph containing the customer nodes is complete, too, and the edges (each represents a forward and a backward arc) are given in gray color. In order to connect both subgraphs, G contains arcs i, j , i ∈ S, j ∈ C, and i ∈ C, j ∈ E.

342

Ann Oper Res (2010) 181: 337–358

Two non-negative weights cij and tij are associated with each arc i, j , i ∈ C ∪ S, j ∈ C ∪ E and i ∈ E, j ∈ S which represent the transportation costs and the travel time from vertex i to j , respectively. For each i, j ∈ C, i = j , for i ∈ S, j ∈ C, and for i ∈ C, j ∈ E it holds that cij , tij > 0; otherwise we set cij , tij := 0. We assume that the cost and travel time matrices satisfy the triangle inequality. This condition is always fulfilled in practical situations and allows a more efficient modeling of the problem (cf. Sect. 5.2). We measure the demand of customers in abstract transport units, which can be calculated from the dimension and weight of the individual product. Each customer i is associated with a demand di ≥ 0 that should be delivered and a demand pi ≥ 0 that should be picked-up, where we assume that di + pi > 0. For nodes j ∈ S ∪ E we set dj , pj := 0. The start of service at some node i ∈ V must be within a prescribed time window [ai , bi ], i.e. a vehicle must arrive before bi , and if it arrives before ai it has to wait until the time window opens. We set ai := ρ and bi := ξ for all i ∈ S ∪ E ∪ L, where ρ represents the earliest possible departure from the depot and ξ the latest possible arrival at the depot. Service time si > 0 is the time which is necessary for the loading and unloading activities at customer i ∈ C. It can be calculated from the quantity that must be loaded and/or unloaded, multiplied by a loading factor ζ which represents the loading time per transport unit. In summary, for each customer i a triplet {ai , bi , si } is given, where ai ≤ bi , bi ≥ ρ + thi and ai ≤ ξ − si − tik , h ∈ S, k ∈ E arbitrary but fixed. A set of heterogenous vehicles is available at the depot. Let Cmax be the capacity of the largest vehicle. We assign the capacity of the individual vehicles to the corresponding start nodes, i.e. start node i ∈ S gets the capacity Capi ≥ 0 which is equal to the capacity Capv of vehicle v starting at node i. Moreover, the capacity Capi has to be considered for all nodes that follow after node i ∈ S in the respective route. The vehicle capacities as well as the total working time Tmax (travel and service times) may not be exceeded in any route. Instead of the duration of a route, which includes waiting times, we limit the sum of travel and service times, because we assume that the waiting times are break periods for the drivers. For each node i ∈ C ∪ S ∪ E we introduce an auxiliary quantity φi to determine the number of visited start and end nodes in a route. We set φi := 1 for all i ∈ S ∪ E and φi := 0 otherwise. Besides the described parameters, we make use of the following auxiliary variables fi ≥ 0 li ≥ 0

required travel and service time to node i ∈ C ∪ S ∪ E amount of load after visiting customer i ∈ C and amount of load in end node i∈E amount of load that has to be delivered to node i ∈ C ∪S and to all other following nodes loading time at start node i ∈ S and unloading time at end node i ∈ E, where both times depend on the amount that has to be (un-)loaded number of visited start and end nodes before visiting node i ∈ C ∪ S ∪ E start of service at node i ∈ C ∪ S ∪ E ∪ L

ldi ≥ 0 si ≥ 0 σi ≥ 0 τi ≥ 0

as well as routing and docking decision variables

xij :=

⎧ 1, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

if case 1: case 2:

0,

otherwise

node i ∈ C ∪ S is visited before node j ∈ C ∪ E by the same vehicle or if a vehicle ends its first route at i ∈ E 1 and starts its second route at j ∈ S 2

Ann Oper Res (2010) 181: 337–358

343

Fig. 2 A feasible set of routes

yij :=

⎧ 1, ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

if case 1:

case 2: case 3: case 4:

0,

(un-)loading activities at node i ∈ S ∪ E are performed before (un-)loading activities at node j ∈ S ∪ E at the same loading bay or (un-)loading activities at note j ∈ S ∪ E are carried out at loading bay i ∈ L or after node i ∈ S ∪ E all (un-)loading activities are performed at loading bay j ∈ L or there are no activities at loading bay i ∈ L and we continue with j ∈ L

otherwise.

In order to get an impression of the application of decision variables, an example of a feasible set of routes is shown in Fig. 2. A solid arc between two sets C, S or E, say for example S 1 and C, symbolizes a decision variable xij = 1 between a node i ∈ S 1 and a node j ∈ C. Accordingly, the first vehicle starts its first route at the depot, visits some customer locations and returns to the depot (case 1). The second route of vehicle 1 is executed analogously. An arc between a node i ∈ E 1 and a node j ∈ S 2 ensures the admissible connection of the first and the second vehicle route (case 2). Then, the required travel and service time or the start of service can be calculated for each stop of a vehicle. If there is an arc between a start and an end node, the corresponding vehicle rests in the depot (see e.g. vehicle 3). A dashed arc between two sets S, E or L, for example S 1 and E 1 , represents a decision variable yij = 1 between a node pair i ∈ S 1 , j ∈ E 1 . Consequently, at the first loading bay i ∈ L the vehicle 1 is loaded (case 2). Then, the vehicles 2 and 3 are loaded consecutively and vehicle 3 is unloaded (case 1). After this, no other activities are carried out at loading bay i on this day (case 3). An arc between a node pair i, j ∈ L (see e.g. the third and the second loading bay) denotes that i ∈ L is not used during the day (case 4). Figure 2 looks similar to a disjunctive graph of a job-shop problem. The job-shop problem considers the scheduling of a set of jobs, each consists of a sequence of operations, on distinct machines. The problem requires finding an optimal order of all operations on the machines. In a disjunctive graph all operations of the same job are connected by a chain of conjunctive arcs and disjunctive edges are inserted between the operations to be processed on the same machine. The problem can be solved by turning each undirected disjunctive edge into a directed conjunctive one. The main differences to the problem at hand are: – the sequence of customer visits (operations) of a vehicle (job) is not known and – the loading and unloading activities (operations) are not assigned to a specific loading bay (machine). In summary, the customers i ∈ C compete for a vehicle and the (un-)loading activities for a loading bay. Hence, the following mixed integer linear model formulation combines two

344

Ann Oper Res (2010) 181: 337–358

combinatorial optimization problems. Firstly, the problem of clustering customers and assigning them to vehicles has to be solved and for each cluster of customers a feasible route has to be specified. Secondly, each route has to be assigned to two loading bays at which the corresponding loading and unloading activities can occur. The objective function defines the criterion for selecting the optimal routes. Typical objectives for the considered RVRP faced by LTL carriers in cooperations (cf. Sect. 2) are the minimization of transportation costs, the total travel time or the number of vehicles used. The first two objectives can be defined as follows   minimize γij xij (1) i∈C∪S j ∈C∪E

with γij := cij or γij := tij , i ∈ C ∪ S, j ∈ C ∪ E and i ∈ E, j ∈ S. Within the network structure described above, the third objective is equal to the maximization of the number of “empty” routes without a customer visit. Consequently, we obtain  maximize xij . (2) i∈S j ∈E

Routes that have to be constructed in the optimization process must consider some assignment requirements. Constraints (3) and (4) ensure that each customer is visited exactly once by a vehicle. Moreover, each route must contain two start and two end nodes to guarantee that the vehicles perform two routes throughout the planning horizon. Equations (5) and (6) ensure that a route which starts at node i ∈ S α may end at node j ∈ E α , α = 1, 2 after the customer visits. In order to obtain a connection of two routes, an end node i ∈ E 1 has to be assigned to a start node j ∈ S 2 (cf. constraints (7) and (8)). Inequalities (9) and (10) count the number of start and end nodes in a route and restrict the number to no more than four.  xij = 1 j ∈ C, (3) i∈C∪S i=j



xij = 1

i ∈ C,

(4)

xij = 1

i ∈ S α , α = 1, 2,

(5)

xij = 1

j ∈ E α , α = 1, 2,

(6)

xij = 1

j ∈ S2,

(7)

xij = 1

i ∈ E1,

(8)

i ∈ C ∪ S, j ∈ C ∪ E; i ∈ E 1 , j ∈ S 2 ,

(9)

j ∈C∪E j =i



j ∈C∪E α



i∈C∪S α



i∈E 1



j ∈S 2

σj ≥ σi + φi − 3(1 − xij ) σj ≤ 3

j ∈E . 2

(10)

Inequalities (11) and (12) provide for observance of the prescribed total working time Tmax . Because we assume that there is a driver-vehicle relationship, Tmax must be considered for

Ann Oper Res (2010) 181: 337–358

345

both vehicle routes. With constraints (13) we determine the amount of load of the vehicles after leaving the depot. This loading quantity must be less than or equal to the capacity of the respective vehicle (cf. inequalities (14)). Constraints (11) and (13) force an order of customer visits in the routes. Therefore, they ensure that no subtours without the depot are generated. fj ≥ fi + si + tij − Tmax (1 − xij )

i ∈ C ∪ S, j ∈ C ∪ E; i ∈ E 1 , j ∈ S 2 ,

(11)

fj + sj ≤ Tmax

j ∈ E2,

(12)

ldi ≥ ldj + di − Cmax (1 − xij )

i ∈ C ∪ S, j ∈ C, i = j,

(13)

di ≤ ldi ≤ Capi

i ∈ C ∪ S.

(14)

Conditions (15) guarantee that the vehicle capacities are considered for all nodes that follow after some node i ∈ S in the respective route. Capi ≥ Capj − Cmax (1 − xij )

i ∈ C ∪ S, j ∈ C ∪ E; i ∈ E 1 , j ∈ S 2 .

(15)

Inequalities (16) and (17) indicate the amount of load in the vehicles after the visit of the first customer and the other customers in the routes, respectively. The amount of load after visiting the last customer equals the quantity that has to be unloaded at the depot. This unloading quantity may not exceed the capacity of the respective vehicle (cf. inequalities (18)). lj ≥ ldj − dj + pj − Cmax (1 − xij )

i ∈ S, j ∈ C,

(16)

lj ≥ li − dj + pj − Cmax (1 − xij )

i ∈ C, j ∈ C ∪ E, i = j,

(17)

pi ≤ li ≤ Capi

i ∈ C ∪ E.

(18)

The service times for customers can be calculated from the quantity that has to be loaded or unloaded at the considered node (cf. inequalities (19)). With constraints (20) and (21) we specify the times required for the loading and unloading activities at the depot. In contrast to the service times at customer locations, the service times at the depot are variables and not known in advance. si = ζ (di + pi )

i ∈ C,

(19)

si = ζ ldi

i ∈ S,

(20)

si = ζ li

i ∈ E.

(21)

Inequalities (22) specify the relationship between the vehicle departure times from a location and its immediate successor. Constraints (23) affirm that the time windows are observed at customer locations. τj ≥ τi + si + tij − (ξ − ρ)(1 − xij )

i ∈ C ∪ S, j ∈ C ∪ E; i ∈ E 1 , j ∈ S 2 ,

(22)

aj ≤ τ j ≤ bj

j ∈ C.

(23)

The number of loading and unloading activities at the depot results from the size of the vehicle fleet and the prescribed number of routes for each vehicle. Thus, we consider |S| loading and |E| unloading activities that have to be assigned to loading bays. Each (un-)loading

346

Ann Oper Res (2010) 181: 337–358

Fig. 3 An optimal set of routes

activity can be executed at any bay. Constraints (24) and (25) ensure that a loading or unloading process which corresponds to a start or end node is performed exactly once. Since no more than one vehicle can be processed on a loading bay at the same time, inequalities (26) provide for a chronological order of activities at a loading bay. For each loading bay the depot business hours have to be pointed out (cf. inequalities (27) and (28)). 

yij = 1

j ∈ S ∪ E ∪ L,

(24)

yij = 1

i ∈ S ∪ E ∪ L,

(25)

τj ≥ τi + si − (ξ − ρ)(1 − yij )

i ∈ S ∪ E ∪ L, j ∈ S ∪ E, i = j,

(26)

τi = ρ; si = 0

i ∈ L,

(27)

ρ ≤ τi ; τi + s i ≤ ξ

i ∈ S ∪ E.

(28)

i∈S∪E∪L i=j



j ∈S∪E∪L j =i

Finally, (29) and (30) are the integrality constraints. xij ∈ {0, 1} i ∈ C ∪ S, j ∈ C ∪ E; i ∈ E 1 , j ∈ S 2 ,

(29)

yij ∈ {0, 1} i ∈ S ∪ E ∪ L, j ∈ S ∪ E ∪ L.

(30)

Since all decision and auxiliary variables are bounded, the convex hull H of the set of feasible solutions to the RVRP has either the form of a convex polytope or it is empty. This implies that there always exists an optimal solution if H = ∅ is satisfied. The following example demonstrates the structure of a feasible solution to our problem. We assume that six customers have to be visited. The delivery demand and the pick-up demand of each customer i ∈ C equals one transport unit, i.e. di := pi := 1. There are two vehicles available at the depot, each with a capacity of three transport units. The depot opens at 4 a.m. and ends promptly at 11 p.m. The start of service at customer i = 1, . . . , 5 must be within the time window [5 a.m., 4 p.m.] and at customer 6 within the time window [2 p.m., 7 p.m.]. As we choose a loading factor ζ := 1 hour per transport unit, the service time at each customer is equal to two hours. We set cij := 1 monetary unit and tij := 1 hour for all i, j ∈ C, i = j , for i ∈ S, j ∈ C, and for i ∈ C, j ∈ E. Furthermore, the total working time Tmax is equal to 17 hours and we define φi := 1 for all i ∈ S ∪ E = {s 1 , . . . , s 4 } ∪ {e1 , . . . , e4 } and φi := 0 otherwise. Finally, there is only one loading bay λ ∈ L positioned at the depot. Figure 3 shows an optimal solution to the considered RVRP. Customers 1, 2 and 5 are visited consecutively by the first vehicle. The second vehicle performs two routes, where on the one hand customers 3 and 4 are served and on the other hand customer 6 is served. The loading and unloading activities are carried out in loading bay λ. Firstly, the second vehicle

Ann Oper Res (2010) 181: 337–358 Table 1 Matrix of decision variables xij

347 xij

C

S2

E1

E2

C

M0

0

M

M

S1

M

0

M

0

S2

M

0

0

M

E1

0

I

0

0

is loaded (from 4 a.m. to 6 a.m.) and secondly, the first vehicle is loaded (from 6 a.m. to 9 a.m.). Since drivers are responsible for all handling processes, the driver of the second vehicle performs the unloading at the depot from 1 p.m. to 3 p.m. and subsequently the loading of his vehicle from 3 p.m. to 4 p.m. Finally, from 7 p.m. to 10 p.m. the first vehicle is unloaded and from 10 p.m. to 11 p.m. the second vehicle is unloaded at the depot. The fictitious loading and unloading activities at nodes s 3 and e3 do not require any time.

5 Improved modeling techniques Using the model established in Sect. 4, small and medium instances can be solved optimally by a standard solver (i.e. ILOG CPLEX 11.0). Since the running times are quite large, we want to give the solver supplementary knowledge such as preprocessing information and additional constraints. The following modeling techniques (cf. Sects. 5.1–5.3) result in significant improvements in terms of computational time and memory space. 5.1 Preprocessing A feasible solution of our RVRP contains two routes for any vehicle (cf. Fig. 2). Each vehicle starts (ends) its first route at a node in set S 1 (E 1 ) and its second route at a node in set S 2 (E 2 ). Consequently, we can fix some decision variables. We set xij := 0 for all i ∈ C, j ∈ S 2 , because arc i, j , i ∈ C, j ∈ S 2 never belongs to a feasible solution. Table 1 shows the matrix of decision variables xij , i ∈ C ∪ S ∪ E 1 , j ∈ C ∪ S 2 ∪ E which contains all the information about the variables to be set before running the optimization. We assume that set C = {1, . . . , n} is ordered. The zero matrix is written as 0 and the identity matrix as I. Matrices M are of adequate dimension and have unspecified entries. Matrix M0 is a n-byn square matrix with zeros on the main diagonal and unspecified entries elsewhere. Since we implement a direct assignment between nodes E 1 and S 2 , we only have to generate the decision variables xij for all i ∈ C ∪ S, j ∈ C ∪ E. Next, we consider the time windows at customer locations in which the service must be started. As a result, we can derive that a decision variable xij , i, j ∈ C takes value 0 if customer j cannot be reached in a timely manner. If we assume that arc i, j  ∈ A, i, j ∈ C belongs to a route, then the loading time at start node h ∈ S can be estimated by ζ (di + dj ) ≤ sh . Consequently, a vehicle reaches customer i at the earliest possible time at max{ai , ρ + ζ (di + dj ) + thi } (see Fig. 4). If the condition max{ai , ρ + ζ (di + dj ) + thi } + si + tij > bj is satisfied for customers i, j ∈ C, variable xij is equal to 0 in each feasible solution. To facilitate the solution process, it is appropriate to restrict the domains of auxiliary variables and “big-M-constraints” in the model. The required auxiliary variables σi , fi , τi , li , ldi

348

Ann Oper Res (2010) 181: 337–358

Fig. 4 Route with customers i and j

have bounds imposed by physical limitations of the model: 0 ≤ σi ≤ 3

i ∈ C ∪ S ∪ E,

0 ≤ fi ≤ Tmax

i ∈ C ∪ S ∪ E,

ai ≤ τ i ≤ b i

i ∈ C,

ρ ≤ τi ≤ ξ

i ∈ S ∪ E ∪ L,

0 ≤ li ≤ Cmax

i ∈ C ∪ E,

0 ≤ ldi ≤ Cmax

i ∈ S ∪ C.

(31)

(32)

Some of these domains can be strengthened subject to further restrictions of the model. In the following, we show how to improve the bounds of the auxiliary variables. The assignment constraints (3)–(8) ensure that the variables σi have values σi = 0 for i ∈ S 1 , σi = 1 for i ∈ E 1 , σi = 2 for i ∈ S 2 and σi = 3 for i ∈ E 2 . Therefore, we fix the values of these variables in order to reduce the number of decisions that have to be made. Let h ∈ S and k ∈ E arbitrary but fixed. If we assume that customer i ∈ C is visited in a route, then the loading time sh and the unloading time sk can be estimated by ζ di ≤ sh and ζ pi ≤ sk . In accordance with these estimations we obtain ζ di + thi ≤ fi ≤ Tmax − si − tik − ζ pi for the required travel and service time to node i ∈ C. In an analogous manner, we get improved bounds for the start of service at customer i ∈ C by max{ai , ρ + ζ di + thi } ≤ τi ≤ min{bi , ξ − si − tik − ζ pi }. To assess the amount of load after visiting customer i ∈ C, we utilize the difference between delivery and pick-up quantity. This results in the condition li ≤ Cmax − max{0, di − pi }.

(33)

In our model disjunctive constraints are linearized by so called “big-M-constraints”. For example, inequalities (16), (17) and (22) are “big-M-constraints” with an adequate “big-M” value. In order to confine the domains of “big-M-constraints”, we are able to displace the general “big-M” by a specified Mij for some node pairs {i, j }. In the following we determine the constants Mij for selected pairs {i, j }. Firstly, we consider the load restrictions (16) in which we used the “big-M” value of Mij := Cmax . Since the conditions (18) and (32) hold for all j ∈ C, we get the estimation ldj − dj + pj − lj ≤ Cmax − dj ≤ Cmax . This information is sufficient to define constants Mij for all i ∈ S, j ∈ C by Mij := Cmax − dj .

Ann Oper Res (2010) 181: 337–358

349

In load restrictions (17) we used the “big-M” value of M ij := Cmax , too. With conditions (18) and (33) we are able to estimate li − dj + pj − lj ≤ Cmax − max{dj , di − pi + dj } ≤ Cmax for all i ∈ C, j ∈ C ∪ E. Thus, we obtain the following description of constants M ij : M ij := Cmax − max{dj , di − pi + dj }. Now, we look at the time window constraints (22) in which we used the “big-M” value M

ij := (ξ − ρ). With inequalities (31), it is possible to appraise τi + si + tij − τj ≤ bi + si + tij − aj ≤ ξ − ρ for all i, j ∈ C. Consequently, we determine for each customer pair {i, j } the constants M

ij by M

ij := max{bi + si + tij − aj , 0} (cf. Desrosiers et al. 1984). All loading and unloading activities have to be performed during the depot business hours, i.e. inequalities (28) hold for all i ∈ S ∪ E. The loading time at node i ∈ S can be estimated by si ≤ ζ Capi , where it should be noted that Capi , i ∈ S is prescribed. Hence, we derive the constants M

ij := min{ξ − ρ, ξ + ζ Capi + tij − aj }

i ∈ S, j ∈ C,

M

ij := min{ξ − ρ, bi + si + tij − ρ}

i ∈ C, j ∈ E.

5.2 Consideration of additional time constraints In this section, we examine the use of additional time constraints in the model. Let h ∈ S and k ∈ E arbitrary but fixed. We assume that arc i, j  ∈ A, i, j ∈ C belongs to some route. Then, for the loading and unloading time at the depot, the inequalities ζ (di + dj ) ≤ ζ (di + ldj ) ≤ sh and ζ (pi + pj ) ≤ ζ (li + pj − ldj ) ≤ sk are valid. Since we have assumed that the triangle inequality is satisfied, i.e. thi ≤ thl + tli and tj k ≤ tj l + tlk is true for all i, l ∈ C, h ∈ S, k ∈ E, the lower bound of the start of service τj at customer j can be estimated as follows τj ≥ ρ + ζ (di + ldj ) + thi + si + tij .

(34)

For a route that contains arc h, j  ∈ A, h ∈ S, j ∈ C, we may formulate the conditions τj ≥ ρ + ζ ldj + thj . Finally, we state that the addition of the following |C| time constraints     xij + xij (ζ di + thi + si + tij ) τj ≥ ρ + ζ ldj + thj 1 − i∈C

(35)

(36)

i∈C

leads to a strengthened lower bound for τj , j ∈ C if the right hand sides of constraints (34) and (35) are greater than aj . For this reason, we only add inequalities (36) if one of the conditions aj < ρ + ζ (di + dj ) + thi + si + tij for some i ∈ C \ {j } or aj < ρ + ζ dj + thj is satisfied. In an analogous way, we derive the following constraints for all i ∈ C:     xij − xij (ζ (pj − ldj ) + tij + sj + tj k ). (37) τi ≤ ξ − si − ζ li − tik 1 − j ∈C

j ∈C

Inequalities (37) result in a strengthened upper bound for the start of service τi at node i ∈ C if one of the conditions bi > ξ − si − tij − sj − tj k − ζ (pi + pj ) for some j ∈ C \ {i} or bi > ξ − si − tik − ζ pi is satisfied.

350

Ann Oper Res (2010) 181: 337–358

Fig. 5 Two possible sets of routes

5.3 Structural inequalities With structural inequalities we reduce the generation of solutions with the same objective function value. First of all, we want to ensure that “empty” routes (without a customer visit) are placed on the second route of a vehicle. Given sets S 1 = {s 1 , . . . , s m } and S 2 = {s m+1 , . . . , s 2m }, where m is the number of vehicles available, we obtain the set of inequalities   xs i j ≤ xs m+i j i = 1, . . . , m. (38) j ∈E 1

j ∈E 2

As we do not consider quantity-adjusted fixed costs for using vehicles, a route can be performed by a vehicle with sufficient capacity or (without additional costs) by a larger one. Hence, to simplify the loading and unloading we prefer that a vehicle with a large capacity executes a route rather than a small one. Let set S 1 = {s 1 , . . . , s m } be sorted according to non decreasing capacities of the vehicles, i.e. Caps i ≤ Caps i+1 , i = 1 . . . , m − 1. Then, the new set of constraints is given by   xs i+1 j ≤ xs i j i = 1, . . . , m − 1. (39) j ∈E 1

j ∈E 1

Figure 5 shows two possible sets of routes with the same objective function value. We sort set S 1 = {s 1 , s 2 , s 3 } according to non decreasing capacities. The other sets are composed as follows: S 2 = {s 4 , s 5 , s 6 }, E 1 = {e1 , e2 , e3 } and E 2 = {e4 , e5 , e6 }. If conditions (38) and (39) are added to the model in Sect. 4, only the second solution can be generated.

6 Computational results This section provides the computational results made to examine the performance of the considered two-index vehicle-flow model. In Sect. 6.1 we describe the composition and generation of problem instances used for testing the model formulation. Then, we discuss the different performance criteria and conclude with an overview of computational results (cf. Sects. 6.2 and 6.3). 6.1 Benchmark instances The computational tests have been performed on instances that are derived from the extended Solomon benchmark proposed by Homberger and Gehring (2002). The design of

Ann Oper Res (2010) 181: 337–358

351

Table 2 Values of α to extent the time window length Instance

_2_1

_2_6

_4_1

_4_6

_6_1

_6_6

_8_1

_8_6

_10_1

_10_6

C1

85

115

80

115

80

107

93

111

80

C2

0

0

0

0

0

0

0

0

0

0

R1

110

90

110

90

110

90

110

90

110

90

110

R2

90

0

100

0

91

0

94

0

96

0

RC1

90

60

90

60

90

60

90

60

90

60

RC2

0

0

0

0

0

0

0

0

0

0

Table 3 Capacities of the vehicles Instances

C1

Capacities

300 200 180 300 200 180 300 200 180 300 200 180 300 200 180 300 200 180

C2

R1

R2

RC1

RC2

10 customers 0

2

1

1

1

0

0

2

2

1

1

0

0

2

2

1

1

0

15 customers 0

3

2

1

1

1

0

3

2

1

1

1

0

3

2

1

1

1

20 customers 0

3

2

2

1

1

0

3

2

2

1

1

0

3

2

2

1

1

25 customers 0

3

3

2

2

1

0

3

3

2

2

1

1

3

3

2

2

1

30 customers 1

3

3

2

2

2

1

2

3

2

2

2

2

3

2

2

2

2

this test set highlights several factors that affect the behavior of routing and scheduling algorithms, e.g. geographical data, percentage of time-constrained customers, or tightness and positioning of time windows. The benchmark set can be divided into six groups (C1, C2, R1, R2, RC1, RC2). In C1 and C2 the customers are placed in clusters, in R1 and R2 the geographical data are randomly generated and RC1 and RC2 contain a mix of clustered and randomly generated customer locations. Instances C1, R1 and RC1 have a short planning horizon and instances C2, R2, RC2 have a long planning horizon. Transportation costs and travel times are determined by the Euclidean distance rounded downward to the first decimal place. We consider only the first 10, 15, 20, 25, 30 customers of instances Cx_i_y, Rx_i_y, RCx_i_y, x = 1, 2, i = 2, 4, 6, 8, 10 and y = 1, 6. Therefore, the benchmark consists of 300 data files. In order to incorporate simultaneous deliveries and pick-ups, we split the original demand δi of customer i ∈ C into 0.7δi /2 if i ∈ C is even di := 1.3δi /2 if i ∈ C is odd and pi equal to δi − di . To guarantee an adequate and realistic time window length (i.e. at least two hours) the latest possible arrival time bi at customer i ∈ C is enhanced by α, where α := 120 minutes − mini∈Cˆ (bi − ai ) taking into account the set of customers Cˆ with ˆ = 100 in the original instance. In addition, the depot closing time is enhanced by α as |C| well. Table 2 shows the values of α for all instances. We stipulate that the loading factor ζ equals 0.5 minutes per transport unit and the total working time is Tmax := 0.8(ξ − ρ). The capacities of the vehicles are chosen such that all problem instances have feasible solutions. They range from 180 to 300 transport units. Table 3 shows the number of vehicles with their specific capacities.

352

Ann Oper Res (2010) 181: 337–358

6.2 Performance study Each instance is solved with ILOG CPLEX 11.0, a solver for linear and mixed integer programs and ILOG’s Concert interface to communicate with the solver. CPLEX uses a branchand-cut approach and we add problem-specific preprocessing techniques (cf. Sects. 5.1–5.3) and cutting planes. The features of CPLEX allow the generation of general cuts during optimization. We identified clique, implied bound, and flow cover cuts as particularly suitable for our purposes, because by adding these cuts the computation time is reduced by a factor of at least 2. In order to emphasize the scientific benefit of the two-index vehicle-flow model (cf. Sect. 4), we compare it to the state of the art three-index vehicle-flow formulation proposed by Rieck and Zimmermann (2009). For this formulation, the consideration of clique, cover, implied bound, flow cover, zero half, and Gomory fractional cuts is adequate for the solver. Since the considered RVRP is a N P -hard optimization problem, we cannot expect that a branch-and-cut approach terminates within a reasonable time limit. That is why we allow a maximum computation time of twelve hours after which the best solution found is returned. Within the time limit we assess the quality of both models by regarding the following six performance criteria: – percentage of instances for which a feasible solution is found (pfeas ), – percentage of instances for which an optimal solution is found (popt ), – percentage of instances for which an optimal solution is found and its optimality is proven ∗ ), (popt – mean percentage deviation devLB of the solution found from the associated lower bound LB, – mean percentage deviation devopt of the solution found from an optimal solution, – average computation time in seconds (tcpu ). ∗ refer to all instances. The criteria devLB and devopt correspond to Here pfeas , popt and popt those instances for which a feasible but not optimal solution is found and tcpu is given for all solutions whose optimality is proven. The tests have been performed on a PIV personal computer with 3.2 GHz, 1 GB RAM and running Windows XP. Models and cutting planes are implemented in an objectorientated way using C++ and compiled with MS Visual Studio.NET 2003. Table 4 lists the performance results of the two models. Compared to the two-index vehicle-flow formulation, the three-index vehicle-flow model leads to a significant increase in computational time. For the three-index vehicle-flow model the number of instances not optimally solved is 29 and for only 78% of all instances the enumeration can be completed within the time limit. The average deviations of the feasible solutions found from an optimal solution are low for both models and the quality of the lower bounds is moderate. The result that the solver considering the three-index vehicle-flow model needs less time to prove optimality for instances with 25 than for instances with 20 customers seems to be non-intuitive. Since ∗ decreases from 92% to 58% (cf. lines 6 and 8), the the value of performance criterium popt result may not be as surprising as it first appears. Finally, if we consider larger instances, for example with 50 customers, we are not able to generate feasible solutions in all cases within the time limit (i.e. pfeas < 100%). But, if we could find a feasible solution for such an instance, the value of performance criterion devLB is always significantly lower for the two-index vehicle-flow formulation than for the three-index vehicle-flow model. Tables 5 and 6 show the average numbers of cuts added during the optimization process. For both models implied bound cuts are particularly created in the subproblems of the

Ann Oper Res (2010) 181: 337–358

353

Table 4 Comparison of two- and three-index vehicle-flow models pfeas

∗ popt

popt

devLB

devopt

tcpu

10 customers two-index

100.0%

100.0%

100.0%





1.319

three-index

100.0%

100.0%

100.0%





5.242

15 customers two-index

100.0%

100.0%

100.0%





13.372

three-index

100.0%

100.0%

95.0%





289.459

two-index

100.0%

100.0%

100.0%

three-index

100.0%

96.7%

91.7%

two-index

100.0%

100.0%

100.0%

three-index

100.0%

85.0%

58.3%

20 customers – 12.4%



40.196

0.1%

2214.944

25 customers – 16.8%



425.173

2.8%

1687.134

30 customers two-index

100.0%

96.7%

96.7%

4.6%

0.1%

2036.697

three-index

100.0%

70.0%

48.3%

20.1%

6.0%

4532.981

Table 5 Average numbers of cuts; two-index vehicle-flow model Instances

Clique

Implied bound

Flow cover

10 customers

6.3

14.9

13.5

15 customers

9.4

46.0

23.8

20 customers

13.8

87.8

32.0

25 customers

24.6

191.8

54.1

30 customers

32.7

325.1

66.0

Table 6 Average numbers of cuts; three-index vehicle-flow model Instances

Clique

Cover

Implied bound

Flow cover

Zero half

Gomory

10 customers

13.5

1.3

15.7

5.9

2.4

2.7

15 customers

47.3

10.3

150.3

15.4

3.6

6.1

20 customers

117.7

24.0

320.3

18.1

7.8

9.4

25 customers

86.9

45.6

715.0

41.5

10.6

17.1

30 customers

61.1

32.9

1527.3

73.8

18.6

25.9

branch-and-bound tree. The sum of generated cuts for the three-index vehicle-flow formulation is significantly higher than for the two-index vehicle-flow model. For instances C1, R1, RC1 less cuts are generated than for instances C2, R2, and RC2. This result might be expected since the solver finds optimal solutions faster for former ones.

354

Ann Oper Res (2010) 181: 337–358

6.3 Improved performance and detailed results To further improve the performance of the two-index vehicle-flow model, we take into consideration the rounded capacity (RC) cuts which are special inequalities for the symmetric CVRP. To insert RC cuts, we use the “CVRPSEP package” implemented by Lysgaard (2004) with the following adjustments. If we transfer the LP solution x to the separation algorithm, we substitute the decision variable x[i,j ] (specifying if edge [i, j ] is in the solution) for x[i,j ] := xij + xj i . The rounded capacity inequalities   xij + xj i ≥ 2r(Q) Q ⊆ V \ {0}, Q = ∅ i∈Q j ∈V \Q

impose the vehicle capacity restrictions and also ensure that the routes are connected. Let r(Q) be the minimum number of vehicles needed to serve a customer set Q ⊆ C. For our RVRP, we obtain

  di , pi Cmax . r(Q) = max i∈Q

i∈Q

The separation problem of rounded capacity cuts is known to be N P -hard. For the computational tractability, we add RC cuts only at the first 30 nodes of the branch-and-bound tree. In addition to “test run 1” in which clique, implied bound, and flow cover cuts are inserted (cf. Table 4), each instance is solved two further times: – Firstly, by considering only RC cuts (test run 2) and – secondly, by considering clique, implied bound, flow cover, and RC cuts (test run 3). The best results concerning running times are created with test run 1 (136 instances, i.e. 45.3%). With test run 2 we obtained the best results for 38 instances (12.6%), and with test run 3 for 126 instances (42.0%). Table 7 combines the optimal solutions to the RVRP and the best running time obtained for each instance by one of the test runs. Thus, in column “costs” the lowest transportation costs and in column “tcpu ” the mean CPU time (in seconds) are given. The average CPU time needed to receive an optimal solution depends mainly on the number of customers and on the considered group of instances. Instances C1, R1, RC1 with a short planning horizon need significantly less time to receive an optimum than instances C2, R2, and RC2 with a long planning horizon. We obtain an optimal solution for all instances within twelve hours. Except for R1_2_6 and RC1_2_6 with 30 customers the enumeration could not be completed. For these two instances, Table 7 contains the upper bounds determined at run time which are equal to the optimal solution values. Table 8 shows the average numbers of cuts added in test runs 2 and 3 during optimization. Thereby, the cuts of the individual test runs are separated in different columns. We constitute the rounded-capacity cuts as “user cuts” just like CPLEX does. The number of user cuts is very low in the second test run. In test run 3 implied bound and flow cover cuts are particularly created in the subproblems. Finally, Table 9 lists the values of the relevant performance criteria (cf. Sect. 6.2) for the best results concerning running times and solution gap of the two-index vehicle-flow formulation. Considering all test runs, we are able to find an optimal solution for all instances. Compared to the results presented in Table 4, the average CPU-time is decreased from 493 seconds to 324 seconds.

Ann Oper Res (2010) 181: 337–358

355

Table 7 Optimal solutions and best running times of the CPLEX solver |C|

C1 costs

C2 tcpu

costs

R1 tcpu

costs

R2 tcpu

costs

RC1 tcpu

costs

RC2 tcpu

costs

tcpu

10 _2_1

441.1

0.34

523.3

0.27

486.4

2.00

662.7

0.28

372.9

3.16

414.9

0.16

_2_6

414.3

0.64

440.6

0.11

485.3

3.88

662.7

0.38

372.9

4.41

365.3

0.16

_4_1

827.4

1.27

658.6

0.19

740.7

0.95

828.7

0.20

607.9

1.77

699.9

0.23

_4_6

781.2

1.72

655.9

0.22

740.7

1.95

750.6

1.31

607.9

2.08

699.9

0.20

_6_1

877.2

0.41 1140.8

0.47 1211.0

1.70 1159.3

0.16

717.6

1.58

735.3

0.23

_6_6

875.0

1.47 1020.0

0.19 1143.3

2.61 1012.4

0.88

717.6

0.64

717.6

0.20

_8_1 1692.6

0.48 1228.1

0.16 1783.4

2.23 1421.7

0.13 1519.9

2.30 1693.6

0.23

_8_6 1673.1

1.58 1141.7

0.19 1756.2

3.09 1417.4

0.19 1519.9

1.50 1609.3

0.42

_10_1 2039.6

0.30 2340.4

0.30 2368.8

2.25 1800.3

0.23 2012.6

2.56 2079.4

0.17

_10_6 1777.8

1.39 2248.2

0.17 2289.2

2.00 1797.7

1.52 2012.6

2.20 1962.6

0.67

av.

0.96

0.23

2.27

0.53

2.22

0.27

15 _2_1

590.5

3.16

568.3

1.50

689.5

8.98

781.0

1.66

493.1

60.34

494.6

3.91

_2_6

552.8

15.67

527.5

1.78

597.7

104.70

749.9

1.05

493.1

39.47

466.9

3.78

_4_1

972.0

14.72

928.1

1.08

927.0

5.27

918.6

1.02

823.4

11.48

877.0

6.22

_4_6

846.4

18.81

856.0

2.23

927.0

6.69

851.8

12.03

823.4

12.25

835.7

3.66

_6_1 1194.6

7.00 1435.8

0.92 1490.5

5.50 1568.8

1.78 1370.0

14.61 1331.9

1.22

_6_6 1185.2

8.77 1380.2

0.92 1415.9

5.78 1403.8

17.73 1370.0

6.78 1296.8

0.95

_8_1 2110.3

5.67 1560.1

1.13 2434.3

7.48 1585.4

2.50 1912.4

13.92 1863.4

2.59

_8_6 2103.8

9.91 1409.0

3.98 2413.5

8.91 1585.4

3.53 1820.9

17.38 1713.3

1.05

_10_1 2925.3

10.31 2779.3

1.23 2971.1

5.64 2154.8

1.50 2224.8

9.17 2239.0

0.97

_10_6 2746.3

8.55 2688.1

1.08 2481.0

11.44 2102.2

6.70 2224.8

7.22 2200.3

1.42

1.59

17.04

4.95

av.

10.26

19.26

2.58

20 _2_1

689.9

15.81

670.0

12.34

747.5

42.55

854.4

9.41

559.9

304.06

601.4

7.80

_2_6

637.0

35.48

599.2

8.92

712.9

133.58

820.7

11.36

559.9

285.63

551.6

48.09

_4_1 1160.2

16.38 1046.1

_4_6 1014.4

60.31

954.5

6.52 1208.0

10.25 1140.6

10.69 1067.7

16.55 1114.8

9.28

12.61 1208.0

10.41 1010.2

70.92 1065.7

45.75 1057.6

15.77

_6_1 1542.1

13.50 1620.2

9.28 1750.5

11.36 1980.9

9.17 1705.5

33.39 1685.2

0.86

_6_6 1438.0

11.45 1588.8

18.94 1568.2

22.66 1670.9

56.84 1728.3

20.28 1650.1

9.20

_8_1 2378.2

11.20 1987.1

12.80 2749.9

11.38 2215.4

9.38 2823.3

27.56 2717.1

8.80

_8_6 2312.5

10.11 1871.7

9.84 2720.0

52.78 1918.9

9.78 2823.3

21.89 2446.8

13.13

_10_1 3651.7

18.75 3257.9

8.72 3460.4

8.75 2767.8

6.97 3017.2

20.09 2969.1

2.67

_10_6 3283.4

51.66 3209.5

24.98 2948.5

27.31 2568.4

21.69 3017.2

12.80 2834.9

10.41

av.

24.47

12.50

33.10

21.62

78.80

12.60

25 _2_1

822.6 147.56

717.7

18.16

895.3

_2_6

769.5 227.67

675.2

50.36

853.3 1746.75

_4_1 1346.1

39.91 1114.2

_4_6 1231.5 165.42

20.33 1400.7

987.9 130.22 1400.7

189.09

35.09

670.3 2124.44

722.6

878.9 160.08

915.4

686.8 7794.38

686.8 410.81

30.67 1213.0

22.58 1188.2

50.83 1133.9 288.36 1188.2

277.84 1260.7

18.34 34.14

404.95 1201.6 139.08

356

Ann Oper Res (2010) 181: 337–358

Table 7 (Continued) |C|

C1 costs

C2 tcpu

costs

R1 costs

tcpu

R2 costs

tcpu

33.34 2120.1

RC1 costs

tcpu

RC2 costs

tcpu

tcpu

_6_1 1842.1

47.00 1688.7 28.81 2121.1

26.73 1925.2

56.55 1974.9

29.61

_6_6 1636.1

72.34 1686.5 42.02 2029.2 227.34 1827.8 277.95 1925.2

163.89 1909.9

29.06

_8_1 2763.2

44.09 2186.7 20.50 3211.1

22.66 3332.1

445.69 3067.3

22.28

_8_6 2423.6

40.84 2022.7 22.28 2947.0 850.52 2214.9 116.31 3332.1

249.70 2868.4

28.92

31.16 3354.6 25.55 4012.8

67.58 2563.0

9.69 3731.2

76.70 3285.5

19.13

_10_6 3340.5 105.73 3303.1 17.97 3474.1 214.81 3269.0 111.41 3811.9

386.53 3139.4

25.72

_10_1 3727.9

av.

92.17

37.62

65.70 3451.7

347.66

107.09

1198.07

75.71

30 _2_1 903.5 233.88 784.3 65.02 975.0 490.92 1010.7 257.55 742.7 36031.64 777.3 _2_6 818.0 1847.64 729.0 201.48 948.0



975.9 590.05 742.7

_4_1 1499.5 305.03 1205.6 49.08 1514.3 193.23 1420.9



85.00

750.9 3474.69

71.78 1327.2 1680.81 1347.6 100.03

_4_6 1328.5 916.00 1120.6 333.97 1485.2 136.72 1332.6 2086.66 1350.4 4542.53 1269.0 451.34 75.58 2014.0

370.42 2060.9

50.89

_6_6 1785.0 165.84 1818.5 274.39 2239.2 2959.23 1918.2 2563.88 2011.2

74.36 1964.0 64.03 2478.4 158.81 2266.8

845.05 1995.9

51.08

_8_1 3033.9 350.47 2394.3 48.56 3748.4

823.88 3190.3 111.83

_6_1 2087.4

46.81 2984.8

45.69 3359.3

_8_6 2663.7 244.33 2185.4 81.25 3507.1 3348.23 2621.8 449.72 3358.3 1560.28 2949.2 55.94 3719.9 63.42 4742.3 109.84 4182.4

64.70

64.33 4474.6 2635.89 3910.0

44.84

_10_6 3625.8 785.00 3615.8 75.16 3991.5 210.66 4007.7 401.88 4614.0 2177.14 3776.7

97.63

_10_1 3855.9

av.

497.85

Table 8 Average numbers of cuts; test run 2 and test run 3

Table 9 Values of the performance criteria; two-index vehicle-flow model

125.64

850.50

660.71

Instances

User

5629.74

453.20

Clique Implied bound Flow cover User

10 customers

1.4

5.9

20.5

15.0

2.7

15 customers

1.1

9.5

63.0

27.0

3.6

20 customers

1.0

14.1

128.3

37.0

3.9

25 customers

1.1

22.1

269.0

53.4

4.5

30 customers

1.0

30.6

421.0

72.5

4.7

Instances

pfeas

popt

∗ popt

tcpu

10 customers

100.0%

100.0%

100.0%

1.078

15 customers

100.0%

100.0%

100.0%

9.278

20 customers

100.0%

100.0%

100.0%

30.514

25 customers

100.0%

100.0%

100.0%

309.720

30 customers

100.0%

100.0%

96.7%

1305.105

7 Conclusion In this paper, we have devised a new mixed integer linear model for a rich vehicle routing problem with docking constraints. Our model is based on a smart two-index vehicle-flow

Ann Oper Res (2010) 181: 337–358

357

formulation that solves small and medium problem instances efficiently by a standard solver (e.g. CPLEX 11.0). To facilitate the solution process, we add problem-specific preprocessing techniques and cutting planes. In this context, we restrict the domains of auxiliary variables and “big-M-constraints” as well as we examine the use of additional constraints in the model. Additionally, we identified clique, implied bound, flow cover, and rounded capacity cuts as particularly suitable for our purposes. Instances with a short planning horizon need significantly less time to receive an optimum than instances with a long planning horizon. The average computation time for instances with 25 customers is 310 seconds and for instances with 30 customers 1305 seconds. Since the solver is able to find optimal solutions in an adequate time period, the described two-index vehicle-flow model is suitable to solve real-life instances of the considered problem of LTL carriers. A comparison to the results obtained for a three-index vehicle-flow formulation shows that the model is considerably superior to it. Future work will include the explicit consideration of multiple objective functions in the mathematical model. Additionally, it will be advantageous to provide the introduction of cutting planes for vehicle routing problems with time windows. Acknowledgements suggestions.

The authors are grateful to two anonymous referees for their helpful comments and

References Bräysy, O., & Gendreau, M. (2005a). Vehicle routing with time windows, part I: route construction and local search algorithms. Transportation Science, 39, 104–118. Bräysy, O., & Gendreau, M. (2005b). Vehicle routing with time windows, part II: metaheuristics. Transportation Science, 39, 119–139. Choi, E., & Tcha, D.-W. (2007). A column generation approach to the heterogeneous fleet vehicle routing problem. Computers and Operations Research, 34, 2080–2095. Desrosiers, J., Soumis, F., & Desrochers, M. (1984). Routing with time windows by column generation. Networks, 14, 545–565. Dethloff, J. (2001). Vehicle routing and reverse logistics: the vehicle routing problem with simultaneous delivery and pick-up. OR Spektrum, 23, 79–96. Dror, M. (1994). Note on the complexity of the shortest path models for column generation in VRPTW. Operations Research, 42, 977–978. Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: a guide to the theory of NP completeness. New York: Freeman. Goel, A., & Gruhn, V. (2008). A general vehicle routing problem. European Journal of Operational Research, 191, 650–660. Hajri-Gabouj, S., & Darmoul, S. (2003). A hybrid evolutionary approach for a vehicle routing problem with double time windows for the depot and multiple use of vehicles. Studies in Informatics and Control, 12, 253–268. Homberger, J., & Gehring, H. (2002). Parallelization of a two-phase metaheuristic for routing problems with time windows. Journal of Heuristics, 8, 251–276. Kallehauge, B., Larsen, J., Madsen, O. B. G., & Solomon, M. M. (2005). Vehicle routing problem with time windows. In G. Desaulniers, J. Desrosiers, & M. M. Solomon (Eds.), Column Generation (pp. 67–98). New York: Springer. Laporte, G., & Nobert, Y. (1983). A branch and bound algorithm for the capacitated vehicle routing problem. OR Spektrum, 5, 77–85. Letchford, A. N., & Salazar-Gonzales, J.-J. (2006). Projection results for vehicle routing. Mathematical Programming, Series B, 105, 251–274. Lysgaard, J. (2004). CVRPSEP: a package of separation routines for the capacitated vehicle routing problem. Working paper 03–04, Department of Business Studies, Aarhus School of Business, University of Aarhus, Denmark. Lysgaard, J., Letchford, A. N., & Eglese, R. W. (2004). A new branch-and-cut algorithm for the capacitated vehicle routing problem. Mathematical Programming, Series A, 100, 423–445.

358

Ann Oper Res (2010) 181: 337–358

Parragh, S. N., Doerner, K. F., & Hartl, R. F. (2008). A survey on pickup and delivery problems, part I: transportation between customers and depot. Journal für Betriebswirtschaft, 58, 21–51. Rieck, J., & Zimmermann, J. (2009). A hybrid algorithm for vehicle routing of less-than-truckload carriers. In M.-J. Geiger, W. Habenicht, M. Sevaux, & K. Sörensen (Eds.), Lecture notes in economics and mathematical systems (LNEMS): Vol. 624. Metaheuristics in the service industry (pp. 155–172). Berlin: Springer. Taillard, E. (1999). A heuristic column generation method for the heterogeneous fleet VRP. Rairo Operations Research, 33, 1–14. Toth, P., & Vigo, D. (2002). An overview of vehicle routing problems. In P. Toth & D. Vigo (Eds.), The vehicle routing problem (pp. 1–26). Philadelphia: Siam.

Suggest Documents