New results for the Directed Profitable Rural Postman Problem

New results for the Directed Profitable Rural Postman Problem

Accepted Manuscript New results for the Directed Profitable Rural Postman Problem Marco Colombi, Renata Mansini PII: DOI: Reference: S0377-2217(14)00...

553KB Sizes 1 Downloads 56 Views

Accepted Manuscript New results for the Directed Profitable Rural Postman Problem Marco Colombi, Renata Mansini PII: DOI: Reference:

S0377-2217(14)00413-5 http://dx.doi.org/10.1016/j.ejor.2014.05.006 EOR 12306

To appear in:

European Journal of Operational Research

Received Date: Accepted Date:

16 October 2013 4 May 2014

Please cite this article as: Colombi, M., Mansini, R., New results for the Directed Profitable Rural Postman Problem, European Journal of Operational Research (2014), doi: http://dx.doi.org/10.1016/j.ejor.2014.05.006

This is a PDF file of an unedited manuscript that has been accepted for publication. As a service to our customers we are providing this early version of the manuscript. The manuscript will undergo copyediting, typesetting, and review of the resulting proof before it is published in its final form. Please note that during the production process errors may be discovered which could affect the content, and all legal disclaimers that apply to the journal pertain.

New results for the Directed Profitable Rural Postman Problem Marco Colombi∗, Renata Mansini Department of Information Engineering, University of Brescia, Italy

Abstract We study a generalization of the Directed Rural Postman Problem where not all arcs requiring a service have to be visited provided that a penalty cost is paid if a service arc is not crossed. The problem, known as Directed Profitable Rural Postman Problem, looks for a tour visiting the selected set of service arcs while minimizing both traveling and penalty costs. We add different valid inequalities to a known mathematical formulation of the problem and develop a branch-and-cut algorithm that introduces connectivity constraints both in a “lazy” and in a standard way. We also propose a matheuristic followed by an improvement heuristic (final refinement). The matheuristic exploits information provided by a problem relaxation to select promising service arcs used to solve optimally Directed Rural Postman problems. The ex-post refinement tries to improve the solution provided by the matheuristic using a branch-and-cut algorithm. The method gets a quick convergence through the introduction of connectivity cuts that are not guaranteed to be valid inequalities, and thus may exclude integer feasible solutions. All proposed methods have been tested on benchmark instances found in literature and compared to state of the art algorithms. Results show that heuristic methods are extremely effective outperforming existing algorithms. Moreover, our exact method is able to close, in less than one hour, all the 22 benchmark instances that have not been solved to optimality yet. Keywords: Routing, Directed Profitable Rural Postman Problem, Arc Routing with profits, Matheuristics

1. Introduction Let G(V, A) be a directed graph, where V = {0, ..., n} is the node set (node 0 represents the depot), and A = {(i, j) | i = j, i, j ∈ V } is the arc set. Let R ⊆ A be a subset of arcs requiring a service (service arcs). A penalty pij is assigned to each arc (i, j) ∈ R ∗

Corresponding author. Address: Via Branze 38 - 25123 - Brescia - Italy. Tel.: +39-030-3715448. Fax: +39-030-380014 Email addresses: [email protected] (Marco Colombi), [email protected] (Renata Mansini) Preprint submitted to European Journal of Operational Research

May 10, 2014

and a traveling cost cij is associated with each arc (i, j) ∈ A. The penalty represents the cost that has to be paid if the corresponding service arc is not selected. The problem looks for a tour starting and ending at the depot so that total traveling and penalty costs are minimized. Since the objective of minimizing traveling and penalty costs can be reformulated as maximizing the difference between the profit gained by serving required arcs and the traveling costs, the problem is called Directed Profitable Rural Postman Problem (DPRPP). Moreover, the problem is NP-hard generalizing the well-known Directed Rural Postman Problem (DRPP) where all service arcs have to be visited in the tour (see Eiselt et al. [17] and Dror [16]). The problem belongs to the class of arc routing problems with profits. Whereas vast literature exists for node routing problems with profits (see Feillet et al. [19] and Vansteenwegen et al. [25]), there are still very few contributions which can be found on their arc routing counterpart (see Corber´an and Prins [12] for a very recent annotated bibliography). As far as we know, Malandraki and Daskin [23] are the first authors to consider arc profits by introducing a directed version of the prize-collecting arc routing problem. In their problem a prize can be collected from each arc multiple times, and the size of the prize decreases with the number of collections. Feillet et al. [18] introduce the Profitable Arc Tour Problem (PATP). The objective function of the PATP maximizes the profit located on arcs minus the travel costs using a fleet of unlimited vehicles with no capacity constraint, but an upper bound on the length of each tour. No depot is considered and the profit is available on arcs for a limited number of times. More recently, Ar´aoz et al. [1] introduce the Privatized Rural Postman Problem (PRPP). The PRPP looks for a tour starting and ending at the depot while maximizing the difference between the profits gained by serving required edges and the crossing costs. The PRPP can be seen as the undirected version of the DPRPP. The authors study problem polyhedral properties identifying some dominance relations. Later on, Ar´aoz et al. [2] rename the problem Prize-collecting Rural Postman Problem. The authors identify upper bounds by solving iteratively relaxed models with a small number of inequalities and adding violated cuts through exact separation procedures. They also provide lower bounds for the problem generating feasible solutions using the 3T heuristic by Fern´andez et al. [20]. Their problem formulation uses two sets of binary variables indicating when edges are served and when only crossed, respectively. They show that the number of times an edge can be crossed in an optimal solution is never higher than 2, thus generalizing a known result for the Rural Postman Problem (RPP) (see Christofides et al. [8]). Since the work by Ar´aoz et al. [1], many other authors have studied different variants of the prize-collecting RPP. Examples are the clustered prize-collecting ARP by Ar´aoz et al. [3], and the windy clustered prize-collecting ARP by Corber´an et al. [13]. More recently, Black et al. [7] study the time-dependent prize-collecting Arc Routing Problem (TD-PARP) inspired to the PRPP but with the addition of real constraints. The graph is directed and traversing costs depend on the time they are crossed. Moreover, the problem allows for more requests between the same two nodes. Finally, in the literature there are problems where profits are placed on nodes and arcs. This is the case of the one-period Bus Touring Problem (BTP) introduced by Deitch and Ladany [15]. In the BTP the profits are nonnegative attractiveness values and the objective is to maximize the total attractiveness of 2

the tour by selecting a subset of nodes (sites) to be visited and arcs (scenic routes) to be traveled subject to constraints on touring time, cost and total distance. The problem studied in this paper originates in the domain of the transportation service procurement where companies need to decide which customers to serve directly and which to assign to external operators paying an outsourcing cost. In Guastaroba et al. [21] the problem, introduced under the name of Shipper’s Lane Selection Problem (SLSP), considers a shipper that has to decide which lanes (service arcs) to pick out for a direct service with its own vehicle, and which to assign conveniently to external carriers paying an outsourcing cost (the penalty). Since lanes outsourcing is made through an auction, the problem objective is the minimization of the sum of traveling costs and outsourcing costs plus the fixed cost of the auction set-up. The authors provide a mathematical formulation using binary instead of integer variables, thus allowing a single crossing for each arc. Other works can be found in this application area almost all referring to node instead of arc routing problems. See for instance Chu [10] who first analyzes the problem of deciding how many private vehicles to employ in truckload mode (and then defining their routing) and how many external carriers to use in less than truckload mode when the customer demand is more than the available vehicle capacity. A slightly different problem formulation is also analyzed by Cˆot´e and Potvin [14] who propose a Tabu Search algorithm to solve it. More recently, the SLSP has been reformulated by Archetti et al. [4] who call it Directed Profitable Rural Postman Problem and introduce an effective Tabu Search algorithm with the addition of an ex-post ILP-refinement. They also provide a set of benchmark instances for the problem many of which have not been solved to optimality up to now. This paper provides different contributions. We introduce a tighter problem formulation than the one proposed in Archetti et al. [4] adding different valid inequalities and use it to develop a branch-and-cut algorithm. We implement the proposed exact method separating the connectivity constraints both using the standard separation based on the solution of max-flow problems at each node of the search tree and excluding subtours only when integer solutions are found (lazy separation). The combination of the new problem formulation with the lazy separation of the connectivity constraints results to be the best performing approach allowing to close all the 22 instances not solved to optimality by Archetti et al. [4] in less than one hour of computing time. To guarantee a fair comparison with the literature we test our algorithms on a comparable PC than the one exploited in [4], and use the same version of MIP solver (CPLEX 10.1) the authors used in the paper. Note that in this CPLEX version no subroutine for lazy constraints is available. The mathematical formulation of the problem has also been used to construct an effective matheuristic and a final improvement method. Matheuristics are hybrid methods that combine heuristics and mathematical programming approaches providing a very promising alternative to meta-heuristics in solving hard combinatorial problems (we refer interested readers to Maniezzo et al. [24]). Our matheuristic exploits information provided by a problem relaxation to identify subsets of “promising” service arcs used to solve to optimality Directed Rural Postman problems. Each DRPP is formulated on a restricted graph induced by the selected service arcs (Auxiliary Problem). The matheuristic consists of two main routines, one considering subsets of service arcs of increasing size and the other one of decreasing 3

size. Finally, the improvement heuristic (final refinement) receives as input the best integer solution provided by the matheuristic and tries to improve it exploiting the branch-and-cut framework of a common MILP solver by inserting connectivity cuts that may not be valid inequalities and thus may eliminate feasible solutions. When an integer solution is found, the method looks for larger subtours and eliminates them forcing at least one arc to leave each of them, whereas this may not be the case in an optimal solution. On the contrary, small subtours are excluded through the insertion of standard violated inequalities as in an exact method. A defined parameter establishes when a subtour is considered large. Choosing this parameter, the method looks for the best trade-off between a quick convergence obtained through a massive introduction of connectivity cuts not guaranteed to be valid inequalities (large subtours) and a more substantial selection of violated cuts as in an exact method. In the first case, a higher efficiency is paid in terms of a lower performance, while in the second one better solution values can be obtained at the cost of a larger computing time. The paper is organized as follows. In Section 2 the mathematical formulation of the problem, different valid inequalities and some simple properties are discussed. We also describe the mathematical formulation of the Auxiliary Problem used to solve optimally the DRPP when the subset of service arcs to be visited is given. Section 3 is devoted to solution algorithms description, whereas in Section 4 we test both our exact algorithm and the heuristic approaches on benchmark instances introduced in [4] and compare their performance with state of the art algorithms. In Section 5 some conclusions and future developments are drawn. 2. Mathematical Formulation We start by describing the integer linear programming formulation for the DPRPP. The model uses O(|A|) integer variables x to indicate the number of times each arc is crossed and O(|A|) binary variables y to select arcs to serve. Finally, O(|V |) binary variables z are used to formulate connectivity constraints: xij ≥ 0

