1 Introduction
The vehicle routing problem (VRP) aims to design a set of routes, each of which is performed by a vehicle, such that all customer demands are fulfilled, all constraints are respected, and the cost of all routes is minimized.
In this study, we address a VRP variant, called the split delivery vehicle routing problem (SDVRP), in which an unlimited number of homogeneous and capacitated vehicles are dispatched to serve a number of customers, each with a nonnegative demand, and where each customer is allowed to be served by multiple vehicles. The objective of this problem is to construct a set of delivery patterns to satisfy the demands of all customers such that the cost of all routes is minimized. A delivery pattern is defined as a sequence of customers together with a specified delivery quantity for each customer. When the vehicle capacity is less than the demand of a customer, split delivery is unavoidable and the customer has to be served by more than one vehicle. Dror and Trudeau (
1989) showed that even when the vehicle capacity is greater than or equal to all customer demands, substantial cost savings can be achieved through split delivery.
In this study, we also consider two relevant extensions of the basic SDVRP, namely, the multidepot SDVRP (MDSDVRP) and the SDVRP with time windows (SDVRPTW). The MDSDVRP generalizes the SDVRP by dispatching vehicles from multiple depots, whereas the SDVRPTW requires that each customer be served within a specified time interval.
In the literature, researchers have studied variants of the basic SDVRP, some of which use additional assumptions to simplify the problem to a certain extent. For example, Jin et al. (
2007) studied an SDVRP variant in which the number of available vehicles is fixed to the minimum possible number. Another variant, called
k-SDVRP (
Archetti et al., 2006), where
k denotes the maximum quantity delivered in each route, requires that all customer demands, vehicle capacity, and delivery quantity must be integers. Our work considers more general assumptions, in which customer demands and vehicle capacity can be real numbers, the number of available vehicles can be greater than the minimum possible number, and vehicle capacity can be less than customer demand. In the following, the term SDVRP is used to refer to the latter problem variant.
SDVRPs are among the most difficult VRPs because additional decision variables must be included to determine the quantity delivered to each customer by each vehicle. Computing optimal solutions for large SDVRP instances (e.g., instances with more than 100 customers) is difficult (
Luo et al., 2017;
Bianchessi and Irnich, 2019). Therefore, the majority of studies in the literature adopt heuristic methods to obtain near-optimal solutions for SDVRPs. The key to designing an efficient heuristic relies on the method used to represent feasible solutions of the problem (i.e., solution representation). In contrast to previous heuristic approaches using a natural delivery-pattern-based representation and thus utilizing the properties of SDVRPs, our approach combines route-based and forest-based representations of a solution such that the delivery quantity at each customer is not explicitly specified but can be efficiently computed by means of the forest-based representation.
1.1 Contributions
The contributions of this paper are as follows.
(1) We design a novel way to represent the solution of SDVRPs, which uses a forest structure to detect the feasibility of a solution.
(2) Based on the new solution representation, we introduce new neighborhood search operators to improve solution quality. New operators can significantly reduce the time complexity in exploring the solution space.
(3) We propose a simple tabu search framework for solving three main SDVRP variants: The basic SDVRP, the MDSDVRP, and the SDVRPTW. Computational experiments show that such a standard approach yields excellent results compared with several existing methods.
Moreover, we collect several datasets of SDVRPs and provide detailed benchmark results that can be used as baselines for future research.
The rest of this paper is organized as follows. The next subsection provides an overview of the literature on SDVRPs. Section 2 formally describes the SDVRPs addressed in this study and reviews some well-known properties of this class of problems. Section 3 introduces the solution, representation and three classes of neighborhood operators. Section 4 details the components of our solution approaches. Section 5 presents the computational results, and Section 6 concludes the paper and presents several future research directions.
1.2 Literature review
The SDVRP has been addressed by many articles in the literature, most of which deal with heuristic techniques. Surveys on the SDVRP and related problems can be found in Archetti and Speranza (
2008), Toth and Vigo (
2014), and Qin et al. (
2021).
The SDVRP with the minimum possible number of vehicles was solved using a dynamic programming algorithm (
Lee et al., 2006) and iterative two-stage heuristic with several valid inequalities (
Jin et al., 2007). Archetti et al. (
2011a;
2014) proposed two exact algorithms for the SDVRP. Archetti et al. (
2011a) designed a branch-and-price-and-cut (BPC) algorithm for cases with an unlimited number of vehicles and with the minimum possible number of vehicles. Instances with up to 48 customers were consistently solved to optimality, and an instance containing 144 customers was optimally solved. Archetti et al. (
2014) described two exact branch-and-cut (BC) algorithms based on two relaxed formulations. The authors reported that one of the two proposed BC algorithms was capable of solving two instances with 75 and 100 customers, respectively, and the majority of the instances with less than or equal to 50 customers. Ozbaygin et al. (
2018) presented a new vehicle-indexed flow formulation for the SDVRP and presented computational results including optimal solutions for instances with up to 76 customers. Munari and Savelsbergh (
2022) proposed three compact formulations for the SDVRP and developed a BC algorithm that solved 91 instances with up to 80 customers to prove optimal solutions. Desaulniers (
2010) described a BPC algorithm to solve the SDVRPTW. Archetti et al. (
2011b) improved the BPC algorithm of Desaulniers (
2010) by incorporating a tabu search heuristic to heuristically deal with the pricing problem, several valid inequalities, and a separation approach for
k-path inequalities. Instances with less than or equal to 100 customers were optimally solved within one hour. Recently, Luo et al. (
2017) investigated a BPC algorithm to solve an SDVRPTW with a linear weight-related cost (SDVRPTWL), where the travel cost is charged based on the traveling distance and vehicle weight. The algorithm was tested on both SDVRPTW and SDVRPTWL instances and instances with up to 100 customers for both variants were optimally solved within one hour. The
k-SDVRP with time windows and
k-SDVRP considering the minimum number of vehicles were solved by a BPC algorithm by Salani and Vacca (
2011) and by a cutting-plane algorithm by Belenguer et al. (
2000), respectively. Recently, Li et al. (
2020) proposed a VRP variant in which split delivery was considered, demands were integers, service time was proportional to the quantity of products delivered, and multiple time windows were available, and devised a BPC algorithm to solve their problem.
More research articles in the literature have made efforts to design heuristic approaches for SDVRPs. Dror and Trudeau (
1989) designed a local search algorithm with two problem-specific search operators, namely route addition and
k-split interchange. Archetti et al. (
2006) designed a tabu search algorithm for the
k-SDVRP, which is able to handle the more general SDVRP. Archetti et al. (
2008) further designed a math-heuristic based on the tabu search algorithm proposed by Archetti et al. (
2006). In this math-heuristic, the tabu search procedure is first executed to solve the SDVRP. The solutions computed by the tabu search procedure are then used to guide the algorithm toward promising feasible regions. Finally, a mixed-integer programming (MIP) model is solved to generate high-quality solutions. Zhang et al. (
2015) also developed a tabu search algorithm for SDVRP based on alternative solution representations. Our work is based on the work of Zhang et al. (
2015), which extends in several directions, i.e., enhanced solution representations, improved neighborhood search operators, and extension to SDVRPs other than the basic SDVRP. In Derigs et al. (
2010), the authors described four local search operators adapted from the intratour and intertour exchange operators for the classical VRP. The authors integrated these operators into five metaheuristic frameworks: Attribute-based local beam search heuristic, attribute-based hill climber heuristic, record-to-record travel, threshold acceptance, and simulated annealing. Their numerical results show that the attribute-based hill climber heuristic outperforms other heuristics. Heuristic algorithms for the SDVRP with a minimum number of vehicles can be found in Mota et al. (
2007), Jin et al. (
2008), Aleman et al. (
2010), Aleman and Hill (
2010) and Archetti et al. (
2011a). Berbotto et al. (
2014) designed a randomized granular tabu search algorithm for the
k-SDVRP with a minimum number of vehicles, whereas Ho and Haugland (
2004) designed a tabu search algorithm for the SDVRPTW. Gulczynski et al. (
2011) developed a math-heuristic for the MDSDVRP, and Ray et al. (
2014) presented an MIP model and used a heuristic search method for the same problem. Han and Chu (
2016) studied an SDVRP with minimum delivery amounts (SDVRP-MDA) in which the demand of a customer can be delivered to the customer by multiple vehicles, while each delivery quantity must exceed a given amount. They proposed a new multistart two-phase variable neighborhood descent heuristic to solve the SDVRP-MDA. Chen et al. (
2017) provided a simple, effective, and efficient method for the SDVRP using an a priori splitting strategy in which the demand of each customer is split into several small demands. Shi et al. (
2018) proposed a particle swarm optimization approach that incorporates a local search to solve the SDVRP. Bortfeldt and Yi (
2020) studied an SDVRP with three-dimensional loading constraints. They proposed a hybrid heuristic consisting of a genetic algorithm and a local search, in which several construction heuristics for packing are embedded.
2 The SDVRP, MDSDVRP and SDVRPTW: Problem definitions
The SDVRP is defined on an undirected and complete network , where is the vertex set and is the edge set. Node denotes the depot and denotes the customer set. Each customer has demand and each edge has a traveling or routing cost , where the cost matrix satisfies the triangle inequality. We have a sufficient number of homogeneous vehicles, and the vehicle capacity is . Fig.1 shows an SDVRP instance with three customers and two vehicles.
A route is the cycle of network passing through and visiting a set of customers and its cost is computed as the total cost of the edge set in the route. A delivery pattern is represented by an underlying route and associated delivery quantity at each visited customer . A delivery pattern is feasible if its total delivery quantity does not exceed vehicle capacity , i.e., . The SDVRP consists of designing a set of delivery patterns such that all customer demands are fully satisfied, and the total route costs are minimized.
The MDSDVRP generalizes the SDVRP by replacing vertex set with set , where denotes the depot set. In MDSDVRP, a vehicle route starts from any depot of set and ends at the same depot. An example of MDSDVRP instance can be found in Fig.2, where two depots, four customers and three vehicles are involved. The SDVRPTW also generalizes the SDVRP by associating with each customer a prescribed time interval or time window . The service for customer must start within its time window, and the service starts from time if the vehicle visits customer before . An example SDVRPTW instance is provided in Fig.3.
Note that an SDVRP (also MDSDVRP and SDVRPTW) solution is a set of delivery patterns, while the corresponding solution cost, namely, the total routing cost, is only determined by the underlying routes. The quantity delivered at each customer does not affect the solution value.
Dror and Trudeau (
1989) derived the following two properties for the SDVRP.
Property 1. An optimal solution in which no two vehicles have more than one split customer in common must exist if the cost matrix satisfies the triangle inequality.
The second property is based on the following definition of the k-split cycle.
Definition 1. Given k customers and k delivery patterns , these k delivery patterns contain a k-split cycle if includes and , includes and , …, includes and , and includes and .
Property 2. An optimal solution that does not include a k-split cycle for any must exist if the cost matrix satisfies the triangle inequality
Let us use the example shown in Fig.4 to illustrate Properties 1 and 2. Suppose we have an SDVRP solution with a 2-split cycle shown in Fig.4(a), where the squares and circles represent the route nodes (r) and customer nodes (c), respectively. Demand is given beside the customer node. For a split customer, the number on a link specifies the quantity of demand served by the vehicle; for a non-split customer, the delivery quantity on the link always equals its demand and is not shown. The number beside the route node provides the current load. The 2-split cycle is . Then, in Fig.4(b), we can adjust the quantity of split customers’ demand served by the vehicle by setting one of them to zero without violating the feasibility of the solution. If the cost matrix satisfies the triangle inequality, the link with zero quantity is redundant and can be removed (see Fig.4(c)) to reduce the cost of the current solution or at least not increase it. This implies that there exists an optimal solution that does not include a k-split cycle for any .
We can easily prove that Properties 1 and 2 for the MDSDVRP also hold because the optimal MDSDVRP solution can be decomposed into
m SDVRP optimal solutions (
Azad et al., 2017), each of which satisfies these two properties. According to Ho and Haugland (
2004), these properties also hold for SDVRPTW.
3 Description of the solution representation and definition of neighborhood structures
In this section, we address two important components in designing efficient and effective heuristic algorithms for SDVRPs, namely, the solution representation and the neighborhood structures.
In the literature, neighborhood operators originally designed for VRPs have been modified to handle SDVRPs; see, for example, Dror and Trudeau (
1989), Ho and Haugland (
2004), Derigs et al. (
2010), Aleman et al. (
2010) and Berbotto et al. (
2014). These neighborhood operators use a set of delivery patterns to represent a feasible solution, as shown in the example in Fig.5. In the figure, six delivery patterns are represented for an SDVRP instance involving 15 customers, and each value
represents the total delivery quantity of pattern
p.
To show the limits of the representation, consider, for example, the operator “2-split interchange” used in Dror and Trudeau (
1989) and the operator “relocate” used in Berbotto et al. (
2014). From Fig.5, we can see that moving customer 1 from delivery pattern 1 to delivery pattern 2 in the position between customers 2 and 4 can reduce the total traveling distance if
. However, this results in an infeasible solution, because the vehicle capacity constraint is violated. This relocation can be made possible by reassigning the delivery quantities of customers that have been split. For instance, we can move two units of customer 5’s demand from delivery pattern 2 to delivery pattern 4 and then relocate customer 1 to delivery pattern 2. Analogously, by using the 2-split interchange operation, allocating customer 8’s demand to delivery patterns 2 and 4 also results in an infeasible solution because of the vehicle capacity constraint. This 2-split interchange operation can be made feasible by first moving one unit of customer 2’s demand from delivery pattern 2 to delivery pattern 1.
The above observations suggest that most previously proposed operators can search for a larger solution space if we can find a mechanism that is capable of reallocating split customers’ demands automatically and freely among all delivery patterns involved. This can be achieved, for example, by replacing the traditional delivery-pattern-based representation with a forest-based solution representation.
3.1 A forest-based solution representation
A solution S, as defined in Section 2, includes a set of delivery patterns in which the vertex sequence of each route and delivery quantity at each customer are specified. In SDVRPs, changing the delivery quantities may influence the solution’s feasibility, but does not impact the solution cost. Therefore, given each route (i.e., vertex sequence) of solution S, if there exists an appropriate delivery quantity at each customer such that all customer demands can be fully satisfied and the vehicle capacity is respected, then S must be feasible, and the corresponding solution cost can be computed as the sum of all route costs. This observation implies that a solution representation in which the delivery quantities are not explicitly maintained may be better for SDVRPs. Therefore, we consider a new solution representation in which route-based representation modeling the route sequences is coupled with a forest-based representation modeling delivery quantities.
Given the customer set and an index set P of delivery patterns with unknown delivery quantities in solution S, the following model defines a feasible region of possible delivery quantities:
Constraint (1a) states that the total delivery quantities in a vehicle route cannot exceed
Q. Constraint (1b) ensures that each customer must be fully served. It can be easily seen that the coefficient matrix for the above set of inequalities is totally unimodular. Hence, if
Q and
are integrals, the feasible region is an integral polyhedron. Indeed, an integral feasible solution (if any) of the set of inequalities (1) can be determined by solving the maximum flow problem (
Ahuja et al., 1993), as shown below.
We first construct a bipartite graph based on the information provided by a given solution S. Node set is composed of two sets of nodes: A route node set and a customer node set . Node corresponds to route index and node corresponds to customer . The edge set includes an edge only if route i contains customer j. We then define the corresponding flow network from graph as follows.
(1) The node set is composed of the sets of nodes and and two dummy nodes, namely, a source node s and a sink node t;
(2) The arc set is defined as:
a) We create an arc with capacity Q from source node s to each ;
b) We create an arc with capacity from each to sink node t;
c) We create an arc with a capacity equal to from route node i to customer node j if .
Note that the maximum flow in the network is limited by value . Fig.6 shows the flow network corresponding to the solution in Fig.5, where the circles and squares denote the customer and route nodes, respectively.
Based on the flow network defined above, model (1) admits a feasible solution if and only if the maximum s-t flow in the flow network is equal to . If a feasible solution exists, then the delivery quantities , and of the model are equal to the flow values of the corresponding arcs . Although the maximum s-t flow problem can be solved optimally in polynomial time (e.g., in by using Ford–Fulkerson’s algorithm), it is not efficient enough to be used in practice, because once used within a heuristic framework for SDVRPs, it must be executed many times. Below, we investigate the structures of the optimal SDVRP solutions that can help accelerate the problem of checking the feasibility of route-based representation.
We define as the set of all feasible solutions of the SDVRP. We assume that the cost matrix satisfies the triangle inequality. Therefore, all solutions that do not satisfy Properties 1 and 2 can be removed from set , and the bipartite graph associated with an optimal solution is a forest, as shown by the following proposition.
Proposition 1. Given an optimal solution , is a forest, i.e., is an acyclic graph.
Proof. We prove this by contradiction by showing that the graph is acyclic. Suppose that contains cycle , where denotes the cycle length. The value of k must also be odd because is a bipartite graph. Moreover, cycle C alternates between customer and route nodes. We can assume that is a customer node. Then, C takes the form , where the vertices in the odd and even positions correspond to the customer and route nodes, respectively. This result contradicts Property 2.
Proposition 1 also indicates that graph comprises one or more trees. For convenience, we represent as , where is a tree. For example, the solution given in Fig.5, , is composed of two trees, and , as shown by Fig.7.
To reduce the computation of checking the feasibility of a route-based representation, below, we propose a greedy procedure (GP) that is able to quickly compute a feasible delivery pattern (if any) associated with graph instead of directly finding the maximum flow on the corresponding flow network. The procedure works as follows.
Let and be the residual capacity of route i and the residual demand of customer j, respectively. Initially, we set , , and , . The GP procedure involves the following steps.
(1) Set , for all arcs of the flow network.
(2) Select a “nonprocessed” tree T from the forest . If no tree T can be determined, then the procedure ends with a feasible solution represented by the delivery quantities .
(3) If T consists of only one node , then set (i.e., T has been processed) and go to step 2.
(4) If T consists of only one node , then we have the following two cases:
a) , the procedure terminates without having found a feasible solution.
b) , set and go to step 2.
(5) Select a leaf node i of T and its father node j. Note that a node is a leaf node if its degree is equal to 1.
(6) If node and node , then we have the following two cases:
a) , set , and . Then node i is removed from T.
b) , the procedure terminates without finding a feasible solution.
(7) If node and node , then we have the following two cases:
a) , set , and . Then remove node i from T .
b) , set , and . Then, node j is removed from T.
(8) Go to step 3.
For tree of the example shown in Fig.7, the GP procedure works as follows.
(1) Customers 10, 11, 12, and 7 are served by vehicle 4, and the residual capacity of vehicle 4 is equal to 4.
(2) Customers 8 and 9 are served by vehicle 3, and the residual capacity of vehicle 3 is equal to 3.
(3) Vehicle 4 delivers 4 units and vehicle 3 delivers 3 units to customer 5. Therefore, the residual demand of customer 5 is equal to 1, and the residual capacities of vehicles 3 and 4 are both equal to zero.
(4) Vehicle 2 fully serves customers 2, 4, and 6, and delivers 1 unit to customer 5. Then, its residual capacity becomes equal to 1.
(5) Customers 1 and 3 are served by vehicle 1, which has a residual capacity of 8.
The following theorem proves the correctness of procedure GP, i.e., GP is capable of computing the maximum s-t flow value.
Theorem 1. Procedure GP returns a feasible solution if and only if the maximum flow value in the flow network corresponding to graph is equal to .
Proof. First, if the GP terminates with a feasible solution at step 2, the residual demand of each customer is equal to 0, hence , i.e., the maximum flow in the flow network is equal to . In this case, the GP essentially performs a series of augmenting path steps in the flow network.
Second (by contradiction), assume that the network has a maximum flow value equal to with a flow value associated with each arc from a tree associated with the delivery quantity . Let the sequence of arcs removed be , and assume that the GP terminates immediately after checking node in step 6. We have two cases:
(1) If , the residual demand of customer j cannot be fulfilled by the GP, but can be satisfied according to the maximum flow; hence, we have a contradiction.
(2) There must exist an index such that and . According to our algorithm, holds because fully uses the residual capacity of nodes and . Customer node in graph is connected to a set of route nodes , as shown in Fig.8. We increase to while decreasing of the same amount. Hence, the new values also correspond to a maximum flow of value equal to and, iteratively, the solution can be transformed such that , thus obtaining case (1).
Procedure GP can be executed in time using a forest traversal method from leaves to the root, e.g., a depth-first traversal or a level-by-level traversal. Therefore, it is very efficient to check the feasibility of a route-based solution. In the following, we describe a route-based heuristic method that incorporates the auxiliary graph to represent a solution .
The forest-based solution representation can be adapted to handle the MDSDVRP by considering a set of forests for each depot used in the solution.
3.2 Definition of the neighborhood structures
In this section, we describe three operators for SDVRPs, namely, relocate, exchange and split, to define the neighborhoods of a solution. The relocate and exchange operators are adapted from their corresponding classic VRP operators, whereas the split operator is based on the
k-split interchange operator introduced by Dror and Trudeau (
1989). All are specifically tailored to the forest-based solution representation. To speed up the computation, the following attributes of a solution, as illustrated in Fig.9, are used by different operators.
(1) Maximum residual capacity of route i. Let i be the node representing the given route in graph . Value can be computed by processing node i as the last node in the GP procedure.
(2) Maximum supporting capacity of route i before serving customer j. Suppose that customer j is served by a set of routes . The value can be computed by first removing edge from graph and then by finding the maximum residual capacity of route .
(3) Maximum available capacity of customer j. Value can be computed as , which is equal to the total maximum supporting capacity of the set of routes serving customer j.
Given the index i, can be computed in time by applying GP with i as the root node. Similarly, and can be obtained in time by setting j as the root node. Therefore, given a solution, the values , and can be computed in time.
3.2.1 Relocate operator
The relocate operator chooses a customer from route and inserts it into route . Routes and are assumed to be contained in trees and , respectively. The cost of the resulting solution can be easily recomputed, whereas checking the feasibility depends on the tree structures, as described by the two cases below.
(1) , external relocate operation. Consider the example shown in Fig.10. Suppose that customer j (visited by routes 1 and 3) is moved from route 1 to route 2 and inserted between customers 2 and 3, as shown in Fig.10(a) and 10(b), respectively. We depict the resulting solution S′ and graph G(S′), as shown in Fig.10(c) and 10(d), respectively. The operation is feasible if .
(2) , internal relocate operation. In this case, the move-producing solution S′ can lead to a cycle in the corresponding graph G(S′), as shown in Fig.11. If customer 2 is moved from route 2 to route 4, a cycle (4, 3, 1, 2, 4) arises, and the resulting operation is not admissible due to Property 2. However, as shown in Fig.11(b), if we move customer 3 from route 1 to route 2, the resulting graph G(S′) is acyclic; thus, this operation is potentially admissible. In this case, we apply procedure GP to to check the feasibility of the operation.
3.2.2 Exchange operator
The exchange operator chooses two customers from two different routes, and exchanges their corresponding positions. Let and be the two selected customers, route (resp., ) be the route containing (resp., ), and (resp., ) be the tree containing route (resp., route ). Similar to the relocate operator, we have the following two cases.
(1) , external exchange operation. Fig.12 shows an example of the exchange of customer of route 1 with customer of route 2, and the resulting graph G(S′). In this case, the operation is feasible if the following conditions hold: and .
(2) , internal exchange operation. In this case, a cycle can occur in the resulting graph G(S′) (see Fig.13(b)). When the resulting graph G(S′) is acyclic, procedure GP is applied to to verify the feasibility of the operation.
3.2.3 Split operator
The split operator is based on the k-split interchange operator introduced by Dror and Trudeau (1989). This operation attempts to replace a set of routes serving customer j (denoted by ) with a new set of routes (denoted by ), such that the total cost of all new routes is reduced.
Given customer j, the operator first computes saving corresponding to the removal of j from route as , where and are the immediate predecessor and successor of customer j in route i. Then, the operator calculates the routing cost for inserting customer j into every route i in the solution. If , the position between customers and with the minimum insertion cost is selected, namely, , after examining each position in i. If , is set as . Finally, customer j is removed from every route and reinserted into the routes in as described below.
Set
is determined by solving a disjunctively constrained knapsack problem (DCKP) or knapsack problem with conflicts (
Yamada et al., 2002), which is defined as follows. Customer
j is regarded as a knapsack with capacity
. Each route
i in the solution is regarded as an item, with weight equal to
if
, or
otherwise, i.e,
. The value or profit of the item is
, see Fig.14 as an example. Disjunctive constraints require that two conflicting items be not selected simultaneously. Two items
and
are in conflict if assigning customer
j to both routes
and
results in a cycle in the resulting graph
G(
S′).
The DCKP is Non-deterministic Polynomial (NP)-complete, and solving it to optimality is very time-consuming. To accelerate the computation, we use a greedy heuristic for its solution, which works as follows. The heuristic first sorts all items to decrease the value per unit weight. Then, each item with associated route i is checked sequentially. If assigning customer j to route i does not generate cycles, customer j is inserted into the best position on route i. Otherwise, the next item is checked. When all items have been checked and the demand of customer j is not fully met (i.e., the knapsack is not full), we create a new route to serve customer j.
Note that for the MDSDVRP, the depot of a newly created route is set to the one closest to customer j. For the SDVRPTW, the insertion of customer j into route i must also consider the time window constraints.
4 A unified tabu search framework for SDVRPs
We present a unified tabu search framework for SDVRPs that is used to solve the three problems considered in this study: SDVRP, MDSDVRP, and SDVRPTW. The tabu search algorithm (
Glover, 1989;
1990) is a famous metaheuristic that has been applied to various VRPs, such as the classic VRP (
Gendreau et al., 1994), the SDVRP (
Archetti et al., 2006), the VRPTW (
Potvin et al., 1996), the SDVRPTW (
Ho and Haugland, 2004) and the three-dimensional loading VRP (
Wei et al., 2014), to name a few. The neighborhood operators described in the previous section are integrated into our proposed tabu search framework, and their effectiveness is demonstrated by the numerical experiments reported in Section 5. It is worth noting that the neighborhood operators described in this study may also be applied to other metaheuristic frameworks. presents a tabu search framework that consists of initialization phase (step 1), a neighborhood search phase (steps 3–4) and a diversification phase (steps 5–7). Below, the different steps of the algorithm are described in details.
4.1 Neighborhood search and tabu list
Our algorithm employs a neighborhood search procedure to iteratively move from the incremental solution
S to one of its neighbors
S′. In our implementation, a tabu list management strategy similar to strategies proposed in the literature (e.g., Cordeau et al. (
1997)) is included in the neighborhood search procedure to avoid revisiting previously explored solutions.
provides the neighborhood search procedure. We denote by the objective function of solution S, i.e., the total routing cost. Operators relocate, exchange and split are used. The tabu list, denoted by L, is a two-dimensional array, where records the index of the search iteration in which customer j is inserted into the i-th route.
When inserting customer j into route i, we randomly draw a value in the range and then assign it to tabu tenure , where and are user-defined parameters. By this way, we do not set the tabu tenure associated with all insertions to a fixed value, but a random number in a given interval.
Let t be the index of the current search iteration, , removing customer j from route i is not allowed, because it is a tabu operation. However, such an operation is still admissible if the best solution S* found thus far can be improved, i.e., an aspiration criterion is used.
4.2 Diversification mechanism
Diversification helps prevent the search process from becoming trapped in the local minima. We invoke a diversification process whenever the best solution currently found cannot be improved for
iterations, where
is a parameter. We simply use the multiple-
k-split operator proposed by Penna et al. (
2013) and Silva et al. (
2015) to perturb the solution. Here,
k is also a user-defined parameter. The multiple-
k-split operator first randomly selects
k customers, with
k randomly selected in the range
. Then, we remove these selected customers from the solution. Finally, we apply the split operator (see Section 3.2.3) to the removed customers in order to reinsert them into the solution. After the solution is perturbed, the tabu list
L is cleared and iteration
t is set to 0.
4.3 Termination criteria
The algorithms terminate whenever one of the following two conditions is reached: The number of perturbations reaches a predefined parameter or the running time exceeds a prescribed time limit .
5 Computational experiments
In this section, we report the computational results of the tabu search algorithm described in Section 4, hereafter called forest-based tabu search (FTS). All algorithms were coded in C++, and all experiments were conducted on a personal computer equipped with an Intel i7-4790 4.00 GHz CPU, 8 GB RAM, and running on the Windows 10 operating system. The computation times reported are in CPU seconds on this machine.
The FTS algorithm was tested on sets of instances already proposed in the literature for SDVRP, MDSDVRP, and SDVRPTW. For each instance, as generally done in the literature, the FTS algorithm was executed ten times with different random seeds.
5.1 Parameter calibration
We perform preliminary experiments to determine suitable values for the FTS parameters. Tab.1 lists the final parameter settings used by FTS. In our preliminary experiments, we set the time limit to 400 s, and the remaining parameters are computed as follows.
We first group the parameters into three groups , and , and define the following ranges for the parameters:
(1) : , , and ;
(2) : , , , , and , where interval indicates that no perturbation is used;
(3) : , and .
For the sake of the preliminary experiments, we select the seven SDVRP instances named “p05”, and we run algorithm FTS for all combinations of the different parameters. For each combination, we compute the average of the corresponding solution values, and the parameters are defined based on the combination with the minimum value.
5.2 Results on the SDVRP
In the literature, the SDVRP has been extensively investigated, and several benchmark instances have been generated by different authors. We conduct experiments on the following three sets of SDVRP benchmark instances.
(1)
Set 1. This set contains the 14 instances proposed by Belenguer et al. (
2000) generated by using the generation scheme described by Dror and Trudeau (
1989). The vehicle capacity
Q of each instance is equal to 160, and the customer demands were randomly generated from six different intervals, namely,
,
,
,
,
and
.
(2)
Set 2. This set contains 21 instances, as proposed by Chen et al. (
2007). The number of customers in these instances ranges from 8 to 288. The customer demands are either 60 or 90 units, and the vehicle capacity
Q is set to 100 for each instance.
(3)
Set 3. This set of instances is derived from the capacitated vehicle routing problem (CVRP) instances used by Gendreau et al. (
1994). For each CVRP instance, Archetti et al. (
2006) varied customer demands according to one of the six demand intervals used in Set 1. We consider six CVRP instances (p01–p05 and p11) for a total of 42 SDVRP instances.
We compare the results generated by the FTS algorithm with those obtained by the following existing algorithms on the above sets of instances.
(1) SPLITABU: Tabu search heuristic of Archetti et al. (
2006).
(2) VRTR + EMIP: Variable length record-to-record travel algorithm with an endpoint MIP algorithm proposed by Chen et al. (
2007).
(3) OH: Optimization-based heuristic of Archetti et al. (
2008).
(4) ICA + VND: Variable neighborhood descent algorithm of Aleman et al. (
2010).
(5) TSVBA: Tabu search with vocabulary building approach of Aleman and Hill (
2010).
(6) ABHC: Attribute-based hill climbing heuristic of Derigs et al. (
2010).
(7) BPCH: BPC-based heuristic of Archetti et al. (
2011a).
(8) RGTS: Randomized granular tabu search by Berbotto et al. (
2014).
(9) SplitILS: Iterated local search heuristic of Silva et al. (
2015).
(10) SRC + VND: Multistart two-phase variable neighborhood descent heuristic of Han and Chu (
2016).
Table S1 of the e-companion to this paper summarizes the programming languages and experimental environments of the above algorithms.
In Tab.2, we report the results obtained by the different algorithms for the three sets of SDVRP instances. For each algorithm, the table reports the average of the best solution values computed over 10 runs and the corresponding average running time in seconds. If a value is marked with an “–”, the set is not executed by the corresponding algorithm. In the table, the rows labeled “BKS” (best known solution) gives the averages of the best solution values found by the different algorithms proposed in the literature (see Silva et al. (
2015)). Tables S2−S4 of the e-companion report the detailed results for the SDVRP.
Tab.2 shows that SplitILS and FTS are, on average, the best and the second best algorithms for the SDVRP. The average percentage gaps of the solutions produced by FTS, SplitILS, BPCH, ICA + VND, RGTS and TSVBA with respect to the BKS are equal to 0.17%, 0.01%, 1.65%, 5.72%, 2.80% and 3.40%, respectively, thus showing the high quality of the solutions produced by FTS. The detailed results reported in the e-companion also show that improved solutions can be computed by FTS with respect to SplitILS for some large SDVRP instances, such as instance SD21 involving 288 customers, the largest instance of Set 2 instances. In addition, Han and Chu (
2016) only solved instances in Set 2 and 11 out of 14 instances in Set 1, and we report the corresponding results in the last row of Tab.2. We can observe that SRC + VND obtained worse solutions than FTS for the instances in Set 1 while generating slightly better results for the instances in Set 2.
We implement SplitILS fully following the description in Silva et al. (2015) (this version is called SplitILS2), but unfortunately, we cannot obtain the same results as those reported by Silva et al. (
2015). SplitILS uses 14 operators, 3 of which are relocated, exchanged, and split. Next, we replaced these 3 operators with our proposed operators and kept the remaining 11 operators unchanged, obtaining a new version of SplitILS called F-SplitILS. The experimental results show that F-SplitILS performs better than SplitILS2, which demonstrates the effectiveness of the proposed search operators. Although SplitILS is slightly better than FTS, it uses 14 operators, while the latter uses only 3 operators. Moreover, FTS consumes significantly less computation time than SplitILS.
Finally, we studied the impacts of our proposed operators by removing one or two operators and executing the resulting algorithms on benchmark instances. Tab.3 presents the average percentage gaps of the solution values produced by the corresponding reduced algorithms with respect to the best known values. A negative gap indicates that the reduced version produces better solutions than the full version, whereas positive gaps are related to worse solutions. From the results shown in this table, we can conclude that these operators have positive effects on average solution quality.
5.3 Results on the MDSDVRP
We test the FTS algorithm on the following two sets of benchmark instances.
(1)
Set 1. This set is generated by Gulczynski (
2010) and contains 12 instances and has a special geographical structure.
(2)
Set 2. This set contains 30 instances, as proposed by Gulczynski et al. (
2011). All instances are generated from 10 multidepot VRP instances by Christofides and Eilon (
1969) and Gillett and Johnson (
1976). Demand quantity for each customer is randomly generated from three intervals:
,
and
.
For both sets of instances, the number of depots ranges from 2 to 5.
We compare the results generated by the FTS algorithm with those obtained using the following algorithms proposed in the literature:
(1) VES: Visually estimated solutions algorithm proposed by Gulczynski et al. (
2011);
(2) IDH: Interdepot heuristic algorithm proposed by Gulczynski et al. (
2011);
(3) HP: Heuristic procedure algorithm proposed by Ray et al. (
2014).
Table S5 of the e-companion reports the additional details regarding the algorithms listed above.
Tab.4 summarizes the results obtained whereas detailed computational results are presented in Tables S6 and S7 of the e-companion. For each algorithm, Tab.4 reports the average of the best solution costs computed over 10 runs and the corresponding average running time in seconds.
If a value is marked with “–”, the set has not been executed by the corresponding algorithm. Tab.4 clearly shows that on average FTS outperforms all other algorithms. The detailed results reported in the e-companion show that FTS produces the best solutions for almost all instances.
5.4 Results on the SDVRPTW
The SDVRPTW instances are generated by different authors based on the instances proposed for the VRPTW (
Solomon, 1987). We test the following two sets of SDVRPTW instances.
(1)
Set 1. This set of instances is proposed by Solomon (
1987) and contains 56 VRPTW instances.
(2)
Set 2. This set of instances is proposed by Ho and Haugland (
2004) and is derived from VRPTW instances in which the original customer demands are modified as follows: Customer demand
is computed as
, where
is the original VRPTW customer demand,
and
are the maximum and minimum customer demands, respectively, and
l and
u (
) are parameters in the interval
. Ho and Haugland (
2004) used the following four combinations of (
l,
u) values: (0.01, 0.05), (0.02, 1.00), (0.50, 1.00), and (0.70, 1.00).
The FTS algorithm is compared with the delivery-pattern-based tabu search algorithm proposed by Ho and Haugland (2004), called the TSH algorithm, which is coded in C++ and executed on a Sun Ultra 10 (UltraSPARC-IIi 440 MHz) workstation. Because the best VRPTW solutions provide valid heuristic solutions for the SDVRPTW, we also compare the solutions computed by FTS with the best VRPTW solutions found in the literature (
Baldacci et al., 2012). We denote by VRPTW-EA the set of the best solutions found for the VRPTW.
Tab.5 summarizes the results obtained for the SDVRPTW. We present the detailed computational results in Tables S8 and S9 of the e-companion. For each algorithm, Tab.5 reports the average of the best solution costs computed over 10 runs and the corresponding average running time in seconds. If a value is marked with “–”, the set has not been executed by the corresponding algorithm.
The table shows that the FTS outperforms the average TSH algorithm. Furthermore, the detailed tables reported in the e-companion show that the FTS algorithm is capable of computing improved solutions with respect to existing VRPTW solutions (column VRPTW-EA), which is not the case for TSH.
6 Conclusions
In this study, we design new heuristic algorithms for SDVRPs, including the classic SDVRP, the MDSDVRP and the SDVRPTW. These problems have found several practical applications and are among the most difficult VRPs.
The main difficulty of the SDVRPs lies in determining the delivery quantity for each customer. To overcome this difficulty, we propose a novel method for representing feasible SDVRPs solutions. This method uses a forest-based structure that can quickly check the feasibility of a solution. Additionally, in this study, we devise three new forest-based neighborhood operators and implement a standard tabu search heuristic that uses them.
We test our new algorithm on several classes of SDVRP, MDSDVRP, and SDVRPTW instances and compare the results with those generated by existing algorithms. The algorithm proposed in this study is highly competitive with SDVRP instances and is capable.