The capacitated arc routing problem with refill points

9
Operations Research Letters 35 (2007) 45 – 53 Operations Research Letters www.elsevier.com/locate/orl The capacitated arc routing problem with refill points Alberto Amaya, André Langevin , Martin Trépanier CRT, GERAD, and Department of Mathematics and Industrial Engineering, École Polytechnique de Montréal, C.P. 6079, Succ. Centre-ville, Montréal, Qué., Canada H3C 3A7 Received 16 December 2004; accepted 15 December 2005 Available online 28 February 2006 Abstract This article introduces the capacitated arc routing problem with refill points (CARP–RP). The vehicle servicing arcs must be refilled on the spot by using a second vehicle. The problem consists on simultaneously determining the vehicles routes that minimize the total cost. An integer linear programming model is proposed and tested. © 2006 Elsevier B.V. All rights reserved. Keywords: Multi-trip rural postman problem; Capacitated arc routing problem; Replenishment points; Integer linear model; Road marking 1. Introduction The aim of this paper is to introduce the capacitated arc routing problem with refill points (CARP–RP). A practical application of this problem can be found in road network maintenance where the road markings have to be painted or repainted every year, as is the case in the Province of Quebec, Canada. The Quebec Ministry of Transport (MTQ) uses a fleet of special vehicles to mark the roads and also tank trucks to meet the marking vehicle and replenish them. There are special operational conditions that force the tank truck to return to the depot each time it meets the marking vehicle. Corresponding author. Tel.: +1 514 340 4711x4511; fax: +1 514 340 4463. E-mail addresses: [email protected] (A. Amaya), [email protected] (A. Langevin), [email protected] (M. Trépanier). 0167-6377/$ - see front matter © 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.orl.2005.12.009 The CARP–RP is a variant of the capacitated arc routing problem (CARP) introduced by Golden and Wong [10]. In the classical CARP (or multi-trip rural postman problem), a set of minimal cost routes for a vehicle of finite capacity is looked for. The vehicle, usually a fleet of identical vehicles, is based at a de- pot and each trip starts and ends there. A fleet must service a subset of required edges, on a connected and (usually) undirected graph, and collect (or deliver) the associated quantities, without exceeding the capacity, see for example Dror [4] for a detailed exposure. Different mathematical formulations have been pro- posed for the CARP [1,5,10], all of them for the undi- rected case. The problem we deal with is, however, characterized by the fact that the road network must be modeled as a mixed graph. In the process of marking the roads, the central line and lane separators must be painted. For the first one, we can traverse the road in any direction, but in the second case it must be done in

Transcript of The capacitated arc routing problem with refill points

Page 1: The capacitated arc routing problem with refill points

Operations Research Letters 35 (2007) 45–53

OperationsResearchLetters

www.elsevier.com/locate/orl

The capacitated arc routing problem with refill pointsAlberto Amaya, André Langevin∗, Martin Trépanier

CRT, GERAD, and Department of Mathematics and Industrial Engineering, École Polytechnique de Montréal, C.P. 6079,Succ. Centre-ville, Montréal, Qué., Canada H3C 3A7

Received 16 December 2004; accepted 15 December 2005Available online 28 February 2006

Abstract

This article introduces the capacitated arc routing problem with refill points (CARP–RP). The vehicle servicing arcs mustbe refilled on the spot by using a second vehicle. The problem consists on simultaneously determining the vehicles routesthat minimize the total cost. An integer linear programming model is proposed and tested.© 2006 Elsevier B.V. All rights reserved.

Keywords: Multi-trip rural postman problem; Capacitated arc routing problem; Replenishment points; Integer linear model; Road marking

1. Introduction

The aim of this paper is to introduce the capacitatedarc routing problem with refill points (CARP–RP). Apractical application of this problem can be found inroad network maintenance where the road markingshave to be painted or repainted every year, as is thecase in the Province of Quebec, Canada. The QuebecMinistry of Transport (MTQ) uses a fleet of specialvehicles to mark the roads and also tank trucks tomeet the marking vehicle and replenish them. Thereare special operational conditions that force the tanktruck to return to the depot each time it meets themarking vehicle.

