A matheuristic algorithm for the mixed ... - Wiley Online Library

5 downloads 0 Views 912KB Size Report
Nov 9, 2014 - Department of Economics, Statistics and Finance, University of Calabria, 87036 Arcavacata di Rende (CS), Italy. We study the general routing ...
A Matheuristic Algorithm for the Mixed Capacitated General Routing Problem

Adamo Bosco ITACA S.r.l., Ponte P. Bucci 41C, 87036 Arcavacata di Rende (CS), Italy Demetrio Laganà and Roberto Musmanno Department of Mechanical, Energy and Management Engineering, University of Calabria, 87036 Arcavacata di Rende (CS), Italy Francesca Vocaturo Department of Economics, Statistics and Finance, University of Calabria, 87036 Arcavacata di Rende (CS), Italy

We study the general routing problem defined on a mixed graph and subject to capacity constraints. Such a problem aims to find the set of routes of minimum overall cost servicing a subset of required elements like vertices, arcs, and edges, without exceeding the capacity of a fleet of homogeneous vehicles based at the same depot. The problem is a generalization of a large variety of node and arc routing problems. It belongs to the family of NP-hard combinatorial problems. Instances with a small number of vehicles and required elements can be effectively solved by means of exact methods. Heuristic approaches are helpful to obtain feasible solutions for medium to large size instances. In this article, we present a matheuristic approach to the problem, in which a set of neighborhood structures is iteratively searched and a branch-and-cut algorithm is used to improve the quality of the solutions found during the search. The search is iterated within a defined global number of steps, in which the solution space is explored. We demonstrate the effectiveness of this approach through an extensive computational study on several benchmark instances. © 2014 Wiley Periodicals, Inc. NETWORKS, Vol. 64(4), 262–281 2014

Keywords: routing problem; mixed graph; neighborhood search; branch-and-cut

1.

INTRODUCTION

The article deals with a routing problem where vertices, arcs, and edges of a graph must be serviced by a fleet of vehicles. Vertices, arcs, and edges to be serviced are named required vertices, required arcs, and required edges, Received December 2012; accepted July 2014 Correspondence to: R. Musmanno; e-mail: [email protected] DOI 10.1002/net.21574 Published online 9 November 2014 in Wiley Online Library (wileyonlinelibrary.com). © 2014 Wiley Periodicals, Inc.

NETWORKS—2014—DOI 10.1002/net

respectively. This type of problem, generically denoted as GRP (General Routing Problem), arises in several real-life applications. For example, the operational plan of pickup routes in a solid waste collection system implies modeling the service by the means of required arcs or required edges whenever the collection points are distributed along the streets, while some vertices are required if the collection is concentrated around specific points (e.g., hospitals, schools, and supermarkets). In many cases, there are some restrictions for the vehicles to traverse the streets in a specified way, and the use of mixed graphs is needed. As a rule, a one-way street is represented by one arc, a two-way street in which the waste on the two sides must be collected separately is represented by two opposite arcs, and a two-way street in which the waste on the two sides can be collected in parallel and in any direction corresponds to one edge. Despite the practical importance of the GRP [16, 22], relatively few studies have been published on it. Most works deal with the uncapacitated case. In the following, we illustrate the main works. Letchford [17, 18] and Corberán and Sanchis [5] studied the uncapacitated GRP defined over an undirected graph and proposed a large class of valid inequalities. For the same problem, Corberán et al. [6] described a cutting plane algorithm based on facet-inducing inequalities. Corberán et al. [7] proposed an Integer Programming (IP) formulation for the uncapacitated GRP defined over a mixed graph. They presented a partial description of the Mixed General Routing Problem (MGRP) polyhedron based on the IP formulation. Furthermore, they provided remarkable computational results obtained with a cutting-plane algorithm. Corberán et al. [8] improved this algorithm by defining a new family of facet-defining inequalities and new separation procedures. Blais and Laporte [3] proposed a different approach to solve the uncapacitated GRP defined over directed, undirected,

and mixed graphs. Specifically, the GRP was transformed by the authors into an equivalent Traveling Salesman Problem (T SP) or Rural Postman Problem (RPP) and solved through available exact algorithms. In general, the transformation of routing problems in equivalent ones defines a solution approach quite often used in the scientific literature. Nevertheless, in most cases, it sensibly increases the size of the instance to be solved. For instance, Letchford and Oukil [19] stress the drawbacks in transforming the Capacitated Arc Routing Problem (CARP) into its node routing counterpart. With respect to the capacitated case, Bosco et al. [4] designed a branch-and-cut (B&C) algorithm for the GRP defined over a mixed graph, named Mixed Capacitated General Routing Problem (MCGRP) in the following, in which the service is performed through a fleet of homogeneous vehicles. They proposed an IP formulation based on threeindex variables associated with arcs and edges and two-index variables associated with vertices. Surrogate inequalities introduced for the CARP and the relevant separation procedures were extended to the MCGRP polyhedron and used in the B&C algorithm. To our knowledge, this is the first exact approach to the MCGRP. Owing to the computational complexity of the specified problem, several heuristic and metaheuristic algorithms were designed to provide quickly good feasible solutions. Pandit and Muralidharan [24] presented a heuristic procedure, named ROUTE1, which starts with a reduced subgraph obtained from the original network by considering only the required arcs, edges, and vertices. Since such subgraph is generally disconnected, the connection is reached by adding to it the shortest paths linking two vertices of disjoint connected components. The subgraph is then converted into an Eulerian graph which admits a giant tour. Finally, the giant tour is cut into smaller tours satisfying the capacity constraints. The performance of this heuristic approach was evaluated on a set of benchmark instances generated with respect to a curb-side waste collection problem arising in residential areas. Gutiérrez et al. [12] introduced an alternative procedure, based on the partition-first-route-next paradigm, improving previous results. Prins and Bouchenoua [27] described a memetic algorithm for the problem. Three suitable procedures, named nearest neighbor heuristic, merge heuristic, and tour splitting heuristic, were defined to initialize the memetic algorithm. This algorithm was tested on 23 large scale MCGRP instances, named CBMix. Such instances were randomly generated on the basis of real street networks. Recently, Bach et al. [1] proposed a combinatorial lower bounding procedure for the MCGRP and also designed two new MCGRP benchmarks, named BHW and DI-NEARP, respectively. Hasle et al. [13] presented a computational study on the three large scale MCGRP datasets defined so far: CBMix, BHW, and DI-NEARP. They provided the first feasible MCGRP solutions to the new BHW and DI-NEARP benchmarks. Three of the BHW instances were closed to optimality. Two new best MCGRP solutions were reached for the CBMix benchmark. This work also considers the MCGRP. With the aim at better illustrating the problem, we consider a simple instance

FIG. 1.

Graph.

of the MCGRP defined on the graph depicted in Figure 1. Vertex 1 represents the depot at which four vehicles of capacity 10 are based. A couple of non-negative values is associated with each arc or edge of the graph. The first value represents its traversal cost and the second one represents its demand. Positive demands identify required arcs or edges. If a value is associated with a vertex, then this vertex is required and the value represents its positive demand. Solving the problem means finding a number of routes consistent with the number of vehicles such that: (i) each route includes the depot, (ii) each required arc, edge, or vertex is serviced by exactly one vehicle, (iii) the sum of demand of those arcs, edges, and vertices serviced by each vehicle does not exceed its capacity, and (iv) the total traversal cost of the routes is minimized. The solution is shown in Figure 2. It consists in four routes, where solid lines indicate the arcs or edges serviced in the route, dashed lines indicate the arcs or edges that are deadheaded (i.e., traversed without being serviced), and dotted lines represent the vertices that are not serviced. In this article, we tackle the MCGRP using a neighborhood-based search method, where the B&C algorithm designed by Bosco et al. [4] is embedded. The core of the method is represented by a neighborhood search starting from an initial MCGRP solution generated with a constructive algorithm, and alternating diversification and intensification phases. At the end of the intensification phase, the B&C algorithm is executed to solve the MCGRP that is defined on the basis of a subset of required vertices, arcs, and edges belonging to a subset of routes of the whole MCGRP solution. The method we propose may be placed in the context of matheuristics, as an optimization of the current solution is performed during the search with the help of an IP model that is solved through standard optimization tools. We refer to [20] for an introduction to matheuristics. Specifically, the contributions of this article consist in designing an approach that: (i) combines beneficial ingredients from existing methods; (ii) is computationally efficient; (iii) leads to high-quality solutions. The remainder of the article is organized as follows. In Section 2, we formally introduce the MCGRP. Section 3 describes the matheuristic algorithm and provides more details related to the single steps. Section 4 is devoted to

NETWORKS—2014—DOI 10.1002/net

263

FIG. 2.

computational testing and comparison. Section 5 concludes the article with final remarks.

2.

PROBLEM DESCRIPTION

