12
EUROPEAN JOURNAL OF OPERATIONAL RESEARCH European Journal of Operational Research 106 (1998) 546-557 Separating capacity constraints in the CVRP using tabu search P. Augerat a, J.M. Belenguer b, E. Benavent b3*,A. Corberin b, D. Naddef a ARTEMIS-IMAG, Grenoble, France b Depurtament d’Estadi.stica i Inve~tiguci6 Operativa. Universitat de V&ncia. CIDr. Moliner 50. 64100 Burjussot, V&nciu, Spuin Received 1 May 1996; received in revised form I April 1997 Abstract Branch and Cut methods have shown to be very successful in the resolution of some hard combinatorial optimiza- tion problems. The success has been remarkable for the Symmetric Traveling Salesman Problem (TSP). The crucial part in the method is the cutting plane algorithm: the algorithm that looks for valid inequalities that cut off the current non- feasible linear program (LP) solution. In turn this part relies on a good knowledge of the corresponding polyhedron and our ability to design algorithms that can identify violated valid inequalities. This paper deals with the separation of the capacity constraints for the Capacitated Vehicle Routing Problem (CVRP). Three algorithms are presented: a construc- tive algorithm, a randomized greedy algorithm and a very simple tabu search procedure. As far as we know this is the first time a metaheuristic is used in a separation procedure. The aim of this paper is to present this application. No ad- vanced tabu technique is used. We report computational results with these heuristics on difficult instances taken from the literature as well as on some randomly generated instances. These algorithms were used in a Branch and Cut pro- cedure that successfully solved to optimality large CVRP instances. 0 1998 Elsevier Science B.V. All rights reserved. Keywords: Capacitated vehicle routing problem; Valid inequalities; Separation; Tabu search; Heuristics 1. Introduction Vehicle routing involves a wide and large class of problems concerning the design of a set of routes for a fleet of vehicles delivering goods to a set of customers. The basic model of the Vehicle Routing Problem we consider here, the Capacitat- ed Vehicle Routing Problem (CVRP), consists of finding a set of optimal routes for a fleet of id- entical vehicles (with fixed capacity) that, from a ??Corresponding author. E-mail: [email protected]. central depot, service the demand of the custom- ers. Real world applications include pick up and mail delivery, distribution of foods, school bus routing and many others. Concerning vehicle rout- ing models, applications and heuristic and exact solution methods, the reader may consult [la] and the more recent survey by Fisher [5]. Since Branch and Cut has been very successful for the Symmetric Traveling Salesman Problem (TSP) in solving to optimality instances with over 7000 cities, one can hope that the method will also be successful for the CVRP, since this prob- lem is closely related to it. Unfortunately, the 0377-2217/98/$19.00 0 1998 Elsevier Science B.V. All rights reserved PIISO377-2217(97)00290-7

Separating capacity constraints in the CVRP using tabu search

Embed Size (px)

Citation preview

EUROPEAN JOURNAL

OF OPERATIONAL RESEARCH

European Journal of Operational Research 106 (1998) 546-557

Separating capacity constraints in the CVRP using tabu search

P. Augerat a, J.M. Belenguer b, E. Benavent b3*, A. Corberin b, D. Naddef a ” ARTEMIS-IMAG, Grenoble, France

b Depurtament d’Estadi.stica i Inve~tiguci6 Operativa. Universitat de V&ncia. CIDr. Moliner 50. 64100 Burjussot, V&nciu, Spuin

Received 1 May 1996; received in revised form I April 1997

Abstract

Branch and Cut methods have shown to be very successful in the resolution of some hard combinatorial optimiza- tion problems. The success has been remarkable for the Symmetric Traveling Salesman Problem (TSP). The crucial part in the method is the cutting plane algorithm: the algorithm that looks for valid inequalities that cut off the current non- feasible linear program (LP) solution. In turn this part relies on a good knowledge of the corresponding polyhedron and our ability to design algorithms that can identify violated valid inequalities. This paper deals with the separation of the capacity constraints for the Capacitated Vehicle Routing Problem (CVRP). Three algorithms are presented: a construc- tive algorithm, a randomized greedy algorithm and a very simple tabu search procedure. As far as we know this is the first time a metaheuristic is used in a separation procedure. The aim of this paper is to present this application. No ad- vanced tabu technique is used. We report computational results with these heuristics on difficult instances taken from the literature as well as on some randomly generated instances. These algorithms were used in a Branch and Cut pro- cedure that successfully solved to optimality large CVRP instances. 0 1998 Elsevier Science B.V. All rights reserved.

Keywords: Capacitated vehicle routing problem; Valid inequalities; Separation; Tabu search; Heuristics

1. Introduction

Vehicle routing involves a wide and large class of problems concerning the design of a set of routes for a fleet of vehicles delivering goods to a set of customers. The basic model of the Vehicle Routing Problem we consider here, the Capacitat- ed Vehicle Routing Problem (CVRP), consists of finding a set of optimal routes for a fleet of id- entical vehicles (with fixed capacity) that, from a

??Corresponding author. E-mail: [email protected].

central depot, service the demand of the custom- ers. Real world applications include pick up and mail delivery, distribution of foods, school bus routing and many others. Concerning vehicle rout- ing models, applications and heuristic and exact solution methods, the reader may consult [la] and the more recent survey by Fisher [5].

Since Branch and Cut has been very successful for the Symmetric Traveling Salesman Problem (TSP) in solving to optimality instances with over 7000 cities, one can hope that the method will also be successful for the CVRP, since this prob- lem is closely related to it. Unfortunately, the

0377-2217/98/$19.00 0 1998 Elsevier Science B.V. All rights reserved PIISO377-2217(97)00290-7

P. Augerat et ul. I Europmn Journal of’ Oprrutionul Rrsrurch 106 (1998) 546-557 541