∗ Corresponding author. Tel.: +1 514 340 4711x4511;fax: +1 514 340 4463.

E-mail addresses: [email protected](A. Amaya), [email protected] (A. Langevin),[email protected] (M. Trépanier).

0167-6377/$ - see front matter © 2006 Elsevier B.V. All rights reserved.doi:10.1016/j.orl.2005.12.009

The CARP–RP is a variant of the capacitated arcrouting problem (CARP) introduced by Golden andWong [10]. In the classical CARP (or multi-trip ruralpostman problem), a set of minimal cost routes for avehicle of finite capacity is looked for. The vehicle,usually a fleet of identical vehicles, is based at a de-pot and each trip starts and ends there. A fleet mustservice a subset of required edges, on a connected and(usually) undirected graph, and collect (or deliver) theassociated quantities, without exceeding the capacity,see for example Dror [4] for a detailed exposure.

Different mathematical formulations have been pro-posed for the CARP [1,5,10], all of them for the undi-rected case. The problem we deal with is, however,characterized by the fact that the road network must bemodeled as a mixed graph. In the process of markingthe roads, the central line and lane separators must bepainted. For the first one, we can traverse the road inany direction, but in the second case it must be done in

Page 2: The capacitated arc routing problem with refill points

46 A. Amaya et al. / Operations Research Letters 35 (2007) 45–53

the same direction as the road lane. Thus, the problemto solve is on a mixed graph.

In the CARP–RP, we deal with two different typesof vehicles: the first type is used to service the arcsand the other to replenish the first type of vehicle. Thevehicle of the first type (called servicing vehicle—SV),which has a finite capacity, and the vehicle of thesecond type (called refilling vehicle—RV) can meet atany place in order for the first one to be refilled andto continue its service.

The CARP–RP can be viewed as a location arcrouting problem (LARP) because in addition totraversing edges or arcs, the refill points must also belocated on the graph. Many articles have been writtenon pure arc routing problems (ARP) but relativelyfew studies address location decisions. Ghiani andLaporte [9] present the LARPs as extensions of oneof three classical ARPs: the Chinese postman prob-lem (CPP), the rural postman problem (RPP), and theCARP. In most cases, the LARPs are solved usingheuristics that use a decomposition of the probleminto its main components: facility location (L), allo-cation of vertices to vehicle routes (A), and routing(R). For example, Levy and Bodin [13] in a mail de-livery context use the following method: first locatefacilities, then allocate users, and finally define theroutes (an L–A–R scheme). There are also R–A–Lschemes such as the one used by Ghiani et al. [6]where they introduce a variant of the classical CARPin which the vehicle, starting from depot, traversesedges to collect demands, but instead of returning tothe depot when filled up, visits intermediate facil-ities to unload. They present two heuristics. In thefirst approach, an R–A–L scheme, an RPP solutionis first determined, then demands are reintroducedand the intermediate facilities are inserted by meansof a shortest path algorithm and finally the route issplit into several routes separated by facilities. In thesecond approach, an R–A–L scheme, similar to Lotanet al. [14], a CARP solution is found in a first step andthen facilities are added in order to make it feasible forthe LARP.

An exact approach for the LARP is found in Ghianiand Laporte [7], where they investigate an undirectedlocation rural postman problem in which the aim isto determine a set of depots among a set of potentialones, and a route for each depot in such a way that thetotal cost is minimized. The problem is reduced to a

RPP if there are no bounds on the number of depotsto be opened or to a RPP relaxation otherwise. Theproblem was solved applying the exact branch-and-cutprocedure developed by Ghiani and Laporte [8] for theundirected RPP. Note that in the previous mentionedproblems, there is only “one type” of vehicle. The costdepends on the arcs traversed by this (these) vehicle(s).In contrast, the CARP–RP utilises two different typesof vehicles, and the total cost depends on the arcstraversed by them.

The CARP–RP is NP-hard since it reduces to theRPP, another NP-hard problem, when the capacity ofSV is infinite. Moreover, the CARP–RP correspondsto the CARP when the costs incurred by the RV ontraversing arcs are greater than the SV costs, since itis then always better for the SV to return to the depotto be replenished.