number of times arc (i, j) is crossed  1 if arc (i, j) is served yij := 0 otherwise;  1 if node j is visited zj := 0 otherwise.

The problem can be formulated as follows:

4

(i, j) ∈ A, (i, j) ∈ R, j ∈ V \ {0}.

(DPRPP) s. to:

min



(i,j)∈A cij xij



+



pij (1 − yij )

(2)

xij ≥ yij i∈V \{j} xij ≤ (|R| + 1)zj    j∈P zj x ≥ ij i∈P / j∈P |P |

(i, j) ∈ R j ∈ V \ {0}

(3) (4)

P ⊆ V \ {0}, P = ∅

(5)

xij ≥ 0 integer yij ∈ {0, 1} zj ∈ {0, 1}

(i, j) ∈ A (i, j) ∈ R j ∈ V \ {0}.

(6) (7) (8)

i∈V \{j}

xji

(1) j∈V

i∈V \{j}

xij =

(i,j)∈R



The objective function (1) minimizes the sum of traveling costs and penalties paid. Constraints (2) are the so called in-degree and out-degree constraints and impose the equivalence between the number of arcs entering and leaving each node j ∈ V . Constraints (3) imply that arc (i, j) ∈ R can be served (yij = 1), if and only if it has been crossed (xij ≥ 1). Constraints (4) control the values of zj variables. If at least one arc is entering node j, then variable zj is forced to 1. Inequalities (5) are connectivity constraints and prevent the generation of isolated cycles. Finally, constraints (6),(7),(8) define integer and binary conditions. This formulation can be found in Archetti et al. [4]. Note that, as in classical profitable problems, the objective function (1) can be reformulated as the maximization of profits minus costs:    pij yij − cij xij − pij . max (i,j)∈R

x∗ij

(i,j)∈A

(i,j)∈R

Let R∗ ⊆ R be the set of service arcs selected in an optimal solution of the DPRPP and the optimal value of variable xij , (i, j) ∈ A. The following proposition is trivially true:

Proposition 1. In an optimal solution of the DPRPP, x∗ij ≤ |R∗ | if (i, j) ∈ R and x∗ij ≤ |R∗ | + 1 otherwise. To understand this simple result one can look at Figure 1A where a DPRPP instance with three service arcs (1, 2), (2, 3), (2, 5) (drawn in bold lines) is shown. Assuming that penalties and costs are such that all service arcs are selected in an optimal solution, then variable x12 will take value |R∗ | = |R| = 3. Figure 1B shows the case in which arc (1, 2) does not belong to R. In this case, variable x12 will take value |R∗ | + 1, with |R∗ | = 2. 2.1. Valid inequalities Different valid inequalities can be added to the formulation (1)–(8). These inequalities help to strengthen the continuous relaxation of the problem, and the relaxation obtained by removing connectivity constraints (5) that we use in the solution algorithms. With respect to formulation (1)–(8) we also introduce a binary variable z0 associated with the depot. We consider the following sets of valid inequalities: 5

Figure 1: Upper bounds on the number of arcs crossing.

• The first set of inequalities provides a lower bound for the left-hand side of constraints (4). Each constraint forces at least one variable xij entering in node j to become positive when zj is equal to one: 

xij ≥ zj

j ∈ V.

(9)

i∈V \{j}

• Let I = {I0 , ..., Ik } be a partition of the nodes in V with I0 = {0}. Each Ip ∈ I \ I0 consists of all nodes j not belonging to previous sets Is , s = 0, ..., p − 1, so that there exists at least one arc (i, j) ∈ A or one arc (j, i) ∈ A, with i ∈ Ip and j ∈ Ip+1 (for example, Figure 2 shows the resulting partition I = {I0 , I1 , I2 , I3 } for an arbitrary graph, with I0 = {0}, I1 = {1, 4, 5}, I2 = {2, 6}, I3 = {3, 7}). The following inequalities hold:  j ∈ Ip+1 , p = 0, ..., k − 1, (10) i∈Ip zi ≥ zj  xij ≥ zs s ∈ Ip+1 , p = 0, ..., k − 1, (11) i∈I ,j∈I  p p+1 xji ≥ zs s ∈ Ip+1 , p = 0, ..., k − 1, (12) i∈I ,j∈I  p p+1 xij ≥ yqs |{q, s} ∩ Ip+1 | ≥ 1, (q, s) ∈ R, p = 0, ..., k − 1, (13) i∈I ,j∈I  p p+1 (14) i∈Ip ,j∈Ip+1 xji ≥ yqs |{q, s} ∩ Ip+1 | ≥ 1, (q, s) ∈ R, p = 0, ..., k − 1. Constraints (10) impose that if a node j ∈ Ip+1 is visited, then at least one node i ∈ Ip has to be visited as well. Constraints (11) and (12) reinforce the same concept of (10), imposing that at least one arc has to enter in Ip+1 from Ip and at least one arc has to leave Ip+1 entering in Ip if a node s ∈ Ip+1 is visited, respectively. 6

Figure 2: A graph and its partition I.

Similarly to constraints (11) and (12), inequalities (13) and (14) impose that at least one arc has to enter in Ip+1 from Ip and at least one arc has to leave Ip+1 entering in Ip if a service arc (q, s) with at least one endpoint in Ip+1 is served. Constraints (10)–(14) can be easily generalized by considering any two subsets Ip and Iq with q = p + 1, ..., k. For instance, inequality (10) can be modified as follows: 

zi ≥ zj

j ∈ Iq , p = 0, ..., k − 1, q = p + 1, ..., k.

i∈Ip

• This set of constraints associates each variable yij with the variables zh , h ∈ {i, j} corresponding to its endpoints: yij ≤ zh

(i, j) ∈ R, h ∈ {i, j}.

(15)

If service arc (i, j) is visited (i.e. yij = 1), then both variables zi and zj are forced to 1. • According to Proposition 1 and similarly to constraints (15), we can introduce the following upper bounds on variables xij :

xij ≤ (|R| + 1)zh (i, j) ∈ A \ R, h ∈ {i, j}, (i, j) ∈ R, h ∈ {i, j}. xij ≤ |R|zh

(16) (17)

Note that all presented valid inequalities are polynomial in number. Moreover, it can be observed that inequalities (13) and (14) are implied by inequalities (11),(12) and (15). 7

2.2. The Auxiliary Problem Let us consider the DPRPP relaxation obtained by excluding connectivity constraints (5) from formulation (1)-(8) and adding valid inequalities (9)–(12),(15)–(17). From now on, we will refer to such a relaxation as to problem RELAX. We indicate as RREL the set of service arcs selected by the optimal solution of problem RELAX. We have already defined R∗ ⊆ R as the set of service arcs selected in an optimal solution of the DPRPP. The following proposition holds: Proposition 2. In general, R∗ is not included in RREL . Trivially, a service arc (i, j) with pij ≤ cij may not be selected in the optimal solution of problem RELAX. On the contrary, it may be part of the DPRPP optimal solution if it is the most convenient way to ensure connectivity among disconnected sets of service arcs. Nevertheless, RREL usually contains promising service arcs, that is, service arcs that would be likely visited in an optimal solution of the DPRPP. In the following section, we will describe a heuristic algorithm that selects different combinations of service arcs in RREL and then formulates and solves to optimality the resulting DRPP instance using the following formulation. ¯ ⊆ R of service arcs, let G( ¯ V¯ , A) ¯ be the complete graph induced by R, ¯ Given a subset R ¯ ¯ where V ⊆ V is the set of endpoints of arcs in R plus the depot (if not already included), ¯ plus the lacking arcs between every pair of nodes in V¯ . A cost and A¯ is given by the set R ¯ then c¯ij is its original traveling c¯ij is assigned to each arc in A¯ as follows: if the arc (i, j) ∈ R cost cij , otherwise c¯ij is the cost of the shortest path connecting i to j in the original graph ¯ in a tour at minimum cost can be formulated as follows: G. The DRPP visiting arcs of set R  (18) (AU X) min (i,j)∈A¯ c¯ij wij   subject to: wji = wij j ∈ V¯ (19) ¯ ¯ i∈V \{j}

i∈V \{j}

wij ≥ 1   i∈K j ∈K / wij ≥ 1  j∈V¯ \{0} w0j ≥ 1 wij ≥ 0 integer

¯ (i, j) ∈ R K ⊆ V¯ \ {0}, K = ∅

(20) (21) (22)

(i, j) ∈ A¯

(23)

Each variable wij is a non negative integer and represents the number of times arc (i, j) ∈ A¯ is crossed. Objective function (18) minimizes the sum of traveling costs. Constraints (19) are the classical in-degree and out-degree constraints. Constraints (20) ensure the crossing ¯ Constraints (21) are common connectivity constraints which can be used since of arcs in R. ¯ have at least one entering or leaving arc belonging to R. ¯ Constraint all nodes in graph G (22) guarantees that at least one arc has to leave the depot. Finally, constraints (23) define the nature of variables wij . From now on we will refer to this formulation of the DRPP as to the Auxiliary Problem (AUX). It can be noticed that constraints (22), that force the solution to include the depot, are already implied by constraints (19) and (21). However, we introduce them as they strengthen 8

¯ Figure 3: Example: graph G and induced graph G.

