The Undirected Capacitated General Routing Problem with Profits

The Undirected Capacitated General Routing Problem with Profits

ARTICLE IN PRESS JID: EOR [m5G;August 12, 2016;12:34] European Journal of Operational Research 0 0 0 (2016) 1–12 Contents lists available at Scien...

1MB Sizes 2 Downloads 147 Views

ARTICLE IN PRESS

JID: EOR

[m5G;August 12, 2016;12:34]

European Journal of Operational Research 0 0 0 (2016) 1–12

Contents lists available at ScienceDirect

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

Production, Manufacturing and Logistics

The Undirected Capacitated General Routing Problem with Profits Claudia Archetti a,∗, Luca Bertazzi a, Demetrio Laganà b, Francesca Vocaturo c a

Department of Economics and Management, University of Brescia, Brescia 25122, Italy Department of Mechanical, Energy and Management Engineering, University of Calabria, Arcavacata di Rende 87036 (CS), Italy c Department of Economics, Statistics and Finance, University of Calabria, Arcavacata di Rende 87036 (CS), Italy b

a r t i c l e

i n f o

Article history: Received 30 November 2015 Accepted 1 August 2016 Available online xxx Keywords: General routing Profits Aggregate formulation Branch-and-cut

a b s t r a c t In this paper we introduce and study the Undirected Capacitated General Routing Problem with Profits (UCGRPP). This problem is defined on an undirected graph where a subset of vertices and edges correspond to customers, which are associated with a given profit and demand. The profit of each customer can be collected at most once. A fleet of homogeneous capacitated vehicles is given to serve the customers. The objective is to find the vehicle routes that maximize the difference between the total collected profit and the traveling cost in such a way that the demand collected by each vehicle does not exceed the capacity and the total duration of each route is not greater than a maximum given time limit. We propose a mathematical formulation of the problem and introduce valid inequalities to strengthen the corresponding continuous relaxation. Moreover, we provide an aggregate formulation that allows us to introduce further inequalities. Then, we propose a two–phase exact algorithm for the solution of the UCGRPP. In the first phase, a branch-and-cut algorithm is used to solve the aggregate formulation and to identify a cut pool of aggregate valid inequalities to be used in the second phase, where a branch-and-cut algorithm is implemented to optimally solve the UCGRPP. Computational results on a large set of problem instances show that the use of the aggregate formulation is effective, making the two-phase exact algorithm able to optimally solve a large number of instances. © 2016 Elsevier B.V. All rights reserved.

1. Introduction The class of routing problems with profits is becoming more and more popular as witnessed by the increasing number of contributions in the last years. This is mainly due to the variety of practical applications which can be modeled as one of the numerous variants of routing problems with profits, but also to the intrinsic scientific challenge raised by these problems which strongly differ in nature from their inherited parents, i.e., the classical routing problems. In fact, contrary to what happens in classical routing where all customers must be served, in routing problems with profits a crucial decision is the identification of the subset of “convenient” customers to serve. Routing problems with profits are traditionally classified in two main classes: Node routing problems with profits, where customers are located on the vertices of a graph, and arc routing problems with profits, where customers correspond to arcs/edges of a graph.



Corresponding author. Fax: +39 0302400925. E-mail addresses: [email protected], [email protected] (C. Archetti), [email protected] (L. Bertazzi), [email protected] (D. Laganà), [email protected] (F. Vocaturo).

The literature on node routing problems with profits, which are simply identified by the scientific community as vehicle routing problems with profits, is much wider than the one on arc routing problems with profits. We refer the reader to Archetti, Speranza, and Vigo (2014a) for a recent survey on vehicle routing problems with profits and to Archetti and Speranza (2014) for a survey on arc routing problems with profits. A further classification can be made on the basis of the objective function and the problem constraints. Although there is a high variety of different problem settings, we can distinguish the following three main classes: 1. Orienteering: The objective function is the maximization of the total profit collected. In this case, a maximum duration constraint or a capacity constraint (or both) are imposed on vehicle routes. The most studied problem of this class is the Orienteering Problem, where customers are located on vertices of the graph and a single vehicle with a maximum duration constraint is available. It arises in several real-world contexts. A first application, described by Tsiligirides (1984), refers to the case of a travelling salesman with not enough time to visit all possible customers. The extension to the case of multiple vehicles is the Team Orienteering Problem. For a survey, see Vansteenwegen, Souffriau, and Van Oudheusden (2011). In the class of arc routing problems with profits we have the Arc Orienteering Problem

http://dx.doi.org/10.1016/j.ejor.2016.08.001 0377-2217/© 2016 Elsevier B.V. All rights reserved.

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

JID: EOR 2

ARTICLE IN PRESS

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

(see Souffriau, Vansteenwegen, Vanden Berghe, & Van Oudheusden, 2011), for the single vehicle case, and the Team Orienteering Arc Routing Problem (see Archetti, Corberán, Plana, Sanchis, & Speranza, 2014b) for the multiple vehicle case. 2. Prize-Collecting: The objective function is the minimization of the total traveling cost. In this case a constraint establishing to collect a minimum amount of profit is imposed. The main problem studied in this class is the Prize-Collecting Traveling Salesman Problem, where customers are located on vertices and a single vehicle is available (see Feillet, Dejax, & Gendreau, 2005a). It has several practical applications. For instance, Lopez, Carter, and Gendreau (1998) describe a problem that arises in the steel industry, when scheduling steel coil production, which can be interpreted as a generalization of the Prize-Collecting Traveling Salesman Problem. 3. Profitable Tour: The objective function is the maximization of the difference between the total collected profit and the traveling cost. Side constraints can be defined on vehicle routes on the basis of the application. In the case of customers located on vertices, this problem is known as the Profitable Tour Problem for the single vehicle case (see Feillet et al., 2005a) and as the Capacitated Profitable Tour Problem for the multiple vehicle case (see Archetti, Feillet, Hertz, & Speranza, 2009). When customers are located on arcs/edges, we have the PrizeCollecting Rural Postman Problem for the single vehicle case (see Aráoz, Fernández, & Zoltan, 2006) and the Profitable Arc Tour Problem for the multiple vehicle case. There are a lot of applications of these problems, especially in logistic distribution and transportation. For instance, applications of the profitable arc tour problem related to the domain of the tactical freight transportation-planning problem in the car industry are described in Feillet, Dejax, and Gendreau (2005b). For an exhaustive literature review on routing problems with profits the reader is refereed to Archetti et al. (2014a) and Archetti and Speranza (2014). There exist classes of routing problems of different nature (i.e., without profits) concerning the selection of elements to be visited. We mention, for instance, the Traveling Purchaser Problem (see Angelelli, Mansini, and Vindigni, 2016; Bianchessi, Mansini, and Speranza, 2014; Infante, Paletta, and Vocaturo, 2009; Riera-Ledesma and Salazar-González, 2012 and Gendreau, Manerba, and Mansini, 2016 for some recent references). In this paper, we consider the general routing problems with profits, in which customers are located both on some vertices and some edges of the graph. Overall, general routing problems have aroused a growing interest in the last decade. Several authors have highlighted that the transformation of these problems in equivalent ones is not effective in most cases. One problem that has received more attention is the Mixed Capacitated General Routing Problem, that is the problem in which the demand of a set of customers located in vertices and arcs/edges of a mixed graph must be serviced by a fleet of homogeneous vehicles. Recent contributions concerning this problem are those related to lower bounding procedures (see Bach, Hasle, & Wøhlk, 2013), tailored exact algorithms (see Bosco, Laganà, Musmanno, and Vocaturo, 2013 and Irnich, Laganà, Schlebusch, & Vocaturo, 2015), and non-exact approaches (see Bosco, Laganà, Musmanno, & Vocaturo, 2014). Beraldi, Bruni, Laganà, and Musmanno (2015) have studied the stochastic counterpart of the problem. To the best of our knowledge, the only problem studied in the literature dealing with profits either distributed along edges or concentrated on vertices of a logistic network is the Bus Touring Problem (BTP) presented in Deitch and Ladany (20 0 0). In the BTP, a single vehicle is available and the total profit collected is maximized while some side constraints, such as maximum route duration or cost, have to be satisfied.