This paper presents an integer linear programmingmodel for the CARP–RP and a cutting plane methodto solve it.

The paper is organized as follows. Section 2presents the mathematical formulation for theCARP–RP. Computational results are presented inSection 3 and the conclusions follow in Section 4.

2. Mathematical formulation

The CARP–RP is defined on a mixed graph G1 =(N; A1 ∪ E), where N = {n1, . . . , n|N |} is a set ofnodes, including a depot ndepot, A1 is a set of directedarcs {aij |aij = (ni, nj ) and i �= j}, including a subsetR1 of required arcs, and E is a set of edges {eij |eij =(ni, nj ) and i �= j}, including a subset R2 of requirededges. Each arc of R1 and each edge of R2 must beserviced once but they can be traversed several times.With each arc (or edge) a are associated two traversalnonnegative cost:

ca: cost incurred by the SV on traversing an arc a ∈A, (ca �0),

ba: cost incurred by the RV on traversing an arc a ∈A, (ba �0)

and a nonnegative demand qa. If a /∈ R1 ∪ R2, thenqa = 0.

The objective is to determine simultaneously the ve-hicle route (ni1 = ndepot, ni2, . . . , nit = ndepot) for theSV and the circuits (ni1 = ndepot, . . . , nij , . . . , nik =

Page 3: The capacitated arc routing problem with refill points

A. Amaya et al. / Operations Research Letters 35 (2007) 45–53 47

ndepot) for the RV that minimize the total costswhile the total demand of any SV path between twoconsecutives refill points does not exceed the SVcapacity.

We have used a sparse formulation (i.e., the numberof variables is proportional to the number of arcs andedges for each refill, see Eglese et al. [5]). The initialgraph G1 is transformed by replacing each edge bytwo arcs, with same costs as the edge has. All sucharcs are included into A1 to yield an extended arc setA. Constraints in the model ensure that one of the twoarcs is serviced. Similarly, if an edge is required, thenthe two arcs generated are included in R1 to yield R.At the end of this transformation we have a directedgraph. Over this transformed graph we have added twosets of dummy arcs, which is described in the nextpart of this section.

2.1. Graph construction

To deal with the problem, construct an auxil-iary directed graph H = (N, L = (A ∪ B ∪ C)),where A = {a1, . . . , a|A1|+2∗|E|} is the set ofarcs after each edge was coded as two oppo-site arcs. In this case, we have |R| = |R1| +2|R2|, where R ⊆ A is the set of required arcs.B = {a|A1|+2|E|+1, . . . , a|A1|+2|E|+|N ||a|A1|+2|E|+i =(ni, ndepot)} the set of “artificial arcs” connectingeach node n ∈ N to the depot node. And define ca

and qa , ∀a ∈ B, as follows:

ca = the shortest path cost of a round trip of the RV,from the depot to the corresponding node ni of N,computed with the costs ba ,

qa =0.C = {a|A1| + 2|E| + |N | + 1, . . . , a|A1| + 2∗|E| + 2|N ||

a|A1|+2|E|+|N |+i = (ndepot, ni) :} the set of “artificialarcs” connecting the depot with each node n ∈ N .With ca = 0 and qi = 0, ∀a ∈ C.

Fig. 1 illustrates the auxiliary graph constructedfrom the original graph. Note that H is not necessarilya simple graph.

We also define the following:

O(n) ⊆ L: the set of arcs leaving node n, n ∈ N .I(n) ⊆ L: the set of arcs entering node n, n ∈ N .N(S) ⊆ N : set of incidents nodes of the arcs of a sub-

set S ⊆ L.

Required Not-required a in Ba in C

(a) (b)

Fig. 1. Graph transformation. (a) Original graph, (G1), with di-rected and undirected links, and required links and (b) auxiliarydirected graph (H).

I(N(S)) or reduced I(S) = {a/a ∈ ⋃n∈N(S)I (n) but

a /∈ S}: the set of arcs entering the set S ⊆ L.ArtB(n) = B ∩ O(n): arc of B leaving from node n.ArtC(n) = C ∩ I (n): arc of C entering to node n.Q: the capacity of SV.V: the number of times the SV will be refilled

