During the eigthies and early nineties, the best exact algorithms for the Capacitated Vehicle Routing Problem (CVRP) utilized lower bounds obtained by Lagrangean relaxation or column generation. Next, the advances in the polyhedral...
moreDuring the eigthies and early nineties, the best exact algorithms for the Capacitated Vehicle Routing Problem (CVRP) utilized lower bounds obtained by Lagrangean relaxation or column generation. Next, the advances in the polyhedral description of the CVRP yielded branch-andcut algorithms giving better results. However, several instances in the range of 50-80 vertices, some proposed more than 30 years ago, can not be solved with current known techniques. This paper presents an algorithm utilizing a lower bound obtained by minimizing over the intersection of the polytopes associated to a traditional Lagrangean relaxation over q-routes and the one defined by bounds, degree and the capacity constraints. This is equivalent to a linear program with an exponential number of both variables and constraints. Computational experiments show the new lower bound to be superior to the previous ones, specially when the number of vehicles is large. The resulting branch-and-cut-and-price could solve to optimality almost all instances from the literature up to 100 vertices, nearly doubling the size of the instances that can be consistently solved. Further progress in this algorithm may be soon obtained by also using other known families of inequalities. A landmark exact algorithm for the CVRP was presented in 1981 by Christofides, Mingozzi and Toth [16] using a Lagrangean bound obtained by solving minimum q-route problems. A q-route starts at the depot and traverses a sequence of clients limiting the demand accumulated to at most C and returns to the depot. It is not necessarily a simple path, for some clients may be visited more than once. Therefore, the set of valid CVRP routes is contained in the set of q-routes. The resulting branch-and-bound could solve instances up to 25 vertices, a quite respectful size at that time. Several other branch-and-bound algorithms using Lagrangean bounds appear in the literature. This same article [16] also describes a lower bound based on k-degree center trees, minimum spanning trees having degree K ≤ k ≤ 2K on the depot, plus 2K − k least cost edges. Other authors propose Lagrangean bounds based on K-trees, which are sets of n + K edges spanning G, like Fisher [21] and Martinhon, Lucena and Maculan [29]. There is also an algorithm based on minimum b-matchings having degree 2K at the depot and 2 on the remaining vertices by Miller [30]. The Lagrangean bounds can be improved by dualizing capacity inequalities [21, 30] and also combs and multistar inequalities [29]. Another kind of exact algorithms have its stem on the formulation of the CVRP as a set partition problem by Balinsky and Quandt [9]. In that formulation, a column covers a set of vertices S with total demand not exceeding C and have the cost of a minimum route over {0} ∪ S. Bramel and Simchi-Levi [13] proved that for certain natural classes of instances, the ratio between the lower bounds given by that formulation and the optimal solution values asymptotically approaches 1 as the number of clients grows. However, that formulation in itself is not practical because pricing over the exponential number of columns require the solution of capacitated prize-collecting TSPs, a problem almost as difficult as the CVRP itself. Agarwal, Marthur and Salkin [3] proposed a column generation algorithm on a modified set partition where column costs are given by a linear function over the vertices yielding a lower bound on the actual route cost. Columns with the modified cost can be priced by solving easy knapsack problems. Hadjconstantinou et al. [23] derive lower bounds from heuristic solutions to the dual of the set partitioning formulation. Those dual solutions are obtained by the so-called additive approach, combining the q-path with the K-shortest path relaxations. For further information and some comparative results on the above mentioned algorithms, we refer the reader to the survey by Toth and Vigo [37]. Starting in the 90's, most of the research effort on the CVRP is now concentrated on the polyhedral description of convex hull of the edge incidence vectors that correspond to K feasible routes and on the development of effective separation algorithms for the families of valid inequalities identified (for instance, [4, 14, 18, 6, 7, 2, 31, 27]). In particular, Araque et al. [5], Augerat et al. [8], Blasum and Hochstattler [12], Ralphs et al. [36], Achutan, Caccetta and Hill [1] and Lysgard, Letchford and Eglese [28] describe complete branch-and-cut algorithms, some including sophisticated inequalities such as framed capacity, strengthened combs, multistar, among others. (The taxonomy and nomenclature of valid inequalities for the CVRP is not uniform in the literature, we are following [28] in this article.) Although those are the best exact algorithms currently available for the CVRP, the lower bounds obtained at the root nodes, even after adding all those cuts, are not very tight for many instances with as little as 40 vertices. The quality of those bounds is specially problematic for larger values of K, say K ≥ 7. Many nodes in a branch-and-cut tree may have to be explored in order to close the resulting duality gaps. Even resorting to massive computational power (up to 80 processors running in parallel in a recent work by Ralphs [36, 35]) several instances with less than 80 vertices, including some proposed more than 30 years ago by Christofides and Eilon [15], can not be solved at all. In fact, it seems that branch-and-cut algorithms for the CVRP are experimenting a "diminishing returns" phenomenon, where substantial theoretical and implementation efforts leads to practical results that are only marginally better than those of previous works. This work presents a new exact algorithm for the CVRP that seems to break through this situation. The main idea is to combine the branch-and-cut approach with the old q-routes approach (which we interpret as a column generation instead of the original Lagrangean relaxation)