the problem relaxation obtained by eliminating constraints (21). Such a relaxation is the starting point for the branch-and-cut algorithm we use to solve problem AUX to optimality. The exact method first solves to optimality the subproblem without constraints (21). Then it adds violated constraints from the set (21) in a lazy way, i.e. searching them only when integer solutions are found in the search tree. We will better describe the concept of lazy constraints when introducing our branch-and-cut method for the DPRPP. Finally, alternative formulations of the Rural Postman Problem can be found in Ball and Magazine [5] and Christofides et al. [9]. It is worth observing that, even if we use a formulation for the DRPP on an induced graph where non service arcs are represented by shortest paths, the variables of the problem (namely variables wij ) cannot be set as binary (see also Dror [16] pages 256–257, where it is said that no small and easy-to-obtain upper bound is known for the variables in the DRPP formulation). We report a simple example ¯ at showing how the best solution one can obtain by assuming to cross each arc in graph G most once, may not be optimal (see Example 1 below). Example 1. Figure 3 shows a graph G consisting of 4 nodes plus a depot and the complete ¯ induced by the set of service arcs R= ¯ {(1, 3), (1, 4), (2, 3)}. The optimal solution for graph G the DRPP on graph G is the tour 0 → 2 → 3 → 1 → 3 → 1 → 4 → 0 with cost equal to 8 ¯ If we assume that each arc in G ¯ cannot be crossed obtained solving problem AUX on graph G. more than once then the best solution obtainable becomes 0 → 1 → 3 → 2 → 3 → 1 → 4 → 0 with cost equal to 11 which is not optimal for the DRPP. 3. Solution Algorithms In this section, we describe the heuristic procedures and the branch-and-cut approach proposed for solving the DPRPP. 9