(including the first filling at the depot). Inthis paper, we limit this number by a positiveinteger.

And finally let:

Opp(a) = the index of the opposite arc. If two arcsa and b represent the same edge, then Opp(a) = b

and Opp(b) = a. If a is a genuine arc (a ∈ A1),then Opp(a) = 0.

W(H) ={S ⊆ A/ndepot /∈ N(S), S ∩ R �= ∅, H ′′ =(N(S), S) is strongly connected}: the set of arcsthat induce strongly connected sub-graphs H ′′.

Note that the depot node is designed as ndepot or simplydepot.

2.2. Decisional variables

Let xva be the number of times arc a ∈ L = (A ∪B ∪C) is traversed after refill v and before refill v +1and yva = 1 if arc a ∈ R is serviced after refill v andbefore refill v + 1; 0 otherwise.

We assume that vehicle starts at the depot with fullcapacity and this is the first refill.

The variables y need to be defined only for therequired arcs. The total number of variables is thenV ∗ (|A| + 2 ∗ |N | + |R|).

Page 4: The capacitated arc routing problem with refill points

48 A. Amaya et al. / Operations Research Letters 35 (2007) 45–53

2.3. Formulation

Minimize:∑

v=1,...,V

∑a∈L

caxva (1)

Subject to:

∀v = 1, . . . , V ,∀n ∈ N :∑

a∈I (n)

xva −∑

a∈O(n)

xva = 0,

(2)

∀a ∈ R, Opp(a) = 0 :∑

v=1,...,V

yva = 1, (3)

∀a ∈ R, Opp(a) > 0 :∑

v=1,...,V

(yva + yv,Opp(a)

)

= 1, (4)

∀v = 1, . . . , V ,∀a ∈ R : xva > = yva , (5)

∀v = 1, . . . , V :∑a∈B

xva = 1, (6)

∀v = 1, . . . , V :∑a∈C

xva = 1, (7)

∀v = 1, . . . , V :∑a∈R

qayva �Q, (8)

∀v = 2, . . . , V ,∀n ∈ N : xv,ArtC(n) = xv−1,ArtB(n),

(9)

x1,ArtC(depot)

= xV,ArtB(depot) = 1,

(10)

∀S ∈ W(H),

v = 1, . . . , V ; b ∈ S :∑

a∈I (S)

xva �(xvb/M), (11)

∀v = 1, . . . , V : yva ∈ {0, 1}∀a ∈ R;

xva ∈ Z∀a ∈ A;

xva ∈ {0, 1}∀a ∈ B ∪ C.

(12)

In this problem, we have three main costs, the cost in-curred by the SV on servicing required arcs, the cost(distance) incurred by the SV on traversing arcs, andthe cost incurred by the RV on traversing arcs of thegraph. The first cost does not have any role in solvingthe CARP–RP as it is a constant because all required

arc must be serviced (constraints (3) and (4)). The ob-jective function (1) represents the total cost incurredby the SV and RV for traversing arcs. Note that the to-tal distance covered by the RV is obtained by summingthe ca(a ∈ B) of the arcs used (for both servicing andtraversal) in the optimal solution. The first set of con-straints (2) is the classic flow conservation constraintsfor network flow formulations. The set of constraints(5) ensure that an arc serviced is necessarily traversed.The set of constraints (6) and (7) requires that onlyone artificial arc must be traversed on each refill. Theset (8) defines the SV autonomy constraints. The set ofconstraints (9) requires that tour k begins, where tour(k − 1) finishes. The set of constraint (10) forces tobegin and finish the SV tour at the depot. Constraints(11) are the connectivity constraints. M is a numberequal to or greater than the maximum number of timesan arc will be traversed. If an arc in S is traversed,at least one entering arc to set S must be traversed.The connectivity constraints could be strengthenedby substituting the right-hand side “xvb/M” by “yvb”∀b ∈ S ∩ R. However, this substitution is not usablein the strategy of solution we implemented. Finally,constraints (12) define the variables.