We introduce and study the Undirected Capacitated General Routing Problem with Profits (UCGRPP), which is defined on an undirected graph and customers are located both on some vertices and some edges of the graph. A profit and a demand are associated with each customer. A fleet of homogeneous capacitated vehicles is available to serve customers. Each vehicle has a capacity and a maximum route duration constraint. The objective is to choose a subset of customers to serve and define the routes visiting those customers such that the difference between the total collected profit and the traveling cost is maximized. The UCGRPP generalizes many single-vehicle and multiplevehicle node, arc, and general routing problems with profits. Therefore, it underlies several applications in contexts where calling on specific entities or traversing streets is not mandatory but implies a reward. An example is the route-planning problem for people interested in visiting several attractive points of a new destination. The attractiveness is determined by the tourist sites that are visited and by the scenic road segments that are traveled. Sites (vertices) and road segments (edges) are weighted with a non-negative value (profit) which denotes the amount of pleasure from visiting or traversing them for the first time, respectively. The aim is to maximize the attractiveness or, as our view, the difference between the total attractiveness and the traveling cost. The number of routes that must be generated depends on the period of stay. In the manuscript of Deitch and Ladany (20 0 0), a single route is defined. In fact, the BTP refers to the one-period case which generally corresponds to one day. On the contrary, the multiple-period case can be modeled through the UCGRPP. An additional example is related to the case of collection of recycling goods whenever some customers may be represented as individual vertices and groups of customers as edges, depending on their demand and dispersion. In particular, in a reverse logistics system where not all customers must be served, there are some big centers that produce a large amount of these goods and other small centers that can be considered as a single producer. In general, the UCGRPP arises in contexts where arc routing problems with profits are defined. Nevertheless, in many cases, modeling a routing problem with profits through data on vertices and data on edges allows to better exploit its structure. This paper makes the following contributions to the literature: (i) we introduce a new problem (UCGRPP) and provide two mathematical programs; (ii) we adapt from the literature theoretical and methodological results in order to solve it effectively; (iii) we provide new problem instances and computational results. Our general routing problem is transformed into an arc routing problem with profits for which we present an aggregate formulation, i.e., a model that uses variables aggregating the number of traversals performed by all vehicles for every edge. It is similar to the one presented in Belenguer and Benavent (2003) for the Capacitated Arc Routing Problem (CARP) and is able to provide a good upper bound in a reasonable computing time. In addition, the proposed aggregate formulation allows us to introduce valid inequalities for the UCGRPP that are used to reduce the optimality gap. We propose an exact method for solving instances in the field of the general routing problem with profits. Specifically, we implement a two– phase algorithm for the solution of the UCGRPP. In the first phase, a branch-and-cut algorithm (see Mitchell, 2002 for an introduction) is used to solve the aggregate formulation and to identify a cut pool of aggregate valid inequalities to use in the second phase. In the second phase, a branch-and-cut algorithm is implemented to optimally solve the UCGRPP. The paper is organized as follows. In Section 2, the UCGRPP is formally described, a property of optimal solutions is proved, a mathematical formulation is provided and valid inequalities are introduced. In Section 3, the aggregate formulation is provided and the aggregate valid inequalities are introduced. In Section 4, the

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

ARTICLE IN PRESS

JID: EOR

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

two-phase exact algorithm is described. In Section 5, the computational results are shown. Final remarks are given in Section 6. 2. Problem description and formulation UCGRPP can be described on an undirected graph G = (V, E ) with vertex set V and edge set E. Vertex 0 ∈ V represents the depot, at which a set K = {1, . . . , m} of homogeneous vehicles is based. The traversal of an edge (i, j) ∈ E results in a non-negative cost cij and a non-negative travel time tij . In the following we assume that ci j = ti j . This assumption is rather common in the literature and suitable for non-congested environments where travel costs are proportional to both the travel times and the distances. Let ER ⊆ E be the subset of profitable edges. A positive profit pij and a positive demand dij are associated with each edge (i, j) ∈ ER . Similarly, VR ⊆ V\{0} is the subset of profitable vertices. A positive profit pi and a positive demand di are associated with each vertex i ∈ VR . If a profitable element is serviced, then its demand is satisfied and its profit is collected. Note that every element belonging to VR ∪ ER can be serviced by one vehicle at most. Moreover, the service can be carried out at most once. In addition, any edge belonging to E can be deadheaded, i.e., traversed without being serviced. The objective is to choose a subset of VR ∪ ER and determine a route for each vehicle such that the difference between the total collected profit and the traveling cost is maximized and each route: (i) starts and ends at the depot, (ii) satisfies the vehicle capacity constraint and (iii) satisfies the time limit T on the duration. Note that we do not consider any service time related to profitable elements in VR ∪ ER . This is consistent with several applications of the UCGRPP. For instance, in the BTP, service times are not considered when the bus does not stop and wait for tourists to carry out their visits at the point of interests. Before stating the model, we apply the classic transformation of graph G used when dealing with arc routing problems (see Eiselt, Gendreau, & Laporte, 1995). The original set V is replaced by the set V˜ containing the depot 0, the profitable vertices in VR and all non profitable vertices that are incident to a profitable edge. The original set E is replaced by the set E˜ containing the profitable edges in ER . Moreover, for each couple of vertices (i, j) in V˜ , we compute the shortest path in the original graph and we add the edge (i, j) to the set E˜ setting its cost equal to the cost of the shortest path and its time equal to the appropriate sum. Finally, we delete all non profitable edges (i, j) in G˜ such that ci j = cih + ch j for a vertex h, as well as one of two parallel edges if they have the same cost. For the sake of simplicity, in the following we omit the tilde and, e.g., denote G˜ as G. We now introduce the following additional notation. Let S be a non-empty subset of vertices. We denote by δ (S) the set of edges with exactly one endpoint in S, and by δ R (S) the set of profitable edges with exactly one endpoint in S. Singleton sets S = {i} in the previous notation will be replaced by i so that, e.g., δ (i) stands for δ ({i}). Finally, we denote by VR (S) the set of profitable vertices belonging to S, by E(S) the set of edges with both endpoints in S, and by ER (S) the set of profitable edges with both endpoints in S. Decision variables with three indices are used in the formulation reported in the following. Let xki j be a binary variable equal to 1 if and only if edge (i, j) ∈ ER is serviced by vehicle k which travels from vertex i to vertex j. Similarly, let xkii be a binary variable equal to 1 if and only if vertex i ∈ VR is serviced by vehicle k. Let yki j be an integer variable representing the number of deadheadings from vertex i to vertex j by vehicle k. We now prove that, in any optimal solution of the UCGRPP, the value of every deadheading variable from vertex i to vertex j for a ∗ given vehicle k is bounded. Let yki j be the value of this variable in the optimal solution.

3