3.1. Heuristic solution algorithms We introduce two solution algorithms. The first approach is a matheuristic where at each iteration a new subset of service arcs in R is selected and a DRPP is solved to optimality. The second procedure works as a final refinement that tries to improve the best solution found by the matheuristic using a branch-and-cut search. The method gets quick convergence forcing connectivity constraints which may exclude integer feasible solutions. It is worth noticing that, although we introduce this method as an improvement procedure, nothing prevents to use it as a stand-alone algorithm. Relaxation Based Heuristic The algorithm solves problem RELAX and uses different combinations of arcs in RREL to construct DRPP instances solved to optimality using problem AUX. A parameter γ is introduced to control diversification by enlarging the set of service arcs initially selected by the optimal solution of problem RELAX. We call this algorithm Relaxation Based Heuristic (RBH) and report its pseudo code in Algorithm 1. At Step 1 the values r∗ and w∗ are initialized to the case where no service arcs are selected: the objective function value w∗ is set equal to the sum of all penalties, whereas ∗ ) of problem RELAX is determined tour r∗ is void. Then the optimal solution (x∗REL , yREL and RREL is the set of service arcs visited by such a solution (Step 2). If the optimal solution of problem RELAX does not select any service arcs, then initialization values at Step 1 are optimal for the DPRPP and algorithm stops (Step 3). Then parameter γ is initialized to 0 and the while cycle controlled by γ is started. In the first iteration, corresponding to γ = 0, the algorithm directly checks if the optimal solution of problem RELAX contains a unique tour closed to the depot (Steps 9-12). If this is not the case, the three subroutines ISA, IDA and IIA are called and the best tour found r∗ with total cost w∗ is returned at the end. From the second iteration of the cycle to the last one, when parameter γ becomes positive, the Step 7 is added allowing to enlarge the set of selected arcs. To this aim problem RELAX is solved with the inclusion of constraint (i,j)∈R xij ≥ min{|RREL | ∗ (1 + γ), |R|} that forces the selection of a larger number of service arcs than the previous iteration by a defined percentage γ. Note that the right-hand side of this constraint never allows a number of service arcs larger than |R|. When |RREL | = |R|, at step 22 the parameter γ is set to a value larger than γmax by a percentage  and the while cycle is stopped. Pseudo code of the Initial Solution Algorithm (ISA) is described in Algorithm 2. At Step 1 this subroutine finds a first feasible solution solving a DRPP using as required arcs the complete set RREL . The optimal solution of problem RELAX can have isolated tours. If an isolated tour contains only one service arc, we call such an arc an isolated service arc. To be selected in an optimal solution of problem RELAX an isolated service arc must have a penalty larger than the traveling cost of the corresponding tour. The selection of isolated service arcs in an optimal solution of the DPRPP depends on how convenient they remain after imposing their connection to the depot tour. While it may happen that an isolated service arc is selected in the optimal solution of the DPRPP, we notice that this is usually not the case. So, we decide to eliminate all isolated service arcs from set RREL and then 10

Algorithm 1 Relaxation Based Heuristic (RBH) Require: Graph G=(V,A), set R of service arcs. Ensure: a feasible tour r∗ with total cost w∗ .  1: Set r ∗ := ∅ and total cost w ∗ := (i,j)∈R pij . ∗ 2: Solve problem RELAX. Let (x∗REL , yREL ) be its optimal solution and let RREL ⊆ R be ∗ ∗ ). the subset of service arcs selected in (xREL , yREL ∗ ∗ ∗ 3: if yREL = 0 then return (r , w ). 4: Set γ = 0. 5: while (γ ≤ γmax ) do 6: if γ > 0 then  7: Solve problem RELAX with the addition of constraint (i,j)∈R xij ≥ min{|RREL | ∗ ∗ (1 + γ), |R|}. Let (x∗REL , yREL ) be its optimal solution and RREL the resulting set of selected arcs. 8: end if ∗ 9: if (x∗REL , yREL ) contains a unique cycle r¯ closed on the depot with total cost w¯ then ∗ 10: Set r := r¯ and total cost w∗ := w. ¯ 11: return (r∗ , w∗ ) 12: else   ∗ 13: (r , w ) := ISA((x∗REL , yREL ), RREL ).    ∗ ∗ 14: if w < w then set w := w , r∗ := r .   ∗ 15: (r , w ) := IDA((x∗REL , yREL ), RREL ).    ∗ ∗ 16: if w < w then set w := w , r∗ := r .   ∗ 17: (r , w ) := IIA((x∗REL , yREL )).    ∗ ∗ 18: if w < w then set w := w , r∗ := r . 19: return (r∗ , w∗ ). 20: end if 21: if (|RREL | = |R|) then 22: γ := γmax + . 23: else 24: γ := γ + γstep . 25: end if 26: end while solve problem AUX on the remaining set (Steps 2–5). Algorithm 2 terminates providing the best solution between the two solutions found. Routines IDA and IIA represent the two main phases of RBH. Their pseudo codes are illustrated in Algorithms 3 and 4. Isolated subtours are selected in the optimal solution of problem RELAX when the sum of traveling costs is lower than the sum of penalties. Nevertheless, their actual convenience for the optimal solution depends on the cost to connect them to the depot. To evaluate the convenience not to serve an isolated tour found by the problem RELAX optimal solution, 11

∗ Algorithm 2 Initial Solution Algorithm - ISA((x∗REL , yREL ), RREL ) 1: Solve problem AUX using set RREL as required arcs. Let r be the tour found and w its total cost. ˜ be the set of isolated service arcs selected in (x∗ , y ∗ ). 2: Let R REL REL ˜ = ∅ then 3: if R ˜ Let r˜ be the tour found and w 4: Solve problem AUX using set RREL := RREL \ R. ˜ its total cost. 5: if w ˜ < w then set w := w, ˜ r := r˜. 6: end if 7: return (r, w). ∗ Algorithm 3 Improvement by Decreasing Algorithm - IDA((x∗REL , yREL ), RREL )  1: Set r = ∅ and w = (i,j)∈R pij . ∗ 2: Let n ˜ be the number of isolated tours in (x∗REL , yREL ) with more than 2 service arcs. 3: for i = 1, ..., n ˜ do  4: Let Ri be the set of service arcs belonging to tour i. Set RREL := RREL \ Ri .  5: Solve problem AUX using set RREL as required arcs. Let ri be its solution and wi its total cost. 6: if wi < w then set w := wi , r := ri . 7: end for ∗ 8: Let r0 be the tour passing through the depot in (x∗REL , yREL ) and w0 its total cost. 9: if w0 < w then set w := w0 , r := r0 . 10: return (r, w).

Algorithm IDA removes, in turn, the service arcs of each isolated tour from the set RREL . At each iteration of the for cycle (Steps 3–7 of Algorithm 3) a new set of service arcs  Ri is determined and then eliminated from RREL . The resulting set of service arcs RREL is provided as required arcs to construct a new DRPP instance (problem AUX) solved to optimality. If no convenient paths exist to connect isolated tours to the depot, it may happen that the tour passing through the depot in the optimal solution of problem RELAX is already optimal for the original problem (Steps 8–9). Subroutine Improvement by Increasing (IIA) aims at evaluating the convenience to connect each isolated tour with the tour passing through the depot. This represents a measure of the convenience to insert it into the optimal solution. For this aim, during each iteration of the first for cycle (Steps 4–7), the service arcs selected by an isolated tour are added to those (if any) in the tour passing through the depot and used as input to problem AUX. For each set Ri ∪ R0 of required arcs defined at Step 5, we keep the objective function value (total cost) of the solution found by the problem AUX and in Step 8 we sort isolated tours in non decreasing order of such values. Then, following this order, the iterations of the second for cycle starting at Step 10, evaluate the solutions obtained by increasingly including the set of service arcs of each isolated tour, one after the other, to the set of service arcs of 12

∗ Algorithm 4 Improvement by Increasing Algorithm - IIA((x∗REL , yREL ))  1: Set r = ∅ and w = (i,j)∈R pij . ∗ 2: Let n ˜ be the # of isolated tours in (x∗REL , yREL ) with more than 2 service arcs. 3: Let R0 be the set of service arcs selected by the tour passing through the depot in ∗ (x∗REL , yREL ). 4: for i = 1, ..., n ˜ do 5: Let Ri be the set of service arcs selected by tour i. Solve problem AUX using set Ri ∪ R0 . Let ri be the solution tour and wi its total cost. 6: if wi < w then set w := wi , r := ri . 7: end for 8: Sort sets {Ri , i = 1, ..., n ˜ } in non decreasing order of solution costs {wi , i = 1...˜ n}. ¯ 9: Set R := R1 ∪ R0 . 10: for i = 2 to n ˜ − 1 do ¯ := R ¯ ∪ Ri . Let r¯ be its solution tour and w¯ its total 11: Solve problem AUX using set R cost. 12: if w ¯ < w then set w := w, ¯ r := r¯. 13: end for 14: return (r, w).

the tour passing through the depot. Thus, at each iteration, a new instance of problem AUX is solved receiving as input an increasing set of required arcs represented by the set of service arcs considered in the previous iteration plus the arcs of the isolated tour under consideration. Heuristic Cuts Search (HCS) This algorithm uses as input the best solution found by procedure RBH, and exploits a branch-and-cut algorithm to force connectivity cuts which may not be valid inequalities. In particular, when an integer solution is found at a node of the branch-and-bound tree, the procedure identifies isolated subtours. If the cardinality of the set P of nodes taking part of the subtour is larger than α |A| |A| the following cut is introduced:  |V | 



 i∈P

j ∈P /

xij ≥ 1

(24)

otherwise constraint (5) is added to the formulation. The value of parameter α defines the separation among large and small subtours. The smaller its value the higher the number of subtours that may be considered large. We decide to separate small from large subtours assuming that large subtours are more promising, since they identify arcs which more likely will belong to the optimal solution. If a subtour is classified as promising, then at least one node in such a tour has to be visited. This is imposed through the introduction of inequality (24) that prevents the creation of a tour by forcing to leave it with at least one arc (right-hand side of the constraint is a constant). Note that in an optimal solution this may not be the case. The method adds an inequality (24) 13

for each of the identified large subtours. Forcing such constraints may cause the exclusion of some problem feasible integer solutions, but allows the method to converge more quickly. The algorithm stops when a time limit is met. We call this procedure Heuristic Cuts Search (HCS). Moreover, to enhance HCS’s performance a heuristic routine is called iteratively in the tree after a predefined number of iterations. The procedure takes the optimal solution of the continuous relaxation at the current node of the search tree, and rounds the possibly fractional value of variables yij associated with service arcs to their closest integer. Selected service arcs are then used as input to problem AUX. Note that, given a set of required arcs, the solution of the problem AUX will provide the best way to serve them. This may possibly include the selection of additional service arcs located on the shortest path connecting nodes of the graph on which the problem AUX is formulated. If the solution found by solving the problem AUX is better than the actual incumbent solution, the latter is updated making bounding operations possibly more effective. 3.2. Exact solution algorithm We introduce a branch-and-cut algorithm that starts by solving to optimality the problem RELAX with all its valid inequalities. Commonly, branch-and-cut approaches for routing problems add violated connectivity constraints (5) at the continuous relaxation of all tree nodes (including the root) through the solution of max-flow problems. This is what is done in Archetti et al. [4]. We implement our exact method separating the connectivity constraints in two different ways. We use the standard separation based on the solution of max-flow problems to identify violated inequalities and, as an alternative, we eliminate subtours only when the LP solution in the current node of the search tree is already integer (lazy separation). In such a case, isolated tours are looked for, and if found, they are prevented by adding the inequalities (5) on the subsets P identified by the isolated cycles. Note that a connectivity cut is inserted for each identified subtour. The search of subtours is computed looking for connected components in the solution graph. A solution becomes feasible when no more isolated tours are found in the integer solution, that is, no more cuts will be discovered on that tree branch. In our implementation we adopt a best bound strategy to select nodes in the backtracking. The selection of the branching variables and the branching direction are determined automatically by CPLEX. The performance of our branch-and-cut method highly depends on the time required to solve problem RELAX with all its valid inequalities and on the time spent for separating connectivity constraints. We decide to test both ways of separating inequalities to compare their effectiveness. Each one of the two methods has pros and cons. In the literature, constraints added to an integer solution are usually considered weak in a polyhedral sense, and generally used in a lazy way by the branch-and-cut algorithm with the purpose of checking the feasibility of the integral solutions found along the tree. However, in our case the lazy constraints do not eliminate only the current infeasible solution, but also exclude all integral solutions that contain the identified subtours. Moreover, the lazy way of introducing inequalities avoids the introduction of the high number of constraints that 14

the standard method has to deal with since the beginning, often causing the algorithm to go out of memory (see results by Archetti et al. [4]). Finally, we also test a variant of our branch-and-cut where a heuristic routine is iteratively called at nodes of the search tree to solve problem AUX on subsets of service arcs. Without this external routine the method is already efficient: the routine’s introduction seems only to produce an increase in the average computational time. For this reason, we do not report computational results on this variant. Detailed results can be found in the technical report [11]. 4. Experimental analysis In this section, we present the results obtained testing our algorithms on the set of benchmark instances provided by Archetti et al. [4] that can be downloaded at the web site http: //www.unibs.it/sites/default/files/ricerca/allegati/13004DPRPP.zip. This data set consists of the following five sets of instances. 1. DPRPP  δ instances: this set consists of two groups of problems: the DPRPP  δ valXA that originally come from those by Benavent et al. [6] and instances DPRPP  δ egleY-A and DPRPP  δ egl-sY-A, originally taken from Li and Eglese [22]. Parameters (, δ) define the interval [cij , δcij ] in which penalty pij for each arc (i, j) is randomly generated and are set equal to (1.0, 2.0), (1.5, 2.5) and (2.0, 3.0), respectively. The total number of problems is equal to 54 (30 in the first group and 24 in the second one). 2. DPRPP P instances: 26 problems. 3. DPRPP D instances: 36 problems. 4. DPRPP G instances: 36 problems. 5. DPRPP R instances: 20 problems. Sets 2–5 come from Ar´aoz et al. [2], where the original profits of these problems have been used as penalties for the DPRPP. At the website http://www.ing.unibs.it/∼orgroup/ instances.html we provide the new optimal solutions we get for all open instances. All tests have been performed using a Laptop with 1.73 GHz processor in Windows Seven operating system. Algorithms have been coded in C++ and models implemented in ILOG Concert Technology 2.0 and solved using CPLEX 10.1. 4.1. Exact results In this section, we show the results obtained by different implementation of our exact procedure. We set a computational time limit of 3600 seconds after which the branch-andcut search is stopped and the best feasible solution found as well as its percentage gap with respect to the best lower bound are provided as output. In Table 1, we summarize the average results on each set of instances obtained by the branch-and-cut algorithm when implemented using two different separation methods for the connectivity cuts and two different mathematical formulations. Detailed results 15

for each instance can be found on the webpage http://www.ing.unibs.it/∼orgroup/ Results DPRPP.zip. In particular, formulation “Basic” applies the problem formulation proposed in Archetti et al. [4], whereas formulation “New” uses our formulation of the DPRPP that includes the new described valid inequalities. Moreover, both variants are tested with the two ways of adding violated connectivity cuts, that is the lazy way (Lazy separation) and the standard one solving max-flow problems at each node (Standard separation). The first column of the table provides the name of the five sets of instances, whereas column “#” indicates the total number of instances for each set and “# opt” how many instances in each set have been solved to optimality by each branch-and-cut variant. The entry is highlighted in bold style when all instances of the set have been solved to optimality. Columns “Time” and “# cuts” report the average time in seconds required to solve the instances of the set and the average number of connectivity cuts added. Comparing the results of Table 1 with the ones of the branch-and-cut implemented in Archetti et al. [4] it is evident how competitive the use of lazy constraints and the introduction of our valid inequalities could be. Direct comparison can be done since hardware is comparable and the same version of CPLEX 10.1 has been used. Comparing New and Basic, one can appreciate the advantage of a better problem formulation. It is worth noticing that the combination of the New formulation with the lazy separation is the best performing variant finding the optimal solutions for all the instances and always requiring the lowest average computational time (Basic formulation for DPRPP  δ egl instances shows a lower average time, but this is due to the fact that the method in most difficult instances goes out of memory very early before the 3600 seconds available for the computation). In Table 2, we provide the details on the optimal solution values found by the branch-and-cut with lazy separation for all the 22 open instances not solved to optimality by Archetti et al. [4]. The first column of the table provides the instance name, whereas columns “|V |” and “|R|” indicate the instance size, namely its number of nodes and of service arcs, respectively. Column “Opt.” shows the optimal solution value for the instance. Columns “Time” and “# cuts” report the time in seconds required by each variant to get the optimal solution and the number of connectivity cuts added to prevent isolated tours. Since the variant using Basic formulation does not always terminate within the computational time limit of 3600 seconds, in column “Time” we report (into brackets) the best integer solution found and its percentage gap from the best lower bound. When the algorithm goes out of memory, the computing time is put before the brackets. Lazy separation Instances DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP

 δ val  δ egl P D G R

All instances

Standard separation

#

# opt

Basic Time

# cuts

# opt

New Time

# cuts

# opt

Basic Time

# cuts

# opt

New Time

# cuts

30 24 26 36 36 20

30 22 26 36 34 20

0.02 138.53 0.23 22.13 200.14 2.86

1.50 894.33 16.35 116.47 539.81 58.75

30 24 26 36 36 20

0.03 193.24 0.14 3.63 8.42 0.55

0.43 461.63 8.77 71.14 110.58 22.35

30 23 26 36 31 20

0.20 608.34 5.21 92.10 649.76 12.09

0.77 1029.92 19.88 215.67 1872.75 83.05

30 22 26 36 33 20

0.17 497.92 5.55 61.05 544.67 7.36

0.53 750.58 17.96 158.14 1556.47 48.50

172

168

66.22

271.72

172

29.58

106.45

166

242.39

593.62

167

197.98

472.05

Table 1: Branch-and-cut variants: average results.

From the analysis of Table 1 it is evident how DPRPP  δ val instances of Set 1 are 16

very easy. Their solution always requires an average time less than 0.20 seconds for all the variants. On the contrary, DPRPP  δ egl are among the most difficult instances. The variant using formulation New with lazy separation has been able to find the optimal solution for all the 8 open instances (see Table 2), whereas the corresponding variant with Basic formulation goes out of memory 2 times. Formulations New and Basic applied with standard separation do not close respectively two instances (gap from the best bound equal to 0.6% and 4.0%, respectively) and one instance (gap equal to 4.4%). Comparing these results with the ones in Archetti et al. [4] one can notice how the use of lazy cuts helps problem solution and how the procedure we use to separate violated cuts in the standard way performs better than the one applied in [4]. If we exclude instances DPRPP ALBAIDAANoRPP and DPRPP ALBAIDABNoRPP that are the most difficult problems in the set DPRPP P, the remaining instances are still quite easy being solved, on average, in less than 0.25 second and less than 6 seconds for both variants with lazy separation and standard separation, respectively. In all the cases they always require a limited number of cuts. DPRPP D is a set of instances that shows a large deviation in terms of number of nodes and service arcs. The complexity of such instances increases with their size. Our algorithm finds the optimal solution using any of the four variants for all the instances and has been able to close all the four open instances. In the case with lazy separation, formulation New has a computational time by about 7 times lower than formulation Basic and has halved the number of cuts. When considering standard separation, the time required by formulation Basic is more than 4 times larger than the corresponding formulation with lazy separation, whereas that of formulation New is 20 times larger than the corresponding formulation with lazy constraints. As for DPRPP D, also for instances DPRPP G the complexity increases with size. For the lazy separation case, formulation New performs well closing to optimality all the previously open instances. This is not the case for the formulation Basic that in one case goes out of memory with a gap from the best bound larger than 5% and in another one is unable to find the optimal solution and terminates after 1 hour with a gap equal to 2.57%. Nevertheless, both formulations with lazy separation outperform the corresponding formulations with standard separation that show, on average, higher computational times and larger numbers of added cuts and are unable to find the optimal solution in 5 instances (formulation Basic) and 3 instances (formulation New), respectively. Finally, the results on instances DPRPP R show how all variants have been able to find the optimal solution for all the instances, closing to optimality two previously unsolved instances. In conclusion, variant using New formulation with lazy separation of connectivity cuts has been able to solve all the instances to optimality. The second variant that has produced the best results is the variant using Basic formulation with lazy separation that performs slightly better than the variant with New formulation and standard separation. Finally, variant using Basic formulation with standard separation is the worst one. Results show the effectiveness of using lazy constraints and how the introduction of new valid inequalities creates a stronger formulation that significantly helps branch-and-cut solution.

17

Instances

Instance Details |V | |AR |

DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP DPRPP

77 140 140 140 140 140 140 140 64 100 100 100 64 64 100 100 100 100 100 100 40 50

1.0 2.0 egl-e1-A 1.0 2.0 egl-s2-A 1.0 2.0 egl-s3-A 1.5 2.5 egl-s1-A 1.5 2.5 egl-s2-A 1.5 2.5 egl-s3-A 2.0 3.0 egl-s1-A 2.0 3.0 egl-s2-A D20NoRPP D27NoRPP D28NoRPP D29NoRPP G18NoRPP G20NoRPP G27NoRPP G28NoRPP G29NoRPP G30NoRPP G31NoRPP G32NoRPP R12NoRPP R17NoRPP

51 147 159 75 147 159 75 147 120 190 192 188 24 27 41 49 44 73 77 82 82 130

Opt. 2183 4738 4853 2596 5434 5644 2688 5662 2618 3388 3896 3265 51 54 82 94 89 122 131 139 79132 109525

Lazy separation Basic Time # cuts 28.91 1732.06 (4804, 3.50%) 135.38 648.555 (2598, 1.02%) 43.79 58.44 13.03 1.05 40.54 133.88 74.19 516.28 1.03 3.45 734.73 (94, 2.57%) 2828.43 (91, 5.48%) 17.91 3.28 1.03 8.02 12.48

862 5563 1352 4591 861 211 325 34 391 293 519 1853 98 184 1696 6031 8657 888 208 78 127 367

New Time # cuts 0.42 3586.3 48.98 901.59 70.90 4.37 16.86 1.23 2.17 7.86 19.83 70.90 0.22 0.50 47.60 73.90 151.52 9.98 2.87 9.53 1.40 1.48

28 3878 1011 4162 991 130 510 27 110 138 439 882 31 38 321 1311 792 460 131 336 73 51

Table 2: Optimal solution values for the 22 open instances.

4.2. Heuristic Results In this section, we analyze the performance of our heuristic approaches. After some preliminary tests, we have decided to set both parameters γmax and γstep for heuristic RBH equal to 0.30. This means that the algorithm executes only 2 iterations of the while cycle. The maximum computing time assigned to heuristic HCS has been set to 50 seconds. To limit the number of times the problem AUX is solved, we set a CPLEX condition that calls the corresponding heuristic only if the current iteration is a multiple of 10. A maximum computing time of 10 seconds is assigned to the solution of each problem AUX. Moreover, we set to 2% the percentage gap between incumbent integer solution and best bound, under which the problem AUX is not solved anymore. Preliminary tests have shown that, on average, it is difficult that a solution of this problem can improve the best incumbent under this gap value. In the following, we compare the performance of the Tabu Search algorithm and the ILP-refinement (indicated as ILP-ref. in the tables) proposed by Archetti et al. [4] with our procedures RBH and HCS, the latter tested with α = 0 and α = 0.05, respectively. Tables 3–8 have all the same structure. The first column indicates the name of the instance (reduced to the identification number). Each entry of column “Best Known”shows the best known solution value that corresponds to the optimal solution value for all instances. Column “Gap (%)”provides for each heuristic the percentage gap of its solution value (UB) (computed as in Archetti et al. [4] in order from the best known value (BK) as follows U B−BK UB to guarantee a comparison). Column “Time”indicates the computational time in seconds required by each algorithm. This means that to correctly evaluate the time of the ILPrefinement that receives as input the solution found by the Tabu Search, one has to sum 18

the computational time of the two procedures. Thus, differently from Archetti et al. [4], the “Time”column of ILP-refinement is the sum of Tabu Search and ILP-refinement computing times. Similarly, the computational time for our heuristic HCS that receives as input the best solution found by procedure RBH is computed as the sum of the times required by the two procedures. Column “Routine”shows which routine of the method RBH has found the best final solution. If the name of the routine has “(γ)”at the end, it means that the best solution has been found by this routine during the second iteration of the while cycle of RBH when γ = 0.30. For algorithm HCS column “# cuts”provides the number of heuristic cuts used and column “# AUX”shows the number of time the problem AUX has been solved and the number of times its solution has improved the best incumbent integer solution (value into brackets). Table 3 presents results for instances DPRPP  δ valXA of Set 1. Procedure HCS finds the optimal solution for all instances with both α = 0.05 and α = 0. In particular, almost all the optimal solutions have been found by routine ISA. Algorithm RBH always requires less than 1 second and finds an average error almost null, whereas Tabu Search and ILP-refinement show a performance slightly worse with an average computational time of about 13 and 16 seconds, respectively. Note that these instances are so easy that HCS never calls the routine to solve problem AUX. Table 4 shows heuristic results on instances DPRPP  δ egl-eY-A and DPRPP  δ egl-sY-A of Set 1. On these instances Tabu Search performs very well providing an average gap equal to 0.29%, whereas ILP-refinement has no effect at all only producing an increase in the computational time. Our algorithm RBH performs very well but in few instances that increase average error to 0.53%. Such an error is however strongly reduced by HCS. It is worth noticing that HCS(α = 0.05) behaves better than HCS(α = 0) where all subtours (also the smallest) are forced to be visited. This seems to confirm our idea that smallest subtours selected by problem RELAX are more unlikely to belong to the optimal solution. To conclude, on this set of instances, the performance of RBH–HCS and that of Tabu Search–ILP-refinement are comparable. On instances of the Set 2 (see Table 5) our algorithm HCS with both α = 0 and α = 0.05 outperform state of the art algorithms. For α = 0.05 the average computational time and the average gap are equal to 4.05 seconds and 0.06%, respectively, whereas the corresponding values increase to 19.84 seconds and to 0.38% for ILP-refinement by Archetti et al. [4]. In Table 6, heuristic results on instances of the Set 3 are presented. Also in this set the combination of our algorithms outperforms state of the art algorithms. HCS with α = 0.05 requires, on average, 33 seconds and gets an average gap equal to 0.28%, whereas ILP-refinement shows an average gap equal to 0.71% and requires about 40 seconds. In Set 4 (see Table 7) the average time of our HCS with α = 0.05 is higher by about 9 seconds than the one of ILP-refinement, however its percentage gap is 0.06% instead of 0.18%. It is worth noticing that, for these instances, HCS is able, on average, to strongly improve results obtained by RBH in less than 3 seconds. Finally, better results can be found on Set 5 in Table 8, where both RBH and HCS get a better average gap than Tabu Search and ILP-refinement and require computational times significantly lower. The average computing time of our HCS is lower than 1 second with an average gap equal to 0.25% against the 40 seconds required by the ILP-refinement getting an average gap of 0.46%. 19

In Table 9, we report a summary comparing all results for Tabu Search–ILP-refinement and RBH–HCS. The first column indicates the set of instances, then for each algorithm we provide the average (Avg.) and the maximum (Max) gap and the average and the maximum time computed out of all instances in each set. On all solved instances our algorithms provide a better average performance in terms of time and percentage gap. To better analyze the performance of our algorithms, in Table 10 we illustrate the number of times each routine in RBH obtains the best solution provided as output. For each routine (i.e. for each row of the table) we show the number of times it gets the best value (final solution) for algorithm RBH (first column) and the number of times this value is not improved by the refinement HCS (second column), respectively. For instance, routine ISA gets the best solution value provided by RBH in 69 instances out of the 172 available, whereas for HCS this happens 56 times, that is in 13 out of 69 times HCS is able to improve the best result obtained by ISA. Note that the last line of the table refers to HCS and indicates the number of times (that is 86) where HCS gets the best final results improving the results obtained by RBH. Finally, in Table 11, we provide the number of times each algorithm finds the best solution value in each set of instances, and show into brackets the number of times such values coincide with the best know solution values. If the best known value is reached by more than one algorithm we count it for all of them. For instance, the first row of DPRPP  δ val results shows that Tabu Search and ILP-refinement get 21 best heuristic solutions that coincide with the best known values, whereas RBH and HCS find 28 and 30 best solutions corresponding to best known values, respectively. To conclude, HCS performance is very good and RBH is an easy and fast matheuristic able to find promising solutions in some sets of instances even better than the ones obtained by more complicated meta-heuristic algorithms as the Tabu Search used as benchmark.

20

21

2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0

val1A val2A val3A val4A val5A val6A val7A val8A val9A val10A val1A val2A val3A val4A val5A val6A val7A val8A val9A val10A val1A val2A val3A val4A val5A val6A val7A val8A val9A val10A

Average

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0

Instances 195 265 88 426 472 253 340 423 342 446 216 291 101 463 517 275 374 461 368 485 221 298 105 476 528 281 383 471 373 492

Best Known

0.08

0.00 0.00 0.00 0.47 0.42 0.00 0.29 0.00 0.29 0.22 0.00 0.00 0.00 0.22 0.19 0.00 0.00 0.00 0.00 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20 13.62

4.63 4.48 4.64 12.89 11.45 7.67 11.67 13.83 19.17 22.97 7.67 4.11 3.78 14.39 11.33 7.06 18.34 16.30 18.84 36.64 7.31 6.13 6.39 17.05 18.05 10.38 16.61 15.52 28.19 31.05

Tabu Gap (%) Time

16.33

5.55 17.67 5.16 14.03 12.09 8.20 14.20 14.30 19.86 23.60 9.22 4.47 4.17 15.84 11.77 7.45 55.86 17.19 19.73 38.31 8.00 6.72 7.03 20.27 18.61 11.11 17.33 18.10 28.82 35.27 0.02

0.00 0.00 0.00 0.00 0.21 0.39 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

0.36

0.10 0.06 0.07 0.33 0.35 0.24 0.63 0.22 0.83 0.74 0.13 0.13 0.10 0.49 0.30 0.23 0.41 0.21 0.99 0.72 0.12 0.12 0.15 0.49 0.29 0.16 0.40 0.26 0.90 0.74

RBH Time ISA IIA ISA ISA ISA (γ) IDA ISA (γ) ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA ISA

Routine

0.00

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

0.44

0.16 0.08 0.09 0.41 0.42 0.33 0.69 0.27 1.00 0.86 0.16 0.16 0.14 0.56 0.36 0.28 0.48 0.25 1.19 0.87 0.14 0.16 0.16 0.59 0.36 0.20 0.50 0.28 1.05 0.91 0.47

1 3 0 1 1 3 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

HCS (α=0) Time # cuts

Table 3: Heuristic results on instances DPRPP  δ val.

0.08

0.00 0.00 0.00 0.47 0.42 0.00 0.29 0.00 0.29 0.22 0.00 0.00 0.00 0.22 0.19 0.00 0.00 0.00 0.00 0.21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.20

ILP-ref. Gap (%) Time 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)