Note that we cannot transform the graph as pro-posed by Christofides et al. [3] who worked on a trans-formed graph, where only the vertices in VR (the setof the end vertices of the edges in R) appeared. Suchtransformed graph is constructed by adding an edgebetween every pair of vertices of VR and associating toit a cost equal to the shortest path in the initial graph.By deleting vertices (arcs in our case), we remove thepossibility of refill at a node other than those of therequired arcs.

When the arc traversing costs are equal for the SVand the RV (ca =ba, a ∈ A) the total optimal cost ob-tained in the solution for the CARP–RP is also an op-timal cost for the equivalent CARP (or multi-trip ruralpostman problem). This is because it is equivalent interms of cost that when the SV becomes empty, it trav-els to the depot, gets replenished and returns, or thatthe RV exits from the depot, meets the SV and returns.

3. Computational experiments

In a real problem, like that of marking roads, wedeal with a large network. As the CARP–RP is NP-hard, only small problems (not real problems) can be

Page 5: The capacitated arc routing problem with refill points

A. Amaya et al. / Operations Research Letters 35 (2007) 45–53 49

solved to optimality. In this paper, we present a newproblem and are mainly interested in the formulation,so we have used to test the formulation a classicalcutting plane approach similar to that of Lacommeet al. [12]. This method is easy to implement. Moreefficient (and complex) methods like branch-and-cut could be used but with a longer implementationtime.

Basic procedure: The cutting plane approach con-sists in omitting the connectivity constraints of theoriginal problem (P), since not all connectivity in-equalities are active in the optimal solution, and try-ing to solve this new problem (P′). By means of aniterative process, the constraint set of P′ is updated byadding the violated constraints of P in the optimal so-lution of P′. The process goes on until the optimumfound for P′ is feasible for P. A cutting plane algo-rithm is expected to reach the optimal solution usingonly a partial description of P. However, in the worstcase, it can perform a very large number of iterationsas there are an exponential number of connectivityconstraints.

In this kind of problems, as a lot of sub-tours canexist, a large number of connectivity constraints mustbe added before an optimal solution can be found. Toobtain lower and upper bounds quickly, a strategy intwo phases described next was implemented.

Phase 1: Finding connectivity constraints (sub-tours).

The number of the branch-and-bound nodes is lim-ited to 5000 for each iteration of the basic procedure(i.e., solving P′). At this phase, a lower bound is foundif the iteration finishes before visiting the 5000 nodes.Of course, if it is feasible for the original problem, anoptimum solution would be found. An upper bound isfound at the end of the iteration (after 5000 nodes),the solution is found feasible for the original problem.

Phase 2: Finding an upper bound.In the basic procedure, after each iteration we add

the violated constraints. This means that separatedconnected components that do not include the depotare identified and added as connectivity constraints.In this phase, we added only the components that in-clude the depot. This process permits to find a solu-tion (not necessarily the optimal solution) in a fewiterations. Of course, if the solution found with thismethod is equal to a known lower bound, the solutionis optimal.

8

93

22

3

1

Fig. 2. Numerical example.

To explain why we cannot guaranty the optimality,consider a graph with three components {C1, C2, C3}.Suppose the optimal solution is to service the C1 com-ponent, which includes the depot, with the first refilland the others with the second refill. Now, suppose wehave an intermediate solution with C1 and C3 with thefirst refill and C2 with the second refill. Suppose theintermediate solution is not valid because C1 and C3are disconnected (connectivity constraint violation). Ifwe add the violated constraint corresponding to thecomponent that includes the depot (component C1),we eliminate the optimal solution.

The model and routine that identify separated con-nected components were programmed using OPL stu-dio 3.6 running with Cplex 8.0 on a 700 MHz Pentium3 PC.

3.1. A numerical example

We first illustrate the problem with a numerical ex-ample.

Consider the graph in Fig. 2.Let ca =ba =qa correspond to the number near each

arch in Fig. 2. In this example, all arcs are required(R=A), the capacity of SV is 15. As the total requiredlength is 41, we can set V as 3. Node 1 is the depot.Using Dijkstra’s algorithm we can find the associatedcosts of the set B: {ca∈B}= {c1,1 = 0, c2,1 = 13, c3,1 =24, c4,1 = 23, c5,1 = 13}.