Property 1.1. yki j ≤ 1. Proof. The proof works as follows. Christofides, Campos, Corberán, and Mota (1981) introduce arguments proving that every edge in the transformed graph is deadheaded at most twice by vehicle k. Thus, it suffices to show that each edge is deadheaded at most once in each direction. Suppose to have a solution where edge (i, j) is deadheaded twice from i to j. Let p be the vertex visited before the second deadheading of (i, j) and s the vertex visited after the first deadheading. A better solution is obtained by avoiding the first deadheading and visiting p just after i, traversing the path from p to s in the opposite direction (this does not change the cost of the path from p to s as the costs are symmetric) and then going from s to j. In this way, both deadheadings to edge (i, j) are removed and this proves the result.  We point out that cases where the reversal generates double deadheadings in the same direction on different edges are not optimal. For example, consider path {. . . , i, j, s, k, r, p, i, j, h, t, r, k, q, . . .} belonging to the route. Suppose that edges (i, j) and (r, k) are always deadheaded; in particular, (i, j) is deadheaded twice in the same direction, (r, k) once in each direction. If (i, j) is removed and the reversal is carried out, the path becomes {. . . , i, p, r, k, s, j, h, t, r, k, q, . . .}. Now (r, k) is deadheaded twice in the same direction, but the operation previously described can be applied again by dealing with (r, k): {. . . , i, p, r, t, h, j, s, k, q, . . .}. In addition, consider the case where the reversal generates a double deadheading in the same direction on two adjacent edges and refer to path {. . . , i, j, s, k, r, p, i, j, h, t, r, k, s, q, . . .}. Suppose that edges (i, j), (r, k), and (k, s) are always deadheaded; specifically, (i, j) is deadheaded twice in the same direction, (r, k) and (k, s) once in each direction. After a first removal and a first reversal, the path becomes {. . . , i, p, r, k, s, j, h, t, r, k, s, q, . . .}, where (r, k) and (k, s) are deadheaded twice in the same direction. If both edges are removed, vertex k is deleted; this operation could eliminate a service on k. Consequently, the operation is applied on a single edge, e.g., (r, k). After removal and reversal, the path becomes {. . . , i, p, r, t, h, j, s, k, s, q, . . .}, where (k, s) is deadheaded once in each direction again. The UCGRPP can be formulated as follows:



Max

( pi j − ci j )

(i, j )∈ER





ci j

(i, j )∈E







(xki j + xkji ) +



pi

i∈VR

k∈K



xkii

k∈K

(yki j + ykji )

(1a)

k∈K

(xki j + xkji ) ≤ 1

(i, j ) ∈ ER (1b)

k∈K



xkii ≤ 1

i ∈ VR (1c)

k∈K



xki j +

(i, j )∈δR (i )

 (i, j )∈δ (i )

yki j =

 (i, j )∈δR (i )

xkji +



ykji

i ∈ V,

k∈K

(i, j )∈δ (i )

(1d) 

(xki j + xkji )

(i, j )∈δR (S )

⎧ k k ⎪ ⎨2(xk uv + xvu ), (u, v ) ∈ ER (S ), 2 y , (u, v ) ∈ E (S ), uv + (yki j + ykji ) ≥ 2ykvu , (u, v ) ∈ E (S ), ⎪ ⎩ k (i, j )∈δ (S ) 2xhh , h ∈ VR (S ), k ∈ K, S ⊆ V \{0} (1e) 

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

ARTICLE IN PRESS

JID: EOR 4

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12



di j (xki j + xkji ) +

(i, j )∈ER





di xkii ≤ Q

k ∈ K (1f)

i∈VR

ti j (xki j + xkji ) +

(i, j )∈ER



ti j (yki j + ykji ) ≤ T

Capacity inequalities The following capacity inequalities are valid for formulation (1):



k ∈ K (1g)

(i, j )∈E

(yki j + ykji ) ≥

k∈K (i, j )∈δ (S )

xki j , xkji ∈ {0, 1}

(i, j ) ∈ ER ,

yki j , ykji ∈ {0, 1}

k ∈ K (1i)

i ∈ VR ,

k ∈ K. (1j)

Objective function (1a) maximizes the difference between the total collected profit and the total routing cost. Constraints (1b) and (1c) ensure that profitable edges and vertices are serviced by one vehicle at most, respectively. Equalities (1d) represent flow constraints. They model the symmetry conditions at each vertex. Moreover, together with the integrality conditions, they imply parity conditions at each vertex. Inequalities (1e) represent connectivity constraints. They impose that for each subset of vertices (excluding the depot) containing a potential edge or vertex serviced by a vehicle, at least two edges incident to the subset must be traversed; they also eliminate subtours disjointed from the depot. Note that connectivity constraints are introduced also for deadheading variables with the aim of reinforcing the linear relaxations of the model. Constraints (1f) guarantee that the vehicle capacity is never exceeded. Constraints (1g) model the time limit of the routes. Finally, constraints (1h)–(1j) define variable domains. Note that, despite the fact that the problem is defined on an undirected graph, decision variables xki j and yki j keep track of the direction in which edge (i, j) is traversed, i.e., we use a directed formulation in order to be able to express parity constraints in a closed form through equalities (1d). We now introduce different classes of valid inequalities for the polyhedron defined by (1b)–(1j). Parity inequalities The following parity inequalities are valid for formulation (1): 



xk (δR (S )\F ) + yk (δ (S )\F ) + ykrev (δ (S )\F ) ≥ xk (F ) + 



+ yk (F ) + ykrev (F ) + 

− |F | − |F | − |F 



| + 1, 

S ⊂ V, F ⊆ δR (S ), F ⊆ δ (S ), F ⊆ δ (S ), 

|F | + |F | + |F | odd, k ∈ K,

(2)

where, for a subset of edges L:  k k • xk ( L ) = (i, j )∈L (xi j + x ji ),  k k • y (L ) = (i, j )∈L yi j ,  k • yk ( L ) = rev (i, j )∈L y ji . Inequalities (2) are an adaptation of the co − circuit inequalities proposed in Barahona and Grötschel (1986). They establish that, for each set S ⊆ V and each triple of sets F, F and F  belonging to the cut-set of S, if all edges in F, F and F  are traversed and |F | +   |F | + |F | is odd, at least a further edge must be traversed. Set  F corresponds to the deadheaded edges in the cut-set outgoing from S while F  is the set of deadheaded edges incoming in S. Note that, contrary to profitable edges for which xki j + xkji ≤ 1 thanks to constraint (1b), for the deadheaded edges it can happen that yki j +

ykji > 1. Thus, the traversed outgoing edges (set F ) and incoming edges (set F  ) should be accounted for separately.

+

k ∈ K (1h)

(i, j ) ∈ E,

xkii ∈ {0, 1}





2  Q

 2   di xkii − Q k∈K i∈VR (S )



di j (xki j + xkji ) +

k∈K (i, j )∈δR (S )∪ER (S )



(xki j + xkji ),

S ⊆ V \{0}. (3)

k∈K (i, j )∈δR (S )

They establish that, for each set S ⊆ V\{0}, the number of times that the cut-set of S is traversed is at least twice the minimum number of vehicles needed to serve the demand of all profitable vertices and edges in S and in its cut-set for which the corresponding x variable is set to one. Max-time inequalities Let us consider F ⊂ ER and let σ (F) be the value of the optimal solution of the Rural Postman Problem (RPP) solved on graph G where the set of required edges corresponds to set F. If σ (F) > T, we have that

xk ( F ) ≤ |F | − 1,

k ∈ K.

(4)

(4) can be generalized as follows. Let nv (F ) =  Inequalities σ (F )

be a lower bound on the minimum number of vehicles

