AN EXACT ALGORITHM FOR A LOCATION-ROUTING PROBLEM. Martine Labbé 1, Inmaculada Rodríguez Martín 2, Juan José Salazar González 2

Similar documents
Hierarchical Survivable Network Design Problems

A simple exact separation algorithm for 2-matching inequalities

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA

Methods and Models for Combinatorial Optimization Exact methods for the Traveling Salesman Problem

An exact approach for the vehicle routing problem with two-dimensional loading constraints

1 date: September 15, 1998 file: mitche1

1 date: September 15, 1998 file: mitche2

Fundamentals of Integer Programming

Minimum Weight Constrained Forest Problems. Problem Definition

Integer and Combinatorial Optimization

Rearrangement of DNA fragments: a branch-and-cut algorithm Abstract. In this paper we consider a problem that arises in the process of reconstruction

Cover Inequalities. As mentioned above, the cover inequalities were first presented in the context of the 0-1 KP. The 0-1 KP takes the following form:

Two models of the capacitated vehicle routing problem

Branch-and-Cut and GRASP with Hybrid Local Search for the Multi-Level Capacitated Minimum Spanning Tree Problem

Investigation of the Ring Spur Assignment Problem. 1 Introduction and Telecommunications Background. 2 Telecommunications Topological design Problems

Plant location with minimum inventory

7KH9HKLFOH5RXWLQJSUREOHP

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

A Branch & Cut Algorithm for the Windy General Routing Problem

A Generic Separation Algorithm and Its Application to the Vehicle Routing Problem

Lower Bounds and Heuristics for the Windy Rural Postman Problem

The Rainbow Cycle Cover Problem

Construction of Minimum-Weight Spanners Mikkel Sigurd Martin Zachariasen

LEAST COST ROUTING ALGORITHM WITH THE STATE SPACE RELAXATION IN A CENTRALIZED NETWORK

Algorithms for Decision Support. Integer linear programming models

Integer Programming: Algorithms - 2

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MOURAD BAÏOU AND FRANCISCO BARAHONA

Integer and Combinatorial Optimization: Clustering Problems

A Comparison of Mixed-Integer Programming Models for Non-Convex Piecewise Linear Cost Minimization Problems

Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7, D Berlin

arxiv: v1 [math.oc] 31 Dec 2018

On Applying Cutting Planes in DLL-Based Algorithms for Pseudo-Boolean Optimization

Embedding Formulations, Complexity and Representability for Unions of Convex Sets

Extended Formulations and Branch-and-Cut Algorithms for the Black-and-White Traveling Salesman Problem

2 The Mixed Postman Problem with Restrictions on the Arcs

Reload Cost Trees and Network Design

2 The Service Provision Problem The formulation given here can also be found in Tomasgard et al. [6]. That paper also details the background of the mo

A Computational Study of Conflict Graphs and Aggressive Cut Separation in Integer Programming

5.3 Cutting plane methods and Gomory fractional cuts

c 2008 Society for Industrial and Applied Mathematics

Disjunctive cuts in branch-and-but-and-price algorithms Application to the capacitated vehicle routing problem

Recursive column generation for the Tactical Berth Allocation Problem

A Branch-and-Cut Algorithm for the Non-Preemptive Swapping Problem

Research Interests Optimization:

A Hybrid Relax-and-Cut/Branch and Cut Algorithm for the Degree-Constrained Minimum Spanning Tree Problem

Polyhedral results for the Cardinality Constrained Multi-cycle Problem (CCMcP) and the Cardinality Constrained Cycles and Chains Problem (CCCCP)

2. Modeling AEA 2018/2019. Based on Algorithm Engineering: Bridging the Gap Between Algorithm Theory and Practice - ch. 2

DETERMINISTIC OPERATIONS RESEARCH

Combinatorial Optimization - Lecture 14 - TSP EPFL

Decomposition and Dynamic Cut Generation in Integer Linear Programming