Page 6: The capacitated arc routing problem with refill points

50 A. Amaya et al. / Operations Research Letters 35 (2007) 45–53

Using the basic procedure mentioned earlier, theoptimal solution found is

{(1, 2), (2, 4), (4, 5),∗rf∗, (5, 2), (2, 3),

(3, 4)(4, 5), (5, 1),∗rf∗, (1, 2), (2, 5), (5, 1)}.The underlined arcs are traversed but not serviced.The symbol *rf* represents a refill node. So the SV isinitially replenished at node 1 (depot), then at node 5and again at the depot. The total cost = 66 (traversalcost of SV = 53, traversal cost of RV = c5,1 = 13).

At the first iteration, the solution of the problem(without any connectivity constraints) was not fea-sible. Adding the violated connectivity constraint al-lowed us to find the solution depicted here.

Note that in this problem, the tour done by SV is notan optimal postman tour. The optimal postman tourcost would be 46, for example:

(1, 2), (2, 4), (4, 5), (5, 2), (2, 3),

(3, 4)(4, 5)(5, 2)(2, 5), (5, 1).

In this case, the RV must be refilled at nodes 4 and 5with a cost of 36, giving a total cost of 82, which isgreater than the optimal cost already found. And it isthe same for all optimal postman tours. So this prob-lem cannot be solved optimally by finding all post-man tours and finding the one that minimizes the RVtraversing cost.

3.2. Computational results

In order to test the model we used two sets of prob-lems. In the first set of problems, we are interested inoriented networks. In Quebec, for road marking, thecentral line and the side line can be painted at the sametime, and it must be done in the same direction as theflow of traffic, so an appropriate representation of theroad network is a directed graph.

We generated different types of problems using aprocedure similar to that of Hertz et al. [11], all ofthem on a directed graph.

• We generated randomly the graphs with three dif-ferent types of intervals for the number of nodes([20, 30], [40, 50], and [60, 70]). The node coordi-nates were generated in the [0, 300]2 square, usinga uniform random distribution.

• We generated two types of intervals for the numberof arcs between [2.5, 4.5] and [6.5, 8.5] times thenumber of nodes. Each arc of a random Hamilto-nian tour was added to ensure the graph connectiv-ity. The prescribed number of arcs was completedby randomly generating the two incident vertices,without repeating arcs.

• The arc demands were generated using a uniformrandom number between [1, 40].

• The proportion of required arcs (card(R)) was gener-ated using a uniform random number between [70%,90%], and were designated randomly.

• The cost of traversing arcs (ca) was set as the lengthof each arc (Euclidean distance between tail andhead nodes), rounded to the nearest integer.

• The cost of traversing arcs incurred by the RV (ba)

was set as a fraction of ca using a random uniformnumber between [0.7, 0.9], rounded to the nearestinteger.

• The capacity of each SV was set in order to havethree, four and five replenishments for each set ofproblems.

For each parameter combination (type of numberof nodes, type of number or arcs, type of capac-ity) we generated 10 problems, so combining allparameters gives 180 instances. These instancescontain between 20 and 70 nodes, between 50 and595 arcs, and between 70% and 90% of requirededges.

For this set of problems, we used only the Phase 2,described earlier. The computational results arepresented in Table 1. The column headings are asfollows:

N number of nodesA number of arcsRF number of refillstime, av. iter average time in each iteration (in

seconds)time, av. tot average total time of procedure (in

seconds)time, max tot maximum time to find an optimal

solutioniterations, av average number of iterations to

find the optimal solutioniteration, max maximum number of iterations to

find an optimal solution

Page 7: The capacitated arc routing problem with refill points

A. Amaya et al. / Operations Research Letters 35 (2007) 45–53 51

Table 1Numerical results for the randomly generated problems

N A/N RF Time Iterations # opts Max gap (%)

Av. iter. Av. tot Max tot Av. Max

[20, 30] [2.5, 4.5] 3 1.4 2.3 2.2 1.5 4 9 1.74 3.1 12.9 7.7 3.9 10 7 2.95 6.7 51.0 20.0 6.8 11 7 4.0