Formally, the MCGRP is defined on a mixed graph G = (V , A, E), where V = {1, . . . , n} is the set of vertices, A = {(i, j) ⊆ V × V } is the set of arcs, and E = {(i, j) ⊆ V × V : i < j} is the set of edges. Set V includes the depot at which identical vehicles of capacity Q are based. The set of vertices different from the depot is denoted by C. Let K = {1, . . . , m} denote the set of vehicles, where m represents the number of vehicles ensuring the service. In the following, the arcs and edges in A ∪ E are called links to refer to them indiscriminately. Each link (i, j) ∈ A ∪ E has a non-negative traversal cost cij . Let VR ⊆ C be the subset of required vertices, AR ⊆ A the subset of required arcs, and ER ⊆ E the subset of required edges. In the following, required vertices and links are referred to as required elements whenever no difference is pointed out. Each required link (i, j) ∈ AR ∪ ER has a positive demand dij , and each required vertex i ∈ VR has a positive demand qi . We assume that no required element exists such that its demand exceeds Q and each required element is serviced by exactly one vehicle. In addition, each link of A ∪ E may be deadheaded any number of times. Let us introduce further notation. Given a subset S ⊂ V of vertices, let S¯ define its complementary set (S¯ = V \S). ¯ be the set of arcs Let δ + (S) = {(i, j) ∈ A : i ∈ S and j ∈ S} leaving S, δ − (S) = {(i, j) ∈ A : i ∈ S¯ and j ∈ S} the set ¯ of arcs entering S, δR+ (S) = {(i, j) ∈ AR : i ∈ S and j ∈ S} the set of required arcs leaving S, δR− (S) = {(i, j) ∈ AR : i ∈ S¯ and j ∈ S} the set of required arcs entering S, δ(S) = ¯ or i ∈ S¯ and j ∈ S} the set {(i, j) ∈ E : i ∈ S and j ∈ S, ¯ and δR (S) = {(i, j) ∈ ER : i ∈ of edges between S and S, ¯ or i ∈ S¯ and j ∈ S} the set of required edges S and j ∈ S, ¯ Whenever S = {v} the previous notation between S and S. remains valid as long as S is replaced by v, and S¯ by v¯ , or V \ {v}. Moreover, we denote by SR = S ∩ VR the set of required vertices in S, by AR (S) = {(i, j) ∈ AR : i ∈ S and j ∈ S} the set of required arcs with both endpoints in S, and by ER (S) = {(i, j) ∈ ER : i ∈ S and j ∈ S} the set of required edges with both endpoints in S.

264

NETWORKS—2014—DOI 10.1002/net

Solution.

We report the IP formulation proposed by Bosco et al. [4], because it will be used at some points of the search process to model a “reduced” MCGRP. This IP formulation is built around three-index link variables and two-index vertex variables. For each required link (i, j) ∈ AR ∪ER and each vehicle k ∈ K, let xijk be a binary variable equal to 1 if and only if (i, j) is serviced by vehicle k which travels from vertex i to vertex j. For each link (i, j) ∈ A ∪ E and each vehicle k ∈ K, let yijk be a non-negative variable representing the number of times that vehicle k travels from vertex i to vertex j without servicing it. Finally, for each required vertex i ∈ VR and each vehicle k ∈ K, let zik be a binary variable equal to 1 if and only if i is serviced by k. The objective function is expressed as follows: Min f = f1 + f2 .

(1)

The first term represents the traversal cost associated with the serviced links:       f1 = cij xijk + xjik + cij xijk . k∈K (i,j)∈ER

k∈K (i,j)∈AR

The second term represents the traversal cost associated with the deadheaded links: f2 =

 

cij (yijk + yjik ) +

k∈K (i,j)∈E

 

cij yijk .

k∈K (i,j)∈A

The first set of constraints ensures that each required element is serviced exactly once by exactly one vehicle (assignment constraints):  (xijk + xjik ) = 1, k∈K



xijk = 1,

∀(i, j) ∈ ER

(2)

∀(i, j) ∈ AR

(3)

∀i ∈ VR .

(4)

k∈K



zik = 1,

k∈K

The second set of linear constraints models the fact that the total amount of demand collected by each vehicle cannot

exceed its capacity (knapsack constraints):    dij (xijk + xjik ) + dij xijk + qi zik ≤ Q, (i,j)∈ER

i∈VR

(i,j)∈AR

∀k ∈ K.

(5)

The third set of constraints models symmetry conditions at each vertex of the graph (flow constraints):     xijk + yijk − xjik − yjik j:(i,j)∈δR+ (i)

=

j:(j,i)∈δR− (i)

j:(i,j)∈δ + (i)





xjik +

j:(i,j)∈δR (i)



yjik −

j:(i,j)∈δ(i)

j:(j,i)∈δ − (i)



xijk −

j:(i,j)∈δR (i)

yijk ,

j:(i,j)∈δ(i)

∀k ∈ K and i ∈ V .

(6)

The fourth set of constraints includes the so-called connectivity constraints. They impose that for each subset of vertices (excluding the depot) containing a required element that is serviced by a vehicle, at least two links incident to the subset must be used to visit it (deadheaded or serviced). They also eliminate subtours disconnected from the depot:    xijk + xjik + (xijk + xjik ) (i,j)∈δR+ (S)

+



(j,i)∈δR− (S)

(i,j)∈δR (S)

yijk +

yjik +

(i,j)∈δ + (S)



(j,i)∈δ − (S)



(yijk + yjik )

(i,j)∈δ(S)

⎧ k k ⎪ ⎨2(xuv + xvu ), if (u, v) ∈ ER (S), k , ≥ 2xuv if (u, v) ∈ AR (S), ⎪ ⎩ k 2zh , if h ∈ SR , ∀k ∈ K and S ⊆ C.

(7)

Finally, the following constraints define the domains of the variables: xijk ∈ {0, 1}, xjik

∀k ∈ K and (i, j) ∈ AR ∪ ER

(8)

∀k ∈ K and (i, j) ∈ ER

(9)

∀k ∈ K and (i, j) ∈ A ∪ E

(10)

∀k ∈ K and (i, j) ∈ E

(11)

∀k ∈ K and i ∈ VR .

(12)

∈ {0, 1},

yijk ∈ Z+ , yjik ∈ Z+ ,

zik ∈ {0, 1},

Note that the flow constraints, together with the integrality conditions, imply the parity conditions at each vertex of the graph. The B&C algorithm described in [4] can be used to solve model (1)–(12). In Section 3.4, we will specify how this algorithm is embedded into our solution approach. 3.

MATHEURISTIC ALGORITHM

In this section, we describe a neighborhood-based search matheuristic algorithm for the MCGRP, called NSMMCGRP in the following. First, we provide some definitions.

We denote by rk a generic route which starts from the depot, services a subset of required elements and returns to the depot. Route rk is Q-feasible if the total demand of its required elements Dk does not exceed Q. An MCGRP solution (or, simply, solution) is a set of μ routes covering all required elements. A solution is m-feasible if the number of routes is consistent with the number of available vehicles, that is, μ ≤ m (otherwise, it is m-infeasible). In addition, a solution is Q-feasible if each route rk (k = 1, ..., μ) is Q-feasible (otherwise, it is Q-infeasible). Finally, a solution is feasible if it is both m-feasible and Q-feasible (otherwise, it is infeasible). NSM-MCGRP also considers infeasible MCGRP solutions. During the search, the acceptance of infeasible solutions is guided by penalties affecting the objective function, as illustrated in the literature (see, e.g., Cordeau et al. [9] and Toth and Vigo [34]). Specifically, given an MCGRP solution s, we refer to its overall cost as f˜ (s). Let ηm = [μ − m]+ be the number of routes exceeding m, and ηQ = μ + k=1 [Dk − Q] the total overcapacity on routes, where [.]+ = max{., 0}. The penalty cost is defined as ρm ηm +ρQ ηQ , where ρm and ρQ are the unit penalties associated with the solution in the case in which it is m-infeasible and Qinfeasible, respectively. Obviously, the penalty cost is equal to 0 if the solution is feasible. Therefore, the overall cost of solution s becomes f˜ (s) = f (s) + ρm ηm + ρQ ηQ , where f (s) represents the total traversal cost associated with s. In the following, we briefly describe how NSM-MCGRP works. It starts with an initial MCGRP solution which is built according to the method described in Section 3.1. Each iteration alternates several procedures. In particular, it corresponds to the execution of a diversification on the current solution, indicated by sC , for a given rate and all defined types. The diversification rate indicates how many required elements must be involved into the diversification of the current solution, while the diversification type specifies how to perform the diversification. Once one type of diversification is executed, a different solution sD is generated and some parts of the search space around such a solution are explored through an intensification procedure. Specifically, several neighborhood structures are explored (further details are given in Section 3.3). The outcome of the process is a solution indicated by sI . Afterward, a procedure based on IP comes into play with the aim of finding a better solution s∗ . In particular, the B&C algorithm presented by Bosco et al. [4] is executed on the MCGRP defined on the original graph G, in which the required elements correspond to ones serviced in a subset of routes of sI , as described in Section 3.4. At the end of each iteration, the current solution is set equal to the local best solution found when all types of diversification are examined. In other words, we have sC = sL , where sL represents the local best solution within the iteration. A new iteration starts from sC by varying the diversification rate. After examining all rates of diversification, the search ends. In Algorithm 1, we provide a pseudocode of NSM-MCGRP. In the next sections we describe the main procedures implemented by NSM-MCGRP. In particular, we examine separately how to construct an initial solution, how

NETWORKS—2014—DOI 10.1002/net

265

to diversify the current solution, how to intensify the search and improve the solution using the model (1)–(12). Algorithm 1

NSM-MCGRP

whose demand is compatible with the residual capacity of the cluster that is updated every time. Whenever the cluster is initialized, its capacity is set equal to Q minus the demand of the seed. If no other required element can be inserted into the cluster, then the cluster is completed and a new cluster is constructed starting from a new seed that is the unclustered required element farthest from the depot. At the end of the iterative procedure, a set of disjoint clusters is constructed. A partition of all required links and vertices in G remains associated with this set. The total demand of each cluster does not violate the vehicle capacity Q. Therefore, each cluster defines a MGRP instance whose solution is obtained by performing the B&C algorithm proposed by Bosco et al. [4], with the care of servicing only the required elements belonging to the cluster.

3.2.

3.1.

Initial Solution

An initial MCGRP solution is built on the basis of the partition-first-route-next paradigm. A feasible partition of required elements is found by constructing distinct clusters. In this construction phase, a specific metric is used to evaluate the distance between two elements of the graph (i.e., between two required elements or between a required element and the depot). In particular, the distance between two elements is the average value among the costs of the shortest paths connecting them. The shortest paths connecting all possible couples are depicted in Figure 3 through dashed lines (specifically, the connection is between vertices or extremities of required links). For instance, the distance between vertices i and j is defined as the average value between the cost of the shortest path from i to j and the cost of the shortest path from j to i in G. In general, the shortest path from j to i does not have the same cost as the reverse path, because the cost matrix associated with G is not symmetric. Under these definitions, each cluster is constructed sequentially around a seed element by selecting at each step the unclustered required element closest to the seed, and

266

NETWORKS—2014—DOI 10.1002/net

Diversification

In the context of neighborhood search, diversification means visiting solutions that have not been examined yet, even worse than the best current solution, but leading to explore more promising portion of the search space. In NSM-MCGRP, the diversification removes several required elements from the MCGRP solution s and reinserts them to the modified solution s . This idea was well exploited in the context of Large Neighborhood Search (LNS). A lot of freedom arises in how to select the elements to remove from the solution, and how to reinsert them into the solution. A formal description of this idea can be found in Shaw [31]. Russell [28] applied it to an improvement heuristic for the Vehicle Routing Problem (VRP) with time windows. Franceschi et al. [10] proposed an LNS-based heuristic, where reinsertion is made by solving an IP problem to optimality. A generalization of this idea was used by Pisinger and Ropke [25] inside an Adaptive Large Neighborhood Search (ALNS) heuristic devoted to several classes of VRPs. They designed a set of removal and insertion methods applied to a given VRP solution with the aim of escaping from local optima, and restarting the search from other points of the solution space. We also use several removal and insertion heuristics, as made by Pisinger and Ropke, but without using statistics from the search to guide the choice. In NSM-MCGRP, all heuristics designed to diversify the solution are applied sequentially according to a given order. A detailed description of the removing procedures is provided below: • randomRemove(p, s) randomly selects p% of the required elements in solution s and removes them. • worstRemove(p, s) removes p% of the required elements from solution s by selecting the ones whose removal returns the maximum saving. • demandOrientedRemove(p, s) removes p% of the required elements from solution s according to a distance defined on the basis of the demands of such elements. More precisely, let demandi be the demand of the required element i (e.g., demandi = qi if i is a required vertex). The quantity δij = demandi − demandj defines the distance between

FIG. 3.

Evaluation of distances.

i and j. The first required element to remove is randomly chosen, while the second is selected as the nearest to the first, the third as the nearest to the second and so on until p% of the required elements are removed from s.

All described procedures return list  of the required elements removed from s. Concerning the insertion heuristics, the following procedures are used in combination with the removal heuristics: • randomInsert(, s) randomly inserts into s the elements extracted from . More precisely, for each element e ∈ , a route rk of s is selected randomly among the routes with a residual capacity able to accept the demand of e. A random position is chosen inside rk where e will be inserted and serviced. Whenever e is already deadheaded (or visited) in rk , no attempt is made to select its position inside rk . • regretInsert(, s) inserts into s the elements extracted from , with the aim of maximizing the regret associated with each element. We use the regret-3 objective proposed by Pisinger and Ropke [25].

The diversification procedure is sketched in Algorithm 2. Algorithm 2 Diversification procedure: Diversification (rate, type, s)

3.3.

Intensification

The MCGRP solutions provided by the diversification procedure represent a very good starting point for determining, through a local search step, a local minimum possibly improving the current best solution. In the intensification procedure, several neighborhoods are involved. They map from a solution s to a set of near solutions. The neighborhoods are examined in sequence according to a Variable

Neighborhood Descent strategy until no further improvement can be found (see [21]). The procedure uses a mechanism allowing a restart of the search from the first neighborhood at each improvement. We recall in the following the main features of the neighborhood structures of NSM-MCGRP (i.e., the operations that transform solution s into another solution). • merge: For each couple of routes rk and rh in the solution s, an attempt is made to merge such routes by servicing all required elements of rh after the required elements serviced in rk . • λ−interchange: The operation is similar to the one defined by Osman [23], and the CROSS-exchange proposed by Taillard et al. [33]. It tries to swap simultaneously a sequence of λ required elements in two different routes (λ belongs to the following set of values {1, 2, 3, 4, 5}). • interchangeInterRoute: The operation is the same introduced by Savelsbergh [29] and consists of reinserting a single required element at a time in an alternate route. • interchangeInterRouteNewPath: The operation creates a new empty route in which a single required element is inserted. It is devoted to generating a new solution with an increasing number of routes. • twoOptPlusInterRoute: The operation corresponds to the 2opt∗ defined by Potvin and Rousseau [26]. It combines two routes so that the sequence of the last required elements serviced in a given route is introduced after the sequence of the first required elements of another route, thus preserving the orientation of the routes.

Each neighborhood is searched according to the bestimprovement strategy, that is, all possible solutions into the current neighborhood are evaluated and the best solution is selected. To produce a good mix of feasible and infeasible solutions during the search, the penalties affecting the objective function are updated. Specifically, penalty ρm varies in interval [ρmmin , ρmmax ]; it can be decreased by a factor ρm− or increased by a factor ρm+ during the search. If, after τ consecutive iterations, all generated MCGRP solutions are m-feasible, penalty ρm is decreased by setting ρm = max{ρmmin , ρm · ρm− }. On the contrary, if all solutions are m-infeasible, it is increased by setting ρm = min{ρmmax , ρm · ρm+ }. Similarly, penalty ρQ varies in interval [ρQmin , ρQmax ]; it can be decreased by a factor ρQ− or increased by a factor ρQ+ during the search. If, after τ consecutive iterations, all generated MCGRP solutions are Q-feasible, penalty ρQ is decreased by setting ρQ = max{ρQmin , ρQ · ρQ− }. On the contrary, if all solutions are Q-infeasible, it is increased by setting ρQ = min{ρQmax , ρQ · ρQ+ }. The overall intensification procedure is detailed in Algorithm 3, in which a list stores the operations performed on

NETWORKS—2014—DOI 10.1002/net

267

s (neighborhoods). They are extracted from the head of the list. Algorithm 3

Intensification procedure: NS(s)

in a subset of routes of the MCGRP solution returned by the intensification phase, while keeping the schedules of the remaining routes fixed. Let us consider two vehicles h and k, and let R(h) and R(k) be the subsets of required elements serviced by these vehicles, respectively. We define a smaller MCGRP by modeling it on the original graph G and considering m = 2 and VR ∪ AR ∪ ER = R(h) ∪ R(k). The model is solved to the optimality through the aforementioned B&C algorithm. This approach can be applied iteratively, each time optimizing the schedules for two vehicles. The process can be viewed as a local search scheme that relies on IP to explore neighborhoods. The neighborhood consists of all schedules for the specified set of vehicles and required elements serviced by such vehicles. Several decisions have to be made to ensure efficiency. How do we select the two vehicles whose routes define the neighborhood? Which is the criterion to stop the local search? As our goal is to obtain the maximum profit from the use of the B&C algorithm, we chose a straightforward scheme. Let L dd (k) be the set of links deadheaded by vehicle k in route rk . Among the subsets of two vehicles that have not been selected before, the couple (h, k) is chosen according to the following rules: 1. |L dd (h) ∩ L dd (k)| (i.e., the overlapping index defined by the number of common deadheaded links in routes rh and rk ) is maximum. In case of multiple couples, we select 2. the couple of two vehicles whose routes have the maximum residual capacity. If more couples still exist, then 3. the couple of vehicles whose routes present the maximum overlapping index and the maximum residual capacity is randomly chosen.

The procedure iterates until nc couples are examined. In the experiments, we set nc = c · μ2 , where c is a percentage (0 ≤ c ≤ 1) and μ2 is the number of all couples of routes can be extracted from μ ≥ 2 routes. 4.

COMPUTATIONAL EXPERIMENTS

Computational experiments have been carried out on a PC equipped with 2 Intel Xeon Quad Core CPUs @3.0 GHz, with 6 Gbyte RAM. NSM-MCGRP and the B&C algorithm embedded into the model-based procedure have been coded in java. 4.1. 3.4.

Model-based Search

The B&C algorithm designed by Bosco et al. [4] can effectively solve instances with a small number vehicles and required elements. This suggests that the exact algorithm may be used successfully to improve portions of the solution produced by NSM-MCGRP also for medium to large size instances. The implementation of this idea is similar to the one described by Savelsbergh and Song [30] and Song and Furman [32]. We select the required elements serviced

268

NETWORKS—2014—DOI 10.1002/net

Instances

The first benchmarks used to test NSM-MCGRP are those designed by Bosco et al. [4]. These benchmarks were derived from the gdb instances introduced by Golden et al. [11] for the undirected CARP, and the mval instances provided by Belenguer et al. [2] for the mixed CARP. More precisely, for each instance of the undirected and mixed CARP, six new instances were generated according to the values of β in the set {0.25, 0.30, 0.35, 0.40, 0.45, 0.50}, where β is a parameter that controls the number of required links whose

demand is shifted to adjacent vertices. The new instances were named mggdb and mgval, respectively. More details about the characteristics of these instances are reported in Bosco et al. [4]. In addition, we used benchmarks designed by Prins and Bouchenoua [27] and named CBMix. The number of vertices vary between 11 and 150, whereas the number of links vary between 27 and 332. It is assumed that the size of the fleet of vehicles is unbounded, that is, m → ∞. For this reason, there are not m-infeasible solutions for CBMix instances. Note that Prins and Bouchenoua refer to the required links by distinguishing between traversal cost and servicing cost (specifically, a processing cost accrues when a required link is serviced; it is the sum of the traversal and servicing costs). The authors also introduce a servicing cost for each required vertex (whereas, the traversal cost of a vertex is null). Anyway, in their computational reports, Prins and Bouchenoua only provide the total traversal cost of a feasible solution. Other authors carried out experiments on these instances [1, 13, 15]. Finally, we point out that Bosco et al. [4] applied their B&C algorithm to four CBMix instances by fixing the number of vehicles. 4.2.

Tuning Routines and Parameters

Some decisions about the solution framework were made after performing preliminary experiments on a set of representative instances (tuning instances). We chose 24 instances, of which 12 extracted from mggdb dataset and 12 from mgval dataset. More precisely, we selected a gdb instance at random among the ones with five vehicles, and we inserted in the tuning set all corresponding mggdb instances. In a similar way, we chose at random a gdb instance among the ones with six vehicles, and we added all corresponding mggdb instances in the tuning set. Finally, we extracted at random two mval instances among the ones with five vehicles, and considered all corresponding mgval instances in the tuning phase. The resulting tuning set was composed by the following instances: mggdb1, mggdb5, mgval5C, and mgval10C for all values of β. In our opinion, the tuning instances simulated properly the general behavior of the proposed algorithm within a limited computational effort. The initial solution framework included a weaker modelbased search and a deeper intensification phase (additional neighborhoods defined by intraroute operations were considered). We tuned the parameters affecting penalties using a such framework. Sensitive parameters are the ones related to frequency (τ ) and intensity (ρm− , ρQ− , ρm+ , ρQ+ ). Therefore, the best value of such parameters was chosen within a set of possible combinations. More precisely, we assumed a same value for parameters ρm− and ρQ− to be chosen in set {0.3, 0.5, 0.7, 0.9}, a same value for parameters ρm+ and ρQ+ to be chosen in set {1.1, 1.3, 1.5, 1.7} and a value for parameter τ to be chosen in set {5, 10, 15, 20}. All possible triplets of values were evaluated and the one corresponding to the solutions with the minimum average cost was selected: ρm− = ρQ− = 0.7, ρm+ = ρQ+ = 1.5, and τ = 10. On the contrary,

the values of the other parameters (ρmmin , ρQmin , ρmmax , ρQmax , and the initial values for ρm and ρQ ) were fixed without devoted experiments. In particular, we started from ρm = 100 and ρQ = 100 (initial values for the penalties) and set ρmmin = 1, ρQmin = 1, ρmmax = 1, 000, ρQmax = 1, 000. After defining penalties, experiments were carried out to improve the general solution framework. To obtain the best performance from using the B&C algorithm, we evaluated the following strategies: • couples or triplets of vehicles and relevant routes; • different percentages c of all couples (or triplets) to be optimized using the B&C algorithm; profitable values of c were the ones belonging to set {0.2, 0.4, 0.6}; • different rules to select the vehicle routes to be optimized.

The variant described in Section 3.4, with c = 0.2, led to the best trade-off between solution quality and computational effort. Afterward, we focused on the intensification procedure. The investigation was performed in two phases. In the first phase, we evaluated the contribution of each single neighborhood by fixing at random the sequence. We observed that intraroute operations did not produce significant improvements, probably due to the intensive use of the model-based search. The second phase helped in fixing the sequence wherewith neighborhoods are explored. In the final version, interchange operations with increasing values of λ are considered with the aim of enlarging the exploration, whenever no further improvement is obtained. In various points of the exploration, an attempt is made to shake the solution through other operations. Note that NSM-MCGRP includes random elements. We point out that the flow of pseudorandom numbers is generated by fixing the value of the seed. In the final part of the tuning phase, further experiments were carried out by varying the seed. However, no considerable improvement was obtained with this attempt. In effect, the B&C algorithm is focused on finding a local optimal solution, regardless of the randomness in choosing the starting point of the search. 4.3.

Numerical Results

The comparison between the results reached by NSMMCGRP and the results provided by the B&C algorithm of Bosco et al. [4] on mggdb and mgval instances is reported in Tables 1–6. The column headings are defined as follows. • • • • • • • • •

Name: instance name; m: number of vehicles; |V |: number of vertices; |A|: number of arcs; |E|: number of edges; |VR |: number of required vertices; |AR |: number of required arcs; |ER |: number of required edges; LB1 : lower bound on the optimal value provided by the B&C algorithm of Bosco et al. [4] and computed at the root of the search tree;

NETWORKS—2014—DOI 10.1002/net

269

270

NETWORKS—2014—DOI 10.1002/net

m

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

Name

mggdb1 mggdb2 mggdb3 mggdb4 mggdb5 mggdb6 mggdb7 mggdb8 mggdb9 mggdb10 mggdb11 mggdb12 mggdb13 mggdb14 mggdb15 mggdb16 mggdb17 mggdb18 mggdb19 mggdb20 mggdb21 mggdb22 mggdb23 Average Maximum value

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

|V |

34 40 34 30 40 34 34 70 78 38 68 36 42 32 32 42 42 54 18 34 50 66 84

|A|

5 6 5 4 6 5 5 11 12 6 11 5 7 5 5 7 7 9 2 5 8 11 13

|E| 6 6 7 4 5 6 5 11 9 4 8 6 6 5 5 5 5 6 3 5 7 6 8

|VR | 12 15 12 11 15 12 12 26 29 14 25 13 15 12 12 15 15 20 6 12 18 24 31

|AR | 3 4 3 3 4 3 3 8 9 4 8 3 5 3 3 5 5 6 1 3 6 8 9

|ER | 251 317 253.5 272 364 284 275 – – 265 345 400 374 107 55 98 71 139 47 116 145 – –

LB1

B&Ctime 2,079.41 TL 923.88 22.68 TL 14.89 40.35 – – 2.79 TL TL TL 1.43 0.47 4.99 1.02 TL 1.14 7.8 TL – –

B&CUB 280∗ 349 278∗ 289∗ 394 292∗ 290∗ – – 265∗ 356 459 388 107∗ 55∗ 98∗ 71∗ 144 53∗ 116∗ 146 – –

280∗ 359 286 289∗ 410 295 302 351 316 265∗ 369 465 392 107∗ 55∗ 98∗ 71∗ 144 53∗ 117 146 168 186

NSM-MCGRPUB 14.64 18.14 15.19 14.59 24.41 15.15 6.27 90.40 82.62 5.72 36.75 18.69 30.91 3.72 11.00 7.55 12.00 45.67 9.32 4.94 9.38 18.15 27.64 22.73

NSM-MCGRPtime 0.00 2.87 2.88 0.00 4.06 1.03 4.14 – – 0.00 3.65 1.31 1.03 0.00 0.00 0.00 0.00 0.00 0.00 0.86 0.00 – – 1.15 4.14

GAP 7 6 5 6 7 8 6 15 11 5 13 6 6 3 5 6 4 6 3 4 6 7 9

|VR | 11 14 11 10 14 11 11 24 27 13 23 12 14 11 11 14 14 18 6 11 17 23 29

|AR | 3 4 3 2 4 3 3 7 8 4 7 3 4 3 3 4 4 6 1 3 5 7 9

|ER | 238.25 270 253 231 369 235 228.5 – – 228 381 395 447 98 44 105 65 144 50 91 120 – –

LB1

Computational results for mggdb datasets with β ∈ {0.25, 0.30}

β = 0.25

TABLE 1.

273∗ 301 270∗ 260∗ 388 276∗ 273∗ – – 242∗ 387 467 486 101∗ 44∗ 105∗ 65∗ 144∗ 51∗ 94∗ 121 – –

B&CUB

4,279.45 TL 4,447.9 39.7 TL 443.39 2,870.34 – – 12.06 TL TL TL 184.67 0.48 2.77 0.64 1.59 0.36 27.27 TL – –

B&Ctime

276 314 278 260∗ 399 276∗ 277 338 284 242∗ 399 472 483 101∗ 44∗ 107 67 144∗ 51∗ 97 122 156 171

NSM-MCGRPUB

β = 0.30

21.37 19.98 15.93 25.47 18.48 19.26 24.97 78.14 82.74 20.75 31.13 11.21 33.02 9.32 3.77 15.48 4.27 9.43 6.16 13.71 20.81 24.53 9.00 22.56

NSM-MCGRPtime

1.10 4.32 2.96 0.00 2.84 0.00 1.47 – – 0.00 3.10 1.07 −0.62 0.00 0.00 1.90 3.08 0.00 0.00 3.19 0.83 – – 1.33 4.32

GAP

NETWORKS—2014—DOI 10.1002/net

271

m

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

Name

mggdb1 mggdb2 mggdb3 mggdb4 mggdb5 mggdb6 mggdb7 mggdb8 mggdb9 mggdb10 mggdb11 mggdb12 mggdb13 mggdb14 mggdb15 mggdb16 mggdb17 mggdb18 mggdb19 mggdb20 mggdb21 mggdb22 mggdb23 Average Maximum value

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

|V |

34 40 34 30 40 34 34 70 78 38 68 36 42 32 32 42 42 54 18 34 50 66 84

|A|

5 6 5 4 6 5 5 11 12 6 11 5 7 5 5 7 7 9 2 5 8 11 13

|E|

7 6 6 6 7 7 8 9 13 9 12 6 7 5 5 5 6 8 3 6 7 8 9

|VR | 11 13 11 9 13 11 11 22 25 12 22 11 13 10 10 13 13 17 5 11 16 21 27

|AR | 3 3 3 2 3 3 3 7 7 3 7 3 4 3 3 4 4 5 1 3 5 7 8

|ER | 232 271 208 180 282 235 247 – – 258 293 369 402 81 44 71.5 62 135 51 93 117.5 – –

LB1

B&Ctime 601.02 1,435.16 1,700.95 27.59 TL 1,552.37 412.65 – – 813.59 3,875.68 15,229.89 TL 369.34 0.72 2,271.37 0.85 0.41 0.21 75.81 TL – –

B&CUB 252∗ 284∗ 243∗ 242∗ 309 262∗ 272∗ – – 268∗ 303∗ 461∗ 417 84∗ 44∗ 75∗ 62∗ 135∗ 51∗ 96∗ 120 – –

252∗ 284∗ 243∗ 242∗ 317 262∗ 272∗ 321 274 268∗ 313 461∗ 435 85 44∗ 75∗ 62∗ 137 51∗ 96∗ 122 143 185

NSM-MCGRPUB 21.25 16.20 18.09 25.25 26.19 13.60 19.76 63.98 85.74 18.92 26.69 13.37 24.64 10.10 7.00 27.52 11.00 9.71 4.44 3.77 6.38 21.37 15.04 21.30

NSM-MCGRPtime 0.00 0.00 0.00 0.00 2.59 0.00 0.00 – – 0.00 3.30 0.00 4.32 1.19 0.00 0.00 0.00 1.48 0.00 0.00 1.67 – – 0.77 4.32

GAP 6 7 7 6 7 6 6 13 15 8 12 6 7 6 6 5 5 6 4 6 9 8 10

|VR | 10 12 10 9 12 10 10 21 23 11 20 10 12 9 9 12 12 16 5 10 15 19 25

|AR | 3 3 3 2 3 3 3 6 7 3 6 3 4 3 3 4 4 5 1 3 4 6 7

|ER | LB1 248.33 281 208 205 289 247 215 – – 181 270 314 373 58 37 84 65 114 38 92 100.25 – –

Computational results for mggdb datasets with β ∈ {0.35, 0.40}

β = 0.35

TABLE 2.

279∗ 308 225∗ 238∗ 344 270∗ 282∗ – – 191∗ 283 412∗ 405 62∗ 37∗ 84∗ 65∗ 119∗ 38∗ 94∗ 104∗ – –

B&CUB

392.87 TL 88.16 9.77 TL 418.86 7,631.93 – – 3.46 TL 10,608.79 TL 76.00 0.21 0.74 0.49 45.30 0.63 15.87 207.58 – –

B&Ctime

279∗ 320 229 238∗ 346 281 283 340 285 191∗ 287 412∗ 405 62∗ 37∗ 84∗ 65∗ 122 38∗ 94∗ 106 132 165

NSM-MCGRPUB

β = 0.40

11.93 28.19 11.10 20.42 18.81 10.27 15.87 73.86 34.46 14.48 34.13 10.54 9.60 2.61 12.21 8.38 1.55 10.82 7.27 21.86 11.49 12.82 18.70 17.45

NSM-MCGRPtime

0.00 3.90 1.78 0.00 0.58 4.07 0.35 – – 0.00 1.41 0.00 0.00 0.00 0.00 0.00 0.00 2.52 0.00 0.00 1.92 – – 0.87 4.07

GAP

272

NETWORKS—2014—DOI 10.1002/net

m

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

Name

mggdb1 mggdb2 mggdb3 mggdb4 mggdb5 mggdb6 mggdb7 mggdb8 mggdb9 mggdb10 mggdb11 mggdb12 mggdb13 mggdb14 mggdb15 mggdb16 mggdb17 mggdb18 mggdb19 mggdb20 mggdb21 mggdb22 mggdb23 Average Maximum value

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

|V |

34 40 34 30 40 34 34 70 78 38 68 36 42 32 32 42 42 54 18 34 50 66 84

|A|

5 6 5 4 6 5 5 11 12 6 11 5 7 5 5 7 7 9 2 5 8 11 13

|E|

6 7 8 7 7 7 9 16 14 9 15 10 7 6 6 6 7 7 3 5 7 9 9

|VR | 9 11 9 8 11 9 9 19 21 10 18 9 11 8 8 11 11 14 4 9 13 18 23

|AR | 2 3 2 2 3 2 2 6 6 3 6 2 3 2 2 3 3 4 1 2 4 6 7

|ER | 211 279 210 186.33 309 182 171 – – 196 278 321 371 58 34 62 53 112 40 76 120 – –

LB1

B&Ctime 283.37 TL 246.12 10.32 TL 108.99 2,121.23 – – 84.85 TL TL TL 102.70 0.49 238.22 1.69 TL 0.86 7.22 10,530.75 – –

B&CUB 259∗ 298 237∗ 228∗ 350 218∗ 243∗ – – 214∗ 297 393 423 66∗ 34∗ 70∗ 53∗ 123 48∗ 78∗ 122∗ – –

259∗ 302 245 228∗ 357 225 243∗ 312 287 214∗ 310 406 423 67 36 70∗ 53∗ 123 48∗ 78∗ 128 139 147

NSM-MCGRPUB 21.81 15.65 15.59 25.64 23.47 15.43 26.58 23.20 40.90 14.37 29.30 8.27 16.87 20.37 2.61 1.05 2.72 30.69 4.55 12.99 22.20 17.70 17.43 17.80

NSM-MCGRPtime 0.00 1.34 3.38 0.00 2.00 3.21 0.00 – – 0.00 4.38 3.31 0.00 1.52 5.88 0.00 0.00 0.00 0.00 0.00 4.92 – – 1.58 5.88

GAP 8 6 9 6 7 7 9 15 16 7 16 8 8 6 5 6 7 8 3 5 8 10 7

|VR | 8 10 8 7 10 8 8 17 19 9 17 9 10 8 8 10 10 13 4 8 12 16 21

|AR | 2 3 2 2 3 2 2 5 6 3 5 2 3 2 2 3 3 4 1 2 4 5 6

|ER |

Computational results for mggdb datasets with β ∈ {0.45, 0.50}

β = 0.45

TABLE 3.

178 233 184 172 226 228 237 – – 190 249 352 214 71 37 62 53 111 39.74 75 80 – –

LB1 214∗ 269 218∗ 219∗ 292∗ 276∗ 265∗ – – 194∗ 275 445∗ 259 75∗ 37∗ 66∗ 53∗ 121 44∗ 81∗ 86∗ – –

B&CUB

86.77 TL 399.66 16.42 2,889.28 1,171.76 378.97 – – 3.71 TL 13,492.66 TL 20.55 0.42 36.26 0.92 TL 0.34 20.70 15,691.34 – –

B&Ctime

β = 0.50

214∗ 281 218∗ 219∗ 292∗ 276∗ 274 310 270 194∗ 278 445∗ 259 76 37∗ 66∗ 53∗ 122 44∗ 81∗ 88 127 125

NSM-MCGRPUB

3.61 12.04 5.77 9.60 3.05 4.00 5.60 29.25 42.90 2.00 16.65 8.05 3.83 5.11 1.17 3.39 1.01 12.82 1.00 3.50 4.72 5.77 8.44 8.40

NSM-MCGRPtime

0.00 4.46 0.00 0.00 0.00 0.00 3.40 – – 0.00 1.09 0.00 0.00 1.33 0.00 0.00 0.00 0.83 0.00 0.00 2.33 – – 0.71 4.46

GAP

NETWORKS—2014—DOI 10.1002/net

273

m

2 3 8 2 3 8 2 3 7 3 4 5 9 3 4 5 9 3 4 10 3 4 9 3 4 9 3 4 5 10 3 4 5 10

Name

mgval1A mgval1B mgval1C mgval2A mgval2B mgval2C mgval3A mgval3B mgval3C mgval4A mgval4B mgval4C mgval4D mgval5A mgval5B mgval5C mgval5D mgval6A mgval6B mgval6C mgval7A mgval7B mgval7C mgval8A mgval8B mgval8C mgval9A mgval9B mgval9C mgval9D mgval10A mgval10B mgval10C mgval10D Average Maximum value

24 24 24 24 24 24 24 24 24 41 41 41 41 34 34 34 34 31 31 31 40 40 40 30 30 30 50 50 50 50 50 50 50 50

|V |

35 38 36 28 40 35 33 29 25 69 83 82 83 74 56 81 63 47 44 45 50 66 62 76 64 55 100 76 83 93 106 101 100 87

|A|

20 13 17 16 12 14 15 16 18 26 19 21 21 22 35 17 29 22 22 23 36 25 28 20 27 28 32 44 42 38 32 33 36 42

|E| 13 10 12 7 9 12 9 8 10 19 20 24 19 21 18 21 17 16 14 16 20 18 18 16 16 16 23 22 26 24 26 24 23 23

|VR | 26 28 27 21 30 26 24 21 18 51 62 61 62 55 42 60 47 35 33 33 37 49 46 57 48 41 75 57 62 69 79 75 75 65

|AR | 15 9 12 12 9 10 11 12 13 19 14 15 15 16 26 12 21 16 16 17 27 18 21 15 20 21 24 33 31 28 24 24 27 31

|ER | 177 217 – 251 318 – 88 112.5 129.5 504 506.25 504 – 483 472 561 – 274 253.5 – 294.5 351 – 507 405 – 367 354 347 – 492 528 480 –

LB1

B&Ctime 0.3 0.13 – 6.1 941.47 – 3.21 7,217.32 TL TL TL TL – 2,418.17 TL TL – 11.81 TL – 121.29 1,859.86 – TL TL – TL TL TL – 5.08 1.64 TL –

B&CUB 177∗ 217∗ – 259∗ 336∗ – 89∗ 125∗ 153 514 537 525 – 485∗ 493 584 – 274∗ 263 – 297∗ 355∗ – 510 423 – 371 358 365 – 492∗ 528∗ 483 –

177∗ 217∗ 335 259∗ 336∗ 528 89∗ 125∗ 161 514 541 549 724 485∗ 500 599 681 274∗ 263 337 297∗ 355∗ 407 510 423 591 371 363 369 478 492∗ 528∗ 501 616

NSM-MCGRPUB 5.83 10.16 72.14 6.71 1,672.86 107.77 5.22 797.39 54.83 3,684.52 4,286.68 2,466.21 141.40 551.17 5,591.12 994.62 128.86 7.77 18.53 21.03 38.85 7.71 53.55 4,348.84 3,410.21 1,083.69 2,405.33 1,587.63 2,495.23 291.73 5,793.90 4,346.78 3,335.74 698.00 1,485.94

NSM-MCGRPtime 0.00 0.00 – 0.00 0.00 – 0.00 0.00 5.23 0.00 0.74 4.57 – 0.00 1.42 2.57 – 0.00 0.00 – 0.00 0.00 – 0.00 0.00 – 0.00 1.40 1.10 – 0.00 0.00 3.73 – 0.83 5.23

GAP 15 12 12 12 13 12 13 10 12 21 27 27 22 20 20 20 22 19 19 17 17 19 23 21 21 18 26 27 25 31 31 30 30 32

|VR | 24 26 25 19 28 24 23 20 17 48 58 57 58 51 39 56 44 32 30 31 35 46 43 53 44 38 70 53 58 65 74 70 70 60

|AR | 14 9 11 11 8 9 10 11 12 18 13 14 14 15 24 11 20 15 15 16 25 17 19 14 18 19 22 30 29 26 22 23 25 29

|ER |

Computational results for mgval datasets with β ∈ {0.25, 0.30}

β = 0.25

TABLE 4.

168 182 – 228.44 322.83 – 103.5 108 126.5 466 491 468.5 – 444 465 513 – 240 251 – 324 336 – 427.5 390.5 – 356 344 330 – 481 435 464 –

LB1 170∗ 194∗ – 233∗ 347∗ – 105∗ 115∗ 153 477 533 498 – 445∗ 490 551 – 252 262∗ – 324∗ 344 – 431 400 – 357 348 335 – 484 441 478 –

B&CUB 4.38 24.46 – 1.58 3,309.99 – 6.34 31.27 TL TL TL TL – 96.32 TL TL – TL 6,331.62 – 1.72 TL – TL TL – TL TL TL – TL TL TL –

B&Ctime 170∗ 194∗ 280 233∗ 347∗ 542 105∗ 115∗ 156 477 537 513 718 445∗ 492 568 675 252 268 339 324∗ 344 380 431 408 570 357 356 347 475 484 441 483 575

NSM-MCGRPUB

β = 0.30

5.49 25.03 17.92 2.94 4,080.41 79.47 6.71 49.06 106.88 5,383.02 3,983.46 401.50 176.53 362.49 3,372.75 510.16 278.47 288.90 34.74 24.31 54.27 18.76 55.27 3,482.69 1,229.52 963.87 65.26 1,984.96 524.08 674.03 534.46 3,577.31 1,711.82 309.21 1,011.05

NSM-MCGRPtime

0.00 0.00 – 0.00 0.00 – 0.00 0.00 1.96 0.00 0.75 3.01 – 0.00 0.41 3.09 – 0.00 2.29 – 0.00 0.00 – 0.00 2.00 – 0.00 2.30 3.58 – 0.00 0.00 1.05 – 0.82 3.58

GAP

274

NETWORKS—2014—DOI 10.1002/net

m

2 3 8 2 3 8 2 3 7 3 4 5 9 3 4 5 9 3 4 10 3 4 9 3 4 9 3 4 5 10 3 4 5 10

Name

mgval1A mgval1B mgval1C mgval2A mgval2B mgval2C mgval3A mgval3B mgval3C mgval4A mgval4B mgval4C mgval4D mgval5A mgval5B mgval5C mgval5D mgval6A mgval6B mgval6C mgval7A mgval7B mgval7C mgval8A mgval8B mgval8C mgval9A mgval9B mgval9C mgval9D mgval10A mgval10B mgval10C mgval10D Average Maximum value

24 24 24 24 24 24 24 24 24 41 41 41 41 34 34 34 34 31 31 31 40 40 40 30 30 30 50 50 50 50 50 50 50 50

|V |

35 38 36 28 40 35 33 29 25 69 83 82 83 74 56 81 63 47 44 45 50 66 62 76 64 55 100 76 83 93 106 101 100 87

|A|

20 13 17 16 12 14 15 16 18 26 19 21 21 22 35 17 29 22 22 23 36 25 28 20 27 28 32 44 42 38 32 33 36 42

|E| 12 16 14 12 13 14 13 13 13 24 25 27 30 20 23 19 22 20 20 17 23 21 24 22 20 22 31 29 35 31 34 32 34 31

|VR | 22 24 23 18 26 22 21 18 16 44 53 53 53 48 36 52 40 30 28 29 32 42 40 49 41 35 65 49 53 60 68 65 65 56

|AR | 13 8 11 10 7 9 9 10 11 16 12 13 13 14 22 11 18 14 14 14 23 16 18 13 17 18 20 28 27 24 20 21 23 27

|ER | 158 188 – 280.5 305.67 – 81.67 105 130 415 488 479.2 – 436 439 538.5 – 246 241 – 264 321 – 414 376 – 322 320.5 316 – 472 457 411 –

LB1

B&Ctime 0.18 39.57 – 1.99 135.13 – 2.94 128.98 TL TL TL TL – TL TL TL – 50.23 1,715.66 – 1.19 208.79 – TL TL – 1,071.31 TL TL – 2,230.29 TL TL –

B&CUB 158∗ 192∗ –– 286∗ 326∗ – 84∗ 113∗ 150 430 531 516 – 454 467 586 – 248∗ 250∗ – 264∗ 325∗ – 415 385 – 324∗ 332 329 – 475∗ 461 431 –

158∗ 192∗ 284 286∗ 326∗ 523 84∗ 113∗ 159 430 531 553 661 454 468 595 648 248∗ 250∗ 326 264∗ 325∗ 351 415 385 547 324∗ 332 338 473 475∗ 463 448 566

NSM-MCGRPUB 1.05 111.04 98.22 9.00 1,300.61 63.04 5.22 365.43 21.53 4,378.97 2,465.93 116.81 107.71 3,566.15 2,464.49 3,801.78 99.39 25.08 10.21 16.93 7.05 18.98 63.54 2,834.74 420.48 141.95 397.23 2,998.56 524.42 528.86 5,105.44 3,345.78 3,135.46 935.18 1,161.36

NSM-MCGRPtime 0.00 0.00 – 0.00 0.00 – 0.00 0.00 6.00 0.00 0.00 7.17 – 0.00 0.21 1.54 – 0.00 0.00 – 0.00 0.00 – 0.00 0.00 – 0.00 0.00 2.74 – 0.00 0.43 3.94 – 0.88 7.17

GAP 15 14 15 13 18 14 13 14 13 26 29 28 27 25 23 26 25 20 19 22 25 23 27 23 23 23 35 34 30 39 36 34 33 35

|VR | 21 22 21 16 24 21 19 17 15 41 49 49 49 44 33 48 37 28 26 27 30 39 37 45 38 33 60 45 49 55 63 60 60 52

|AR | 12 7 10 9 7 8 9 9 10 15 11 12 12 13 21 10 17 13 13 13 21 15 16 12 16 16 19 26 25 22 19 19 21 25

|ER | LB1 164 190 – 212 276 – 86 107 120 384 395 424 – 423.33 401.78 487.83 – 220.5 203.22 – 269 258.68 – 391 356 – 337 319 280 – 404 430.5 417 –

Computational results for mgval datasets with β ∈ {0.35, 0.40}

β = 0.35

TABLE 5.

165∗ 196∗ – 222∗ 311∗ – 86∗ 110∗ 148 400∗ 423 462 – 426∗ 424 524 – 224∗ 211∗ – 271∗ 270∗ – 393∗ 371 – 341 327 295 – 406∗ 433 432 –

B&CUB 1.34 1,414.98 – 1.7 1,505.98 – 0.4 7.25 TL 11,152.63 TL TL – 195.29 TL TL – 150.18 858.26 – 956.9 1,608.99 – 4,331.64 TL – TL TL TL – 5,107.91 TL TL –

B&Ctime 165∗ 196∗ 272 222∗ 311∗ 485 86∗ 110∗ 157 400∗ 423 487 669 426∗ 428 539 665 224∗ 211∗ 316 271∗ 270∗ 336 393∗ 372 573 341 331 301 414 406∗ 439 435 521

NSM-MCGRPUB

β = 0.40

4.72 192.40 307.77 1.22 886.68 62.99 3.39 55.27 52.22 2,079.08 254.27 692.40 49.06 592.62 997.89 879.41 143.29 23.81 13.04 12.26 26.75 9.88 29.19 3,340.79 204.22 102.61 3,573.25 2,582.91 308.16 306.94 5,247.39 4,934.13 1,482.19 315.87 875.53

NSM-MCGRPtime

0.00 0.00 – 0.00 0.00 – 0.00 0.00 6.08 0.00 0.00 5.41 – 0.00 0.94 2.86 – 0.00 0.00 – 0.00 0.00 – 0.00 0.27 – 0.00 1.22 2.03 – 0.00 1.39 0.69 – 0.84 6.08

GAP

NETWORKS—2014—DOI 10.1002/net

275

m

2 3 8 2 3 8 2 3 7 3 4 5 9 3 4 5 9 3 4 10 3 4 9 3 4 9 3 4 5 10 3 4 5 10

Name

mgval1A mgval1B mgval1C mgval2A mgval2B mgval2C mgval3A mgval3B mgval3C mgval4A mgval4B mgval4C mgval4D mgval5A mgval5B mgval5C mgval5D mgval6A mgval6B mgval6C mgval7A mgval7B mgval7C mgval8A mgval8B mgval8C mgval9A mgval9B mgval9C mgval9D mgval10A mgval10B mgval10C mgval10D Average Maximum value

24 24 24 24 24 24 24 24 24 41 41 41 41 34 34 34 34 31 31 31 40 40 40 30 30 30 50 50 50 50 50 50 50 50

|V |

35 38 36 28 40 35 33 29 25 69 83 82 83 74 56 81 63 47 44 45 50 66 62 76 64 55 100 76 83 93 106 101 100 87

|A|

20 13 17 16 12 14 15 16 18 26 19 21 21 22 35 17 29 22 22 23 36 25 28 20 27 28 32 44 42 38 32 33 36 42

|E| 17 14 16 15 18 18 15 16 16 29 36 29 31 26 26 26 27 23 22 22 27 28 27 24 23 20 37 35 34 37 40 35 37 35

|VR | 19 20 19 15 22 19 18 15 13 37 45 45 45 40 30 44 34 25 24 24 27 36 34 41 35 30 55 41 45 51 58 55 55 47

|AR | 11 7 9 8 6 7 8 8 9 14 10 11 11 12 19 9 15 12 12 12 19 13 15 11 14 15 17 24 23 20 17 18 19 23

|ER | 166 166 – 251 281 – 78 87 122 365 423 434 – 377.38 378.61 445 – 207 192.05 – 257.5 290 – 367 341 – 299 311 273 – 385 390 382 –

LB1

B&Ctime 7.11 3.2 – 0.49 1,311.99 – 4.80 3.23 TL 1,198.90 TL TL – TL TL TL – 528.51 892.69 – 200.07 TL – TL TL – TL TL TL – TL TL TL –

B&CUB 168∗ 166∗ – 251∗ 314∗ – 82∗ 91∗ 143 381∗ 471 481 – 391 416 492 – 213∗ 210∗ – 261∗ 294 – 370 360 – 306 323 291 – 388 399 403 –

168∗ 166∗ 313 251∗ 314∗ 496 82∗ 91∗ 143 381∗ 481 508 626 391 416 502 612 213∗ 210∗ 308 261∗ 294 347 370 376 535 306 323 306 403 388 399 418 504

NSM-MCGRPUB 5.49 10.88 61.49 2.05 595.17 56.22 5.27 24.69 23.97 1,668.42 523.31 418.26 87.62 5,679.75 1,066.70 79.19 121.81 18.26 47.11 22.20 29.47 39.51 33.46 1,201.33 509.77 70.70 5,755.00 1,517.43 1,411.04 430.80 5,185.96 2,682.52 780.91 179.41 892.51

NSM-MCGRPtime 0.00 0.00 – 0.00 0.00 – 0.00 0.00 0.00 0.00 2.12 5.61 – 0.00 0.00 2.03 – 0.00 0.00 – 0.00 0.00 – 0.00 4.44 – 0.00 0.00 5.15 – 0.00 0.00 3.72 – 0.92 5.61

GAP 16 17 14 16 18 16 17 15 15 31 32 32 32 27 28 26 27 19 23 22 31 26 29 26 23 22 39 37 38 38 40 44 40 46

|VR | 17 19 18 14 20 17 16 14 12 34 41 41 41 37 28 40 31 23 22 22 25 33 31 38 32 27 50 38 41 46 53 50 50 43

|AR | 10 6 8 8 6 7 7 8 9 13 9 10 10 11 17 8 14 11 11 11 18 12 14 10 13 14 16 22 21 19 16 16 18 21

|ER |

Computational results for mgval datasets with β ∈ {0.45, 0.50}

β = 0.45

TABLE 6.

137 170 – 248 262 – 71.09 98.5 116.25 346 361 441.5 – 360 348 416.5 – 199 192.5 – 243 272 – 382 330 – 306 261.65 278.33 – 377.5 364 389 –

LB1 145∗ 170∗ – 248∗ 284∗ – 75∗ 107∗ 137 350∗ 413 488 – 367∗ 378 459 – 210∗ 210∗ – 248∗ 276∗ – 388 350 – 306∗ 278 301 – 385 369 406 –

B&CUB 6.28 2.92 – 0.57 278.96 – 1.62 801.35 TL 144.85 TL TL – 1,296 TL TL – 123.21 368.05 – 126.78 1,429.5 – TL TL – 4.05 TL TL – TL TL TL –

B&Ctime 145∗ 170∗ 261 248∗ 284∗ 488 75∗ 107∗ 139 350∗ 419 512 613 367∗ 378 476 570 210∗ 210∗ 306 248∗ 276∗ 333 388 356 535 306∗ 278 303 408 385 371 416 492

NSM-MCGRPUB

β = 0.50

1.94 3.77 8.99 6.00 226.08 23.47 1.17 66.15 6.77 70.53 361.21 360.88 145.17 919.76 386.18 419.87 193.17 40.07 21.03 17.87 68.53 36.07 120.81 3,230.08 573.25 381.35 10.32 2,599.22 663.65 213.10 5,717.65 2,474.81 675.03 403.77 601.40

NSM-MCGRPtime

0.00 0.00 – 0.00 0.00 – 0.00 0.00 1.46 0.00 1.45 4.92 – 0.00 0.00 3.70 – 0.00 0.00 – 0.00 0.00 – 0.00 1.71 – 0.00 0.00 0.66 – 0.00 0.54 2.46 – 0.68 4.92

GAP

• B&CUB : total traversal cost of the solution provided by the B&C algorithm of Bosco et al. [4] within a time limit of 6 h; • B&Ctime : computational time (in seconds) of the B&C algorithm of Bosco et al. [4] (the time limit is denoted by TL). Observe that the B&C algorithm has been carried out on the same PC used to run NSM-MCGRP; • NSM-MCGRPUB : total traversal cost of the solution provided by NSM-MCGRP; • NSM-MCGRPtime : computational time (in seconds) of NSMMCGRP; • GAP: percentage gap between NSM-MCGRPUB and B&CUB computed as

100[NSM-MCGRPUB − B&CUB ] B&CUB In Tables 1–6, the cost is labeled with an asterisk whenever equal to the optimal value. Moreover, the upper bounds in bold in column NSM-MCGRPUB outperform the values returned by the B&C algorithm within the time limit. For mggdb and mgval instances with m ≥ 8, where the B&C algorithm did not provide a solution, the corresponding fields are marked by –. In these cases, no comparison is performed and the percentage gaps are replaced by –. At the end of each table, we report the average computational time, the average gap, and the maximum gap associated with NSM-MCGRP. Such gaps are obtained among the ones related to the instances of each dataset, whereby a comparison with the B&C algorithm is performed. We observe that in 58 of 84 mggdb instances solved to optimality, NSMMCGRP reproduces the optimal solution. Moreover, for instance mggdb13 with β = 0.30, an improvement of the existing upper bound is reached. Regarding mggdb instances solved through the B&C algorithm, the percentage average gap ranges from 0.71 to 1.58, showing the effectiveness of the proposed approach as for the quality of the solutions. A good behavior brings out also for mgval instances, where NSM-MCGRP provides the optimal solution for 69 of 70 mgval instances solved to optimality by the B&C algorithm. In these instances, the percentage average gap ranges from 0.68 to 0.92, in confirmation of the capability of the algorithm in reaching the optimality rather than reducing the computational efforts to find a feasible MCGRP solution. For the instances where the B&C algorithm is not able to find the optimal solution, NSM-MCGRP requires much less than 6 h to find upper bounds that are close to the ones provided by the B&C algorithm. The proposed method is much competitive due to the effective exploitation of the B&C algorithm embedded into a neighborhood search framework. The performance of NSM-MCGRP has been also evaluated by carrying out computational experiments on CBMix dataset (where m → ∞). The results reached by NSMMCGRP and the results provided by Prins and Bouchenoua [27], Kokubugata et al. [15], and Hasle et al. [13] on this dataset are reported in Table 7. Columns called Name, |V |, |A|, |E|, |VR |, |AR |, |ER |, NSM-MCGRPUB , and

276

NETWORKS—2014—DOI 10.1002/net

NSM-MCGRPtime have the same meaning as the ones in Tables 1–6. New column headings are defined as follows. • LB2 : lower bound on the optimal value from [1]; • BestMAUB : total traversal cost of the solution provided by the memetic algorithm of Prins and Bouchenoua [27]; in particular, the column reports for each instance the best value obtained by using several settings of parameters; • BestSAUB : total traversal cost of the solution provided by the simulated annealing algorithm of Kokubugata et al. [15] which is based on randomization; in particular, the column reports for each instance the best value obtained in 10 runs; • SpiderUB : total traversal cost of the solution found by Spider (a SINTEF’s industrial VRP solver) and reported by Hasle et al. [13].

The various algorithms have been carried out on machines with different features (for this reason, the comparison among times has been omitted). Moreover, the results concerning the memetic algorithm of Prins and Bouchenoua and the simulated annealing algorithm of Kokubugata et al. refer to the best value of multiple runs. However, we state that the machine used for our experiments is similar to the one used by Hasle et al. (the computational times are also comparable). In Table 7, values equal to or better than the best known upper bound for each instance are marked in bold face. At the end of the table, we report for each algorithm the total number of the best upper bounds and the average percentage gap computed with respect to these upper bounds. For our algorithm such values are equal to 10 and 0.78%, respectively. They confirm that NSM-MCGRP is a competitive algorithm. A further table summarizes the impact of some components of the algorithm on computational time and solution quality. To evaluate their effectiveness, mggdb dataset with β = 0.25 was used. In particular, Table 8 reports the results concerning the capability of the neighborhood structures to improve the solution quality in the intensification step, and provides details about the model-based search. With respect to the neighborhood structures defined in Section 3.3, the results shown in Table 8 refer to some subsets of these structures. In particular, the neighborhoods merging two routes into a single one or interchanging the end parts of two routes, that is, merge and twoOptPlusInterRoute, are referred to as combine. Similarly, swap denotes all neighborhoods interchanging fixed sequences of required elements between two routes, that is, λ−interchange with λ in {1, 2, 3, 4, 5}. Finally, relocate indicates the neighborhoods moving a single required element from a given route to another one, that is, interchangeInterRoute and interchangeInterRouteNewPath. Given these definitions, the results reported in Table 8 show the impact of combine, swap, and relocate from the computational point of view. Columns “Combine” deal with the results obtained by turning off operations in swap and relocate, columns “Swap” deal with the results obtained by turning off operations in combine and relocate, columns “Relocate” deal with the results obtained by turning off operations in combine

NETWORKS—2014—DOI 10.1002/net

277

|V |

21 68 31 53 32 49 75 77 29 56 69 38 150 94 52 71 42 117 126 43 60 25 11

Name

CBMix1 CBMix2 CBMix3 CBMix4 CBMix5 CBMix6 CBMix7 CBMix8 CBMix9 CBMix10 CBMix11 CBMix12 CBMix13 CBMix14 CBMix15 CBMix16 CBMix17 CBMix18 CBMix19 CBMix20 CBMix21 CBMix22 CBMix23 Number of best values Average gap

66 246 80 36 57 92 150 162 8 16 229 71 290 332 0 138 102 212 293 129 70 48 25

|A| 0 0 8 75 4 4 8 6 39 94 6 0 2 0 91 0 16 0 9 2 68 10 2

|E| 11 36 16 10 23 40 54 63 6 4 65 1 79 93 0 36 16 39 61 38 55 7 3

|VR | 37 149 55 13 38 64 106 108 5 9 11 52 60 0 0 133 31 88 142 33 57 25 15

|AR | 0 0 8 75 4 4 8 6 39 94 6 0 2 0 91 0 16 0 9 2 68 10 2

|ER |

TABLE 7.

2,409 9,742 3,014 5,302 3,789 5,201 7,296 7,956 3,460 6,432 3,031 3,138 6,524 5,731 6,318 7,416 3,654 6,089 11,143 3,452 12,474 1,825 667

LB2 2,589 12,241 3,669 7,583 4,544 7,087 9,748 10,658 4,038 7,582 4,494 3,235 9,110 8,566 8,340 8,933 4,037 7,254 16,554 4,844 18,201 1,941 780 10 0.62%

BestMAUB

Computational results for CBMix dataset

2,595 12,220 3,660 7,641 4,531 7,087 9,615 10,524 4,103 7,687 4,506 3,235 9,133 8,608 8,280 8,886 4,037 7,098 16,347 4,846 18,069 1,941 780 11 0.46%

BestSAUB 2,589 12,222 3,643 7,802 4,531 7,087 9,607 10,669 4,130 7,794 4,525 3,235 9,135 8,579 8,371 9,022 4,097 7,133 16,692 4,859 18,809 1,941 780 5 1.15%

SpiderUB

2,587 12,241 3,643 7,583 4,531 6,968 9,859 10,658 4,060 7,755 4,561 3,138 9,110 8,671 8,359 8,933 4,037 7,254 16,554 4,885 18,509 1,941 780 10 0.78%

NSM-MCGRPUB

1,202.31 4,858.44 3,286.73 3,165.26 1,179.72 3,587.57 3,805.02 3,913.25 1,817.18 3,065.40 2,036.79 500.61 3,877.24 2,725.96 2,489.12 3,924.25 1,476.28 2,593.37 5,187.36 2,104.03 4,623.42 252.12 43.84

NSM-MCGRPtime

278

NETWORKS—2014—DOI 10.1002/net

Ave

3.27 1.93 3.18 0.70 1.93 2.34 2.02 5.37 6.81 0.57 1.57 2.66 15.64 4.41 0.00 4.44 0.16 2.04 0.81 15.07 10.11 3.88 22.46 4.84

Name

mggdb1 mggdb2 mggdb3 mggdb4 mggdb5 mggdb6 mggdb7 mggdb8 mggdb9 mggdb10 mggdb11 mggdb12 mggdb13 mggdb14 mggdb15 mggdb16 mggdb17 mggdb18 mggdb19 mggdb20 mggdb21 mggdb22 mggdb23 Average

18.86 24.70 22.27 17.38 25.58 14.71 17.30 38.33 41.41 15.43 35.53 19.38 36.04 44.93 0.00 31.45 2.30 42.76 11.94 39.22 45.92 26.67 46.90

Best

Combine

7.42 9.10 10.18 9.17 7.98 9.99 10.62 12.25 9.25 7.65 11.61 7.15 22.32 4.31 4.82 14.32 3.63 6.59 3.65 24.33 6.56 12.51 28.55 10.61

Ave

29.31 29.57 40.97 25.17 19.42 24.95 36.67 35.47 27.93 33.75 41.34 25.58 41.91 14.86 20.78 41.31 13.48 25.32 18.67 44.06 28.19 46.49 47.72

Best

Swap

12.90 13.46 17.19 14.77 15.85 14.70 20.16 22.07 15.92 12.28 17.35 13.55 23.92 9.91 9.58 20.19 10.03 10.85 16.99 34.68 18.93 20.13 28.96 17.15

Ave 51.88 47.27 55.39 54.37 50.29 53.28 56.78 57.46 50.77 51.77 50.13 43.75 53.72 56.00 54.67 66.36 60.13 31.05 79.44 80.56 71.75 73.87 73.80

Best

Relocate

7.44 9.60 11.72 10.29 8.12 11.84 10.83 13.64 14.09 9.07 11.68 7.63 25.16 7.75 6.18 15.57 6.40 9.05 4.83 28.88 11.51 12.79 36.09 12.62

Ave 29.31 29.57 43.07 36.06 28.27 37.10 40.01 40.90 44.59 37.23 47.11 28.43 46.81 46.25 46.62 46.47 45.58 46.62 36.90 61.16 46.05 46.71 49.68

Best

Combine&Swap

14.14 14.08 19.14 17.46 17.32 18.20 20.50 23.45 21.44 13.39 18.87 14.09 25.39 15.03 10.61 20.32 11.00 12.25 18.78 40.08 22.24 22.61 29.36 19.12

Ave 73.45 71.98 75.38 64.74 73.01 79.57 81.95 71.85 79.18 73.17 53.08 51.04 59.67 73.30 78.55 81.96 92.10 60.56 92.90 85.31 85.86 77.57 75.32

Best

Combine&Relocate

TABLE 8.

14.78 15.07 18.99 15.65 15.97 18.81 20.17 22.77 19.77 12.57 17.78 16.06 56.88 11.35 10.93 21.29 11.00 13.43 17.07 45.59 21.49 22.12 54.06 21.46

Ave 51.98 53.58 57.94 60.31 57.40 58.88 77.82 76.92 75.70 75.12 51.41 72.81 90.67 58.86 88.47 79.58 92.10 87.09 88.42 83.94 79.83 80.62 91.21

Best

Swap&Relocate

16.14 15.75 19.44 17.86 17.95 18.84 23.16 24.19 22.07 13.69 18.94 19.41 57.99 15.74 11.48 22.15 12.63 14.42 20.63 53.88 28.70 27.97 65.88 24.30

Ave

All

85.73 76.43 79.86 84.57 81.06 85.36 83.68 85.38 93.94 77.90 71.64 75.02 91.35 90.85 97.24 84.44 94.52 87.32 94.02 88.99 86.75 86.40 97.40

Best

R-Time 3.28 2.75 3.59 3.38 3.79 4.11 1.93 4.00 4.25 2.68 1.89 4.54 7.99 2.77 1.83 1.79 1.44 3.89 2.52 1.84 2.46 2.07 1.83 3.07

G-Cost −10.26 −5.77 −2.39 −4.62 −6.82 −3.91 −7.65 −3.84 −9.46 0.00 −3.40 −6.25 −22.83 −1.83 −3.51 −12.50 0.00 −2.04 0.00 −9.30 −10.98 −3.45 −10.14 −6.13

Couples

Further results (mggdb dataset with β = 0.25)

−10.26 −5.77 −3.75 −4.62 −8.41 −4.89 −11.31 −5.75 −9.46 0.00 −6.02 −7.46 −22.83 −1.83 −3.51 −12.50 0.00 −2.04 0.00 −10.08 −10.98 −6.90 −11.11 −6.93

G-Cost 11.93 11.81 5.52 5.16 12.97 4.34 4.19 85.98 173.37 2.73 74.40 15.47 10.22 3.57 1.93 5.16 1.64 16.81 2.79 3.33 4.17 6.63 7.10 20.49

R-Time

Triplets

−10.26 −5.77 −3.75 −4.62 −6.59 −3.91 −11.31 −4.93 −7.45 0.00 −4.45 −3.63 −13.19 −0.92 −3.51 −12.50 0.00 −2.04 0.00 −9.30 −10.98 −5.17 −10.63 −5.87

G-Cost

5.87 7.15 4.27 2.85 3.86 3.93 3.92 27.28 44.55 1.64 35.20 5.05 8.73 1.83 1.69 2.40 1.56 6.13 1.86 3.14 2.90 3.82 4.16 7.99

R-Time

Triplets5

−10.26 −5.77 −3.75 −2.31 −6.59 −3.91 −7.65 −3.84 −7.45 0.00 −4.45 −3.63 −13.19 −0.92 −3.51 −10.71 0.00 −2.04 0.00 −5.43 −10.98 −3.45 −8.70 −5.15

G-Cost

4.28 3.81 3.18 2.14 2.55 3.63 2.18 17.29 24.68 1.38 20.47 4.07 6.10 1.58 1.52 1.74 1.53 2.62 1.24 2.01 2.71 2.06 3.05 5.04

R-Time

Triplets10

−7.69 −5.77 −2.39 −0.66 −6.14 −1.63 −7.65 −3.84 −6.88 0.00 −4.45 −0.81 −11.61 −0.92 −3.51 −8.93 0.00 −2.04 0.00 −4.65 −10.98 −2.87 −3.86 −4.23

G-Cost

3.85 2.46 2.27 1.52 2.48 2.33 1.99 9.59 18.85 1.27 11.59 2.08 4.39 1.37 1.24 1.59 1.46 1.86 1.11 1.76 2.65 1.77 2.74 3.58

R-Time

Triplets20

1.74 1.14 1.17 1.28 1.84 1.10 1.24 0.77 0.80 0.80 1.07 0.88 0.49 0.66 1.19 1.04 1.04 0.66 1.85 0.98 1.28 1.05 1.30

SB-Ineq

and swap, columns “Combine&Swap” deal with the results obtained by turning off operations in relocate, columns “Combine&Relocate” deal with the results obtained by turning off operations in swap, columns “Swap&Relocate” deal with the results obtained by turning off operations in combine, finally columns “All” deal with the results obtained by keeping all operations. Note that the sequence wherewith neighborhoods are explored is kept for each subset of neighborhoods. For instance, the results concerning relocate were obtained by setting neighborhoods = {interchangeInterRoute, interchangeInterRouteNewPath}. For each group, we define two indices. The values of these indices were obtained also turning off the model-based search. The following new column headings are defined. • Ave: average percentage improvement provided by the active neighborhood structures with respect to the total traversal cost. For each couple (rate,type) of diversification, a percentage gap is computed as the difference between the solution cost before and after the phase involving the active neighborhood structures divided by the solution cost before they come into play; the outcome is multiplied by 100. The index is given by the sum over all percentage gaps divided by the number of these gaps; • Best: best percentage improvement provided by the active neighborhood structures with respect to the total traversal cost. It corresponds to the maximum value among the aforementioned percentage gaps.

Other columns of Table 8 show the impact of the modelbased search. Specifically, columns “Couples” report the variations in terms of solution quality and time arising when the model-based search is used in the solution process. In other words, for each instance, the values of NSM-MCGRPUB and NSM-MCGRPtime are compared with the corresponding values of cost and time obtained by turning off the model-based search. Let NO-MODELUB be the total traversal cost of the solution provided by the algorithm without the model-based search and NO-MODELtime the computational time in seconds of this algorithm. Given these definitions, new column headings are defined as follows. • G-Cost: percentage gap between NSM-MCGRPUB and NOMODELUB computed as 100[NSM-MCGRPUB − NO-MODELUB ] NO-MODELUB • R-Time: ratio between NSM-MCGRPtime and NO-MODELtime .

Afterward, the model-based search was changed by considering triplets of vehicles (20%). In Table 8, columns “Triplets” deal with the results obtained by considering triplets of vehicles and solving the corresponding IP models to optimality, whereas columns “Triplets5,” “Triplets10,” and “Triplets20” deal with the results obtained by considering triplets of vehicles and solving the corresponding IP models within a fixed time limit. To establish this limit, a triplet of vehicles is extracted from the initial solution and

the computational time to solve the relevant IP model to optimality, reduced by a factor of 1/5, 1/10, and 1/20, is selected as the time limit to obtain the results reported in columns “Triplets5,” “Triplets10,” and “Triplets20,” respectively. For these columns, we also report the values of “G-Cost” and “R-Time.” The first one is obtained by replacing NSM-MCGRPUB with the total traversal cost of the solution provided by the modified algorithm and the second one is obtained by replacing NSM-MCGRPtime with the computational time of this algorithm. Finally, column “SB-Ineq” refers to the results obtained by including in model (1)–(12) the symmetry-breaking inequalities based on lexicographical ordering rules [14] in which increasing indices are associated with the required elements that are sorted according to nondecreasing values of the demand. In particular, in this column we report the ratio between the computational time obtained by using the model-based search described in Section 3.4 including the symmetry-breaking inequalities in the IP model and NSM-MCGRPtime . Looking at Table 8, we observe that the best improvement in exploring the search space around a given solution sD is obtained by operations in relocate. The rationale of such a behavior can be explained by considering that moving a single required element from a given route to another one, in which it is already traversed without being serviced, can produce a significant decrease in the total cost. The second effective subset of neighborhoods is swap. This is coherent with the motivation discussed above. In fact, moving a sequence of required elements from one route to another one, and vice versa, is similar to an operation in relocate, except for the fact that the exploration does not involve a one-sided relocation. Finally, operations in combine have less impact on the improvement of the diversified solution because they do not perturb enough the order in which the required elements are serviced. Anyway, their contribution is still meaningful. The results in columns “Combine&Swap,” “Combine&Relocate,” “Swap&Relocate,” and “All” confirm and emphasize the trend underlined so far. The results in columns “Couples” show how much effective is the modelbased search in terms of solution quality without requiring too much computational time. If we compare the average value of columns “G-Cost” concerning “Couples” and “Triplets,” we observe that it varies from −6.13 to −6.93 against a substantial increase in the computational time. In fact, the average value in columns “R-Time” for “Couples” and “Triplets” varies from 3.07 to 20.49. Looking at the average values in columns “Triplets5,” “Triplets10,” and “Triplets20,” we remark that the size of the improvement significantly decreases with the reduction of the computational time imposed to solve the IP models. The best trade-off between solution quality and computational effort is ensured by the model-based search working with couples of routes. Finally, as for the impact of the lexicographic symmetry breaking inequalities, we argue that their contribution in speeding up the solution process of the IP model described in Section 2 is not meaningful. In effect, sometimes the time ratio is greater than one, sometimes it is

NETWORKS—2014—DOI 10.1002/net

279

less than one. Therefore, the use of the lexicographic symmetry breaking inequalities is not justified, at least when only two subsets of required elements are optimized at a time.

[13]

G. Hasle, O. Kloster, M. Smedsrud, and K. Gaze, Experiments on the node, edge, and arc routing problem, Technical Report A23265, SINTEF, Finland, 2012.

[14]

R. Jans, Solving lot-sizing problems on parallel identical machines using symmetry-breaking constraints, INFORMS J Comput 21 (2009), 123–136.

5.

[15]

H. Kokubugata, A. Moriyama, and H. Kawashima, “A practical solution using simulated annealing for general routing problems with nodes, edges, and arcs,” Engineering stochastic local search algorithms. Designing, Implementing and analyzing effective heuristics. Lecture notes in computer science, Vol. 4638, T. Stützle, M. Birattari, and H.H. Hoos (Editors), Springer, Berlin, 2007, pp. 136–149.

[16]

J.K. Lenstra and A.H.G. Rinnooy Kan, On general routing problems, Networks 6 (1976), 273–280.

[17]

A.N. Letchford, New inequalities for the general routing problem, Eur J Oper Res 96 (1997), 317–322.

[18]

A.N. Letchford, The general routing polyhedron: A unifying framework, Eur J Oper Res 112 (1999), 122–133.

[19]

A.N. Letchford and A. Oukil, Exploiting sparsity in pricing routines for the capacitated arc routing problem, Comput Oper Res 36 (2009), 2320–2327.

[20]

V. Maniezzo, T. Stützle, and S. Voss (Editors), Matheuristics: hybridizing metaheuristics and mathematical programming, Annals of information systems, Vol. 10, Springer, Berlin, 2009.

[21]

N. Mladenovi´c and P. Hansen, “Variable neighborhood search,” Handbook of metaheuristics, F. Glover and G.A. Kochenberger (Editors), Kluwer Academic Publisher, Dordrecht, 2003, pp. 145–184.

[22]

C.S. Orloff, A fundamental problem in vehicle routing, Networks 4 (1974), 35–64.

CONCLUSIONS

We presented a matheuristic algorithm for the MCGRP, named NSM-MCGRP. Specifically, we defined a neighborhood search by combining numerous components designed during the last decades for various optimization problems. In addition, we used a B&C algorithm to improve the quality of the search. NSM-MCGRP was tested on several benchmark instances achieving good results in a reasonable amount of time. In particular, datasets mggdb, mgval, and CBMix were used during the experiments. We obtained new best solutions.

REFERENCES [1]

L. Bach, G. Hasle, and S. Wøhlk, A lower bound for the node, edge, and arc routing problem, Comput Oper Res 40 (2013), 943–952.

[2]

J.M. Belenguer, E. Benavent, P. Lacomme, and C. Prins, Lower and upper bounds for the mixed capacitated arc routing problem, Comput Oper Res 33 (2006), 3363–3383.

[3]

M. Blais and G. Laporte, Exact solution of the generalized routing problem through graph transformations, J Oper Res Soc 54 (2003), 906–910.

[4]

A. Bosco, D. Laganà, R. Musmanno, and F. Vocaturo, Modeling and solving the mixed capacitated general routing problem, Optim Lett 7 (2013), 1451–1469.

[23]

[5]

A. Corberán and J.M. Sanchis, The general routing problem polyhedron: Facets from the RPP and GTSP polyhedra, Eur J Oper Res 108 (1998), 538–550.

I.H. Osman, Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem, Ann Oper Res 41 (1993), 421–451.

[24]

[6]

A. Corberán, A.N. Letchford, and J.M. Sanchis, A cutting plane algorithm for the general routing problem, Math Program Ser A 90 (2001), 291–316.

R. Pandit and B. Muralidharan, A capacitated general routing problem on mixed networks, Comput Oper Res 22 (1995), 465–478.

[25]

[7]

A. Corberán, A. Romero, and J.M. Sanchis, The mixed general routing polyhedron, Math Program Ser A 96 (2003), 103–137.

D. Pisinger and S. Ropke, A general heuristic for vehicle routing problems, Comput Oper Res 34 (2007), 2403–2435.

[26]

A. Corberán, G. Mejía, and J.M. Sanchis, New results on the mixed general routing problem, Oper Res 53 (2005), 363–376.

J.-Y. Potvin and J.-M. Rousseau, An exchange heuristic for routing problems with time windows, J Oper Res Soc 46 (1995), 1433–1446.

[27]

C. Prins and S. Bouchenoua, “A memetic algorithm solving the VRP, the CARP and general routing problems with nodes, edges and arcs,” Recent advances in memetic algorithms, Studies in fuzziness and soft computing, Vol. 166, W.E. Hart, N. Krasnogor, and J.E. Smith (Editors), Springer, Berlin, 2005, pp. 65–85.

[28]

R.A. Russell, Hybrid heuristics for the vehicle routing problem with time windows, Transp Sci 29 (1995), 156–166.

[8]

[9]

J.-F. Cordeau, M. Gendreau, and G. Laporte, A tabu search heuristic for periodic and multi-depot vehicle routing problems, Networks 30 (1997), 105–119.

[10]

D.R. Franceschi, M. Fischetti, and P. Toth, A new ILPbased refinement heuristic for vehicle routing problems, Math Program Ser B 105 (2006), 471–499.

[11]

B.L. Golden, J.S. DeArmon, and E.K. Baker, Computational experiments with algorithms for a class of routing problems, Comput Oper Res 10 (1983), 47–59.

[29]

M.W.P. Savelsbergh, The vehicle routing problem with time windows: Minimizing route duration, INFORMS J Comput 4 (1992), 146–154.

[12]

J.C.A. Gutiérrez, D. Soler, and A. Hervás, The capacitated general routing problem on mixed graphs, Rev Investig Oper 23 (2002), 15–26.

[30]

M.W.P. Savelsbergh and J.-H. Song, An optimization algorithm for the inventory routing problem with continuous moves, Comput Oper Res 35 (2008), 2266–2282.

280

NETWORKS—2014—DOI 10.1002/net

[31]

[32]

P. Shaw, “Using constraint programming and local search methods to solve vehicle routing problems,” Principles and practice of constraint programming - CP98, Lecture notes in computer science, Vol. 1520, M. Maher and J.-F. Puget (Editors), Springer, Berlin, 1998, 417–431. J.-H. Song and K.C. Furman, A maritime inventory routing problem: Practical approach, Comput Oper Res 40 (2013), 657–665.

[33]

E. Taillard, P. Badeau, M. Gendreau, F. Guertin, and J.Y. Potvin, A tabu search heuristic for the vehicle routing problem with soft time windows, Transp Sci 31 (1997), 170–186.

[34]

P. Toth and D. Vigo, The granular tabu search and its application to the vehicle-routing problem, INFORMS J Comput 15 (2003), 333–346.

NETWORKS—2014—DOI 10.1002/net

281

Suggest Documents