T

needed to serve all profitable edges in F. Note that σ (F ) > (nv (F ) − 1 )T . The following inequalities are valid for (1):





(xki j + xkji ) ≤ |F | − 1,

∀ ⊆ K :

| | = n v ( F ) − 1 .

k∈ e=(i, j )∈F

(5) Symmetry breaking inequalities Each solution of formulation (1) admits m! equivalent solutions which can be obtained by permuting the indices of the vehicles assigned to each route. We introduce symmetry breaking constraints, based on those proposed by Archetti et al. (2014b) and Irnich et al. (2015), in order to avoid computing all equivalent solutions. Let η = |ER | + |VR |. Let us order the elements of set ER ∪ VR on the basis of a given criteria and let rt be the tth element of the ordered set, t = 1, . . . , η. Let s(k) be the smallest index t such that rt is served by vehicle k ∈ K. Symmetry breaking constraints state that s(1 ) ≤ · · · ≤ s(m ), i.e., the index of the element in ER ∪ VR with the smallest index t served by vehicle k must be lower than the index of the element in ER ∪ VR with the smallest index t served by vehicle k + 1, with k = 1, . . . , m − 1 and s(k ) = ∞ if vehicle k is not used. We set xkrt = xki j + xkji if rt = (i, j ) ∈ ER and xkrt = xkii if rt = i ∈ VR . Symmetry breaking constraints are formulated as follows:



xkrt ≤

xkr j−1

t = 2, . . . , η ,

k = 2, . . . , m (6a)

j=1,...,t−1

xkrt = 0

t = 1, . . . , m − 1,

k = t + 1, . . . , m. (6b)

Constraints (6a) stipulate that if the tth element rt is serviced by the kth vehicle (with k ≥ 2), then at least one profitable element associated with an index preceding t must be serviced by the vehicle k − 1. Constraints (6b) state that element rt (with t ≤ m − 1) cannot be serviced by any of the vehicles k = t + 1, . . . , m. The criterion we use to order the elements in ER ∪ VR is the following. The first element is the one which is farthest from the depot, the second is the one which is farthest from the depot and the first element, and so on. In order to evaluate the distance between each element and the previously ordered elements, we solve an RPP on graph G, in which a loop (i, i) is associated with a vertex i ∈ VR . The subset of edges is composed by the set of previously ordered

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

ARTICLE IN PRESS

JID: EOR

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

elements plus the element whose distance we are looking for. The distance of this element from the already grouped elements is the solution cost of the RPP instance defined in this way.

Aggregate parity inequalities The first class contains parity inequalities which are formulated as follows:



3. An aggregate formulation





zij : non–negative integer variable indicating the number of times that edge (i, j ) ∈ E is traversed from i to j (either served or deadheaded); we : binary variable equal to 1 if edge e ∈ E R is served, 0 otherwise.

Note that variable we indicates whether edge e is served but does not take into account the direction in which the edge is traversed. This is the reason why we use the subscript e instead of (i, j). The following sets are defined: E (S ) = {e = (i, j ) ∈ E :

i ∈ S ∧ j ∈ S}, δ (S ) = {e = (i, j ) ∈ E : (i ∈ S ∧ j ∈ S ) (i ∈ S ∧ j ∈ S )}, E R (S ) = E (S ) ∩ E R , δR (S ) = δ (S ) ∩ E R , where S ⊆ V . The aggregate formulation is the following:

Max



pe we −

e∈E R



(zi j + z ji ) ≥ 2 (zi j − z ji ) = 0

Q

S ⊆ V \{0} (7b)

i ∈ V (7c)

e=(i, j )∈δ (i )

zi j + z ji ≥ we 

(zi j + z ji ) ≥ 2wh



we − |H | + 1

e∈H

S ⊂ V , H ⊆ δR (S ), |H |

odd.

(8)

Inequalities (8) establish that if all edges in set H ⊆ δ R (S) belonging to the cut-set of S are traversed and the cardinality of H is odd, then at least a further edge not belonging to H must be traversed. Aggregate max-time inequalities The second class of valid inequalities is an adaptation to the aggregate formulation of the max-time inequalities presented in Section 2. Let us consider F ⊂ ER and let σ (F) be the value of the optimal solution of the RPP solved on graph G where the set of required edges corresponds to set F. If σ (F) > T we have that

 e=(i, j )∈δ (S )



(zi j + z ji ) ≥ 4





we − |F | + 1 .

(9)

e∈F

As done in Section 2, inequalities (9) can be generalized as follows:

 e=(i, j )∈δ (S )



(zi j + z ji ) ≥ 2nv (F )





we − |F | + 1 .

(10)

e∈F

4. An exact algorithm for the solution of the UCGRPP

e∈E R ( S ) de w e

e=(i, j )∈δ (S )



(7a)

e=(i, j )∈E





ce (zi j + z ji )

(zi j + z ji ) ≥ 2

e=(i, j )∈δ (S )

We now present a mathematical formulation which provides an upper bound to the UCGRPP. It uses aggregated variables measuring the number of times each edge is served or deadheaded, without distinguishing which vehicle performs the traversal. Let G = (V , E ) be an undirected graph where V = V, VR = ∅ and E = E ∪ E  . Set E is defined as follows: E  = {(i, i )|i ∈ VR }, cii = 0, tii = 0, dii = di , and pii = pi . Moreover, E R = ER ∪ E  . The aggregate formulation uses the following aggregate decision variables:

5

e = (i, j ) ∈ E R (7d) S ⊆ V \{0}, h ∈ E R (S ) (7e)

e=(i, j )∈δ (S )

we ∈ {0, 1}

e ∈ E R (7f)

zi j , z ji ∈ Z+

e = (i, j ) ∈ E . (7g)

Objective function (7a) maximizes the difference between the collected profit and the traveling cost. Constraints (7b) are the classical generalized capacity cuts. Inequalities (7c) are flow constraints. In order to collect the profit of an edge, inequalities (7d) state that the edge has to be traversed at least once in either direction. Constraints (7e) are connectivity constraints. Finally, constraints (7f) and (7g) define variable domains. Note that formulation (7) is not a valid formulation for the UCGRPP. In fact, a feasible solution to (7) says how many times each edge is traversed, but does not say which vehicle traverses which edge. We now introduce the following two classes of aggregate valid inequalities to strengthen the aggregate formulation (7). In order to express aggregate mathematical relationships in terms of the original variables of the UCGRPP formulation, we ob  serve that zij is equal to k∈K (xki j + yki j ) if (i, j) ∈ E and to k∈K xki j  if (i, j) ∈ E . In addition, we recall that we is equal to k∈K (xki j + xkji )  if e = (i, j ) ∈ ER and to k∈K xki j if e = (i, j ) ∈ E  .

In order to solve the UCGRPP to optimality, we propose a twophase solution method which takes advantage of the solution of aggregate formulation (7). In the first phase, formulation (7) is solved to optimality through a branch-and-cut algorithm. In particular, inequalities (7b), (7e), (8) and (9) are dynamically inserted once violated at each node of the branch-and-bound tree. The optimal solution of (7) gives an upper bound to the value of the optimal solution of (1). Due to the aggregation with respect to the number of vehicles, formulation (7) is remarkably more compact than formulation (1) and the corresponding optimal solution is obtained in satisfactory computational time. In the second phase, a branch-and-cut algorithm is applied to solve formulation (1). All inequalities (7b), (7e), (8) and (9), which were detected as violated while solving (7) in the first phase, are inserted in a cut pool P and used in the initial formulation. In other words, we apply the strategy “first separate violated aggregate inequalities” (see Irnich et al., 2015). The initial formulation is defined as follows: 1. 2. 3. 4.