The Constrained Crossing Minimization Problem

Decomposition in Integer Linear Programming

The Subtour LP for the Traveling Salesman Problem

to the Traveling Salesman Problem 1 Susanne Timsj Applied Optimization and Modeling Group (TOM) Department of Mathematics and Physics

Algorithms for Integer Programming

Decomposition in Integer Linear Programming

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

NETWORK SURVIVABILITY AND POLYHEDRAL ANALYSIS

A Branch-and-Cut Algorithm for the Partition Coloring Problem

A heuristic approach for the Travelling Purchaser Problem

Branch and Cut. John E. Mitchell. May 12, 2010

Using Decomposition Techniques for Solving Large-Scale Capacitated Hub Location Problems with Single Assignment

Decomposition and Dynamic Cut Generation in Integer Linear Programming

Assignment 3b: The traveling salesman problem

Vehicle Routing for Food Rescue Programs: A comparison of different approaches

6 ROUTING PROBLEMS VEHICLE ROUTING PROBLEMS. Vehicle Routing Problem, VRP:

Outline. Modeling. Outline DMP204 SCHEDULING, TIMETABLING AND ROUTING. 1. Models Lecture 5 Mixed Integer Programming Models and Exercises

Arc-Flow Model for the Two-Dimensional Cutting Stock Problem

Reduction and Exact Algorithms for the Disjunctively Constrained Knapsack Problem

Branch-price-and-cut for vehicle routing. Guy Desaulniers

Solving the p-center Problem with Tabu Search and Variable Neighborhood Search

A Benders decomposition approach for the robust shortest path problem with interval data

Computational Complexity CSC Professor: Tom Altman. Capacitated Problem

An Integer Programming Approach to Packing Lightpaths on WDM Networks 파장분할다중화망의광경로패킹에대한정수계획해법. 1. Introduction

Solving the Prize-collecting Rural Postman Problem

How to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy

EXACT METHODS FOR THE ASYMMETRIC TRAVELING SALESMAN PROBLEM

TR/03/94 March 1994 ZERO-ONE IP PROBLEMS: POLYHEDRAL DESCRIPTIONS AND CUTTING PLANE PROCEDURES. Fatimah Abdul-Hamid Gautam Mitra Leslie-Ann Yarrow

Combinatorial Auctions: A Survey by de Vries and Vohra

arxiv: v1 [math.oc] 31 May 2016

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

The strong chromatic number of a graph

Experiments On General Disjunctions

M2 ORO: Advanced Integer Programming. Part IV. Solving MILP (1) easy IP. Outline. Sophie Demassey. October 10, 2011

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Last topic: Summary; Heuristics and Approximation Algorithms Topics we studied so far:

A LOWER BOUND FOR THE QAP BASED ON GRAPH THEORY AND LINEAR PROGRAMMING

Unit.9 Integer Programming

3 No-Wait Job Shops with Variable Processing Times

Outline. Optimales Recycling - Tourenplanung in der Altglasentsorgung

Polyhedral Combinatorics (ADM III)

A Relative Neighbourhood GRASP for the SONET Ring Assignment Problem

The University of Jordan Department of Mathematics. Branch and Cut

New Heuristic Algorithms for the Windy Rural Postman Problem

Algorithms for the Bin Packing Problem with Conflicts

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Modern Benders (in a nutshell)

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

The MIP-Solving-Framework SCIP

Transcription:

