Skip to main content

A Column Generation-Based Heuristic for the Split Delivery Vehicle Routing Problem with Time Windows


The vehicle routing problem with time windows (VRPTW) is one of the most studied variants of routing problems. We consider the split delivery VRPTW (SDVRPTW), an extension in which customers can be visited multiple times, if advantageous. While this additional flexibility can result in significant cost reductions, it also results in additional modeling and computational challenges. Indeed, the branch-and-price algorithms used to successfully solve VRPTW instances require substantial modifications before they can be used to solve SDVRPTW instances, and then often exhibit inferior performance when compared with branch-and-cut algorithms for solving SDVRPTW instances (whereas branch-and-price algorithms tend to perform better than branch-and-cut algorithms for the VRPTW). We propose a new route-based formulation for the SDVRPTW that differs fundamentally from others presented in the literature. It is the first formulation in which the number of decision variables related to delivery quantities as well as the number of constraints is polynomial in the number of customers. We use this formulation as the basis for a column generation-based heuristic that produces high-quality solutions for a wide range of benchmark instances with 50 and 100 customers and vehicle capacity equal to 50 and 100. It finds many new best known solutions, and, for the first time, we report upper bounds for all 100-customer instances.


Time-constrained routing and scheduling has been a popular, productive, important, and ever-expanding area of research. For an early, but still relevant, introduction and overview, see Desrosiers et al. [18]. Within this class of problems, the vehicle routing problem with time windows (VRPTW) is the most widely studied variant and generalizes the (capacitated) vehicle routing problem by restricting the time during which customers can be served. For introductions and overviews, see Cordeau et al. [14], Braysy and Gendreau [9, 10] and Baldacci et al. [7]. Desrochers et al. [17] were the first to propose an effective exact method for the VRPTW. The method uses the column generation (CG) technique, having a set partitioning formulation as the master problem, and a resource constrained shortest path problem (RCSPP) as the subproblem. The method is so powerful that after almost 30 years it remains the basis of current state-of-the-art exact approaches for the VRPTW and related variants, e.g., Ropke and Cordeau [34], Desaulniers [15], Desrosiers and Lübbecke [19], Ropke [33], Munari and Gondzio [27, 28], and Pecin et al. [32].

The split delivery VRPTW (SDVRPTW) is a variant that, somewhat surprisingly, has received far less attention. It further generalizes the VRPTW by allowing vehicles to deliver a fraction of the total demand of a customer [2, 4, 25]. Hence, customers may be visited multiple times if beneficial, by different vehicles, a feature commonly observed in practice in city and humanitarian logistics [1, 13]. This can result in cost reductions, but introduces additional challenges to modeling and solving the problem [3, 5, 8, 15, 21, 24, 29, 31]. The main challenge is that the traditional mechanisms used to model the vehicle capacity constraints fail to guarantee a feasible solution when multiple visits are allowed. Indeed, when using the traditional modeling techniques, when two or more vehicles visit the same customer, load may be transferred from one vehicle to the other (which is not allowed in the SDVRPTW). There have been various efforts to overcome this difficulty, which are summarized below.

Bianchessi and Irnich [8] propose a branch-and-cut (BC) method for the SDVRPTW based on a two-index commodity flow formulation. It is a relaxed formulation, as there may be load transfers among vehicles at customers with multiple visits. Hence, to cut-off solutions with this behavior, the authors resort to the so-called no-good cuts in their BC method, similarly as proposed by Archetti et al. [6] for the variant without time windows. Every time a candidate solution is found, its feasibility is checked by solving an auxiliary route-based formulation defined on a residual network. Additionally, the authors propose new classes of valid inequalities and resort to well-known ones to strengthen the linear relaxation of the problem and speed up their BC method. The results of computational experiments with benchmark instances show that their method is competitive with state-of-the-art methods, including branch-price-and-cut approaches. The authors report proven optimal solutions for 23 instances for the first time.

Munari and Savelsbergh [29] introduce three novel compact formulations that, for the first time, fully model the SDVRPTW without using variables indexed by vehicles or number of visits. These formulations promote a significantly superior performance of general-purpose integer programming solvers with respect to other compact formulations. Additionally, the authors propose a BC method that starts with a relaxed formulation similar to the one proposed by Bianchessi and Irnich [8] and then extends this formulation by gradually adding variables and constraints (originally defined in one of the introduced compact formulations) to guarantee that vehicles do not transfer loads at common customers. Their BC method also relies on well-known valid inequalities to strengthen linear relaxations. Computational experiments using benchmark instances indicate the superior performance of their simple, yet effective BC method with respect to other exact approaches for several split delivery variants, with and without time windows. The authors reported proven optimal solutions for 89 instances for the first time, in addition to present improved lower and upper bounds for many other instances.

