A BRANCH-AND-CUT ALGORITHM FOR THE CAPACITATED LOCATION-ROUTING PROBLEM CLAUDIO CONTARDO 1,3 JEAN-FRANC ¸ OIS CORDEAU 2,3 BERNARD GENDRON 1,3 1 D´ epartement d’informatique et de recherche op´ erationnelle Universit´ e de Montr´ eal C.P. 6128, succ. Centre-ville Montr´ eal (Qu´ ebec) Canada H3C 3J7 2 Canada Research Chair in Logistics and Transportation HEC Montr´ eal 3000 chemin de la Cˆote-Sainte-Catherine Montr´ eal (Qu´ ebec) Canada H3T 2A7 3 Centre interuniversitaire de recherche sur les r´ eseaux d’entreprise, la logistique et le transport (CIRRELT) C.P. 6128, succ. Centre-ville Montr´ eal (Qu´ ebec) Canada H3C 3J7 Abstract. This paper describes a branch-and-cut algorithm for the Capacitated Location- Routing Problem (CLRP). In the CLRP customers with known demands must be served from capacitated facilities by an unlimited fleet of homogeneous, capacitated vehicles. The problem is to select a subset of potential facilities and to design vehicle routes around these facilities so that every customer is visited exactly once and capacities are respected. The problem is formulated as a two-index vehicle-flow problem with homogeneous vehicles. We present strengthenings of some known valid inequalities and introduce new families that improve the formulation. Results of computational experiments show that our formulation with the additional cuts provides tight lower bounds that are competitive with the ones reported in the literature for other vehicle-flow formulations. Moreover, our algorithm solves an open instance containing 88 customers and 8 facilities. 1. Introduction In the Capacitated Location-Routing Problem (CLRP) we are given a set I of potential facility locations and a set J of customers. The problem consists in selecting a subset of facilities and in designing vehicle routes around these facilities so that every customer is visited exactly once. Each facility i ∈ I has a capacity b i and a fixed cost f i . The fleet is unlimited and each vehicle has a capacity Q. Each customer j ∈ J has a demand d j . We define a graph G =(V,E) where V = I ∪ J is the vertex set and E is the edge set. With every edge {i, j }∈ E is associated a cost c ij for using edge {i, j }.. Each route must start E-mail addresses: {claudio.contardo, jean-francois.cordeau, bernard.gendron}@cirrelt.ca. Date : October 15, 2010. Keywords: location-routing, branch-and-cut. 1