Branch-and-cut algorithms for the split delivery vehicle routing problem

Branch-and-cut algorithms for the split delivery vehicle routing problem

European Journal of Operational Research xxx (2014) xxx–xxx Contents lists available at ScienceDirect European Journal of Operational Research journ...

589KB Sizes 2 Downloads 106 Views

European Journal of Operational Research xxx (2014) xxx–xxx

Contents lists available at ScienceDirect

European Journal of Operational Research journal homepage: www.elsevier.com/locate/ejor

Discrete Optimization

Branch-and-cut algorithms for the split delivery vehicle routing problem Claudia Archetti ⇑, Nicola Bianchessi, M. Grazia Speranza Department of Economics and Management, University of Brescia, Brescia, Italy

a r t i c l e

i n f o

Article history: Received 23 July 2013 Accepted 20 April 2014 Available online xxxx Keywords: Split Delivery Vehicle Routing Problem Branch-and-cut

a b s t r a c t In this paper we present two exact branch-and-cut algorithms for the Split Delivery Vehicle Routing Problem (SDVRP) based on two relaxed formulations that provide lower bounds to the optimum. Procedures to obtain feasible solutions to the SDVRP from a feasible solution to the relaxed formulations are presented. Computational results are presented for 4 classes of benchmark instances. The new approach is able to prove the optimality of 17 new instances. In particular, the branch-and-cut algorithm based on the first relaxed formulation is able to solve most of the instances with up to 50 customers and two instances with 75 and 100 customers. Ó 2014 Elsevier B.V. All rights reserved.

1. Introduction In the Split Delivery Vehicle Routing Problem (SDVRP) a limited fleet of identical capacitated vehicles have to serve a set of customers. Vehicles are based at a depot. The costs to travel between a pair of customers and between the depot and a customer are given and satisfy the triangle inequality. The goal is to minimize the total traveling cost of the vehicles. The demand of a customer may be greater than vehicle capacity. A customer may be visited by multiple vehicles and his demand split among different vehicles, if beneficial, even in the case the demand is not greater than vehicle capacity. The SDVRP has been introduced by Dror and Trudeau (1989, 1990) and has received much attention, especially in the last decade. The SDVRP allows a reduction of the cost of the routes traveled by the vehicles with respect to the case where a single visit to each customer is imposed, that is with respect to the VRP. In fact, the cost of the VRP can be even halved by allowing split deliveries (see Archetti, Savelsbergh, & Speranza, 2006b). A recent survey on the SDVRP and its variants has been provided by Archetti and Speranza (2012). In this paper we focus on exact approaches for the SDVRP. The SDVRP is known as a very hard problem. Several heuristics have been proposed (see Archetti & Speranza (2012) and references therein). We cite here the papers by Archetti, Savelsbergh, and Speranza (2008), Boudia, Prins, and Reghioui (2007), Aleman, Zhang, and Hill (2008), Aleman and Hill (2010), Berbotto, García, and Nogales (2013) and Chen, Golden, and Wasil (2007) as they show the best results for the benchmark instances on which we ⇑ Corresponding author. Tel.: +39 0302988587; fax: +39 0302400925. E-mail addresses: [email protected] (C. Archetti), nicola.bianchessi@ unibs.it (N. Bianchessi), [email protected] (M.G. Speranza).

will make computational tests. In this paper we focus on the design of a branch-and-cut algorithm that allows us to obtain an optimal solution or, in case this is not possible within a certain computing time limit, a lower and an upper bound on the optimum. A few papers have already attacked this problem. Exact algorithms are presented in Archetti, Bianchessi, and Speranza (2011), Belenguer, Martinez, and Mota (2000) and Moreno, Poggi de Aragão, and Uchoa (2010). We have to note that different rules have been adopted in previous papers for the calculation of the solution cost. Some authors have rounded non-integer costs to the nearest integer value while no rounding is applied in other papers. As specified in Section 5, we will analyze both cases. We propose here two branch-and-cut algorithms that are based on the solution of relaxed formulations for the SDVRP that guarantee a lower bound on the optimum. Every time a feasible solution to a relaxed formulation is found, a procedure checks if the solution is feasible to the SDVRP too. If this is not the case, then a cut is inserted to exclude from the search space of the relaxed problem the proved infeasible solution. Note that a similar approach was proposed in Belenguer et al. (2000). The first formulation used in this paper is in fact a variant of the one proposed in Belenguer et al. (2000). We use, however, a different methodology to check whether a feasible solution to the SDVRP exists with the same value of a feasible solution to the relaxed formulation. The second formulation is new and makes use of variables representing the load of the vehicles along the routes. We tested 4 classes of benchmark instances, both with rounded and non-rounded costs, to have a fair comparison with all previous results. Our approach is able to prove the optimality of 17 new instances. In particular, the branch-and-cut algorithm based on the first relaxed formulation is able to solve most of the instances

http://dx.doi.org/10.1016/j.ejor.2014.04.026 0377-2217/Ó 2014 Elsevier B.V. All rights reserved.

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

2

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

with up to 50 customers and two instances with 75 and 100 customers. The paper is organized as follows. In Section 2 we describe the SDVRP. The relaxed formulations are presented in Section 3. In Section 4 we describe the branch-and-cut algorithms, whereas the computational results are presented in Section 5.

 dðSÞ ¼ fði; jÞjði 2 S; j R SÞ or ði R S; j 2 SÞg: edges linking a vertex in set S with a vertex in V n S. For the sake of conciseness, in the following we will write dðiÞ when S ¼ fig;  zi : integer variable indicating the number of visits to vertex i 2 V;  xij : edge flow variable measuring the number of times edge ði; jÞ 2 E is traversed.

2. Problem definition The two-index vehicle flow formulation is: The SDVRP can be defined over a complete undirected graph G ¼ ðV; EÞ with vertex set V ¼ f0; . . . ; ng and edge set E ¼ fði; jÞ : i < j; i; j 2 Vg. The vertex set V contains vertex 0, representing the depot, and the set N ¼ f1; . . . ; ng, representing the n customers. A cost cij is associated with each edge ði; jÞ 2 E and represents the non-negative cost of traversing edge ði; jÞ. We assume that the values cij satisfy the triangle inequality. A positive demand di is associated with each customer i ¼ 1; . . . ; n. A limited fleet F of vehicles with capacity Q is available to serve the customers. The objective is to find a set of vehicle routes serving all the customers in such a way that the total traveling cost is minimized. Various properties hold for the optimal solutions to the problem. These properties are based on the k-split cycle concept which is the following. Definition 1. Consider a set C ¼ fi1 ; i2 ; . . . ; ik g of customers and suppose that there exist k routes r1 ; . . . ; r k ; k P 2, such that r w contains customers iw and iwþ1 , w ¼ 1; . . . ; k  1, and r k contains customers i1 and ik . Such a configuration is called a k-split cycle. Property 1. If the costs satisfy the triangle inequality, then there always exists an optimal solution to the SDVRP which does not contain k-split cycles, k P 2. (Dror & Trudeau (1989, 1990)) Let ni be the number of visits to customer i 2 N. The number of splits to i is defined as ni  1. The following properties are derived from Property 1. Property 2. If the costs satisfy the triangle inequality, then there exists an optimal solution such that each edge between two customers is traversed at most once (Desaulniers (2010)). Property 3. If the costs satisfy the triangle inequality, then there exists an optimal solution such that the total number of splits, i.e., P i2N ðni  1Þ, is lower than the number of routes (Archetti et al. (2008)). 3. Relaxed formulations for the SDVRP We present in this section two relaxed formulations for the SDVRP which provide valid lower bounds to the optimum. The first formulation is a variant of the relaxed formulation proposed in Belenguer et al. (2000) while the second formulation is new. 3.1. Two-index vehicle flow formulation The first formulation is based on the use of two-index variables, each measuring the number of times an edge is traversed. We call this formulation two-index vehicle flow formulation. We introduce the following notation and variables:  kS ¼

lP

di i2S Q

m : minimum number of vehicles needed to serve all

customers in set S # N;  EðNÞ ¼ fði; jÞ 2 Eji 2 N; j 2 Ng: set of edges joining all pairs of customers;

X

min

cij xij

ð1Þ

ði;jÞ2E

X

xij ¼ 2zi

8i 2 V

ð2Þ

ði;jÞ2dðiÞ

X

xij P 2kS

8S  N; jSj P 2

ð3Þ

ði;jÞ2dðSÞ

X zi 6 n þ jFj  1

ð4Þ

i2N

0 6 xij 6 2jFj and integer 8ði; jÞ 2 E n EðNÞ

ð5Þ

xij 2 f0; 1g 8ði; jÞ 2 EðNÞ

ð6Þ

kN 6 z0 6 jFj and integer

ð7Þ

1 6 zi 6 jFj and integer 8i 2 N:

ð8Þ