Previous to these approaches, a few authors have focused on branch-and-price (BP) methods for the SDVRPTW. Gendreau et al. [21] extend the set partitioning formulation commonly used for traditional VRP variants to further include decision variables related to the delivery quantities of each route to each customer. In addition to the possibly huge number of new variables, the resulting model has additional constraints for each feasible route in the problem, and hence the number of constraints is also exponential in terms of the number of customers. The advantage of their approach is that the CG subproblem remains a resource constrained elementary shortest path problem (RCESPP) as in the VRPTW, solved by the labeling algorithm.

Desaulniers [15] proposes an improved BP method that relies on a different formulation and a more sophisticated pricing problem. Instead of having separate variables for routes and delivery quantities, his formulation is based on extreme delivery patterns that combine routes and their corresponding delivery quantities. Hence, the CG subproblem has to determine not only a feasible route but also the delivery quantities to each customer in this route. These quantities can assume only extreme values at the subproblem level and hence the actual delivery quantities are implicitly defined at the master problem level by means of convex combinations. Although the subproblem becomes more challenging, the advantage is that the number of constraints in the master problem is polynomial. Later on, the method was further enhanced by Archetti et al. [5], who introduced valid inequalities to strengthen the formulation and embedded a Tabu Search heuristic to speed up the resolution of the subproblem.

The contributions of our research are threefold. First, we introduce a novel route-based formulation for the SDVRPTW with commodity flow variables and a number of constraints that is polynomial in the number of customers. The proposed formulation can be used to model other split delivery variants, but such extensions are left for future research. Second, we propose a CG-based heuristic which starts by solving modified VRPTW instances and then uses the routes obtained to populate the proposed formulation, which is then solved by an effective BC method. Because we work with a limited set of columns in the formulation, there is no guarantee that an optimal solution is found. However, the approach quickly provides high-quality solutions. In fact, we are the first to report upper bounds for all 100-customer instances. Finally, we give new best known solutions for a number of benchmark instances with 50 and 100 customers. As is usual in most studies of the SDVRPTW, we assume that the size of the demands and the capacity of the vehicles are integer values and that the triangle inequality holds for costs and travel times.

The remainder of the paper is organized as follows. In Section 2, we define the notation and introduce the new route-based formulation with commodity flow variables. In Section 3, we describe the proposed CG-based heuristic, while in Section 4, we present the results of computational experiments with this method, carried out with benchmark instances from the literature. Finally, we draw our conclusions and discuss ideas for future work in Section 5.

A New Route-Based Formulation for the SDVRPTW

Consider a set of customers \(\mathcal {C} = \{1, \ldots , n\}\) with demand \(d_{i} \in \mathbb {Z}_{+}\) for each \(i \in \mathcal {C}\), a single depot, represented by 0 and n + 1, and a set of homogeneous vehicles \({\mathscr{M}} = \{1,\ldots ,m\}\) with capacity \(Q \in \mathbb {Z}_{+}\). Each vehicle starts its route at 0 and returns to n + 1 after visiting the last customer in the route. We represent the problem on a graph \(G = (\mathcal {N},\mathcal {A})\) where \(\mathcal {N} = \mathcal {C} \cup \{0, n+1\}\) is the set of nodes, and \(\mathcal {A} = \{ (i,j): i,j \in \mathcal {C}, i \neq j\} \cup \{(0,i): i \in \mathcal {C}\} \cup \{(i,n+1): i \in \mathcal {C}\}\) is the set of arcs. A cost cij is associated with each arc \((i,j) \in \mathcal {A}\); we assume the costs cij satisfy the triangle inequality. Given a node \(i \in \mathcal {N}\), let \(\delta ^{-}_{i} = \{ (j,i) \in \mathcal {A} \}\) denote the set of its incoming arcs, and \(\delta ^{+}_{i} = \{ (i,j) \in \mathcal {A} \}\) denote the set of its outgoing arcs.

When a vehicle \(k \in {\mathscr{M}}\) visits a customer \(i \in \mathcal {C}\) it can deliver any integer quantity less than or equal to \(\min \limits \{d_{i},Q\}\) and hence customers may be visited by more than one vehicle. Additionally, any service at customer \(i \in \mathcal {C}\) incurs a service time si and has to start within a time window [ei,i]. A vehicle can arrive at \(i \in \mathcal {C}\) before ei, but it has to wait until ei to start the service at the customer. Vehicles depart from the depot no earlier than e0 and have to return to the depot no later than n+ 1. A travel time tij is associated with each arc \((i,j) \in \mathcal {A}\); we assume that the travel times tij satisfy the triangle inequality.

