Logic Journal of the IGPL, Volume 26 (1) – Feb 1, 2018

13 pages

/lp/ou_press/a-decomposition-based-method-for-solving-the-clustered-vehicle-routing-9KedweqZUo

- Publisher
- Oxford University Press
- Copyright
- © The Author 2017. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oup.com
- ISSN
- 1367-0751
- eISSN
- 1368-9894
- D.O.I.
- 10.1093/jigpal/jzx037
- Publisher site
- See Article on Publisher Site

Abstract In this article, we address a variant of the vehicle routing problem which occurs in real-life applications, called the clustered vehicle routing problem. The clustered vehicle routing problem (CluVRP) looks for an optimal collection of routes, with respect to cost minimization, for a fleet of vehicles, fulfilling all customers’ requirements which have a particular structure being divided into clusters, the capacity constraints of the vehicles and with the additional constraint that all the customers belonging to the same cluster must be visited consecutively before leaving the cluster. We propose a novel approach for solving the problem using a decomposition-based method which splits the CluVRP into two easier subproblems. The results of the computational experiments on three sets of benchmark instances from the literature show that our approach is competitive in comparison with the known solution approaches published to date. 1. Introduction Vehicle routing problem (VRP) is a classical NP-hard combinatorial optimization problem that has been subject of research for at least 57 years, beginning with the work of Dantzig and Ramser [6] in 1959. VRP is looking for the optimal collection of routes for a fleet of vehicles fulfilling the service demand of all the customers and the capacity constraints of the vehicles. For more information on the VRP we refer to [13]. The VRP is used in transportation planning for delivery or collection of goods and services and has several extensions based on the real-life applications. A natural generalization of the VRP considers a partition of the nodes (customers) into a given set of groups called clusters and with the original problem’s feasibility constraints expressed in terms of the clusters instead of individual nodes. For more information on the class of generalized combinatorial optimization problems we refer to [16, 17]. In the case of the VRP, in the literature have been considered three such variants: (1) The generalized vehicle routing problem, denoted by GVRP, was introduced by Ghiani and Improta [11]. GVRP is looking for an optimal collection of routes from the depot to the customers subject to capacity constraints and with the additional constraint that from each cluster has to be visited exactly one node. For more information on the problem we refer to [18–20]. (2) The at least generalized vehicle routing problem was introduced by Baldacci and Laporte [1] and aims at determining an optimal collection of routes from the depot to the customers subject to capacity constraints and with the additional constraint that from each cluster has to be visited at least one node. (3) The clustered vehicle routing problem was introduced by Sevaux and Sörensen [22] motivated by a real-world application, namely parcel delivery and consists of finding an optimal collection of routes from the depot to the customers subject to capacity constraints and with the supplementary constraint that once a customer from a cluster is visited then all the other customers belonging to the same cluster have to be visited consecutively before visiting other customers from different clusters or returning to the depot. In the present article, we confine ourselves to the clustered vehicle routing problem. The existing literature on clustered vehicle routing problem is rather scarce and due to the complexity of the problem has focused on modelling aspects and solution approaches for solving it. Pop $$et~al.$$ [19] described two integer programming based models for CluVRP adapted from the corresponding formulations in the case of the GVRP. Battarra $$et~al.$$ [2] described two exact algorithms for CluVRP, namely a Branch & Cut algorithm and a Branch & Cut & Price algorithm. A hybrid approach based on genetic algorithms for solving the CluVRP was presented by Pop and Chira [21]. Defryn and Sörensen [7] described a Variable Neighborhood metaheuristic. More recently, Vidal $$et~al.$$ [23] described two alternative metaheuristics: an Iterated Local Search algorithm and a Hybrid Genetic Search for which the shortest Hamiltonian paths between each pair of nodes within each cluster are precomputed and Exposito $$et~al.$$ [8] proposed a two-level solution approach obtained by breaking the problem into two routing problems. In a preliminary version of this article, Horvat Marc $$et~al.$$ [14] described a novel hybrid algorithm for CluVRP and presented some preliminary computational results. In this article, we describe a novel approach for solving the CluVRP using a decomposition — based method which splits the CluVRP into two easier subproblems: a global subproblem and local subproblem which are solved separately. The global subproblem uses a genetic algorithm to generate the global routes (i.e. the routes visiting the clusters) and is applied to the clustered graph (see details in Subsection 3.2), while the local subproblem is using a Simulated Annealing algorithm for determining the visiting order of the customers within the clusters corresponding to the above mentioned global routes (see details in Subsection 3.4). Extensive computational results on three sets of benchmark instances from the literature are presented and analysed. Our article is organized as follows. In Section 2, we present a formal definition of the clustered vehicle routing problem. Section 3 describes in detail the novel approach for solving the CluVRP: a decomposition-based method. The extensive computational experiments are presented and analysed in Section 4. Finally, in the last section of our article, we summarize the described results and present our conclusions. 2 Definition and complexity aspects of the clustered vehicle routing problem Following the description given by Horvat Marc $$et~al.$$ [14], the clustered vehicle routing problem is defined on an undirected graph $$G = (V,E)$$ with the set of nodes $$V = \{0, 1, 2, .... ,n\}$$ and the set of edges $$E=\{e=(i,j)\;|\;i,j \in V, i\neq j \}.$$ The nodes $$i\in \{1,...,n\}$$ correspond to the customers and the node $$0$$ corresponds to the depot. The entire set of nodes $$\{0,1,...,n\}$$ is partitioned into $$k+1$$ mutually exclusive nonempty subsets, called clusters, and denoted by $$V_0, V_1,..., V_k$$, i.e. the following conditions hold: (1) $$V = V_0 \cup V_1 \cup ... \cup V_k$$ (2) $$V_l \cap V_p = \emptyset$$ for all $$l,p\in \{0,1,...,k\}$$ and $$l\neq p$$. Cluster $$V_0$$ only includes one vertex $$0$$, representing the depot cluster, and the remaining $$n$$ vertices belong to the remaining $$k$$ clusters. Associated to our problem we have two kinds of edges: edges connecting nodes belonging to the same cluster, called intra-cluster edges and edges connecting nodes belonging to different clusters, called inter-cluster edges. In addition, we assume that the $$G$$ is strongly connected and in general it is even assumed to be complete. A non-negative cost $$c_{ij}$$ is associated with each edge $$e=(i,j)\in E$$ and represents the travel cost spent to visit the node $$j$$ starting from the node $$i$$. The cost of a route is equal to the sum of the costs of all the edges belonging to that specific route. Each customer (node) $$i$$ ($$i\in \{1,...,n\}$$) has a known non-negative demand $$d_i$$ to be delivered and the depot has a fictitious demand $$d_0=0$$. There are given $$m$$ identical vehicles, each with a capacity $$Q$$ and to guarantee the feasibility, we suppose that $$d_i \leq Q$$ for each $$i\in \{1,...,n\}$$. As well, it is assumed that each of the vehicles may perform at most one route, one cluster is always visited by a single vehicle and one vehicle may visit more than one cluster if and only if the capacity constraints are fulfilled. The clustered vehicle routing problem (CluVRP) aims at finding a collection of routes visiting all the customers (nodes) with minimum cost, such that the following constraints hold: each route starts and ends at the depot, all the customers belonging to a cluster must be visited consecutively before visiting other customers from different clusters or returning to the depot and the sum of the demands of the visited customers on a route does not exceed the capacity of the vehicle, $$Q$$. In Figure 1, we present an illustrative scheme of the CluVRP pointing out a feasible solution consisting on a collection of three routes. Fig. 1. View largeDownload slide A feasible solution of the CluVRP. Fig. 1. View largeDownload slide A feasible solution of the CluVRP. A route visiting a number of clusters with the property that all the customers belonging to a given cluster are visited consecutively before visiting other customers from different clusters or returning to the depot will be called clustered route. In Figure 1, the feasible solution of the CluVRP consists on a collection of three clustered routes. Obviously, the CluVRP is an $$NP$$-hard problem because it includes the classical Vehicle Routing Problem as a special case when all the clusters are singletons. 3 The decomposition-based method for solving the clustered vehicle routing problem The basic idea of the decomposition method is to decompose the original complex and large problem into a number of easier and solvable subproblems. For more information concerning decomposition methods we refer to [4]. In this section, we present our new method for solving the CluVRP obtained by decomposing the problem into the following two subproblems: (1) the global subproblem with the goal of defining the routes between the clusters (called global routes); (2) the local subproblem which aims to find for each collection of global routes the visiting order of the customers belonging to the same clusters. Our method exploits the special structure of the CluVRP, i.e. the nodes of the graph are partitioned into clusters and offers computational advantages by using efficient approaches for solving the subproblems and by combining the achieved results to provide a feasible solution of the CluVRP. To speed up our approach a number of distances are computed and are explained in what it follows. 3.1 Preparation phase In this preparation phase a set of distances between elements are computed and stored in files and therefore subsequent algorithm runs do not need to compute these values again. The pre-computed distances are used when a solution is evaluated in terms of quality. This preparation phase is triggered when a new instance is loaded for the first time. When an instance is loaded and the distances were already computed apriori, the values are loaded from files. We have computed the following distances, as in the preliminary version of the paper [14]: The distances between all the nodes, even if the nodes are in separate clusters. The distances are stored in a square matrix and are going to be used in almost every future distance computation. The distances between the centers of the clusters. As well these distances are stored in a square matrix and the corresponding values are going to be used by an optimization algorithm when generating the initial genetic population. The Shortest Hamiltonian Path for each start node — end node combination at each cluster level. The Shortest Hamiltonian Path within a cluster is computed using a Simulated Annealing algorithm which is described in details in Subsection 3.4. In the case of the instances with few nodes per cluster a brute-force method was feasible but on larger instances this is no longer the case. The last computation in the preparation phase finds the shortest way to traverse three consecutive clusters and it takes into account four nodes: – the exit node from the first cluster, labelled $$v_1^{out}$$; – the entering node from the second cluster that is linked to $$v_1^{out}$$, labelled $$v_2^{in}$$; – the exit node from the second cluster, labelled $$v_2^{out}$$; – the entering node from the third cluster that is linked to $$v_2^{out}$$, labelled $$v_3^{in}$$; In our approach, we are using the Shortest Hamiltonian Path computed before to link nodes $$v_2^{in}$$ and $$v_2^{out}$$. 3.2 The genetic algorithm for generating the global routes Pop in [17] introduced a natural approach to deal with the generalized combinatorial optimization problems, called the local-global approach. The proposed method was aiming to distinguish between global connections (i.e. the connections between clusters) and local connections (i.e. the connections between the nodes belonging to the same cluster or different clusters). In the proposed approach, by $$G^\prime$$ was denoted the graph obtained from the original graph $$G$$ after replacing all the nodes of a cluster $$V_i$$ with a supernode representing $$V_i$$, $$\forall i\in \{1,...,k\}$$, the cluster $$V_0$$ (depot) consists already of one node. The graph $$G^\prime$$ was called the global graph. For convenience, we identify $$V_i$$ with the supernode representing it. Edges of the graph $$G^\prime$$ are defined between each pair of the graph nodes $$V_0,V_1,\ldots, V_k$$ and the corresponding costs are the euclidean distances between the centres of the clusters. The centre of a cluster is given by the arithmetic mean of all the coordinates of the customers belonging to that cluster. For the instance presented in Figure 1, the corresponding global graph and a collection of global routes of the CluVRP is presented in the next figure. Corresponding to a given global route visiting a number of clusters in a given order, there are several clustered routes. Determining the best clustered route (w.r.t. cost minimization) is a difficult problem. In our approach, given a global route, we use a Simulated Annealing algorithm to determine a sub-optimal clustered route. We will use a genetic algorithm (GA) with respect to the global graph to provide a collection of global routes visiting the clusters in a given order. By applying the GA, we will reduce consistently the solution space of the problem. 3.3 The genetic algorithm In this subsection, we give a detailed description of the main characteristics of the genetic algorithm used in order to yield a collection of global routes. 3.3.1 Representation It is well-known that having a good representation scheme has an important impact on the performance of the GAs. As well it should define noteworthy crossover, mutation and other specific genetic operators to the problem to minimize the computational effort within these procedures. To meet this requirement, we use the following representation at the level of the global graph, in which the chromosome for each candidate solution is represented as an array of clusters for each global route, ordered in conformity with the order in which the clusters are visited. For example, for the solution presented in Figure 2 composed by three global routes $$V_0 - V_7- V_1 - V_0$$, $$V_0-V_2-V_3-V_0$$ and $$V_0- V_4- V_5- V_6- V_0$$, the corresponding chromosome is represented by the following array: \[ (V_0, V_7, V_1, V_0, V_2, V_3, V_0, V_4, V_5, V_6, V_0). \] Fig. 2. View largeDownload slide The corresponding global graph and a collection of global routes. Fig. 2. View largeDownload slide The corresponding global graph and a collection of global routes. Each chromosome representing the order in which the clusters are visited can be expanded to a corresponding sub-optimal collection of clustered routes using the Simulated Annealing algorithm that is going to be described in the next subsection. The fitness function associated with each chromosome is obtained by summing up the lengths of the corresponding clustered routes. Our objective is to minimize this total distance. 3.3.2 Initial population At the beginning of the optimization process, the GA demands a set of initial feasible solutions. This set constitutes the initial population, which is another key factor that influences the performance of GA. In general, the construction of the initial population is done by generating randomly feasible solutions from the solution space. This unbiased way of generating the initial population is very useful in benchmarking genetic algorithms, but in the case of real-world applications, we might have at disposal some more information that helps to seed the initial population. This is our case, where this information is provided by the demands of the customers and the capacity of the vehicles. To solve efficiently the CluVRP, the initial population containing feasible collection of routes was generated using a genetic algorithm that solves the generalized number partitioning problem at the cluster demand level [10, 14]. The input of this algorithm was the list of demands per cluster, the output is the partition of the demands matching the number of routes needed by the specific instance. Basically, this algorithm splits up the demands evenly for the number of routes. After solving the number partitioning problem w.r.t. the demands, the solutions are constructed by replacing the demand values with the clusters that request that demand. If there are multiple clusters with the same demand, there are constructed multiple variations. Also, to increase the number of feasible solutions in the initial population, we executed a limited balancing operation. This operation aims at changing the order of visiting the clusters while keeping the total demand per route inside the vehicle capacity. After obtaining the initial population, which consists of randomly arranged clusters that just satisfy the capacity of the vehicles, an optimization procedure takes place. This procedure uses the Clarke-Wright [5] algorithm to rearrange the clusters per route in each initial solution such that the arrangement is optimal relative to the distances between the centres of the clusters. 3.3.3 Genetic operators Genetic operators are mechanisms used to generate evolution from one generation to another generation and in general, they are specifically designed for each application. The basic genetic operators are: selection, crossover and mutation. Selection The scope of the selection operator is to reproduce more better adapted individuals (i.e. having a higher fitness function) that those having a lower fitness function [24]. The most used methods for selection are: the roulette wheel selection and the rank based selection. In our genetic algorithm we used a rank based selection, as in the preliminary version of the paper [14]. The first step for the selection was to order the current population in terms of the fitness value of the individuals (candidate solutions). The newly obtained list will have the worst candidate solution in the first position and the best candidate solution in the last position. After ordering the list, a rank is computed based on the position of the candidate solution and a selection pressure. Random numbers are generated and solutions are selected from the current population based on their rank relative to the obtained random number. This operation is continued until a new population is obtained. In our approach, we have selected only distinct candidate solutions as input to the selection function. Crossover Our genetic algorithm uses a custom version of the one point crossover, as in the preliminary version of the paper [14]. The crossover operator picks out two parent candidate feasible solutions as input and outputs four solutions that are derived from the parents. The crossover is employed to the population resulted from the selection algorithm by taking two parents in an iterative manner. The first iteration goes from $$i = 1$$ to $$N$$, where $$N$$ is the total number of candidate solutions in the selected population while the second goes from $$j = i+1$$ to $$N$$. We use a custom one point crossover. This operation generates a random number between $$1$$ and $$L$$, where $$L$$ is the length of the chromosome and splits the chromosome of each parent into two parts. There are four ways in which the resulting parts can be recombined. Mutation After obtaining the offspring from the crossover algorithm a mutation operator is applied. The mutation operation is applied with a given probability. The probability is set before solving the problem based on preliminary computational experiments. In our case, we use two distinct mutation operators which are applied with the same probability. The first one picks two random genes from the chromosome and swaps them, without taking any rule into consideration, while the second one takes two random genes from the chromosome but from different routes and swaps them. 3.4 The simulated annealing algorithm for determining the clustered routes As we seen in the previous subsection, we used a GA applied on the global graph in order to generate a feasible collection of global routes. Once we have these routes, we apply a Simulated Annealing (SA) algorithm to determine the corresponding sub-optimal collection of clustered routes. Given a global route that visits in certain order a number of clusters, we use a SA algorithm to find for each of the visited clusters within the route, the Shortest Hamiltonian Path for all possible combinations: start node — end node. For more information concerning the SA metaheuristic algorithm, we refer to [15]. We start with a list of nodes, called the current arrangement, which contains all the nodes belonging to a certain cluster, except the starting and ending nodes. This arrangement will be next optimized w.r.t. minimization of the distance of the consecutively visited nodes within the cluster. The distance is calculated as the sum between the distance from the start node to the first node of the arrangement, the distances between the nodes gathered at the current arrangement in order of their addition and the distance from the last node from the arrangement and the end node. The design of the neighbourhood structure is one of the most important features of the SA. In our case, the neighbourhood structure is given by interchanging two nodes in the current arrangement. Based on preliminary experiments, we have chosen the following parameters of the SA: the starting temperature 1000, the decrement rule is $$\alpha(T)=rT$$, where the cooling rate is 0.99 and process ends when the current temperature is less or equal to 0.0001. Genetic and simulated annealing parameters Based on preliminary experiments, we have chosen in our approach the following parameters: for the GA: the population size $$\mu$$ has been set to 100, the mutation probability was set at $$20\%$$, the selection pressure was set to 1.7 and the maximum number of generations (epochs) in our algorithm was set to 150 and for the SA: the starting temperature 1000, the decrement rule is $$\alpha(T)=rT$$, where the cooling rate is 0.99 and process ends when the current temperature is less or equal to 0.0001. 4 Computational results In this section we report our achieved computational results to assess the efficiency of our proposed approach for solving the CluVRP. We conducted our computational experiments for solving the CluVRP on three sets of instances adapted from the Capacitated Vehicle Routing Problem (CVRP). The first set of instances were adapted from CVRP and are available at http://branchandcut.org/VRP/data/. The second set of instances have been adapted from the 11 large-size CVRP instances described by Golden $$et~al.$$ [12]. The last set of instances were introduced by Taillard and available at http://mistic.heig-vd.ch/taillard/problemes.dir/vrp.dir/vrp.html. Originally, the nodes in the above described instances were not split into clusters. For the first two sets of instances we used the procedure developed by Fischetti $$et~al.$$ [9] for clustering, while in the case of the Taillard instances we used the procedure proposed by Exposito $$et~al.$$ [8]. The proposed decomposition-based method for solving the CluVRP has been implemented and in our tests we performed 30 independent runs for each instance as in [21]. The testing machine was an Intel(R) Core(TM)i7-3612QM CPU @ 2.10 GHz and the algorithm was developed in Microsoft.NET. Framework using C#. The first results that we report, have been obtained in the case of 50 small and medium instances and 5 large instances described by Bektas $$et~al.$$ [3] for generalized vehicle routing problem. Unfortunately, in the literature related to CluVRP, these instances have not been used till now in the computational experiments. The first two columns of the Tables 1 and 2 give the index and the name of the instance and the next four the characteristics of the problem: the number of nodes (customers), the number of clusters, the vehicle capacity ($$Q$$) and the number of vehicles/routes ($$m$$). The last two columns provide the best solutions and the average solutions achieved by our decomposition-based method. Table 1 Experimental results on instances proposed by Bektas [3] Instance index Instance’s name Number nodes Number clusters Q m Best solution Average solution 01 A-n32-k5-C11-V2 32 11 100 2 523.5181 523.5181 02 A-n33-k5-C11-V2 33 11 100 2 472.9051 472.9051 03 A-n33-k6-C11-V2 33 11 100 2 563.5349 563.5349 04 A-n34-k5-C12-V2 34 12 100 2 548.0851 548.0851 05 A-n36-k5-C12-V2 36 12 100 2 590.5705 590.5705 06 A-n37-k5-C13-V2 37 13 100 2 572.7459 572.7459 07 A-n37-k6-C13-V2 37 13 100 2 618.7442 633.0679 08 A-n38-k5-C13-V2 38 13 100 2 510.3101 518.4280 09 A-n39-k5-C13-V2 39 13 100 2 620.3015 623.9806 10 A-n39-k5-C13-V2 39 13 100 2 614.7325 623.8390 11 A-n44-k6-C15-V2 44 15 100 2 732.4899 740.0702 12 A-n45-k6-C15-V3 45 15 100 3 715.5156 716.1255 13 A-n45-k7-C15-V3 45 15 100 3 672.4107 681.5162 14 A-n46-k7-C16-V3 46 16 100 3 664.5576 678.4266 15 A-n48-k7-C16-V3 48 16 100 3 688.0389 713.8960 16 A-n53-k7-C18-V3 53 18 100 3 654.2084 673.1764 17 A-n54-k7-C18-V3 54 18 100 3 732.1074 753.4027 18 A-n55-k9-C19-V3 55 19 100 3 656.7855 680.0297 19 A-n60-k9-C20-V3 60 20 100 3 827.3605 880.8905 20 A-n61-k9-C21-V4 61 21 100 4 714.6655 760.3892 21 A-n62-k8-C21-V3 62 21 100 3 800.8355 839.3805 22 A-n63-k9-C21-V3 63 21 100 3 895.4448 950.6821 23 A-n63-k10-C21-V4 63 21 100 4 861.6455 894.7200 24 A-n64-k9-C22-V3 64 22 100 3 807.9285 833.6465 25 A-n65-k9-C22-V3 65 22 100 3 817.2691 862.5428 26 A-n69-k9-C23-V3 69 23 100 3 878.1586 901.4381 27 A-n80-k10-C27-V4 80 27 100 4 1057.6517 1144.8711 28 B-n31-k5-C11-V2 31 11 100 2 378.1173 378.1773 29 B-n34-k5-C12-V2 34 12 100 2 416.9085 416.9085 30 B-n35-k5-C12-V2 35 12 100 2 563.9619 563.9619 31 B-n38-k6-C13-V2 38 13 100 2 433.8265 435.7944 32 B-n39-k5-C13-V2 39 13 100 2 323.2000 323.2000 33 B-n41-k6-C14-V2 41 14 100 2 483.2787 483.2787 34 B-n43-k6-C15-V2 43 15 100 2 422.3820 423.1432 35 B-n44-k7-C15-V3 44 15 100 3 452.8055 464.6022 36 B-n45-k5-C15-V2 45 15 100 2 513.1606 523.2617 37 B-n45-k6-C15-V2 45 15 100 2 400.1682 425.1848 38 B-n50-k7-C17-V3 50 17 100 3 472.8293 482.0686 38 B-n50-k8-C17-V3 50 17 100 3 682.7131 715.9978 40 B-n51-k7-C17-V3 51 17 100 3 587.3877 603.4421 41 B-n52-k7-C18-V3 52 18 100 3 430.4756 437.3797 42 B-n56-k7-C19-V3 56 19 100 3 439.6615 442.3750 43 B-n57-k7-C19-V3 57 19 100 3 653.8798 694.7585 44 B-n57-k9-C19-V3 57 19 100 3 760.6796 776.7803 45 B-n63-k10-C21-V3 63 21 100 3 828.8234 849.9099 46 B-n64-k9-C22-V4 64 22 100 4 562.2133 616.1875 47 B-n66-k9-C22-V3 66 22 100 3 722.7447 747.0881 48 B-n67-k10-C23-V4 67 23 100 4 644.4015 717.5452 49 B-n68-k9-C23-V3 68 23 100 3 604.4198 676.3048 50 B-n78-k10-C26-V4 78 26 100 4 787.4311 844.1865 Instance index Instance’s name Number nodes Number clusters Q m Best solution Average solution 01 A-n32-k5-C11-V2 32 11 100 2 523.5181 523.5181 02 A-n33-k5-C11-V2 33 11 100 2 472.9051 472.9051 03 A-n33-k6-C11-V2 33 11 100 2 563.5349 563.5349 04 A-n34-k5-C12-V2 34 12 100 2 548.0851 548.0851 05 A-n36-k5-C12-V2 36 12 100 2 590.5705 590.5705 06 A-n37-k5-C13-V2 37 13 100 2 572.7459 572.7459 07 A-n37-k6-C13-V2 37 13 100 2 618.7442 633.0679 08 A-n38-k5-C13-V2 38 13 100 2 510.3101 518.4280 09 A-n39-k5-C13-V2 39 13 100 2 620.3015 623.9806 10 A-n39-k5-C13-V2 39 13 100 2 614.7325 623.8390 11 A-n44-k6-C15-V2 44 15 100 2 732.4899 740.0702 12 A-n45-k6-C15-V3 45 15 100 3 715.5156 716.1255 13 A-n45-k7-C15-V3 45 15 100 3 672.4107 681.5162 14 A-n46-k7-C16-V3 46 16 100 3 664.5576 678.4266 15 A-n48-k7-C16-V3 48 16 100 3 688.0389 713.8960 16 A-n53-k7-C18-V3 53 18 100 3 654.2084 673.1764 17 A-n54-k7-C18-V3 54 18 100 3 732.1074 753.4027 18 A-n55-k9-C19-V3 55 19 100 3 656.7855 680.0297 19 A-n60-k9-C20-V3 60 20 100 3 827.3605 880.8905 20 A-n61-k9-C21-V4 61 21 100 4 714.6655 760.3892 21 A-n62-k8-C21-V3 62 21 100 3 800.8355 839.3805 22 A-n63-k9-C21-V3 63 21 100 3 895.4448 950.6821 23 A-n63-k10-C21-V4 63 21 100 4 861.6455 894.7200 24 A-n64-k9-C22-V3 64 22 100 3 807.9285 833.6465 25 A-n65-k9-C22-V3 65 22 100 3 817.2691 862.5428 26 A-n69-k9-C23-V3 69 23 100 3 878.1586 901.4381 27 A-n80-k10-C27-V4 80 27 100 4 1057.6517 1144.8711 28 B-n31-k5-C11-V2 31 11 100 2 378.1173 378.1773 29 B-n34-k5-C12-V2 34 12 100 2 416.9085 416.9085 30 B-n35-k5-C12-V2 35 12 100 2 563.9619 563.9619 31 B-n38-k6-C13-V2 38 13 100 2 433.8265 435.7944 32 B-n39-k5-C13-V2 39 13 100 2 323.2000 323.2000 33 B-n41-k6-C14-V2 41 14 100 2 483.2787 483.2787 34 B-n43-k6-C15-V2 43 15 100 2 422.3820 423.1432 35 B-n44-k7-C15-V3 44 15 100 3 452.8055 464.6022 36 B-n45-k5-C15-V2 45 15 100 2 513.1606 523.2617 37 B-n45-k6-C15-V2 45 15 100 2 400.1682 425.1848 38 B-n50-k7-C17-V3 50 17 100 3 472.8293 482.0686 38 B-n50-k8-C17-V3 50 17 100 3 682.7131 715.9978 40 B-n51-k7-C17-V3 51 17 100 3 587.3877 603.4421 41 B-n52-k7-C18-V3 52 18 100 3 430.4756 437.3797 42 B-n56-k7-C19-V3 56 19 100 3 439.6615 442.3750 43 B-n57-k7-C19-V3 57 19 100 3 653.8798 694.7585 44 B-n57-k9-C19-V3 57 19 100 3 760.6796 776.7803 45 B-n63-k10-C21-V3 63 21 100 3 828.8234 849.9099 46 B-n64-k9-C22-V4 64 22 100 4 562.2133 616.1875 47 B-n66-k9-C22-V3 66 22 100 3 722.7447 747.0881 48 B-n67-k10-C23-V4 67 23 100 4 644.4015 717.5452 49 B-n68-k9-C23-V3 68 23 100 3 604.4198 676.3048 50 B-n78-k10-C26-V4 78 26 100 4 787.4311 844.1865 Table 2 Experimental results on the large instances proposed by Bektas [3] Instance index Instance’s name Number nodes Number clusters Q m Best solution Average solution 01 M-n101-k10-C34-V4 101 34 200 4 665.0445 786.4414 02 M-n121-k7-C41-V3 121 41 200 3 904.1860 963.6289 03 M-n151-k12-C51-V4 151 51 200 4 1054.7977 1091.6894 04 M-n200-k16-C67-V6 200 67 200 6 1440.7621 1471.7585 05 G-n262-k25-C88-V9 262 88 500 9 5814.0904 5959.6031 Instance index Instance’s name Number nodes Number clusters Q m Best solution Average solution 01 M-n101-k10-C34-V4 101 34 200 4 665.0445 786.4414 02 M-n121-k7-C41-V3 121 41 200 3 904.1860 963.6289 03 M-n151-k12-C51-V4 151 51 200 4 1054.7977 1091.6894 04 M-n200-k16-C67-V6 200 67 200 6 1440.7621 1471.7585 05 G-n262-k25-C88-V9 262 88 500 9 5814.0904 5959.6031 In the next table we present the achieved results using our approach in comparison with the best-known solutions obtained by Exposito $$et~al.$$ [8] in the case of the 13 instances adapted from Taillard’s instances. The first column in the table gives index of the instances adapted from the 13 instances introduced by Taillard in the case of the CVRP, the next four columns contain the characteristics of the problem: the number of customers, the number of clusters, the number of vehicles/routes ($$m$$) and the vehicle capacity ($$Q$$), next to columns provide the solutions achieved by Exposito $$et~al.$$ [8] and the results obtained by our decomposition-based approach and finally, the last column presents the gap in % to the best-known solution. Analysing the results presented in Table 3, we can observe that the quality of the solutions provided by our method are comparable to the solutions delivered by the two-level approach developed by Exposito $$et~al.$$ [8] for the first 12 instances and in the case of the last instance we have improved substantially the quality of the best existing solution. Table 3 Comparison of the results reported by Exposito $$et~al.$$ [8] and our proposed approach in the case of the adapted Taillard’s instances Instance index Number nodes Number clusters $$m$$ $$Q$$ Exposito $$et~al.$$ results [8] Our results Gap 1 75 12 11 1445 2729.7859 2733.9376 0.152 2 75 12 10 1679 1690.3450 1693.0621 0.160 3 75 11 9 1122 1602.6278 1602.8966 0.016 4 75 10 9 1699 2220.4937 2221.5535 0.047 5 100 14 13 1409 2560.4265 2567.1464 0.262 6 100 13 13 1842 3030.3260 3032.6384 0.076 7 100 12 11 2043 1892.0244 1894.1035 0.109 8 100 13 13 1297 1946.1135 1946.1134 0 9 150 16 16 1544 4091.9613 4095.6041 0.089 10 150 16 16 1918 5071.8592 5072.3719 0.010 11 150 17 15 2021 3112.9652 3112.9651 0 12 150 16 15 1874 3294.3427 3298.5894 0.128 13 385 57 55 65 37872.7853 34978.1853 $$-$$7.64 Instance index Number nodes Number clusters $$m$$ $$Q$$ Exposito $$et~al.$$ results [8] Our results Gap 1 75 12 11 1445 2729.7859 2733.9376 0.152 2 75 12 10 1679 1690.3450 1693.0621 0.160 3 75 11 9 1122 1602.6278 1602.8966 0.016 4 75 10 9 1699 2220.4937 2221.5535 0.047 5 100 14 13 1409 2560.4265 2567.1464 0.262 6 100 13 13 1842 3030.3260 3032.6384 0.076 7 100 12 11 2043 1892.0244 1894.1035 0.109 8 100 13 13 1297 1946.1135 1946.1134 0 9 150 16 16 1544 4091.9613 4095.6041 0.089 10 150 16 16 1918 5071.8592 5072.3719 0.010 11 150 17 15 2021 3112.9652 3112.9651 0 12 150 16 15 1874 3294.3427 3298.5894 0.128 13 385 57 55 65 37872.7853 34978.1853 $$-$$7.64 In Table 4, we present the computational results achieved in the case of the large size instances described by Golden $$et~al.$$ [12]. Table 4 Experimental results in the case of the large size instances described by Golden $$et~al.$$ [12] Previous results [21] New results Instance name Number of clusters Number of nodes Best solution Average solution Best solution Average solution Golden1_C17_N241 17 241 5403.37 5425.32 4938.672 4963.389 Golden1_C18_N241 18 241 5373.88 5409.30 4961.670 4992.616 Golden1_C19_N241 19 241 5426.37 5461.08 4972.778 4987.803 Golden1_C21_N241 21 241 5355.10 5396.02 5081.547 5123.834 Golden1_C22_N241 22 241 5470.34 5506.15 4998.291 5060.427 Golden1_C25_N241 25 241 5525.57 5585.07 5058.552 5193.067 Golden1_C27_N241 27 241 5588.96 5631.01 5140.656 5225.360 Golden1_C31_N241 31 241 5903.34 5971.26 5325.361 5408.976 Golden1_C35_N241 35 241 6113.88 6199.17 5328.243 5565.115 Golden1_C41_N241 41 241 6042.80 6163.40 5794.605 5928.835 Golden1_C49_N241 49 241 5946.17 6066.17 5904.874 6081.703 Previous results [21] New results Instance name Number of clusters Number of nodes Best solution Average solution Best solution Average solution Golden1_C17_N241 17 241 5403.37 5425.32 4938.672 4963.389 Golden1_C18_N241 18 241 5373.88 5409.30 4961.670 4992.616 Golden1_C19_N241 19 241 5426.37 5461.08 4972.778 4987.803 Golden1_C21_N241 21 241 5355.10 5396.02 5081.547 5123.834 Golden1_C22_N241 22 241 5470.34 5506.15 4998.291 5060.427 Golden1_C25_N241 25 241 5525.57 5585.07 5058.552 5193.067 Golden1_C27_N241 27 241 5588.96 5631.01 5140.656 5225.360 Golden1_C31_N241 31 241 5903.34 5971.26 5325.361 5408.976 Golden1_C35_N241 35 241 6113.88 6199.17 5328.243 5565.115 Golden1_C41_N241 41 241 6042.80 6163.40 5794.605 5928.835 Golden1_C49_N241 49 241 5946.17 6066.17 5904.874 6081.703 The first column in the table gives the name of the instances, the second column provides the number of the clusters and the third column contains the total number of nodes. The next two columns contain the values of the best solutions respectively the average solutions obtained using the hybrid genetic algorithm [21] and the last two columns contain the values of the best solutions respectively the average solutions obtained using our novel hybrid algorithm. Analysing the computational results, we observe that the proposed hybrid algorithm provides better best and average solutions in comparison to the previous hybrid based genetic algorithm for solving the CluVRP. Another observation is that the best solutions were reached in the early phases of the generations, therefore in the future we plan to maintain the diversity to avoid premature convergence by choosing other mutation operators and by changing the selection pressure. 5 Conclusions In this article, we described a novel approach based on a decomposition method for solving the clustered vehicle routing problem. Due to the complexity of the problem, we decomposed it into two easier subproblems: a so called global subproblem aiming at defining the routes connecting the clusters and a local subproblem with the goal of finding, for each collection of routes connecting the clusters, the visiting order of the customers belonging to the cluster. Some important features of our approach are: the use of a GA for generating the routes connecting the clusters, the use of a novel method for generating the initial population in a constructive manner by using a GA that solves the generalized number partitioning problem at cluster demand level and the use of a SA for computing all the Shortest Hamiltonian Paths for each start vertex — end vertex combination at each cluster level. The proposed method was implemented and tested on three sets of benchmark instances and the achieved computational results prove that our developed approach is competitive with state-of-the-art algorithms from the literature for solving the CluVRP. References [1] Baldacci R. and Laporte. G. Some applications of the generalized vehicle routing problem. Journal of the Operational Research Society , 61, 1072– 1077, 2010. Google Scholar CrossRef Search ADS [2] Battarra ,M. Erdogan G. and Vigo. D. Exact algorithms for the clustered vehicle routing problem. Operations Research , 62, 58– 71, 2014. Google Scholar CrossRef Search ADS [3] Bektas ,T. Erdogan G. and Ropke. S. Formulations and branch-and-cut algorithms for the generalized vehicle routing problem. Transportation Science , 45, 299– 316, 2011. Google Scholar CrossRef Search ADS [4] Bertsekas. D. P. Nonlinear Programming , 2nd edn. Athena Scientific, 1999. [5] Clarke G. and Wright. J. Scheduling of vehicles from a central depot to a number of delivery points. Operations Research , 12, 568– 581, 1964. Google Scholar CrossRef Search ADS [6] Dantzig G. B. and Ramser. J. H. The truck dispatching problem. Management Science , 6, 80– 91, 1959. Google Scholar CrossRef Search ADS [7] Defryn C. and Sörensen. K. A variable neighborhood metaheuristic for the clustered vehicle routing problem. In Proceedings of 15th EU/ME Workshop , pp. 123– 127. Istanbul, Turkey, 2014. [8] Exposito-Izquierdo ,C. Rossi A. and Sevaux. M. A two-level solution approach to solve the clustered vehicle routing problem. Computers & Industrial Engineering , 91, 274– 289, 2016. Google Scholar CrossRef Search ADS [9] Fischetti ,M. Salazar J. J. and Toth. P. A branch-and-cut algorithm for the symmetric generalized traveling salesman problem. Operations Research , 45, 378– 394, 1997. Google Scholar CrossRef Search ADS [10] Fuksz L. and Pop. P. C. A hybrid genetic algorithm with variable neighborhood search approach to the number partitioning problem. In Proceedings of HAIS 2013 , Vol. 8073, Lecture Notes in Computer Science , pp. 649– 658. Springer, 2013. Google Scholar CrossRef Search ADS [11] Ghiani G. and Improta. G. An efficient transformation of the generalized vehicle routing problem. European Journal of Operational Research , 122, 11– 17, 2000. Google Scholar CrossRef Search ADS [12] Golden ,B. L. Wasil ,E. A. Kelly J. P. and Chao. I.-M. Metaheuristic in vehicle routing. In Fleet Management and Logistics pp. 33– 56. Kluwer, 1998. [13] Golden ,B. L. Raghavan S. and Wasil. E. A. The Vehicle Routing Problem: Latest Advances and New Challenges. Springer, 2008. Google Scholar CrossRef Search ADS [14] Horvat-Marc ,A. Fuksz ,L. Pop P. C. and Dănciulescu. D. A novel hybrid algorithm for solving the clustered vehicle routing problem. In Proceedings of HAIS 2015 , Vol. 9121, Lecture Notes in Artificial Intelligence , 679– 689. Springer, 2015. [15] Kirkpatrick ,S. Gelatt Jr. C. D. and Vecchi. M. P. Optimization by Simulated Annealing, Science , 220, 671– 680, 1983. Google Scholar CrossRef Search ADS PubMed [16] Pop ,P. C. Pop Sitar ,C. Zelina I. and Tascu. I. Exact algorithms for generalized combinatorial optimization problems. In Proceedings of the COCOA Conference , Vol. 4616, Lecture Notes in Computer Science , pp. 154– 162. Springer, 2007. Google Scholar CrossRef Search ADS [17] Pop. P. C. Generalized Network Design Problems. Modelling and Optimization , de Gruyter, 2012. Google Scholar CrossRef Search ADS [18] Pop ,P. C. Matei ,O. Pop Sitar C. and Chira. C. A genetic algorithm for solving the generalized vehicle routing problem. Lecture Notes in Artificial Intelligence , 6077, 119– 126, 2010. [19] Pop ,P. C. Kara I. and Horvat Marc. A. New Mathematical Models of the Generalized Vehicle Routing Problem and Extensions. Applied Mathematical Modelling , 36, 97– 107, 2012. Google Scholar CrossRef Search ADS [20] Pop ,P. C. Matei O. and Pop Sitar. C. An improved hybrid algorithm for solving the generalized vehicle routing problem. Neurocomputing , 109, 76– 83, 2013. Google Scholar CrossRef Search ADS [21] Pop P. C. and Chira. C. A hybrid approach based on genetic algorithms for solving the clustered vehicle routing problem. In Proceedings of IEEE Congress on Evolutionary Computation (CEC-2014), Beijing, China , pp. 1421– 1426, 2014. [22] Sevaux M. and Sörensen. K. Hamitonian paths in large clustered routing problems. In Proceedings of EU/MEeting workshop on Metaheuristics for Logistics and Vehicle Routing, Troyes , 2008. [23] Vidal ,T. Battarra ,M. Subramanian A. and Erdogan. G. Hybrid metaheuristics for the clustered vehicle routing problem. Computers and Operations Research , 58, 87– 99, 2015. Google Scholar CrossRef Search ADS [24] Wang J. and Kusiak. A. Computational Intelligence in Manufacturing Handbook . CRC Press, 2000. Google Scholar CrossRef Search ADS © The Author 2017. Published by Oxford University Press. All rights reserved. For Permissions, please email: journals.permissions@oup.com