the objective function (1a); inequalities (1b)–(1d) and (1f)–(1g); symmetry breaking constraints (6a) and (6b); inequalities in cut pool P written in terms of the variables used in (1).

Constraints (1e) are dynamically inserted when violated, as well as valid inequalities (2)–(4) and (9). We branch by using the strong branching strategy (see Applegate, Bixby, Chvátal, & Cook, 1995) implemented in CPLEX, giving priority to the variables associated with servicing the profitable vertices, then to those corresponding to servicing the profitable edges, and finally to deadheading variables. In order to identify the inequalities previously described, we adapted separation algorithms proposed in the literature for the

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

ARTICLE IN PRESS

JID: EOR 6

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12 Table 1 Details about the instances and results for the aggregate formulation (ggdbp dataset). NAME

ggdbp1 ggdbp2 ggdbp3 ggdbp4 ggdbp5 ggdbp6 ggdbp7 ggdbp8 ggdbp9 ggdbp10 ggdbp11 ggdbp12 ggdbp13 ggdbp14 ggdbp15 ggdbp16 ggdbp17 ggdbp18 ggdbp19 ggdbp20 ggdbp21 ggdbp22 ggdbp23

|V|

12 12 12 11 13 12 12 27 27 11 22 13 10 7 7 8 8 9 8 11 11 11 11

|E|

22 25 20 19 24 20 22 48 48 22 46 23 26 19 15 20 20 24 10 21 28 34 38

|VR |

5 5 4 3 4 4 4 12 15 4 10 7 7 5 6 6 5 7 3 7 9 7 8

|E R |

|K|

17 19 15 14 20 14 17 34 36 15 31 18 18 15 12 16 15 21 7 17 22 27 30

Q

5 6 5 4 6 5 5 10 10 4 5 7 6 5 4 5 5 5 3 4 6 8 10

5 5 5 5 5 5 5 27 27 10 50 35 41 21 37 24 41 37 27 27 27 27 27

T = 25

T = 50

λ¯

CA1

CO1

MT1

PA1

SEC1

λ¯

CA1

CO1

MT1

PA1

SEC1

48 69 50 1 25 25 1 247 506 58 157 3 137 131 46 112 50 257 58 136 169 121 162

3 6 3 2 3 2 2 3 23 4 6 3 7 2 2 4 2 3 4 2 4 5 6

6 15 11 0 6 4 0 32 745 21 43 2 62 4 4 18 2 9 8 10 22 32 44

0 1 1 0 1 0 0 4 145 2 0 1 8 0 0 0 0 0 0 0 1 0 0

8 4 6 2 8 6 8 14 12 4 16 8 6 6 4 6 4 6 6 8 8 8 4

0.01 0.03 0.02 0.00 0.01 0.01 0.01 0.12 744.67 0.02 0.07 0.01 0.09 0.03 0.00 0.14 0.01 0.27 0.01 0.10 0.32 1.23 1.29

447 529 324 276 428 385 535 988 848 333 871 283 367 131 46 112 50 257 58 136 171 121 162

4 7 4 7 6 5 7 12 11 6 26 14 6 2 2 2 2 2 2 2 4 2 2

24 75 32 31 36 22 47 324 457 52 630 87 52 4 4 12 2 6 2 10 0 12 4

0 2 1 1 0 0 1 11 5 3 153 18 0 0 0 0 0 0 0 0 0 0 0

8 4 6 2 8 6 8 14 12 4 16 8 6 6 4 6 4 6 6 8 8 8 4

0.08 0.32 0.06 0.02 0.06 0.07 0.15 3.97 15.14 0.13 4368.26 0.24 0.28 0.03 0.01 0.04 0.00 0.22 0.01 0.08 0.45 0.37 0.58

Table 2 Details about the instances and results for the aggregate formulation (gvalp dataset). NAME

gvalp1 gvalp2 gvalp3 gvalp4 gvalp5 gvalp6 gvalp7 gvalp8 gvalp9 gvalp10

|V|

24 24 24 41 34 31 40 30 50 50

|E|

35 34 35 69 61 49 64 61 91 92

|VR |

14 13 13 24 20 16 21 17 28 33

|E R |

28 27 28 55 49 39 50 48 71 73

|K|

2 2 2 3 3 3 3 3 3 3

Q

200 180 80 225 220 170 200 200 235 250

T = 25

T = 50

λ¯

CA1

CO1

MT1

PA1

SEC1

λ¯

CA1

CO1

MT1

PA1

SEC1

290 54 416 363 134 424 492 258 739 660

26 2 27 26 6 13 14 7 8 19

526 8 815 523 20 368 396 95 327 702

136 0 94 74 6 72 26 23 19 170

16 12 14 16 18 16 24 16 28 20

12.29 0.02 18.14 40.03 3.89 17.37 11.37 6.95 17.55 921.53

711 529 551 1199 1242 922 1102 1282 1600 1894

29 23 7 39 33 38 15 35 37 64

1022 339 142 1557 1076 1855 764 1403 2793 4572

112 42 1 333 164 161 114 219 443 1218

16 12 14 16 18 16 24 16 28 20

32.95 11.57 3.26 330.79 275.85 586.47 76.16 488.54 6055.74 TL

separation of similar constraints applied to different arc routing problems. We briefly mention every separation algorithm. For details on the procedures, the reader is referred to the corresponding reference. The approach used to separate connectivity constraints (1e) is described in Bosco et al. (2013). First, violations of these constraints are checked through a heuristic algorithm, although the separation problem is solvable in polynomial time. The heuristic algorithm constructs maximum spanning trees on auxiliary graphs opportunely defined for every vehicle index k. An exact algorithm comes into play whenever the heuristic fails. In this case, a minimum cut problem is solved. The algorithm used to separate (2) and (8) follows the spirit of the separation algorithms designed by other authors for similar parity constraints in arc routing problems with binary variables (Aráoz, Fernández, & Franquesa, 2009; Aráoz, Fernández, & Meza, 2009; Corberán, Fernández, Franquesa, & Sanchis, 2011). More precisely, for each vehicle k the graph induced by the edges such that the sum of the values of variables xki j and yki j is more than zero is built, and the tree of min–cuts is constructed on such a graph to check violations for (2) and (8). In order to separate capacity inequalities (3) and (7b) we adapted the separation algorithms described in Belenguer and Be-

navent (2003) for the CARP. In particular, capacity inequalities can be identified by solving a maximum flow problem on an auxiliary graph opportunely built. To separate the connectivity inequalities (7e) we used the separation procedure by Ahr (2004). As the separation of max-time inequalities (5) and (10) is too cumbersome, we decided to separate only inequalities (4) and (9). To this aim, we created two lists, L1 and L2 . L1 contains sets F such that nv (F ) > 1 while L2 contains sets F such that nv (F ) = 1. These lists are initialized as empty sets and are dynamically updated each time a new set F is identified together with the corresponding nv (F ). Specifically, the separation algorithms are an adaptation of the ones presented in Archetti et al. (2014b) for the solution of the Team Orienteering Arc Routing Problem. In summary, the algorithm used for the separation of inequalities (4) iteratively constructs sets of profitable edges by considering the current solution of the linear relaxation. Then, it computes the minimum number of vehicles needed to serve the selected edges. If this number is greater than one, then a violated inequality is identified. The algorithm used for the separation of inequalities (9) generates vertex subsets that are iteratively updated and computes the minimum number of vehicles needed to service all profitable edges incidents with vertices in these subsets. Then, the corresponding inequality is checked for violation.

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