The SDVRPTW seeks to find a least-cost set of routes serving all customer demands. Since we assume integer demands and vehicle capacity, and that the triangle inequality holds for costs and travel times, there exists an optimal solution with the following properties: (1) routes are elementary, i.e., a route never visits a node more than once, (2) two routes have at most one node in common, (3) arcs between two customer nodes are traversed at most once, (4) if arc (i,j) is traversed, then arc (j,i) is not, and (5) delivery quantities are positive integers [6, 15, 20]. These properties are commonly used to reduce the solution space and, hence, speed up solution approaches.

Let \(\mathcal {R}\) be a set of feasible routes that start at 0, visit a subset of customers exactly once and finish at n + 1, while satisfying vehicle capacity and customer time windows. We further define the following subsets of \(\mathcal {R}\): \(\mathcal {R}_{i}\) contains the routes that visit customer \(i \in \mathcal {C}\), \(\mathcal {R}_{ij}\) contains the routes that traverse arc \((i,j) \in \mathcal {A}\); and \(\mathcal {R}^{*}\) contains the single-customer routes, i.e., {((0,i),(i,n + 1))|iC}. Additionally, let cr denote the total travel cost of route \(r \in \mathcal {R}\), computed using the arc costs cij of the arcs traversed in the route. Consider the following decision variables:

$$ \begin{array}{@{}rcl@{}} \lambda_{r} &=& \text{the number of times a route}~r \in \mathcal{R}~\text{is used}; \\ f_{ij} &=& \text{load on the vehicle that traverses arc}~(i,j) \in \mathcal{A}~\text{right after servicing node}~i; \\ z_{i} &=& \text{number of visits to node}~i. \end{array} $$

While route-based variables λr are widely used in BP approaches for routing problems, the use of load flow variables fij is less common, as the vehicle load is typically handled at the subproblem level. These load flow variables have been successfully used in BC approaches for the SDVRPTW and related variants [6, 8, 29, 31]. In addition to strengthening the linear relaxation, they also enable an effective way of checking the feasibility of solutions to relaxed commodity flow formulations, i.e., whether load is transferred from one vehicle to another at a customer with multiple visits. Finally, although redundant, the variables zi help to strengthen the formulation, as shown in Archetti et al. [6].

Using the sets, parameters, and decision variables defined above, we introduce the following route-based commodity flow formulation of the SDVRPTW:

$$ \begin{array}{@{}rcl@{}} \min & \sum\limits_{r \in \mathcal{R}} {c}_{r} \lambda_{r} & \end{array} $$
$$ \begin{array}{@{}rcl@{}} \text{s.t.} & \sum\limits_{r \in \mathcal{R}_{i} } \lambda_{r} = z_{i},& \ i \in \mathcal{C}\cup\{0\}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & \sum\limits_{{(i,j) \in \delta^{+}_{i}}} f_{ij} = \sum\limits_{{ (j,i) \in \delta^{-}_{i} }} f_{j i} + d_{i}, & \ i \in \mathcal{C}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & f_{i j} \leq Q \sum\limits_{r \in \mathcal{R}_{ij} } \lambda_{r}, & (i,j) \in \mathcal{A}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & f_{i j} \geq f_{h i} - Q \left( 1 - \sum\limits_{r \in \mathcal{R}_{hi} \cap \mathcal{R}_{ij} } \lambda_{r}\right), & \ (h,i), (i,j) \in \mathcal{A} : i \in \mathcal{C}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & \sum\limits_{i \in \mathcal{C}} z_{i} \leq n + m - 1, & \end{array} $$
$$ \begin{array}{@{}rcl@{}} & \overline{m} \leq z_{0} \leq m, & \end{array} $$
$$ \begin{array}{@{}rcl@{}} & 1 \leq z_{i} \leq m, & \ i \in \mathcal{C}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & f_{0 i} = 0, & \ i \in \mathcal{N}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & f_{i j} \geq 0, & (i,j) \in \mathcal{A}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & z_{i} \in \mathbb{Z}_{+}, & \ i \in \mathcal{N}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & \lambda_{r} \in \mathbb{Z}_{+}, & \ r \in \mathcal{R}^{*}, \end{array} $$
$$ \begin{array}{@{}rcl@{}} & \lambda_{r} \in \{0, 1\}, & r \in \mathcal{R}\setminus\mathcal{R}^{*}. \end{array} $$

