On the Selective Vehicle Routing Problem

: The Generalized Vehicle Routing Problem (GVRP) is an extension of the classical Vehicle Routing Problem (VRP), in which we are looking for an optimal set of delivery or collection routes from a given depot to a number of customers divided into predeﬁned, mutually exclusive, and exhaustive clusters, visiting exactly one customer from each cluster and fulﬁlling the capacity restrictions. This paper deals with a more generic version of the GVRP, introduced recently and called Selective Vehicle Routing Problem (SVRP). This problem generalizes the GVRP in the sense that the customers are divided into clusters, but they may belong to one or more clusters. The aim of this work is to describe a novel mixed integer programming based mathematical model of the SVRP. To validate the consistency of the novel mathematical model, a comparison between the proposed model and the existing models from literature is performed, on the existing benchmark instances for SVRP and on a set of additional benchmark instances used in the case of GVRP and adapted for SVRP. The proposed model showed better results against the existing models.


Introduction
The Vehicle Routing Problem (VRP) is one of the most well-known and famous combinatorial optimization problems, being recorded in the literature for a long time. It was in 1959 that Dantzig and Ramser [1] first considered it when they investigated a fuel distribution problem. In this context, they provided a near optimal solution based on a linear programming formulation for the most economical collection of routes of a fleet of gasoline delivery trucks between a bulk terminal and a given number of service gas stations. There are several basic aspects that justify the significance and importance of the VRP: we can mention effective solution approaches which make it practical to solve when dealing with large graphs (see the savings algorithm developed by Clarke and Wright [2]); the problem also has numerous real-life applications in industry, especially in the areas of transportation networks and supply chain management. Finding the optimal solution to VRP is NP-hard; therefore, only problems with limited size can be solved, optimally, so a lot research is developed in the area of heuristic and metaheuristic algorithms that can provide near optimal solutions within reasonable computational times for real world VRPs.
Recently, Posada et al. [17] considered a novel variant of the VRP, called the Selective Vehicle Routing Problem (SVRP), justified by some important real applications of the problem such as response operations in humanitarian logistics in the case of disasters where relief aid should be given to any node covering a disaster area as soon as possible, design of urban transportation routes, etc. The proposed variant extends the generalized vehicle routing problem in the sense that the nodes of the graph which are divided into clusters may belong to one or more clusters. Posada et al. [17] provided a mixed integer programming formulation of the SVRP, and in an alternative way, they have rewritten some of the constraints of the proposed model using different variants of the restrictions resulting three new mathematical formulations.
Evidently, SVRP belongs to the class of generalized combinatorial optimization problems. This category of problems naturally generalizes the classical optimization problem, having the following primary features: the vertices of the underlying graph are divided into a certain number of clusters and, when considering the feasibility constraints of the initial problem, these are expressed in relation to the clusters rather than as individual vertices. Some of the most investigated generalized combinatorial optimization problems are: the generalized minimum spanning tree problem and its variants, the generalized traveling salesman problem and its variants [18,19], the generalized vehicle routing problem and its variants [20,21], the selective graph coloring problem [22,23], the clustered shortest path tree problem, etc. For further reference on the class of generalized combinatorial optimization problems, we refer to [24,25]. A closely related problem to SVRP was introduced by Pop [18] and it was called the Selective Minimum Spanning Tree Problem. In this case, the vertices were grouped within clusters such that each vertex may belong to one ore more clusters and the objective was to find a minimum cost tree spanning a subset of vertices that includes exactly one vertex from each cluster.
The present paper is organized as follows. Section 2 provides a formal definition of the selective vehicle routing problem. Section 3 presents the novel mixed integer programming based mathematical model of the investigated problem. In Section 4, we validate the consistency of the proposed model by comparing it against the existing models from the literature on two sets of instances. The concluding results and as well as further research directions are presented.