[6.5, 8.5] 3 5.5 5.5 11.1 1.0 1 10 0.04 16.5 27.9 41.1 1.9 4 9 0.15 35.8 84.1 92.5 2.7 5 9 0.4

[40, 50] [2.5, 4.5] 3 2.6 4.7 5.7 1.7 3 9 0.94 7.6 37.3 26.8 6.1 25 7 1.85 16.6 299.6 34.9 20.2 106 4 2.8

[6.5, 8.5] 3 13.7 16.3 75.3 1.6 4 10 0.04 37.1 47.7 101.3 1.3 3 10 0.05 70.0 155.5 137.4 2.2 4 9 0.1

[60, 70] [2.5, 4.5] 3 5.6 11.8 12.1 2.1 7 9 1.44 11.6 39.1 49.4 3.4 7 8 2.25 34.4 232.2 78.0 9.1 35 7 3.1

[6.5, 8.5] 3 25.9 25.9 73.4 1.0 1 10 0.04 115.8 123.2 196.8 1.1 2 10 0.05 165.3 334.0 308.3 2.2 7 10 0.0

#opts the number of problems (out of 10)were the solution was proved optimal.

max gap maximum difference between the up-per and lower bounds (in percentage).

The computational results on these randomly gen-erated problems indicate that the proposed approachcan be used to solve to optimality small size prob-lems. The instances solved contain between 20 and 70nodes and between 50 and 595 arcs. For larger prob-lems computation times become rather large.

To further test the formulation, a second set of prob-lem instances was used. They were generated from theclassical instances for the CARP introduced by Be-navent et al. [2]; these are undirected CARP instanceswhich give the servicing and the traversing costs foreach arc and specify the node corresponding to thedepot and the vehicles capacity. We transformed theminto mixed CARP–RP instances with the same orderof edges as in http://www.uv.es/∼belengue/carp.html:

• edge no. i is transformed into a directed arc, if(i mod 4) = 1

• edge no. i is set as not required, if (i mod 4)=0, allother edges and arcs are required

• ba is set as the length• ca is set as the weight

The Benavent et al. set contains 34 instances which aredefined on 10 different graphs. For each graph X, sev-eral instances were generated (denoted by X.A, X.B,etc.) by changing the capacity of the vehicles. We usedthe X.A and X.B sets as they correspond to problemswith at most five refills. We did not test our methodol-ogy for problems with more than five refills becausethe solution time exploded. The resulting problem sets(transformed in mixed graph as explained before andthen converted into a completely directed graph as ex-plained in Section 2.1) have between 107 and 269 arcsand between 24 and 50 nodes.

Using the basic procedure, described earlier, andlimiting the number of iterations (an iteration consistsin solving the formulation and adding the correspond-ing connectivity constraints) to 20, we were able tosolve six problems to optimality. Those problems areshown in bold in Table 2.

When using only the basic procedure, we noticedthat in most cases the solver spends most of the so-lution time proving optimality. And in the case wherethere are no feasible solution for the original problem,

Page 8: The capacitated arc routing problem with refill points

52 A. Amaya et al. / Operations Research Letters 35 (2007) 45–53

Table 2Numerical results for the Benavent set of problems

Instance N L NR LB UB Phase 1 Phase 2

Cuts Iter. Time Cuts Iter. Time

tra1A 24 116 2 405 405 22 6 7 – – –tra1B 24 116 3 405 405 39 7 21 – – –tra2A 24 107 2 385 385 90 15 46 – – –tra2B 24 107 3 370 390 138 18 181 – – –tra3A 24 109 2 164 164 110 14 51 – – –tra3B 24 109 3 166 166 138 19 140 – – –tra4A 41 202 3 618 640 243 20 300 7 4 129tra4B 41 202 4 618 690 388 20 752 66 33 1845tra5A 34 181 3 618 622 147 20 132 2 2 194tra5B 34 181 4 618 658 280 20 656 40 21 893tra6A 31 149 3 483 483 60 11 52 – – –tra6B 31 149 4 477 499 260 17 631 – – –tra7A 40 195 3 634 636 183 13 340 – – –tra7B 40 195 4 634 659 338 20 1145 33 16 1101tra8A 30 170 3 535 549 135 20 177 11 7 94tra8B 30 170 4 535 566 284 20 634 35 20 985tra9A 50 261 3 675 681 186 20 182 7 6 48tra9B 50 261 4 675 749 368 20 811 7 9 1048tra10A 50 269 3 670 689 261 20 529 120 64 3310tra10B 50 269 4 670 732 564 20 1186 196 77 6804