The objective function (1) aims at minimizing the traveling cost. Constraints (2) are flow conservation constraints establishing that the number of edges incident to each vertex is equal to twice the number of visits to the vertex. Constraints (3) are capacity cuts that ensure that capacity constraints are satisfied and prevent the generation of subtours which are not connected to the depot. Constraint (4) limits the total number of visits to the customers and is derived from Property 3. Note that they are redundant and are introduced to enhance the formulation. Finally, (5)–(8) are variable definitions. In Belenguer et al. (2000) the authors proposed a similar formulation where:  the variables representing the number of visits to customers are not used;  flow conservation constraints impose that the number of edges incident to each customer must be at least two and even, while we impose this number to be equal to twice the number of visits;  constraints (4)–(6) are not imposed. Thus, the introduction of constraints (4)–(6) allows to restrict the feasible region with respect to the formulation proposed in Belenguer et al. (2000). According to preliminary tests, this helps to improve the lower bound. Note that a solution that is feasible to the two-index vehicle flow formulation may not be feasible to the SDVRP. This is shown by the example illustrated in Fig. 1. The square represents the depot while circles represent the customers. The capacity of each vehicle is 15. The number in parentheses close to each customer represents the corresponding demand. Depicted edges are associated with variables xij equal to 1, and have a cost equal to 1. The edges not shown are associated with variables xij equal to 0, and have a cost equal to 2. The solution is optimal with respect to the two-index vehicle flow formulation, and no alternative optimal solution exists. Actually, two vehicles fully loaded are required to serve the 5 customers and, due to the given customers demand,

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

3

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

one of the customers must receive split deliveries. Thus, the solution consists of two routes, for a total of 8 edges. Selecting any set of edges different from the one depicted in Fig. 1 will increase the cost of the solution. However, this solution cannot be converted into a feasible solution to the SDVRP that uses the same set of edges, and has thus the same value. This is explained by the following considerations. Given the edges depicted in Fig. 1, the set of all possible routes that can be defined includes A-C-B, A-C-D, A-C-E, B-C-D, D-C-E and B-C-E. Among these, we have to select two routes visiting all the customers. The possible pairs of routes are A-C-B and D-C-E, A-C-D and B-C-E, and A-C-E and B-C-D. Since the vehicle load exceeds the capacity in one route of each listed pair, no feasible solution can be defined for the SDVRP. 3.2. Single commodity flow formulation We present in this section a new relaxed formulation for the SDVRP which is based on a directed graph G ¼ ðV; AÞ. Thus, for each edge of the original graph we generate two arcs. The formulation is based on the use of commodity flow variables measuring the amount of goods passing through each arc ði; jÞ 2 A. We call this formulation single commodity flow formulation. We introduce the following additional notation and variables:  AðNÞ ¼ fði; jÞ 2 Aji 2 N; j 2 Ng: set of arcs joining all pairs of customers;  dþ ðSÞ ¼ fði; jÞji 2 S; j R Sg: arcs leaving from set S;  yij : commodity flow variable representing the load of the vehicles traversing arc ði; jÞ 2 A. Variables x and z have the same meaning as in the previous formulation. The single commodity flow formulation is the following:

X

min

cij xij

ð9Þ

ði;jÞ2A

X

xij ¼

X

xji ¼ zi

jjði;jÞ2A

jjðj;iÞ2A

X

X

yji 

jjðj;iÞ2A

yij 6 Qxij

yij ¼

jjði;jÞ2A

8ði; jÞ 2 A

X zi 6 n þ jFj  1

8i 2 N

8
ð10Þ

8i 2 N  di

i¼0

ð11Þ

i2N

ð12Þ ð13Þ

0 6 xij 6 jFj and integer 8ði; jÞ 2 A n AðNÞ

ð14Þ

xij 2 f0; 1g 8ði; jÞ 2 AðNÞ

ð15Þ

kN 6 z0 6 jFj and integer

ð16Þ

1 6 zi 6 jFj and integer 8i 2 N

ð17Þ

yij P 0 8ði; jÞ 2 A;

ð18Þ

j–0

yi0 ¼ 0 8i 2 N:

ð19Þ

The objective function (9) aims at minimizing the traveling cost. Constraints (10) are flow conservation constraints establishing that the number of arcs entering and leaving each vertex is equal to the number of visits to the vertex. Constraints (11) are load balance constraints. Capacity constraints are established through (12). Constraints (11), together with (12), prevent the generation of subtours which are not connected to the depot. Constraint (13) limits the total number of visits to the customers and is derived from Property 3. Note that they are redundant and are introduced to enhance the formulation. Constraints (14)–(18) are variable definitions, while (19) imposes that the vehicles must be empty when returning to the depot. As in the case of the two-index vehicle flow formulation, a solution that is feasible to the single commodity flow formulation may not be feasible to the SDVRP, as shown by the example illustrated in Fig. 2. The arcs depicted in Fig. 2 are associated with variables xij equal to 1, and have a cost equal to 1. The arcs not shown are associated with variables xij equal to 0, and have a cost equal to 2. The vehicle capacity is equal to 15. The solution is optimal with respect to the single commodity flow formulation, and no alternative optimal solution exists. Actually, two vehicles fully loaded are required to serve the 5 customers and, due to the given customers demand, one of the customers must receive split deliveries. Thus, the solution consists of two routes, for a total of 8 arcs. Selecting any set of arcs different from the one depicted in Fig. 2 will increase the cost of the solution. However, the customer with demand 5 has an outgoing arc with a flow equal to 11 while both incoming arcs have a flow lower than 11. Clearly, there exists no feasible solution to the SDVRP for which the load of a vehicle increases after the visit to a customer. Changing the values of the y variables, while keeping the traversals of the arcs shown in the figure (and, thus, the value of the objective function), does not help in finding a feasible solution to the SDVRP.

i2N

0

(7)

(1) 8

15

1

(5) 15

11

9

(11)

(6)

0 Fig. 1. An optimal solution to the two-index vehicle flow formulation that is infeasible to the SDVRP.

Fig. 2. An optimal solution to the single commodity flow formulation that is infeasible to the SDVRP.

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

4

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

4. Branch-and-cut algorithms In this section, we propose two branch-and-cut algorithms for the SDVRP based on the relaxed formulations described in Section 3. When the algorithms find a fractional solution, the default branching rules defined by the MILP solver we used are applied. When an integer solution is found, we check if it is feasible to the SDVRP and, if not, then we insert a cut to exclude from the search space the proved infeasible solution. In the following sections we describe the main components of the algorithms:  valid inequalities (Section 4.1);  a procedure to check whether a feasible solution of the relaxed formulation is also feasible to the SDVRP (Section 4.2). 4.1. Valid inequalities The following classes of valid inequalities are used in order to strengthen the relaxed formulations. 4.1.1. Pairing inequalities Inequalities:

xij þ xji 6 1 8ði; jÞ 2 AðNÞ;

ð20Þ

are introduced in the single commodity flow formulation. Their role is equivalent in the two-index vehicle flow formulation to constraints (6). These inequalities are derived from Property 2 and were introduced in Desaulniers (2010) and Archetti et al. (2011), where they were proved to be effective. 4.1.2. Connectivity cuts Inequalities (3) and (11) are sufficient to prevent the generation of subtours and to ensure the connectivity of each route. However, the following connectivity constraints are introduced to enhance the formulations:

X

xij P 2zi

8S # N; S P 2; i 2 S;

ð21Þ

xij P zi

8S # N; S P 2; i 2 S:

ð22Þ

ði;jÞ2dðSÞ

X

ði;jÞ2dþ ðSÞ

Inequalities (21) are introduced in the two-index vehicle flow formulation, while (22) are applied to the single commodity flow formulation. 4.1.3. Capacity cuts The following capacity constraints are inserted in the single commodity flow formulation:

X

xij P kS

8S # N:

ð23Þ

capacity cuts. However, we retained them since a polynomial time exact algorithm is used to separate them, while for the separation of the capacity cuts we implemented heuristic algorithms. 4.2. Feasible solutions to the SDVRP The relaxed formulations are used to obtain lower bounds to the optimum of the SDVRP. If a feasible solution to a relaxed formulation is found, we have to check whether this solution is also feasible to the SDVRP. In Belenguer et al. (2000) it is shown that the problem of determining whether a feasible solution to the SDVRP exists with the same value of a feasible solution of the relaxed formulation they proposed is NP-hard. In Section 4.2.1 we describe a procedure that, on the basis of the values of the x variables in a solution s0 of the relaxed formulation, generates a feasible solution s00 to the SDVRP, if it exists. The procedure builds the set of all feasible routes to the SDVRP that use only the edges (or arcs) associated with the active x variables in solution s0 . Then a route-based mathematical programming model identifies, among these routes, an optimal solution s00 to the SDVRP, if it exists. If s0 and s00 have the same cost, then s0 is considered feasible to the SDVRP, otherwise a cut is inserted to exclude from the search space of the relaxed problem the proved infeasible solution s0 . This procedure is applied to both relaxed formulations. In Section 4.2.2 we present a further procedure that, when the single commodity flow formulation is used, can be applied to possibly retrieve a feasible solution to the SDVRP starting from the solution of the relaxed formulation. This procedure works directly on the values of the x and y variables and constructs feasible routes compatible with such values, whenever such feasible routes exist. The procedure has a polynomial time complexity. 4.2.1. A route-based procedure We now show how to identify an optimal solution to the SDVRP that uses only the edges (or arcs) identified by a relaxed formulation. We present the procedure applied to the two-index vehicle flow formulation. The procedure for the single commodity flow formulation is similar. Let ~z be the solution value of a feasible integer solution to the xij be the value of variable two-index vehicle flow formulation and ~ e ¼ ðV e ; EÞ e be the graph induced by the value of xij in the solution. Let G e ¼ V; e E ¼ fði; jÞji; j 2 V; i < j; ~ xij P 1g. the x variables in the solution: V e e Let R be the set of all routes in G which traverse each edge ði; jÞ 2 e EðNÞ at most once, as imposed by constraints (6). The routes e in a depth-first way. We are generated by exploring the graph G e (see solve a route-based formulation for the SDVRP on set R Archetti et al. (2008)) which is the following:

ði;jÞ2dþ ðSÞ

These cuts were inserted in the formulations proposed in Desaulniers (2010) and Archetti et al. (2011), where they were proved to be effective. Pairing inequalities are all inserted at the root node of the branch-and-bound tree. Connectivity cuts and capacity cuts are inserted only when violated. To separate the capacity cuts, we implemented the extended and greedy shrinking heuristics presented in Ralphs, Kopman, Pulleyblank, and Trotter (2003). For the separation of the connectivity cuts we solved a maximum flow problem from each vertex to the depot by means of the software library devised by Boykov and Kolmogorov (2004). Only the violated connectivity cuts with i ¼ argmaxu2S fzu g are introduced. Note that the connectivity cuts are dominated by the

min zeR ¼

X

cr kr

ð24Þ

r2e R

X qir 6 Q kr

e 8r 2 R

ð25Þ

i2N

X air qir ¼ di 8i 2 N r2e R X EðNÞ bijr kr 6 1 8ði; jÞ 2 e r2e R XX air kr 6 n þ jFj  1 r2e R i2N X kr 6 jFj kN 6 r2e R

ð26Þ ð27Þ ð28Þ ð29Þ

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

e kr 2 f0; 1g 8r 2 R

ð30Þ

e qir P 0 8i 2 N; 8r 2 R;

ð31Þ

e cr is the cost of route, binary coeffiwhere, for a given route r 2 R; cients air and bijr are equal to 1 if customer i 2 N is visited and edge ði; jÞ is traversed along the route, respectively. Finally, binary variable kr is equal to 1 if the corresponding route is assigned to a vehicle, and variable qir represent the quantity delivered to customer e i 2 N by route r 2 R. The objective function (24) minimizes the traveling cost. Constraints (25) are vehicle capacity constraints while (26) are demand constraints. Constraints (27) are derived from Property 2 while (28) are derived from Property 3. Note that, (27) and (28) are redundant and are inserted in order to strengthen the formulation. Constraint (29) defines an upper and a lower bound on the number of routes. Finally, (30) and (31) are variables definition. If we find a feasible integer solution to (24)–(31) and ~z ¼ zeR , then the solution to the two-index vehicle flow formulation is also feasible to the SDVRP. The upper bound to the optimal solution to the SDVRP is updated and the branch-and-bound node is fathomed. If problem (24)–(31) is infeasible or ~z < zeR , then the solution to the two-index vehicle flow formulation cannot be converted into a feasible SDVRP solution, thus we insert the cut

X

xij P 1

ð32Þ

ði;jÞ2Ene E

into the relaxed model, so as to exclude from the search space the proved infeasible solution. Constraint (32) imposes to choose at least one edge which was not chosen in the solution to the two-index vehicle flow formulation just found. The cut is globally valid. Every time an optimal solution to (24)–(31) is found, then the upper bound to the optimal solution to the SDVRP is eventually updated. 4.2.2. A direct procedure for the single commodity flow formulation We present here a polynomial time procedure, called MATCH ARCS, which constructs a feasible solution to the SDVRP from a solution of the single commodity flow formulation, if it exists. MATCH ARCS processes sequentially each vertex i 2 N by matching each incoming arc ðj; iÞ with an outgoing arc ði; tÞ such that yji P yit . If MATCH ARCS fails to find a feasible matching for a vertex, then it stops as this means that the solution is not a feasible SDVRP solution. While matching incoming arcs with outgoing arcs, a special care must be taken when there is an incoming arc from the depot with a corresponding x0i value greater than 1. In fact, in this case the value of variable y0i represents the total flow over all traversals of arc ð0; iÞ and must be partitioned on the different traversals. Let A ðiÞ be the set of incoming arcs in vertex i 2 N in the solution of the single commodity flow formulation, i.e., the set of arcs for which xji P 1. Similarly, let Aþ ðiÞ be the set of outgoing arcs from vertex i 2 N. If xi0 is greater than 1, we make a number of copies of arc ði; 0Þ equal to xi0 . Note that the flow on each arc ði; 0Þ is equal to 0 thanks to constraints (19). We associate with each arc ði; jÞ 2 Aþ ðiÞ (ðj; iÞ 2 A ðiÞ) a value equal to the corresponding yij (yji ) variable. For each outgoing arc ði; jÞ 2 Aþ ðiÞ, we define as I ij the incoming arc assigned to it and as yI ij its corresponding flow. We now provide a scheme of procedure MATCH ARCS (see Algorithm 1) followed by an explanation on how it works.

5

Algorithm 1. MATCH ARCS 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:

for i ¼ 1; . . . ; n do Sort the arcs in Aþ ðiÞ in non-increasing value of y variables Sort the arcs in A ðiÞ in non-decreasing value of y variables for each arc ði; jÞ 2 Aþ ðiÞ do Assign arc ði; jÞ to the first arc ðt; iÞ in A ðiÞ such that yti P yij If no such arc exists return FAILURE Set I ij ¼ ðt; iÞ if (t – 0) then Set yI ij ¼ yti Remove ðt; iÞ from A ðiÞ else if ðx0i > 1Þ then Set yI ij ¼ yij ; y0i ¼ y0i  yij ; x0i ¼ x0i  1 Insert arc ð0; iÞ in the sorted set A ðiÞ according to the new value of y0i else Set yI ij ¼ y0i Remove ð0; iÞ from A ðiÞ end if end if end if end if

For each i 2 N, MATCH ARCS first sorts the arcs in Aþ ðiÞ on the basis of a non-increasing value of the corresponding y variables. Arcs in A ðiÞ are instead sorted on the basis of a non-decreasing value of y variables. Arcs in Aþ ðiÞ are then considered sequentially and they are assigned to the first arc in A ðiÞ which has not yet been assigned to a previous outgoing arc. Special care has to be taken when the assigned incoming arc is arc ð0; iÞ. In this case, if this is not the last traversal of arc ð0; iÞ (i.e., x0i > 1), then the load of the current traversal of arc ð0; iÞ is set equal to the load of the outgoing arc, the value of y0i is decreased by the corresponding amount and the value of x0i is decreased by one. Otherwise, the load of the current traversal of arc ð0; iÞ is set equal to the current value of variable y0i . Theorem 1. Given a feasible solution to the single commodity flow formulation, Match Arcs provides a feasible solution to the SDVRP, if it exists, in OðnjFj2 Þ time. Proof. The procedure matches, for each vertex i 2 N, each incoming arc in A ðiÞ with an outgoing arc in Aþ ðiÞ. The difference between yI ij and yij defines the quantity delivered to vertex i while traversing the outgoing arc ði; jÞ and the incoming arc I ij assigned to it. If MATCH ARCS never fails, a feasible SDVRP solution can be retrieved as follows. For each arc exiting from the depot a route is defined following the arc matching computed by the procedure. For each vertex visited along the route, the quantity yI ij  yij is delivered. If MATCH ARCS fails, it means that there exists a vertex i with at least one outgoing arc which cannot be assigned to any incoming arc. Thus, the solution of the single commodity flow formulation is not a feasible solution to the SDVRP. The time complexity is given by the fact that for each of the n customers we have to assign each outgoing arc, which are at most jFj, with an incoming arc, which again are at most jFj. h

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

6

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Note that, when MATCH ARCS fails, there may exist another feasible solution to the single commodity flow formulation with the same value, which is a feasible solution to the SDVRP, as shown in Fig. 3 where the vehicle capacity is 15. This solution is eventually found by the route-based procedure described in Section 4.2.1 which is called whenever procedure MATCH ARCS fails.

5. Computational analysis The branch-and-cut algorithms were implemented in C++, using CPLEX 12.5 concert technology. CPLEX built-in cuts were used in all experiments. The codes were compiled in release mode with MS

0

(5)

(1) 7

12

1

(5) 13

9

8

(9)

(5)

0

(a) An infeasible SDVRP solution 0

(5)

(1) 5

10

1

(5) 15

9

10

(9)

(5)

0

(b) A feasible SDVRP solution with the same value of solution (a) Fig. 3. Two solutions to the single commodity flow formulation with the same value.