capacity requirement on the tours make the prob- lem much more difficult, and, even if we have been able to solve an instance with 135 customers (see [6,7]), many smaller instances of the literature remain unsolved. Therefore, for the CVRP, cur- rently, large instance means an instance with 75 or more customers. In [8] Naddef and Thienel show that the key to success in a Branch and Cut code is having a good lower bound at the root node. This bound is usually referred to as the linear program (LP)-bound in the literature. For difficult instances the time spent in getting a good LP-bound always pays off. In this paper we will show how a simple tabu search procedure can help attain this goal. For those not acquaint- ed with the Branch and Cut method, this method uses a partial linear description of the convex hull of solutions, known as a relaxation. Such a relax- ation is given in Section 2. At each iteration, an LP consisting of a subset of these inequalities is solved. If the solution is integral but not feasible, a violated capacity constraint can easily be identi- fied, if it is feasible we are done. Else we try to identify violated valid inequalities, add them to the LP and repeat. If no inequality has been found, we resort to branching, that is separate the problem in two parts and solve each part in the same manner. A lot of heuristic procedures can be found in the literature to solve the identifi- cation problem for different classes of inequalities that arise in several optimization problems. Nev- ertheless, few of the new ideas that have been de- veloped in the last years for the design of modern heuristics have been applied in this field. Among them, tabu search is one of the most promising new techniques (see [9911]).

Valid inequalities for CVRP are of three kinds, those related to the fact that the customers are dis- tributed on disjoint, except for the depot, cycles, these are referred to as pure TSP inequalities. Those related to the capacity requirement on each tour, these are the inequalities we want to deal with in this paper and called capacity constraints. Finally, those which come from the intricate rela- tionship of these two factors. These latter inequal- ities seem to be very difficult to deal with. Several very efficient separation routines have been devel- oped recently for the Symmetric TSP (see

[12,13]). In this paper we present several heuristic algorithms for the identification of capacity con- straints in the CVRP. This class of constraints has proven to be the most important for the CVRP as they produce the largest increase in the lower bound when added to the LP formulation. We dis- cuss several kinds of such identification algorithms that we classify in three groups: constructive heu- ristics (as those developed by Harche and Rinaldi [14]), greedy randomized heuristics and a tabu search algorithm. As far as we know, this is the first time that a metaheuristic has been designed to solve an identification problem, despite the fact of the importance of such problems in solving combinatorial problems with Branch and Cut. The algorithms presented in this paper, or former versions of them, were used in the above men- tioned work by Augerat et al. [6], that successfully solved to optimality large CVRP instances.

The paper is organized as follows. In Section 2, the formulation of the CVRP and the separation problem associated with the capacity constraints are presented. Section 3 is dedicated to describe the heuristics we have used to solve this separation problem and in Section 4 we make a computation- al study to assess the relative efficiency of these al- gorithms over a set of difficult instances taken from the literature and two sets of randomly gen- erated instances.

2. CVRP formulation and the separation problem for capacity constraints

Let G = (V, E) be an undirected and complete graph with node set V containing n + 1 nodes numbered 0, 1,2,. . . . n, where 0 represents the de- pot and 1 through n the customers. The set of cus- tomers will be represented by l& so V = V, u (0). The demand of customer i is denoted by d;, d, > 0, while cr 3 0 denotes the cost of traversing edge e E E. Given a fixed number of vehicles, k, of ca- pacity C, the CVRP consists of finding routes for the k vehicles, with minimum total cost, such that each customer belongs to exactly one route, each route contains the depot and the total demand of the customers that it contains does not exceed the vehicle capacity C.

548 P. Augerut et ul. I European Journul of’ Oprrutionul Rrsrurch 106 (199s) 546-557

In order to formulate the CVRP as a linear in- teger program, we define a variable x,, associated to each edge e of E, representing the number of times edge e is used by the solution. Sometimes, we will write x;j instead of x, where e is the edge between nodes i and j, i < j. We will also use the following notation.

For given subsets of nodes S, S’ 5 V, the set 6(S) (coboundary of S) is the set of edges with one end-node in S and the other in V \ S (S(S) = {e = (i, j) E E: i E S, j E V \ S}), (S:S’) is the set of edges with an end-node in S and the oth- er in S’ ((S:S’) = {e = (i, j) E E: i E S, j E S’}), y(S) is the set of edges with both end-nodes in S (y(S) = {e = (i, j) E E: i, j E S}), d(S) is the total demand in the set S (d(S) = cjcsdi) and DT is the total demand of all the customers. For any subset F of edges, x(F) denotes the sum of the x, values over all edges e E F.

Laporte et al. [15] formulate the CVRP as the following integer program:

(CVRP) min c ct! -G, &E

x(@(O))) = 2k,

x(6((i))) = 2 for all i E 6,

(1)

(2)

(3)

for all S G &, S # @,

(4) O<x, < 1 for all e E r(h), (5) O<x,<2 for all e E S({O}), (6) x, integer for all e E E. (7)

