# A decomposition-based method for solving the clustered vehicle routing problem

A decomposition-based method for solving the clustered vehicle routing problem 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 http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Logic Journal of the IGPL Oxford University Press

# A decomposition-based method for solving the clustered vehicle routing problem

, 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
ISSN
1367-0751
eISSN
1368-9894
D.O.I.
10.1093/jigpal/jzx037
Publisher site
See Article on Publisher Site

### Abstract

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

### Journal

Logic Journal of the IGPLOxford University Press

Published: Feb 1, 2018

## You’re reading a free preview. Subscribe to read the entire article.

### DeepDyve is your personal research library

It’s your single place to instantly
that matters to you.

over 12 million articles from more than
10,000 peer-reviewed journals.

All for just $49/month ### Explore the DeepDyve Library ### Unlimited reading Read as many articles as you need. Full articles with original layout, charts and figures. Read online, from anywhere. ### Stay up to date Keep up with your field with Personalized Recommendations and Follow Journals to get automatic updates. ### Organize your research It’s easy to organize your research with our built-in tools. ### Your journals are on DeepDyve 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. ### Monthly Plan • Read unlimited articles • Personalized recommendations • No expiration • Print 20 pages per month • 20% off on PDF purchases • Organize your research • Get updates on your journals and topic searches$49/month

14-day Free Trial

Best Deal — 39% off

### Annual Plan

• All the features of the Professional Plan, but for 39% off!
• Billed annually
• No expiration
• For the normal price of 10 articles elsewhere, you get one full year of unlimited access to articles.

$588$360/year

billed annually

14-day Free Trial