Visual C++ 2010 Express Edition - Windows SDK 7.1. The experiments were carried out on a 64-bit Windows machine, with Intel Xeon processor W3680, 3.33 GHz, and 12 GB of RAM. A single thread is used in all experiments. The algorithms were tested on four sets of benchmark instances. We set jFj ¼ kN in all cases. The first set of instances (Set 1) was proposed in Belenguer et al. (2000). This set consists of instances from the TSPLIB. Belenguer et al. (2000) proposed then a further set of instances (Set 2). The coordinates correspond to those of the instances taken from TSPLIB eil51, eil76 and eil101. The vehicle capacity Q is set to 160. The customer demand is generated according to six scenarios (½0:01  0:1; ½0:1  0:3; ½0:1  0:5; ½0:1  0:9, ½0:3  0:7; ½0:7  0:9). The demand of a customer in scenario ½a  b is randomly generated from a uniform distribution in the interval ½aQ ; bQ . Set 3 includes instances introduced by Archetti, Hertz, and Speranza (2006a). The coordinates are taken from instances of the CVRP (Christofides, Mingozzi, & Toth (1979)). Customer demands are generated according to six scenarios as described for the Set 2 instances. The vehicle capacity Q varies between 140 and 200. Set 4 is composed of 21 instances and is due to Chen et al. (2007). The size of the instances varies from 8 to 288 customers. The vehicle capacity is 100 units. The customer demand is either 60 units or 90 units. In all instances of this set the customers are located in concentric circles around the depot. Sets of instances 1 and 2 have been addressed in the literature rounding or not the costs to the nearest integer, while instances of sets 3 and 4 have been solved only considering non-rounded costs. We addressed the instances of all the sets in both cases. In particular, in case of rounded costs we compute the distances among each pair of vertices, round them to the nearest integer, and apply the Floyd-Warshall algorithm (Floyd (1962)) in order to guarantee that the triangle inequality is satisfied. Table 1 reports, for each set of instances, the papers presenting the best known results for some of the instances in the set. 5.1. Cuts effectiveness Preliminary experiments were performed in order to evaluate the impact of the proposed cuts. We tested the effectiveness of the connectivity and capacity cuts, which require a separation procedure that can be time consuming. In particular, for the two-index vehicle flow formulation we tested the effectiveness of the connectivity cuts while capacity cuts were always retained. For the single commodity flow formulation we tested the effectiveness of both the connectivity and capacity cuts. The tests were made in order to check if it is worthwhile to insert them. For each set we measured, over all the instances in the set, the average improvement of the lower bound at the root node of the branch-and-bound tree obtained by applying the cuts. For the two-index vehicle flow formulation we considered the following three configurations: (a) capacity cuts, (b) capacity cuts and, only

Table 1 Papers presenting best known results. Set

1 2

Rounded

Non-rounded

Lower bound

Upper bound

Lower bound

Upper bound

Belenguer et al. (2000), Moreno et al. (2010) Moreno et al. (2010)

Belenguer et al. (2000), Boudia et al. (2007), Aleman et al. (2008), Berbotto et al. (2013) Belenguer et al. (2000), Aleman et al. (2008), Berbotto et al. (2013)

Archetti et al. (2011)

Aleman and Hill (2010), Archetti et al. (2011), Berbotto et al. (2013) Chen et al. (2007), Aleman et al. (2008), Archetti et al. (2011), Berbotto et al. (2013) Archetti et al. (2008), Archetti et al. (2011), Berbotto et al. (2013) Chen et al. (2007), Aleman and Hill (2010), Moreno et al. (2010), Berbotto et al. (2013)

3

Moreno et al. (2010), Archetti et al. (2011) Archetti et al. (2011)

4

Moreno et al. (2010)

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

7

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

– 2.10 1328.00 – 1.64 1328.00 1306.57



729.8

– 0.26 1551.00

1547.04 1300.64 – 0.96 1551.00 1536.28

1.95 944.00 – 1.99 945.00

0.7 0.00

0.00⁄ 703.00

458.00 458.00

703.00 925.94 799.7

0.5 0.00

0.00⁄ 703.00

458.00 458.00

703.00 926.52

– – – 991.24

796.02

833.00

4.65





999.84











– 5.08 836.00 795.58 –

4.89

3.72 738.00

698.00 665.43

711.54 –

– 3.53

6.41 758.00

688.00 664.54

712.33

28.3

– 16.16 1083.00 932.30 – –

6.43 841.00

1.0

33.6

0.0

0.0

– –



12.02 876.00

0.00⁄ 521.00

521.00 782.00 35.8 0.00⁄ 521.00

0.00⁄ 835.00 835.00 1.6

0.00 510.00 510.00 13.5

0.00

0.00 375.00

569.00 569.00 0.0

375.00







6.8







1.80



1295.06

1552.00 – 1524.53 –

2.95 945.00 917.89 –

2.37

0.00 458.00

703.00

458.00 686.73 –

4.8

– – 1006.77



1.73

50 S51D5

1313:40l

1396:00i

1294.31

1551.00 – 50 S51D4

1539:00l

1666:00i

1524.64

3.14 946.00 50 S51D3

930:70l

962:00i

917.20

2.85

0.00 458.00

703.00

458.00 683.55 710:00i

458:00a;i

50 S51D2

694:20l

50 S51D1

454:40l

– 1007.84 100 eilB101

1040:60l

1077:00a



– – 791.94 100 eilA101

799:80l



6.51

682:00d 817:00a 75 eilD76

717:80l 75 eilC76

666:10l



1019:00d 735:00a 75 eilB76

981:40l

75 eilA76

807:60l

828:00d





– – 787.24 –



5.83 695.00

– 704.25

656.70 – 699.00 656.30

– – 702.91

– – 945.84

– – –

949.07















– – –

990.0 0.00⁄ 521.00 704.3 0.00⁄ 521.00 50 eil51

517:80l

521:00a;d

521.00 779.94

521.00 782.94

16.1 0.00⁄ 835.00 7.1 0.00⁄ 32

834:70l

835:00a;d;i

835.00

835.00

835.00

47.1 0.00 510.00 62.1 0.00

510.00

0.1

0.1 0.00

0.00 375.00

569.00 569.00

375.00

eil33

a c d e f g h i l m

n

Symbol

Belenguer et al. (2000) Archetti et al. (2008) Boudia et al. (2007) Aleman et al. (2008) Aleman and Hill (2010) Archetti et al. (2011) Aleman et al. (2009) Berbotto et al. (2013) Moreno et al. (2010) Chen et al. (2007)

Name

Reference

Table 7 Branch-and-cut – Rounded case.

Table 6 Association between papers cited in Table 1 and symbols.

510.00

7.59

510.00

7.58

510:00a;i

7.58

510:00l

4.97

29

4.94

eil30

Av.

0.2

8.01 7.22 6.93 8.19

0.1

7.97 7.26 6.88 8.19

0.00

7.97 7.26 6.88 8.19

0.00

4.19 5.67 5.53 4.49

569.00

Not hierarchical

4.09 5.67 5.51 4.49

375.00

Hierarchical 1 2 3 4

bound

Capacity and connectivity cuts

bound

Capacity cuts

Single commodity flow formulation

Connectivity cuts

Configuration (c)

None

Upper

Average lower bound improvement (%) at the root node using

Lower

Set

Best known

Table 5 Cuts effectiveness – Single commodity flow formulation – Non-rounded case.

569.00

7.38

375.00

7.27

569:00a;d;i

7.27

375:00e;i

4.81

375:00l 569:00a

4.75

21

Av.

22

7.64 7.14 6.69 8.03

eil22

7.25 7.12 6.67 8.03

eil23

7.25 7.12 6.67 8.03

z

4.10 5.42 5.21 4.49

z

Not hierarchical

3.98 5.38 5.15 4.49

t (second)

Hierarchical 1 2 3 4

gap (%)

Capacity and connectivity cuts

gap (%)

Capacity cuts

z

Connectivity cuts

z

None

t (second)

Average lower bound improvement (%) at the root node using

Configuration (e)

Set

937.49

Table 4 Cuts effectiveness – Single commodity flow formulation – Rounded case.

521.00 790.19

100.24

0.00⁄

100.66

835.00

100.66

835.00

Av.

0.00

27.27 97.27 121.37 155.03

510.00

27.37 97.19 122.70 155.36

510.00

27.37 97.19 122.70 155.36

0.0

Not hierarchical

1 2 3 4

0.00

Capacity and connectivity cuts Hierarchical

gap (%)

Capacity cuts

t (second)

Average dual bound improvement (%) at the root node using Two-index vehicle flow formulation

Set

0.00

Table 3 Cuts effectiveness – Two-index vehicle flow formulation – Non-rounded case.

569.00

101.18

375.00

100.58

569.00

100.58

375.00

Av.

z

25.52 98.15 125.53 155.51

z

25.89 97.23 124.43 154.75

z

25.89 97.23 124.43 154.75

z

Not hierarchical

1 2 3 4

gap (%)

Capacity and connectivity cuts Hierarchical

Configuration (c)

Capacity cuts

t (second)

Average dual bound improvement (%) at the root node using

Configuration (a)

Set

(continued on next page)