Logic Journal of the IGPL – Oxford University Press

**Published: ** Feb 1, 2018

Loading...

personal research library

It’s your single place to instantly

**discover** and **read** the research

that matters to you.

Enjoy **affordable access** to

over 18 million articles from more than

**15,000 peer-reviewed journals**.

All for just $49/month

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Read from thousands of the leading scholarly journals from *SpringerNature*, *Elsevier*, *Wiley-Blackwell*, *Oxford University Press* and more.

All the latest content is available, no embargo periods.

## “Hi guys, I cannot tell you how much I love this resource. Incredible. I really believe you've hit the nail on the head with this site in regards to solving the research-purchase issue.”

Daniel C.

## “Whoa! It’s like Spotify but for academic articles.”

@Phil_Robichaud

## “I must say, @deepdyve is a fabulous solution to the independent researcher's problem of #access to #information.”

@deepthiw

## “My last article couldn't be possible without the platform @deepdyve that makes journal papers cheaper.”

@JoseServera

DeepDyve ## Freelancer | DeepDyve ## Pro | |
---|---|---|

Price | FREE | $49/month |

Save searches from | ||

Create lists to | ||

Export lists, citations | ||

Read DeepDyve articles | Abstract access only | Unlimited access to over |

20 pages / month | ||

PDF Discount | 20% off | |

Read and print from thousands of top scholarly journals.

System error. Please try again!

or

By signing up, you agree to DeepDyve’s Terms of Service and Privacy Policy.

Already have an account? Log in

Bookmark this article. You can see your Bookmarks on your DeepDyve Library.

To save an article, **log in** first, or **sign up** for a DeepDyve account if you don’t already have one.

All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.

ok to continue