The objective function (2.1) seeks to minimize the total travel costs of the selected routes. Constraints (2.2) relate variables λr and zi, while Constraints (2.3) enforce vehicle load flow balance at each customer. Note that we take a pickup perspective when modeling vehicle load and hence vehicles depart empty from the depot, which is enforced by Constraints (2.9). The formulation still models a delivery setting, since the vehicle load flow can be interpreted as the residual capacity in the vehicle. Constraints (2.4) impose vehicle capacity and avoid a positive vehicle load on arc (i,j) if there is no vehicle traversing that arc.

Constraints (2.5) model the regularity property [29, 31] which avoids load transfers between vehicles visiting the same customer. In the adopted pickup perspective, a solution is said to satisfy the regularity property if, for each route, the flow on arc (h,i) traversed by the route is less than or equal to the flow in the subsequent arc (i,j) traversed by the route. Hence, we only need to ensure that fhifij every time these three nodes are visited consecutively in the same route. Note that due to properties (2) and (3) presented at the beginning of this section, we can assume that no two routes traverse the same sequence of arcs. Constraints (2.6)–(2.8) enforce lower and upper bounds on the number of customer visits, where \(\overline {m} = \lceil {\sum }_{i \in \mathcal {C}} d_{i} / Q \rceil \) is the minimum number of vehicles needed to meet customer demands. Constraints (2.10)–(2.12) state the domains of the decision variables.

This formulation differs fundamentally from other route-based formulations in the literature. Indeed, the formulation by [21] has decision variables that explicitly represent the amount delivered on each route to each customer. As the number of routes can be huge, there can also be a huge number of these variables in the formulation. Furthermore, each such variable also requires a constraint. Notice that in our formulation, the number of load flow variables and the number of constraints is polynomial in the number of customers. The primary difference with the formulation of [15] is that our pricing problem is the same RCESPP as in the pricing problem for the VRPTW, as we do not define delivery patterns at the pricing problem level.

A Column Generation-Based Heuristic

Although BP approaches are currently the basis of the most efficient solution approaches for the VRPTW (as well as for several other vehicle routing variants), this is not the case for the SDVRPTW. One reason is the additional challenges encountered in formulating the problem, i.e., accommodating multiple visits to customers and accounting for delivery quantities. Another reason, perhaps the more important one, is that the pricing problem becomes harder to solve. Indeed, when visiting a customer, a vehicle can deliver any quantity less than or equal to the customer’s demand and this may result in routes with many customers. Long routes with many visits adversely affect the performance of a labeling algorithm, as the number of feasible routes may increase dramatically, resulting in too many non-dominated states [16]. Therefore, the state-of-the-art for solving the SDVRPTW are BC approaches.

Route-based formulations may still offer benefits for the SDVRPTW, however, as we will demonstrate in the remainder of the paper. The benefits arise from the following observations. First, route-based formulations tend to have stronger linear relaxations than arc-based formulations and hence result in smaller search trees [26, 30]. Second, using route-based formulations often leads to earlier discovery of high-quality solutions. Finally, the performance of a labeling algorithm can be managed when developing a heuristic by controlling the maximum length (or visits) of the routes. In what follows, we exploit these observations to develop a CG-based heuristic for the SDVRPTW.

The heuristic consists of two phases. In the first phase, we use a BP algorithm to solve a sequence of VRPTW instances imposing a relatively short time limit. Each VRPTW instance has the same data as the SDVRPTW instance, except that the vehicle capacity is increased by a positive amount; the amount increases with each instance in the sequence. The purpose of this phase is to generate a set of feasible routes that will be used to initialize formulation (2.1)–(2.13). Then, in the second phase—the main phase, this formulation is solved by a BC method, and no more columns are generated. In this way, we exploit the strengths of BP and BC: a BP algorithm is used to solve VRPTW instances to generate feasible routes, while a BC algorithm is used to solve the SDVRPTW instance applied to a formulation initialized with these routes.

Figure 1 illustrates the approach. In our implementation, we limit the number of VRPTW instances solved in the first phase to three. Preliminary experiments have shown that this results in a good compromise between time and solution quality. In the first VRPTW instance, we use the original vehicle capacity Q1 = Q. In the subsequent VRPTW instances, we choose Q2 > Q1 and Q3 > Q2. Note that the columns generated for a given VRPTW instance are feasible for the subsequent VRPTW instance and hence we re-use the columns. Furthermore, any feasible solution to the first VRPTW instance is also a feasible solution to the SDVRPTW and provides an initial incumbent for the BC algorithm (often one that is already of good quality).