and in consequence we would need another iteration,we have to wait some time to discover it. So in this setof problems we used Phase 1 and if no solution wasfound after 20 iterations, we continued with Phase 2.In Phase 1, most of the times, between 1 and 3 connec-tivity constraints per refill were added so, in average13 connectivity constraints per iteration.

Computational results are presented in Table 2. Thistable presents for each instance: the number of nodes(N), the number of links after transformation (L), thenumber of refills (NR), the best lower bound found foreach instance (LB), the upper bound (UB), the numberof connectivity constraints added (cuts) at each phase,the number of iterations (iter) at each phase and theCPU time.

The Benavent problems are harder to solve. Theproblems are on mixed graphs with a lot of edges, thusa large number of cycles can be found. That is differ-ent from the first set of randomly generated problemswhere the graphs are directed and there are few cir-cuits. Real problems would probably contain a lot ofcircuits separated from the depot as each segment roadwill be substituted by two opposite arcs (which is notthe case with the first set of problems).

Acknowledgment

This work was supported in part by the NationalScience and Engineering Research Council of Canadaand by the Fonds québécois de la recherche sur lanature et les technologies.

References

[1] J.M. Belenguer, E. Benavent, The capacitated arc routingproblem: valid inequalities and facets, Comput. Optim. Appl.10 (2) (1998) 165–187.

[2] E. Benavent, V. Campos, A. Corberán, E. Mota, Thecapacitated arc routing problem. Lower bounds, Networks 22(1992) 669–690.

[3] N. Christofides, V. Campos, A. Corberán, E. Mota. Analgorithm for the rural postman problem, Imperial CollegeReport IC.O.R.81.5, 1981.

[4] M. Dror, Arc Routing: Theory Solutions and Applications,Kluwer Academic Publishers, Boston, 2000.

[5] R. Eglese, A. Letchford, Polyhedral theory for arc routingproblems, in: M. Dror (Ed.), Arc Routing: Theory Solutionsand Applications, Kluwer Academic Publishers, Dordrecht,2000, pp. 199–226.

[6] G. Ghiani, G. Improta, G. Laporte, The capacitated arc routingproblem with intermediate facilities, Networks 37 (2001)134–143.

Page 9: The capacitated arc routing problem with refill points

A. Amaya et al. / Operations Research Letters 35 (2007) 45–53 53

[7] G. Ghiani, G. Laporte, Eulerian location problems, Networks34 (1999) 291–302.

[8] G. Ghiani, G. Laporte, A branch-and-cut algorithm for theundirected rural postman problem, Math. Programming 87(2000) 467–481.

[9] G. Ghiani, G. Laporte, Location-arc routing problems, Oper.Res. 38 (2001) 151–159.

[10] B.L. Golden, R.T. Wong, Capacitated arc routing problem,Networks 11 (1981) 305–315.

[11] A. Hertz, G. Laporte, M. Mittaz, A tabu search heuristic forthe capacitated arc routing problem, Oper. Res. 48 (2000)129–135.

[12] P. Lacomme, C. Prins, W. Ramdane-Chérif. General arcrouting problems solved by a cutting plane algorithmand a genetic algorithm, IFAC’2002, 15th Triennial WorldCongress of the International Federation of AutomaticControl, Barcelona, 2002.

[13] L. Levy, L.D. Bodin, The arc oriented location routingproblem, INFOR, Canad. J. Oper. Res. Information Process.27 (1) (1989) 74–94.

[14] T. Lotan, D. Cattrysse, D. Van Oudheusden, Winter grittingin the province of Antwerp: a combined location and routingproblem, JORBEL 36 (2–3) (1996) 141–157.