Definition of the Selective Vehicle Routing Problem
Let G = (V, E) be an undirected graph with the set of nodes V = {0, 1, 2, ..., n}, where the node 0 represents the depot, and the set of edges E, E ⊆ {{i, j}| i, j ∈ V, i = j}.
The set of nodes V is divided into m + 1 nonempty subsets denoted C 0 , C 1 , ..., C m and called clusters, where the cluster C 0 consists of only one node namely the depot, i.e., C 0 = {0} and the following condition holds We denote by C the set of all clusters and C = {1, 2, . . . , m}. Dividing the nodes of the graph in this way, we do not exclude the possibility that certain nodes to belong to more than one cluster, i.e., there We associate for each node i ∈ V \ {0} a certain demand denoted by q i , i ∈ {1, 2, . . . , n} and a metric coordinate denoted by (x, y). Each edge (i, j) ∈ E has associated a certain cost denoted by d ij and representing the Euclidean distance between the nodes i and j, with i, j ∈ V. The depot has no demand, i.e., q 0 = 0. The total demand of each cluster is obtained by summing up the demands of all the nodes belonging to that cluster and may be satisfied by any of its nodes. In addition, we assume that at the depot is based a fleet of K of identical vehicles, each with a capacity denoted by Q and K = {1, 2, . . . , K}.
The goal of the Selective Vehicle Routing Problem is to determine a collection of routes, one for each vehicle, with minimum cost such that each route starts and ends at the depot, each cluster should be visited exactly once, the entering and leaving node of each cluster is the same, and the sum of all the demands of any route does not exceed the capacity of the vehicle Q. Therefore, the SVRP involves the following two related decisions: • Select a subset of nodes S ⊆ V such that |S ∩ C c | = 1, for all c ∈ {1, ..., m} = C. • Determine a minimum cost collection of routes in the subgraph of G induced by S, satisfying the capacity constraints.
An illustrative scheme of the SVRP and two feasible collections of routes are shown in Figure 1. In Figure 1, we present two feasible solutions of the SVRP. We can observe that the total number of visited nodes may be different: six nodes are visited in the first feasible solution and eight in the second solution. If a belonging to the three clusters C 6 , C 7 , and C 8 is visited, then all the nodes in the clusters C 6 , C 7 , and C 8 are covered.

A Valid Mathematical Model of Selective Vehicle Routing Problem
With the purpose of formulating the SVRP as a mixed integer linear program (MILP), we introduce the following parameters and decision variables: indicates if a certain node i ∈ V belongs to a cluster C c , c ∈ {1, ..., m}, thus This means, if the node i is an element of the cluster C c , then λ ic = 1; otherwise, λ ic = 0.

•
The binary decision variable x k ij is defined as follows: is not part of any route.

•
The integer decision variables u ij are defined as follows: u ij = 0 if the edge (i, j) is not included in a solution route, and may take a positive integer value less or equal to n, showing its order in the corresponding route.
Then, we can express the Selective Vehicle Routing Problem as the following mixed integer programming problem: Our objective is to minimize the total traveled distance. The restrictions in Equation (1) guarantee that if a vehicle reaches a certain node then it has to leave it. The restrictions in Equation (2) ensure that for every vehicle there is allocated at least one arc. The restrictions in Equation (3) guarantee that each cluster is visited exactly once. The restrictions in Equation (4) force using all the existing vehicles and in addition all the routes start and finish at the depot. The restrictions in Equation (5) provides the conditions imposed by the capacities of the vehicles. The constraints in Equations (6) and (7) are the sub-tour elimination constraints. Finally, the last constraints set the ranges of the decision variables.

Computational Results
To solve the proposed mathematical formulation of the SVRP, we used CPLEX 12.9. The computational experiments were performed on a PC with Procesor AMD Ryzen 9 12-Core, 64 GB RAM, Windows 10 operating system.
We report two sets of experiments: the first one compares our achieved results against the results obtained by Posada et al. [17] on a set of 36 SVRP instances generated by the same authors and the second one on a new set of instances containing 120 instances adapted from GVRP instances.

Problem Instances
Posada et al. [17] used a set of 12 GVRP instances with up to 63 nodes and adapted them in the case of SVRP by considering three levels of complexity. In their approach, the level of complexity is given by the maximum number of clusters to whom a node may belong and they considered three cases: nodes that may belong to two, three, and four clusters. This results in 12 × 3 = 36 SVRP instances. The instances were obtained by adding some random nodes on the predefined clusters.
The proposed procedure by Posada et al. [17] has the disadvantage that it produces occasionally unfeasible solutions, which are repaired manually.
Next, we describe a new procedure for adapting the GVRP instances in the case of SVRP. In our case, the number of nodes and clusters and the distances between the nodes are identical for both GVRP and SVRP. We propose a natural algorithm that allows nodes close to each other to belong to more than one cluster. We identify these nodes based on the distance between them. We define the following parameters: • We considered four cases for the maximum number of clusters that a node may belong. If each node belongs to exactly one cluster, that corresponds to GVRP, and the other cases in which nodes may belong to two, three, or four clusters are SVRP.

•
The maximum percentage of nodes within a cluster that may belong to two clusters was established as 50%. This value can be increase based on chosen nodes that can be in three or four clusters.