# Aux. Pr.

0.00

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

0.44

0.16 0.09 0.09 0.45 0.36 0.48 0.76 0.27 0.95 0.86 0.19 0.17 0.12 0.55 0.33 0.30 0.51 0.30 1.01 1.00 0.14 0.12 0.16 0.51 0.37 0.31 0.47 0.27 1.01 0.90 0.33

1 1 0 0 1 2 4 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

HCS (α=0.05) Time # cuts 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)

# Aux. Pr.

22

2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.5 2.5 2.5 2.5 2.5 2.5 2.5 2.5 3.0 3.0 3.0 3.0 3.0 3.0 3.0 3.0

egl-e1-A egl-e2-A egl-e3-A egl-e4-A egl-s1-A egl-s2-A egl-s3-A egl-s4-A egl-e1-A egl-e2-A egl-e3-A egl-e4-A egl-s1-A egl-s2-A egl-s3-A egl-s4-A egl-e1-A egl-e2-A egl-e3-A egl-e4-A egl-s1-A egl-s2-A egl-s3-A egl-s4-A

Average

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 2.0 2.0 2.0 2.0 2.0 2.0 2.0 2.0

Instances 2183 2616 3026 3413 2125 4738 4853 5772 2494 3016 3518 3817 2596 5434 5644 6492 2622 3109 3659 3931 2688 5662 5838 6721