Fig. 1

Main steps of the proposed CG-based heuristic

Computational Study

We carried out computational experiments with the proposed CG-based heuristic using benchmark instances widely used in the literature. The goal is to assess whether the proposed two-phase heuristic, combining BP and BC algorithms, can produce high-quality solutions in a short amount of time (compared with what is possible with existing state-of-the-art algorithms).

Similar to what has been done in previous papers on the SDVRPTW, we use the benchmark instances of Solomon [35], available at, originally proposed for the VRPTW. We consider instances from the six available classes: C1 and C2 (clustered customers), R1 and R2 (randomly positioned customers), RC1 and RC2 (a mix of clustered and randomly positioned customers). Classes C2, RC1, and RC2 have 8 instances each, while classes C1, R1, and R2 have 9, 12, and 11 instances each, respectively. We replicate each instance by setting the number of customers to 50 and 100 and vehicle capacities to 50 and 100, resulting in 224 instances: 56 for each combination of n ∈{50,100} and Q ∈{50,100}. We assume Euclidean distances truncated after the first decimal place. Since it does not guarantee that the triangle inequality is satisfied, we modify the distances using the lengths of the shortest paths obtained by the Floyd-Warshall algorithm. Travel times and costs are set equal to the resulting distances.

The CG-based heuristic was coded in C++ and relies on the BP framework of Munari and Gondzio [27] designed for the VRPTW, and the BC algorithm of Munari and Savelsbergh [29] designed for the SDVRPTW. The BP algorithm used to solve VRPTW instance is based on the primal-dual column generation method and relies on interior point solutions to stabilize column and cut generation [22, 23]. The BP algorithm is called three times in the first phase of the heuristic, and in the second and third calls, we initialize the master problem with the columns obtained in previous call.

The BC algorithm uses the Concert Library of the IBM CPLEX Optimization Studio v.12.9 to manage the search tree and the callback functions that separate and add valid inequalities. The method relies on the CVRPSep package to generate capacity cuts, while the separation of regularity property cuts uses the MatchArcs procedure [6]. Differently from [29], we define these cuts using λr variables, and hence no additional arc-based variables are needed when adding these cuts. Another difference is that we do not separate feasibility/optimality and connectivity cuts, as they did not appear to offer significant benefits in preliminary experiments with the CG-based heuristic.

All experiments were run on a Linux PC with Intel Xeon Skylake 2.1 GHz processor (16 cores) and 128 GB of memory. We impose a time limit of 120 s for the solution of a VRPTW instance by the BP algorithm. Furthermore, we set Q1 = Q, Q2 = Q + 10, and Q3 = Q + 20. We impose a time limit of 3600 s for the solution of the SDVRPTW instance by the BC algorithm and, hence, the total time of the CG-based heuristic can reach up to 3960 s. This gives the CG-based heuristic a small advantage (360 s to produce an initial feasible solution), but it still provides a meaningful comparison in terms of the performance of the BC component.