Constraint (2) states that each of the k vehicles has to leave and go back to the depot while con- straints (3) assure that each customer is visited ex- actly once. Constraints (4) are the capacity constraints (also called generalized subtour elimi- nation constraints), where [M] is the smallest inte- ger larger or equal to a. Their validity becomes clear noting that, for a given subset S of customers, at least [d(S)/Cl vehicles are needed to satisfy the demand in S and, because the depot is outside S, each of these vehicles must necessarily enter and leave S. Furthermore, like for the subtour elimina- tion constraints in the TSP case, these constraints are needed to force the connectivity of the solu-

tion. Constraints (5-7) specify the integrality and bound restrictions on the variables. Variables xoj, corresponding to edges incident with the depot, are allowed to take values 0, 1 or 2, where Xoj = 2 represents the trip of a vehicle leaving the depot, visiting customer j and coming back to the depot. All other edges are restricted to take values 0 or 1.

Let PCVRP be the convex hull of the feasible so- lutions to CVRP (i.e. solutions to Eqs. (2)-(7)). Then PCVRP is a polyhedron and, therefore, it can be described by a finite system of linear in- equalities. Hence, theoretically, it would be possi- ble to solve the CVRP as a linear programming problem. In practice, however, this is not possible because, first, not all the inequalities describing PCVRP are known and, second, the number of such inequalities is a very large number. In fact, the number of capacity constraints (4) is of order 2”, so it becomes impossible to include all them in the LP problem. This is also true for other known classes of valid inequalities for PCVRP (see [16,17,61).

The method used in practice is a cutting plane algorithm that proceeds in the following way. At each iteration, a LP including the degree con- straints (2) and (3) and some set of valid inequali- ties is solved. If the solution is integral but not feasible, a violated capacity constraint can easily be identified, if it is feasible we are done. Other- wise, we strengthen the linear program by adding a set of valid inequalities violated by this optimal solution, and proceed as before. The algorithm stops when a solution is found that is integer and satisfies all constraints (4) (it then will be optimal for the CVRP) or, most probably, when no valid inequality violated by the current optimal LP solu- tion is found. In this last situation, we have only a lower bound to the cost of the optimal CVRP so- lution and it becomes necessary to employ a branching scheme to be able to solve the CVRP ex- actly. See, for example, [18] and the paper by Jun- ger et al. [19] in which a survey is given on successful applications of Branch and Cut meth- ods along with answers to some practical questions arising in its implementation.

Note that, at each iteration of the cutting plane algorithm, we have to use certain identification

P. Augrrut er 01. I European Journul of Oprrurionul Rrseurch 106 (1998) 546-557 549

algorithms to find valid inequalities that are violat- ed by the current LP solution. The efficiency of these methods relies, in a great extent, in the design of effective procedures for this purpose. This is the Separation (or Identification) Problem associated to each class of valid inequalities.

2.1. Th cupucity separution problem

Given a CVRP instance and a vector x = (x,)~~~ satisfying Eqs. (2), (3), (5) and (6), find an inequality Eq. (4) violated by x or prove that none exists.

Given a subset S C &), S # 0, and an LP solu- tion x, let us denote by f(S) = x(6(S)) - 2 [d(S)/C]. Then, the capacity constraint Eq. (4) corresponding to S is violated by x if and only if .f‘(S) < 0. On the other hand, if f’(S) 2 0 for all S 2 Vi. S # 0, then no capacity constraint is vio- lated by x. Hence, the separation problem is equiv- alent to compute

min{,f(S):S C 6, S # 0). (8)

It is not known whether this problem is NP- complete or not. We will concentrate in the design of heuristic algorithms for it. Furthermore, our ex- perience shows that a large number of capacity constraints is usually needed to solve even medium size instances. so the heuristics should generate not only one but several violated inequalities at low cost. Most of the separation routines described in this paper have been used in a Branch and Cut al- gorithm for the CVRP described in [6].

3. Identification of capacity constraints

Let x be the optimal LP solution at any itera- tion of the cutting plane algorithm and let G(x) be the weighted graph induced by the edges e with value x, > 0, which will be called the support graph of x. Given a nonempty subset S 2 V,, x(6(S)) represents the sum of weights, xe, of the edge cutset 6(S) in graph G(x) and we will refer to x(6(S)) as the value of edge cutset 6(S).

First, we will comment on some simple facts that can be used by any identification algorithm for the

capacity constraints. The basic idea of all the heu- ristics we present here is to find “promising” sets S 2 h, for which x(6(S)) and d(S) are computed to check if Eq. (4) is violated. Oncex(d(S)) has been computed, it is very easy to check Eq. (4) also for the complementary set I$) \ S, because d(e) \ S) = DT -d(S) and, given that x(@(O))) = 2k, x(d( V. \ S)) = x(S(S)) -2x((O): S) + 2k.