JID: EOR

NAME

Average # Optima

T = 50

λ¯

λ¯ C

λ

CA2

CO2

MT2

PA2

NODES

GAP

γ

SEC2

λ¯

λ¯ C

λ

CA2

CO2

MT2

PA2

NODES

GAP

γ

SEC2

48 69 50 1 25 25 1 247 506 58 157 3 137 131 46 112 50 257 58 136 169 121 162

48 69 50 1 25 25 1 227 533.665 58 124 3 124 126 46 111 50 252 58 129 173.833 124.096 163

48∗ 69∗ 50∗ 1∗ 25∗ 25∗ 1∗ 227∗ 443 58∗ 124∗ 3∗ 124∗ 126∗ 46∗ 110 50∗ 246 58∗ 129∗ 165 115 154

1 3 3 1 1 1 1 42 75 2 8 1 4 42 8 23 18 63 5 21 54 35 44

0 0 0 0 0 0 0 325 1508 0 35 0 11 305 33 147 78 527 10 72 402 284 359

0 0 0 0 0 0 0 688 1092 0 148 0 0 568 76 228 180 572 4 48 532 368 576

8 20 20 9 9 8 10 562 469 8 101 9 17 1 2 4 0 2 0 22 12 3 3

0 0 0 0 0 0 0 11760 97656 0 41 0 27 45256 474 2534459 13174 457043 0 511456 324009 363771 278552

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14.22 0.00 0.00 0.00 0.00 0.00 0.00 0.91 0.00 2.44 0.00 0.00 2.42 5.22 5.19 1.32

0.00 0.00 0.00 0.00 0.00 0.00 0.00 8.81 20.47 0.00 26.61 0.00 10.48 3.97 0.00 1.82 0.00 4.47 0.00 5.43 5.35 7.91 5.84

0.01 0.05 0.02 0.01 0.02 0.01 0.01 395.19 TL 0.03 11.77 0.02 0.45 996.44 4.62 TL 93.09 TL 0.04 10 0 09.10 TL TL TL

447 529 324 276 428 385 535 988 848 333 871 283 367 131 46 112 50 257 58 136 171 121 162

399 503 249 237 396 302 415 10 0 0.47 863.488 300 836.564 244 317 126 46 110 50 249.451 58 136 172.14 125 162.549

399∗ 465 249∗ 237∗ 396∗ 302∗ 415∗ 827 683 300∗ 760 244∗ 317∗ 126∗ 46∗ 110∗ 50∗ 246 58∗ 136∗ 165 115 154

26 40 18 15 36 33 40 103 83 19 58 19 41 10 1 1 1 1 2 17 2 1 1

263 352 170 91 261 228 377 3288 3588 107 1175 109 324 117 0 0 0 0 0 154 0 0 0

440 324 140 144 332 158 404 1268 192 156 584 316 416 192 0 0 0 0 0 168 0 0 0

40 33 22 39 58 43 29 61 15 27 48 94 3 0 0 0 0 0 0 3 0 0 0

107986 393275 42825 133 10022 10976 103514 66290 57897 54082 100444 7802 303706 129602 1253 2054394 135572 1727119 46 9130 481604 570127 438324

0.00 8.17 0.00 0.00 0.00 0.00 0.00 19.47 24.16 0.00 10.07 0.00 0.00 0.00 0.00 0.00 0.00 1.40 0.00 0.00 3.64 5.22 5.19 3.36

12.03 13.76 30.12 16.46 8.08 27.48 28.92 20.98 26.43 11.00 14.61 15.98 15.77 3.97 0.00 1.82 0.00 4.47 0.00 0.00 4.33 8.70 5.55

2229.21 TL 807.91 16.21 228.40 165.54 3083.48 TL TL 794.15 TL 99.67 11875.64 2580.15 5.87 11085.50 677.85 TL 11.58 151.58 TL TL TL

17

ARTICLE IN PRESS

ggdbp1 ggdbp2 ggdbp3 ggdbp4 ggdbp5 ggdbp6 ggdbp7 ggdbp8 ggdbp9 ggdbp10 ggdbp11 ggdbp12 ggdbp13 ggdbp14 ggdbp15 ggdbp16 ggdbp17 ggdbp18 ggdbp19 ggdbp20 ggdbp21 ggdbp22 ggdbp23

T = 25

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

15

7

[m5G;August 12, 2016;12:34]

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of

Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

Table 3 Computational results for the UCGRPP (ggdbp dataset).

ARTICLE IN PRESS

JID: EOR 8

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

24.45 0.90 1.92 11126.00 TL TL 818.68 10821.00 TL TL

The overall solution approach was coded in C++ and compiled with g++ −O3. ILOG CPLEX Library 12.5 was used to solve the various mathematical programs, by activating all standard CPLEX routines. In order to explore the search tree, we use the best-bound strategy (the tree node representing the subproblem with the best value of objective function is selected). Note that violated inequalities are added locally. Computational experiments were carried out on a PC equipped with 2 Intel Xeon X5680 CPUs running at 3.33 gigahertz, with 48 gigabytes of memory.

0.00 0.00 0.00 0.00 11.13 7.41 0.00 0.00 12.19 9.19 3.99 845 55 63 57642 127269 111779 5959 103119 25136 17773 34 104 7 491 546 180 155 373 609 627

2.45 25.06 0.36 20.26 40.18 10.68 4.06 25.20 17.56 14.93

GAP NODES

6

20 7 13 31 37 54 21 38 88 54 694∗ 423∗ 549∗ 997∗ 886 833 1059∗ 1024∗ 1361 1648

359 19 269 574 676 1311 389 618 3857 1823

108 0 72 308 468 608 192 344 1268 632

5.1. Instances

711 529 551 1199 1242 922 1102 1282 1600 1894 1.52 0.03 7.23 134.66 1.20 26.72 138.00 2.03 TL 8259.80

In Tables 1–4, the columns named “T = 25” and “T = 50” refer to the results obtained by setting the time limit T equal to 25 and 50, respectively. These values of T were set through preliminary experiments carried out by referring to the uncapacitated case. From the analysis of the results we notice that, on average, T = 25 is the value that roughly ensures the service of thirty percent of the profitable vertices and edges at most (low percentage), and T = 50 is the value guaranteeing the service of seventy percent of the profitable vertices and edges at most (high percentage). Tables 1 and 2 report details about the instances (after applying the transformation described in Section 2) and the results obtained by solving the aggregate formulation within a CPU time limit of 2 hours. For the computational analysis reported in Tables 1 and 2 we use the following notation:

64 0 162 3968 45 584 1842 161 113466 81542 80 0 176 100 56 220 152 32 672 240 92 0 404 142 38 179 216 30 1326 459

159 19 118 663 337 358 457 181 1552 1037

NAME |V |, |E | |VR |, |ER |

13 1 23 23 12 23 20 9 58 32 9

|K | Q λ¯

CA1 , CO1 , MT1 , PA1

SEC1 Average # Optima

263∗ 54∗ 384∗ 259∗ 134∗ 363∗ 390∗ 245∗ 528 456∗ 263 54 384 259 134 363 390 245 587.877 456 290 54 416 363 134 424 492 258 739 660

gvalp1 gvalp2 gvalp3 gvalp4 gvalp5 gvalp6 gvalp7 gvalp8 gvalp9 gvalp10