27 Congreso Nacional de Estadística e Investigación Operativa Lleida, 8 11 de abril de 2003 AN EXACT ALGORITHM FOR A LOCATION-ROUTING PROBLEM Martine Labbé 1, Inmaculada Rodríguez Martín 2, Juan José Salazar González 2 1 ISRO and SMG, Université Libre de Bruxelles, C.P. 210/01, B-1050, Bruxelles, Belgium E-mail: mlabbe@smg.ulb.ac.be 2 Departamento de Estadística, Investigación Operativa y Computación Universidad de La Laguna, 38271 Tenerife, España E-mail: irguez@ull.es, jjsalaza@ull.es ABSTRACT In this paper we address a combinatorial problem, the Plant-Cycle Location Problem (PCLP), with applications in routing and telecommunications. For this N P-hard problem we propose an integer linear programming formulation, and we develop an exact branch-and-cut algorithm. Preliminary computational results on randomly generated instances are presented. Key words: routing, location, branch-and-cut. AMS code: 90B06, 90B80 1 Introduction We present the Plant-Cycle Location Problem (PCLP), related with the well-known Capacitated Facility Location Problem (CFLP) (see Cornuejols et al. (1990)), and defined as follows. Let us consider two sets of locations, one with customers and another with potential plants (or depots). The travel distance between two locations is assumed to be known and symmetric. The opening of each potential plant has a given known cost. Moreover, each potential plant has a capacity that limits the number of customers it can serve. As in the CFLP, PCLP consists of choosing the plants to be opened and the assignment of customers to opened plants minimizing the cost. The novelty respect to the CFLP is that in PCLP the customers assigned 1

to a plant must be served with a cycle, thus the cost of a solution also includes the routing cost. Therefore, the PCLP looks for a set of disjoint cycles covering all the customers, each one containing exactly one plant, and minimizing the total sum of cost of opening the selected plants, cost of customer-plant assignments, routing cost. The problem considers capacity constraints limiting the number of customers that can be served by an open plant. In a more general case, a different demand could be associated to each customer and the constraint would limit the total demand served by each plant. Nevertheless, this extension was not present in the application motivating the PCLP. When there is only one plant and there are not assignment costs, the uncapacitated PCLP reduces to the Traveling Salesman Problem (TSP). Moreover, the PCLP reduces to the Vehicle Routing Problem with unit demand (VRP) when all the plants have the same location. Hence, PCLP is N P-hard in the strong sense and has several applications in the routing context. See, e.g., Toth and Vigo (2001) for a survey on the CVRP. We present a 0-1 integer linear programming model, and describe a branch-and-cut algorithm for the exact solution based on several families of inequalities strengthening the LP-relaxation of the model. We also provide computational results showing the good performance of our approach on random instances. 2 Mathematical Model Let V = I J be the set of locations, where I represents the locations of the customers and J the potential plant locations. Let E be the set of undirected edges linking all possible pairs of locations in V and G = (V, E) the graph on which the PCLP is defined. Each potential plant location j J has an associated cost f j, and can serve at most q j customers. Associated to each customer i I and each potential depot j J there is an assignment cost d ij, and associated to each edge e E there is a routing cost c e. The PCLP can be mathematically formulated by defining the following variables. For each plant j J, let y j be a binary variable that takes value 1 if the plant j is open in the solution and 0 otherwise. Every edge e E has an associated integer variable x e taking value 2 if one of its extreme vertices is a plant and the other is a customer, and they are the only points in a cycle; value 1 if the edge e is part of a cycle visiting other costumers besides its extremes; and value 0 otherwise. For each i I and each j J a binary variable z ij takes value 1 if the customer i I is assigned to the plant j J, and value 0 otherwise. 2