•
The maximum percentage of nodes that may belong to two clusters was set to 30%. This value can also be increase based on chosen nodes that can be in three or four clusters.
We developed a natural Greedy algorithm that allocates the nodes of two clusters as follows: we sort in ascending order the edges depending on their costs; the edges containing the depot are eliminated. We take the edge with the lowest cost, and, if its nodes are from different clusters, then the node with the left side of the edge is assigned to the cluster to which the other node belongs. The corresponding modification is made in the lambda matrix. We keep considering edges until the initial constraints are met, i.e., the maximum percentage of nodes within a cluster that may belong to several clusters is 50% and the maximum percentage of nodes that may belong to more that one cluster is 30%.
To choose nodes that will belong to three clusters, we take edges in the same order as above. If the node from the left side is contained in two clusters, we search the next edges in the existing order by cost for an edge that has on the left side the same node as the chosen one and on the right side a node that is contained in another cluster that the left side node. The chosen node is attached to the cluster of the node identified on the right side of the edge. We repeat this step until the number of nodes that are contained by three clusters represents a quarter of the maximum nodes that can belong to more clusters.
In the same way, we choose nodes that are included in four clusters based on nodes that belong to three clusters, with the difference that the maximum number of this type of nodes one eighth of the maximum nodes that can belong to more clusters.
This type of algorithm, where the steps are repeated for each level of complexity, has been chosen to ensure that the results can be obtained by other researchers using different instances from one part and from another to ensure that we have a reasonable distribution of nodes for each level of complexity.

Computational Results on the Possada et al. Instances
In Table 1, we display the achieved computational results performed for the instances generated by Posada et al. [17] (36 SVRP instances and 12 GVRP instances) and we compare them with the results provided by the same authors. The first column displays the mathematical model: the models MILP 1 , MILP 2 , MILP 3 , and MILP 4 were introduced by Posada et al. [17] and the last model denoted by MILP is the formulation that we provide in this paper. The next three columns provide the average gap, average time, and the number of achieved optimal solutions by solving the SVRP instances by each of the considered models. The last three columns provide the average gap, average time, and the number of achieved optimal solutions by solving the GVRP instances by each of the considered models. Analyzing the results displayed in Table 1, one can notice that our proposed model outperforms the existing models, providing lower average gaps, the shortest running time, and the largest number of achieved optimal solutions. In the case of the GVRP instances, we can observe that, if we allowed the computer to run for more than 1800 s, we were able to obtain 11 optimal solutions out of 12 instances and the obtained average gap was 0.59%.

Computational Results on Our Proposed Instances
In Tables 2-4, we display the achieved computational results performed for the novel generated instances: 24 GVRP instances, 72 small and medium SVRP instances, and 48 larger SVRP instances. We considered 24 GVRP instances (for more information, see Bektas et al. [26]), with up to 39 nodes. These instances were adapted in the case of SVRP by considering as well four levels of complexity. The level of complexity is given by the maximum number of clusters to which a node may belong: nodes may belong to two, three, and four clusters. Resulting in this way, there were 24 × 3 = 72 small and medium SVRP instances and 16 × 3 = 48 larger SVRP instances. The level of complexity 1 corresponds to GVRP, in which case every node belongs to exactly one cluster.
In Table 2, we present the obtained computational results in the case of SVRP instances with the level of complexity 1, which coincides to GVRP instances. The first column displays the index of the instance. The second column contains the name of the instance and has the following format SVRP − X − nY − kZ − Cm − VK, where X corresponds to the type of the instance used in GVRP, Y refers to the number of nodes, Z corresponds to the number of vehicles in the original CVRP instance, m is the number of clusters, and K is the number of vehicles in the GVRP instance. The next column represents the level of complexity of the adapted SVRP instance, in this case being 1 corresponds to GVRP. The next column delivers the optimal solution obtained by Bektas et al. [26] for solving the GVRP. The last two columns display our obtained results for solving the GVRP instance using the proposed mathematical model: the achieved solution and the necessary computational time in seconds. Analyzing the results presented in Table 2, we can observe that for all 24 GVRP instances which correspond to SVRP instance with level of complexity, we were able to obtain the optimal solution of the problem. The computational time was below 3600 s in 21 out of 24 instances.
In Tables 3 and 4 , we present the obtained computational results in the case of small and medium and larger SVRP instances, respectively, with the levels of complexity 2, 3 and 4. The first column displays the index of the instance and the second column contains the name of the instance. The next columns display the level of complexity of the adapted SVRP instance, the optimal solution obtained by solving the problem with CPLEX, and the corresponding computational time in seconds.   Tables 3 and 4 , we can observe that, in 62 out of 72 small and medium SVRP instances and 34 out of 48 larger SVRP instances, corresponding to the three levels of complexity 2, 3, and 4, we were able to provide the optimal solution of the problem. For the other instances, the corresponding problems were unfeasible because, considering nodes that belong to more clusters, the capacity constraints of the vehicles to serve those clusters are no longer satisfied, and in the case of Table 4 in 12 out of 48 larger SVRP instances CPLEX was stoped after 3600 seconds.

Conclusions
In this paper, we describe a novel mathematical formulation based on mixed integer programming of a recently introduced variant of VRP, namely the selective vehicle routing problem (SVRP). The proposed model is compared against the existing models from the literature on the benchmark instances introduced by Posada et al. [17]. In addition, we provide a new set of SVRP instances adapted from the GVRP instances. Our proposed model achieved better results against the existing models from the literature.
Due to the complexity of the SVRP, in the future, we plan to solve the problem with heuristic or metaheuristic algorithms.