Table 2 Cuts effectiveness – Two-index vehicle flow formulation – Rounded case.

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

8

Name

n

Best known

Single commodity flow formulation

Lower

Upper

Configuration (c)

bound

bound

z

z

Two-index vehicle flow formulation Configuration (e)

gap (%)

t (second)

z

z

Configuration (a) gap (%)

t (second)

z

z

Configuration (c) gap (%)

t (second)

z

z

gap (%)

t (second)

S51D6

50

2141:70l

2221:00e

2099.56







2098.76







2074.14







2101.78

2301.00

9.48



S76D1

75

586:60l

594:00a

585.85

1.22



593.00 –

0.74



592.00 –

0.00⁄

30.3

592.00 –

0.00⁄

105.8





S76D2

75

1061:10l

1097:00i

1028.70

593.00 –





588.67 1028.39





592.00 1017.29





592.00 1007.73

S76D3

75

1395:90l

1455:00i

1360.00







1359.10







1344.67







1345.47







S76D4

75

2046:10l

1995.18







1994.04







1957.49







1980.71







S101D1

100

704:90l

2111:00i 716:00a

702.82







704.16







0.00⁄

3124.8

0.00⁄

2946.8

100

1337:10

1391:00

1287.92







1285.58













716.00 1260.59

716.00

S101D2

716.00 1265.15

716.00

i







S101D3

100

1832:20l

1916:00i

1784.48







1778.82







1713.80







1693.47







S101D5

100

2737:10l

2918:00i

2645.24







2644.63







2438.15







2522.71







p01_110 p01_1030 p01_1050 p01_1090 p01_3070 p01_7090 p02_110 p02_1030 p02_1050 p02_1090 p02_3070 p02_7090 p03_110 p03_1030 p03_1050 p03_1090 p03_3070 p03_7090

50 50 50 50 50 50 75 75 75 75 75 75 100 100 100 100 100 100

– – – – – – – – – – – – – – – – – –

– – – – – – – – – – – – – – – – – –

458.00 733.54 976.14 1446.14 1444.88 2086.36 599.31 1053.88 1431.12 2217.43 2133.77 3079.64 731.73 1366.67 1899.02 2930.02 2838.22 4117.68

458.00 758.00 – – 1479.00 – 614.00 – – – – – – – – – – –

0.00 3.33 – – 2.36 – 2.45 – – – – – – – – – – –

7.0 – – – 7200.0 – – – – – – – – – – – – –

458.00 736.63 976.62 1446.03 1444.68 2085.98 598.59 1053.04 1432.71 2212.35 2133.49 3079.52 732.72 1368.38 1899.06 2929.70 2833.93 4117.36

458.00 753.00 998.00 – 1473.00 – 625.00 – – – – – – – – – – –

0.00 2.22 2.19 – 1.96 – 4.41 – – – – – – – – – – –

7.7 – – – – – – – – – – – – – – – – –

458.00 753.00 975.00 1458.05 1440.53 2063.37 612.00 1042.36 1395.19 2167.62 2111.24 3100.65 740.76 1318.99 1843.26 2793.74 2675.47 3939.76

458.00 753.00 998.00 1490.00 1473.00 2317.00 612.00 – – – – – 760.00 – – – – –

0.00 0.00 2.36 2.19 2.25 12.29 0.00 – – – – – 2.60 – – – – –

0.6 6098.1 – – – – 4284.5 – – – – – – – – – – –

458.00 753.00 978.63 1459.58 1438.13 2067.56 612.00 1042.65 1412.11 2211.37 2114.04 3030.72 739.07 1295.46 1826.56 2849.55 2818.38 4062.61

458.00 753.00 998.00 1481.00 1498.00 2212.00 612.00 1157.00 – – – – 760.00 – – – – –

0.00 0.00 1.98 1.47 4.16 6.99 0.00 10.97 – – – – 2.83 – – – – –

0.7 2904.6 – – – – 7160.1 – – – – – – – – – – –

SD1 SD2 SD3 SD4 SD5 SD6 SD7 SD8 SD9 SD10 SD11 SD12 SD13

8 16 16 24 32 32 40 48 48 64 80 80 96

– – – – – – – – – – – – –

– – – – – – – – – – – – –

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2652.45 12864.40 6986.80 9724.60

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2688.00 – – –

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.34 – – –

0.0 0.2 0.1 1.3 10.9 11.3 31.2 115.4 3475.9 – – – –

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2652.06 12864.40 6982.30 9723.60

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2688.00 – – –

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.36 – – –

0.0 0.2 0.1 1.3 10.7 11.0 30.5 116.4 3459.7 – – – –

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2617.48 13280.00 7102.36 9779.95

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2731.00 13280.00 7453.00 –

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 4.34 0.00 4.94 –

0.0 0.2 0.1 0.2 21.2 1.2 2.0 390.2 927.2 – 6370.9 – –

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2647.82 13209.78 7094.07 9489.44

228.00 708.00 432.00 630.00 1392.00 832.00 3640.00 5068.00 2046.00 2722.00 – 7315.00 –

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.80 – 3.11 –

0.0 0.2 0.1 0.2 2.9 1.1 43.5 106.8 657.4 – – – –

l

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

Table 7 (continued)

Name

n

Best known

Single commodity flow formulation

Two-index vehicle flow formulation

Lower

Upper

Configuration (c)

Configuration (e)

bound

bound

z

z

gap (%)

t (second)

z

z

gap (%)

t (second)

z

Configuration (a) z

gap (%)

t (second)

z

Configuration (c) z

gap (%)

t (second)

375:28f ;i

eil22

21



375.28

375.28

0.00⁄

0.1

375.28

375.28

0.00⁄

0.1

375.28

375.28

0.00⁄

0.0

375.28

375.28

0.00⁄

0.0

eil23

22

525:65g

568:56

f

568.56

568.56

0.00⁄

0.2

568.56

568.56

0.00⁄

0.2

568.56

568.56

0.00⁄

0.0

568.56

568.56

0.00⁄

0.0

eil30

29



512:72h

512.72

512.72

0.00⁄

138.4

512.72

512.72

0.00⁄

230.6

512.72

512.72

0.00⁄

8.5

512.72

512.72

0.00⁄

22.6

eil33

32



843:64f ;i

837.06

0.00⁄

41.9

837.06

111.9

837.06

2.1

837.06

3.5

1571.6

590.2

16.7

6.6











3.18



836.81

4.45



eilB76 eilC76

75 75

985:42g 723:55g

1023:23g

– –

– –

– –

959.21 717.20

– 820.11

– 14.35

– –

955.75

746:34i

959.85 715.56

827.23 1035.79

524.61 801.16

0.00⁄



524.61 801.74

0.00⁄

809:67g

524.61 790.64

0.00⁄

75

524.61 790.73

0.00⁄

eilA76

524:61h 829:58g

837.06 524.61

0.00⁄

518:26g

837.06 524.61

0.00⁄

50

837.06 524.61

0.00⁄

eil51

837.06 524.61

724.62

739.69

8.37 2.08

– –

951.07 722.95

– 748.38

– 3.52

– –

eilD76

75

672:54g

695:96f

665.02

705.00

6.01



664.65

726.89

9.36



676.16



677.32



803:62g

844:21f

803.43

















1055:40g

1112:15f;i

1022.82



















810.06 1017.42

5.50

100

809.60 1016.75

5.78

eilB101

804.48 1021.75

695.48 854.61

2.68

100

692.01 856.40

2.34

eilA101





S51D1

50

457:10

S51D2

50

700:40l

459:50 719:82g

459.50 692.75

S51D3

50

938:50l

955:56g

S51D4

50

1549:70l

S51D5

50

S51D6

50

S76D1

75







– ⁄

459.50

0.00

3.9

0.00

3.1

459.50

459.50

0.00

0.5

459.50

459.50

0.00

0.7

2.70



459.50 689.70

459.50 –





708.42

708.42

0.00⁄

368.0

0.00⁄

500.1





926.20







940.82

951.43

1.13



708.42 936.61

708.42

925.90

711.49 –

947.97

1.21



1586:50m

1540.24

1562.13

1.42



1535.75

1563.94

1.84



1560.88

0.48



0.64



1343:07g

1314.79

1.44



1314.81







2116.62





2115.95





2135.21

6.35



2127.52

1333.67 2436.56

1.14

2179:65g

1335.50 2270.71

1.41

2154:70

1333.67 –

1.43

l

1333.67 –

1552.19 1318.58

1562.13

1318:90l

1553.47 1317.00

14.53



592:60l

606:47h

593.53 1037.17

636.89

7.31





0.00⁄

164.3



7.35



32.74



1371.64







1378.98







1364.35

1111.00 1591.08

598.94 1365.93

150.2



598.94 1029.03

0.00⁄



598.94 1034.96

598.94



603.69 –

1.67



593.78 1038.34

16.62



1363.86







l

i

S76D2

75

1071:30l

S76D3

75

1407:54g;l

1113:43i 1442:08g

S76D4

75

2059:80l

2100:15g

2025.19







2025.19







1954.46

2333.53

19.40



1978.53







S101D1