Best Known

0.29

0.00 0.00 0.07 0.20 0.00 0.69 1.58 1.20 0.00 0.00 0.00 0.00 0.00 2.74 0.55 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 42.35

5.75 10.64 16.64 18.70 9.64 61.88 71.27 109.94 6.72 12.64 17.06 19.92 13.39 43.47 57.81 105.69 9.94 17.58 22.52 28.97 12.14 40.95 127.02 176.20

Tabu Gap (%) Time

70.22

6.27 11.05 20.92 64.81 10.03 324.36 404.43 110.64 7.30 13.14 18.51 21.06 14.45 44.20 61.26 106.42 10.82 18.78 24.46 29.89 12.67 41.37 129.90 178.58 0.53

0.00 0.53 0.00 0.96 0.42 2.09 1.36 0.53 0.24 0.13 0.17 0.00 2.48 1.63 0.69 0.03 0.00 0.00 0.00 0.00 0.00 0.19 1.20 0.00

Gap (%)

60.07

0.45 0.73 2.26 9.92 1.92 172.30 130.21 345.49 1.68 2.29 3.32 5.13 62.82 183.22 173.27 53.19 0.69 1.47 3.30 3.31 44.27 114.98 87.68 37.77

RBH Time ISA ISA ISA ISA IDA IDA IIA IIA (γ) IDA (γ) ISA ISA ISA IIA (γ) IDA IDA (γ) ISA ISA ISA ISA ISA IIA IDA IDA ISA

Routine

0.35

0.00 0.53 0.00 0.23 0.00 2.01 1.36 0.53 0.16 0.13 0.17 0.00 2.48 0.79 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

70.53

0.62 0.87 2.35 10.12 1.93 221.64 176.98 384.46 1.90 2.29 3.55 5.22 62.95 231.50 187.51 58.44 1.08 1.81 3.82 3.88 45.53 150.15 95.33 38.74 53.92

22 6 3 92 5 84 257 45 3 7 4 15 14 622 74 3 1 1 0 0 7 21 8 0

HCS (α=0) Time # cuts

Table 4: Heuristic results on instances DPRPP  δ egl.

0.29

0.00 0.00 0.07 0.20 0.00 0.69 1.58 1.20 0.00 0.00 0.00 0.00 0.00 2.74 0.55 0.03 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

ILP-ref. Gap (%) Time 2 0 0 0 0 6 3 0 1 0 0 0 0 3 0 0 0 0 0 0 0 1 0 0

(2) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0)

# Aux. Pr.

0.16

0.00 0.00 0.00 0.00 0.00 2.01 1.36 0.00 0.00 0.00 0.00 0.00 0.42 0.00 0.09 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

72.76

0.76 1.95 2.40 10.59 2.14 221.89 179.16 383.65 1.84 2.51 3.67 5.69 112.51 211.91 191.47 56.80 0.84 1.78 3.82 3.87 51.46 155.83 95.85 43.91

148.00

24 119 0 75 3 161 182 20 1 0 0 15 1990 612 80 0 0 0 0 0 236 29 5 0

HCS (α=0.05) Time # cuts

2 0 0 0 0 9 16 0 1 0 0 0 21 1 1 0 0 0 0 0 0 2 0 0

(2) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (2) (1) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0)

# Aux. Pr.

23

0.42

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.27 0.19 1.59 0.85 0.00 0.00 0.13 0.80 0.65 0.65 1.97

Average

1.35 60 306 160 123 222 155 221 178 105 103 31 24 41 465 512 434 234 200 344 745 620 1692 913 945

2.35 0.34

P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 P11 P12 P13 P14 P15 P16 P17 P18 P19 P20 P21 P22 P23 P24

14332 12599

ALBAIDAA ALBAIDAB

18.41

2.69 6.44 6.27 3.88 3.86 4.05 4.63 4.75 2.67 2.45 2.31 2.22 2.27 10.97 3.42 13.77 4.45 4.80 4.73 17.67 36.28 112.34 88.41 30.78

51.32

58.45 44.19

Tabu Gap (%) Time

Average

Best Known

Instances

19.84

3.08 6.78 6.77 4.35 4.52 4.60 5.07 5.20 3.14 2.83 2.67 2.69 2.69 11.47 4.03 14.22 5.06 5.16 5.67 27.48 36.91 117.58 88.86 41.08

51.99

59.15 44.83

1.60

0.00 3.16 3.03 2.38 0.00 0.64 1.34 2.73 0.00 0.00 8.82 0.00 0.00 3.93 0.00 1.59 0.00 3.38 0.00 3.62 1.27 0.00 0.98 2.48

1.10

0.16 2.04

Gap (%)

3.97

0.06 0.06 0.50 0.09 0.14 0.20 0.09 0.09 0.05 0.06 0.04 0.04 0.04 1.51 0.14 0.73 0.11 0.12 0.37 14.94 4.79 0.72 3.40 3.57

35.75

29.36 42.15

RBH Time

IDA ISA (γ) IDA ISA (γ) IDA ISA IIA IIA ISA ISA ISA ISA ISA IDA (γ) IDA ISA (γ) ISA (γ) IDA (γ) ISA IDA IDA ISA ISA (γ) ISA (γ)

IDA IDA

Routine

0.10

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.48 0.00 0.13 0.00 0.00 0.00 0.00

0.53

0.16 0.90

Gap (%)

4.14

0.07 0.06 0.51 0.11 0.16 0.20 0.12 0.12 0.06 0.06 0.04 0.04 0.04 1.53 0.16 0.83 0.11 0.12 0.41 15.05 5.04 0.86 3.56 3.65

37.39

31.22 43.56

8.27

3 3 8 4 8 6 11 1 0 2 4 0 2 4 18 6 2 4 5 10 22 0 4 12

38.00

12 64

HCS (α=0) Time # cuts

Table 5: Heuristic results on instances DPRPP P.

0.38

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.27 0.19 1.36 0.85 0.00 0.00 0.13 0.80 0.65 0.65 1.97

1.03

1.82 0.25

ILP-ref. Gap (%) Time

0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (0) (0)

0 (0) 0 (0)

# Aux. Pr.

0.06

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.48 0.00 0.00 0.00 0.00 0.00 0.00

0.00

0.00 0.00

Gap (%)

4.05

0.06 0.06 0.50 0.09 0.14 0.23 0.11 0.10 0.06 0.06 0.04 0.04 0.04 1.54 0.15 0.73 0.11 0.16 0.48 15.09 5.05 0.89 3.51 3.58

36.26

30.36 42.16

9.69

3 3 8 4 5 6 10 1 0 2 4 0 2 4 9 6 2 10 3 6 21 0 4 12

63.50

3 124

HCS (α=0.05) Time # cuts

0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (0) (0)

0 (0) 1 (1)

# Aux. Pr.

24

Average

D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 D31 D32 D33 D34 D35

Instances

1191 1348 1312 1398 1595 1329 1517 1592 1650 1889 1765 2375 2172 2391 2536 2506 2458 2754 2520 2522 2618 2898 3045 2892 3341 3317 3772 3388 3896 3265 4037 4175 3857 4578 4753 4437

Best Known