On the other hand, sets with demand exceeding an integer multiple of the vehicle capacity C by a small amount are good candidates to check Eq. (4). Then, every time a set S for which pC > d(S) 3 (p - t)C, with p integer and, say 6 = 0.33, is found, Eq. (4) is checked for all the sets S U {[I}, where c is adjacent to at least one node of S in G(x). There is another reason for doing this: if [d(S)/Cl =p and [d(S u {I;})/C] = p + 1, then the inequality x(d(S U {c})) 3 2p + 2 implies x(6(S)) - zY({i!}:S) 3 Zp, so the capacity con- straint for S U {c} dominates the corresponding one for S, so it is better to generate only the first one.

Harche and Rinaldi [14] pointed out that any edge e = (i>j) of G(x) not incident with the depot and with value 1, can be shrunk in the following way: the two endpoints, i and j, of e, are substitut- ed by a supernode, say y, with demand dq = d; + di; the value of any edge (q. 1’) is defined as xyl. = x,~ +x,,.. This shrinking procedure is ap- plied recursively until no edge with value 1 re- mains. Note that in the shrunk graph, the sum of the values of the edges incident with every super- node or node, except the depot, is equal to 2. Then, if in any step of the shrinking procedure, a super- node with demand greater than C arises. the ca- pacity constraint associated to the set of its corresponding original nodes is, obviously. violat- ed. It can be easily shown that this procedure can- not lead us to miss a violated inequality if one exists, so we can apply any heuristic directly on the shrunk graph, that, for convenience. will still be denoted by G(x). In the early stages of the cut- ting plane algorithm, many violated capacity con- straints are found by this shrinking procedure.

Another straightforward procedure consists of computing the connected components of G(x) and that of G(x) \ (0) and check Eq. (4) for the corresponding sets of nodes. In the case that the

550 P. Augerui et al. I Europeun Journal of Operational Research 106 (1998) 546-557

LP solution is integer but not feasible, this simple heuristic will identify a violated capacity con- straint.

If any of the above procedures finds a violated inequality, it is not worthwhile to apply more so- phisticated heuristics, so they are applied as a first step in all the heuristics procedures we present in what follows.

3.1. Constructive heuristics 3.2. Greedy randomized algorithm

Harche and Rinaldi [14] introduced the frac- tional capacity inequalities

x(6(S)) 3 2%

that are clearly dominated by Eq. (4). The interest of Eq. (9) relies on the fact that they can be sepa- rated in polynomial time. The procedure is as fol- lows. From the supporting graph G(x), build a graph H by adding an artificial node, denoted n+ 1, which is connected to all the nodes 1 .., n. Each edge has a capacity bij which is equal to X;j for i,j= l,... ,n. Capacities of the edges incident with the depot are defined as boj = max {O,XQ - 2dj/C} and that of those edges inci- dent with node n + 1: bj,,+I = max {0,24//C- xoj}. Compute in this graph the minimum capacity cut separating nodes 0 and n + 1 and let S be the set of original nodes defined by this cut on the shore of node IZ + 1. Subtracting P = CT=, bj,,+l to the capacity of this cut, we have

C x;j + C&j + C bj.n+l - P (i.j)i)E(S:h\S) jc.7 ith\S

= C X;j+

(;J)EWVU\S) c( jGS XOj-2$

= x(6(S)) - 2% = f’(S),

which gives the maximum violation of constraints (9).

A value f’(S) < 0 implies that Eq. (9) is violat- ed, and therefore Eq. (4), for set S, but even if f’(s) 2 0, capacity constraint Eq. (4) can be vio- lated because of its larger right-hand side. It can be easily shown that f’(s) > 2 - 2/C, implies that

no capacity constraint Eq. (4) is violated by x. Un- fortunately, this is not a necessary condition and, in fact, it is too restrictive. Sometimes we obtain S = 0, which is not a valid set for either Eq. (9) or Eq. (4). In this case, we apply n times the same procedure, forcing each time a node i = 1, . . , n to belong to S by making bi,,+l = co and all the re- sulting sets are used to check Eq. (4).

In this procedure, we build an initial set of nodes S and, at each iteration, a node u, different from the depot, is added to S until it contains all the nodes, The selected node is that for which x( (S: {v})) is maximum. Note that, as x(6({ u})) = 2, this is equivalent to minimize x(&S” {v])).

Several possibilities to build the initial set S have been tried: 1. only one node, 2. the end-points of an edge, 3. a set corresponding to a tight inequality in the

linear program, 4. the complement of such a set in V, 5. any set including the depot, 6. any set not including the depot.

Node sets (with the required properties), in strategies 5 and 6, were randomly generated. In both cases, the number of trials for the initial sets was fixed to 10 times the number of nodes. The best results were obtained by mixing strategies 1 and 6 and these are the ones reported in Section 4.

Similar procedures to the above ones were de- veloped independently by Araque et al. [16] for the identical customers CVRP.

3.3. Tabu search algorithm

This procedure is the result of a careful study of the identification problem for the capacity con- straints. Note that capacity constraints consist of several classes of constraints, each class being as- sociated to the number of vehicles needed to ser- vice all the customers in set S. Hence, for each value of p = 1, . . , k - 1, we may concentrate on

{{(s) -3 3 !3(/:s\?4)P) ‘US)+3 3 r’((/:s))xl)x~~

:pay3ea.l S’ u.uluI!xeLu %!~ollo3 aql yy~ 103 apou ayl aq il Ia7 ‘~‘1

‘VI OI 08 ‘&kua s! (s)h n (S-)+,-J 31 woyelay j/r lsal ayl 30 Lut? u!

s (~0.13 paAowa1) 01 pappc uaaq aAey leyl sapou asoql t(s)+31 (s)_3 moq amruax .(s)_,J put! (s)+~‘u~z~s‘xvu~s alnduro3 ‘1.1

-1 = rag las ‘0.1 aseyd aSueq~~a,uI

‘W 3 ((J :s))x 3 nad - fl Bu!L~sym asoyl Siuou112 (s) +yj 3 ;1 apou v Isalas @uo~uy~~~E;~ Us) t3 3 11 :((,I :s))x}xeLu = M ‘Z’EI

.(ascyd aSueyslalu1) 0.1 01 08 ‘IClduIa

s! (s)+J 3! ‘(s)+J put xw~ alndwo3 ‘1.3 aseyd uoy.n?dxg

‘1 =dlas luq~!rofl~a llqa1

‘sapou Z/IA 30 lasqns paIDalas Quop -ucl e u! ! apou 1ClaAa 103 {!} = s tas ~I!M %ug1e~s

unJ s! UI~~!.IO~~I? %U!MO~~OJ ayl ‘ICIlv3g!3ads

-aldy paDur?r\pe a.Iom u1o.13 palDadxa aq ileum I!laru p~~o!~!ppt! ‘pa~el~suourap AjIrgssa33ns aq u-e3 l!laur yns pap!AoJd .uralqo.td uoge.n?das ay$ 01 D!IS!.I -nayelaru y3leas nqr?) e %!lCldde 30 I!lacu atp alt?gs -uowap 01 q3eolddv yaleas nqel aIduI!s I? asn 01 s! 1~08 Ino Jayyea .sa@ajvIls y3leas nqsl rural _Ia%uoI 10 houIauI paseq-huanbaq ale.IodloDu! 01 uayt?l -Japun IOU ahey am ‘JeIn3!vcd UI .(paddolp .IO pa -ppt2 aq 0% apou e sasne9 aAotu uah@ E JaylayM pur! ‘lasqns r! asoduIo3 01 pasn sapou .ynDyed ayl 30 luapuadapu! &.a.!) avow E Aq palDa&e ale ~eyl salnqglc uognlos 30 /Ciguap! ayl 30 luapuadap -u! s! ~vyl a.Inual nqel (paxy) D!~BIS I! Qdde am .L.I -ouIaw paseq hua3al I! sasn ley~ ampaDold ymas nqel alduys Lraiz e salnlgsuo3 poqlaur ino snyl