100

716:80l

749:19h

716.36







715.97

770.20

7.57



2635.9



1307.14











726.59 –

6799.6



726.59 1288.42

0.00⁄



726.59 –

0.00⁄

1308.21

726.59 1291.17





1761.91







1761.95







1675.73







1746.90







2647.89







2647.53







2553.61







2624.81







459.50 738.78

459.50 –

0.00⁄

2.1

459.50

459.50

0.00⁄

0.3

459.50

459.50

0.00⁄

0.4



459.50 772.89

2.9



459.50 739.01

0.00⁄ 4.59



756.71

0.00⁄

915.3





983.89







1005.75

1.88



756.71 1016.80

1145.7

1011:64



756.71 985.76

0.00⁄

983.73

756.71 987.18

3.15



1487.41

1.01



1467.68

1488.78

1.44



1485.46 2331.58

2.17



1456.40



617.85 – 1531.58 – – –

– –

2108.67

616.58 1053.04 1434.43 2076.61 2143.89 3090.88

9.92 0.21

1481.71 –

1.74

2121.22

– – – – –

617.85 – – – – –

– –

– 6.77 – – –

615.07 1053.64 1435.10 2155.86 2146.28 3099.17

– 0.45 – – – – –

– – – – –

S101D2

100

1358:90l

S101D3

100

l

1853:10

1415:92i 1906:28g

S101D5

100

2767:60l

2846:20m

p01_110

50

457:17

p01_1030

50

747:25g

p01_1050

50

996:93

g

p01_1090

50

1470:91g

1490:61g

1456.64







1456.76







p01_3070

50

1467:09g

1498:30g

1456.91



1457.01



2133:94g 604:89g

2162:58g

2109.77

– –

– –

1093:56g 1483:17g 2270:44g 2192:25g 3177:69g

624.72 – – – – –

2109.96 604.01

75 75 75 75 75

605.52 1062.56 1447.93 2242.12 2167.17 3114.08

– –

p02_1030 p02_1050 p02_1090 p02_3070 p02_7090

629:08i 1122:91c 1509:79g 2372:22g 2235:61g

– 3.17

1490.46 – –

2.30

50 75

1490.26 –

2.29

p01_7090 p02_110

– – – – –

– – – – –

1062.59 1450.61 2245.50 2167.25 3114.30

– – – – –

– – – – –

– – – – –

p03_110

100

742:97g

741.50

























762.62 –





753.12 1360.73

1.26

1383.93

762.40 –



1435:23g

752.29 1315.01

1.34

100

745.24 1380.59



p03_1030





p03_1050 p03_1090

100 100

1971:43g 3043:27g

1880.59 2949.62

– –

– –

– –

1884.91 2950.05

– –

– –

– –

1779.59 2943.83

– –

– –

– –

1681.77 2866.16

– –

– –

– –

p03_3070 p03_7090

100 100

2945:76g 4316:42g

2846.30 4197.86

– –

– –

– –

2846.35 4212.43

– –

– –

– –

2747.80 4211.88

– –

– –

– –

2740.65 4196.62

– –

– –

– –

g

459:98

g

771:65g g

3259:36i 794:21g 1491:82i 2018:09g 3136:29bfc 3044:92g 4452:55c

1472.58 1453.95

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx 9

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

Table 8 Branch-and-cut – Non-rounded case.

(continued on next page)

10

Name

n

Best known

Single commodity flow formulation

Two-index vehicle flow formulation

Lower

Upper

Configuration (c)

Configuration (e)

bound

bound

z

z

gap (%)

t (second)

z

z

gap (%)

t (second)

z

Configuration (a) z

gap (%)

t (second)

z

Configuration (c) z

gap (%)

t (second)

SD1

8

228:28l

228:28h;i;m;f;l

228.28

228.28

0.00

0.0

228.28

228.28

0.00

0.0

228.28

228.28

0.00

0.0

228.28

228.28

0.00

0.0

SD2

16

708:28l

708:28h;i;f;l

708.28

708.28

0.00

0.4

708.28

708.28

0.00

0.4

708.28

708.28

0.00

0.4

708.28

708.28

0.00

0.4

SD3

16

430:58l

430:58h;i;f;l

430.58

430.58

0.00

0.1

430.58

430.58

0.00

0.2

430.58

430.58

0.00

0.0

430.58

430.58

0.00

0.0

SD4

24

631:05l

631:05f;l

631.05

631.05

0.00

1.4

631.05

631.05

0.00

1.4

631.05

631.05

0.00

0.1

631.05

631.05

0.00

0.1

SD5

32

1390:57l

1390:57h;f

1390.57

1390.57

0.00

14.0

1390.57

1390.57

0.00

14.6

1390.57

1390.57

0.00

18.8

1390.57

1390.57

0.00

13.6

SD6

32

831:21l

831:21h;m;l

831.24

831.24

0.00

3.5

831.24

831.24

0.00

3.7

831.24

831.24

0.00

1.7

831.24

831.24

0.00

1.7

SD7

40

3640:00l

3640:00h;i;f

3640.00

3640.00

0.00

85.7

3640.00

3640.00

0.00

90.6

3640.00

3640.00

0.00

137.2

3640.00

3640.00

0.00

41.8

SD8

48

5068:28l

5068:28h;i;f

5068.28

5068.28

0.00

324.6

5068.28

5068.28

0.00

339.2

5068.28

5068.28

0.00

79.1

5068.28

5068.28

0.00

172.3

SD9

48

2044:20l

2044:20l

2044.20

2044.20

0.00

902.8

2044.20

2044.20

0.00

931.9

2044.20

2044.20

0.00

514.9

2044.20

2044.20

0.00

592.0

SD10

64

2684:90l

2684:90l

2660.83

2684.88

0.90



2660.64

2684.88

0.91



2625.77

2716.26

3.45



2649.11

2684.88

1.35



SD11

80

13275:00l

13280:00h;i;f

12832.04

13280.00

3.49



12831.96

13280.00

3.49



13174.03

13280.00

0.80



13280.00

0.00⁄

2468.8

SD12

80

7175:80l

7213:62i;f

6945.39







6942.46







6984.07







13280.00 7072.24

7698.80

8.86



SD13

96

10053:60l

10110:58h;f

9761.12







9760.80







9610.76







9587.41







Table 9 Results summary – Rounded case. Set

Optimal solutions

Lower bounds

Single commodity flow formulation Conf. (c)

Two-index vehicle flow formulation

Conf. (e)

Conf. (a)

Upper bounds

Single commodity flow formulation

Conf. (c)

Two-index vehicle flow formulation

Single commodity flow formulation

Two-index vehicle flow formulation

Conf. (c)

Conf. (e)

Conf. (a)

Conf. (c)

Conf. (c)

Conf. (e)

Conf. (a)

Total

New

Total

New

Total

New

Total

New

Best

Imp.

Best

Imp.

Best

Imp.

Best

Imp.

Best

Imp.

Best

Imp.

Best

Imp.

Conf. (c) Best

Imp.

1 2 3 4

5 1 1 9

2 1 – –

5 1 1 9

2 1 – –

5 4 3 10

2 4 – –

5 4 3 9

2 4 – –

5 1 9 10

2 1 – –

5 1 4 9

2 2 – –

5 4 5 12

2 4 – –

5 5 5 9

2 5 – –

5 3 2 10

0 4 – –

5 2 4 10

0 4 – –

5 6 6 10

0 5 – –

5 7 8 10

0 5 – –

Tot.

16

3

16

3

22

6

21

6

25

3

19

4

26

6

24

7

20

4

21

4

27

5

30

5

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

Table 8 (continued)

11

14 26 18 30 8 19 9 19 17 24 19 25 10 16 9 16 12 21 11 20 7 16 16 Tot.

7

2 6 6 0 5 6 4 11 4 7 7 0 8 6 6 10 1 3 2 0 5 2 1 11 1 3 3 0 5 2 1 11 7 5 4 1 7 4 3 10 8 6 5 0 6 6 4 9 6 2 2 0 5 1 1 9 5 2 2 0 5 1 1 9 5 4 2 1 5 4 2 10 5 4 2 0 5 4 2 9 5 1 1 0 5 1 1 9 5 1 1 0 5 1 1 9 1 2 3 4

Imp. Best Imp.

Conf. (a)

Best Imp.

Conf. (e)

Best Imp.

Conf. (c)

Best Imp.

Conf. (c)

Best Imp.

Conf. (a)

Best Imp. Total

Conf. (c)

New Total New

New Set

Table 10 Results summary – Non-rounded case.

New

Best

Imp.

Best Total Total

Conf. (c) Conf. (a) Conf. (e) Conf. (c)

Conf. (e)

Upper bounds

Two-index vehicle flow formulation Lower bounds

Single commodity flow formulation Two-index vehicle flow formulation

Optimal solutions

Single commodity flow formulation