0.99

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.00 0.00 0.00 0.00 0.00 2.26 0.04 0.33 1.64 1.91 1.36 0.65 1.23 0.99 1.99 1.69 0.19 3.03 1.17 2.04 1.78 3.67 2.87 3.30 0.46 2.83 38.85

2.95 3.05 3.44 4.25 3.50 3.25 3.08 3.24 3.17 7.03 6.63 16.41 7.72 9.75 11.91 10.25 10.23 11.70 23.81 23.34 25.94 31.88 31.61 47.17 34.36 34.56 66.99 119.33 93.48 80.28 108.91 106.17 118.78 97.94 121.86 110.75

Tabu Gap (%) Time

0.71

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.26 0.00 0.00 0.00 0.00 0.00 0.24 0.04 0.33 1.64 0.86 1.36 0.65 1.23 0.99 0.83 0.18 0.19 2.89 0.76 2.04 1.78 2.48 1.91 2.47 0.38 1.94 1.37

0.00 0.00 0.00 1.89 1.66 0.00 0.00 2.51 0.00 0.11 0.73 2.06 1.63 0.95 0.00 0.08 0.24 0.83 0.94 0.00 2.39 0.24 3.24 1.47 4.08 1.25 1.82 2.70 4.04 2.33 1.85 2.52 3.45 2.26 0.61 1.51

Gap (%)

29.28

0.02 0.04 0.11 0.04 0.06 0.07 0.18 0.09 0.11 0.28 0.22 0.26 0.90 0.23 0.34 4.16 0.24 0.82 3.04 4.91 5.52 7.67 40.84 42.93 14.85 5.71 3.02 95.56 126.03 222.66 72.16 91.99 235.01 32.10 14.71 27.31

RBH Time ISA ISA IDA IDA IDA IDA IDA IDA (γ) IDA IDA IDA IIA (γ) IIA IDA ISA IDA IIA IDA IIA (γ) IIA (γ) IIA (γ) IDA ISA IDA IDA IDA IDA IIA IIA (γ) IIA IDA ISA (γ) IIA IDA ISA ISA

Routine

0.42

0.00 0.00 0.00 1.89 0.00 0.00 0.00 0.00 0.00 0.11 0.00 0.63 1.63 0.00 0.00 0.08 0.00 0.33 0.83 0.00 1.36 0.14 0.13 0.72 0.00 0.30 0.00 2.70 1.19 1.30 0.37 0.00 0.59 0.13 0.29 0.56

Gap (%)

32.27

0.11 0.08 0.11 0.05 0.06 0.08 0.19 0.12 0.12 0.31 0.23 0.31 0.94 0.37 0.39 4.18 0.31 0.91 3.26 5.01 8.07 8.41 41.17 43.28 15.05 6.04 3.26 100.28 159.01 268.51 84.24 92.79 236.08 33.92 15.79 28.69 100.08

0 1 6 5 4 4 8 11 7 4 9 6 11 28 9 14 0 7 22 20 255 56 32 23 9 20 5 169 852 1548 385 14 35 5 10 9

HCS (α=0) Time # cuts

Table 6: Heuristic results on instances DPRPP D.

39.82

3.42 3.41 3.88 4.63 3.89 3.73 3.44 4.02 3.58 7.45 7.02 16.88 8.06 10.13 12.38 10.89 10.75 12.08 27.12 24.95 27.33 32.55 32.25 47.64 37.80 35.08 67.52 121.46 94.12 80.97 109.50 109.16 119.34 102.61 123.14 111.41

ILP-ref. Gap (%) Time 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 1 1 2 1 0 0 0 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (2) (0) (0) (0) (0) (0) (0) (1) (1) (1) (1) (0) (0) (0) (0) (0)

# Aux. Pr.

0.28

0.00 0.00 0.00 1.89 0.00 0.00 0.00 0.00 0.00 0.11 0.00 0.63 1.63 0.00 0.00 0.08 0.00 0.33 0.04 0.00 1.13 0.14 0.00 0.10 0.00 0.30 0.00 1.85 1.77 0.00 0.25 0.00 0.00 0.00 0.00 0.00

Gap (%)

33.26

0.05 0.06 0.11 0.05 0.08 0.08 0.20 0.09 0.12 0.37 0.23 0.30 0.91 0.45 0.34 4.18 0.31 0.83 4.21 5.27 9.14 8.52 41.48 43.42 14.94 5.96 3.12 105.19 171.99 272.19 86.95 92.11 247.54 32.25 14.84 29.55 84.47

0 0 4 5 3 4 8 8 6 6 1 4 10 29 1 13 0 7 72 19 297 44 53 25 7 10 2 37 909 1165 249 13 25 3 1 1

HCS (α=0.05) Time # cuts 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 1 0 0 0 3 13 8 4 0 1 0 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (2) (0) (0) (1) (0) (0) (0) (3) (5) (1) (1) (0) (1) (0) (0) (0)

# Aux. Pr.

25

Average

G0 G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15 G16 G17 G18 G19 G20 G21 G22 G23 G24 G25 G26 G27 G28 G29 G30 G31 G32 G33 G34 G35

Instances

6 11 9 15 16 16 23 17 19 23 26 29 46 44 45 51 51 54 51 53 54 75 76 82 110 94 101 82 94 89 122 131 139 168 162 164

Best Known

0.18

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.98 0.00 0.00 0.00 0.00 0.00 0.71 2.89 1.22 0.61 8.77

2.38 2.41 2.66 2.66 2.19 2.67 2.67 2.50 2.81 2.83 2.67 2.81 3.55 3.42 3.56 4.64 3.86 4.47 2.99 3.70 2.98 7.50 6.34 6.84 20.78 8.70 10.94 4.16 5.53 4.38 15.63 15.50 14.70 38.89 38.19 53.33

Tabu Gap (%) Time

0.18

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.98 0.00 0.00 0.00 0.00 0.00 0.71 2.89 1.22 0.61 2.66

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13.21 4.35 6.25 1.92 7.27 3.57 0.00 5.36 3.57 5.06 0.00 1.20 2.65 3.09 2.88 2.38 5.05 0.00 5.43 6.43 7.95 1.75 4.14 2.38

Gap (%)

14.82

0.02 0.02 0.02 0.04 0.04 0.04 0.04 0.04 0.03 0.06 0.07 0.14 12.96 0.31 0.50 0.37 0.98 0.87 1.78 1.18 0.57 7.23 2.73 5.07 29.09 12.15 8.67 5.07 23.63 15.57 52.04 42.16 46.83 70.88 96.03 96.16

RBH Time ISA ISA ISA ISA ISA IDA ISA ISA IDA ISA ISA IDA IDA IDA (γ) ISA IDA IDA (γ) IDA (γ) IDA IDA IDA IDA (γ) ISA IDA (γ) IDA (γ) IDA (γ) ISA IDA IIA (γ) IDA IDA (γ) IDA (γ) IDA (γ) IDA (γ) IDA (γ) IDA (γ)

Routine

0.88

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.13 2.22 0.00 0.00 0.00 0.00 0.00 5.36 3.57 1.32 0.00 0.00 0.90 0.00 0.98 2.38 5.05 0.00 1.61 2.24 2.11 0.59 1.22 0.00

Gap (%)

16.99

0.05 0.03 0.05 0.05 0.04 0.04 0.06 0.04 0.03 0.08 0.08 0.25 13.06 0.56 0.58 0.42 1.15 0.90 1.81 1.61 0.61 7.44 3.00 5.23 29.44 12.70 8.92 5.99 69.78 26.36 54.29 47.66 52.77 72.26 96.95 97.41 42.89

0 0 1 1 3 1 8 4 2 0 0 4 20 38 18 5 16 4 9 40 12 11 9 17 15 14 10 36 898 77 35 110 51 33 22 20

HCS (α=0) Time # cuts

Table 7: Heuristic results on instances DPRPP G.

9.29

2.39 2.43 3.05 3.13 2.22 3.12 3.09 2.89 3.17 3.19 3.03 3.20 4.02 3.84 3.95 5.00 4.31 4.92 3.43 4.26 3.36 7.92 6.73 7.26 21.20 9.25 11.35 6.88 5.89 6.40 16.35 15.97 15.22 39.42 38.69 53.78

ILP-ref. Gap (%) Time 0 0 0 0 0 0 1 0 0 0 1 0 0 2 1 0 1 0 0 0 0 1 0 0 0 0 0 2 66 7 1 1 2 0 0 0