30 las ayl auyap 01 pasn s! ‘ I > nad > 0 ‘Aad ‘lala -tucied .IayJoue aI!qM ‘unJ aq II!M UII_I~!.IO%IC aIOYM

ayl saug 30 iaqrunu ayi sayuuaiap saugu palp23 lalaurr?led v ‘(UI~J!_IO~IT.T ayl II! Zy dais aas) urayi

30 au0 2lup3aIas @uopuEJ pur! salr?p!pueD ,,poo8,, 30 las IT Su!pIyq dq dais syl paz!uropuel aAey aM ‘satup IelaAas uu.g!.1081e ayi %u!uunI silnsal iualag!p u!“)qo 01 .Iap.Io U! ‘_IaAaMOH *r_untu!xeuI s! (({a} :s))x q3q~ .q i~qi s! s 01 pappE aq 01 apou alep!pueD lsaq ayl ‘aseyd uoyedxa ayl UI

111 palIs lalaurr?led indu! laylour? OJ lvnba suog --elai! 30 .taqurnu e Buyp nqEi pa_nyDap s! luaw -aIzouI as1aAa.I ayl ‘,y (u10.13) 01 (pahourai) pappe s! 0 apou ‘uogeiai! he iv ‘31 .{ u,tws 3 ,‘p : (s) _N 3 0) = (s)_,y s! s ~013 paAoma1 aq 01 saiep!puE:, 30 las ay) ajym { xwws > +J :(s) + N 3 A}

= (s)+3 S! s 01 pappa aq 01 sapou awp!pueo 30 ias ayi ‘uayL ‘(IPCII - d)~ - (S)P = u~tus put (s)p - (pu~ln + 6)~ = xvtus’ auyap sn ia7 ‘,y \ 0~ uf apou au0 iseal ir! 01 1uaMppe s u! sapou 30 las ayi (s) _N /cq pur! s u! apou au0 iseal ie 01 ‘(x)9 u! ‘1uaMpe s \ 0~ u! sapou 30 ias ayi (s) +N 6q alouap II!M am ‘o/1 30 s iasqns c uaA!D

s! (b) ‘ba %yaqD OS ‘uogolay yea 1~ (s)p pue ((s)q)x a]Epdn 01 .&sea AiaA s! I! leyl aloN ~~ope~o -!A aIq!ssod 103 payDays s! (9) ‘bg ‘I_LI~~!.IO~~E ayi /cq palviaua8 s las haha JOT JO OS pue pagddc ST ascyd uoysuvdxa JaylouT? ‘lyn auo Aq pasealDu! s! d sapyaA 30 laqurnu ayl ‘spJeM.tayv .adol palIe lalaweled .taylour! hq ua@ suogelal! 30 laq -uInu u.uu_u~x~ur E Ou!Jnp pa!ldde s! asayd a8ueyD -.vy ayi ‘wawou qi IV ~3(w.pi-6) < (s)p saysyes az!s si! Igun %opr2ai! y9va le apou 1! I! 01 %.uppe Icq s~o.12 s las alay,% ‘asvqd uo!suadxa UE isly sain9axa uryl!.to%le ayl ‘1 - y ‘ . . . ‘ 1 = d sal3!q -alz 30 JaquInu y3ea 10~ 5apou paIDalas Q.uopue.~ Z/U 30 lasqns c u! j apou haha 103 un1 s! i! ‘(x)9

ydw% 30 suo@al ayl 11e laAo3 01 laplo u! ‘pue {.I} = s las py!u! UE ~II!M si1sis aJnpaDold ay&

%I!@D luahald 01 is!\ nqel e asn 01 kes -sa3au sauro9aq i! 0s ‘au0 ixau aqi 01 uope3ai! ue ~013 asealDap .10 aseaJ3u! h_u ((s)q)x y%noyi~e ‘saylrq!ssod ayl 11” %UOUI~ isaq ayl s! iuatualzotu