The instances used in the experiments were derived from gdb dataset, introduced by Golden, Dearmon, and Baker (1983) for the CARP, and val dataset, introduced by Benavent, Campos, Corberán, and Mota (1992) for the same problem. Note that gdb and val datasets include 23 and 10 different graphs, respectively. With the aim of generating structures suitable for general routing problems, we modified them by following the guidelines of Bosco et al. (2013). We introduced parameter β = 0.20 in order to compute β · |ER |, i.e., the number of randomly selected required edges whose demand is shifted to one randomly selected endpoint. The profits were generated in the following way. Let ρ ij be the cost of the shortest path between vertices i and j. For each vertex i ∈ VR and edge (i, j) ∈ ER , we set pi = ρ0i + 1 and pi j = ρ0i + ci j + ρ j0 + 1, respectively. For the instances derived from val dataset, the number and the capacity of the vehicles were set equal to the respective values of the instances in group A of the original dataset. The new instances derived from gdb dataset are named ggdbp, where first letter g means general and letter p means profits. Analogously, the instances derived from val dataset are named gvalp. 5.2. Numerical results

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11.34 0.00 1.13

10.27 0.00 8.33 40.15 0.00 16.80 26.15 5.31 39.96 44.74

694 423 549 997 984.584 894.7 1059 1024 1526.95 1799.42

CA2

λ¯

T = 50

SEC2 MT2 CO2 CA2

λ λ¯ C λ¯

T = 25 NAME

Table 4 Computational results for the UCGRPP (gvalp dataset).

PA2

NODES

GAP

γ

λ¯ C

λ

CO2

MT2

PA2

γ

SEC2

5. Computational experiments

instance name number of vertices and edges, respectively number of profitable vertices and profitable edges, respectively number of vehicles vehicle capacity best solution value (upper bound for the UCGRPP) number of capacity, connectivity, max-time, and parity inequalities added in the aggregate formulation, respectively computation time in seconds for solving the aggregate model (the CPU time limit is represented by TL)

Optimal solutions of the aggregate formulation are computed quickly for ggdbp dataset. In general, the computational time for gvalp instances is higher than the time for ggdbp instances and

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

ARTICLE IN PRESS

JID: EOR

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

9

250

200

150

100

50

0

Fig. 1. Comparison of objective function values (ggdbp dataset, T = 25).

500 450 400 350 300 250 200 150 100 50 0

Fig. 2. Comparison of objective function values (gvalp dataset, T = 25).

the CPU time limit is reached for instance gvalp10 (for T = 50). ¯ , obtained within 2 hours, However, the value reported in column λ coincides with the optimal value of the aggregate formulation (the optimal value was obtained by solving gvalp10 without CPU time limit). Tables 3 and 4 refer to the results obtained by solving the UCGRPP. In this case, a CPU time limit of 6 hours was imposed to ¯ of Tables 1 and 2 are rethe computations. Columns NAME and λ peated. Additional notation is introduced:

λ¯ C λ

CA2 ,

CO2 ,

NODES GAP

γ

SEC2

MT2 ,

PA2

final upper bound produced by CPLEX best solution value number of capacity, connectivity, max-time and parity inequalities added in the second phase, respectively number of nodes in the search tree percentage gap computed as



¯ λ λ¯ C −λ min γ1 = 100 · λ− λ , γ2 = 100 · λ max(γ1 , γ2 ) computation time in seconds for solving the UCGRPP (the CPU time limit is represented by TL)

In Tables 3 and 4, average percentage gap values are also indicated. An optimal value certified by the algorithm is marked with an asterisk in column λ. Moreover, the number of total optima is reported in the line named “# Optima”. Whenever the best upper ¯ ,λ ¯ C ) is equal to the best solution value bound provided by min(λ ¯ is highof the aggregate formulation, the number in column λ lighted in bold. In this case, the percentage gap value is equal to γ1 = 100 · λ¯ −λ λ and it is highlighted in bold too. Results confirm that the possibility of finding the optimal solution generally decreases with the increase of T. However, the performance outcomes remain satisfactory. Specifically, 32 out of 46 ggdbp instances are solved to optimality by our algorithm: 17 out of 23 for T = 25 and 15 out of 23 for T = 50. The average percentage gap varies from 1.32 for T = 25 to 3.36 for T = 50. Moreover, 15 out of 20 gvalp instances are solved to optimality by our algorithm: 9 out of 10 for T = 25 and 6 out of 10 for T = 50. In this case, the average percentage gap varies from 1.13 for T = 25 to 3.99 for T = 50. The upper bounds obtained by solving the aggregate formulation are often useful for ggdbp dataset. For example, consider instance ggdbp9 which is one of the largest instances. Solving the aggregate formulation allows to reduce the percentage gap, from 20.47 to 14.22 for T = 25 and from 26.43 to 24.16 for T = 50 (values in columns γ and GAP). 5.3. Effect of the aggregate inequalities In this section, we show that the strategy “first separate violated aggregate inequalities” is computationally advantageous for the UCGRPP. More precisely, solving a much smaller mathematical model in order to produce bounds and cuts quicken the solution process. To this aim, we report numerical results as follows. We compare two versions of the algorithm, i.e., with and without the aggregate valid inequalities separated by solving the aggregate formulation. In other words, the algorithm was run with and without the first phase. The experiments were carried out by fixing a CPU time limit of 600 seconds. Figs. 1 and 2 and Figs. 3 and 4 show the value of the best feasible solution found within this CPU time limit for cases T = 25 and T = 50, respectively. In particular, black bars refer to the case “B&C algorithm without aggregate valid inequalities”, whereas gray bars refer to the case “B&C algorithm with aggregate valid inequalities”. The objective value is equal to 0 if no solution

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

JID: EOR 10

ARTICLE IN PRESS

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

700 600 500 400 300 200 100 0

Fig. 3. Comparison of objective function values (ggdbp dataset, T = 50).

1,800

1,000

1,600 1,400

800

1,200 1,000

600

800

400

600 400

200

200 0

0

Fig. 4. Comparison of objective function values (gvalp dataset, T = 50).

Fig. 6. Comparison of upper bound values (gvalp dataset, T = 25).

1,000

800

600

400

200

0

Fig. 5. Comparison of upper bound values (ggdbp dataset, T = 25).

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

JID: EOR

ARTICLE IN PRESS C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

[m5G;August 12, 2016;12:34] 11

1,100 1,000 900 800 700 600 500 400 300 200 100 0

Fig. 7. Comparison of upper bound values (ggdbp dataset, T = 50).

Figs. 7 and 8 illustrate the upper bound values found through these experiments for cases T = 25 and T = 50, respectively. Black bars still refer to the case “B&C algorithm without aggregate valid inequalities”, whereas gray bars refer to the case “B&C algorithm with aggregate valid inequalities”. The figures clearly show that introducing aggregate valid inequalities produces a beneficial effect, for both datasets and both values of T. In fact, they reduce the upper bound value at the root node significantly for most instances (sometimes the difference is huge). We point out that no instance is closed at the root node of the search tree without importing aggregate valid inequalities from the first phase.

2,200 2,000 1,800 1,600 1,400 1,200 1,000 800

6. Conclusion

600 400

Fig. 8. Comparison of upper bound values (gvalp dataset, T = 50).