In addition, for each set of vertices S V we define δ(s) := {[u, v] E : u S, v / S}, E(S) := {[u, v] E : u S, v S}, and for any v V we write δ(v) instead of δ({v}). Moreover, for each F E we write x(f ) instead of e F x e. Then the model is the following: subject to: minimize j J i I j J f j y j + e E c e x e + i I j J d ij z ij (1) z ij = 1 for all i I, (2) z ij q j y j for all j J, (3) x(δ(i)) = 2 for all i I, (4) x(δ(j)) = 2y j for all j J, (5) x(δ(s)) 2 z ij for all S V, i S I, (6) j J\S x ij 2z ij for all i I, j J, (7) x ii + z ij + z i j 2 for all i, i I, j, j J, (8) y j {0, 1} for all j J, (9) z ij {0, 1} for all i I, j J, (10) x ij {0, 1, 2} for all [i, j] E. (11) Constraints (2) enforce each customer i to be assigned to exactly one plant j. Capacity constraints (3) limit to q j the number of customers a plant j J can serve, and prevent customers to be assigned to a plant not open. Constraints (4) and (5) are degree constraints, and they ensure that the degree of every customer is 2, and that the degree of every potential plant is 2 if and only if it belongs to a cycle. Constraints (6) are connectivity constraints. They state that each set of vertices S V must be connected to its complement by at least 2 edges whenever there is pair of vertices i and j such that i is a customer in S, j is a plant not in S, and i is assigned to j. Constraints (7) state that if customer i is not assigned to plant j then the edge [i, j] can not be routed. Constraints (8) state that if customers i and i are assigned to different depots j and j, then they cannot be in the same cycle. Finally, Constraints (9) (11) are the integrality constraints for the different kind of variables. 3

3 Branch-and-cut algorithm and computational results A branch-and-cut algorithm is a branch-and-bound algorithm in which cutting planes are generated throughout the search tree (see Padberg and Rinaldi (1991)). The idea is to try to close as much as possible the gap between the LP-relaxation optimal value and the integer optimal value of each subproblem in order to significantly reduce the number of nodes in the search tree. An important point within this scheme is to be able to develop efficient separation routines to generate cuts in the separation phase. In fact, the different families of valid inequalities that strengthen the LP-relaxation are not of practical use unless their associated separations problem, i.e., the problem of identifying some of them that are violated by a given fractional solution, can be easily solved. We have found the following families of valid inequalities for the PCLP, and designed the corresponding separation procedures. Logical constraints: Path inequalities: z ij y j for all i I, j J, (12) x(p ) + j Q z ij + j / Q z i j P + 1, (13) for each Q J, {i, i } I and P := {[i, i 1 ], [i 1, i 2 ],..., [i k, i ]} a path from i to i. Generalized connectivity constraints: x(δ(s)) 2( for each S V, i S I, i I \ S. 2-matching constraints: j J\S x(e(h)) + x(t ) H I + v j H z ij + j J S y j + z i j), (14) v j T J y j + ( T I 1)/2 (15) for each H V and T δ(h), where T = T I T J, being T I the set of edges in T linking customers and T J the set of edges of T that have a plant in one extreme, and H and T satisfying: (i) {i, j} {k, l} = for [i, j], [k, l] T and [i, j] [k, l], (ii) T 3 and odd. 4

The branch-and-cut algorithm was implemented in the C++ programming language. ABACUS 2.3 linked with CPLEX 6.0 was used as a branch-and-cut framework. See Jünger and Thienel (1997) for details on this software. The implementation was run on a PC Pentium IV 1.5 Ghz under Linux. In Table (1) we present preliminary computational results on a set of randomly generated instances, with vertices coordinates in [0, 1000] [0, 1000]. For each value of I, five different instances were generated, and the results are shown on average over the successful instances, i.e., those solved in less than three hours. 4 Acknowledgements This work was partially supported by Ministerio de Ciencia y Tecnología (TIC2000-1750-C06-02) and by Gobierno de Canarias (PI2000/116), Spain. References Ehrenberg, A. C. S. (1982): Writing technical reports and papers. Amer. Statist. 36, 326 329. Lamport, L. (1986). LATEX A Document Preparation System. Addison-Wesley. Cornuejols G., Nemhauser G.L., Wolsey L.A (1990): The Uncapacitated Facility Location Problem. In P.B. Mirchandani, R.L. Francis (eds.), Discrete Location Theory, John Wiley and Sons, 119-172. Jünger, M., Thienel, S. (1997): Introduction to ABACUS - A Branch-And-CUt System. Technical Report No. 97.263, Universitat zu Köln. Padberg M.W., Rinaldi. G.(1991): A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems, SIAM Review 33, 60 100. Toth P., Vigo D. (2001). The Vehicle Routing Problem. SIAM Monographs on Discrete Mathematics and Applications. 5