5.2. Final experiments The results reported in the final tables were obtained with a maximum time limit of 2 h. We considered instances with up to 100 customers. Preliminary tests showed that no significant result could be obtained for larger instances. Tables 7 and 8 report the results for the rounded and nonrounded case, respectively. The structure of the tables is similar. The first two columns report the name of the instance and the number of customers, respectively. Then, we report the best known lower and upper bound values. The apex symbols appearing next to a best known value give the references to the papers reporting it according to entries in Table 6. The following 4 + 4 columns report the results obtained by the branch-and-cut algorithm based on the single commodity flow formulation and making use of configurations (c) and (e), respectively. Column ‘z’ gives the value of the final lower bound. The best upper bound found is given in column ‘z’, followed by the percentage optimality gap (column ‘gap (%)’). In this column a star symbol appears next to the value of the optimality gap if it is the first time that optimality was proven for the corresponding instance, while a dash appears when the gap cannot be evaluated. The overall execution time is given in column ‘t (second)’. For each instance the best values are highlighted in bold. When a value in columns 5, 6, 9 or 10 improves the corresponding best known value it is underlined, even if it is not the best one. This last markup does not apply to the results reported in Table 7 for instances of Set 3 and 4, as no solution value is known for these instances in the case of rounded costs. The remaining 4 + 4 columns have the same meaning. They refer to the results obtained by the branch-and-cut algorithm based on the two-index vehicle flow formulation and making use of configurations (a) and (c), respectively. From Table 7 we can see that the branch-and-cut algorithms are always able to solve to optimality all the instances with at most 50 customers of Set 1. The best performing branch-and-cut algorithm on Set 2 instances is the one based on the two-index vehicle flow formulation. Independently of the configuration used it is able to

Single commodity flow formulation

Two-index vehicle flow formulation

when no capacity cut is found, connectivity cuts, and, finally, (c) capacity and connectivity cuts. For the single commodity flow formulation we considered the following five configurations: (a) none of the cuts (i.e. only CPLEX built-in cuts), (b) connectivity cuts, (c) capacity cuts, (d) capacity cuts and, only when no capacity cut is found, connectivity cuts, and, finally, (e) capacity and connectivity cuts. The average improvements for the two-index vehicle flow formulation are reported in Table 2 and 3 for the rounded and non-rounded case, respectively. For the single commodity flow formulation results are reported in Table 4 and 5 for the rounded and non-rounded case, respectively. The best average values are highlighted in bold. For the two-index vehicle flow formulation the results obtained by applying only capacity cuts are equivalent to the ones where capacity and connectivity cuts are applied in a hierarchical way. In the rounded case the best results are those obtained by applying capacity and connectivity cuts without considering any hierarchical rule, whereas in the non-rounded case the best configurations are (a) and (b). In particular, configuration (a) requires less computing time. For the single commodity flow formulation the best results are those obtained by applying capacity and connectivity cuts without any hierarchical rule. Second best values are those obtained by using configurations (c) and (d). In particular, configuration (c) requires less computing time. In light of these results in the remaining of our computational analysis we considered configurations (a) and (c) for the two-index vehicle flow formulation and configurations (c) and (e) for the single commodity flow formulation. We allowed the separation of the cuts at each node of the branch-and-bound tree.

Conf. (c)

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

12

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Table 11 Performance indicators – Branch-and-cut – Configuration (a) – Non-rounded case. Name

n

Branch-and-cut zroot

eil22 eil23 eil30 eil33 eil51 eilA76 eilB76 eilC76 eilD76 eilA101 eilB101

21 22 29 32 50 75 75 75 75 100 100

Av. S51D1 S51D2 S51D3 S51D4 S51D5 S51D6 S76D1 S76D2 S76D3 S76D4 S101D1 S101D2 S101D3 S101D5

50 50 50 50 50 50 75 75 75 75 100 100 100 100

Av. p01_110 p01_1030 p01_1050 p01_1090 p01_3070 p01_7090 p02_110 p02_1030 p02_1050 p02_1090 p02_3070 p02_7090 p03_110 p03_1030 p03_1050 p03_1090 p03_3070 p03_7090

50 50 50 50 50 50 75 75 75 75 75 75 100 100 100 100 100 100

Av. SD1 SD2 SD3 SD4 SD5 SD6 SD7 SD8 SD9 SD10 SD11 SD12 SD13 Av.

8 16 16 24 32 32 40 48 48 64 80 80 96

zroot&cuts

80.98 83.87 68.12 70.27 82.51 73.99 64.58 80.21 85.07 84.35 72.44

100.00 83.87 99.46 97.97 98.06 96.96 97.20 94.47 97.46 98.24 98.68

76.94

96.58

92.26 63.63 50.76 34.20 38.98 27.81 93.04 60.22 49.20 38.64 90.30 61.20 53.03 40.75

99.29 96.33 95.70 97.40 97.32 99.78 98.66 96.95 98.24 99.93 98.05 98.65 99.97 98.20

56.72

98.18

92.26 60.75 48.83 35.77 36.23 28.00 91.35 59.75 47.21 37.23 35.79 29.09 88.40 61.45 50.94 37.78 39.50 31.93

99.31 96.14 97.10 95.24 98.80 99.43 97.73 98.47 93.64 98.57 96.97 99.40 98.43 97.60 99.96 99.17 99.70 99.99

50.68

98.09

87.61 56.47 84.17 76.73 57.53 72.77 28.57 24.47 56.08 55.73 15.49 29.51 25.61

87.61 99.64 100.00 100.00 98.70 99.68 99.83 100.00 97.99 95.76 99.93 99.09 99.18

51.60

98.26

z

375.28 568.56 512.72 837.06 524.61 801.74 955.75 724.62 676.16 809.60 1016.75

459.50 708.42 940.82 1553.47 1317.00 2135.21 598.94 1034.96 1364.35 1954.46 726.59 1291.17 1675.73 2553.61

459.50 756.71 987.18 1472.58 1453.95 2121.22 616.58 1053.04 1434.43 2076.61 2143.89 3090.88 752.29 1315.01 1779.59 2943.83 2747.80 4211.88

228.28 708.28 430.58 631.05 1390.57 831.24 3640.00 5068.28 2044.20 2625.77 13174.03 6984.07 9610.76

t

t

# of

(second)

cuts

cap. cuts

Av. t

# of

(%)

(root)

(second)

calls

0.00 0.00 14.75 7.35 12.74 4.33 3.92 5.75 7.66 7.57 5.74

159 81 208 456 1387 3651 3427 2198 2815 3992 7481

159 81 497 782 2114 13,091 17,402 10,957 12,167 15,365 18,326

0.0 0.0 0.0 0.0 0.0 0.3 0.4 0.1 0.1 0.3 0.8

2 1 274 54 21 205 160 67 52 223 103

6.35

2350.45

8267.36

0.18

105.64

33.20 4.34 2.37 1.73 1.92 0.32 21.29 3.33 2.74 0.83 20.79 5.23 1.83 4.05

370 2295 2999 3480 3364 5832 1732 4009 7750 6191 2891 9845 7157 9006

467 3977 9103 10,861 10,612 12,680 3620 15,816 19,854 13,207 7892 18,162 19,345 24,639

0.0 0.1 0.2 1.0 2.2 65.5 0.1 0.4 9.3 512.4 0.2 4.5 163.2 0

4 56 58 236 120 91 53 60 38 11 94 30 27 0

7.43

4780.07

12159.64

54.22

62.71

39.74 3.95 1.85 2.42 1.61 0.81 7.61 3.78 2.82 2.21 2.14 1.67 14.46 4.26 1.25 1.79 3.25 2.40

381 2350 4138 2443 3492 6030 1526 5494 4820 4890 8206 8408 2188 7396 9096 11,343 11,016 15,994

408 4942 11,523 9435 13,336 22,053 11,416 18,221 18,785 20,914 20,086 25,762 11,894 20,576 16,104 26,210 24,416 33,873

0.0 0.1 0.9 2.2 2.8 37.8 0.1 0.7 3.6 11.9 15.2 0 0.2 5.2 137.0 3109.4 167.7 0

3 48 132 60 157 41 187 166 54 3 18 0 80 30 42 1 8 0

5.45

6067.28

17219.67

194.16

57.22

0.00 0.00 0.00 12.10 0.58 3.81 0.36 2.09 1.99 1.66 0.24 2.63 2.96

33 170 198 570 982 1099 1922 3173 2723 4441 13,949 7837 15,844

33 187 198 570 1104 1132 2043 3393 4399 11,464 16,468 20,769 26,288

0.0 0.0 0.0 0.0 0.2 0.1 1.0 0.4 2.3 43.0 33.2 0 0

3 23 4 1 71 16 124 132 133 95 184 0 0

2.19

4072.38

6772.92

6.17

60.46

0.0 0.0 8.5 2.1 16.7 7200.2 7200.4 7200.2 7200.2 7200.2 7200.7

0.5 368.0 7200.1 7200.3 7200.0 7200.3 164.3 7200.0 7200.2 7201.0 2635.9 7200.2 7200.2 7200.1

0.3 915.3 7200.0 7200.0 7200.4 7200.2 7200.1 7200.4 7200.5 7200.1 7200.0 7200.6 7200.0 7200.1 7200.7 7200.3 7200.3 7200.2