Table 1 summarizes the results of the experiments for instances with 50 customers, for vehicle capacities Q = 50 and Q = 100. We compare the performance of the CG-based heuristic with the state-of-the-art BC algorithms of Bianchessi and Irnich [8] and Munari and Savelsbergh [29] using their published results obtained with a time limit of 3600 s. For each method, we report the best lower and upper bounds obtained (columns LB and UB), the gap (column Gap), i.e., the relative difference between the lower and upper bounds as a percentage, and the total running time in seconds (column Ttotal). For the CG-based heuristic, we can only present an upper bound, but also report the time at which this upper bound was found (column Tbest), the relative deviations between the upper bound obtained by the CG-based heuristic and the upper bounds obtained by the other algorithms (columns ΔUBBI and ΔUBMS), and the number of times that the heuristic found a better upper bound than the other algorithms (columns #BI and #MS). For each value of Q and each instance class, we present the average (arithmetic mean) values over all instances in the class. Detailed results for each instance are presented in Tables 3 and 4 in the Appendix.

Table 1 Summary of the results obtained by state-of-the-art BC methods and the proposed CG-based heuristic on the SDVRPTW benchmark instances with n = 50

The results in Table 1 show that the CG-based heuristic performs well and quickly provides good-quality solutions. On average, the upper bounds are never more than 0.43% higher than the upper bounds provided by the BC algorithms of Bianchessi and Irnich [8] and Munari and Savelsbergh [29]. We observe too that the CG-based heuristic has good performance on the instances with random customer locations (classes R1 and R2) for both values of the vehicle capacity, while the BC algorithms show the largest gaps for these instances because their valid inequalities are less effective for instances with random customer locations. The CG-based heuristic produced a solution with a value better than the value of at least one of the solutions produced by the BC algorithms for 34 instances, and obtained new best known solutions for 17 instances.

Next, we consider the instances with 100 customers. As no results for these instances have been published, we solved them using the BC algorithm of Munari and Savelsbergh [29], using the same settings that were used to solve the instances with 50 customers and imposing a time limit of 3600 s. A summary of the results can be found in Table 2. When an approach reaches the time limit of 3600 s for all instances in a class, we put “tl” in column Ttotal. Detailed results can be found in Tables 5 and 6 in the Appendix. We see that the relative performance of the CG-based heuristic is even better. In addition to the statistics reported previously, we report the gap between the upper bound found by the CG-based heuristic and the lower bound obtained by the BC algorithm (GapMS). Furthermore, we also present Tbest for the BC algorithm of [29], as it reached the time limit for almost all instances.

Table 2 Summary of the results obtained by a state-of-the-art BC algorithm and the proposed CG-based heuristic on the SDVRPTW benchmark instances with n = 100

We see that the CG-based heuristic found better upper bounds than the BC algorithm for at least some instances in every instance class, and significantly better upper bounds for many instances. The smallest average improvement is seen for class C1 (1.20%) and the largest average improvement is seen for class RC2 (12.08%), both for Q = 50. As a consequence, the gaps for these upper bounds are considerably smaller than the gaps for the upper bounds produced by the BC algorithm. Furthermore, the CG-based heuristic found new best known solutions for 103 instances with 100 customers, demonstrating that route-based approaches can indeed be effective for split delivery vehicle routing variants, especially when used in combination with BC algorithms.

The plots in Figs. 2 and 3 show the relative gaps of the cost of the solutions produced by the various algorithms with respect to the cost of the solution produced by the CG-based heuristic. More specifically, for each algorithm, we plot \((\overline {UB} - UB_{H})/UB_{H}\), where \(\overline {UB}\) is the cost of the solution produced by the algorithm and UBH is the cost of the solution produced by the CG-based heuristic. For comparison, we also present the gaps of the solution to the first VRPTW instance that is solved as part of the CG-based heuristic (as it also provides a feasible solution for the SDVRPTW). Figure 2 presents plots for the instances with 50 customers and Fig. 3 presents plots for the instances with 100 customers.

Fig. 2

Relative gap of the cost of the solution to the first VRPTW instance solved in phase 1 (VRPTW) and the cost of the solutions produced by two state-of-the-art BC methods to the cost of the solution produced by the CG-based heuristic for instances with 50 customers

Fig. 3

Relative gap of the cost of the solution to the first VRPTW instance solved in phase 1 (VRPTW) and the cost of the solution produced by a state-of-the-art BC method to the cost of the solution produced by the CG-based heuristic for instances with 100 customers

Interestingly, we observe that the solution to the VRPTW already provides quite a good solution to the SDVRPTW as well, although better solutions are found by the CG-based heuristic. The latter indicates that the columns generated with vehicle capacities Q2 and Q3 are useful and that some of these are selected by the CG-based heuristic. This is more evident for instances with a larger number of customers (n = 100) and a larger vehicle capacity (Q = 100). Finally, we observe that the cost of the solution produced by the other algorithms can be more than 5% higher than the cost of the solution produced by the CG-based heuristic, while the cost of the solution produced by the other algorithms is never more than 2% lower than the cost of the solution produced by the CG-based heuristic.


We have introduced a new route-based formulation for the SDVRPTW and proposed a column generation-based heuristic that exploits it. The formulation is the first in which the number of decision variables related to delivery quantities as well as the number of constraints are polynomial in the number of customers. The heuristic is a two-phase approach that exploits the strength of branch-and-price algorithms for the VRPTW and the strength of branch-and-cut algorithms for the SDVRPTW. A computational study demonstrates that the heuristic produces high-quality solutions in a reasonable amount of time. New best solutions were found for many standard benchmark instances.

These encouraging results suggest that a natural future research topic is the design, implementation, and testing of a branch-price-and-cut method for solving the proposed route-based formulation. The idea of gradually relaxing the vehicle capacity, as incorporated in the heuristic, may be useful in this context as well, as it avoids having to battle the increasing difficulty of solving the pricing problem. Another interesting research direction is to verify the performance of the proposed approaches on other split delivery variants, particularly on split pickup split delivery vehicle routing problems [11, 12] as they represent challenging variants that can potentially benefit from these approaches.


  1. 1.

    Al Theeb N, Murray C (2017) Vehicle routing and resource distribution in postdisaster humanitarian relief operations. Int Trans Oper Res 24 (6):1253–1284

    Article  Google Scholar 

  2. 2.

    Archetti C, Speranza MG (2012) Vehicle routing problems with split deliveries. Int Trans Oper Res 19(1-2):3–22

    Article  Google Scholar 

  3. 3.

    Archetti C, Savelsbergh M, Speranza MG (2006) Worst-case analysis for split delivery vehicle routing problems. Transp Sci 40(2):226–234

    Article  Google Scholar 

  4. 4.

    Archetti C, Savelsbergh M, Speranza MG (2008) To split or not to split: that is the question. Transp Res Part E 44:114–123

    Article  Google Scholar 

  5. 5.

    Archetti C, Bouchard M, Desaulniers G (2011) Enhanced branch and price and cut for vehicle routing with split deliveries and time windows. Transp Sci 45(3):285–298

    Article  Google Scholar 

  6. 6.

    Archetti C, Bianchessi N, Speranza MG (2014) Branch-and-cut algorithms for the split delivery vehicle routing problem. Eur J Oper Res 238 (3):685–698

    Article  Google Scholar 

  7. 7.

    Baldacci R, Mingozzi A, Roberti R (2012) Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints. Eur J Oper Res 218(1):1–6

    Article  Google Scholar 

  8. 8.

    Bianchessi N, Irnich S (2019) Branch-and-cut for the split delivery vehicle routing problem with time windows. Transp Sci 53(2):442–462

    Article  Google Scholar 

  9. 9.

    Braysy O, Gendreau M (2005a) Vehicle routing problem with time windows, Part I: route construction and local search algorithms. Transp Sci 39 (1):104–118

    Article  Google Scholar 

  10. 10.

    Braysy O, Gendreau M (2005b) Vehicle routing problem with time windows, Part II: metaheuristics. Transp Sci 39(1):119–139

    Article  Google Scholar 

  11. 11.

    Casazza M, Ceselli A, Chemla D, Meunier F, Wolfler Calvo R (2018) The multiple vehicle balancing problem. Networks 72(3):337–357

    Article  Google Scholar 

  12. 12.

    Casazza M, Ceselli A, Wolfler Calvo R (2019) A route decomposition approach for the single commodity split pickup and split delivery vehicle routing problem. Eur J Oper Res.

  13. 13.

    Cattaruzza D, Absi N, Feillet D, González-Feliu J (2017) Vehicle routing problems for city logistics. EURO J Transp Logist 6(1):51–79

    Article  Google Scholar 

  14. 14.

    Cordeau J-F, Desaulniers G, Desrosiers J, Solomon MM, Soumis F (2002) VRP with time windows. In: Toth P, Vigo D (eds) The vehicle routing problem. SIAM Monogr. Discrete Math. Appl., vol 9. SIAM, Philadelphia, pp 157–193

  15. 15.

    Desaulniers G (2010) Branch-and-price-and-cut for the split-delivery vehicle routing problem with time windows. Oper Res 58(1):179–192

    Article  Google Scholar 

  16. 16.

    Desaulniers G, Lessard F, Hadjar A (2008) Tabu search, partial elementarity, and generalized k-path inequalities for the vehicle routing problem with time windows. Transp Sci 42(3):387–404

    Article  Google Scholar 

  17. 17.

    Desrochers M, Desrosiers J, Solomon M (1992) A new optimization algorithm for the vehicle routing problem with time windows. Oper Res 40(2):342–354

    Article  Google Scholar 

  18. 18.

    Desrosiers J, Dumas Y, Solomon MM, Soumis F (1995) Chapter 2: time constrained routing and scheduling. In: Network routing, volume 8 of handbooks in operations research and management science. Elsevier, pp 35–139

  19. 19.

    Desrosiers J, Lübbecke ME (2011) Branch-price-and-cut algorithms. In: Cochran JJ, Cox LA, Keskinocak P, Kharoufeh JP, Smith JC (eds) Wiley encyclopedia of operations research and management science. Wiley

  20. 20.

    Dror M, Trudeau P (1989) Savings by split delivery routing. Transp Sci 23(2):141–145

    Article  Google Scholar 

  21. 21.

    Gendreau M, Dejax P, Feillet D, Gueguen C (2006) Vehicle routing with time windows and split deliveries. Technical Report—Laboratoire Informatique d’Avignon

  22. 22.

    Gondzio J, Gonzalez-Brevis P, Munari P (2013) New developments in the primal-dual column generation technique. Eur J Oper Res 224(1):41–51

    Article  Google Scholar 

  23. 23.

    Gondzio J, González-Brevis P, Munari P (2016) Large-scale optimization with the primal-dual column generation method. Math Program Comput 8(1):47–82

    Article  Google Scholar 

  24. 24.

    Hernández-Pérez H, Salazar-González J-J (2019) Optimal solutions for the vehicle routing problem with split demands. In: International conference on computational logistics. Springer, pp 189–203

  25. 25.

    Irnich S, Schneider M, Vigo D (2014) Chapter 9: four variants of the vehicle routing problem. In: Vehicle routing: problems, methods, and applications, 2nd edn. SIAM, pp 241–271

  26. 26.

    Lübbecke ME, Desrosiers J (2005) Selected topics in column generation. Oper Res 53(6):1007–1023

    Article  Google Scholar 

  27. 27.

    Munari P, Gondzio J (2013) Using the primal-dual interior point algorithm within the branch-price-and-cut method. Comput Oper Res 40(8):2026–2036

    Article  Google Scholar 

  28. 28.

    Munari P, Gondzio J (2015) Column generation and branch-and-price with interior point methods. Proceeding Series of the Brazilian Society of Computational and Applied Mathematics 3(1)

  29. 29.

    Munari P, Savelsbergh M (2019) Compact formulations for split delivery routing problems. Technical report, MS01/2019 Operations Research Group, Production Engineering Department, Federal University of Sao Carlos

  30. 30.

    Munari P, Dollevoet T, Spliet R (2017) A generalized formulation for vehicle routing problems. arXiv:1606.01935

  31. 31.

    Ozbaygin G, Karasan O, Yaman H (2018) New exact solution approaches for the split delivery vehicle routing problem. EURO J Computat Optim 6 (1):85–115

    Article  Google Scholar 

  32. 32.

    Pecin D, Contardo C, Desaulniers G, Uchoa E (2017) New enhancements for the exact solution of the vehicle routing problem with time windows. INFORMS J Comput 29(3):489–502

    Article  Google Scholar 

  33. 33.

    Ropke S (2012) Branching decisions in branch-and-price-and-cut algorithms for vehicle routing problems. In: International workshop on column generation. Bromont, Canada

  34. 34.

    Ropke S, Cordeau J-F (2009) Branch and cut and price for the pickup and delivery problem with time windows. Transp Sci 43(3):267–286

    Article  Google Scholar 

  35. 35.

    Solomon MM (1987) Algorithms for the vehicle routing and scheduling problems with time window constraints. Oper Res 35(2):254–265

    Article  Google Scholar 

Download references


The authors are thankful to the anonymous reviewers for their insightful comments and suggestions.


This work was supported by the Sao Paulo Research Foundation (FAPESP) (grant numbers 18/23555-1, 16/01860-1, and 13/07375-0) and the National Council for Scientific and Technological Development (CNPq) (grant number 304601/2017-9).

Author information



Corresponding author

Correspondence to Pedro Munari.

Ethics declarations

Conflict of Interest

The authors declare that there is no conflict of interest.

Additional information

This article is part of the Topical Collection on Decomposition at 70



Detailed results of the computational experiments reported in Section 4. The instances and meaning of the column headers are the same as in the body of the paper. We use “tl” in column Ttotal to indicate that the time limit was reached by the corresponding solution approach. Additionally, we highlight in bold when the proposed CG-based heuristic achieved the best result.

Table 3 Results of the state-of-the-art BC methods and the CG-based heuristic on the SDVRPTW instances with n = 50 and Q = 50
Table 4 Results of the state-of-the-art BC methods and the CG-based heuristic on the SDVRPTW instances with n = 50 and Q = 100
Table 5 Results of the state-of-the-art BC methods and the CG-based heuristic on the SDVRPTW instances with n = 100 and Q = 50
Table 6 Results of the state-of-the-art BC methods and the CG-based heuristic on the SDVRPTW instances with n = 100 and Q = 100

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Munari, P., Savelsbergh, M. A Column Generation-Based Heuristic for the Split Delivery Vehicle Routing Problem with Time Windows. SN Oper. Res. Forum 1, 26 (2020).

Download citation


  • Vehicle routing
  • Time windows
  • Split delivery
  • Column generation
  • Branch-and-cut