is found within the CPU time limit. The results reported in Figs. 3 and 4 were obtained by initializing the lower bound at the beginning of the second phase with the value of the final solution found with T = 25 for both case “without” and case “with”. We point out that similar results were obtained for the two value of T. Specifically, for ggdbp dataset, the beneficial effect of the aggregate valid inequalities is not clear, except for some instances. However, in this case, solving the aggregate formulation often provides the best upper bound (see Table 3), reducing the optimality gap. On the contrary, for gvalp dataset, aggregate valid inequalities speed up the solution process significantly. Further experiments were carried out by deactivating CPLEX heuristics and stopping the solution process at the root node of the search tree. In this way, these external procedures and the branching strategies did not influence the outcomes. We recall that upper bound values from the first phase are not used. Figs. 5 and 6 and

In this paper, we studied a new routing problem with profits, referred to as the Undirected Capacitated General Routing Problem with Profits. We proposed a mathematical formulation of the problem. Since the computational effort for solving it directly through this formulation is huge, we also used a more compact model with aggregated variables (aggregate formulation) to quickly obtain good bounds and strong valid inequalities. Computational results confirm the observation by Irnich et al. (2015): Strategy “first separate violated aggregate inequalities” seems to be computationally advantageous. In fact, a two-phase exact algorithm, in which in the first phase the aggregate formulation is solved and the identified cut pool of violated aggregate valid inequalities is used in the second phase, is very effective in optimally solving this problem. Acknowledgments The authors are grateful to three anonymous referees whose comments helped to improve the quality of the paper. References Ahr, D. (2004). Contributions to multiple postmen problems Master’s thesis. Heidelberg, Germany: University of Heidelberg.

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001

JID: EOR 12

ARTICLE IN PRESS

[m5G;August 12, 2016;12:34]

C. Archetti et al. / European Journal of Operational Research 000 (2016) 1–12

Angelelli, E., Mansini, R., & Vindigni, M. (2016). The stochastic and dynamic traveling purchaser problem. Transportation Science, 50, 642–658. Applegate, D., Bixby, R., Chvátal, V., & Cook, W. (1995). Finding cuts in the TSP (A preliminary report): 95. Citeseer. Aráoz, J., Fernández, E., & Franquesa, C. (2009). The clustered prize-collecting arc routing problem. Transportation Science, 43, 287–300. Aráoz, J., Fernández, E., & Meza, O. (2009). Solving the prize-collecting rural postman problem. European Journal of Operational Research, 196, 886–896. Aráoz, J., Fernández, E., & Zoltan, C. (2006). Privatized rural postman problem. Computers and Operations Research, 33, 3432–3449. Archetti, C., Speranza, M., & Vigo, D. (2014a). Vehicle routing problems with profits. In P. Toth, & D. Vigo (Eds.), Vehicle routing: Problems, methods, and applications, second edition, MOS-SIAM series on optimization 18 (pp. 273–298). Philadelphia: SIAM. Archetti, C., Corberán, A., Plana, I., Sanchis, J., & Speranza, M. (2014b). The team orienteering arc routing problem. Transportation Science, 2, 223–246. Archetti, C., Feillet, D., Hertz, A., & Speranza, M. G. (2009). The capacitated team orienteering and profitable tour problems. Journal of the Operational Research Society, 60, 831–842. Archetti, C., & Speranza, M. (2014). Arc routing problems with profits. In A. Corberàn, & G. Laporte (Eds.), Arc routing: Problems, methods, and applications, MOS-SIAM series on optimization (pp. 257–284). Philadelphia: SIAM. Bach, L., Hasle, G., & Wøhlk, S. (2013). A lower bound for the node, edge, and arc routing problem. Computers and Operations Research, 40, 943–952. Barahona, F., & Grötschel, M. (1986). On the cycle polytope of a binary matroid. Journal of Combinatorial Theory, Series B, 40, 40–62. Belenguer, J., & Benavent, E. (2003). A cutting plane algorithm for the capacitated arc routing problem. Computers and Operations Research, 30, 705–728. Benavent, E., Campos, V., Corberán, A., & Mota, E. (1992). The capacitated arc routing problem: lower bounds. Networks, 22, 669–690. Beraldi, P., Bruni, M., Laganà, D., & Musmanno, R. (2015). The mixed capacitated general routing problem under uncertainty. European Journal of Operational Research, 240, 382–392. Bianchessi, N., Mansini, R., & Speranza, M. (2014). The distance constrained multiple vehicle traveling purchaser problem. European Journal of Operational Research, 235, 73–87. Bosco, A., Laganà, D., Musmanno, R., & Vocaturo, F. (2013). Modeling and solving the mixed capacitated general routing problem. Optimization Letters, 7, 1451–1469. Bosco, A., Laganà, D., Musmanno, R., & Vocaturo, F. (2014). A matheuristic algorithm for the mixed capacitated general routing problem. Networks, 64, 262–281. Christofides, N., Campos, V., Corberán, A., & Mota, E. (1981). An algorithm for the rural postman problem. Technical Report IC.OR.81.5. Imperial College.

Corberán, A., Fernández, E., Franquesa, C., & Sanchis, J. (2011). The windy clustered prize-collecting arc-routing problem. Transportation Science, 45, 317–334. Deitch, R., & Ladany, S. (20 0 0). The one-period bus touring problem: Solved by an effective heuristic for the orienteering tour problem and improvement algorithm. European Journal of Operational Research, 127, 69–77. Eiselt, H., Gendreau, M., & Laporte, G. (1995). Arc-routing problems, part 2: the rural postman problem. Operations Research, 43, 399–414. Feillet, D., Dejax, P., & Gendreau, M. (2005a). Traveling salesman problems with profits. Transportation Science, 39, 188–205. Feillet, D., Dejax, P., & Gendreau, M. (2005b). The profitable arc tour problem: Solution with a branch-and-price algorithm. Transportation Science, 39, 539–552. Gendreau, M., Manerba, D., & Mansini, R. (2016). The multi-vehicle traveling purchaser problem with pairwise incompatibility constraints and unitary demands: A branch-and-price approach. European Journal of Operational Research, 248, 59–71. Golden, B., Dearmon, J., & Baker, E. (1983). Computational experiments with algorithms for a class of routing problems. Computers and Operations Research, 10, 47–59. Infante, D., Paletta, G., & Vocaturo, F. (2009). A ship-truck intermodal transportation problem. Maritime Economics and Logistics, 11, 247–259. Irnich, S., Laganà, D., Schlebusch, C., & Vocaturo, F. (2015). Two-phase branch-and– cut for the mixed capacitated general routing problem. European Journal of Operational Research, 243, 17–29. Lopez, L., Carter, M., & Gendreau, M. (1998). The hot strip mill production scheduling problem: A tabu search approach. European Journal of Operational Research, 106, 317–335. Mitchell, J. E. (2002). Branch-and-cut algorithms for combinatorial optimization problems. In P. M. Pardalos, & M. G. C. Resende (Eds.), Handbook of Applied Optimization. USA: Oxford University Press. Riera-Ledesma, J., & Salazar-González, J.-J. (2012). Solving school bus routing using the multiple vehicle traveling purchaser problem: A branch-and-cut approach. Computers and Operations Research, 39, 391–404. Souffriau, W., Vansteenwegen, P., Vanden Berghe, G., & Van Oudheusden, D. (2011). The planning of cycle trips in the province of East Flanders. OMEGA, 39, 209–213. Tsiligirides, T. (1984). Heuristic methods applied to orienteering. Journal of the Operational Research Society, 35, 797–809. Vansteenwegen, P., Souffriau, W., & Van Oudheusden, D. (2011). The orienteering problem: A survey. European Journal of Operational Research, 209, 1–10.

Please cite this article as: C. Archetti et al., The Undirected Capacitated General Routing Problem with Profits, European Journal of Operational Research (2016), http://dx.doi.org/10.1016/j.ejor.2016.08.001