0.0 0.4 0.0 0.1 18.8 1.7 137.2 79.1 514.9 7200.1 7200.1 7200.3 7201.0

prove the optimality for four new instances, namely S51D1, S51D2, S76D1 and S101D1, and finds best upper bounds for 5 new instances. As shown by the results reported in Table 7 (cont), the

Sol. check

branch-and-cut algorithm based on the two-index vehicle flow formulation is still the best in solving the instances of Set 3. Instances p01_110, p01_1030 and p02_110 are solved to optimality and, using

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

configuration (c), the algorithm is able to compute 8 out of the 9 best upper bounds found. Instances with at most 50 customers of Set 4 are solved to optimality by all the branch-and-cut algorithms. Moreover, using configuration (a), the branch-and-cut algorithm based on the two-index vehicle flow formulation solves to optimality an additional 80-customer instance (SD10). Looking at the results reported in Table 8 we can see how, also in the non-rounded case, the branch-and-cut algorithms solve to optimality all the instances with at most 50 customers of Set 1. This is also true for instances of Set 4. The best performing branch-and-cut algorithm on Set 2 instances is again the one based on the two-index vehicle flow formulation. The same holds for the Set 3 instances. These last instances turned out to be the most difficult ones. Concerning the results reported in Table 8 we have to mention that for instances SD6 and SD10 we have obtained slightly different optimal values from those reported in the literature so far. We guess this is due to rounding errors. Results for the rounded and non-rounded case are summarized in Tables 9 and 10, respectively. It is possible to notice that the branch-and-cut algorithm based on the two-index vehicle flow formulation gives the best results. In particular, the algorithm is the best in terms of number of optimal solutions found. Making use of configuration (a), the algorithm finds the largest number of best lower and upper bounds, and improves the largest number of known lower and upper bounds. To sum up, our opinion is that the branch-and-cut algorithm based on the two-index vehicle flow formulation and making use of configuration (a) has to be preferred. Focusing on the 81 instances addressed in the literature so far, the algorithm was able to find 29 optimal solutions (17 new), to compute the best upper bound values in 50% of the cases (41/81) and to improve them in about 30% of the cases (23/81). It solves to optimality two instances with 75 and 100 customers. Over the 37 tests concerning instances with at most 50 customers it was able to find 25 optimal solutions. In all but 3 cases the algorithm computed the best upper bound value or improved it, and, similarly, in more than 75% of the cases (28/37) the algorithm computed the best lower bound value or improved it. Finally, in Table 11 we report the value of different performance indicators concerning the branch-and-cut algorithm based on the two-index vehicle flow formulation and using configuration (a) in the non-rounded case. These data are representative also of the other cases, i.e., rounded costs, configuration (c) and the single commodity flow formulation. As before, the first two columns report the name of the instance and the number of customers, respectively. Columns ‘zroot ’ and ‘zroot&cuts ’ represent the value of the lower bound before and after applying cuts, respectively, as a percentage of the best lower bound found (given in column ‘z’). The overall execution time appears in column ‘t (second)’. The subsequent columns give the time percentage devoted to the cutting phase, the number of capacity cuts found at the root node of the branch-and-bound tree and the total number of capacity cuts found. We then report the average execution time (in seconds) of the procedure that checks if feasible solutions of the relaxed formulations are feasible SDVRP solutions and the number of times the procedure is executed. At the root node, the cuts, together with the CPLEX built-in cuts, generate an average improvement of the lower bound of about 20, 42, 48 and 47% for instances of Set 1, 2, 3 and 4, respectively. Then we can see how the total number of capacity cuts separated with respect to the number of capacity cuts separated at the root node increases of about 3.5, 2.5, 2.8 and 1.7 times for instances of Set 1, 2, 3 and 4, respectively. Despite of this, the further average improvement of the lower bound for the instances in Set 1, 2, 3

13

and 4 is only of about 3.4, 1.8, 1.9 and 1.7%, respectively (improvement that is also partially due to the application of the branching rules). Nevertheless, the average amount of time spent in the cutting phase is reasonable (greater than 10% only for 1 instance among those not solved to optimality) and justifies the choice of allowing the separation of the cuts in each node of the tree and not only at the root node. Interestingly, the average time required to check the feasibility of solutions is limited, less than 1 minute in all but 6 cases. 6. Conclusions The SDVRP has received much attention in the last years as it allows a reduction of the cost of the optimal solution of the VRP, by allowing multiple visits to the customers. The approach we proposed, based on relaxed formulations, allows a substantial improvement of the results published in previous papers, both in terms of size of the instances solved to optimality and in quality of the lower and upper bounds where the optimum cannot be found. The best algorithm is the branch-andcut algorithm based on the two-index vehicle flow formulation and making use of configuration (a). Over the 81 instances addressed in the literature so far, the algorithm was able to find 29 optimal solutions (17 new), to compute the best upper bound values in 50% of the cases and to improve them in about 30% of the cases. It solves to optimality two instances with 75 and 100 customers. Future research will be focused on strengthening the bound found by the relaxed formulations through the introduction of new valid inequalities, possibly inherited from the inequalities proposed in the literature for the VRP. Moreover, separation algorithms could be improved in order to find the strongest cuts that are violated by the current solution. Finally, a heuristic procedure which generates a feasible SDVRP solution starting from the (fractional) solution of the relaxed formulation could speed-up the convergence of the branch-and-cut algorithm. Acknowledgements The authors wish to thank two anonymous referees and José Manuel Belenguer for their help and suggestions that helped improve a previous version of the paper. References Aleman, R., & Hill, R. (2010). A tabu search with vocabulary building approach for the vehicle routing problem with split demands. International Journal of Metaheuristics, 1, 55–80. Aleman, R., Zhang, X., & Hill, R. (2008). An adaptive memory algorithm for the split delivery vehicle routing problem. Journal of Heuristics, 16, 441–473. Aleman, R., Zhang, X., & Hill, R. (2009). A ring-based diversification scheme for routing problems. International Journal of Mathematics in Operational Research, 1, 163–190. Archetti, C., Bianchessi, N., & Speranza, M. G. (2011). A column generation approach for the split delivery vehicle routing problem. Networks, 58, 241–254. Archetti, C., Hertz, A., & Speranza, M. G. (2006a). A tabu search algorithm for the split delivery vehicle routing problem. Transportation Science, 40, 64–73. Archetti, C., Savelsbergh, M. W. P., & Speranza, M. G. (2006b). Worst-case analysis for split delivery vehicle routing problems. Transportation Science, 40, 226–234. Archetti, C., Savelsbergh, M. W. P., & Speranza, M. G. (2008). An optimization-based heuristic for the split delivery vehicle routing problem. Transportation Science, 42, 21–22. Archetti, C., & Speranza, M. G. (2012). Vehicle routing problems with split deliveries. International Transactions in Operational Research, 39, 3–22. Belenguer, J. M., Martinez, M. C., & Mota, E. (2000). A lower bound for the split delivery vehicle routing problem. Operations Research, 48, 801–810. Berbotto, L., García, S., & Nogales, F. J. (2013). A randomized granular tabu search heuristic for the split delivery vehicle routing problem. Annals of Operations Research. http://dx.doi.org/10.1007/s10479-012-1282-3. Boudia, M., Prins, C., & Reghioui, M. (2007). An effective memetic algorithm with population management for the split delivery vehicle routing problem. In

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026

14

C. Archetti et al. / European Journal of Operational Research xxx (2014) xxx–xxx

Proceedings of the 4th international conference on hybrid metaheuristics, HM’07 (pp. 16–30). Berlin: Springer. Boykov, Y., Kolmogorov, V. (2004). An experimental comparison of min-cut/maxflow algorithms for energy minimization in vision. In IEEE transactions on pattern analysis and machine intelligence (PAMI). Chen, S., Golden, B., & Wasil, E. (2007). The split delivery vehicle routing problem: Applications, algorithms, test problems, and computational results. Networks, 49, 318–329. Christofides, N., Mingozzi, A., & Toth, P. (1979). In The vehicle routing problem (pp. 315–338). Chichester: Wiley.

Desaulniers, G. (2010). Branch-and-price-and-cut for the split delivery vehicle routing problem with time windows. Operations Research, 58, 179–192. Dror, M., & Trudeau, P. (1989). Savings by split delivery routing. Transportation Science, 23, 141–145. Dror, M., & Trudeau, P. (1990). Split delivery routing. Naval Research Logistics, 37, 383–402. Floyd, R. W. (1962). Algorithm 97. Communications of the ACM, 5, 345. Moreno, L., Poggi de Aragão, M., & Uchoa, E. (2010). Improved lower bounds for the split delivery vehicle routing problem. Operations Research Letters, 38, 302–306. Ralphs, T. K., Kopman, L., Pulleyblank, W. R., & Trotter, L. E. (2003). On the capacitated vehicle routing problem. Mathematical Programming, 94, 343–359.

Please cite this article in press as: Archetti, C., et al. Branch-and-cut algorithms for the split delivery vehicle routing problem. European Journal of Operational Research (2014), http://dx.doi.org/10.1016/j.ejor.2014.04.026