paiDaIas aql W9) x az!uI!u!uI 01 laplo u! fj t.uoq paAouIa1 JO 01 pappe s! apou i? ‘uo!ielai! yea le :s slas yns uo y3leas 01 pa!Iddv s! asryd a%eyD -laluy uv .I pua 0 uaaMiaq satyEA ~‘I!M slalaweJ -ed ua@ a18 lftuyn pue I~LLU~~ alayM ‘3(1!1U!ln + 6) 3 (s)p 3 3(i.twgl -d) Ou!lCJsges ($I 5 s sias ‘s! IE~J_ .saIctyaA d lnoqe %u!l!nbaJ slaurolsn3 30 sias

552 P. Augerat et (11. I Europun Jownul of Operutiond Research 106 (1998) 546-557

1.3. Depending on if v E C’(S) or v E C (S), the first one consists of comparing the results ob- add or remove it from S and check Eq. (4). tained by the cutting plane algorithm when using Do iter = iter + 1. If i/w > tope go to 1.4, each of the heuristics, and, in the second one, each otherwise, go to 1.1. heuristic is applied to certain LP solutions and the 1.4. Dop =p+ 1. IfpGk - 1 go to E.l, oth- number of constraints and maximum slack found erwise, stop. by them are reported.

The above procedure is run a number of times given by ntimes, that we have set between 1 and 6. After some testing, we have concluded that a good choice for the parameters is: 0.3 6 ulimit < 0.45, 0.1 < llimit < 0.25, and 5 < tll < 15. If ntimes 2 2, a good choice is to set per to some value in the range [0.2,0.6], otherwise we set per = 0. Finally, the maximum number of iter- ations to be done in every interchange phase, rope, was chosen between 5 and 60.

In some iterations of the cutting plane algo- rithm, the number of violated constraints identi- fied by this procedure is very large and many of them are “similar”. This causes some difficulties when solving the resulting LP if all the identified constraints are added to it. Then, we decided to limit the number of cuts that are added to the LP at any iteration to the minimum between 125 and twice the number of nodes and to consider only constraints that are violated by at least 0.01. In the case that more than this number of con- straints were identified, we select among them those most violated.

Although the separation algorithms for the ca- pacity constraints have been embedded in a Branch and Cut procedure to solve exactly the CVRP (see 161). it is difficult to compare the rela- tive efficiency of the above separation heuristics in the overall Branch and Cut because it includes also separation algorithms for other classes of val- id constraints (generalized capacity, combs and hypotours). Furthermore, for many of the instanc- es tested, the Branch and Cut could not be com- pleted in a reasonable amount of time; the only hope to solve these difficult instances is to improve the lower bound at the root node.

4. Computational results

The efficiency of the heuristic identification al- gorithms described in this paper should be mea- sured by the number and “quality” of violated constraints they find when applied to a particular LP solution. An indirect way of evaluating the quality of a constraint is to observe the increase produced in the lower bound when it is added to the LP. Larger increases mean better constraints because they define deeper cuts in the LP relax- ation polyhedron. A more direct way, although less accurate, is simply to compute the slack for which the constraint is violated by the LP solution. Consequently. we have used two methods to com- pare the efficiency of the identification heuristics,

We have tested three sets of CVRP instances. The first one, denoted LITLIB, consists of 11 dif- ficult instances taken from the literature. Table 1 shows for each instance: number of cities (includ- ing the depot), number of vehicles and the tight- ness of the capacity constraints (total demand of the customers divided by the total capacity of the fleet of vehicles). Also, it shows the reference from which each instance has been taken and where the complete data can be found. Data for the first sev- en instances can be also found in the TSPLIB [23]. All the test instances are planar, that is, customers are located at points in the plane and c;, = [li, + l/2] 3 where l,i is the euclidean distance between points i and j. Finally, an upper bound for each instance is included in the table. These up- per bounds were provided to us by Campos and Mota [24] and were computed with two heuristic algorithms based on tabu search and on the infor- mation provided by the LP solutions generated by the cutting plane algorithm.

All the algorithms were coded in C and run on a Sun Sparcstation 20 using the LP solver Cplex 3.0 [25].

Tables 24 show the results obtained by the cutting plane algorithm that uses only one heuris- tic to identify capacity constraints violated by the LP solution at each iteration. Thus, Table 2 pre- sents the results for the constructive heuristic de-

P. Augrrar et al. I Europeun Journal c?f Opwationul Rmrurch IO6 (199X) 546-557 553

Table I Characteristics of the LITLIB instances

Name Nodes Vehicles Tightness Reference Upper bound

cmtlOl eil30 ei133 eil5l eilAlOl eilA76 eilC76 eilD76 fisher I35 fisher45 fisher72

IO1 IO 0.91 30 3 0.94 33 4 0.92 51 5 0.97

IO1 8 0.91 76 IO 0.97 76 8 0.95 76 7 0.89

I35 7 0.95 45 4 0.90 72 4 0.96

PO1 [?I1 [?I1 VII [?I1 VII [211 VII [Z] I [22] 1221

820 534 835 521 817 834 735 687

I I65 724 237

Table 2 Results or the cutting plane using CONS

Name L.B.

cmtlOl 818.167 eil30 508.5 ei133 831.667 eil51 510.793 eilAlOl 789.8 I6 eilA76 773.206 eilC76 703.009 eilD76 658.641 fisher I35 I 152.66 fisher45 723.333 fisher72 232.5

GAP cuts Iter

0.22 542 85 4.78 68 II 0.40 171 26 1.96 100 I6 3.33 421 56 7.29 383 50 4.35 647 77 4.13 461 57 1.06 1547 255 0.09 I29 27 I .90 I05 IO

SEP CPLEX

13.06 46.85 0.84 0.50 2.14 I .48 I.33 I .38

I I.23 36.4 I 8.08 22.45

14.12 32.08 Il.30 18.46 64.84 434.65

1.90 1.84 0.90 I .76

scribed in Section 3.1 (denoted CONS), Table 3 for the greedy randomized heuristic (denoted GREEDY) and Table 4 for the tabu search algo- rithm (TABUI). The strategy used for TABUl was the following: during the first iterations, we set ntimes = 1, tope = 10, tll = 5, ulimit = 0.3 and /limit = 0.1, while at the moment where the lower bound increase in the last three iterations is less than 0.5%, the values of some parameters are changed to ntimes = 3,per = 0.2 and tope = 20. These tables show, for each instance, the lower bound, GAP = (upper bound-lower bound)1 001 upper bound, the total number of generated cuts and the CPU times used in the separation (SEP) and by the LP solver (CPLEX).

Table 5 gives a statistical summary of the above results together with those obtained using different strategies in the tabu search algorithm, denoted by

TABU2 and TABU3. TABU2 uses during the whole process the initial set of values described for TABU 1. TABU3 is like TABU 1 but. at each iteration, if no violated constraint is found, the al- gorithm is applied again with values ntimes = 3, per = 0.4, tope = 30, tll = 15, ulimit = 0.45 and llimit = 0.25, and if this fails again, the algorithm is run one more time changing the parameters ntimes = 6 and per = 0.6.

The second test set (denoted ALIB) contains 26 instances with a number of nodes from 32 to 69 and a number of vehicles from 5 to 10. Nodes were randomly generated using a uniform distribution on the square [0, 1001 x [O. 1001, vehicle capacity was fixed to 100 and customer demands were ran- domly generated in the range (1,30). In some in- stances, however, the demands of a 10% of the customers were multiplied by 3. The third set

554 P. Augerut et al. I European Journul qf’ Operutional Research 106 (1998) 546-557

Table 3 Results of the cutting plane using GREEDY

Name L.B. GAP Cuts Iter SEP CPLEX

cmtlO1 eil30 eil33 ei15 1 eilAlO1 eilA76 eilC76 eilD76 fisher135 fisher45 fisher72

819.333 0.08 1470 40 20.37 46.84 508.5 4.78 86 21 0.73 0.80 833.5 0.18 311 21 1.41 I .44 514.524 1.24 408 22 3.72 2.82 195.866 2.59 1381 38 27.37 31.45 787.873 5.53 1526 47 28.59 48.95 709.64 3.45 1256 26 10.87 24.61 660.675 3.83 952 41 19.17 17.55

1156.41 0.74 4310 I 102 114.75 489.96 723.661 0.05 182 27 1.58 2.06 232.5 I .90 183 20 3.51 2.61

Table 4 Results of the cutting plane using TABUI

Name L.B. GAP cuts lter SEP CPLEX

cmtlO1 819.333 0.09 1014 25 14.69 34.46 ei130 508.5 4.78 70 16 0.15 0.58 ei133 833.5 0.18 272 24 1.38 2.15 ei15 1 514.524 I .24 544 21 5.89 3.10 eilAlO1 196.284 2.54 1597 30 89.70 50.75 eilA76 789.344 5.35 2442 47 1 136.51 89.25 eilC76 711.141 3.25 2063 48 98.14 45.35 eilD76 661.299 3.74 1568 47 71.40 25.37 fisher135 1158.02 0.60 2506 33 60.42 232.27 fisher45 724 0.00 156 20 0.76 1.55 fisher72 232.5 1.90 171 13 0.47 2.26

Table 5 Summary results for the LITLIB instances

Name Avg GAP Max GAP Best cuts Iter SEP CPLEX

CONS 2.68 7.29 2 415.82 60.91 11.79 53.44 GREEDY 2.22 5.53 4 1096.82 36.82 21.10 60.83 TABUl 2.15 5.35 5 1127.55 29.45 43.59 44.28 TABUZ 2.24 5.56 3 964.18 26.9 1 15.86 39.94 TABU3 2.14 5.34 10 1146.36 37.45 92.45 47.96

(BLIB) contains 22 instances that were designed to resemble real problems by generating customer lo- cations that are clustered. Other characteristics are similar to those of ALIB. Data for these instances can be obtained by request to the authors. Ta- bles 6 and 7 present a summary of the results ob- tained with these two sets of instances.

From these results we can observe that the best lower bounds are obtained using TABUl and

TABU3, although this last heuristic is more time consuming. GREEDY and TABU2 are very simi- lar, both in the quality of the bound and in CPU time. Finally, CONS obtain bounds which are considerably worse than the other heuristics.

In order to get a more direct comparison, we have used the LP solutions obtained in the last it- eration of the cutting plane algorithms as a test set of solutions to which the identification heuristics

P. Augerat rf al. I European Journal qf Operational Resrarch 106 (1998) 546-557 555

Table 6 Summary results for the ALIB instances

Name Avg GAP Max GAP

CONS 3.13 6.33 GREEDY 2.60 4.99 TABU 1 2.40 4.15 TABU2 2.50 4.98 TABU3 2.31 4.73

Best cuts lter SEP CPLEX

0 405.50 63.11 11.08 20.99 5 905.69 40.27 12.26 27.28

13 923.13 29.38 25.01 24.30 6 838.85 27.31 9.57 22.02

26 950.85 31.54 58.59 28.47

Table 7 Summary results for the BLIB instances

Name Avg GAP Max GAP

CONS 1.73 1.46 GREEDY 1.29 1.22 TABU 1 1.27 7.19 TABU2 1.34 7.19 TABU3 I .26 7.19

Best cuts lter SEP CPLEX

2 290.73 51.32 6.69 14.22 8 820.59 35.55 6.36 18.50

14 749.55 28.86 11.76 17.32 7 654.45 29.50 5.02 16.42

20 144.13 32.59 15.38 18.90

have been applied. Tables 8-10 show the results of this experiment using the LITLIB instances. Entry (Z,J) in Table 8 shows the average number of cuts found by heuristic J when applied to the last LP solution generated by the cutting plane algorithm that uses the identification heuristic I. Similarly, Tables 9 and 10 give the average maximum slack of those cuts and the average CPU time, respec- tively. These results confirm the above remarks

and show that TABUl and TABU3 are able to find a good number of constraints violated by a substantial slack by the LP solutions generated with the other heuristics.

The strategy finally used to separate capacity constraints in the Branch and Cut procedure de- scribed in [6], was to combine the greedy random- ized heuristic and a former version of tabu3: tabu3 was called only in those iterations where the

Table 8 Average number of cuts

CONS GREEDY TABUl TABU2 TABU3

CONS - 11.73 96.16 29.45 96.16 GREEDY 1.82 24.09 5.21 24.09 TABU 1 0.09 0.91 0.00 3.36 TABU2 0.73 3.91 16.64 _ 16.64 TABU3 0.27 0.00 0.00 0.00 _

Table 9 Average maximum slack of cuts

CONS GREEDY TABUI TABUZ TABU3

CONS _ 0.61 0.89 0.86 0.89 GREEDY 0.12 _ 0.26 0.16 0.32 TABUl 0.00 0.04 _ 0.00 0.07 TABU2 0.13 0.27 0.39 - 0.41 TABU3 0.00 0.00 0.00 0.00

556

Table 10 Average CPU time

P. Augerat et al. I European Journal oJ’ Operutional Research 106 (1998) 546-557

CONS GREEDY TABUl TABUZ TABU3

CONS 0.40 2.30 0.48 2.35 GREEDY 0.67 - 1.97 0.43 2.18 TABUl 0.61 0.56 - 0.39 4.55 TABUZ 0.46 0.54 1.60 - 1.78 TABU3 0.63 0.53 1.58 0.37 -

greedy randomized heuristic failed to find a violat- ed inequality.

Once more, we observe that our tabu search ap- proach has been purposely restricted to use only a limited type of recency based memory, with a stat- ic and attribute-invariant tabu tenure. The promis- ing outcomes produced by two variants of such simple approach indicate that the tabu search metaheuristic indeed has attractive potential for solving separation problems. Our findings moti- vate future studies that incorporate additional tabu search features, including longer term strate- gies, to solve separation problems in this and other problem settings.

Acknowledgements

We thank the comments of two anonymous ref- erees that have improved the readability of the pa- per. This work was partially financed by the EC Science Program SC 1 -CT91 -620 and by the project CE92-0007 of the Spanish Ministerio de Ed- ucacion y Ciencia.

References

PI

PI

[31

L. Bodin. B. Golden, A. Assad, M. Ball, Routing and scheduling of vehicles and crews: the state of the art. Computers and Operations Research 10 (1983) 69-2 11. N. Christofides, Vehicle routing, in: E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys (Eds.), The Traveling Salesman Problem: A Guided Tour of Combi- natorial Optimization, Wiley, Chichester, UK, 1985, pp. 431448. T.L. Magnanti, Combinatorial optimization and vehicle fleet planning: Perspectives and prospects, Networks 11 (1981) 179-213.

PI

151

Fl

171

PI

[91

[lOI

u 11

WI

u31

[I41

[I51

[I61

[I71

IlSl

u91

I.H. Osman, Vehicle routing and scheduling: applications. algorithms and developments, Technical report, Institute of Mathematics and Statistics, University of Canterbury, 1993. M. Fisher, Vehicle routing, in: M.O. Ball, T.L. Magnanti, C.L. Monma, G.L. Nemhauser (Eds.), Network Routing, North-Holland, Amsterdam, 1995, pp. l-33. P. Augerat, J.M. Belenguer, E. Benavent, A. Corberan. D. Naddef. G. Rinaldi, Computational results with a branch and cut code for the capacitated vehicle routing problem, Research Report RR949M. ARTEMIS-IMAG. Grenoble, 1995 (submitted to Operations Research). T.K. Ralphs. Parallel Branch and Cut for the Vehicle Routing, Ph.D. Thesis. Cornell University. Operations Research, 1995. D. Naddef, S. Thienel, Experiments with a branch and cut code to solve large TSP instances. Manuscript, 1997. F. Glover. Tabu search-Part 1, ORSA Journal of Com- puting 1 (1989) 190-206. F. Glover. Tabu search-Part II. ORSA Journal of Com- puting 2 (1990) 432. E. Taillard. F. Glover, D. De Werra. A user’s guide to tabu search, Annals of Operations Research 41 (1993) 3-28. D. Naddef, S. Thienel. Separation heuristics for the Traveling Salesman Problem I: generalities and comb separation, 1997 (in preparation). D. Naddef, S. Thienel, Separation heuristics for the Traveling Salesman Problem II: multi handle structures, 1997 (in preparation). F. Harche, G. Rinaldi. Vehicle routing, 1991 (Private communication). G. Laporte. Y. Nobert, M. Desrochers, Optimal routing under capacity and distance restrictions. Operations Re- search 33 (1985) 105881073. J.R. Araque. G. Kudva, T.L. Morin, J.F. Pekny, A branch-and-cut for vehicle routing problems, Annals of Operations Research 50 (1994) 37-59. G. Cornuejols, F. Harche, Polyhedral study of the capacitated vehicle routing, Mathematical Programming 60 (1993) 21-52. M.W. Padberg, G. Rinaldi. A branch and cut algorithm for the resolution of large-scale symmetric traveling salesman problems, SIAM Review 33 (1991) 60-100. G. Reinelt. M. Junger, S. Thienel, Practical problem solving with cutting plane algorithms in combinatoridJ

P. Augerat et al. I European Journul of Oprrational Rwxmh 106 (1998) 546k.557 551

optimization. DIMACS Series in Discrete Math. and Theoretical Comp. Sci. 20 (1995) 1 I l-152.

[2O] N. Christofides, A. Mingozzi, P. Toth, The vehicle routing problem. in: N. Christofides. A. Mingozzi, P Toth. C. Sandi (Eds.). Combinatorial Optimization, Wiley, Chich- ester. UK. 1979. 318-338.

[21] N. Christofides. S. Eilon. An algorithm for the vehicle dispatching problem. Operations Research Quarterly 20 (I 969) 30993 18.

[23] G. Reinelt. TSPLIB: A traveling salesman problem library, ORSA Journal of Computing 3 (1991) 376384.

[24] V. Campos. E. Mota, Data driven heuristics for the capacitated vehicle routing problem. Technical Report March 1996, Dept. Bstadistica e Inv. Operativa. Univ- ersitat de Valencia. 1996.

[2_5] CPLEX Optimization Inc.. CPLEX, ver. 3.0. 1994.

[22] M. Fisher. Optimal solution of vehicle routing problems using minimum K-Trees, Operations Research 42 (4) ( 1994) 626.-642.