(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (1) (0) (0) (0) (1) (0) (1) (0) (0) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (2) (1) (1) (1) (0) (0) (0)

# Aux. Pr.

0.06

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Gap (%)

18.34

0.03 0.03 0.03 0.05 0.05 0.05 0.08 0.05 0.05 0.09 0.11 0.39 13.74 0.55 0.61 0.41 1.26 0.92 2.12 1.79 0.97 9.34 3.90 6.12 29.39 12.18 8.70 28.03 35.97 63.45 54.72 44.52 71.21 74.77 96.60 98.09 31.61

0 0 1 1 3 1 8 4 2 0 0 3 13 33 15 4 16 4 5 10 14 4 4 7 12 9 6 136 215 367 73 100 33 20 2 13

HCS (α=0.05) Time # cuts 0 0 0 0 0 0 1 0 0 0 1 0 0 2 1 0 1 0 0 1 1 0 0 0 0 0 0 74 23 100 1 1 4 1 0 0

(0) (0) (0) (0) (0) (0) (1) (0) (0) (0) (1) (0) (0) (0) (1) (0) (1) (0) (0) (1) (0) (0) (0) (0) (0) (0) (0) (1) (3) (3) (1) (1) (3) (1) (0) (0)

# Aux. Pr.

26

Average

R0 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19

Instances

45900 69694 66712 140259 86507 72779 134780 83653 143229 138809 119540 93686 79132 266344 258759 212498 140184 109525 206141 203643

Best Known

1.06

0.00 0.00 0.00 0.00 0.70 0.00 0.84 0.00 0.18 1.90 4.57 0.75 1.52 3.55 1.96 1.30 0.71 0.13 1.54 1.53 36.86

3.63 4.83 8.05 9.20 6.20 7.48 18.58 7.83 18.80 18.36 30.16 14.19 8.70 101.44 97.19 79.53 35.50 71.75 120.17 75.63

Tabu Gap (%) Time

0.46

0.00 0.00 0.00 0.00 0.70 0.00 0.84 0.00 0.18 1.10 0.54 0.48 0.64 0.44 1.36 1.01 0.53 0.00 0.82 0.62 1.05

0.00 0.63 3.43 0.00 0.00 4.84 0.00 0.00 0.00 0.47 1.62 0.48 1.52 0.56 2.12 1.06 0.72 0.39 2.63 0.48

Gap (%)

0.47

0.06 0.06 0.09 0.09 0.05 0.18 0.08 0.21 0.36 0.18 0.59 0.37 0.28 0.34 3.15 0.71 1.01 0.39 0.79 0.43

RBH Time ISA IIA IDA (γ) IDA ISA IDA ISA IDA IDA (γ) ISA (γ) ISA IDA IDA ISA (γ) IIA ISA (γ) IIA IDA ISA (γ) IDA

Routine

0.30

0.00 0.63 1.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.48 1.52 0.00 0.00 1.06 0.72 0.39 0.00 0.00

Gap (%)

0.68

0.06 0.08 0.16 0.11 0.06 0.22 0.12 0.25 0.51 0.23 0.77 0.47 1.03 1.15 3.35 0.89 1.14 0.67 1.83 0.55 15.00

0 3 20 5 0 9 3 11 23 1 7 12 74 32 7 10 11 20 50 2

HCS (α=0) Time # cuts

Table 8: Heuristic results on instances DPRPP R.

39.14

4.04 5.24 8.63 9.70 6.72 8.06 19.63 8.21 19.24 19.72 33.97 15.27 9.11 101.99 112.19 79.97 41.30 78.66 124.22 76.99

ILP-ref. Gap (%) Time 0 0 0 0 0 0 0 0 0 0 0 0 5 0 1 0 0 1 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (2) (0) (1) (0) (0) (0) (0) (0)

# Aux. Pr.

0.25

0.00 0.63 1.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.48 1.52 0.00 0.00 0.00 0.72 0.39 0.00 0.00

Gap (%)

0.80

0.11 0.08 0.16 0.14 0.06 0.22 0.14 0.23 0.51 0.22 0.81 0.53 1.97 1.23 3.43 0.92 1.72 1.19 1.83 0.61 16.60

0 2 20 5 0 8 1 10 24 1 7 11 119 32 4 4 10 22 50 2

HCS (α=0.05) Time # cuts 0 0 0 0 0 0 0 0 0 0 0 0 16 0 1 0 0 1 0 0

(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (3) (0) (1) (0) (0) (0) (0) (0)

# Aux. Pr.

Tabu Search - ILP-ref.

RBH - HCS (α=0.05)

Gap

Gap

Time

Time

Instances DPRPP  δ val DPRPP  δ egl DPRPP P DPRPP D DPRPP G DPRPP R

Avg. 0.08 0.29 0.38 0.71 0.18 0.46

Max 0.47 2.74 1.97 2.89 2.89 1.36

Avg. 16.33 70.22 19.84 39.82 9.29 39.14

Max 55.86 404.43 117.58 123.14 53.78 124.22

Avg. 0.00 0.16 0.06 0.28 0.06 0.25

Max 0.00 2.01 1.48 1.89 2.13 1.52

Avg. 0.44 72.76 4.05 33.26 18.34 0.80

Max 1.01 383.65 42.16 272.19 98.09 3.43

All instances

0.35

2.89

30.48

404.43

0.13

2.13

21.74

383.65

Table 9: Summary Table

ISA IDA IIA ISA (γ) IDA (γ) IIA (γ) HCS Total

RBH

HCS (α=0.05)

69 49 13 13 20 8 172

56 32 23 11 3 4 86 172

Table 10: Performance analysis of RBH routines and HCS

DPRPP  δ val DPRPP  δ egl DPRPP P DPRPP D DPRPP G DPRPP R All instances

#

Tabu Search

ILP Ref.

RBH

HCS (α=0.05)

30 24 26 36 36 20 172

21 (21) 18 (16) 15 (15) 15 (15) 31 (31) 6 (6) 106 (104)

21 (21) 18 (16) 15 (15) 17 (17) 31 (31) 10 (7) 112 (107)

28 (28) 10 (9) 10 (10) 10 (10) 15 (15) 7 (6) 80 (78)

30 (30) 22 (20) 25 (25) 31 (31) 35 (35) 15 (14) 158 (155)

Table 11: Comparison with state of the art benchmark algorithms.

5. Conclusions In this paper, we analyze a generalization of the Directed Rural Postman Problem where not all arcs requiring a service have to be visited provided that a penalty is paid for the ones not served. This generalization is called Directed Profitable Rural Postman Problem. We introduce different valid inequalities for the problem and propose a branch-and-cut algorithm and two heuristic methods. We implement different variants of the exact algorithm which use the problem formulation with and without the new valid inequalities and insert connectivity cuts either in a standard way or in a lazy way. The standard way solves the max-flow separation problem at each node of the search tree, whereas the lazy way excludes subtours only when an integer solution is found. The best variant combining a new problem formulation with the lazy separation of the connectivity constraints results to be extremely efficient closing all open benchmark problems available in the literature in less than one hour. Heuristics behave very well outperforming state of the art algorithms in several sets 27

of instances. The core of the first procedure is the solution of Directed Rural Postman problems constructed on subsets of service arcs previously selected by the optimal solution of a problem relaxation. The second heuristic procedure is a quite general method based on a branch-and-cut structure where inserted connectivity cuts may not be valid inequalities. We believe that the main ideas behind these two heuristic algorithms deserve to be further analyzed and possibly extended to other arc routing problems. This will be the objective of our future research. References [1] Ar´ aoz, J., Fern´ andez, E., Zoltan, C., (2006). Privatized Rural Postman Problem. Computers and Operations Research 33(12), 3432-3449. [2] Ar´ aoz, J., Fern´ andez, E., Meza, O., (2009). Solving the Prize-collecting Rural Postman Problem. European Journal of Operational Research 196(3), 886-896. [3] Ar´ aoz, J., Fern´ andez, E., Franquesa, C., (2009). The Clustered Prize-Collecting Arc Routing Problem. Transportation Science 43(3), 287-300. [4] Archetti C., Guastaroba G., Speranza M.G., An ILP-refined tabu search for the Directed Profitable Rural Postman Problem, Discrete Applied Mathematics, Available online 30 June 2012. [5] Ball, M.O., and Magazine, M.J., (1988). Sequencing of insertions in printed circuit board assembly. Oper. Res. 36(2), 192-201. [6] Benavent, E., Campos, V., Corber´ an, A., Mota, E., (1992). The capacitated Chinese postman problem: Lower bounds. Networks, 22(7), 669-690. [7] Black, D., Eglese, R., Wøhlk, S., (2013). The time-dependent prize-collecting arc routing problem. Computers & Operations Research 40, 526-535. [8] Christofides N., Campos V., Cober´ an A. and Mota E., (1981). An algorithm for the rural postman problem, Imperial college report ICOR 81.5. [9] Christofides N., Campos V., Cober´ an A. and Mota E., (1986). An algorithm for the rural postman problem on a directed graph, Mathematical Programming Study 26, 155-166. [10] Chu, C.-W., (2005). A heuristic algorithm for the truckload and less-than-truckload problem. European Journal of Operational Research 165(3), 657-667. [11] Colombi, M. and Mansini R., (2013). The Directed Profitable Rural Postman Problem. Technical Report No. 01, April 2013. Operations Research Group, Department of Information Engineering. University of Brescia. Italy. Available at http://www.ing.unibs.it/∼orgroup/technicalreports.html [12] Corber´an, A. and Prins C., (2010). Recent results on arc routing problems: An annotated bibliography. Networks 56(1), 50-69. [13] Corber´an, A., Fern´ andez, E., Franquesa, C., Sanchis, J. M., (2011). The Windy Clustered PrizeCollecting Arc-Routing Problem. Transportation Science 45(3), 317-334. [14] Cˆ ot´e J. F. and Potvin J. Y., (2009). A tabu search heuristic for the vehicle routing problem with private fleet and common carrier. European Journal of Operational Research 198(2), 464-469. [15] Deitch, R., and Ladany, S. P., (2000). 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. [16] Dror M., (2000). Arc routing: Theory, solutions and applications. Dordrecht: Kluwer Academic Publishers. [17] Eiselt, H. A., Gendreau, M., Laporte, G., (1995). Arc Routing Problems, Part II: The Rural Postman Problem. Operations Research 43(3), 399-414. [18] Feillet, D., Dejax, P., Gendreau, M., (2005). The profitable arc tour problem: Solution with a branch and price algorithm. Transportation Science 39, 539-552. [19] Feillet, D., Dejax P., Gendreau M., (1981). Traveling salesman problems with profits. Transportation Science 39(2), 188-205.

28

[20] Fern´ andez, E., Meza, O., Garfinkel, R., Ortega, M., (2003). On the undirected rural postman problem: Tight bounds based on a new formulation. Operations Research 51, 281291. [21] Guastaroba, G., Mansini, R., Speranza, M. G., (2009). Modeling the Pre-Auction Stage: The Truckload Case, Innovations in Distribution Logistics. J. A. E. E. Nunen, M. G. Speranza and L. Bertazzi, Springer Berlin Heidelberg 619, 219-233. [22] Li, L. and Eglese, R., (1996). An iterative algorithm for vehicle routing for winter gritting. Journal of Operational Research Society 47(2), 217-228. [23] Malandraki, C., Daskin, M.S., (1993). The maximum benefit Chinese postman problem and the maximum benefit traveling salesman problem. European Journal of Operational Research 65, 218–234. [24] Maniezzo, V., St¨ utzle, T. and Voss, S., (2009). Matheuristics: Hybridizing Metaheuristics and Mathematical Programming. Annals of Information Systems, vol. 10, Springer. [25] Vansteenwegen, P., Souffriau, W., Van Oudheusden, D., (2011). The orienteering problem: A survey. European Journal of Operational Research 209(1), 1-10.

29

2ESEARCH(IGHLIGHTS

We introduce new valid inequalities for the Directed Profitable Rural Postman Problem We test a branch and cut algorithm that adds connectivity constraints in a lazy way We propose efficient and effective heuristic algorithms outperforming known methods We find optimal solutions for all benchmark instances not solved to optimality yet