I J q j f j succ nodes time open %-LB %-UB (12) (7) (13) (15) (6) (14) 50 50 3 1 4 530.00 0:31:30 25.75 98.62 101.75 16292.00 28225.25 26748.25 1162.50 29538.50 32127.25 50 50 3 250 1 453.00 0:48:05 19.00 98.79 103.12 29751.00 16782.00 33345.00 425.00 32779.00 77227.00 50 50 5 1 5 4.20 0:00:11 24.00 99.81 100.07 206.40 150.20 155.20 28.40 177.60 164.20 50 50 5 250 5 25.80 0:02:47 15.20 99.36 100.72 3523.60 797.20 1858.00 183.40 1833.40 4856.80 50 50 5 rnd 4 94.50 0:07:31 13.00 99.11 101.12 7471.75 2303.25 4937.25 89.50 5189.00 13656.00 50 50 5 500 2 410.00 0:47:52 12.00 98.39 100.10 55485.00 12661.00 30814.00 1400.00 32029.00 93690.50 50 50 10 1 5 1.00 0:00:02 23.80 100.00 100.00 117.20 52.00 53.00 10.00 54.00 9.00 50 50 10 250 5 2.20 0:00:56 13.80 99.97 100.23 1652.20 244.40 644.60 145.60 600.00 1520.80 50 50 10 rnd 5 1.40 0:00:23 11.40 99.99 100.66 960.20 81.00 296.20 104.80 301.80 397.20 50 50 10 500 5 49.00 0:07:19 9.40 99.59 100.51 8285.80 568.40 3933.80 360.40 3856.80 18187.80 50 50 10 1000 5 173.80 0:30:47 6.40 98.78 103.80 29481.40 1725.20 15007.80 1854.40 14112.00 78274.20 50 50 10 5000 4 40.50 0:09:20 5.00 99.40 112.96 11509.75 320.25 4460.25 497.00 3975.25 18749.75 50 50 15 1 5 1.00 0:00:02 24.00 100.00 100.00 114.20 48.00 48.40 16.40 48.80 7.20 50 50 15 250 5 2.20 0:00:54 13.80 99.97 100.23 1486.40 236.80 588.20 175.60 547.40 1623.60 50 50 15 rnd 5 1.40 0:00:24 11.40 99.98 100.62 974.20 72.40 295.00 123.20 306.20 507.40 50 50 15 500 5 8.20 0:01:59 8.80 99.85 100.36 2915.00 169.80 1081.40 304.80 1025.00 4682.00 50 50 15 1000 5 43.00 0:04:34 5.00 99.50 101.36 5879.40 124.60 2073.00 470.00 2012.00 10731.80 50 50 50 1 5 1.00 0:00:02 23.80 100.00 100.00 113.80 53.80 48.80 21.00 49.20 11.80 50 50 50 250 5 2.20 0:00:53 13.80 99.97 100.17 1582.40 208.20 598.60 176.00 572.20 1552.40 50 50 50 rnd 5 1.40 0:00:27 11.40 99.98 100.35 1013.00 79.00 308.60 94.80 331.20 534.60 50 50 50 500 5 7.80 0:02:06 8.80 99.85 100.49 3037.20 145.60 1196.80 290.80 1133.80 4379.20 50 50 50 1000 5 12.60 0:02:16 5.00 99.66 100.61 3415.40 58.20 1032.80 375.00 920.80 5983.00 50 50 50 5000 5 4.20 0:00:15 1.20 99.98 100.63 1453.60 18.00 54.20 199.20 52.60 335.40 50 50 50 20000 5 3.40 0:00:09 1.00 99.99 109.89 1285.00 17.60 25.20 172.20 33.20 38.00 Tabla 1: Computational results for random instances