ALMA MATER STUDIORUM - UNIVERSITÀ DI BOLOGNA Consorzio Spinner Dottorato di Ricerca in Automatica e Ricerca Operativa Settore Concorsuale di afferenza: 01/A6 - RICERCA OPERATIVA Settore Scientifico disciplinare: Mat/09 - RICERCA OPERATIVA Ciclo XXVII Models and Algorithms for the Optimization of Real-World Routing and Logistics Problems Stefano Novellani Coordinatore Dottorato Prof. Daniele Vigo Supervisore Prof. Manuel Iori Supervisore Prof. Daniele Vigo Esame finale anno 2015 Contents Acknowledgments v List of figures viii List of tables x Preface I xi Introduction 1 1 Introduction to Routing Problems 1.1 The Vehicle Routing Problems . . . . . . . . 1.1.1 The Network Characteristics . . . . . 1.1.2 The Type of Transportation Requests 1.1.3 Intra-route Constraints . . . . . . . . 1.1.4 Fleet Characteristics . . . . . . . . . . 1.1.5 Inter-route Constraints . . . . . . . . . 1.1.6 The Objective Function . . . . . . . . 1.2 Solution Methods for the VRPs . . . . . . . . 1.2.1 Exact Algorithms . . . . . . . . . . . . 1.2.2 Heuristic Algorithms . . . . . . . . . . 1.2.3 Hybridization and Unified Methods . . 1.3 Pickup and Delivery Problems . . . . . . . . 1.3.1 Many-to-Many . . . . . . . . . . . . . 1.3.2 One-to-Many-to-One . . . . . . . . . . 1.3.3 One-to-One . . . . . . . . . . . . . . . 1.4 Stochastic Vehicle Routing Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 4 4 5 6 6 6 6 7 8 9 9 9 10 10 10 II Models and Algorithms for the Bike sharing Rebalancing Problems 15 2 The Bike Sharing Rebalancing Problem i 17 ii CONTENTS 2.1 2.2 2.3 2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 20 23 26 26 28 28 29 31 31 33 34 36 40 42 3 Destroy and Repair for the BRP 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . 3.2 Problem description . . . . . . . . . . . . . . . . 3.2.1 Formulation for the BRP . . . . . . . . . 3.2.2 A special case of the BRP: the 1-PDVRP 3.2.3 Prior Work . . . . . . . . . . . . . . . . . 3.3 Properties of feasible paths for the BRP . . . . . 3.4 Algorithm Framework . . . . . . . . . . . . . . . 3.4.1 Constructive algorithm . . . . . . . . . . 3.4.2 Destroy Procedure . . . . . . . . . . . . . 3.4.3 Repair Procedures . . . . . . . . . . . . . 3.4.4 Local Search Procedures . . . . . . . . . . 3.5 Adaptation to the 1-PDVRP . . . . . . . . . . . 3.5.1 Metaheuristic algorithm for the 1-PDVRP 3.5.2 Branch-and-Cut for the 1-PDVRP . . . . 3.6 Computational Results . . . . . . . . . . . . . . . 3.6.1 Small-size Instances . . . . . . . . . . . . 3.6.2 Medium-size Instances . . . . . . . . . . . 3.6.3 Large-size Instances . . . . . . . . . . . . 3.6.4 Local Searches Evaluation . . . . . . . . . 3.6.5 1-PDVRP Instances . . . . . . . . . . . . 3.7 Conclusions . . . . . . . . . . . . . . . . . . . . . 3.A Annex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 50 51 51 53 53 55 60 60 62 62 63 65 65 65 68 69 70 71 72 73 75 76 2.5 2.6 2.7 2.8 4 The 4.1 4.2 4.3 Introduction . . . . . . . . . . . . . . . . Data analysis of a real-world case . . . . Problem description and previous work . MILP formulations for the BRP . . . . . 2.4.1 Formulation F1 . . . . . . . . . . 2.4.2 Formulation F2 . . . . . . . . . . 2.4.3 Formulation F3 . . . . . . . . . . 2.4.4 Formulation F4 . . . . . . . . . . Branch-and-Cut algorithm . . . . . . . . 2.5.1 Valid inequalities . . . . . . . . . 2.5.2 Separation procedures . . . . . . Benchmark Instances . . . . . . . . . . . Computational results . . . . . . . . . . 2.7.1 Randomly generated instances . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Stochastic BRP 85 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . 86 Problems description . . . . . . . . . . . . . . . . . . . . . . . 87 iii CONTENTS 4.4 4.5 4.6 4.7 4.8 Formulations for the SBRP . . . . . . . . . . . 4.4.1 Deterministic Equivalent Program . . . 4.4.2 Two-stage Formulation . . . . . . . . . 4.4.3 Multi-cut Formulation . . . . . . . . . . Formulation for the SBRPF . . . . . . . . . . . Heuristic algorithm based on correlations . . . 4.6.1 Closest neighborhood with correlations . 4.6.2 Savings with correlations . . . . . . . . Computational Results . . . . . . . . . . . . . . 4.7.1 Instances . . . . . . . . . . . . . . . . . 4.7.2 Results . . . . . . . . . . . . . . . . . . Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 . 88 . 90 . 93 . 95 . 96 . 97 . 98 . 99 . 99 . 100 . 104 III Models and Algorithms for Earthwork Optimization Problems 107 5 Earthwork Optimization Models 5.1 Introduction . . . . . . . . . . . . . 5.1.1 Main Contributions . . . . 5.2 Problem Description . . . . . . . . 5.3 Literature Review . . . . . . . . . 5.4 Modeling Analysis and Notation . 5.5 Aggregate Formulation . . . . . . . 5.6 Disaggregate Models . . . . . . . . 5.7 Computational Results . . . . . . . 5.7.1 Realistic instances . . . . . 5.7.2 Aggregate model results . . 5.7.3 Disaggregate model results 5.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 A DSS for Highway Construction 6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . 6.2 The Autostrada Pedemontana Lombarda Project . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Strabag AG: a Leader in the construction industry 6.4 The Decision Support System . . . . . . . . . . . . 6.5 Computational Evaluation . . . . . . . . . . . . . . 6.6 Conclusions . . . . . . . . . . . . . . . . . . . . . . 6.A Mathematical Models . . . . . . . . . . . . . . . . 6.A.1 Disaggregate Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 110 111 113 115 117 119 124 126 126 128 128 130 135 . . . . . . 136 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 139 140 146 148 150 154 iv IV CONTENTS Models and Algorithms for 3D Printing Problems 7 Optimizing the 3D Printing Process 7.1 Introduction . . . . . . . . . . . . . . . . . . 7.1.1 The 3DP Process . . . . . . . . . . . 7.1.2 Advantages and disadvantages . . . 7.1.3 Contribution of this Chapter . . . . 7.2 The Rural Postman Problems . . . . . . . . 7.3 Problem Description . . . . . . . . . . . . . 7.4 The 3D Printing Routing Problem . . . . . 7.5 Heuristic Algorithms . . . . . . . . . . . . . 7.5.1 Closest 3DP . . . . . . . . . . . . . . 7.5.2 Clustered 3DP . . . . . . . . . . . . 7.5.3 Look Ahead 3DP . . . . . . . . . . . 7.5.4 Shortest Path Based 3DP . . . . . . 7.6 Computational Results . . . . . . . . . . . . 7.6.1 Instances . . . . . . . . . . . . . . . 7.6.2 Results . . . . . . . . . . . . . . . . 7.7 Conclusions and Future Research Directions Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 161 162 162 163 164 165 166 167 168 168 169 169 170 170 170 177 185 Acknowledgments Ringrazio le persone che hanno viaggiato al mio fianco in questa parte di percorso. Ringrazio la famiglia, gli amici, i colleghi. In maggior parte per il sostegno, i sorrisi, le leggerezze, il filosofeggiare, la qualità dei discorsi. Ringrazio il mio supervisore Manuel Iori, per la disponibilità, il tempo, la pazienza. Ma soporattutto per i suggerimenti, le esortazioni, i proficui scambi d’idee, l’avermi insegnato -bene o male- a fare questo lavoro. Ringrazio Mauro Dell’Amico, Daniele Vigo, Eleni Hadjiconstantinou, Thomas Stützle e Anand Subramanian per i consigli, le collaborazioni, le opportunità, tutte innumerevoli. v vi CONTENTS List of Figures 2.1 2.2 2.3 2.4 The bike sharing system of Reggio Emilia. The depot is depicted by 0. Stars, circles and triangles represent stations of the first, second and third group, respectively. . . . . . . . . . Net flow of bicycles per day, following (a) a normal-like distribution in station 4 and (b) a bimodal distribution in station 5 (∆ = difference between arrivals and departures, Φ = frequence of occurrence). . . . . . . . . . . . . . . . . . . . . . Typical arrivals and departures per hour in a station of (a) the first group, (b) the second group and (c) the third group (τ = hour of the day, ν = cumulative number of bikes arriving into or departing from a station within a seven-months period). Optimal solutions for Reggio Emilia with (a) Q=10, (b) Q=20, and (c) Q=30. . . . . . . . . . . . . . . . . . . . . . . . . . . 20 21 43 44 4.1 Picture of the parameters of a station. . . . . . . . . . . . . 90 5.1 5.2 5.3 Activities flow chart. . . . . . . . . . . . . . . . . . . . . . . . Network representation. . . . . . . . . . . . . . . . . . . . . . The New Via Emilia layout: on the left the overall construction site planned is depicted, while a highlight is given on the right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solution time of the disaggregate models with respect to the number of arcs. . . . . . . . . . . . . . . . . . . . . . . . . . . 113 117 5.4 6.1 6.2 6.3 6.4 6.5 6.6 127 129 Flow chart representing the main activities involved in the project. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 The Autostrada Pedemontana Lombarda project in Northern Italy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 The characteristics of the main highway. . . . . . . . . . . . . 139 Operation Diagram of the developed Decision Support System.140 Network visualization of the basic instance , the highway section used for computational tests. . . . . . . . . . . . . . . . . 143 Flows in temporary depot T D2 during the construction time horizon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 vii viii LIST OF FIGURES 6.7 6.9 Graphical representations of the use of material during the construction time horizon. . . . . . . . . . . . . . . . . . . . . 144 Graphical representation of digging and filling activities in a vertex. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Graphical output of the disaggregate model. . . . . . . . . . . 146 7.1 7.2 Scheme of the 3DP process. . . . . . . . . . . . . . . . . . . 162 An example of polygon with outer, inner, and filling parts. . . 168 6.8 List of Tables 2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.1 4.2 4.3 4.4 BRP notation summary. . . . . . . . . . . . . . . . . . . . . . Benchmark instances (notation explained in Table 2.1). . . . Implementation of formulations F1−F4. . . . . . . . . . . . . Computational results for formulations F1−F4 on all problem instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Root node – Comparison of various separation procedures on the core formulation F3. . . . . . . . . . . . . . . . . . . . . . Root node – Comparison of various separation procedures on the full formulation F3. . . . . . . . . . . . . . . . . . . . . . Tests on randomly generated instances . . . . . . . . . . . . . 24 35 36 New BRP instances. . . . . . . . . . . . . . . . . . . . . . . . Parameters used for computational tests. . . . . . . . . . . . Results on small-size instances . . . . . . . . . . . . . . . . . Results on medium-size instances . . . . . . . . . . . . . . . . Results on large-size instances . . . . . . . . . . . . . . . . . . Evaluation of local search components. . . . . . . . . . . . . . Comparison with the SZG algorithm with proportionate time limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Results on small-size instances for the 1-PDVRP. . . . . . . . Results on medium-size and large-size instances for the 1PDVRP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 69 70 71 72 73 Percentage gap between the solution of the closest with correlations and the best lower bound for all instances by changing the parameter α. . . . . . . . . . . . . . . . . . . . . . . . . . Percentage gap between the solution of the savings with correlations and the best lower bound for all instances by changing the parameter α. . . . . . . . . . . . . . . . . . . . . . . . . . Results obtained by running the DEP Formulation. . . . . . . Results obtained by using the L-shaped method to solve the L-Shaped Formulation. . . . . . . . . . . . . . . . . . . . . . . ix 38 39 40 41 74 74 75 101 101 102 102 x LIST OF TABLES 4.5 4.6 4.7 4.8 5.1 5.2 5.3 6.1 6.2 7.1 7.2 7.3 7.4 7.5 7.6 Results obtained by using the L-shaped multi-cut method to solve the Multi-cut Formulation . . . . . . . . . . . . . . . . . Results obtained by using the One-cut B&C algorithm with the L-Shaped method derived cuts. . . . . . . . . . . . . . . . Results obtained by using the Multi-cut B&C algorithm with the L-Shaped multi-cut method derived cuts. . . . . . . . . . Results for the SBRPF on the test instances obtained by running the corresponding DEP Formulation. . . . . . . . . . . . 103 103 103 104 Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal, and Barrier algorithms. . . . . . . . . . . 128 Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal, and Barrier algorithms. . . . . . . . . . . 131 Evaluation of the multi-commodity and path-based disaggregate models. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Results obtained by solving the aggregate model with Dual, Primal, and Barrier algorithm . . . . . . . . . . . . . . . . . . 148 Sensitivity analysis on the quality of materials. . . . . . . . . 148 Instances Description . . . . . . . . . . . . . . . . . . . . Results of the Closest algorithm on test instances. . . . Results of the Clustered algorithm on test instances. . . Results of the Look Ahead algorithm on test instances. . Average results of the shortest path based algorithm on test instances. . . . . . . . . . . . . . . . . . . . . . . . . Average results of the shortest path based algorithm on test instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . the . . . the . . . 171 173 174 175 176 176 Preface Logistics involves planning, managing, and organizing the flows of goods from the point of origin to the point of destination in order to meet some requirements. Logistics and transportation aspects are very important and represent a relevant costs for producing and shipping companies, but also for public administration and private citizens. The optimization of resources and the improvement in the organization of operations is crucial for all branches of logistics, from the operation management to the transportation. As we will have the chance to see in this work, optimization techniques, models, and algorithms represent important methods to solve the always new and more complex problems arising in different segments of logistics. Many operation management and transportation problems are related to the optimization class of problems called Vehicle Routing Problems (VRPs). In this work, we consider several real-world deterministic and stochastic problems that are included in the wide class of the VRPs, and we solve them by means of exact and heuristic methods. In Chapter 1 we briefly describe the VRPs, their characteristics, the most used solving techniques, and we highlight some subclasses of the VRPs related to our work. In the following chapters we treat three classes of real-world routing and logistics problems. In Part II we deal with one of the most important tactical problems that arises in the managing of the bike sharing systems, that is the Bike sharing Rebalancing Problem (BRP). In Chapter 2 we formally define the BRP, for which we supply a set of formulations and inequalities included in branch-and-cut algorithms. In Chapter 3 we tackle the BRP with a destroy and repair algorithm including novel properties to reduce the complexity of the components of the algorithm. In the same chapter, we also solve the generalization of the BRP where maximum duration constraints for the routes are considered, the so-called one-commodity Pickup and Delivery VRP (1-PDVRP), for which we propose new inequalities included in a branch-and-cut framework. We also show the adaptation of the destroy and repair algorithm to solve the 1-PDVRP. In Chapter 4 we define the stochastic BRP (SBRP), the version of the BRP with stochastic demands. We provide different models for the SBRP and solve them with L-Shaped methods and branch-and-cut algorithms. Moreover, we present heuristic algorithms for the SBRP that account for the negative and posxi xii LIST OF TABLES itive correlations between the nodes in the solution construction. In Part III we propose models and algorithms for real-world earthwork optimization problems. In Chapter 5 we present a novel two-phase earthwork optimization model for highway construction, considering many real-world features for the first time. In Chapter 6 we present a Decision Support System (DSS) for highway construction developed for the Autostrada Pedemontana Lombarda highway project in collaboration with one of the major construction companies in Europe. The DSS includes easy-to-use graphical and optimization components and it can be applied to several highway construction projects. In Part IV we consider the optimization of the 3D Printing (3DP) process. In Chapter 7 we describe the 3DP process and we highlight several optimization issues in 3DP. Among those, we define the problem related to the tool path definition in the 3DP process, the 3D Routing Problem (3DRP), which is a generalization of the arc routing problem. We present an ILP model and several heuristic algorithms to solve the 3DRP. Part I Introduction 1 Chapter 1 Introduction to Routing Problems We can say, without exaggeration, that one of the most studied class of problems in optimization and logistics is the class of the Vehicle Routing Problems (VRPs). In this work, many facets of the VRPs are considered: we propose models and algorithms for real-world new routing and logistics problems. We thus report in this chapter a brief description of the most classic characteristics of the family of the VRPs, the most used solving techniques, and some highlights on the problem related to those tackled in the following of this PhD thesis. 1.1 The Vehicle Routing Problems The vehicle routing problem has been introduced for the first time by Dantzig and Ramsel [12] in 1959 for a real-world application for gasoline delivery to gas stations and it was then called truck dispatching problem. By citing Irnish, Toth, and Vigo [26], the family of VRPs can be summarized as ”determine a set of vehicle routes to perform all (or some) transportation requests with the given vehicle fleet at minimum cost; in particular, decide which vehicle handles which request in which sequence so that all vehicles routes can be feasibly executed”. The VRPs are normally defined on graphs that are made of nodes and arcs (and/or edges) that model the road network. Thus, the family of VRPs can be divided into problems where the requests are set on the nodes (the node routing problems, that are the one normally referred as to VRPs) and problems where the requests are set on the arcs (and/or edges), the so-called Arc Routing Problems (ARPs) (see, e.g., Dror [18], Wøhlk [50], and Corberán and Laporte [9]). In this thesis we tackle versions of both problems, in particular we consider VRPs (node routing problems) in Chapters 2–6, and a generalization of the ARPs in Chapter 7. Also for this reason we discuss 3 4 CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS now the most common version of the VRPs and the most used techniques to solve them. The relevance of the VRPs and the wide space they have in the international academic and industrial community in all its facets and variants is mostly due to its practical and economical importance. Indeed, the algorithmic results yielded in more than 50 years of academic and industrial research on the VRPs allowed considerable cost and time savings, improvement in planning and organizing activities, and, in practice, allowed to produce software tools, decision support systems, phone applications, etc. to respond to real-world problems. In the following chapters we present many algorithms and a decision support system made to respond to real-world problems of public administrations, private citizens, and private companies. To give an idea of the wideness of the family of VRPs, in the following we catalog the characteristics of the most important versions of the VRPs treated in the literature. We follow the classification delineated in Toth and Vigo [48]. 1.1.1 The Network Characteristics When considering the characteristics of the network we can refer to problems where the tasks to be performed are identified on nodes (node routing problems), on arcs (or edges) (ARPs), or on both as in the general routing problem (see, e.g., Orloff [34]). In the case of node routing problem we have traveling costs or times on the links (arcs or edges), that can be symmetric (in case of edges) or asymmetric (in case of arcs). The traveling cost between two nodes is considered, most of the times, as the shortest distance between them, even if in real-world problems costs and times strongly depend on the hour of the day in which an arc (edge) is traveled. These types of data, such as traveling times, can become known during the traveling operations and this is the case of the dynamic VRP. If those data can be described by a random variable with a given distribution probability, then it is the case of the stochastic VRP. 1.1.2 The Type of Transportation Requests The type of requests can be very diverse, in the following are reported some characteristics of the requests. • Delivery and collection: different type of demands representing deliveries and collections can be given, we can divide them into: distribution of goods from a depot to customers, which is the classic Capacitated Vehicle Routing Problem (CVRP) (see, e.g., Toth and Vigo [48]); collection of goods from customers to the depots (see, e.g., Sankaran and Ugabe[43], Gouden et al. [24]); and pickup and delivery, where both distribution and collection are required (see, e.g., Berbeglia et al. [3]). 1.1. THE VEHICLE ROUTING PROBLEMS 5 • Visit and vehicle scheduling: in this case nor delivery or collection is consider as the request, but simply the fact of visiting a customer or a location is required (see, e.g., Desrosier et al. [15]). • Point-to-point transportation: we are considering here pickup and delivery problems where the origin and destination of a customer are paired (see, e.g., Parragh [35]). • Repeated requests: sometimes it occurs that a certain set of requests can be repeated in the time horizon, these are called repeated requests. This is the case of the periodic VRP (see, e.g., Cordeau et al [10]) and of the inventory routing problems (see, e.g., Bertazzi and Speranza [4]). • Split and non-split services: if splitting services is allowed, requests can be satisfied with more than one visit of one or more vehicle. We thus have the split delivery VRP (see, e.g. Dror and Trudeau [19]). • Combined shipment and multi-modal service: this is the case where the services can be performed by making use of consolidation centers, hubs, and cross-docking (see, e.g., Perboli et al. [36]). • Routing with profits and service selection: in this case a complete service to all the request is not possible due to the constraints, thus we must decide a set of request to satisfy such that the maximum profit is gained (see, e.g. Fillet et al. [20]). • Dynamic and stochastic routing: it is the case where uncertainty is a relevant factor. In such a case the problem can be seen as dynamic, if part of the data are revealed during the operations, or stochastic, if the uncertain data are described with random variables and having a probability distribution. 1.1.3 Intra-route Constraints We refer here to constraints whose feasibility can be checked on single routes. These occur in the following cases: • Loading constraints: loading constraints can depend on the maximum capacity of the vehicle (as in the CVRP), but they can depend also on weight, space, and volume (see, e.g., Iori et al. [25]), the order of loading (see, e.g., Cordeau et al. [11]), but also considering the compatibility of different goods (see, e.g., Xu et al. [51]), and the use of several compartments on a vehicle (see, e.g., Derigis et al. [13]). • Route length: route length constraint considers not to exceed a maximum duration in time or distance for the routes (see, e.g., Christophides et al. [7]). 6 CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS • Multiple use of vehicles: contemplating that vehicles can perform more than one route over the planning horizon (see, e.g., Taillard et al. [46]). • Time windows and scheduling aspects: constraints related to schedules are very important in many VRP variants, accounting for travel, service, and waiting times together with the time windows in which services must be performed (see, e.g., Dasaulniers et al. [14]). 1.1.4 Fleet Characteristics We can consider the use of vehicles with different characteristics such as dimension, costs, speed, the possibility of loading just a set of goods, the possibility of visiting just a set of customers, the possibility of using transshipment (see, e.g., Drexel [17]). The vehicles (homogeneous or not) can start or end their journeys in different depots (see, e.g., Renard et al. [40]), and the routes can also be opened (vehicles can start or end their journeys in visiting nodes) (see, e.g., Li et al. [30]). 1.1.5 Inter-route Constraints Inter-route constraints are constraints whose feasibility, and thus the feasibility of the solution, depend on how the routes are combined. In this class we have balancing constraints between the maximum and the minimum route duration (see, e.g., Bodin et al. [6]). Another constraint can be related to the synchronization issues among the routes (see, e.g., Drexel [16]). 1.1.6 The Objective Function The classic objective function for the VRPs is to minimize the traveling costs expressed in distances or times of the routes, but other single or multiobjectives can be evaluated. For example the customer satisfaction, the minmax objective (minimizing the objective of the longest route), minimizing the number of vehicles used, and using non-linear cost functions. 1.2 Solution Methods for the VRPs Since the very first introduction in 1959, many solution methods have been used and developed to solve and tackle the VRPs. These solving methodologies can be divided into two classes of optimization algorithms: the exact algorithms, that are proven to converge to the optimal solution, if it exist, and the heuristic algorithms, that can obtain very good solutions in short computational times. In the following we report some classic methodologies and algorithms used to solve VRPs, in accordance with the Toth and Vigo [48], in particular see, e.g, [44], [37], and [29]. The classification is far from 1.2. SOLUTION METHODS FOR THE VRPS 7 being exhaustive, for the interested reader we refer to Toth and Vigo [47] and [48]. 1.2.1 Exact Algorithms To give an idea of the exact algorithms for the VRPs, we report here some of the classic exact algorithms to solve the Capacitated VRP (CVRP). • Branch-and-bound. Branch-and-Bound (B&B) algorithms are enumerating algorithms that decompose the problem in subproblems easier to solve creating a branching tree. The branching is performed on the variables and informations on bounds are used in order not to explore the entire branching tree to obtain the optimal solution. The B&B algorithms for the CVRP are based on the relaxation of some set of constraints of the classic 2-index formulation for the CVRP (see, e.g. Toth and Vigo [48]). These relaxations result in a Assignment Problems or Shortest Spanning Tree problems on whose solutions is performed the tree search. In addition, different branching techniques and reduction strategies are applied, and the introduction of cutting planes can be attempted. • Column Generation. The Column Generation (CG) methods are based on the classic set partitioning and set covering formulations (see, e.g., Balinski and Quandt [1]). THe CG method starts from a small subset of routes, each one represented by a variables, and solves the linear relaxation of the corresponding reduced model deriving the optimal dual variables associated with the constraints. Thanks to the dual information, the CG problem (called pricing) tries to find the route, not in the subset, that has the most negative reduced cost or proved that no such a route exists. In this latter case the solution of the linear relaxation on the subset of routes is the solution of the complete model and the algorithm terminates. Otherwise the route with smaller reduced cost that the pricing algorithm found is added to the subset of routes and a new iteration is performed. Recently, the CG methods have been extended to branch-and-cut-and-price algorithms, which are hybrid methods between the CG and the branch-and-cut algorithms, that are presented in the following. • Branch-and-cut. The Branch-and-Cut (B&C) algorithms involve running a B&B algorithm and using cutting planes to tighten a relaxation of the problem considered. Given the solution of the relaxation, if this is feasible for the relaxed constraints then the solution found is optimal, otherwise we have to separate the obtained solution from the optimal one by identifying violated inequalities. To do so, exact and heuristic separation algorithms can be used. We then include the generated constraint to the relaxed model and reiterate (see, e.g., Laporte 8 CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS et al. [28]). The branching strategies are normally applied on variables with fractional values. 1.2.2 Heuristic Algorithms As reported by Toth and Vigo [48], very sophisticated exact algorithms have been developed, but only instances with around 100 customers can be solved to optimality and in high computing times. On the other hand, reallife problems and instances need good solutions in short times: this is the reason why, since the first appearance of the VRPs, heuristic algorithms have been designed and used to solve them. Without intending to furnish with an exhaustive classification of the heuristic algorithms, in the following we give and overview on the constructive heuristics, the two-phase heuristics, the improvement heuristics, and the metaheuritics. • Constructive Heuristics. Constructive heuristics are algorithms that build step by step a solution, and are normally used to provide a starting solution for the improvement heuristics. The constructive heuristics can be divided into sequential constructive heuristics and parallel constructive heuristics. In the first case the solution is built one route at the time, while in the second case more routes are build in parallel. The most known constructive heuristic for the VRP is the savings algorithm (see, e.g., Clarke and Wright [8]), that builds routes made of single vertices and then tries to merge them by using a savings criterion. This algorithms can be used in both parallel and sequential way. • Two-phase Heuristics. The two-phase heuristics can be divided into route-first cluster-second algorithms and cluster-first route-second algorithms (see, e.g., Gillet and Miller [22]). In the first type one route is built and then separated into several routes in order to obtain a feasible solution, in the second case the nodes are grouped in clusters and then the routes are formed with respect to the clusters. • Improvement Algorithms. Improvement algorithms are algorithms that perform inter-route and intra-route moves on a solution to obtain better quality solutions. Some examples can be the swap between two nodes on a solution, the k-opt exchange (see, e.g., Lin [31]), etc. These moves can also be seen as destroy and repair operators that destroy and repair the solution. In the adaptive large neighborhood search (see, e.g., Ropke and Pisinger [42]) destroy and repair moves are selected randomly in a roulette wheel mechanism obtaining very good results. • Metaheuristic Algorithms. The metaheuristics for the VRPs can be classified into local search methods and population based heuristics. 1.3. PICKUP AND DELIVERY PROBLEMS 9 – Local Search Methods. Local search methods explore the solution space by moving, at each iteration, from one solution to another in its neighborhood trying to escape from local optima. Just to name some metaheuritic algorithms based on local searches we have: simmulated annealing (see, e.g., Kirckpatrick et al. [27]), tabu search (see, e.g., Glover [23]), iterated local search (see, e.g., Lourenço et al. [32]), variable neighborhood search (see, e.g., Mladenović and Hansen [33]). – Population Based Heuristics. Population based heuristics starts from a population of solutions that evolves during the iterations of the algorithm, for example by combining the population solutions to obtain better ones. These algorithms normally take the inspiration from natural concepts. Just to name some population based algorithms, we have: ant colony optimization (see, e.g., Reiman et al. [39]), genetic algorithms (see, e.g., Prins [38]), scatter search, and path relinking (see, e.g., Glover [23] and Resende et al. [41]). 1.2.3 Hybridization and Unified Methods In the last years, two research directions have emerged: a large use of hybrid methods and the research for unified algorithms. In the first case a hybridization of different techniques and paradigms such as local search, population based search, and exact algorithms has occurred (see, e.g., Subramanian et al. [45]). In the second case, the creation of unified methods attempts at assessing many different VRPs, moving from problem-specific methods to more flexible approaches that could solve a wide range of problems (see, e.g., Vidal et al. [49]). 1.3 Pickup and Delivery Problems In this thesis we widely treat Pickup and Delivery Problems (PDPs), in particular we consider PDPs for good transportation. For this reason we give a short recall to the PDPs and e brief classification following the one delineated by Battarra et al. [2]. PDPs is a class of VRPs where commodities have to be transported from different origins to different destinations. We can have: 1.3.1 Many-to-Many Many-to-Many (M-M) problems represent the class in which each commodity have multiple origins and destinations and in which any location can be the origin and destination of multiple commodities. The problem of redis- 10 CHAPTER 1. INTRODUCTION TO ROUTING PROBLEMS tributing bikes in a bike sharing system, that we also tackle in the following, lays in this class. 1.3.2 One-to-Many-to-One One-to-Many-to-one (1-M-1) problems represent the class in which some commodities must be delivered from a depot to the customers and some others must be collected from customers and carried back to the depot. 1.3.3 One-to-One The one-to-one (1-1) class of problems is the one where each commodity and request is given with an origin-destination pair. 1.4 Stochastic Vehicle Routing Problems A particular class of problems, part of the wider class of VRPs, has received the interest of many researcher recently: the class of Stochastic Vehicle Routing Problems (SVRPs). In the SVRPs not all informations are deterministic, and hence some level of uncertainty has to be accounted for. The uncertainty can derive from diverse events end on one or more set of data: we can thus have stochastic demands, stochastic customers, and stochastic traveling times/costs (see, e.g., Gendreau et al. [21]). One of the most common way of modeling and solving stochastic problems is Stochastic Programming (SP). In SP the stochastic parameters are formulated as random variables given with a probability distribution. The SP models are obtained by determining the informational process. Based on this process the SP models are defined in two or more stages depending to when random variables become known. This problems are normally modeled in two-stage formulation with recourse, represented by a first stage decisions to be made a priori, and the recourse decisions to be made after the realization of the stochastic variables, i.e. when the information is available. The recourse decisions are related to the outcome of the stochastic parameters and can lead to an increase of the costs depending on the recourse function, that gives the average recourse cost after a first stage decision, or impose the first stage decisions to be changed. Both linear and integer SP models are normally solved by using the L-Shaped method and the Integer L-Shaped method (see, e.g., Birge and Louveaux [5]). Another method to model the stochastic problems is to include probabilistic constraints, which means that some constraints can be satisfied within a certain probability. We refer the reader to Birge and Louveaux [5] for more details. Bibliography [1] M. L. Balinski and R. E. Quandt. On an integer program for a delivery problem. Operations Research, 12:300–304, 1964. [2] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems, Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems for Goods Transportation. In [48], 2014. [3] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, and G. Laporte. Static pickup and delivery problems: a classification scheme and survey. Top, 15:1–31, 2007. [4] L. Bertazzi and M. G. Speranza. Inventory routing problems: an introduction. EURO Journal on Transportation and Logistics, 1:307–326, 2012. [5] J. R. Birge and F. Louveaux. Introduction to stochastic programming. Springer Science & Business Media, 2011. [6] L. Bodin, V. Maniezzo, and A. Mingozzi. Street routing and scheduling problems. In Handbook of Transportation Science, pages 395–432. Springer, 1999. [7] N. Christofides, A. Mingozzi, P. Toth, and C. Sandi. The travelling salesman problem, combinatorial optimisation, 1979. [8] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot to a number of delivery points. Operations research, 12:568–581, 1964. [9] Á. Corberán and G. Laporte. (eds.) Arc Routing: Problems, Methods, and Applications. SIAM, 2014. [10] J.-F. Cordeau, M. Gendreau, and G. Laporte. A tabu search heuristic for periodic and multi-depot vehicle routing problems. Networks, 105– 119, 1997. [11] J.-F. Cordeau, M. Iori, G. Laporte, and J.-J. Salazar González. A branch-and-cut algorithm for the pickup and delivery traveling salesman problem with lifo loading. Networks, 55:46–59, 2010. 11 12 BIBLIOGRAPHY [12] G. B. Dantzig and J. H. Ramser. The truck dispatching problem. Management science, 6:80–91, 1959. [13] U. Derigs, J. Gottlieb, J. Kalkoff, M. Piesche, F. Rothlauf, and U. Vogel. Vehicle routing with compartments: applications, modelling and heuristics. OR spectrum, 33:885–914, 2011. [14] G. Desaulniers, O. B- G. Madsen, and S. Ropke. Vehicle Routing: Problems, Methods, and Applications, Chapter 5: The Vehicle Routing Problem with Time Windows. In [48], 2014. [15] J. Desrosiers, Y. Dumas, M. M. Solomon, and F. Soumis. Time constrained routing and scheduling. Handbooks in operations research and management science, 8:35–139, 1995. [16] M. Drexl. Synchronization in vehicle routing-a survey of vrps with multiple synchronization constraints. Transportation Science, 46:297– 316, 2012. [17] M. Drexl. Applications of the vehicle routing problem with trailers and transshipments. European Journal of Operational Research, 227:275– 283, 2013. [18] M. Dror. Arc routing: theory, solutions, and applications. Springer Science & Business Media, 2000. [19] M. Dror and P. Trudeau. Savings by split delivery routing. Transportation Science, 141–145, 1989. [20] D. Feillet, P. Dejax, and M. Gendreau. Traveling salesman problems with profits. Transportation science, 39:188–205, 2005. [21] M. Gendreau, O. Jabali, and W. Rei. Vehicle Routing: Problems, Methods, and Applications, Chapter 8: Stochastic Vehicle Routing Problems. In [48], 2014. [22] B. E. Gillett and L. R. Miller. A heuristic algorithm for the vehicledispatch problem. Operations research, 22:340–349, 1974. [23] F. Glover. Heuristics for integer programming using surrogate constraints. Decision Sciences, 8:156–166, 1977. [24] B. L Golden, A. A. Assad, and E. A. Wasil. Routing vehicles in the real world: applications in the solid waste, beverage, food, dairy, and newspaper industries. In The vehicle routing problem, 245–286. SIAM, 2001. BIBLIOGRAPHY 13 [25] M. Iori, J.-J. Salazar-González, and D. Vigo. An exact approach for the vehicle routing problem with two-dimensional loading constraints. Transportation Science, 41:253–264, 2007. [26] S. Irnich, P. Toth, and D. Vigo. Vehicle Routing: Problems, Methods, and Applications, Chapter 1: The Family of Vehicle Routing Problems. In [48], 2014. [27] S. Kirkpatrick, C.D. Gelatt Jr, M.P. Vecchi, and A. McCoy. Optimization by simulated annealing. Science, 220:671–679, 1983. [28] G. Laporte, Y. Nobert, and M. Desrochers. Optimal routing under capacity and distance restrictions. Operations research, 33:1050–1073, 1985. [29] G. Laporte, S. Ropke, and T. Vidal. Vehicle Routing: Problems, Methods, and Applications, Chapter 3: Heuristics for the Vehicle Routing Problems. In [48], 2014. [30] F. Li, B. Golden, and E. Wasil. The open vehicle routing problem: Algorithms, large-scale test problems, and computational results. Computers & Operations Research, 34:2918–2930, 2007. [31] S. Lin. Computer solutions of the traveling salesman problem. Bell System Technical Journal, The, 44:2245–2269, 1965. [32] H. R. Lourenço, O. C. Martin, and T. Stützle. Iterated local search. Springer, 2003. [33] N. Mladenović and P. Hansen. Variable neighborhood search. Computers & Operations Research, 24:1097–1100, 1997. [34] C. S. Orloff. Routing a fleet of m vehicles to/from a central facility. Networks, 4:147–162, 1974. [35] S. N. Parragh, K. F. Doerner, and R. F. Hartl. A survey on pickup and delivery problems. Journal für Betriebswirtschaft, 58:21–51, 2008. [36] G. Perboli, R. Tadei, and D. Vigo. The two-echelon capacitated vehicle routing problem: Models and math-based heuristics. Transportation Science, 45:364–380, 2011. [37] M. Poggi and E. Uchoa. Vehicle Routing: Problems, Methods, and Applications, Chapter 3: New Exact Algorithms for the Capacitated Vehicle Routing Problems. In [48], 2014. [38] C. Prins. A simple and effective evolutionary algorithm for the vehicle routing problem. Computers & Operations Research, 31:1985–2002, 2004. 14 BIBLIOGRAPHY [39] M. Reimann, K. Doerner, and R. F. Hartl. D-ants: Savings based ants divide and conquer the vehicle routing problem. Computers & Operations Research, 31:563–591, 2004. [40] J. Renaud, G. Laporte, and F. F. Boctor. A tabu search heuristic for the multi-depot vehicle routing problem. Computers & Operations Research, 23:229–235, 1996. [41] M. G. C. Resende, C. C. Ribeiro, F. Glover, and R. Martı́. Scatter search and path-relinking: Fundamentals, advances, and applications. In Handbook of metaheuristics, 87–107. Springer, 2010. [42] S. Ropke and D. Pisinger. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Transportation science, 40:455–472, 2006. [43] J. K. Sankaran and R. R. Ubgade. Routing tankers for dairy milk pickup. Interfaces, 24:59–66, 1994. [44] F. Semet, P. Toth, and D. Vigo. Vehicle Routing: Problems, Methods, and Applications, Chapter 2: Classical Exact Algorithms for the Capacitated Vehicle Routing Problems. In [48], 2014. [45] A. Subramanian, E. Uchoa, and L. S. Ochi. A hybrid algorithm for a class of vehicle routing problems. Computers & Operations Research, 40:2519–2531, 2013. [46] E. D. Taillard, G. Laporte, and M. Gendreau. Vehicle routeing with multiple use of vehicles. Journal of the Operational research society, 1065–1070, 1996. [47] P. Toth and D. Vigo. (eds.) The vehicle routing problem. SIAM, 2001. [48] P. Toth and D. Vigo. (eds.) Vehicle Routing: Problems, Methods, and Applications. SIAM, 2014. [49] T. Vidal, T. G. Crainic, M. Gendreau, and C. Prins. A unified solution framework for multi-attribute vehicle routing problems. European Journal of Operational Research, 234:658–673, 2014. [50] S. Wøhlk. A decade of capacitated arc routing. In The vehicle routing problem: latest advances and new challenges, 29–48. Springer, 2008. [51] H. Xu, Z.-L. Chen, S. Rajagopal, and S. Arunapuram. Solving a practical pickup and delivery problem. Transportation science, 37:347–364, 2003. Part II Models and Algorithms for the Bike sharing Rebalancing Problems 15 Chapter 2 The Bike Sharing Rebalancing Problem: Mathematical Formulations and Benchmark Instances 1 Bike sharing systems offer a mobility service whereby public bicycles, located at different stations across an urban area, are available for shared use. These systems contribute towards obtaining a more sustainable mobility and decreasing traffic and pollution caused by car transportation. Since the first bike sharing system was installed in Amsterdam in 1965, the number of such applications has increased remarkably so that hundreds of systems are now operating all over the world. In a bike sharing system, users can take a bicycle from a station, use it to perform a journey and then leave it at a station, not necessarily the same one of departure. This behaviour typically leads to a situation in which some stations become full and others are empty. Hence, a balanced system requires the redistribution of bicycles among stations. In this chapter, we address the Bike sharing Rebalancing Problem (BRP), in which a fleet of capacitated vehicles is employed in order to re-distribute the bikes with the objective of minimizing total cost. This can be viewed as a special one-commodity pickup-and-delivery capacitated vehicle routing problem. We present four mixed integer linear programming formulations of this problem. It is worth noting that the proposed formulations include an exponential number of constraints, hence, tailor-made branch-and-cut algorithms are developed in order to solve them. 1 The results of this chapter appear in: M. Dell’Amico, E. Hadjicostantinou, M. Iori, and S. Novellani. The bike sharing rebalancing problem: Mathematical formulations and benchmark instances. Omega, 45:7–19, 2014. 17 18 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM The mathematical formulations of the BRP were first computationally tested using data obtained for the city of Reggio Emilia, Italy. Our computational study was then extended to include bike sharing systems from other parts of the world. The information derived from the study was used to build a set of benchmark instances for the BRP which we made publicly available on the web. Extensive experimentation of the branch-and-cut algorithms presented in this chapter was carried out and an interesting computational comparison of the proposed mathematical formulations is reported. Finally, several insights on the computational difficulty of the problem are highlighted. Keywords: Integer programming, Routing, Traveling salesman, Vehicle scheduling. 2.1 Introduction Bike sharing systems offer a mobility service in which public bicycles are available for shared use. These bicycles are located at stations that are displayed across an urban area. The users of the system can take a bicycle from a station, use it for a journey, leave it into a station (not necessarily the one of departure), and then pay according to the time of usage. These systems are an important instrument used by public administrations to obtain a more sustainable mobility, decrease traffic and pollution caused by car transportation, and solve the so-called last mile problem related to proximity travels. From the first bike sharing system installed in Amsterdam in 1965, their number increased in the following years to reach, in 2014, more than 700 systems only in Europe, see, e.g., DeMaio [10] and project OBIS [23]. In North America the implementation of bike sharing systems started only in 2008, see Pucher et al. [26], but as far as we know it already counts more than 20 operating systems. In the rest of the world the number of systems is rising at a very high rate, as discussed, e.g., by Shaheen et al. [28]. Stations are made of different slots, each of which hosts a single bicycle. In modern systems, stations are connected to the Internet and display in real time the occupation status of each slot. In this way users can easily check where it is possible to pick up or drop a bicycle. The usage of the system is monitored continuously, and the collected information is used to improve the level of service. Operating bike sharing systems has a cost that may vary greatly (depending on the system itself, the population density, the service area and the fleet size), with a consistent impact on the budget of the public administration. The setup costs for installing the system include, among others, the cost of purchasing the bikes, the slots, and the stations, and the cost of 2.1. INTRODUCTION 19 the back-end system used to operate the equipment, see, e.g., DeMaio [10]. The daily operating costs include maintenance, insurance, possibly website hosting and electricity, and, most important, the cost due to the redistribution of bikes among the stations. Indeed, at the end of a day some stations are typically full and others are empty. A commonly adopted rule for rebalancing is to keep each station only partly occupied, i.e., there should always be in a station some slots occupied by bicycles, to allow users to pick them up, and some free slots, to allow users to drop a bicycle at the end of their journey. Let us suppose that a desired level of occupation is present in the early morning in a given bike station, then the number of bikes may change drastically during the day from the desired level because of the users’ travel behavior. This happens typically in cities characterized by a hilly territory, see, e.g., Kaltenbrunner et al. [18], where users take a bike from a station located at the top of a hill, leave it at the bottom and then take the journey back with different means of transportation. It is also common for cities located in flat areas, where some stations have large inflows or outflows at different times of the day. In the next section we report the results of the analysis of the system at the city of Reggio Emilia (Italy) used over a period of seven months. Repositioning is usually done by means of capacitated vehicles based at a central depot, that pick up bicycles from stations where the level of occupation is too high and deliver them to stations where the level is too low. Usually a buffer of bicycles is kept at the depot, and used to allow a more flexible redistribution. The resulting optimization problem of deciding how to route the vehicles so as to perform the redistribution at minimum cost is known in the literature as the Bike sharing Rebalancing Problem (BRP), and has recently attracted the interest of many researchers and practitioners in the area. It can be modeled either as a dynamic or a static optimization problem. In the static version, a snapshot of the level of occupation at the stations is taken and then used to plan the redistribution. In the dynamic version, the real-time usage of the system is taken into account, and the redistribution plan is possibly updated as soon as the information required to make decisions is revealed over time. Usually, static rebalancing is associated with a redistribution process that is performed during the night, when the system is kept closed or the demand is very low, whereas dynamic rebalancing is associated to redistributions operated during the day, when demand may be high. In the real-world case that we studied in detail the redistribution is performed during the night, and hence we focus on the static version of the problem. In this chapter we provide several contributions. In Section 2.2 we briefly present the real-world case study that we conducted at the city of Reggio Emilia, by analyzing the travel flows, the users behavior and the resulting levels of occupation at the stations. In Section 4.3 we formally describe the BRP and discuss the related literature. In Section 4.4 we propose four 20 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM Figure 2.1: The bike sharing system of Reggio Emilia. The depot is depicted by 0. Stars, circles and triangles represent stations of the first, second and third group, respectively. Mixed Integer Linear Programming (MILP) formulations to model the problem. All these formulations involve an exponential number of constraints, so Section 3.5.2 presents the branch-and-cut algorithms that we implemented to solve them. We present a large set of benchmark instances in Section 2.6, obtained by analyzing the usage of several bike systems around the world; we make these instances publicly available on the Internet. Extensive computational results of the branch-and-cut algorithms are reported in Section 2.7. Finally, conclusions are given in Section 2.8 and future research directions are discussed. 2.2 Data analysis of a real-world case The first real-world case that we studied is the bike sharing system of Reggio Emilia, a city of around 170 thousand inhabitants located in a very flat area in northern Italy. The system, which is depicted in Figure 2.1, is quite small and now counts one depot (indicated by 0 in the figure), 13 stations and about 100 bicycles. It operates all day but is kept closed during the night, which is quite common for bike sharing systems in small/medium cities. The redistribution of the bicycles is carried out during the night, by means of a single vehicle that visits each station exactly once. The data associated with a seven-month usage of the system was provided to us by the municipality of the city. It contains the list of journeys performed by the users in the considered period, including time and station of departure and arrival of each journey. For each station we evaluated the net flow of bicycles on a daily basis, computed as the difference between 21 2.2. DATA ANALYSIS OF A REAL-WORLD CASE the inflow and the outflow. This gives the difference between the bicycles available at the beginning of the day and those left at the end of the day in each station. We then plotted the distribution of the net flow over the period, see the distribution graphs in Figure 2.2. The x-axis gives the difference ∆ between arrivals and departures in a station per day, and the y-axis gives the percentage of times Φ (frequence of occurrence) this number appears throughout the period that we studied. We mostly found normal-like distributions, as the one depicted in Figure 2.2-(a) for station 4, but also a bimodal one for station 5, see Figure 2.2-(b). In both cases, for the majority of the days over the observation the stations ended up with a number of bikes different from that available at the beginning of the day, and this supports the choice of performing rebalancing operations. Furthermore, by analyzing the net flow per hour of all the stations we have been able to determine the diverse variability in usage by the customers. We could consequently divide the stations into three groups, as shown in Φ 60 50 40 30 20 10 0 -2 -1 0 1 Δ 2 (a) Φ 35 30 25 20 15 10 5 0 -4 -3 -2 -1 0 1 2 3 Δ (b) Figure 2.2: Net flow of bicycles per day, following (a) a normal-like distribution in station 4 and (b) a bimodal distribution in station 5 (∆ = difference between arrivals and departures, Φ = frequence of occurrence). 22 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM Figure 2.3. In this figure, the x-axis represents the hour τ of the day, and the y-axis states the cumulative number ν of bikes arriving into or departing from the station within a seven-months period. More specifically: 1. The first group, see Figure 2.3-(a), has a peak of incoming bikes between 7 and 9 am, and a smaller one between 1 and 3 pm. The peaks of outgoing bikes occur between 12 am and 2 pm and between 4 and 6 pm. These stations are all situated in the city center, with the exception of one that is located near the hospital (stations 1, 2, 3, 4, 5 and 13). This usage fits well with the behavior of users that work in the city center but live outside; 2. The second group is complementary to the first one, see Figure 2.3-(b). These stations (6, 7, 8, 9 and 12) are in the so-called park-and-ride areas, where users can leave their cars and continue their ride on a public bike; 3. The third group, see Figure 2.3-(c), contains stations where arrivals and departures follow a similar pattern during the day. These stations (10 and 11) are located close to places, such as the train station, that are used all day long. More enhanced studies on bike traveling habits are out of the scope of this chapter, so the interested reader is referred to the relevant literature. Vogel and Mattfeld [33] present a business model for bike sharing systems. They model the repositioning activities with the help of a system dynamics approach, that they solve with a simulation tool. They conclude that “more effort spent on repositioning leads to a better corporate performance in terms of satisfied customers”. Kaltenbrunner et al. [18] provide an analysis of human mobility data in the urban area of Barcelona (Spain) using the amount of available bikes in the stations of the local bike sharing program. By using data sampled from the operator’s website, they detect temporal and geographic mobility patterns within the city. Lin and Yang [19] address the strategic planning of public bicycle sharing systems. These authors propose a model that attempts to determine the number and locations of bike stations, the users’ travel paths, and the network structure of bike trips connecting the stations. The determination of the most suitable bike trips has been studied by Souffriau et al. [29], for a problem arising in East Flanders (Belgium), and motivated by the problem that a cyclist deals with when looking for a nice route of a certain length. They propose a mathematical model and a metaheuristic. The metaheuristic obtained good computational results and was then embedded into a web-based cycle route planner. We also mention that a similar problem was faced in a different context by Boctor et al. [7], who studied the assignment of trips to vehicles in petrol stations replenishment problems. 2.3. PROBLEM DESCRIPTION AND PREVIOUS WORK 2.3 23 Problem description and previous work We are given a complete digraph G = (V, A), where the set of vertices V = {0, 1, . . . , n} is partitioned into the depot, vertex 0, and the stations, vertices {1, 2, . . . , n}. Each station i has a request qi , which can be either positive or negative. If qi ≥ 0 then i is a pickup vertex, where qi bikes should be removed; if qi < 0 then i is a delivery vertex, where qi bikes should be supplied, for i ∈ V \ {0}. The bikes removed from pickup vertices can either go to a delivery vertex or back to the depot. Bikes supplied to delivery vertices can either come from the depot of from pickup vertices. A fleet of m identical vehicles of capacity Q is available at the depot to transport the bikes. A traveling cost cij is associated with each arc (i, j) ∈ A. The BRP involves determining how to drive at most m vehicles through the graph, with the aim of minimizing the total cost and ensuring that the following constraints are not violated: (i) each vehicle performs a route that starts and ends at the depot, (ii) each vehicle starts from the depot empty or with some initial load (i.e., with a number of bikes that vary from 0 to Q), (iii) each station is visited exactly once and its request is completely fulfilled by the vehicle visiting it, and (iv) the sum of requests of the visited stations plus the initial load is never negative or greater than Q in the route performed by a vehicle. In our study, each request qi is computed as the difference between the number of bikes present at station i when performing the redistribution, and the number of bikes in the station in the final required configuration. Note that we impose that a station with request qi = 0 must be visited, even if this implies that no bike has to be dropped off or picked up there. This case arises, for example, when the driver of the vehicle is supposed to check that the station is correctly working. The case in which stations with null requests have to be skipped can be simply obtained by removing in a preprocessing phase those stations from the set of vertices. The fact that each vehicle is allowed to start its route with some bikes enlarges the space of feasible BRP solutions, and allows to obtain a more flexible redistribution plan. Note also that we do not impose the sum of redistributed bikes to be null, and hence there can be a positive or a negative flow of bikes on the depot. This consideration is useful to model cases in which some bikes enter or leave the depot for maintenance. The traveling cost cij is computed in our case as the shortest length of a path in the road network connecting i and j, for i, j ∈ V . It is important to work on a directed graph, because all bike sharing systems we are aware of are located in urban areas, and thus one-way streets typically have a strong impact on the choice of the routes performed by the vehicles during the redistribution. The notation defined for the BRP is summarized in Table 2.1. The BRP belongs to the wide class of Pickup and Delivery Vehicle Rout- 24 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM V A n m Q qi cij set of vertices set of arcs number of stations number of vehicles vehicle capacity demand at vertex i cost of the arc (i, j) Table 2.1: BRP notation summary. ing Problems (PDVRPs), where a fleet of vehicles is used to transport requests from the depot and/or some vertices to the depot and/or other vertices in the network. In particular, some pickup customers require a certain amount of freight to be picked up by a vehicle and then transported elsewhere, whereas some delivery customers require a certain amount of freight to be delivered there. The BRP generalizes the well-known Capacitated Vehicle Routing Problem (CVRP), where customers are either all pickup vertices or all delivery vertices, but not both, and thus it is a strongly NP-hard problem. Detailed reviews and classifications of the PDVRPs have been proposed by Berbeglia et al. [6] and Parragh et al. [24, 25]. More recent surveys have been presented by Battarra et al. [3], for what concerns the transportation of freight, and Doerner and Salazar-González [11], for the transportation of people. Following the notation introduced in Berbeglia et al. [6], the BRP can be classified as a Many-to-Many (M-M) vehicle routing problem, in which a request has multiple origins (in our case pickup stations) and multiple destinations (in our case delivery stations). The most basic problem in the class of M-M PDVRPs is probably the One-commodity Pickup and Delivery Traveling Salesman Problem (1-PDTSP), which calls for routing a single capacitated vehicle to meet M-M requests. The 1-PDTSP was formally introduced by Hernández-Pérez and SalazarGonzález [15], who presented mathematical formulations and branch-andcut algorithms. The mathematical formulations were given for both the symmetric and asymmetric version of the problem, and were based on the use of a binary variable xij taking value one if the edge or arc (i, j) was used, 0 otherwise, and a non-negative variable fij giving the flow of the single commodity on edge or arc (i, j). Computational results were provided only for the symmetric formulation, that was solved by means of a branchand-cut algorithm. The results of this approach were later improved by Hernández-Pérez and Salazar-González [17], with an enhanced branch-andcut algorithm working again on the symmetric formulation but exploiting only the binary variable xij . To address larger instances, Hernández-Pérez and Salazar-González [16] proposed two simple heuristics, whereas a wellperforming variable neighborhood descent metaheuristic was introduced by Hernández-Pérez et al. [14]. All these works considered the case in which 2.3. PROBLEM DESCRIPTION AND PREVIOUS WORK 25 vehicles can leave the depot with some load, but the sum of all requests is equal to zero. The 1-PDTSP has also attracted the interests of other researchers. Wang et al. [34] studied some variants of the 1-PDTSP that involve unit-load requests. They developed polynomial-time exact algorithms for the case of distribution on a path, and for the cases of distribution on a tree having Q = 1 or Q = +∞. Martinovic et al. [20] presented a simulated annealing approach, whereas Zhao et al. [35] developed a genetic algorithm. The results of these two metaheuristics were later improved by Hosny and Mumford [13] by means of a Variable Neighborhood Search (VNS), but at the expense of very high computing times. A more recent VNS has been proposed by Mladenović et al. [22], that used a binary tree to efficiently perform feasibility checks and obtained very good computational results. The multiple-vehicle case, known as the One-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP), was formally introduced by Shi et al. [30], who studied the case in which a maximum duration limit is imposed on each route. They presented a genetic algorithm and a three-index mathematical formulation making use of a binary variable xijk , taking value 1 if vehicle k travels along edge or arc (i, j), 0 otherwise, and a non-negative variable fij representing the flow of the single commodity on edge or arc (i, j). Computational experiments were performed only for the genetic algorithm, that was tested on a set of randomly generated instances with symmetric costs. The BRP is a generalization of the 1-PDTSP which involves more than one vehicle. Indeed, in the next sections we use successful properties and algorithmic ideas adapted for the BRP from [15] and [17]. Moreover, the BRP can be seen as a special case of the 1-PDVRP, because it does not consider maximum route duration. As previously mentioned, the issue of rebalancing a bike sharing system has attracted the interest of many researchers in recent years. Benchimol et al. [5] study the case in which the redistribution is performed by a single capacitated vehicle, split deliveries are allowed (i.e., a vertex may be visited more than once) and the sum of all requests is balanced to zero. They present complexity results, lower bounding techniques, and approximation algorithms, but do not provide computational results. In a recent paper, Chemla et al. [8] focus again on the single vehicle case, allowing split deliveries. Vertices with null demand are not forced to be visited, but can be used by vehicles as temporary buffer when transporting bikes among other stations. In their paper, the authors obtain a lower bound by solving the relaxation of the problem in which a limit is imposed on the maximum number of times that a vertex can be visited. They also obtain an upper bound by using a tabu search algorithm and run their bounding procedures on instances obtained by modifying those randomly created in [15]. 26 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM In another recent paper, Raviv et al. [27] define the static bicycle repositioning problem in which they do not only minimize total traveling costs of a fleet of heterogeneous vehicles, but also users’ dissatisfaction that is linked with a convex function to the inventory level of each station. The authors present two MILP formulations, an arc-indexed and a time-indexed one, each of them represents a different version of the problem. They allow limited or unlimited split delivery, limited or unlimited transshipment, dwelling with a maximum duration of each route and with synchronized transshipment. Exact and heuristics methods to speed up the computational times for solving the formulations are also presented in this paper. Contardo et al. [9] present a formulation for the dynamic version of the bike rebalancing problem, allowing the use of more than one vehicle. Their objective function is the maximization of the serviced demand. An arc flow formulation working on a discretized time horizon is proposed and solved with with Dantzig-Wolfe and Benders decomposition. Extensive tests on several randomly created instances are presented. 2.4 MILP formulations for the BRP In this section we present four Mixed Integer Linear Programming (MILP) formulations of the BRP. Computational evidence obtained from preliminary experiments suggested to us that it would be better to adopt two-index formulations for the BRP. 2.4.1 Formulation F1 The starting point of the aforementioned two-index formulations is the wellknown Multiple Traveling Salesman Problem (m-TSP), see, e.g., Bektas [4], in which at most m uncapacitated vehicles based at a central depot have to visit a set of vertices, with the constraint that each vertex is visited exactly once. By defining a binary variable xij , taking value 1 if arc (i, j) is used by a vehicle, 0 otherwise, the m-TSP can be modeled as: XX (m-TSP) min cij xij (2.1) i∈V j∈V X xij = 1 j ∈ V \ {0} (2.2) xji = 1 j ∈ V \ {0} (2.3) i∈V X i∈V X x0j ≤ m (2.4) X (2.5) j∈V X j∈V \{0} x0j = j∈V \{0} xj0 27 2.4. MILP FORMULATIONS FOR THE BRP XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ (2.6) i∈S j∈S xij ∈ {0, 1} i, j ∈ V. (2.7) Objective function (2.1) minimizes the traveling cost. Constraints (2.2) and (2.3) impose that every vertex but the depot is visited exactly once. Constraints (2.4) and (2.5) ensure, respectively, that at most m vehicles leave the depot, and that all vehicles that are used return to the depot at the end of their route. Constraints (2.6) are the classical subtour elimination constraints, see, e.g., Gutin and Punnen [12], that impose the connectivity of the solution. These constraints increase exponentially, so, as usual, we proceed in branch-and-cut fashion, by invoking a separation procedure to identify the violated ones from the non-violated ones, and then adding to the model only the violated constraints in an iterative way. The details will be given in the next section. To guarantee the feasibility of a solution with respect to the BRP, we need to include additional constraints in the m-TSP formulation, so as to ensure that demands are satisfied and vehicle capacities are not exceeded. This may be done in different ways. The first option is to define an additional continuous variable θj , representing the load of a vehicle after it visited vertex j, for j ∈ V . The load should be updated along the route by taking into consideration the fact that, if the vehicle travels along arc (i, j), then θj should be equal to θi + qj . The aforementioned restriction can be imposed by the non-linear constraints: θj ≥ (θi + qj ) xij i ∈ V, j ∈ V \ {0} (2.8) θi ≥ (θj − qj ) xij i ∈ V \ {0} , j ∈ V (2.9) max {0, qj } ≤ θj ≤ min {Q, Q + qj } j ∈ V. (2.10) Constraints (2.8) and (2.9) impose that, if xij takes value 1, then θj = θi + qj , and hence model the flow conservation independently of the sign of qj . Constraints (2.10) simply give lower and upper bounds on the loads. These constraints generalize the Miller-Tucker-Zemlin subtour elimination constraints for the TSP, see Miller et al. [21], to the case where vertices have demands unrestricted in sign. They can be linearized with the standard “big M” method, obtaining: θj ≥ θi + qj − M (1 − xij ) i ∈ V, j ∈ V \ {0} (2.11) θi ≥ θj − qj − M (1 − xij ) i ∈ V \ {0} , j ∈ V. (2.12) Constraints (2.8) and (2.9) are linearized to (2.11) and (2.12), respectively. In our implementation we set the “big M” equal to min {Q, Q + qj } in (2.11), and equal to min {Q, Q − qj } in (2.12). 28 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM Our formulation F1 for the BRP is thus given by (2.1)–(2.7), (2.10)– (2.12). Note that subtour elimination constraints must be kept in the formulation, because (2.10)–(2.12) are not enough to ensure connectivity of the solution when some demands are non-positive and some are non-negative. 2.4.2 Formulation F2 Our second formulation also builds upon the m-TSP, but makes use of an additional variable fij giving the flow over arc (i, j), i.e., the load on the vehicle traveling along arc (i, j), if any, for (i, j) ∈ A. To impose feasibility with respect to the BRP, it is then enough to include in the m-TSP: X X fji − fij = qj j ∈ V \ {0} (2.13) i∈V i∈V max{0, qi , −qj }xij ≤ fij ≤ min{Q, Q + qi , Q − qj }xij (i, j) ∈ A. (2.14) Constraints (2.13) model the balance of the flows on the arcs entering and leaving a given vertex. Constraints (2.14) impose lower and upper bounds on the flows on each arc, and make these bounds as tight as possible by considering whether or not an arc is traveled by a vehicle. Indeed, for what concerns the lower bound, if arc (i, j) is used, then fij should be at least greater than qi if qi > 0 (because qi has just been collected) or greater than −qj if qj < 0 (because qj has to be supplied to the next vertex). Similar considerations apply to the upper bound. Formulation F2 of the BRP is thus given by (2.1)–(2.7), (2.13)–(2.14). 2.4.3 Formulation F3 We use the approach proposed by Hernández-Pérez and Salazar-González [15, 17] for the 1-PDTSP in order to develop another formulation of the BRP. We start again from the m-TSP, but ensure that solutions satisfy demands, without exceeding the vehicle capacity, by adding to the model the following family of constraints: ( & P ') XX i∈S qi xij ≤ |S| − max 1, S ⊆ V \ {0} , S 6= ∅. (2.15) Q i∈S j∈S Constraints (2.15) are similar to the generalized subtour elimination constraints for the CVRP. They state that, for each subset S of vertices, the number of arcs with both tail and head in S should not exceed the cardinality of S minus the minimum number of vehicles required to serve S. An estimation of the minimum number of vehicles is simply obtained by computing the absolute value of the sum of the demands, dividing it by the vehicle capacity and then rounding up the result. This value can be zero when the sum of the qj is null. In such a case the value 1 is used instead, 29 2.4. MILP FORMULATIONS FOR THE BRP because at least one vehicle is needed (notice that S does not contain the depot). Our formulation F3 is thus given by (2.1)–(2.5), (2.7), and (2.15). Note that constraints (2.15) are exponentially many, and hence, as already observed for (2.6), we need a separation procedure that identifies violated constraints from non-violated ones. Also note that these constraints are valid for formulations F1 and F2, and may be used to improve their convergence to the optimum. 2.4.4 Formulation F4 We propose a fourth formulation of the BRP that builds upon the twocommodity flow model originally presented by Baldacci et al. [2] for the symmetric CVRP. This formulation first requires to modify the graph by adding a copy of the depot, defined in the following by a new vertex n+1. We e = A ∪ {(j, n + 1) : define Ve = V ∪ {n + 1} the resulting set of vertices, and A j ∈ Ve } ∪ {(n + 1, j) : j ∈ Ve }Pthe resulting set of arcs. Let us also define Ve0 = Ve \{0, n+1} and Qtot = j∈Ve0 qj . We set qn+1 = 0, cn+1,j = +∞, and cj,n+1 = cj0 for j ∈ Ve , knowing that c0,n+1 = 0, and then we set cj0 = +∞ for j ∈ Ve . We use three sets of variables. The first two have already been used in formulation F2: xij takes value 1 if arc (i, j) is used, 0 otherwise, for e and fij gives the flow over arc (i, j), i.e., the load of the vehicle (i, j) ∈ A, e The third variable is another passing over arc (i, j), if any, for (i, j) ∈ A. continuous variable gji that gives the residual space of the vehicle traveling e along arc (i, j), if any, for (i, j) ∈ A. In this formulation, vehicles leave the initial depot, vertex 0, visit customers, and then end their route in the final depot, vertex n + 1. Variable fij gives the load along the route performed by the vehicle, starting from the initial depot, vertex 0, following the vertices visited by the route and then ending in the final depot, vertex n + 1. In opposite way, gji gives the free space on the vehicle, starting from n + 1, retracing back the route and then ending 0. The resulting model is then: (Formulation F4) min XX (2.16) cij xij i∈Ve j∈Ve X xij = 1 j ∈ Ve0 (2.17) xji = 1 j ∈ Ve0 (2.18) i∈Ve X i∈Ve X j∈Ve x0j ≤ m (2.19) 30 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM X j∈Ve0 XX X xj,n+1 (2.20) xij ≤ |S| − 1 S ⊆ Ve0 , S 6= ∅ (2.21) x0j = j∈Ve0 i∈S j∈S fij + gji = Qxij X X (fij − gji ) = 2qj (fji − gij ) − e (i, j) ∈ A j ∈ Ve0 (2.22) (2.23) i∈Ve i∈Ve X f0j ≥ max {0, −Qtot } (2.24) fj,n+1 ≥ max {0, Qtot } (2.25) gj0 ≤ min {mQ, mQ + Qtot } (2.26) j∈Ve0 X j∈Ve0 X j∈Ve0 max{0, qi , −qj }xij ≤ fij fij ≤ min{Q, Q + qi , Q − qj }xij (Q − min{Q, Q + qi , Q − qj })xij ≤ gji gji ≤ (Q − max{0, qi , −qj })xij xij ∈ {0, 1} e (i, j) ∈ A (2.27) e (i, j) ∈ A (2.28) i, j ∈ Ve . (2.29) Constraints (2.17)–(2.20) and (2.29) are equivalent to the ones discussed for formulation F1, but adapted to the new sets of vertices and arcs. Constraints (2.22) state that, if a vehicle travels along arc (i, j), then the sum of the load and the residual space on that arc is equal to the vehicle capacity. Constraints (2.23) impose that the difference between loads and residual capacities that enter and leave a vertex is double of the demand of that vertex. The total load leaving the initial depot should be in any case nonnegative, and moreover, in case Qtot takes a negative value, it should be not lower than this value. This fact is imposed by constraints (2.24). Similarly, constraints (2.25) state that the total load entering the final depot is in any case non-negative, and not lower than the sum of all demands in case this is positive. Inequalities (2.26) state that the free space on the vehicles leaving the depot must be not greater than the minimum value between the total capacity of the m vehicles, and the total capacity plus Qtot . Finally, constraints (2.27) and (2.28) enforce lower and upper bounds on the continuous variables. 2.5. BRANCH-AND-CUT ALGORITHM 2.5 31 Branch-and-Cut algorithm The models presented in the previous section include an exponential number of constraints, hence we solve them with a Branch-and-Cut (B&C) algorithm. We use the B&C framework of CPLEX 12.2, that solves at every vertex of an enumeration tree the linear relaxation of a MILP model, and then invokes user-developed separation procedures for the possible addition of cuts. At the root node of the B&C procedure we obtain an initial solution by using a simple greedy heuristic. The greedy method builds routes one at a time, using the principle of the closest neighbor. It starts from the depot and then visits the closest, yet unserved, customer. It then extends the path by moving to the next closest neighbor for which the sum of collected and delivered demands is feasible (see Section 2.5.2 below for the algorithm used to determine if a path is feasible), if any. When no extension is possible, the route is closed by going back to the depot, and possibly a new route is initialized in an iterative fashion. The model is then initialized with the generalized subtour elimination constraints for sets of one or two vertices, hence xii = 0 for all i ∈ V and xij + xji ≤ 2 − max{1, d|qi + qj |/Qe}, for all (i, j) ∈ A. After testing a few branching strategies, we adopted the automatic strong branching procedure by CPLEX, that provides the best computational performance on our test bed. In Section 2.5.1 we present some valid inequalities that we use to improve the convergence of the algorithm to the optimum, whereas in Section 2.5.2 we discuss the separation procedures that we implemented. Since inequalities and separation procedures are based only on the xij variables, they apply directly to formulations 1, 2 and 3. The adaptation to formulation 4 is trivial, and is outlined in Section 2.5.2. 2.5.1 Valid inequalities We first propose two new simple families of clique inequalities with three vertices. Consider a pair of vertices i and j, and let S(i, j) ⊂ V \ {0} be the subset of vertices whose demand results in a total greater than Q or smaller than −Q. Namely, S(i, j) = {h ∈ V0 , h 6= i, h 6= j : |qi + qj + qh | > Q}. Then the following inequalities are valid for the BRP: X xij + xjh ≤ 1 i, j ∈ V \ {0}, h ∈ S(i, j) (2.30) h∈S(i,j) X xhi + xij ≤ 1 i, j ∈ V \ {0}, h ∈ S(i, j). (2.31) h∈S(i,j) We note that, in (2.30), at most one among the xjh variables may take the value of 1 because of the degree constraint, and that all of them are 32 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM incompatible with xij because of the capacity constraint. Thus the sum of all these variables is at most 1 in a feasible solution. A similar consideration applies to (2.31). For the next family of inequalities we need some further notation. Let P denote a path consisting of a sequence of vertices starting from the depot. Let also |P | denote the number of vertices in P , and P (i) denote the index of the i-th vertex of path P , for i = 0, 1, . . . , |P |−1, with P (0) = 0. Given P , we |P |−1 P |P |−1 P compute qPmin = mini=1 { ij=1 qP (j) } and qPmax = maxi=1 { ij=1 qP (j) }, that denote, respectively, the minimum and maximum of the cumulative demand along P . As observed by Hernández-Pérez and Salazar-González [15], a path P is infeasible with respect to the capacity constraint if qPmax −qPmin > Q. Indeed, if the vehicle leaves the depot with an empty load, then along the path it will reach a maximum load equal to qPmax , that clearly cannot exceed Q. Now notice that qPmin may be negative even in a feasible solution, but in this case the vehicle has to start from the depot by carrying −qPmin bikes. Hence, the maximum load becomes qPmax − qPmin , which also cannot exceed Q. Let P be the family of all infeasible paths, the following infeasible path constraints are thus valid inequalities for the BRP: |P |−2 X xP (i),P (i+1) ≤ |P | − 2 P ∈ P. (2.32) i=0 Inequality (2.32) simply states that, if path P is infeasible then not all the arcs connecting two consecutive vertices of P may belong to a feasible solution. A way to enforce them is to consider also the arcs connecting non-consecutive vertices of P . Indeed, any arc (P (i), P (j)) with j 6= i + 1 is incompatible with arcs (P (i), P (i + 1)) and (P (j − 1), P (j)), because of, respectively, out-degree and in-degree constraints. Hence we can add the corresponding variable, xP (i),P (j) to the left-hand side of (2.32), without affecting the right-hand side value. This process can be repeated for all arcs connecting two non-consecutive vertices in the path, with the exception of those arcs leaving the depot, because up to m of them may belong to a feasible solution. Hence, we obtain the following: |P |−2 |P |−1 x0,P (1) + X X xP (i),P (j) ≤ |P | − 2 P ∈ P. (2.33) i=1 j=i+1 Inequalities (2.33) generalize, in the case of multiple vehicles, the tournament constraints, discussed by Ascheuer et al. [1] for the Traveling Salesman Problem. Note that these constraints can be used in directed formulations (where a variable is associated to each directed arc), but cannot be applied to undirected ones (where variables are associated to undirected edges). 2.5. BRANCH-AND-CUT ALGORITHM 2.5.2 33 Separation procedures The aim of this section is to present the procedures that we use to determine whether or not the valid inequalities we proposed in Section 2.5.1 are violated by a given solution x (possibly fractional). Separations S1 and S2. The inequalities of type (2.30) and (2.31) are separated exactly, by enumerating all possible pairs of vertices i and j, computing the set Sij , and then evaluating if the sum of the x involved in the inequality exceeds one. In the following we will refer the separation of (2.30) and (2.31) as separation S1 and separation S2, respectively. Separation S3. To separate constraints (2.6) and (2.15), we first build a supporting graph G = (V , A), where V = V , A = {(i, j) ∈ A : xij > 0}, and a capacity xij is assigned to every arc (i, j) ∈ A. Constraints (2.6) may be separated exactly as usually done for the TSP, by computing O(n) max flows on G, using the depot as a source and any vertex i, in turn, as a sink. If the max flow value obtained is lower than one, then i is disconnected from the depot, and hence the cut that corresponds to the set S induced by the min cut may be added to the model. For the BRP, we obtain a simple algorithmic improvement by checking, for any set S induced by a min cut, if the minimum number of vehicles required to serve S is lower than the max flow value obtained, and, in such a case, we add the corresponding (stronger) constraint (2.15). In this way the exact separation of (2.6) is used as a heuristic for separating (2.15). We refer to this procedure as separation S3. Separation S4. To separate constraint (2.15), we extend the procedure developed in Hernández-Pérez and Salazar-González [15] for the 1-PDTSP to the directed case. First of all we associate a demand q0 = Qtot to the 0 depot. Then we build a new supporting graph G , obtained by adding two dummy nodes, n + 1 and n + 2, to G. We connect n + 1 to any i ∈ V having qi > 0 with an arc of capacity qi /Q, and then connect any i ∈ V having qi < 0 to n + 2 with an arc of capacity −qi /Q (in this way, the capacities associated with the arcs are always non-negative) . We then compute the 0 max flow on G , using n + 1 as a source and n + 2 as a sink. The constraint (2.15) corresponding to the set S induced by the min cut is then checked, and, if violated, it is added to the model. We refer to Hernández-Pérez and Salazar-González [15] for further details. Conforming to the fact that we are solving a problem on an asymmetric graph, we perform a second separation for (2.15). We build a second 00 modified supporting graph G , adding again two new dummy vertices, n + 1 00 and n + 2, to G. In this case however we include in G new arcs (n + 1, i) of capacity −qi /Q for all i ∈ V having qi < 0, and new arcs (i, n + 2) of capacity qi /Q for all i ∈ V having qi > 0. Once more, we use the max flow procedure on the resulting supporting graph, from n + 1 to n + 2, and check the constraints (2.15) for the sets S induced by the min cuts. In the 34 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM following, these procedures are referred to as separation S4. Separation S5. The tournament constraints (2.33) are separated exactly, by generating all possible paths starting from the depot and using a depth-first strategy. We initialize vector P with P (0) = 0, then select the first outgoing arc having a positive value of x, say, (0, i), and extend the path to include the head of the selected arc by setting P (1) = i. The process is then reiterated. Every time we add a vertex to the path, we check if it is infeasible. If so, then we add the cut and backtrack to the previous vertex, otherwise we continue extending the path. The path extension continues as long as the sum of the involved xij is large enough to possibly lead to a violated cut, i.e., as long as it is strictly greater than |P | − 2. As soon as the sum becomes smaller, we backtrack to the previous vertex. Anytime we backtrack, we continue the depth-first search by selecting the next arc with positive value of x and then extend the path consequently. Suppose a violated cut of type (2.33) has been found, then we know that the set S = {P (1), P (2), . . . , P (|P |)} is currently visited by a single vehicle (the one performing the path P ). Now P we estimate the minimum number of vehicles required to serve S using d| i∈S qi |/Qe, and, if this is greater than one, we add the violated generalized subtour elimination constraint (2.15) for this set S. Constraints (2.15) are usually stronger than (2.33), but do not dominate them (because the latter involves variable x0,P (1) , not contained in the former), and hence they are both profitable for the model solution. The current procedure is called separation S5. The separation procedures (S1-S5) are invoked at every node of the enumeration tree in the order in which we described them. With regards to formulation F4, there is only a slight modification to implement. Recall that this formulation works on a modified graph Ve , where n + 1 is a copy of the original depot 0. When creating the supporting graph G, we merge again 0 and n+1 into a unique vertex 0 (this is done by simply setting xj,0 = xj,n+1 for all j ∈ V ), and then use the separation process just described for the previous formulations. The resulting cut, if any, is then mapped back on Ve . On the basis of computational evidence resulting from detailed experimentation, the separation process for all formulations is terminated as soon as a violated cut is found. 2.6 Benchmark Instances In our attempt to solve real-world instances, we collected real data from the web sites of twenty-two bike sharing systems characterized by diverse size. The cities included in our studies are: Bari, Brescia, Bergamo, La Spezia, Parma, Rome, Torino, Treviso, and Reggio Emilia, in Italy; Dublin in Ireland; Boston, Denver, Madison, Miami, Minneapolis, and San Anto- 35 2.6. BENCHMARK INSTANCES nio in the USA; Ottawa and Toronto in Canada; Ciudad de Mexico and Guadalajara in Mexico; Buenos Aires in Argentina and Rio de Janeiro in Brazil. We have been in touch with the bike sharing operators of these cities, in particular with those people responsible for the bike repositioning, to obtain information regarding the depot location, the desirable level of occupation, the characteristics of the available fleet of vehicles and the type of repositioning performed. Not all of them furnished us with all the required information. In general, we can state that some of them perform the repositioning during the night, some others also during the day. From the web sites we collected the coordinates of the stations and of the depot. If no information for the depot was available, we assumed that the depot was located at the same place as one of the stations. We used a Geographical Information System to compute the shortest traveling distances cij (in meters) between each pair of points, considering the two possible directions. We then took a snapshot of the nightly level of occupation at each station, and fixed the demand of the station to be the difference between the level of occupation encountered and the desired level of occupation of the station. Indeed, according to the information provided by the majority of operators, the most common rule adopted to rebalance the stations is to fill half of the slots in each station, thus we set the desired level of occupation of a station to half its number of slots. Also note that, for those cities where the depot was allocated to a bike station, we set the demand of that station to 0. |V | min{qi } avg{qi } max{qi } dev{qi } min{cij } avg{cij } max{cij } dev{cij } City Country Bari Reggio Emilia Bergamo Parma Treviso La Spezia Buenos Aires Ottawa San Antonio Brescia Roma Madison Guadalajara Dublin Denver Rio de J. Boston Torino Toronto Miami Ciudad de M. Minneapolis Italy 13 Italy 14 Italy 15 Italy 15 Italy 18 Italy 20 Argentina 21 Canada 21 U. S. 23 Italy 27 Italy 28 U. S. 28 Mexico 41 Ireland 45 U. S. 51 Brazil 55 U. S. 59 Italy 75 U. S. 80 U. S. 82 Mexico 90 U. S. 116 -5 -10 -12 -6 -4 -5 -20 -5 -4 -11 -17 -6 -11 -11 -8 -7 -8 -7 -11 -8 -17 -9 -1.54 -2.00 -1.00 -1.07 -0.83 0.05 -0.43 -0.05 1.74 -1.41 -2.36 0.29 -1.07 -1.42 -0.69 -1.47 -0.27 -0.49 0.15 -2.24 -0.97 -0.79 5 3 10 4 3 6 20 5 8 4 18 8 1 6 7 7 16 9 12 9 17 5 2.70 4.17 5.39 2.76 2.23 2.93 17.15 2.58 3.43 3.69 9.45 2.93 1.94 3.73 3.28 3.82 5.28 3.73 5.17 3.99 8.48 2.87 400 300 100 200 340 193 689 180 98 200 200 53 60 203 211 420 243 23 150 68 15 6 2283.97 2095.05 1532.86 3121.43 3510.99 2521.61 4676.75 2219.15 1950.98 2571.65 5989.55 3085.99 3278.30 2190.50 3873.94 5328.35 3911.82 2527.84 2339.03 4000.00 2551.94 6045.24 5400 5500 3200 8800 8398 6128 12780 5030 4808 6600 27400 9922 14728 4734 12000 16591 19239 7200 6283 13771 7264 19468 1067.62 1110.44 631.94 1857.86 2133.37 1279.82 2246.80 1012.63 944.61 1174.49 7361.37 1780.75 2440.40 933.16 2643.54 2587.97 2378.22 1157.14 1103.70 3336.49 1409.34 3558.17 Table 2.2: Benchmark instances (notation explained in Table 2.1). According to the data we collected, the most common vehicle capacities encountered in practice are 30, 20 and 10 bikes for each vehicle. We applied these three values to the data obtained for each city. For some instances the minimum vehicle capacity used is set to maxi∈V {|qi |}, when the number of the latter exceeds 10. For Buenos Aires, whose maximum demand was 36 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM 20, we tested only 20 and 30. We generated 65 instances in total, that are summarized in Table 2.2. The values min{qi }, avg{qi }, max{qi }, and dev{qi } give, respectively, the minimum, average, and maximum demand, and the standard deviation. Similar information is provided for the distances cij . The number of vertices varies from 13 to 116 stations. All test instances have variability in the number of bikes leaving the depot (since avg{qi } is not 0). All distances are given in meters. All instances are available online at http://www.or.unimore.it/resources.htm. 2.7 Computational results All algorithms described in Sections 4.4 and 3.5.2 were coded in C/C++ and run on an Intel Core i3-2100 CPU, 3.10 GHz, 4.00 GB. We used CPLEX 12.2 as the MILP solver imposing the selection of a single processor. Formulations F1−F4 were computationally tested on the problem instances described in Section 2.6. For clarity purposes, details of the computational implementation of the formulations we tested are given in Table 2.3, where we also include the additional separation procedures described in Section 2.5.2. Formulation Formulation Formulation Formulation F1 F2 F3 F4 variables core formulation additional separations xij , θj xij , fij xij xij , fij , gij (2.1)–(2.7), (2.10)–(2.12), S3 (2.1)–(2.7), (2.13)–(2.14), S3 (2.1)–(2.5), (2.7), (2.15), S3, S4 (2.16)–(2.29), S3 S1, S1, S1, S1, S2, S2, S2, S2, S4, S5 S4, S5 S5 S4, S5 Table 2.3: Implementation of formulations F1−F4. In this section, we present the computational results of the B&C algorithm using formulations F1−F4. The B&C algorithm was terminated when either the optimal solution was found or a predetermined time-limit elapsed. The time-limit imposed was 3600 CPU seconds. Table 2.4 reports the computational results obtained for the complete set of 65 problem instances. In this table, the following information is provided for each problem instance: • City (|V |, Q): City name associated with a given problem instance which is uniquely identified by the number of vertices |V | of the corresponding digraph and the vehicle capacity Q used to transport the bikes at the specified city; • U B: The value of the best feasible solution found by the B&C algorithm using formulations F1 to F4; • Gap1 −Gap4 : Percentage deviation from U B of LB1 −LB4 , best lower bounds obtained by the B&C algorithm using core formulations F1 to F4 including the set of additional separations for each formulation, 2.7. COMPUTATIONAL RESULTS 37 respectively, as shown in Table 3. Gapi = 100/(1 − LBi /U B), for i = 1, . . . , 4. • T ime: Computational time for running the B&C algorithm, in CPU seconds. To compare the average performance of formulations F1−F4 over the complete set of problem instances, the following additional information is given in Table 2.4: • Opt: The total number of problem instances solved to optimality by the B&C algorithm within 3600 seconds; • #N odes: Average number of nodes (over all instances) explored by the B&C algorithm; • #Cuts: Average number of cuts generated by the B&C algorithm. As shown in Table 2.4, the first 25 problem instances and a large number of other instances are easily solved by all formulations within a few seconds. Formulation F1 gives the worst results in terms of average gap, computational time, and number of generated cuts, whereas, formulations F2 and F4 demonstrate similar performance for all performance indicators. On the other hand, F3 performs best over all formulations with average Gap3 = 2.24% and it optimally solves all problem instances including up to 50 vertices. Indeed, formulation F3 finds the optimal solution for 49 out of 65 instances within an average time of 15 minutes generating an average of approximately 1200 B&C nodes. However, it is worth noting that, for some of the larger instances, Gap3 is larger than Gap2 , (e.g., Ciudad de Mexico (90, 17)) or Gap4 (e.g., Miami (82, 10)). Further insight into the best performing formulation F3 was gained by computationally evaluating the impact of each separation procedure on the resulting percentage gaps computed at the root node of the B&C tree for the most difficult problem instances. In Table 2.5 we test the core formulation F3, see Table 2.3, and the ones obtained by including just one of the separation procedures at a time. We denote with Gapcore the percentage deviation from U B of the lower bound obtained with the core version, while we use Gap+ (Sx) to denote the results of the core version plus separation Sx. In Table 2.6 we present the results of the full version of formulation F3 (i.e., core formulation plus all separation procedures) and those obtained by removing from it one separation procedure at a time. We denote with Gapf ull the percentage deviation from U B of the lower bound obtained with the full version, while we use Gap− (Sx) to denote the results of the full version minus separation Sx. 38 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM F1 Inst. City (|V |, Q) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 Bari (13, 30) Bari (13, 20) Bari (13, 10) Reggio Emilia (14, 30) Reggio Emilia (14, 20) Reggio Emilia (14, 10) Bergamo (15, 30) Bergamo (15, 20) Bergamo (15, 12) Parma (15, 30) Parma (15, 20) Parma (15, 10) Treviso (18, 30) Treviso (18, 20) Treviso (18, 10) La Spezia (20, 30) La Spezia (20, 20) La Spezia (20, 10) Buenos Aires (21, 30) Buenos Aires (21, 20) Ottawa (21, 30) Ottawa (21, 20) Ottawa (21, 10) San Antonio (23, 30) San Antonio (23, 20) San Antonio (23, 10) Brescia (27, 30) Brescia (27, 20) Brescia (27, 11) Roma (28, 30) Roma (28, 20) Roma (28, 18) Madison (28, 30) Madison (28, 20) Madison (28, 10) Guadalajara (41, 30) Guadalajara (41, 20) Guadalajara (41, 11) Dublin (45, 30) Dublin (45, 20) Dublin (45, 11) Denver (51, 30) Denver (51, 20) Denver (51, 10) Rio de J. (55, 30) Rio de J. (55, 20) Rio de J. (55, 10) Boston (59, 30) Boston (59, 20) Boston (59, 16) Torino (75, 30) Torino (75, 20) Torino (75, 10) Toronto (80, 30) Toronto (80, 20) Toronto (80, 12) Miami (82, 30) Miami (82, 20) Miami (82, 10) Ciudad de M. (90, 30) Ciudad de M. (90, 20) Ciudad de M. (90, 17) Minneapolis (116, 30) Minneapolis (116, 20) Minneapolis (116, 10) Average Gaps and Times Opt #Nodes #Cuts F2 F3 F4 UB Gap1 Time Gap2 Time Gap3 Time Gap4 Time 14600 15700 20600 16900 23200 32500 12600 12700 13500 29000 29000 32500 29259 29259 31443 20746 20746 22811 76999 91619 16202 16202 17576 22982 24007 40149 30300 31100 35200 61900 66600 68300 29246 29839 33848 57476 59493 64981 33548 39786 54392 51583 53465 67459 122547 156140 259049 65669 71879 75065 47634 50204 64797 41549 47898 60763 156104 229237 415762 88227 116418 109573 137843 186449 298886 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 5.36 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.18 0.00 2.43 7.70 0.00 0.00 1.47 4.16 8.57 28.58 0.00 0.00 0.99 0.00 2.38 11.30 3.54 11.81 13.15 23.68 38.43 38.14 28.67 29.95 20.00 4.58 23.45 37.08 0.06 0.06 0.16 0.03 0.09 5.59 0.05 0.06 0.27 0.05 0.05 0.22 0.12 0.12 0.27 0.09 0.09 0.16 1.36 23.26 0.06 0.06 0.30 0.19 3.63 3600.00 0.70 6.07 24.46 4.27 22.04 16.15 0.09 0.31 6.02 1.16 2.29 3600.00 435.69 3600.00 3600.00 66.57 410.05 3600.00 3600.00 3600.00 3600.00 255.25 1899.07 3600.00 464.46 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.14 1.17 0.00 0.00 0.00 1.57 2.29 2.07 0.00 1.70 2.59 0.00 2.70 9.66 4.47 11.02 10.74 8.43 11.02 6.07 23.28 23.59 9.00 5.82 18.61 17.65 0.11 0.10 0.39 0.03 0.52 0.67 0.05 0.26 0.74 0.03 0.02 0.26 0.14 0.20 0.75 0.16 0.10 1.45 3.54 3.58 0.05 0.06 1.90 2.74 1.36 7.07 0.77 6.38 10.83 5.48 7.61 3.26 0.10 0.44 16.56 2.97 8.18 39.15 180.81 3600.00 3600.00 11.01 372.78 1535.62 3600.00 3600.00 3600.00 1136.46 3600.00 3600.00 919.59 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.44 2.23 0.00 0.00 0.37 0.00 0.00 9.25 1.82 11.05 11.84 2.48 8.66 6.49 23.05 23.61 9.56 1.23 15.40 17.96 0.02 0.02 0.03 0.02 0.03 0.05 0.03 0.00 0.11 0.02 0.02 0.05 0.05 0.03 0.09 0.03 0.03 0.09 0.37 16.80 0.02 0.02 0.11 0.08 0.09 1.06 0.06 0.20 1.37 0.84 1.72 0.58 0.02 0.05 0.53 0.22 0.34 1.79 6.05 76.72 610.80 0.67 25.33 231.52 65.57 3600.00 3600.00 28.14 473.84 3600.00 13.79 859.69 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.97 1.82 2.23 0.00 1.63 2.94 0.00 3.50 9.23 4.42 11.39 10.88 9.01 10.99 6.12 23.74 23.63 10.73 5.96 18.41 18.93 0.27 0.11 0.32 0.06 0.33 0.22 0.10 0.21 0.95 0.06 0.06 0.45 0.62 0.45 0.79 0.31 0.24 1.34 12.40 7.35 0.09 0.09 1.26 4.38 7.52 17.86 2.22 9.11 9.31 8.46 33.38 4.99 0.24 0.84 6.36 6.22 7.21 17.99 280.05 3140.89 3513.55 15.88 1096.95 3443.68 3600.00 3600.00 3600.00 975.97 3600.00 3600.00 1703.46 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 5.33 1330.02 2.69 1228.99 2.24 42 44 49 2134.32 1847.74 1240.91 2233.02 630.14 1908.28 923.37 2.73 1272.84 46 1440.65 578.09 Table 2.4: Computational results for formulations F1−F4 on all problem instances. 39 2.7. COMPUTATIONAL RESULTS City (|V |, Q) Dublin (45 ,30) Dublin (45 , 20) Dublin (45, 11) Denver (51, 30) Denver (51, 20) Denver (51, 10) Rio de Janeiro (55, 30) Rio de Janeiro (55, 20) Rio de Janeiro (55, 10) Boston (59, 30) Boston (59, 20) Boston (59, 16) Torino (75, 30) Torino (75, 20) Torino (75, 10) Toronto (80, 30) Toronto (80, 20) Toronto (80, 12) Miami (82, 30) Miami (82, 20) Miami (82, 10) Ciudad de Mexico (90, 30) Ciudad de Mexico (90, 20) Ciudad de Mexico (90, 17) Minneapolis (116, 30) Minneapolis (116, 20) Minneapolis (116, 10) Average gaps (%) Gapcore Gap+ (S1) Gap+ (S2) Gap+ (S5) 1.45 4.56 5.52 0.52 2.58 3.34 2.05 2.51 4.12 1.87 3.31 4.63 1.35 3.38 11.73 5.55 15.19 14.40 3.28 8.91 6.71 24.62 25.43 11.81 2.97 15.97 19.44 1.45 4.31 5.61 0.52 2.58 3.05 2.05 2.51 3.99 1.76 3.45 4.25 1.35 3.81 11.44 5.55 13.48 14.87 3.28 9.17 7.03 25.23 24.96 11.31 2.97 15.97 19.14 1.45 3.68 4.69 0.52 2.58 4.29 2.05 2.51 3.35 1.76 3.11 4.13 1.35 3.30 11.50 5.55 14.10 14.97 3.28 9.29 6.86 25.18 24.94 11.85 2.97 15.97 18.83 1.45 4.56 4.86 0.52 2.56 3.32 2.05 2.51 4.12 1.87 3.28 4.63 1.35 3.38 11.73 5.55 15.19 14.40 3.28 8.91 6.71 24.62 25.43 11.80 2.97 15.97 19.44 7.67 7.60 7.56 7.65 Table 2.5: Root node – Comparison of various separation procedures on the core formulation F3. The results reported in Table 2.5 demonstrate that the average gap of the core formulation F3 is close to 7% but slightly greater than 25% in the worst case – Ciudad De Mexico (90, 20). The average gap Gapcore is only slightly improved by separately adding either separation S1, S2 or S5; however, it is worth noting that separations S1, S2 and S5 are computed very fast. The importance of separations S3 and, more clearly, S4 is evident from the results presented in Table 2.6, namely, removing S3 and S4 from the full formulation F3 leads to an increase of the percentage gap from an average value of Gapf ull = 7.53% to Gap− (S3) = 8.18% and Gap− (S4) = 14.56%, respectively. Notably, this gap increases from 18.52% to 36.39% for separation S4 in the case of Minneapolis (116, 10). Based on the overall computational results presented in this section, we note that the computational difficulty of the instances grows not only with the number of vertices, as it is expected, but also when the capacity of the vehicles decreases. This behaviour was also noted for the 1-PDTSP by Hernández-Pérez and Salazar-González [15] and is due to the fact that small capacity vehicles are forced to perform long and complicated routes for pickups and deliveries. An illustrative example is given in Figure 2.4, which depicts the three optimal solutions obtained for the problem instance 40 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM City (|V |, Q) Dublin (45 ,30) Dublin (45 , 20) Dublin (45, 11) Denver (51, 30) Denver (51, 20) Denver (51, 10) Rio de J. (55, 30) Rio de J. (55, 20) Rio de J. (55, 10) Boston (59, 30) Boston (59, 20) Boston (59, 16) Torino (75, 30) Torino (75, 20) Torino (75, 10) Toronto (80, 30) Toronto (80, 20) Toronto (80, 12) Miami (82, 30) Miami (82, 20) Miami (82, 10) Ciudad de M. (90, 30) Ciudad de M. (90, 20) Ciudad de M. (90, 17) Minneapolis (116, 30) Minneapolis (116, 20) Minneapolis (116, 10) Average gaps (%) Gapf ull Gap− (S1) Gap− (S2) Gap− (S3) Gap− (S4) Gap− (S5) 1.45 3.68 5.16 0.52 2.56 3.49 2.05 2.51 3.30 1.76 3.45 3.87 1.35 3.81 11.56 5.55 13.30 14.99 3.28 9.14 7.00 25.46 25.04 11.48 2.97 15.97 18.52 1.45 3.68 4.43 0.52 2.56 4.29 2.05 2.51 3.35 1.76 3.11 4.13 1.35 3.30 11.50 5.55 14.10 14.97 3.28 9.25 6.86 25.18 24.94 11.48 2.97 15.97 18.83 1.45 4.31 5.61 0.52 2.56 2.98 2.05 2.51 3.41 1.76 3.45 4.25 1.35 3.81 11.44 5.55 13.48 14.87 3.28 9.14 7.03 25.23 24.96 11.31 2.97 15.97 19.14 3.75 6.38 5.26 1.31 2.60 4.82 2.05 2.51 3.30 2.75 4.08 4.48 2.50 4.68 12.84 7.25 14.62 15.36 3.36 9.17 7.01 25.51 25.04 11.50 3.59 16.50 18.72 3.47 12.08 13.95 1.64 3.33 6.65 6.45 10.56 21.50 1.68 3.88 4.33 1.61 4.41 15.15 6.08 14.90 18.99 20.32 28.36 35.36 32.58 34.97 24.47 6.73 23.42 36.39 1.45 3.68 5.16 0.52 2.58 3.49 2.05 2.51 3.30 1.76 3.45 3.87 1.35 3.81 11.56 5.55 13.30 14.99 3.28 9.17 7.00 25.46 25.04 11.55 2.97 15.97 18.83 7.53 7.53 7.57 8.18 14.56 7.54 Table 2.6: Root node – Comparison of various separation procedures on the full formulation F3. arising in Reggio Emilia for the following cases: (i) Q=10, three vehicle routes are needed. The first one visits stations 2, 6, 13, 5, 8 and 7, the second vehicle visits stations 1, 3, 10, 4, 9, and 11 but the third one visits only station 12. The total distance travelled is 32.5 km. (ii) Q=20, two vehicle routes are needed. The first one visits stations 13, 2, 10, 4, 6, 3, 1, 5, 8 and 7 while stations 9, 11, and 12 are visited by the second vehicle. Total distance travelled is 23.2 km. (iii) Q=30, a single vehicle route visits all stations (traveling for 16.9 km) in the following sequence: 7, 5, 8, 13, 2, 10, 4, 6, 3, 1, 11, 9, and 12. 2.7.1 Randomly generated instances It is well known that TSP formulations perform differently on clustered and randomized data set. To this end, we created a set of random instances, in addition to the real-world ones, to evaluate the quality of our algorithm. 41 2.7. COMPUTATIONAL RESULTS F1 Name |V | Q F2 F3 F4 UB Gap1 Time Gap2 Time Gap3 Time Gap4 Time 59429 67789 102941 52980 58204 75223 60960 67212 94465 67491 74429 103117 76574 89762 133824 1.45 1.92 3.85 0.00 0.00 2.42 0.00 0.00 4.55 0.00 0.00 12.37 6.15 9.96 12.95 3600.00 3600.00 3600.00 70.23 825.68 3600.00 14.59 2348.79 3600.00 872.29 2744.08 3600.00 3600.00 3600.00 3600.00 0.00 0.00 0.00 0.00 0.00 2.84 0.00 1.19 1.23 0.00 0.00 1.86 3.08 4.39 1.90 451.32 1171.56 890.31 42.42 1860.36 3600.00 52.95 3600.00 3600.00 403.45 1143.11 3600.00 3600.00 3600.00 3600.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 1.07 0.00 0.88 0.78 13.23 115.25 217.83 2.81 56.08 591.15 7.83 41.82 248.73 11.83 33.71 3600.00 1025.23 3600.00 3600.00 0.00 0.00 0.00 0.00 0.63 3.18 0.00 0.95 0.28 0.00 0.00 2.17 3.52 3.27 1.78 241.58 845.35 842.11 115.88 3600.00 3600.00 210.09 3600.00 3600.00 1155.85 1333.42 3600.00 3600.00 3600.00 3600.00 Average Gaps and Times 3.71 2618.38 1.10 2081.03 0.18 Opt 6 8 12 #Nodes 7741.20 6479.47 4664.30 #Cuts 2822.73 903.27 1145.80 877.70 R40 R40 R40 R45 R45 R45 R50 R50 R50 R55 R55 R55 R60 R60 R60 30 20 10 30 20 10 30 20 10 30 20 10 30 20 10 40 40 40 45 45 45 50 50 50 55 55 55 60 60 60 30 20 10 30 20 10 30 20 10 30 20 10 30 20 10 1.05 2236.28 7 4958.07 758.67 Table 2.7: Tests on randomly generated instances We followed a classical random generation method adopted in the CVRP literature, see e.g. Toth and Vigo [31]. We randomly generated instances including 40, 45, 50, 55 and 60 vertices, because problems of this size are challenging to solve for real-world cases. The coordinates of the vertices are randomly generated between 0 and 100, while the depot is set in (50, 50). Distances between vertices are computed as the Euclidean ones, but perturbed by a factor δ, randomly chosen between −20% and 20% to induce asymmetry on the costs. In more detail, let bij be the Euclidean distance between the two vertices i and j, for i, j, ∈ V, j > i. The cost matrix is computed by setting cij = bij (1 + δ), for i, j ∈ V , then the resulting cij values are multiplied by 100 and rounded up to the next integer value. A check on triangularity of distances is then performed to adjust non-triangular distances. We considered 10, 20 and 30 as plausible values for Q. The demand of each vertex is randomly generated between −10 and 10 but other than zero, while the demand of the depot is set to zero. In Table 2.7 we report the instance name, the number of vertices, the vehicle capacity, the best upper bound found and, for each formulation, the percentage gap between the best upper bound and the best lower bound, and the solution time. The average gaps and computational times are also reported. The number of instances solved to optimality is indicated by Opt, while #N odes and #Cuts illustrate the average number of visited nodes and added cuts for each formulation. The time limit was set to 3600 seconds. The results confirm the computational experience derived from solving the real-world instances. When increasing the number of vertices and the vehicle capacity the instances get harder to solve. The formulation having better results is, once again, F3. As reported in Table 2.7, 12 instances out of 15 are solved to optimality by F3, and the percentage gap between the best upper bound and the best lower bound is, on average, lower than 42 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM 0.20%. The average solution time is less than 15 minutes. Overall, tests on randomly generated instances confirm the quality of the proposed algorithms and formulations. 2.8 Conclusions In this chapter we considered the Bike sharing Rebalancing Problem, which calls for the repositioning of public bikes of a bike sharing program at minimum cost, using a fleet of capacitated vehicles. We modeled the problem proposing four different formulations, which take into account different types of variables and constraints. All formulations involve an exponential number of constraints, so we solved them by using a branch-and-cut algorithm. By collecting data from several web sites, we produced an interesting test bed containing 65 instances. We made the test bed publicly available, and used it to computationally evaluate the branch-and-cut algorithm. Computational evidence suggests that the best computational results are produced by formulation F3. This formulation efficiently solves instances with up to 50 vertices, but may fail in solving some larger ones in one hour of computational time on a standard PC. Acknowledgments We thank the Mobility Concilorship of Reggio Emilia, and Alessandro Meggiato, Mobility Manager of the Municipality of Reggio Emilia, for the data and information supplied. We also thank Scott Mullen (General Manager of Hubway, Boston bike sharing system), Matt Verlee (Customer Relations & Low Income Outreach Manager of Denver B-Cycle), Marco Verità (of Brescia Mobilità, Brescia bike sharing system), Ben Kunde (Tech Manager, Madison B-Cycle), Caleb Cohate (San Antonio B-Cycle), Sonia Fakiel (Mejor en Bici, Buenos Aires bike sharing system) and ATB Mobilità (La BiGi, Bergamo bike sharing system) for the information they furnished us with. 43 2.8. CONCLUSIONS (a) (b) (c) Figure 2.3: Typical arrivals and departures per hour in a station of (a) the first group, (b) the second group and (c) the third group (τ = hour of the day, ν = cumulative number of bikes arriving into or departing from a station within a seven-months period). 44 CHAPTER 2. THE BIKE SHARING REBALANCING PROBLEM (a) (b) (c) Figure 2.4: Optimal solutions for Reggio Emilia with (a) Q=10, (b) Q=20, and (c) Q=30. Bibliography [1] N. Ascheuer, M. Fischetti, M. Grötschel. A polyhedral study of the asymmetric travelling salesman problem with time windows. Networks, 36:69–79, 2000. [2] R. Baldacci, E. Hadjiconstantinou, A. Mingozzi, An exact algorithm for the capacitated vehicle routing problem based on a two-commodity network flow formulation, Operations Research, 52:723–738, 2004. [3] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems, Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems for Goods Transportation. In [32], 2014. [4] T. Bektas, The multiple traveling salesman problem: an overview of formulations and solution procedures, Omega, 34:209 – 219, 2006. [5] M. Benchimol, P. Benchimol, B. Chappert, A. De La Taille, F. Laroche, F. Meunier, L. Robinet, Balancing the stations of a self service ”Bike Hire” system, RAIRO-Operations Reserach, 45:37–61, 2011. [6] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, G. Laporte, Static pickup and delivery problems: A classification scheme and survey, TOP, 15:1– 31, 2007. [7] F. Boctor, J. Renaud, F. Cornillier, Trip packing in petrol stations replenishment, Omega, 39:86 – 98, 2011. [8] D. Chemla, F. Meunier, R. Wolfler Calvo, Bike sharing systems: Solving the static rebalancing problem, Discrete Optimization, 10:120–146, 2013. [9] C. Contardo, C. Morency, L.-M. Rousseau, Balancing a Dynamic Public Bike-Sharing System, Technical Report CIRRELT-2012-09, CIRRELT, 2012. [10] P. DeMaio, Bike Sharing: History, Impacts, Model of Provision and Future, Journal of Public Transportation, 10:41–56, 2009. 45 46 BIBLIOGRAPHY [11] K. Doerner,J.-J. Salazar-González Vehicle Routing: Problems, Methods, and Applications, Chapter 7: Pickup-and-Delivery Problems for People Transportation. In [32], 2014. [12] G. Gutin, A. Punnen (eds.), The Traveling Salesman and its Variations, Kluwer, Dordrecht, 2002. [13] M. Hosny, C. Mumford, Solving the one-commodity pickup and delivery problem using an adaptive hybrid VNS/SA approach, in: R. Schaefer, C. Cotta, J. Kolodziej, G. Rudolph (eds.), Parallel Problem Solving from Nature, PPSN XI, volume 6239 of Lecture Notes in Computer Science, Springer, Berlin, 2010, pp. 189–198. [14] H. Hernández-Pérez, I. Rodrı́guez-Martı́n, J.-J. Salazar-González, A hybrid GRASP/VND heuristic for the one-commodity pickup-anddelivery traveling salesman problem, Computers & Operations Research, 36:1639–1645, 2009. [15] H. Hernández-Pérez, J.-J. Salazar-González, A branch-and-cut algorithm for a traveling salesman problem with pickup and delivery, Discrete Applied Mathematics, 145:126–139, 2009. [16] H. Hernández-Pérez, J.-J. Salazar-González, Heuristics for the onecommodity pickup-and-delivery traveling salesman problem, Transportation Science, 38:245–255, 2004. [17] H. Hernández-Pérez, J.-J. Salazar-González, The one-commodity pickup-and-delivery traveling salesman problem: Inequalities and algorithms, Networks, 50:258–272, 2007. [18] A. Kaltenbrunner, R. Meza, J. Grivolla, J. Codina, R. Banchs, Urban cycles and mobility patterns: Exploring and predicting trends in a bicycle-based public transport system, Pervasive and Mobile Computing, 6:455–466, 2010. [19] J.-R. Lin, T. Yang, Strategic design of public bicycle sharing systems with service level constraints, Transportation Research Part E 47:284– 294, 2010. [20] G. Martinovic, I. Aleksi, A. Baumgartner, Single-commodity vehicle routing problem with pickup and delivery service, Mathematical Problems in Engineering, Article ID 697981, 2008. [21] C. Miller, A. Tucker, R. Zemlin, Integer programming formulations and traveling salesman problems, em J. Association Comput. Machinery 7:326–329, 1960. BIBLIOGRAPHY 47 [22] N. Mladenović, D. Urošević, S. Hanafi, A. Ilić, A general variable neighborhood search for the one-commodity pickup-and-delivery travelling salesman problem, European Journal of Operational Research 220:270–285, 1960. [23] OBIS Project, Optimization Bike Sharing in European cities. A handbook, 2011. [24] S. N. Parragh, K. F. Doerner, R. F. Hartl, A survey on pickup and delivery problems. Part I: Transportation between customers and depot, Journal für Betriebswirtschaft, 58:21–51, 2008. [25] S. N. Parragh, K. F. Doerner, l. R. F. Hart, A survey on pickup and delivery problems. Part II: Transportation between pickup and delivery locations, Journal für Betriebswirtschaft 58:81–117, 2008. [26] J. Pucher, R. Buehler, M. Seinen, Bicycling renaissance in North America? An update and re-appraisal of cycling trends and policies, Transportation Research Part A, 45:451–475, 2011. [27] T. Raviv, M. Tzur, I. Forma, Static repositioning in a bike-sharing system: models and solution approaches, EURO Journal of Transportation and Logistics,2:187–229,2013. [28] S. Shaheen, S. Guzman, H. Zhang, Bikesharing in Europe, the Americas, and Asia: Past, Present, and Future, Transportation Research Record 2143:159–167, 2010. [29] W. Souffriau, P. Vansteenwegen, G. Vanden Berghe, D. Van Oudheusden, The planning of cycle trips in the province of East Flanders, Omega 39:209–213, 2011. [30] X. Shi, F. Zhao, Y. Gong, Genetic algorithm for the one-commodity pickup-and-delivery vehicle routing problem, in: IEEE International Conference on Intelligent Computing and Intelligent Systems, volume 1: 175–179, 2009. [31] P. Toth and D. Vigo. (eds.) The Vehicle Routing Problem. SIAM, 2002. [32] P. Toth and D. Vigo. (eds.) Vehicle Routing: Problems, Methods, and Applications. SIAM, 2014. [33] P. Vogel, D. Mattfeld, Modeling of repositioning activities in bikesharing systems, in: 12th WCTR, Lisbon, Portugal, 1–13, 2010 [34] F. Wang, A. Lim, Z. Xu, The one-commodity pickup and delivery travelling salesman problem on a path or a tree, Networks 48:24–35, 2006. 48 BIBLIOGRAPHY [35] F. Zhao, S. Li, J. Sun, D. Mei, Genetic algorithm for the one-commodity pickup-and-delivery traveling salesman problem, Computers & Industrial Engineering, 56:1642–1648, 2009. Chapter 3 A Destroy and Repair Algorithm for the Bike sharing Rebalancing Problem In this chapter, we deal with the Bike sharing Rebalancing Problem (BRP), the problem of driving a fleet of capacitated vehicles to redistribute bicycles among the stations of a bike sharing system that we have already described in Chapter 2. We tackle the BRP with a newly developed metaheuristic algorithm that includes the use of an effective new constructive heuristic and of seven local search procedures for which we propose some techniques to reduce the complexity of the neighborhood exploration. In addition, we adapted the algorithm for the BRP to solve the one-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP), a problem similar to the BRP where a maximum duration is imposed for each route. Moreover, we adapted an available branch-and-cut algorithm for the BRP to solve the 1-PDVRP and we show how to effectively handle the duration constraint in a two-index formulation for the general VRP. Our metaheuristic algorithm for the BRP improved the best known solutions of instances from the literature. We also tested our algorithm on newly collected, very large real-world instances obtaining good quality solutions. Morover, we solved literature 1-PDVRP instances with our algorithm improving remarkably the quality of the solutions and obtaining some new solution that were proved to be optimal by the developed branch-and-cut algorithm. Keywords: Bike sharing, Rebalancing, Metaheuristic, 1-PDVRP, Speedup, Maximum duration, Branch-and-cut 49 50 3.1 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Introduction Bike sharing systems are public or private systems designed to increase the use of bicycles and decrease congestion, to solve the last mile problem, and to provide a mobility service to the users where other means of transportation are not available. These systems were born in the 1960s in Amsterdam (see, e.g., DeMaio [9]) and spread all over the world counting more than 700 operating systems and more than 200 systems planned, under construction or about to be implemented (see e.g., DeMaio and Meddin [10]). Bike sharing systems are composed of several bike stations located in different sites of the city and each station is composed of a number of bike slots where bicycles can be returned or collected. In a balanced situation, each bike station must have a certain number of empty slots, to allow arrivals, and a certain number of full slots, to allow departures. Let us define the level of occupation of a station as the number of bicycles out of the number of slots present in that station, and the balanced level of occupation as the level of occupation that the system operator desires in a station in a balanced situation. After a certain amount of time, the users will have moved the bicycles among the stations of the system and the level of occupation will have gone far from the balanced one. For example, the stations on the top of a hill will be typically empty and the stations at the bottom will typically be full. This situation creates inefficiency in the system such that users cannot collect or return bicycles when needed. The system operators want the stations to be brought to their balanced levels of occupation to avoid the inefficiency created by full and/or empty stations and they perform a redistribution of bicycles that is called rebalancing. The rebalancing is performed by vehicles and it is normally required every day at the end of the day, when the system is closed or when the use of the system can be considered negligible. In this case, the rebalancing is called static. Some bike sharing operators may require that the rebalancing is performed when the system is open, that is a dynamic rebalancing. In this chapter we study the static case. The Bike sharing Rebalancing Problem (BRP) is a problem related to the static rebalancing of a bike sharing system and, in particular, drives a fleet of homogeneous and capacitated vehicles to rebalance the stations of a bike sharing system at minimum cost. In this chapter, we present a new constructive heuristic and a set of efficient local searches that are included into a metaheuristic algorithm for the BRP. This new algorithm provides shorter solving times for the easiest instances and better upper bounds for the hardest instances when compared to the branch-and-cut algorithm developed by Dell’Amico et al. [8] and good quality solutions for newly collected, large real-world instances. Moreover, we adapted the metaheuristic algorithm to the one-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP), a variation of the BRP where a maximum duration constraint 3.2. PROBLEM DESCRIPTION 51 is imposed to each route. Instances of the 1-PDVRP from the literature have been solved and the best known solutions been strongly improved. When solving the 1-PDVRP, we adapted a previously available branch-and-cut algorithm and we show how to efficaciously handle the maximum duration constraint in a two-index formulation for general VRP problems. We believe this to be an additional interesting contribution in the field of capacitated vehicle routing. The chapter is structured as follows. In Section 4.3, we formally define the BRP and its variation with maximum duration constraint, known as the 1-PDVRP. A mathematical model is proposed for both problems and a brief literature review is reported. In Section 3.3, we describe some properties of the BRP that allow us to speed up local searches. In Section 3.4, we present the framework of the proposed algorithm for the BRP and we describe its components. In Section 3.5, we describe the adaptation of the algorithm to the 1-PDVRP and the adaptation of a branch-and-cut algorithm by Dell’Amico et al. [8] to solve the same problem. In Section 3.6, extensive computational results on newly collected real instances and on literature instances are presented. We conclude in Section 7.7. 3.2 Problem description The Bike sharing Rebalancing Problem (BRP) is modeled on a complete digraph G = (V, A), where V = {0, 1, . . . , n} is the set of vertices including the n stations and the depot (vertex 0) and A is the set of arcs between each pair of vertices. Let cij be the non-negative cost associated with the arc (i, j) ∈ A. For each vertex i ∈ V a request qi is given. Requests can be positive or negative. If a station has a positive request, we call it pickup station; if it has a negative request we call it delivery station. The quantities picked up at pickup stations can be used to respond to requests of delivery stations or go to the depot. Vehicles can leave the depot not necessarily empty, if needed. The objective is to drive a fleet of m identical vehicles of capacity Q available at the depot to respond to requests and to minimize the total cost. We impose that a station with request qi = 0 must be visited, even if this implies that no bike has to be dropped off or picked up there. The case in which stations with null request have to be skipped can be simply obtained by removing in a preprocessing phase those stations from the set of vertices. 3.2.1 Formulation for the BRP In this section, we present a mixed integer linear programming (MILP) formulation to solve the BRP. The starting point is Formulation F3 by Dell’Amico et al. [8] built on the multiple traveling salesman problem (mTSP), in which at most m uncapacitated vehicles based at a central depot 52 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP have to visit a set of vertices, with the constraint that each vertex is visited exactly once. By defining a binary variable xij , taking value 1 if arc (i, j) is traveled by a vehicle, and 0 otherwise, the BRP can be modeled as (3.1)–(3.6). min z = XX (3.1) cij xij i∈V j∈V X xij = 1 j ∈ V \ {0} (3.2) xji = 1 j ∈ V \ {0} (3.3) i∈V X i∈V X x0j ≤ m (3.4) j∈V XX i∈S j∈S ( & P ') q i i∈S xij ≤ |S| − max 1, Q S ⊆ V \ {0} , S 6= ∅. (3.5) xij ∈ {0, 1} i, j ∈ V. (3.6) Objective function (3.1) minimizes the traveling costs. Constraints (3.2) and (3.3) impose that every node but the depot is visited once. Constraints (3.4) ensure that at most m vehicles leave the depot. To guarantee the feasibility of a solution with respect to the BRP, we need to substitute the typical subtour elimination constraints by the family of constraints (3.5) in the m-TSP formulation, so as to ensure that requests are satisfied and vehicles capacities are not exceeded. Constraints (3.5) are similar to the generalized subtour elimination constraints for the CVRP. They state that, for each subset S of vertices, the number of arcs with both tail and head in S should not exceed the cardinality of S minus the minimum number of vehicles required to serve S. An estimation of the minimum number of vehicles is simply obtained by computing the absolute value of the sum of the requests, dividing it by the vehicle capacity and then rounding up the result. This value can be zero when the sum of the qi is null; in such a case, the value one is used instead, because at least one vehicle is needed (notice that S does not contain the depot) to impose the connectivity of the solution. Constraints (3.5) are exponentially many, so the above formulation can be solved in branch-and-cut fashion, by invoking a separation procedure to divide the violated ones from the non-violated ones, and then adding the violated cuts to the model in an iterative way. For details we refer to Dell’Amico et al. [8] and to Section 3.5.2 below. 3.2. PROBLEM DESCRIPTION 3.2.2 53 A special case of the BRP: the 1-PDVRP The one-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP) is a generalization of the BRP in which a maximum duration constraint is imposed for the routes. The problem was introduced by Shi et al. [32], where the authors impose a maximum distance M D to each route. In this chapter, we solve a more general version of the 1-PDVRP where the maximum distance M D is considered as a maximum duration in time, T , where a time tij of traveling the arc (i, j) ∈ A is introduced and it is proportional to the cost between i and j such that cij = τ tij . Moreover, we consider a service time si in each station that depends on the quantity to be picked up or dropped, such that si = σ|qi |. The scalars τ and σ are non-negative. We solve the version of the 1-PDVRP that takes into account the traveling time tij , the service time si , and the maximum duration of a route T because it fits better with the BRP. The 1-PDVRP proposed by Shi et. al [32] is a particular case of our version, where τ = 1, σ = 0, and T = M D. When addressing the 1-PDVRP we need to express the maximum duration constraints. To do so, we define the set P of routes that identify paths starting and ending at the depot. We guarantee that each route does not exceed the maximum duration limit considering the traveling times of the arcs of the path P and the service times of the visited stations as follows: XX (tij + sj )xij ≤ T P ∈ P. (3.7) i∈P j∈P Note that constraints (3.7) are exponentially many, and, hence, as already observed for (3.5), we need a separation procedure that divides violated constraints from non-violated ones. 3.2.3 Prior Work The BRP and the 1-PDVRP belong to the class of Pickup and Delivery Vehicle Routing Problems (PDVRP), and generalize the Capacitated Vehicle Routing Problem (CVRP). Thus, they are both strongly NP-hard problems. According to the classification introduced by Berbeglia et al. [3] and followed by Battarra et al. [1] the BRP is a Many-to-Many (M-M) vehicle routing problem, where M-M means that the origins and destinations of the requests are multiple. The simplest M-M PDVRP is the one-commodity Pickup and Delivery Traveling Salesman Problem (1-PDTSP), which has been introduced by Hernández-Pérez and Salazar-González [18]. The 1PDTSP aims at traveling a single capacitated vehicle to meet the multiple requests of a single commodity and minimize the costs. Hernández-Pérez and Salazar-González [16] presented asymmetric and symmetric formulations for the 1-PDTSP and solved the symmetric one by means of a branchand-cut algorithm, which is then improved in Hernández-Pérez and SalazarGonzález [19]. Hernández-Pérez et al. [17, 15] presented also two simple 54 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP heuristics and a variable neighborhood descent. Other metaheuristic algorithms for the 1-PDTSP have been proposed, lately, by Martinovic et al. [25] (iterated modified simulated annealing), Zhao et al. [35] (genetic algorithm), Hosny and Mumford [20] (hybrid variable neighborhood search and simulated annealing approach), and Mladenović et al. [26] (variable neighborhood search). The BRP is a generalization of the 1-PDTSP to the case of multiple vehicles, and has been formally introduced by Dell’Amico et al. [8]. They proposed four formulations for the BRP and solved them by branch-and-cut. They evaluated the algorithms on 65 real-world instances and 15 random instances solving to optimality all instances with up to 51 vertices. The multiple vehicle case with a maximum duration limit imposed for every route, i.e., the 1-PDVRP, has been formally introduced by Shi et al. [32]. They proposed a three-index formulation for which they did not report any computational evaluation. They also presented a genetic algorithm and tested it on a set of randomly generated symmetric instances derived from those proposed by Hernández-Pérez and Salazar-González [17]. Many other papers deal with the balancing of bike sharing systems considering different aspects. We report a relevant collection of these papers by dividing them in static rebalancing with split delivery, rich static rebalancing, and dynamic rebalancing. The static rebalancing with split delivery, the case where customers can be visited more than once and their requests split, is examined in Benchimol et al. [2]. They present complexity results, lower bounding techniques and approximation algorithms for the single vehicle case where the sum of all requests is equal to zero. A computational evaluation of the techniques was not given. Chemla et al. [5] also considered the single vehicle case where split delivery is allowed, but they imposed a limit on the maximum number of times a vertex can be visited. Stations with null requests can be used as buffers. The authors presented a formulation and a tabu search algorithm. Several papers on rich static rebalancing problems have been presented recently. We refer to rich static rebalancing problems as those where the static rebalancing problem is considered and many features, such as transshipment, different objectives, multiple depots, and inventory policies, in addition to split delivery, are accounted. Raviv et al. [28] defined the static bicycle repositioning problem as the problem of minimizing the traveling costs of a fleet of heterogeneous vehicles and the users’ dissatisfaction that is linked to the inventory level of each station. They presented two MILP formulations allowing, respectively, limited and unlimited split delivery and transshipment, and considering also a maximum duration for each route. They also developed exact and heuristic methods to solve the presented formulations. Rainer-Harbach et al. [27] solved another rich static problem defined as the balancing bicycle sharing system problem, which intends to find the routes of an heterogeneous fleet of vehicles to minimize the devia- 3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP 55 tion from the target level of request of each station. They also considered, as secondary objectives, the duration of the routes and the number of loading actions performed. The problem allows split delivery and transshipment and it is imposed that the vehicles return empty to the depot. The authors proposed a greedy constructive heuristic and some metaheuristic algorithms. Di Gaspero et al. [12] solved a similar rich static rebalancing problem where split delivery is allowed but intermediate storages are not. The problem considers multiple depots and multiple vehicles, and a maximum duration time imposed on each vehicle. The aim is to find routes that operate pickups and deliveries to bring the level of occupation in each station as close as possible to the balanced one and that minimize the total traveling time. The authors introduced two different constraint programming models and proposed two branching strategies. Then they included the constraint programming models in a large neighborhood search approach obtaining good computational results. Schuijbroek et al. [34] combined the inventory policy and the routing optimization. The authors solved the problem of minimizing the makespan of the routes respecting a lower and a upper bound on the number of bikes required in each station. The stations that do not need a visit can be used as a buffer, the routes can be open and a limited number of transshipment is allowed. The authors proposed a MILP formulation, a constraint programming approach and a cluster-first route-second heuristic. A solution method for the dynamic rebalancing, where requests can change during the rebalancing operations, has been presented by Contardo et al. [7]. The objective is to maximize the serviced requests by using a set of vehicles. The authors presented a formulation using discretized time and solved it heuristically with Dantzig-Wolfe and Benders decompositions. 3.3 Properties of feasible paths for the BRP In this section, we present some properties of feasible BRP paths that allow us to speed up the computation of several procedures that are at the basis of our metaheuristic algorithm. These procedures are formally defined in Section 3.4 and they are all based on the following set of operators: • Remove a vertex i from its current position in the solution; • Insert a vertex i in a position; • Move a vertex i from its position to another one (composition of remove and insert); • Swap two vertices i and j by moving i to the position of j and j to the position of i (once again, composition of remove and insert); • Merge two (partial) routes. 56 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Our speed-up techniques build on the basic route feasibility property presented in [17], and that we recall here briefly. We recall that a path P is an ordered sequence of vertices P (0), P (1), . . . , P (|P |), while a route is a path that starts and ends at the depot, i.e., P (0) = P (|P |) = 0. Let us first compute the cumulative request along a route by using the following recursion lP (0) (P ) = 0, and lP (i) (P ) = i X qP (k) for i = 1, . . . , |P |. (3.8) k=0 In other words lP (i) (P ) gives the value of the load on the vehicle after visiting vertex P (i) of path P , if the vehicle left the depot with no load. Negative lP (i) (P ) values may still lead to feasible routes, because the initial load of the vehicle is not restrained to be 0. In particular, a route is feasible if the following inequality is satisfied |P |−1 |P |−1 i=0 i=0 max {lP (i) (P )} − min {lP (i) (P )} ≤ Q. (3.9) In the following we make use of a parameter ∆P , that we call the amount of feasibility of P and set as |P |−1 |P |−1 i=0 i=0 ∆P = Q − max {lP (i) (P )} + min {lP (i) (P )}. (3.10) Intuitively, routes with a small ∆P value have a tight constraint on the choice of the initial load. This parameter can be used to define some sufficient conditions, called ∆-checks in the following, for quick feasibility checks of the previously introduced neighborhood operators. Property 1 If |qi | ≤ ∆P , then vertex i can be feasibly inserted in any position of route P . Proof. Let P 0 be the route obtained after the insertion of vertex i in route P . By applying (3.9), P 0 is feasible if |P 0 |−1 |P 0 |−1 k=0 k=0 max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ Q. (3.11) To prove that (3.11) holds if the hypothesis is satisfied, let us consider two cases: -) qi ≥ 0. In this case, with respect to the route P , the insertion of vertex i may reduce or keep unchanged both the max and the min terms in (3.11). The maximum difference between the two emerges when the max increases by the maximum possible quantity, i.e., by qi , and the min does not change. We can thus bound this difference as 3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP |P 0 |−1 57 |P 0 |−1 max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ k=0 k=0 |P |−1 |P |−1 max {lP (k) (P )} + qi − min {lP (k) (P )} = k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} + qi − min {lP (k) (P )} ≤ |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} + ∆P − min {lP (k) (P )} = Q, where the last two steps follows, respectively, from the hypothesis and from (3.10). -) qi < 0. In this case we consider instead that the maximum difference between the two terms in (3.11) is obtained when the min term decreases by qi and the max remains unchanged, thus we can state that |P 0 |−1 |P 0 |−1 max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} − |P |−1 ! min {lP (k) (P )} + qi ≤ |P |−1 max {lP (k) (P )} − min {lP (k) (P )} − qi ≤ k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q, and the thesis is verified. Similar proofs, reported in the Annex 3.A, lead to the following results. Property 2 Given a feasible route P : a) If i ∈ P and |qi | ≤ ∆P , then vertex i can be feasibly removed from route P ; b) If i ∈ P and |qi | ≤ ∆P , then vertex i can be feasibly moved in any position along route P ; c) If i, j ∈ P and |qi − qj | ≤ ∆P , then the swap of vertices i and j is feasible; Moreover, given a pair of feasible routes P and R: 58 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP d) If i ∈ P , j ∈ R, and |qi −qj | ≤ min{∆P , ∆R }, then the swap of vertices i and j is feasible. Proof. See the Annex 3.A. When the quick ∆-checks are not enough to certify feasibility of a move, an exact check must be performed. We consider more elaborated data structures to reduce the computational complexity of the exact check. In this sense, our contribution follows a well established line of research on difficult combinatorial problems such as the vehicle routing with time windows and scheduling with release and due dates (see, e.g., Ergun and Orlin [13], Liao et al. [23], and Ibaraki et al. [21]). We use the concept of load windows, that express the feasible intervals of load that can be carried on the vehicle before or after visiting a vertex along a given route, by extending the basic result in (3.9). In particular, we use FP (i) (P ) = [f P (i) (P ), f P (i) (P )] to define the forward load window along route P , i.e., the feasible interval for the load on the vehicle after leaving vertex P (i), and supposing that P (i) is the last vertex of the route before returning to the depot. This can be obtained by h i FP (i) (P ) = f P (i) (P ), f P (i) (P ) = (3.12) i i lP (i) (P ) − min{lP (j) (P )}, lP (i) (P ) + Q − max{lP (j) (P )} . j=0 j=0 The computation of (3.12) can be performed in linear time by using a simple structure that keeps track of the minimum and maximum values without recalculating them from scratch. Note that the amount of feasibility of P can be quickly computed as ∆P = f P (|P |−1) (P ) − f P (|P |−1) (P ). We similarly define the backward load window along route P , as BP (i) (P ) = [bP (i) (P ), bP (i) (P )]. This load window gives the feasible interval for the load on the vehicle before it visits vertex P (i), and considering that P (i) is the first vertex in the route after the depot. This can be computed by first using a recursion that gives the cumulative load rP (i) in the reverse route starting from the depot and visiting the vertices in the order P (|P |), P (|P | − 1), . . . , P (i). Formally rP (|P |) (P ) = 0, and rP (i) (P ) = − i X qP (k) for i = |P | − 1, . . . , 0. (3.13) k=|P | We thus compute, again in linear time, the backward load window as h i BP (i) (P ) = bP (i) (P ), bP (i) (P ) = " # (3.14) |P | |P | rP (i) (P ) − min{rP (j) (P )}, rP (i) (P ) + Q − max{rP (j) (P )} . j=i j=i 3.3. PROPERTIES OF FEASIBLE PATHS FOR THE BRP 59 The forward and backward windows are used to construct the following property. Property 3 Two disjoint and feasible routes P and R can be merged in a feasible route P ⊕ R, where the last vertex of P before returning to the depot, P (|P | − 1), is followed by the first vertex of R after the depot, R(1), if and only if FP (|P |−1) (P ) ∩ BR(1) (R) 6= ∅. Proof. See the Annex 3.A. By applying similar reasonings, we obtain the following additional results. Property 4 Given a feasible BRP solution, the following moves lead to another feasible solution. a) Removing the first vertex after the depot or the last vertex before the depot from a route is always feasible. b) Removing a vertex P (i) from a route P is feasible if and only if FP (i−1) (P ) ∩ BP (i+1) (P ) 6= ∅ c) Let I be the single-vertex route formed by vertex i, i.e., (0, i, 0). The insertion of i into a route P after a node P (p) ∈ P is feasible if and only if the two following conditions are satisfied. The first condition is that i can be feasibly inserted after the first part of P , i.e., FP (p) (P ) ∩ Bi (I) 6= ∅. If this is true, then let h i Fi (P ) = max{f P (p) (P ), bi (I)} + li (I), min{f P (p) (P ), bi (I)} + li (I) , and so obtain the second condition, that is Fi (P ) ∩ BP (p+1) (P ) 6= ∅. d) Let I = (0, i, 0) and J = (0, j, 0). The swap of a vertex i ∈ P (let P (h) = i) with another vertex j ∈ R is feasible if and only if the following conditions are satisfied for route P and for route R. The first condition for route P is FP (h−1) (P ) ∩ Bj (J) 6= ∅. If this is valid, then let us compute Fj (P ) = h i max{f P (h−1) (P ), bj (J)} + lj (J), min{f P (h−1) (P ), bj (J)} + lj (J) . The second condition is then Fj (P )∩BP (h+1) (P ) 6= ∅. Similarly, being R(k) = j, for route R we have the following condition FR(k−1) (R) ∩ Bi (I) 6= ∅. If this is valid we can compute Fi (R) = i h max{f R(k−1) (R), bi (I)} + li (I), min{f R(k−1) (R), bi (I)} + li (I) . 60 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Then the last condition to be satisfied is Fi (R) ∩ BR(k+1) (R) 6= ∅. We conclude this section by discussing the update of the load windows. Let us consider, for example, that a merging of two routes P and R has been performed in this order. Let us consider the intersection between the forward load window of the last node before the depot of route P , P (|P |−1), and the first node after the depot of route R, R(1), that is: FP (|P |−1) (P ) ∩ h i BR(1) (R) = max{f P (|P |−1) (P ), bR(1) (R)}, min{f P (|P |−1) (P ), bR(1) (R)} = φ, φ . It is convenient to update the existing forward and backward load windows, without recomputing them from scratch. To update the forward load window for the vertices of route R we can compute: FR(i) (P ⊕ R) = φ + lR(i) (R), φ + lR(i) (R) , i = 1, . . . , |R|−1, while for the vertices of route P the forward load window does not change. To update the backward load windows for the vertices of route P we can compute: BP (j) (P ⊕ R) = φ + rP (j) (P ), φ + rP (j) (P ) , j = 1, . . . , |P | − 1, while for the vertices of route R the backward load window does not change. 3.4 Algorithm Framework The overall framework of the algorithm that we use to solve the BRP is reported in Algorithm 1. It mainly consist of an iterated destroy and repair mechanism, enriched with local search procedures. The principle of using solution destruction with a subsequent solution re-construction or repair has been proposed in a number of different algorithms using names such as simulated annealing (see, e.g., Jacobs and Brusco [22]), ruin-and-recreate (see, e.g., Schrimpf et al. [33]), large neighborhood search (see, e.g., Shaw [31]), iterated greedy (see, e.g., Ruiz and Stützle [30]), iterative constructive search (see, e.g., Richmond and J. E. Beasley [29]), or iterative flattening (see, e.g., Cesta et al. [4]). We first construct a feasible initial solution by using a greedy algorithm (Savings&Losses, described in Section 3.4.1) and we refine it by using a set of local search procedures (explained in Section 3.4.4). This solution is then iteratively destroyed and repaired by using in order DestroyProcedure and RepairProcedure (presented in Sections 3.4.2 and 3.4.3, respectively), and again improved by the local search procedures, until a StoppingCriterion is reached. Note that our algorithm works with routes that are feasible with respect to the capacity constraint, but accepts solutions in which the number of routes is larger than m. This number is implicitly minimized by several of the adopted local search procedures. 3.4.1 Constructive algorithm The constructive algorithm that we developed starts from the well-known Savings algorithm by Clarke and Wright [6], but adapts it to the new prob- 3.4. ALGORITHM FRAMEWORK 61 Savings&Losses → (x∗ , z ∗ ) LocalSearches (x∗ ) → (xls , zls ) if zls < z ∗ then z ∗ ← zls and x∗ ← xls end if repeat DestroyProcedure (xls ) → (x̃) RepairProcedure (x̃) → (x0 ) LocalSearches (x0 ) → (xls , zls ) if zls < z ∗ then z ∗ ← zls and x∗ ← xls end if until StoppingCriterion return x∗ and z ∗ Algorithm 1: Algorithm DR BRP lem at hand by introducing the concept of loss of flexibility. We start by building n routes, each containing a single vertex. We then iteratively select two routes and merge them into a single one, until no more merging is possible. To select the pair of routes to be merged, we take into account all possible combinations. When considering the merging of routes, say, P and R, we evaluate the feasibility of the resulting route P ⊕R by making use of Property 3. If feasible, then we evaluate the saving obtained in the cost function, if any, as SP ⊕R = cP (|P |−1),R(1) − c0,R(1) − cP (|P |−1),0 . We also evaluate the loss of flexibility induced by the merging, as the difference between the amount of feasibility (as defined in Section 3.3) of the two original routes, ∆P and ∆R , and that of the resulting route ∆P ⊕R , computed as LP ⊕R = ∆P + ∆R − 2∆P ⊕R . In practice, a high value of LP ⊕R means that the size of the resulting load window would be consistently reduced with respect to the sizes of the original windows, and so the resulting route would be harder to be feasibly merged with other routes in the successive iterations. We then set an evaluation function that takes both terms into account, as EP ⊕R = αSP ⊕R + (1 − α)LP ⊕R , (3.15) where α is a parameter of the algorithm that takes values between 0 and 1. A feasible merge of two routes leading to the lowest value according to (3.15), is then selected. The value taken by α in our computational experiments is discussed in Section 3.6. We can note that only the backward load window of the first node after the depot of route P and the forward load window of the last node before the depot of route R are needed to determine the feasibility of merging the 62 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP two routes for Savings&Losses. Let us call FP (|P |−1) (P ) ∩ BR(1) (R) = φ, φ , then we can compute: FP ⊕R (P ⊕ R) = φ + lR(|R|−1) (R), φ + lR(|R|−1) (R) and BP ⊕R (1) = φ + rP (1) (P ), φ + rP (1) (P ) . Moreover rP (1) (P ) = −lR(|R|−1) (R) and lP ⊕R (|P ⊕ R| − 1)(P ⊕ R) = lR(|R|−1) (R) + lP (|P |−1) (P ). 3.4.2 Destroy Procedure To insert diversification into the metaheuristic algorithm, we make use of a component called DestroyProcedure. It randomly selects a number of vertices one at a time, independently one from the other and with uniform probability, and removes them from the current solution. The number of vertices to be removed is also selected randomly with a uniform probability in an interval defined by the parameters π and δ; more precisely: [max{3, π − δπ}, π + δπ]. Each selected vertex is removed from its current route by applying the remove operator introduced in Section 3.3. If the selected vertex is the first one (right after the depot) or the last one (right before the depot) of a route, its removal can be operated without causing infeasibility on the remaining route because of Property 4-(a). In all other cases, we check the feasibility of the remaining route by checking Properties 2-(a) and 4-(b). If the remaining route is feasible, we perform the removal of the selected vertex; if it is infeasible, we perform the removal and divide the remaining route into the two separate routes defined by the removal (which are then feasible again because of Property 4-(b)). The values taken by the parameters π and δ were set after computational tests, as described in Section 3.6. We found it computationally convenient to halve/double the number of vertices to destroy every ten iterations of the main algorithm loop. 3.4.3 Repair Procedures After using DestroyProcedure, we have a partial solution where not every vertex is allocated to a route, and some vertices that have not been assigned to any route. To restore feasibility, we apply two repair procedures that use the insert operator to include the non-assigned vertices into existing or newly formed routes. In details: 1. RepairInsertion. We randomly select, with uniform probability, one of the non-assigned vertices. We evaluate the feasibility and the cost of inserting this vertex in any position in any route, plus the option of creating a new route containing only this vertex. Among the feasible options, we select the one having minimum cost, and then re-iterate with the next non-assigned vertex until all of them are assigned. To check the feasibility of the insertion we make use of Properties 1 and 4-(c) of Section 3.3. 3.4. ALGORITHM FRAMEWORK 63 2. Savings&Losses. We use the constructive algorithm of Section 3.4.1, by considering the existing routes in the partial solution and each non-assigned vertex as if it were a single-vertex route. Merging of the routes follows the previously described process. According to preliminary computational tests, we set RepairProcedure to execute at each iteration of the algorithm either RepairInsertion or Savings&Losses, by alternating them. 3.4.4 Local Search Procedures To improve the solution obtained by the constructive algorithm and/or after a destroy and repair phase, we implemented several local search procedures based on the operators introduced in Section 3.3. Apart from ∆-checks, load windows, and fast update techniques previously described, we also make use of a simple but effective idea called Dont’ look bit, that we describe here for the insert operator. If we determine that the insertion of a vertex into a route is infeasible, then we keep track of this infeasibility as long as the route is not modified by other procedures, so as to avoid useless feasibility reevaluations. A slight variation applies to the swap neighborhood. We now give the details of the local search procedures that we implemented. 1. MoveLS. Select a vertex, remove it from its current position and insert it into another position, either in the same route or in a different one. Feasibility is quickly checked by means of Properties 1, 2-(a), 2-(b), 4-(b), and 4-(c). If the selected vertex is the only vertex in its route, then the route is deleted. 2. MoveConsecutiveLS. Select at most κ consecutive vertices in a route, remove them from their current position and insert them into another position, either in the same route or in a different one. Let us call P the route from which we remove the κ vertices and R the one in which we insert them. The feasibility of the removal is checked by merging the two remaining subroutes of P as discussed in Property 3. The feasibility of the insertion is instead performed in O(κ), by first evaluating the κ forward and backward load windows of the removed vertices as if they were a single route, and then merging them with the first part of R by using again Property 3. If this is feasible, we update the load windows and check the feasibility of merging this new subroute with the second part of R. The value κ is a parameter of the algorithm to be defined after computational tests, as described in Section 3.6. 3. SwapLS. Select two vertices in the same route or in different routes and swap them. The feasibility is checked by applying Properties 2-(c), 64 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP 2-(d), and 4-(d). 4. SwapCoupleLS. It extends the previous local search by selecting two pairs of consecutive vertices and swapping them, maintaining the same order of the vertices in each pair. The process for checking feasibility is similar to the one described for MoveConsecutiveLS, but simpler because only pairs of vertices are moved in this case and no longer lists of κ vertices. 5. SwapThreeLS. Select three nodes, say, v1 , v2 , and v3 , belonging to either, one, two, or three routes, and swap them in the two possible ways (v1 with v2 , v2 with v3 , v3 with v1 , or v1 with v3 , v3 with v2 , v2 with v1 ). Use Properties 2-(c), 2-(d), and 4-(d) for feasibility check. 6. CrossingLS. Select two routes, P and R, and two positions along the routes. Cut each route right after the selected position, and merge the first part of P with the second part of R, and the first part of R with the second part of P . Use Property 3 for feasibility check. Note that a particular case arises when a position is at the very beginning of its route and the other position is at the very end of the other route, when CrossingLS consequently attempts a merging of the two routes into a single one. 7. CrossingThreeLS. It extends the previous local search, by selecting three routes, and attempting the two possible ways of cutting and merging them. The number of routes in the solution is possibly decreased by the procedures MoveLS, MoveConsecutiveLS, CrossingLS, and CrossingThreeLS. Every procedure is run in first improvement fashion, which is computationally preferable to best improvement on our instances (as defined by the parameter ι). The procedures are inserted in a Variable Neighborhood Descent (VND) type framework (see, e.g., Hansen and Mladenović [14]), where they are invoked one after the other according to a given order. Our implementation is a VND type framework because we do not come back to the previous neighborhood if an improvement is found. In details, we continue invoking local searches following the given order until the last one, then we come back to the first local search procedure and repeat the order until no improvement in the current solution is provided by all local search procedures. This method is similar to the piped VND (see, e.g., den Besten and Stützle [11]), where the procedure stops at the end of the last local search procedure. According to the preliminary computational tests, the order of the local searches was set to 1, 3, 5, 4, 6, 2, and 7. In terms of complexity, we first note that a straightforward implementation of MoveLS would require O(n3 ) time, because the number of possible moves is O(n2 ) (considering each vertex to be removed and each insertion 3.5. ADAPTATION TO THE 1-PDVRP 65 position), and evaluating each move would require O(n) for computing feasibility of the at most two routes involved by the move. With the use of the load windows we reduce this complexity to O(n2 ), because feasibility is checked in O(1). Similar reasonings apply to the next local searches, leading to the following complexities: O(n2 ) for MoveConsecutiveLS considering a fixed value of κ; O(n2 ) for SwapLS and SwapCoupleLS; O(n3 ) for SwapThreeLS; O(n2 ) for CrossingLS and O(n3 ) for CrossingThreeLS. 3.5 Adaptation to the 1-PDVRP In this section, we describe how we adapted the algorithm presented in the previous section and the branch-and-cut of Dell’Amico et al. [8], both originally developed for the BRP, to include the maximum route duration constraint and to solve the 1-PDVRP. 3.5.1 Metaheuristic algorithm for the 1-PDVRP To solve the 1-PDVRP making use of the metaheuristic algorithm developed for the BRP, we must perform additional tests when checking the feasibility of a solution, as the feasibility for the BRP is a necessary but not sufficient condition for the feasibility of the 1-PDVRP. Thus, after checking that a solution is feasible for the BRP, we evaluate that the sum of the travel and service times of each route does not exceed the maximum duration. The inclusion of this additional check can be performed without increasing the complexity when using the data structure as above. This inclusion is easy for every component of our algorithm so we do not describe it in details. We mention here the fact that the remove operator is always feasible because of the triangular inequality that we assumed to be valid for the cost matrix, and thus the time matrix, whilst the insert operator needs an additional check on the times of the routes. For local searches based on the merge operator, it is convenient to keep track of the cumulative time (service and travel) from the depot to any node in a route. This is useful, for example, when performing a move of CrossingLS that attempts to merge the first part of a route P with the second part of a route R. The total duration of the resulting route can be obtained by summing the total time of the first part of P , the time to travel along the connecting arc, and the total time of the second part of R (obtained by subtracting the total time of the first part of R from the total time of R). 3.5.2 Branch-and-Cut for the 1-PDVRP To solve to optimality model (3.1)-(3.7) for the 1-PDVRP, a branch-and-cut algorithm is required since an exponential number of constraints is considered. The branch-and-cut algorithm that we used is directly derived from 66 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP the one presented in Dell’Amico et al. [8]. We developed some new valid inequalities for the different features of the problem and several separation procedures have been added to the mentioned branch-and-cut algorithm. We use the branch-and-cut framework of CPLEX 12.2, that solves at every node of an enumeration tree the linear relaxation of a MILP model, and then invokes user-developed separation procedures to possibly add cuts. We first present some valid inequalities that we use to strengthen constraint (3.7), thus to improve the convergence of the algorithm to the optimum, and then we discuss the separation procedures that we implemented. Valid inequalities For the next family of inequalities we need some further notation. Let P be a path. We recall that P (i) denotes the index of the i-th vertex of path P , for i = 0, 1, . . . , |P |, with P (0) = 0. A path is called infeasible with respect to P|P |−1 the maximum duration if i=0 (tP (i)P (i+1) + sP (i+1) ) > T . Adding tP (|P |),0 to the left hand side the check can be improved. Let P be the family of all infeasible paths, the following infeasible path constraints are thus valid inequalities for the BRP: |P |−1 X xP (i),P (i+1) ≤ |P | − 2 P ∈ P. (3.16) i=0 Inequality (3.16) simply states that, if path P is infeasible then not all the arcs connecting two consecutive vertices of P may belong to a feasible solutions. A way to enforce them is to consider the related tournament constraints, by taking into account also the arcs connecting non-consecutive vertices of P . Indeed, any arc (P (i), P (j)) with j 6= i+1 is incompatible with arcs (P (i), P (i+1)) and (P (j −1), P (j)), because of, respectively, out-degree and in-degree constraints. Hence, we can add the corresponding variable, xP (i),P (j) to the left-hand side of (3.16), without affecting the right-hand side value. This process can be repeated for all arcs connecting two nonconsecutive vertices in the path, with the exception of those arcs leaving the depot, because up to m of them may belong to a feasible solution. We thus obtain the following: |P |−1 x0,P (1) + |P | X X xP (i),P (j) ≤ |P | − 2 P ∈ P. (3.17) i=1 j=i+1 Inequalities (3.16) and (3.17) enforce the maximum route duration constraints, but are computationally very weak. To strengthen them in some favored cases, we take advantage of a new type of constraint, similar to the well-known capacity cut constraint, which we call time-packing constraint. 3.5. ADAPTATION TO THE 1-PDVRP 67 To express the time-packing constraint family of inequalities we need to introduce a lower bound on the time needed to reach a node and serve it. Let us define lbi (V ) = minj∈V :|qj +qi |≤Q {tji } + si , i ∈ V . If we compute the lower bound in a subset S ⊆ V we have lbi (S) = minj∈S:|qj +qi |≤Q {tji } + si , i ∈ V . Thus we can write the inequality (3.18), which computes a bound on the number of vehicles needed to serve the customers in S while respecting the maximum time constraint. Note that the equation also considers the time needed to return to the depot 0. If the summation of all the lower bounds is greater than the maximum time T then more routes are needed to serve the subset S. P X X i∈S lbi (V ) + lb0 (S) xij ≥ S ⊆ V \ {0} , S 6= ∅, S ∩ {0} = ∅. T i∈S j∈V \S (3.18) Separation procedures The aim of this subsection is to present the procedures that we use to determine if the valid inequalities that we proposed are violated by a given possibly fractional solution x. To separate constraints (3.18), we first build a supporting graph G = (V , A), where the set of vertices is V = V ∪ {n + 1}, where {n + 1} is a dummy node, and the set of arcs is A = A0 ∪ A00 . We have A0 = {(i, j) ∈ A : xij > 0}, and a capacity xij is assigned to every arc (i, j) ∈ A0 ; moreover A00 = {(n+1, i) : i ∈ V0 }. To each arc (n+1, i) ∈ A00 is associated a capacity equal to lbi (V )/T . We then compute the max flow on G, using n + 1 as a source and 0 as a sink. The constraint (3.18) corresponding to the set S induced by the min-cut is then checked, and, if violated, it is added to the model. The tournament constraints (3.17) are separated exactly, by generating all possible paths starting from the depot and using a depth-first strategy. We initialize path P with P (0) = 0, then select the outgoing arc having the largest value of x, and extend the path to include the head of the selected arc. Every time we add a node to the path, we check if it is infeasible. If so, then we add the cut and backtrack to the previous node, otherwise we continue extending the path. The path extension continues as long as the sum of the involved xij is large enough to possibly lead to a violated cut, i.e., as long as it is strictly greater than |P | − 2. When it becomes smaller, we backtrack to the previous node. Anytime we backtrack, we continue the depth-first search by selecting the next arc with positive value of x and then extend the path consequently. Suppose a violated cut of type (3.17) has been found, then we know that the set S = {P (1), P (2), . . . , P (|P |)} is currently visited by a single vehicle (the one performing the path P ). This procedure can also be used 68 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP to separate the constraints (3.7). Indeed, when an infeasible path is found we can impose a constraint (3.7) where the route is the path found. The separation procedures are invoked at every node of the enumeration tree in the order in which we described them. On the basis of computational evidence on the instances we tested, we stop the separation process as soon as we find a violated cut, if any. 3.6 Computational Results In this section, we present the computational results for the metaheuristic and the branch-and-cut algorithms that we implemented to solve the BRP and the 1-PDVRP. To evaluate the quality of the metaheuristic algorithm when solving the BRP, we used the instances by Dell’Amico et al. [8] and, according to their method, we collected some new larger instances in terms of number of stations. The new instances use real data of bike sharing systems of the following cities: Brisbane, Milano, Lille, Toulouse, Sevilla, Valencia, Bruxelles, Lyon, Barcelona and London. Some characteristics of the new instances are reported in Table 3.1, where we depict the name of the city and country in which the bike sharing system is located, and the number of vertices of each instance. We then present the minimal, average, maximum value and the standard deviation of the request and of the transportation costs. To evaluate the performance of our algorithm on the 1-PDVRP we used the instances proposed by Shi et al. [32]. According to the number of vertices |V |, we divided both the BRP and the 1-PDVRP instances into three sets: for |V | ≤ 50, 50 < |V | < 100 and |V | ≥ 100. We will refer to the three sets as small-size instances, mediumsize instances, and large-size instances, respectively. We determined the parameter setting by tuning them with the irace Package [24], which automatically configures optimization algorithms by finding the most appropriate settings given a set of instances. We used the default irace Package setting which sets using a maximum number of 1000 algorithms runs during the tuning. The stopping criterion for the algorithm runs is set to ten, 600, and 3600 CPU seconds for small-size, medium-size, and large-size instances, respectively. We decided to tune our algorithm on a modified set of instances, derived by the medium-instances, the Dublin instances, and the Minneapolis instances. We generated the modified instances by perturbing the distances cij choosing randomly in [cij − 0.1 · cij , cij + 0.1 · cij ], (i, j) ∈ A and by perturbing the demand qi of 10% of the nodes choosing randomly in [max{qi −2, −Q}, min{qi +2, Q}], i ∈ V \ {0}. Both BRP and 1-PDVRP instances have been tested with the obtained set of parameters presented in Table 3.2. In the same table can be found the parameters used for testing the instances. We recall that α and δ can take real values in the interval [0, 1], π can take an integer value in 69 3.6. COMPUTATIONAL RESULTS the interval [2, 15], ι can take value 0 for first improvement and 1 for best improvement, and κ can take an integer number in the interval [3, |V |]). All the tests reported in the following have been performed on a Intel Core i3-2100 with 3.10 GHZ by using randomly generated seed values. City Country |V | min{qi } avg{qi } max{qi } dev{qi } min{cij } avg{cij } max{cij } dev{cij } Brisbane Milano Lille Toulouse Sevilla Valencia Bruxelles Lyon Barcelona London Australia Italy France France Spain Spain Belgium France Spain U. K. 150 184 200 240 258 276 304 336 410 564 -15 -18 -20 -13 -20 -20 -13 -20 -17 -28 1.27 0.88 -0.42 -1.49 -1.56 -1.50 -0.18 -0.70 -2.56 -0.58 17 17 16 12 10 14 16 17 19 29 5.91 8.40 6.72 6.16 6.89 7.64 8.24 7.85 9.84 9.91 2 6 163 6 2 134 211 18 2 2 3769.07 3313.63 7450.82 3943.35 4652.58 4241.34 5844.93 4817.44 4699.91 5833.37 13959 8126 18877 12459 13510 13413 19032 47657 13671 19412 2129.98 1422.46 4655.73 1904.32 2305.15 1892.71 2726.70 3571.38 2229.90 3100.69 Table 3.1: New BRP instances. Parameter α π δ ι κ Value 0.7335 4 0.6582 1 35 Table 3.2: Parameters used for computational tests. 3.6.1 Small-size Instances To evaluate the algorithm on the set of small-size instances we ran it for ten seconds taking note of the time when it found the best solution. Results are reported in Table 3.3, where the instances are depicted by the name of city, the number of vertices and the vehicle capacity. The table also reports the value of the optimal solution (opt) obtained by the branch-and-cut presented in Dell’Amico et al. [8] and the time needed to get the optimal solution (tB&C ). The last five columns refer to algorithm DR BRP and report the average solution value (avg) obtained by running the algorithm ten times for a ten seconds time limit, the percentage gap between the optimal and the average solution value (%gapavg = 100·(avg−opt)/opt), the minimal solution value among the ten trials (min), the percentage gap between the minimal solution value and the optimal one (%gapmin = 100 · (min − opt)/opt), and the average time needed to obtain the best solution by the metaheuristic algorithm(t b). One can note that our metaheuristic algorithm DR BRP found the optimal solution in all ten trials for 37 out of 41 instances in times that are competitive with the ones needed by the branch-and-cut algorithm and obtained the optimal solution at least once for the remaining four instances 70 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP of the set. The average gap of 0.04 % from the optimal solution within an average time of 0.66 seconds is extremely promising. Instance City Bari Bari Bari Reggio Emilia Reggio Emilia Reggio Emilia Bergamo Bergamo Bergamo Parma Parma Parma Treviso Treviso Treviso La Spezia La Spezia La Spezia Buenos Aires Buenos Aires Ottawa Ottawa Ottawa San Antonio San Antonio San Antonio Brescia Brescia Brescia Roma Roma Roma Madison Madison Madison Guadalajara Guadalajara Guadalajara Dublin Dublin Dublin Avg. B&C DR BRP (10 sec) |V | Q opt tB&C avg %gapavg min %gapmin t b 13 13 13 14 14 14 15 15 15 15 15 15 18 18 18 20 20 20 21 21 21 21 21 23 23 23 27 27 27 28 28 28 28 28 28 41 41 41 45 45 45 30 20 10 30 20 10 30 20 12 30 20 10 30 20 10 30 20 10 30 20 30 20 10 30 20 10 30 20 11 30 20 18 30 20 10 30 20 11 30 20 11 14600 15700 20600 16900 23200 32500 12600 12700 13500 29000 29000 32500 29259 29259 31443 20746 20746 22811 76999 91619 16202 16202 17576 22982 24007 40149 30300 31100 35200 61900 66600 68300 29246 29839 33848 57476 59493 64981 33548 39786 54392 0.02 0.02 0.03 0.02 0.03 0.05 0.03 0.00 0.11 0.02 0.02 0.05 0.05 0.03 0.09 0.03 0.03 0.09 0.37 3.58 0.02 0.02 0.11 0.08 0.09 1.06 0.06 0.20 1.37 0.84 1.72 0.58 0.02 0.05 0.53 0.22 0.34 1.79 6.05 76.72 610.80 14600.0 15700.0 20600.0 16900.0 23200.0 32500.0 12600.0 12700.0 13500.0 29000.0 29000.0 32500.0 29259.0 29259.0 31443.0 20746.0 20746.0 22811.0 76999.0 91619.2 16202.0 16202.0 17576.0 22982.0 24007.0 40149.0 30300.0 31100.0 35200.0 61900.0 66670.0 68300.0 29246.0 29839.0 33848.0 57476.0 59493.0 64981.0 33595.4 39817.2 55000.6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.14 0.08 1.12 14600 15700 20600 16900 23200 32500 12600 12700 13500 29000 29000 32500 29259 29259 31443 20746 20746 22811 76999 91619 16202 16202 17576 22982 24007 40149 30300 31100 35200 61900 66600 68300 29246 29839 33848 57476 59493 64981 33548 39786 54392 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.01 0.01 0.01 0.00 0.00 0.00 0.00 0.04 0.04 0.08 0.03 0.03 0.12 0.03 4.20 0.00 0.00 0.02 0.00 0.05 0.37 0.07 0.09 0.39 0.36 3.46 0.00 0.04 0.04 0.20 2.14 1.48 2.41 2.29 3.73 5.28 0.00 0.66 17.25 0.04 Table 3.3: Results on small-size instances 3.6.2 Medium-size Instances The computational results for the medium-size instances of the BRP are reported in Table 3.4. Some information on the branch-and-cut algorithm of Dell’Amico et al. [8] is reported, such as the best lower and upper bounds, the percentage gap between them (gap = 100 · (U B − LB)/U B), and the time needed to get these values in a time limit set to one hour. Then we present zavg (under multicolumn Avg), the average solution obtained by running the algorithm ten times for ten minutes, and the percentage gaps between zavg and the lower and upper bounds from the branch-and-cut, %gapLB = 100 · (zavg − LB)/LB and %gapU B = 100 · (zavg − U B)/U B, respectively. In Table 3.4 are also presented the minimal values zmin (under M in) obtained by the algorithm on the ten trials and the gaps between 71 3.6. COMPUTATIONAL RESULTS zmin and the bounds of the branch-and-cut computed in the same form as for Avg. We also show the average time needed to obtain the best solution with a time limit set to 600 seconds in t b. One can notice that the algorithm can procure the optimal solution for seven instances out of eight for which an optimal solution was given. To notice the improvement on the upper bound obtained for the instances Ciudad de Mexico (90,30) and Ciudad de Mexico (90,20), where we improve the solution in average of 17.49 % and 18.72%, respectively, and in the best case of 18.08% and 18.98%, respectively. We can see that on average the metaheuristic algorithm finds solutions 2.68% above the lower bound obtained by the branch-and-cut and algorithm and improves the upper bound by 2.81%; the best solution cost is only 2.28% above the lower bound and improves the upper bound by 3.17%. Instance DR BRP (10 min) B&C Avg City Denver Denver Denver Rio de J. Rio de J. Rio de J. Boston Boston Boston Torino Torino Torino Toronto Toronto Toronto Miami Miami Miami C. de M. C. de M. C. de M. Avg. |V | Q 51 51 51 55 55 55 59 59 59 75 75 75 80 80 80 82 82 82 90 90 90 30 20 10 30 20 10 30 20 16 30 20 10 30 20 12 30 20 10 30 20 17 LB 51583 53465 67459 122547 155446 253690 65669 71879 74790 47634 50204 58814 40794 42621 54238 152229 209379 390536 67894 88952 99714 U B %gap 51583 53465 67459 122547 156140 259049 65669 71879 75065 47634 50204 64797 41549 47898 60763 156104 229237 415762 88227 116418 109573 0.00 0.00 0.00 0.00 0.44 2.07 0.00 0.00 0.37 0.00 0.00 9.23 1.82 11.02 10.74 2.48 8.66 6.07 23.05 23.59 9.00 t 0.67 25.33 231.52 65.57 3600.00 3600.00 28.14 473.84 3600.00 13.79 859.69 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 3600.00 M in zavg %gapLB %gapU B 51583 53465 67459 122582.1 155992.7 257412.5 65669 72057.2 75318.8 47634 51026 62031.6 41783.5 46876.6 58878.7 154344.7 215167.1 402746.8 72797.5 94621.6 104213.7 5.17 2309.45 0.00 0.00 0.00 0.03 0.35 1.47 0.00 0.25 0.71 0.00 1.64 5.47 2.43 9.98 8.56 1.39 2.76 3.13 7.22 6.37 4.51 2.68 0.00 0.00 0.00 0.03 -0.09 -0.63 0.00 0.25 0.34 0.00 1.64 -4.27 0.56 -2.13 -3.10 -1.13 -6.14 -3.13 -17.49 -18.72 -4.89 t b 0.48 24.68 102.99 198.66 304.13 241.12 16.16 178.16 280.50 246.44 251.83 303.85 201.49 269.37 321.39 335.05 265.13 300.28 213.91 254.22 359.59 zmin %gapLB %gapU B 51583 53465 67459 122547 155517 257147 65669 71916 75085 47634 50438 61717 41390 46631 58539 154038 214250 397921 72279 94319 103658 -2.81 222.35 0.00 0.00 0.00 0.00 0.05 1.36 0.00 0.05 0.39 0.00 0.47 4.94 1.46 9.41 7.93 1.19 2.33 1.89 6.46 6.03 3.96 0.00 0.00 0.00 0.00 -0.40 -0.73 0.00 0.05 0.03 0.00 0.47 -4.75 -0.38 -2.65 -3.66 -1.32 -6.54 -4.29 -18.08 -18.98 -5.40 2.28 -3.17 Table 3.4: Results on medium-size instances 3.6.3 Large-size Instances In Table 3.5, we report the results for the large-size BRP instances. The tests have been performed similarly to those for the medium-size instances making use of the same parameter values, but with a time limit of 1800 seconds. The columns depicted in Table 3.5 are the same used in Table 3.4, even if the column reporting the times of the branch-and-cut algorithm is not necessary anymore since the time limit of one hour is always reached. One can notice that the branch-and-cut algorithm is not giving good bounds for the large-size instances, on the other hand we can comment that in most of the cases we can get heuristic solutions with a value closer to the 72 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP lower bound than to the upper bound, which is improved by a 33.92%, in average. Instance DR BRP (30 min) B&C (1 h) Avg City |V | Q Minneapolis Minneapolis Minneapolis Brisbane Brisbane Brisbane Milano Milano Milano Lille Lille Toulouse Toulouse Toulouse Sevilla Sevilla Valencia Valencia Bruxelles Bruxelles Bruxelles Lyon Lyon Barcelona Barcelona Barcelona London London 116 116 116 150 150 150 184 184 184 200 200 240 240 240 258 258 276 276 304 304 304 336 336 410 410 410 564 564 Avg. 30 20 10 30 20 17 30 20 18 30 20 30 20 13 30 20 30 20 30 20 16 30 20 30 20 19 30 29 LB 136148 157736 246133 108275 132419 147236 145245 187175 203716 164149 191630 166653 190739 256036 194805 240210 245979 302368 255259 301100 348303 300950 356787 311774 449060 429327 385748 363299 U B %gap 137843 186449 298886 158043 196739 234210 227983 295994 299630 231244 440350 404792 427959 461125 461011 516734 673479 698436 502920 580594 626721 580437 668971 983627 1088850 1089070 1304850 1339890 1.23 15.40 17.65 31.49 32.69 37.14 36.29 36.76 32.01 29.01 56.48 58.83 55.43 44.48 57.74 53.51 63.48 56.71 49.24 48.14 44.42 48.15 46.67 68.30 58.76 60.58 70.44 72.89 45.85 M in zavg %gapLB %gapU B 139874.3 166797.0 264335.2 115949.2 146930.0 160385.6 168931.2 219558.6 236394.9 178133.5 215007.8 190146.8 231062.0 308982.7 227911.7 281492.2 292262.6 370057.4 315487.7 379141.4 426992.4 364083.4 437588.1 545633.1 774818.4 805513.2 705232.0 725468.0 t b 2.74 5.74 7.40 7.09 10.96 8.93 16.31 17.30 16.04 8.52 12.20 14.10 21.14 20.68 16.99 17.19 18.82 22.39 23.60 25.92 22.59 20.98 22.65 75.01 72.54 87.62 82.82 99.69 1.47 -10.54 -11.56 -26.63 -25.32 -31.52 -25.90 -25.82 -21.10 -22.97 -51.17 -53.03 -46.01 -32.99 -50.56 -45.52 -56.60 -47.02 -37.27 -34.70 -31.87 -37.27 -34.59 -44.53 -28.84 -26.04 -45.95 -45.86 745.28 1003.72 946.37 742.81 957.83 966.44 871.18 823.76 1048.32 666.67 280.09 1147.86 1398.52 868.98 898.40 1054.31 789.54 1064.40 851.97 835.66 1038.33 879.61 1136.03 458.27 1538.57 1411.27 1572.97 1447.33 27.78 -33.92 980.16 zmin %gapLB %gapU B 138467 166150 262936 115120 146313 160015 167493 218249 234423 176976 213090 188995 228674 307874 225076 279990 287854 367201 311097 376387 424432 360009 433959 543929 771507 800622 699571 718026 1.70 5.33 6.83 6.32 10.49 8.68 15.32 16.60 15.07 7.81 11.20 13.41 19.89 20.25 15.54 16.56 17.02 21.44 21.88 25.00 21.86 19.62 21.63 74.46 71.80 86.48 81.35 97.64 0.45 -10.89 -12.03 -27.16 -25.63 -31.68 -26.53 -26.27 -21.76 -23.47 -51.61 -53.31 -46.57 -33.23 -51.18 -45.82 -57.26 -47.43 -38.14 -35.17 -32.28 -37.98 -35.13 -44.70 -29.14 -26.49 -46.39 -46.41 26.83 -34.40 Table 3.5: Results on large-size instances 3.6.4 Local Searches Evaluation In this subsection we furnish with an insight on the contribution of the local search procedures with respect to the complete DR BRP algorithm. We produced seven versions of our algorithm, by removing one of the seven local search procedures. Each version was run ten times on the medium-size instances, but disregarding the Denver instances because they are too easy and thus not interesting for this study. In Table 3.6 we report for each evaluated instance the percentage gap, %gap(·) , between the average solution value obtained by the complete DR BRP algorithm and the average solution value reached without the local search procedure (·). The index of the local search procedure in Table 3.6 is the one already used in Section 3.4.4 (e.g., %gap1 gives the percentage gap between DR BRP and DR BRP without MoveLS). By looking at the average values, reported in the last line of the table, one can notice that all local search procedures that we implemented have a positive contribution to the behavior of DR BRP. Indeed each removal leads to slightly worse solutions. In particular, MoveConsecutiveLS (index 2) and CrossingLS (index 6) have the largest impact on the overall algorithm, as their removal worsens the average solution value by 73 3.6. COMPUTATIONAL RESULTS 0.74% and 0.18%, respectively. City Rio de Janeiro Rio de Janeiro Rio de Janeiro Boston Boston Boston Torino Torino Torino Toronto Toronto Toronto Miami Miami Miami Ciudad de Mexico Ciudad de Mexico Ciudad de Mexico Avg. |V | Q %gap1 %gap2 %gap3 %gap4 %gap5 %gap6 %gap7 55 55 55 59 59 59 75 75 75 80 80 80 82 82 82 90 90 90 30 20 10 30 20 16 30 20 10 30 20 12 30 20 10 30 20 17 0.03 0.00 -0.03 0.00 -0.03 -0.08 0.00 -0.66 -0.23 0.15 0.49 -0.33 0.05 -0.11 0.07 0.12 0.06 -0.20 -0.36 -0.15 -0.17 -0.07 -0.07 -1.79 -0.42 -1.01 -0.59 -1.32 -1.89 -1.92 -0.09 -0.28 0.28 -1.59 -0.83 -1.11 -0.01 0.02 0.03 0.00 -0.03 -0.04 -0.02 -0.21 -0.13 0.07 0.39 -0.50 0.00 -0.17 0.18 -0.09 0.07 -0.16 -0.02 -0.04 -0.07 0.00 0.03 -0.36 0.00 -0.13 -0.09 -0.08 0.17 -0.40 0.04 -0.18 -0.09 0.09 -0.05 -0.09 -0.02 0.00 -0.06 0.00 0.02 -0.20 0.00 0.24 0.09 -0.14 0.41 -0.15 -0.06 -0.40 -0.30 0.10 -0.03 -0.09 0.00 -0.10 -0.04 0.00 -0.03 -0.03 -0.01 -0.20 -0.44 -0.33 -0.12 -1.00 -0.14 -0.22 0.34 -0.32 -0.24 -0.33 -0.01 0.00 -0.01 0.00 0.00 -0.13 -0.01 0.09 0.04 0.05 0.05 -0.43 0.05 -0.18 0.26 0.06 -0.07 -0.01 -0.04 -0.74 -0.03 -0.07 -0.03 -0.18 -0.01 Table 3.6: Evaluation of local search components. 3.6.5 1-PDVRP Instances The metaheuristic algorithm developed from the BRP has been slightly modified to include the maximum duration constraint typical of the 1-PDVRP and we use it to solve the instances available in the literature for the 1PDVRP (see, Shi et al. [32]). To test the quality of our algorithm, we decided to solve the instances for the 1-PDVRP setting as time limit the same times needed by the algorithm presented by Shi et al. [32] to terminate. The PC on which we performed our tests is faster compared to the one used by Shi et al. [32]. In particular, our PC is equipped with a 3.10 GHz CPU while theirs with a 1.60 GHz CPU. Hence, to perform a fair set of tests we assumed as time limit for each instance the time needed by the algorithm of Shi et al. [32] divided by 3.10 and multiplied by 1.60. In Table 3.7, we present the results of these tests. In details, we show the average solution obtained in the ten trials within the time limit computed as previously explained (zavg ), and the average time needed to find the best solution (t b). Then we recall the best average solution of Shi et al. [32] (bestSZG ) and the gap between zavg and bestSZG (%gapSZG = 100·(zavg −bestSZG )/zavg ). Moreover we replicate the minimal solution obtained by our algorithm (zmin ) and the gap between zavg and zmin (%gapmin = 100 · (zavg − zmin )/zavg ). One can notice that DR BRP improves upon SZG algorithm by about 10%. In two cases (n40q10A and n400q10A), our algorithm needs more time to reach an improved solution. Our algorithm reaches solution values only 3.66% above the best known ones, when using the SZG time limits. In the following, we reproduce the experiments according to what we did for the BRP instances. In Table 3.8, we present the results on the small-size 74 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Inst. |V | Q zavg t b bestSZG %gapSZG zmin %gapmin n20q10A n30q10A n40q10A n50q10A n60q10A n100q10A n200q10A n300q10A n400q10A n500q10A 20 30 40 50 60 100 200 300 400 500 10 10 10 10 10 10 10 10 10 10 5001 6547.1 7619.3 7478.9 9445.1 12946.6 20423.4 26069.2 35588 34553.6 0.10 0.20 0.32 0.54 0.58 0.37 12.89 43.60 49.53 121.306 5515.4 6906 7476.4 9263.5 9931.6 14379.3 23331.7 29805.3 34574.4 39872.5 -10.29 -5.48 1.88 -23.86 -5.15 -11.07 -14.24 -14.33 2.85 -15.39 5001 6503 7407 7283 8939 12317 19341 24763 33764 32890 0.00 0.67 2.79 2.62 5.36 4.86 5.30 5.01 5.13 4.81 Avg. 22.94 -9.51 3.66 Table 3.7: Comparison with the SZG algorithm with proportionate time limits. instances for the 1-PDVRP. We recall that we ran the algorithm ten times for ten seconds and set the parameters equally to the values used for the instances of the BRP. In Table 3.8, we report the name of the instance, the number of the vertices, and the vehicle capacity. We then include the value of the optimal solution (opt) obtained thanks to the newly developed branchand-cut algorithm for the 1-PDVRP. In the columns underlying the DR BRP multicolumn are shown the average and the minimum values of the ten trials of our metaheuristic and their gaps with respect to the optimal solution. In the columns under the multicolumn SZG we report the best average solution (best) presented by Shi et al. [32] and the gaps relative to avg and min, specifically %gap = 100·(avg−best)/best and %gap = 100·(min−best)/best. In the last column we show the time needed by Shi et al. to get their solutions. One can see that with our metaheuristic we can solve all the small-size instances to optimality every time for n20q10A, and at least once for the other instances, within an average time of 3.01 seconds. Moreover, when comparing our results to the algorithm presented by Shi et al. [32] it is clear that we can improve the solutions of more than 9% in average with an acceptable increase of computational times. SZG Inst. n20q10A n30q10A n40q10A n50q10A Avg. DR BRP |V | Q opt best %gap %gap t avg %gapavg min %gapmin t b 20 30 40 50 10 10 10 10 5001 6503 7407 7283 5515.4 6906 7476.4 9263.5 -9.33 -5.69 -0.02 -21.18 -9.33 -5.84 -0.93 -21.38 0.65 0.92 1.14 1.52 5001 6512.8 7474.8 7301.9 0.00 0.15 0.92 0.26 5001 6503 7407 7283 0.00 0.00 0.00 0.00 0.10 1.91 5.60 4.43 -9.05 -9.37 1.06 0.00 3.01 0.33 Table 3.8: Results on small-size instances for the 1-PDVRP. In Table 3.9, we depict the results of our algorithm on the medium-size and large-size instances of the 1-PDVRP. Since only one instance, n60q10A, could be considered as a medium-size instance we show its results with those derived by the large-size instances. Instance n60q10A has been run for ten 75 3.7. CONCLUSIONS minutes, while the other instances for 30 minutes. All instances have been run ten times by using the parameters used for the instances of the BRP. Similarly to the previous tables, in Table 3.9 we show the name of the instances, the number of vertices, and the vehicles capacity. We then present the average value of the solution computed on the ten trials (zavg ), the best value among them (zmin ), and the average time needed to obtain the best solution (t b). In the remaining part of the Table we show the best average solution presented by Shi et al. [32], the gaps %gapSZG = 100 · (zavg − bestSZG )/bestSZG and %gapSZG = 100 · (zmin − bestSZG )/bestSZG , and the needed computing times (tSZG ). One can notice that our algorithm is able to improve every solution, in particular we improve the solution of 11.91%, in average, and of 12.85% considering the best solutions, within about 15 minutes, in average. Inst. |V | Q zavg zmin t b bestSZG %gapSZG %gapSZG tSZG n60q10A n100q10A n200q10A n300q10A n400q10A n500q10A 60 100 200 300 400 500 10 10 10 10 10 10 8941.1 12476.9 19619.5 25092.3 34209 33706.5 8939 12317 19341 24763 33951 33108 140.87 855.75 1181.46 808.87 1237.71 1203.76 9931.6 14379.3 23331.7 29805.3 34574.4 39872.5 -9.97 -13.23 -15.91 -15.81 -1.06 -15.46 -9.99 -14.34 -17.10 -16.92 -1.80 -16.97 2.01 14.85 47.00 100.25 156.47 240.06 -11.91 -12.85 93.44 Avg. 904.74 Table 3.9: Results on medium-size and large-size instances for the 1-PDVRP. 3.7 Conclusions In this chapter, we solved the Bike sharing Rebalancing Problem proposing an effective metaheuristic algorithm in which are implemented a new constructive heuristic and a set of local searches made more efficient by some speed-up techniques. A related problem where a maximum duration constraint is considered, the one-commodity Pickup and Delivery Vehicle Routing Problem, has also been tackled by adapting the developed metaheuristic and the branch-and-cut algorithm. The branch-and-cut algorithm used considers in an innovative and efficacious way the duration constraint including inequalities and separation procedures that can be applied to general VRP problems with maximum duration constraints. We evaluated our algorithms on newly collected real-world and literature instances for both BRP and 1-PDVRP. We improved strongly the solutions reported in the literature getting new optima and new best known solutions in effective times. 76 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP 3.A Annex Proof of Property 2 a) Let P 0 be the route obtained by removing vertex i from P . Route P 0 is feasible if |P 0 |−1 0 |P 0 |−1 max {lP 0 (k) (P )} − min {lP 0 (k) (P 0 )} ≤ Q. k=0 (3.19) k=0 To prove that this is always satisfied, let us consider two cases: -) qi ≥ 0. With respect to the original route P , the removal of the vertex may either reduce or keep unchanged both the max and min terms in (3.19). The maximum difference between the two terms arises when the max remains unchanged and the min decreases by the largest possible quantity, i.e., by qi . We can thus state that: |P 0 |−1 |P 0 |−1 max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} − |P |−1 ! min {lP (k) (P )} − qi = |P |−1 max {lP (k) (P )} − min {lP (k) (P )} + qi ≤ k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q, where the last two steps follow, respectively, from the hypothesis and from Equation (3.10). -) qi < 0. In this case we consider instead that the largest difference between the two terms in (3.19) is attained when the max increases by −qi and the min remains unchanged, thus: |P 0 |−1 |P 0 |−1 max {lP 0 (k) (P 0 )} − min {lP 0 (k) (P 0 )} ≤ k=0 k=0 |P |−1 |P |−1 max {lP (k) (P )} − qi − min {lP (k) (P )} = k=0 |P |−1 k=0 |P |−1 max {lP (k) (P )} − min {lP (k) (P )} − qi ≤ k=0 k=0 |P |−1 |P |−1 k=0 k=0 max {lP (k) (P )} − min {lP (k) (P )} + ∆P = Q. b) Directly form Property 1 and Property 2.a. 77 3.A. ANNEX c) Let P 0 be the route obtained by swapping vertices i and j in P . First suppose that i precedes j in P . Then the proof follows the footsteps of that of point a), by considering two cases, qi ≥ qj and qi < qj , and showing that (3.19) is always satisfied when the hypothesis holds. The same applies when j precedes i. d) Let P 0 and R0 be the routes obtained from, respectively, P and R, after the swap of i with j. Suppose without loss of generality that ∆P ≤ ∆R , and let us concentrate on P . Similarly to the proof of point a), we consider two cases, qi ≥ qj and qi < qj . Then one can check that Equation (3.19) is satisfied on both cases, when the hypothesis holds, by applying a similar consideration to the one above on the largest difference between the max and min values attained in the equation. Note that the fact that the swap is feasible does not imply that the single removal or insertion of a vertex is feasible, i.e., |qi | and/or |qj | could be greater than ∆P . The same reasoning applies to route R and that concludes the proof. Proof of Property 3 We are given two disjoint and feasible routes P and R, to be merged in the order (P ⊕ R). Recall that, by using (3.12), the last forward load window of P can be expressed as FP (|P |−1) (P ) = |P |−1 lP (|P |−1) (P ) − mini=0 {lP (i) (P )}, (3.20) |P |−1 lP (|P |−1) (P ) + Q − maxi=0 {lP (i) (P )} . Now notice that the first backward load window of route R can be expressed as the difference between the last forward load window of the route and the cumulated demand along the route, that is BR(1) (R) = FR(|R|−1) (R) − lR(|R|−1) (R). (3.21) The extreme values of FR(|R|−1) (R) can be expressed again by using (3.12), obtaining FR(|R|−1) (R) = (3.22) |R|−1 lR(|R|−1) (R) − mini=0 {lR(i) (R)}, |R|−1 lR(|R|−1) (R) + Q − maxi=0 {lR(i) (R)} . Thus combining (3.21) and (3.23) we get " |R|−1 BR(1) (R) = |R|−1 # − min {lR(i) (R)}, Q − max {lR(i) (R)} . i=0 i=0 (3.23) 78 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Let us define, for the sake of simplicity, FP (|P |−1) (P ) = F = f , f and BR(1) (R) = B = b, b . Their intersection is given by F ∩ B = max{f , b}, min{f , b} . We first show the “if” part of the thesis, that is, if the intersection of the two load windows is not empty, then the combined route is feasible. The two load windows can be basically seen as two intervals, thus their intersection is not empty if max{f , b} ≤ min{f , b}. (3.24) There are four cases. If max{f , b} = f and min{f , b} = f , then (3.24) is satisfied because P is feasible for hypothesis. The same holds when the max and min values are attained by b and b, respectively, because of the feasibility of R. Let us now concentrate on the case where max{f , b} = f and min{f , b} = b. For this case (3.24) summarizes to f ≤ b, that using (3.21) and (3.23) corresponds to |P |−1 |R|−1 lP (|P |−1) (P ) − min {lP (i) (P )} ≤ Q − max {lR(i) (R)}, i=0 i=0 which can be rewritten as |R|−1 |P |−1 i=0 i=0 max {lR(i) (R) + lP (|P |−1) (P )} − min {lP (i) (P )} ≤ Q. (3.25) Route P ⊕ R is feasible if the following condition is satisfied |P ⊕R|−1 |P ⊕R|−1 i=0 i=0 max {lP ⊕R(i) (P ⊕ R)} − min {lP ⊕R(i) (P ⊕ R)} ≤ Q. (3.26) To prove this, first notice that we can rewrite |P ⊕R|−1 maxi=0 {lP ⊕R(i) (P ⊕ R)} = (3.27) |P |−1 |R|−1 max{maxi=0 {lP (i) (P )}, maxi=0 {lR(i) (R) + lP (|P |−1) (P )}}, |P ⊕R|−1 mini=0 {lP ⊕R(i) (P ⊕ R)} = |P |−1 |R|−1 min{mini=0 {lP (i) (P )}, mini=0 {lP (i) (R) + lP (|P |−1) (P )}}. |P |−1 (3.28) Because f ≥ b, we have that lP (|P |−1) (P ) + Q − maxi=0 {lP (i) (P )} ≥ Q − |R|−1 maxi=0 {lR(i) (R)}, and thus |R|−1 |P |−1 i=0 i=0 max {lR(i) (R) + lP (|P |−1) (P )} ≥ max {lP (i) (P )}, 79 3.A. ANNEX which combined with (3.28) gives |P ⊕R|−1 |R|−1 i=0 i=0 max {lP ⊕R(i) (P ⊕ R)} = max {lR(i) (R) + lP (|P |−1) (P )}. (3.29) Similarly, from f ≥ b, it follows |P |−1 |R|−1 lP (|P |−1) (P ) − min {lP (i) (P )} ≥ − min {lR(i) (R)}, i=0 i=0 and hence |P |−1 |R|−1 min {lP (i) (P )} ≤ min {lR(i) (R) + lP (|P |−1) (P )}, i=0 i=0 which combined with (3.29) gives us that |P ⊕R|−1 |P |−1 min {lP ⊕R(i) (P ⊕ R)} = min {lP (i) (P )}. i=0 i=0 (3.30) By including (3.29) and (3.30) into (3.25) we can thus conclude that (3.26) is satisfied. The remaining case, max{f , b} = b and min{f , b} = f , is specular to the one just discussed, and this concludes the first part of the proof. The “only if” part is proved similarly, noticing that F ∩ B = ∅ means that max{f , b} > min{f , b}. Once again we have four cases, f > f and b > b, which are impossible, and f > b and b > f , which are specular. We concentrate on the case f > b, and use the consequent facts that f ≥ b and f ≥ b. By applying similar steps to the ones in the “if” part we can show that |P ⊕R|−1 |P ⊕R|−1 i=0 i=0 max {lP ⊕R(i) (P ⊕ R)} − min {lP ⊕R(i) (P ⊕ R)} > Q, and thus P ⊕ R is infeasible. 80 CHAPTER 3. DESTROY AND REPAIR FOR THE BRP Bibliography [1] M. Battarra, J.-F. Cordeau, and M. Iori. Vehicle Routing: Problems, Methods, and Applications, Chapter 6: Pickup-and-Delivery Problems for Goods Transportation. Vehicle Routing: Problems, Methods, and Applications, Toth P. and Vigo D. (eds.) SIAM, 2014. [2] M. Benchimol, P. Benchimol, B. Chappert, A. De La Taille, F. Laroche, F. Meunier, and L. Robinet. Balancing the stations of a self service ”Bike Hire” system. RAIRO-Operations Reserach, 45:37–61, 2011. [3] G. Berbeglia, J.-F. Cordeau, I. Gribkovskaia, and G. Laporte, Static pickup and delivery problems: A classification scheme and survey. TOP, 15:1–31, 2007. [4] A. Cesta, A. Oddi, and S. F. Smith. Iterative flattening: A scalable method for solving multi-capacity scheduling problems. Proceedings of the Seventeenth National Conference on Artificial Intelligence. AAAI Press / The MIT Press, 742–747, 2000. [5] D. Chemla, F. Meunier, and R. Wolfler Calvo. Bike sharing systems: Solving the static rebalancing problem. Discrete Optimization, 10:120– 146, 2013. [6] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot to a number of delivery points. Operations research, 12:568–581, 1964. [7] C. Contardo, C. Morency, and L.-M. Rousseau. Balancing a dynamic public bike-sharing system. Technical Report CIRRELT-2012-09, CIRRELT, 2012. [8] M. Dell’Amico, E. Hadjicostantinou, M. Iori, and S. Novellani, The bike sharing rebalancing problem: Mathematical formulations and benchmark instances. Omega, 45:7–19, 2014. [9] P. DeMaio, Bike Sharing: History, Impacts, Model of Provision and Future. Journal of Public Transportation, 10:41–56, 2009. [10] P. DeMaio and R. Meddin. Bike-sharing world map. [Online]. Available: http://bike-sharing.blogspot.it/, 2014. 81 82 BIBLIOGRAPHY [11] M. den Besten and T. Stützle. Neighborhoods revisited: An experimental investigation into the effectiveness of variable neighborhood descent for scheduling. in Proceedings of the 4th Metaheuristics International Conference, Porto, Portugal, 2:545–550, 2001 [12] L. Di Gaspero, A. Rendl, and T. Urli. Balancing bike sharing systems with constraint programming. Constraints, 2014 (submitted). [13] Ö. Ergun and J. B. Orlin. Fast neighborhood search for the single machine total weighted tardiness problem. Operations Research Letters, 34:41–45, 2006. [14] P. Hansen and N. Mladenović. Variable neighborhood search: Principles and applications. European Journal of Operational Research, 130:449– 467, 2001. [15] H. Hernández-Pérez, I. Rodrı́guez-Martı́n, and J.-J. Salazar-González. A hybrid GRASP/VND heuristic for the one-commodity pickup-anddelivery traveling salesman problem. Computers & Operations Research, 36:1639–1645, 2009. [16] H. Hernández-Pérez and J.-J. Salazar-González. A Branch-and-Cut Algorithm for a Traveling Salesman Problem with Pickup and Delivery. Discrete Applied Mathematics, 145:126–139, 2004. [17] H. Hernández-Pérez and J.-J. Salazar-González. Heuristics for the onecommodity pickup-and-delivery traveling salesman problem. Transportation Science, 38:245–255, 2004. [18] H. Hernández-Pérez and J.-J. Salazar-González. The One-Commodity Pickup-and-Delivery Travelling Salesman Problem. Lecture Notes in Computer Science, 2570:89–104, 2003. [19] H. Hernández-Pérez and J.-J. Salazar-González. The one-commodity pickup-and-delivery traveling salesman problem: Inequalities and algorithms. Networks, 50:258–272, 2007. [20] M. Hosny and C. Mumford. Solving the one-commodity pickup and delivery problem using an adaptive hybrid VNS/SA approach. Parallel Problem Solving from Nature, PPSN XI, ser. Lecture Notes in Computer Science, R. Schaefer, C. Cotta, J. Kolodziej, and G. Rudolph, Eds. Springer, Berlin, 6239:189–198, 2010. [21] T. Ibaraki, S. Imahori, M. Kubo, T. Masuda, T. Uno, and M. Yagiura. Effective local search algorithms for routing and scheduling problems with general time-window constraints. Transportation Science, 39:206– 232, 2005. BIBLIOGRAPHY 83 [22] L. W. Jacobs and M. J. Brusco. A local search heuristic for large setcovering problems. Naval Research Logistics, 42:1129–1140, 1995. [23] C.-J. Liao, H.-H. Tsou, and K.-L. Huang. Neighborhood search procedures for single machine tardiness scheduling with sequence-dependent setups. Theoretical Computer Science, 434:45–52, 2012. [24] M. López-Ibáñez, J. Dubois-Lacoste, T. Stützle, and M. Birattari. The irace package, iterated race for automatic algorithm configuration. IRIDIA, Université Libre de Bruxelles, Belgium, Tech. Rep. TR/IRIDIA/2011-004, 2011. [Online]. Available: http://iridia.ulb.ac. be/IridiaTrSeries/IridiaTr2011-004.pdf [25] G. Martinovic, I. Aleksi, and A. Baumgartner. Single-Commodity Vehicle Routing Problem with Pickup and Delivery Service. Mathematical Problems in Engineering, 2008. [26] N. Mladenović, D. Urošević, S. Hanafi, and A. Ilić. A general variable neighborhood search for the one-commodity pickup-and-delivery travelling salesman problem. European Journal of Operational Research, 220:270–285, 2012. [27] P. Papazek, G. Raidl, M. Rainer-Harbach, and B. Hu. A pilot/vnd/grasp hybrid for the static balancing of public bicycle sharing systems. Computer Aided Systems Theory-EUROCAST 2013. Springer, 372–379, 2013. [28] T. Raviv, M. Tzur, and I. Forma. Static repositioning in a bike-sharing system: models and solution approaches. EURO Journal on Transportation and Logistics, 2:187–229, 2013. [29] A. J. Richmond and J. E. Beasley. An iterative construction heuristic for the ore selection problem. Journal of Heuristics, 10:153–167, 2004. [30] R. Ruiz and T. Stützle. A simple and effective iterated greedy algorithm for the permutation flowshop scheduling problem. European Journal of Operational Research, 177:2033–2049, 2007. [31] P. Shaw. Using constraint programming and local search methods to solve vehicle routing problems. Principles and Practice of Constraint Programming - CP98, ser. Lecture Notes in Computer Science, M. J. Maher and J.-F. Puget, (eds.), Springer, 1520:417–431, 1998. [32] X. Shi, F. Zhao, and Y. Gong, Genetic algorithm for the one-commodity pickup-and-delivery vehicle routing problem. IEEE International Conference on Intelligent Computing and Intelligent Systems, 2009, 1:175– 179, 2009. 84 BIBLIOGRAPHY [33] G. Schrimpf, J. Schneider, H. Stamm-Wilbrandt, and G. Dueck. Record breaking optimization results using the ruin and recreate principle. Journal of Computational Physics, 159:139–171, 2000. [34] J. Schuijbroek, R. Hampshire, and W.-J. van Hoeve. Inventory rebalancing and vehicle routing in bike sharing systems. 2013 (working paper). [35] F. Zhao, S. Li, J. Sun, and D. Mei. Genetic algorithm for the onecommodity pickup-and-delivery traveling salesman problem. Computers & Industrial Engineering, 56:642–1648, 2009. Chapter 4 The Bike sharing Rebalancing Problem with Stochastic Demands In this chapter we deal with stochastic versions of the Bike sharing Rebalancing Problem (BRP), the problem of driving a fleet of vehicles to redistribute bicycles among stations of a bike sharing system. In the stochastic BRPs the demands of the stations are represented by random variables, each one given with its probability distribution. We define two versions of the BRP with stochastic demands, considering different decisions to be made before the realization of the random variables. We modeled the problems as stochastic programming models and tackled them by using different solving approaches, including the L-Shaped method and branch-and-cut algorithms. Moreover, we developed constructive heuristic algorithms based on the novel use of positive and negative correlations between the bike stations, based on their stochastic demands. The algorithms have been tested on newly collected real-world instances and an extensive comparison between the different approaches is given. Keywords: Stochastic Programming, Routing, Bike Sharing, Branch-andcut, Correlations 4.1 Introduction Bike sharing systems are public or private systems used to solve the last mile problem and to provide an additional mean of transportation to the users moving across city centers. They appeared for the first time in Amsterdam in the 60s and they multiplied consistently in the last two decades in every continent. Bike sharing systems are made of several bike stations located in different places in a city, town, university campus, etc. Each station is made 85 86 CHAPTER 4. THE STOCHASTIC BRP of a number of slots where users can collect or drop off a bicycle. Users can collect a bicycle, use it for a certain amount of time, and drop it off at a station of their choice. Most of the times, users start and finish their trips in two different stations, and they do not necessarily do the return trip using the same mean of transportation. For instance, this is a typical situation when the starting bike station is located on the top of a hill and the ending bike station is at the bottom. Each station is associated with a number, that is called balanced level of occupation, that is the number of bicycles to be present in the station to make the station balanced. Note that if all the stations are balanced then the system is balanced. Given a balanced situation, after a certain amount of time, the system may become unbalanced and this leads to inefficiencies for the users such as empty or full stations. To rebalance the system we must bring the current situation of each station to its balanced level of occupation. The demand of each station is defined as the difference between the current level of occupation and the balanced one. We consider stochastic demands representing different scenarios, each one with its probability. The goal of this chapter is to rebalance an unbalanced situation of a bike sharing system by using a fleet of capacitated vehicles at minimum cost where demands are stochastic. We define the Stochastic Bike sharing Rebalancing Problem and propose Stochastic Programming models and exact and heuristic methodologies to solve them. In particular, we present dedicated L-Shaped algorithms, branch-and-cut algorithms, and some heuristic algorithms making use of the correlation between the nodes, based on their demands. We computationally test our algorithms on realworld newly collected instances. We also define a similar problem in which the load of each vehicle leaving the depot has to be decided in advance and does not depend on the scenario. We compare and comment the objective function of the two problems. In Section 4.2 we produce a literature review, in Section 4.3 we formally define the problems, for which we propose several formulations and exact algorithms in Sections 4.4 and 4.5. Heuristic algorithms based on correlations between stations are proposed in Section 4.6. Computational results are reported in Section 4.7. 4.2 Literature Review The bike sharing systems and their issues have been treated in many works lately, including strategical and tactical decisions, by defining and solving several sets of optimization problems, evaluating different levels of detail and various types of mathematical models and algorithms. One of the tactical problems that has been identified and solved is the one concerning the redistribution of the bicycles among the stations that we call Bike sharing Rebalancing Problem (BRP). Its deterministic static and dynamic versions 4.3. PROBLEMS DESCRIPTION 87 have been tackled. For a complete literature review on the static version we refer the reader to the previous chapters, where recent works on exact and metaheuristic algorithms are described. A dynamic version of the problem is solved heuristically by Contardo et al. [4]. The deterministic versions of the problem have been studied and tackled in many recent works and some papers that we describe in the following made use of historical data. Instead, according to our knowledge, stochastic versions of the BRP have not been considered yet. Regue and Recker [11] also solved a dynamic problem, where the routing and the inventory problems are both accounted and the stochastic part is considered by using historical data by means of a demand forecasting model. Saharidis et al. [12] define a mathematical formulation to design the bike sharing infrastructure, deciding the location and the size of the bike stations, incorporating a hourly demand estimation. Wang and Wang [15] provide an analysis on bike repositioning strategies proposing a simulation study where real time and historical data are considered. Stochastic optimization and in particular stochastic vehicle routing problems have been studied in several works and with diverse methodologies in the last years, we refer the interested reader to Birge and Louveaux [2] and to King and Wallace [5]. The stochastic vehicle routing problems where the stochastic variables are the demands (i.e., the vehicle routing problems with stochastic demands) have been modeled and solved with a chance constrained programming approach (see, e.g., Gouden and Stewart [13]), with a robust optimization approach (see, e.g, Bertsimas and Simchi-Levi [1]), and with stochastic programming with recourse (see, e.g., Laporte et al. [6]). The reader can have an idea of the heterogeneity of the works on the stochastic vehicle routing problems in Gendreau et al [6]. Besides that, to our knowledge, problems with positive and negative stochastic demands of the same product (i.e., one-commodity pickup and delivery VRPs/TSPs with stochastic demands) have been tackled only by Louveaux and SalazarGonzález in [7] and [8], where they study the TSP version and a particular attention is payed to the vehicle capacity. In the following we define, model and solve two versions of the family of one-commodity pickup and delivery VRPs with stochastic demands. 4.3 Problems description The Stochastic Bike sharing Rebalancing Problem (SBRP) is modeled on a complete digraph G = (V, A), where V = {0, 1, . . . , n} is the set of vertices including the n customers and the depot (vertex 0) and A is the set of arcs between each pair of vertices. For each vertex i ∈ V \{0} a request q̃iω is given for every scenario ω ∈ Ω, where Ω is the set of all thePpossible scenarios and pω is the probability of the scenario ω, knowing that ω∈Ω pω = 1. Requests 88 CHAPTER 4. THE STOCHASTIC BRP can be positive or negative, we refer to as a pickup vertex and delivery vertex if the request is positive or negative, respectively. The quantities picked up at pickup vertices can be used to respond to demand of delivery vertices or go to the depot, so as to some quantities can come from the depot, if needed. We impose that a station with null request must be visited. In the SBRP the demands of different vertices and scenarios can be not respected by paying a penalty ki for each unit of slack and surplus in vertices i ∈ V . These quantities of exceeding and lacking demands are limited by some considerations on the dimension Hi of each station and the balanced level of occupation di of each station. The objective of the SBRP is to drive the fleet of m identical vehicles of capacity Q available at the depot to a set of routes in order to respond to the scenario demands, if possible, or by paying penalties, and minimizing the sum of the traveling costs and the penalty costs. The Stochastic Bike sharing Rebalancing Problem with Fixed starting flows (SBRPF) is a similar problem, where the number of bikes to load on each vehicle leaving the depot have to be determined before the realization of the demands. 4.4 Formulations for the SBRP In this section we present a set of formulations to solve the SBRP. We adopted the terminology used in Birge and Louveaux [2]. 4.4.1 Deterministic Equivalent Program The first formulation we introduce in (4.1)-(4.12) is the Deterministic Equivalent Program (DEP). We define variables xij , (i, j) ∈ A, that can take value 1 if arc (i, j) is used and 0 otherwise. The cost of traveling arc (i, j) is cij . Variable fijω represents the quantity flowing on the arc (i, j) ∈ A in scenario ω ∈ Ω. Variables sωj and yjω are the slack and surplus variables used to pay a cost kj for each unit of slack and surplus when the flows do not respect the demand at vertex j ∈ V \ {0} in scenario ω ∈ Ω. (DEP) min XX cij xij + i∈V j∈V X X ω∈Ω pω X kj (yjω + sωj ) (4.1) j∈V \{0} xij = 1 j ∈ V \ {0} (4.2) xji = 1 j ∈ V \ {0} (4.3) i∈V X i∈V X j∈V x0j ≤ m (4.4) 89 4.4. FORMULATIONS FOR THE SBRP XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ i∈S j∈S (4.5) fijω ≤ Qxij X ω fji − i∈V (i, j) ∈ A, ω ∈ Ω (4.6) X fijω = q̃jω + yjω − sωj j ∈ V \ {0} , ω ∈ Ω i∈V (4.7) yjω ≤ dj j ∈ V \ {0} , ω ∈ Ω (4.8) sωj ≤ Hj − dj j ∈ V \ {0} , ω ∈ Ω (4.9) yjω , sωj ≥ 0 j ∈ V \ {0} , ω ∈ Ω (4.10) fijω ≥ 0 (i, j) ∈ A, ω ∈ Ω (4.11) xij ∈ {0, 1} (i, j) ∈ A. (4.12) The objective function (4.1) of the DEP considers two components, one that aims at minimizing the traveling costs and a second component that pays a penalty kj for every unit of demand that is not fulfilled, multiplied by the probability of the related scenario. Constraints (4.2) and (4.3) impose that one and only one arc can enter and exit every vertex but the depot. Constraint (4.4) set that the maximum number of arcs leaving the depot is not grater than the available vehicles. Subtours are avoided thanks to constraints (4.5). In (4.6) we state that the flows can be at most the capacity of the vehicles if the corresponding arc is used, 0 otherwise. Constraints (4.7) assert that the difference between the exiting and entering flows in a vertex must be equal to the demand of a certain vertex and scenario corrected by the surplus and the slack variables. In constraints (4.8) and (4.9) a bound is set to the surplus and slack variables. In particular, we state that we cannot exceed the capacity of the station and that we cannot collect more bikes than what we have in the station. To make easier to understand constraints (4.8) and (4.9), we report, in Figure 4.1, the possible balanced level of occupation dj with respect to a negative or non-negative demand, given that lj is the current level of occupation of a station j ∈ V \ {0}. One can correctly say that the current level of occupation lj is the stochastic variable (more properly ljω ), although because the balanced level of occupation is fixed for each station, the demand can be considered as the stochastic variable without loss of correctness, being qjω = ljω − dj , j ∈ V \ {0}, ω ∈ Ω. (4.13) 90 CHAPTER 4. THE STOCHASTIC BRP We then impose the flow, slack and surplus variables to be positive in (4.10) and (4.11). In (4.12) the x variables are declared booleans. Figure 4.1: Picture of the parameters of a station. 4.4.2 Two-stage Formulation In this subsection we propose a two-stage Stochastic Linear Programming (SLP) model with simple recourse for the SBRP. As typical for the two-stage SLP models we can separate the DEP into two stages, the first one takes into account the deterministic part of the problem, the decisions to take here and now, whilst the second stage model represents a set of models, one for each scenario, that take as input the decisions made at the first stage and make them fit with the request of the various scenarios after the realization. To perform this fitting a cut is produced and inserted into the first stage model. Both models must be solved in an iterative way: when the inequalities produced by the second stage models do not cut the solution of the first stage then the optimal solution has been found. (1-Stage) min XX cij xij + E(z(ω, y, s)) (4.14) i∈V j∈V X xij = 1 j ∈ V \ {0} (4.15) xji = 1 j ∈ V \ {0} (4.16) i∈V X i∈V X x0j ≤ m (4.17) j∈V XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ (4.18) (i, j) ∈ A. (4.19) i∈S j∈S xij ∈ {0, 1} 91 4.4. FORMULATIONS FOR THE SBRP The objective function (4.14) of the first stage model contemplates the traveling costs and the expected value of the solution of the second stage. This second component of (4.14) is the expected value of the solutions of the second stage models and substitutes the second component of (4.1), that defined the costs due to the penalties. Constraints (4.15)-(4.19) are similar to (4.2)-(4.5) and (4.12). (2-Stage) min z(ω, y, s) = X kj (yjω + sωj ) (4.20) j∈V \{0} fijω ≤ Qxij X X ω fji − fijω = q̃jω + yjω − sωj i∈V i∈V ω yj ≤ dj sωj ≤ Hj − dj yjω , sωj ≥ 0 fijω ≥ 0 (i, j) ∈ A (4.21) j ∈ V \ {0} (4.22) j ∈ V \ {0} (4.23) j ∈ V \ {0} (4.24) j ∈ V \ {0} (4.25) (i, j) ∈ A (4.26) The second stage formulation includes a model for each scenario ω ∈ Ω. Constraints (4.22) impose that the difference between the outgoing and the incoming flows coming from the first stage model respects the demands and, if not possible, doing it by using slack and surplus variables. Every unit of slack and surplus is payed into the objective function (4.20) with a cost kj . The slack and surplus variables are bounded in (4.23) and (4.24). Then we have the non-negativity constraints. The most common way to solve a two-stage stochastic model is represented by the L-Shaped method (see, e.g., Birge and Louveaux [2]), which solves the first stage LP, takes the linking variables between the two stages (xij ) and uses them as fixed into all the second stage models. The dual problem of the second stage problem is then solved for each ω ∈ Ω: if at least one dual of the second stage problem is unbounded we need a feasibility cut, i.e., the first stage solution is not feasible for every scenario and we must impose its feasibility with a cut and solve again the first stage model.When all duals are feasible we could need to introduce an optimality cut, if it does not cut the solution then this is optimal, otherwise the cut that imposes the solution vector to change or the penalty value (η, the variable that considers the expected value of the second stage model) to increase. In this latter case we must recompute the first stage model with the new cut. Then the dual problem of the second stage problem can be written as in 92 CHAPTER 4. THE STOCHASTIC BRP (4.27)-(4.38). (2-Stage Dual) max zD (ω, y, s) = Q XX xij µωij + i∈V j∈V X qjω φωj + j∈V \{0} X (4.27) dj πjω + j∈V \{0} X (Hj + dj )νjω j∈V \{0} µωjj ≤ 0 j∈V (4.28) µω0j − φωj ≤ 0 µωj0 + φωj ≤ 0 µωij + φωi − φωj j ∈ V \ {0} (4.29) j ∈ V \ {0} (4.30) ≤0 (i, j) ∈ A, i, j 6= 0, i 6= j (4.31) π0ω ≤ k0 πjω − φωj ≤ ν0ω ≤ k0 νjω + φωj ≤ µωij ≥ 0 νjω , πjω ≥ 0 φωj f ree (4.32) kj j ∈ V \ {0} (4.33) (4.34) kj j ∈ V \ {0} (4.35) (i, j) ∈ A (4.36) j ∈ V \ {0} (4.37) j ∈ V \ {0}. (4.38) The overall formulation of the L-Shaped method, that we call L-Shaped Formulation, can be written as in (4.39)-(4.47), where η is the variable that takes into account the penalties caused by the second stage models and the derived optimality cuts which are made explicit in (4.40). The feasibility cuts are shown in (4.41). |Topt | is the number of iterations providing optimality cuts, while |Tf eas | is the number of iterations giving feasibility cuts, and |Topt | + |Tf eas | is the number of the iteration needed to obtain the optimal solution. (L-Shaped) min XX i∈V j∈V cij xij + η (4.39) 93 4.4. FORMULATIONS FOR THE SBRP η≥ X X ω,t µij xij − pω − Q ω∈Ω (i,j)∈A X ω φω,t i qi − πiω,t di − X t ∈ Topt (4.40) t ∈ Tf eas (4.41) xij = 1 j ∈ V \ {0} (4.42) xji = 1 j ∈ V \ {0} (4.43) i∈V \{0} i∈V \{0} X νiω,t (Hi − di ) i∈V \{0} µ̂ω,t ij xij ≥ − X Q π̂iω,t di − X ν̂iω,t (Hi − di ) i∈V \{0} i∈V \{0} X ω,t φ̂ω,t i qi − i∈V \{0} (i,j)∈A X X i∈V X i∈V X x0j ≤ m (4.44) j∈V XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ (4.45) (i, j) ∈ A (4.46) i∈S j∈S xij ∈ {0, 1} η ≥ 0. (4.47) Branch-and-cut Implementation We can solve the model described in (4.39)-(4.47) in a branch-and-cut fashion and we call this implementation One-cut B&C. In the DEP, the L-Shaped Formulation, and in the One-cut B&C we insert in the model the subtour elimination constraints (see, e.g., (4.45)) only when violated. To do so we firstly use a heuristic procedure to detect a violated cut, this procedure is called max-back (see, e.g., Naddef and Thienel [9]). If no violated cut is found we use the well known max-flow algorithm to find the most violated one. After the seventh node of the branching tree we use only the maxflow procedure if the current solution is not integer. In the One-cut B&C also the the constraints (4.40) and (4.41) are inserted in a branch-and-cut fashion when violated. This evaluation is performed at each branching node considering also fractional variables. In this case |Topt | + |Tf eas | represents the number of inserted cuts derived by the scenarios. 4.4.3 Multi-cut Formulation Another way of solving the two-stage problem is to insert more than one optimality cut for the entire set of scenarios, i.e., to insert one optimality 94 CHAPTER 4. THE STOCHASTIC BRP cut for each scenario that needs its component of costs to increase at a particular iteration. This method is called multi-cut L-shaped method, so we introduce here the Multi-cut Formulation, defined in (4.48)–(4.56). We need a variable η ω for each scenario ω ∈ Ω. The summation of these new variables is evaluated into the objective function (4.48) and the new optimality constraints are represented in (4.49). |Topt | · |Ω| + |Tf eas | represents the number of iterations needed by the multi-cut L-Shaped algorithm to converge. (Multi-cut) min XX cij xij + i∈V j∈V ω η ≥p ω X ηω (4.48) ω∈Ω µω,t ij xij − X −Q i∈V \{0} (i,j)∈A X πiω,t di − ω φω,t i qi − X νiω,t (Hi − di ) X t ∈ Topt , ω ∈ Ω i∈V \{0} i∈V \{0} (4.49) µ̂ω,t ij xij X Q ≥− π̂iω,t di ω,t φ̂ω,t i qi − i∈V \{0} (i,j)∈A X X − i∈V X ν̂iω,t (Hi t ∈ Tf eas − di ) i∈V (4.50) X xij = 1 j ∈ V \ {0} i∈V (4.51) X xji = 1 j ∈ V \ {0} i∈V (4.52) X x0j ≤ m (4.53) j∈V XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ i∈S j∈S (4.54) xij ∈ {0, 1} ηω ≥ 0 (i, j) ∈ A (4.55) ω ∈ Ω. (4.56) Branch-and-cut Implementation Similarly to the L-Shaped Formulation, also the Multi-cut Formulation can be solved in a branch-and-cut fashion: we call this Multi-cut B&C. For 95 4.5. FORMULATION FOR THE SBRPF both the Multi-cut Formulation and for the Multi-cut B&C we separate constraints (4.54) only when violated. As for the single cut case we use a heuristic procedure called max-back (see, e.g., Naddef and Thienel [9]) up to the seventh node of the branching tree or if the solution is integer. If no violated cut is found we use max-flow algorithm to find the most violated one. Moreover, in the Multi-cut B&C the constraints (4.49) and (4.50) are inserted in a branch-and-cut fashion when violated. This evaluation is performed at each branching node considering also fractional variables. In this case |Topt | · |Ω| + |Tf eas | represents the number of inserted cuts derived by the scenarios. 4.5 Formulation for the SBRPF In stochastic programming models we need to make some decision here and now, in the SBRP this is the case of the route design, while some other decision have to be made after the realization of the demand, in the SBRP these are represented by the definition of the flows of bicycles and of the penalties for the demands we will not respond to. The SBRPF is the stochastic version of the BRP where the flows leaving the depot on each vehicle are variables that represent decisions to be made here and now. Having this information, the bike sharing company will know the routing information and the number of bikes to load on the vehicles leaving the depot. To solve the SBRPF we just present the related deterministic equivalent program because we are interested in comparing the objective function values obtained with respect to the SBRP ones. The formulation is reported in (4.57)–(4.70) (SBRPF) min XX cij xij + i∈V j∈V X X ω∈Ω xij = 1 pω X kj (yjω + sωj ) (4.57) j∈V \{0} j ∈ V \ {0} i∈V (4.58) X xji = 1 j ∈ V \ {0} i∈V (4.59) X x0j ≤ m (4.60) j∈V XX xij ≤ |S| − 1 S ⊆ V \ {0} , S 6= ∅ i∈S j∈S (4.61) f0j ≤ Qx0j j ∈ V, ω ∈ Ω (4.62) 96 CHAPTER 4. THE STOCHASTIC BRP fijω ≤ Qxij X X ω fji − i∈V (i, j) ∈ A|i 6= 0, ω ∈ Ω (4.63) fijω − f0j = q̃jω + yjω − sωj j ∈ V \ {0} , ω ∈ Ω i∈V \{0} (4.64) yjω ≤ dj j ∈ V \ {0} , ω ∈ Ω (4.65) sωj ≤ Hj − dj j ∈ V \ {0} , ω ∈ Ω (4.66) yjω , sωj ≥ 0 j ∈ V \ {0} , ω ∈ Ω (4.67) f0j ≥ 0 j∈V (4.68) fijω ≥ 0 (i, j) ∈ A|i 6= 0, ω ∈ Ω (4.69) xij ∈ {0, 1} (i, j) ∈ A. (4.70) In the SBRPF Formulation, the objective function and the constraints in (4.57)–(4.61), (4.65)–(4.67), and (4.70) are the same as (4.1)–(4.5), (4.8)– (4.10), and (4.12), while from (4.6), (4.7), and (4.11) we derived (4.62)– (4.64), (4.68), and (4.69). In constraint (4.62) we impose the vehicle leaving the depot to have the same value for all the scenarios and we bound this value at the capacity of the vehicles. All the other flows are bounded by the capacity of the vehicles, but they are scenario dependent, as states constraint (4.63). Constraint (4.64) represents the flow conservation constraint for each vertex but the depot, where the demand must be respected with flows or with surplus and slack variables, and where the flow coming from the depot is the same for all the scenarios. In constraints (4.68) and (4.69) we impose the non-negativity of the flow variables. 4.6 Heuristic algorithm based on correlations One-commodity pickup and delivery problems, as the ones we are tackling in this chapter, consider positive demands of some vertices to be used for responding to negative demands of other vertices, without having an origin-destination pair. If demands are stochastic, solution methods can take advantage of the negative and positive correlations between vertices, if any. For instance, it is common to have some vertices where the demand is negative for a relevant number of scenarios, while some other vertices will manifest positive demands for a relevant number of scenarios, thus the cor- 4.6. HEURISTIC ALGORITHM BASED ON CORRELATIONS 97 relation between one vertex of the first set and a vertex of the second set will be negative. It is reasonable to look for the arcs of the optimal solution among those connecting negatively correlated vertices because coupling them can let the load of the vehicle far from the lower and upper bounds 0 and Q, and hence more vertices can be served with the same vehicle. Of course distances contribute relevantly to the objective function, and it also reasonable to seek the arcs of the optimal solution among those with a small distance cost. These considerations justify the simple heuristic algorithms we propose that consider distances, penalties, and negative correlations in the evaluating function. The two algorithms proposed are based on the well known closest neighbor algorithm (see, e.g., Toth and Vigo [14]) and savings algorithm (see, e.g, Clarke and Wright [3]). 4.6.1 Closest neighborhood with correlations The first heuristic algorithm we propose to solve the SBRP is modeled on the classical heuristic for solving vehicle routing problems known as closest neighborhood, in which at every iteration the unused closest vertex to the last vertex of the current route is added at the end of the current route, if the insertion is feasible. The version of the closest neighborhood we introduce, called Closest neighborhood with correlations, takes into account not only the distance between the two vertices added to the penalties needed to make the insertion feasible for all the scenarios, but also the correlation between the current route and the vertex we are evaluating for the insertion. In particular, the correlation is expressed as the Pearson-Bravais correlation coefficient (see, e.g., Pearson [10]). Let us say that we have two points i, j ∈ V \ {0}, i 6= j, then the correlation between them is computed as follows: P ω ω σij ω∈Ω (qi − q i )(qj − q j ) qP ρij = = pP σi σj (q ω − q )2 (q ω − q )2 ω∈Ω i i ω∈Ω j j P Where q i = ω∈Ω qiω , i ∈ V \ {0} and being −1 ≤ ρij ≤ 1, where if ρij = −1 there is a perfect negative correlation between i and j, while i and j are perfectly positively correlated if ρij = 1. If two vertices are negatively correlated there is a good chance that in many scenarios an increase in the demand of one vertex can correspond to a decrease in the demand of the other vertex, and this means that, if not to expensive, the arc (i, j) could be in the optimal solution. Otherwise, positive correlations suggest that two vertices have similar behaviors among the scenarios, and hence, probably, they will not be close in the optimal solution. When we are building the solution with the closest neighborhood algorithm we have, on one hand, a vertex to be evaluated for the insertion and, on the other hand, a route being built. Thus, instead of considering a corre- 98 CHAPTER 4. THE STOCHASTIC BRP lation between two vertices, we consider the correlation between the current route R and the vertex j ∈ / R. The correlation is then computed as follows: ρRj ω i∈R (qi − q i ))(qjω − q j ) qP P ω − q ))2 ω 2 ( (q R ω∈Ω i∈R i ω∈Ω (qj − q j ) P P ω∈Ω ( σRj = pP = σR σj P P Where q R = ω∈Ω i∈R qiω . Also in this case we have −1 ≤ ρRj ≤ 1, where -1 corresponds to perfect negative correlation and 1 to perfect positive correlation. When considering if appending vertex j at the end of the current route R, j ∈ / R, we then use the following evaluating function: P ω ω ω cR(|R|),j ω∈Ω p kj (yj + sj ) EC (R, j) = α + (1 − α)ρRj + max(i,h)∈A cih Q|V | (4.71) Being R(|R|) the last vertex of the current route R, and where α is a rational number between 0 and 1. In the component of the evaluating function multiplied by α we consider a normalized distance cost and normalized penalties of the various scenarios. In the second component of the evaluating function we consider the correlation of the insertion as we computed in (4.71). When the insertion of every vertex at the end of the current route is more expensive than opening a new route or when no more vertex is feasibly inserted then a new route is open. The algorithm is terminated when all the vertices are assigned to a route. 4.6.2 Savings with correlations The second heuristic algorithm we propose to solve the SBRP is based on the well known savings algorithm, in which the iterative cheapest and feasible merging of two routes is applied. In the version of the algorithm we propose, that we call Savings with correlations, we consider the iterative merging of two routes if it is feasible for all scenarios (where the concept of feasibility includes the payment of a penalty if non responding to some demands of some vertices in a scenario). Besides that, we also take into account the correlation between the two routes, let us say R and P , that we are considering for merging, which is computed as follows: ρRP P − q R ))( j∈P (qjω − q P )) qP P P ω − q ))2 ω 2 ( (q R ω∈Ω i∈R i ω∈Ω ( j∈P (qj − q P )) σRP = = pP σR σP P P ω∈Ω ( ω i∈R (qi P P Where q R = ω∈Ω i∈R qiω for route R. Thus the evaluating function used when merging two routes results in: 4.7. COMPUTATIONAL RESULTS ES (R, P ) = α(κ + σ) + (1 − α)ρRP 99 (4.72) Being: κ= σ= cR(|R|−1),P (1) − cR(|R|−1),0 − c0,P (1) max(i,h)∈A cih P ω ω ω ω∈Ω p kP (1) (yP (1) + sP (1) ) Q|V | Where α ∈ R is a number between 0 and 1, R(|R| − 1) is the last vertex of route R before the depot, and P (1) is the first vertex of route P after the depot. In the first part of the evaluating function in (4.72), we consider in κ the normalized savings of merging the two routes R and P in this direction and in σ the possible normalized penalties to pay if not respecting the demand of P (1). The second part of (4.72) accounts for the correlation between R and P . In both algorithms the solution does not necessarily respect the maximum number of vehicles, and thus routes, available, even if the algorithms try to minimize the number of routes. 4.7 Computational Results In this section we present the computational tests on the different methodologies used to solve the SBRP and the SBRPF. The algorithms were run on on Intel Core i3-2100 CPU, 3-10 GHz, 4.00 GB, and we used CPLEX 12.6 as the MILP solver by imposing the selection of a single processor. The tests have been performed on instances derived by real-world data. We firstly describe how we collected those data. 4.7.1 Instances To produce computational evaluation of the algorithms proposed to solve the two problems here defined, the SBRP and the SBRPF, we collected a set of real-world instances. Firstly we considered a set of usage data of 7 month concerning the bike sharing system of the city of Reggio Emilia, in Northern Italy. These data has been given to us by the operator of the system. In addition to this, in order to have a larger number of testing instances, we collected some data of Capital Bike, the bike sharing system installed in Washington and Arlington, in the USA. The Capital Bike site furnishes with complete data on the usage of the system for many years. We made use of the usage data of the third quarter of 2014. We also collected the geographic coordinates and the capacity of each station and used historical 100 CHAPTER 4. THE STOCHASTIC BRP data to determine the demands of each scenario. To this extent, we clarify that some correction on data has been necessary because the rebalancing is already applied to the system and some demands appear to be too large with respect to the station capacity. From these data we derived several instances by selecting arbitrarily sets of stations counting from 20 to 66 stations each. We selected randomly a station among all to be used as the depot. 4.7.2 Results We report here some results of tests performed on the collected instances. Firstly we tested the heuristic algorithms developed: in Table 4.1 we report the results obtained by testing the closest neighborhood with correlations. The first column shows the name of the instance, where RE stands for Reggio Emilia, while W stands for Washington; the numbers reports the number of vertices (|V |) and the capacity of the vehicles (Q), respectively. The best lower bound obtained with the exact algorithms is reported (bold if it is the optimal solution value) and the percentage gap between this value and the solution value obtained thanks to the closest neighborhood with correlations is shown with respect to the different values of α used in the evaluating function. Similarly, the results for the savings with correlations are reported in Table 4.2. In Tables 4.1 and 4.2 the best gap obtained is highlighted. One can notice that the heuristic algorithms do not present very good gaps with respect to the best known lower bound. These gaps are large because the algorithms move in the space of feasible solutions and it is not easy to build competitive solutions that are feasible for all the scenarios (172, in the case of Reggio Emilia, and 91 in the case of Washington). Besides that, one can observe that the savings with correlations shows better results with respect to the closest neighborhood with correlations algorithm. Moreover, it can be noticed that for some level of α the solution values are improved while considering the correlations with respect to the classical heuristics, indeed values of α around to 0.9 for the closest neighborhood with correlations and around 0.8 for the savings with correlations algorithm show the best results. We now consider the results obtained thanks to the exact algorithms we developed. In Table 4.3 we report the results on the collected test instances while running the DEP Formulation. In particular, we report the name of the instance, the best lower bound (LB) and upper bound (U B), if any, and we compute and show the percentage gap between those two values. In the last column we report the time, in seconds, needed to terminate the algorithm within a time limit set to one hour. Similarly, in Tables 4.4, 4.5, 4.6, and 4.7 the results on the same instances given by the L-Shaped Formulation, the Multi-cut Formulation, the One-cut B&C implementation, and the Multi-cut B&C implementation are reported. One can see that only the One-cut B&C and the Multi-cut B&C algo- 101 4.7. COMPUTATIONAL RESULTS α Inst. LB 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 RE(16,20) 16900.0000 39.43 43.67 31.58 31.58 38.55 35.00 30.45 21.76 21.03 19.91 25.55 W(20,25) 81576.3736 77.56 55.57 55.57 53.28 52.95 50.40 50.11 49.41 49.41 49.21 49.16 W(20,15) 77306.7802 80.92 80.93 77.28 77.28 80.83 80.98 81.15 81.15 80.97 77.33 80.91 W(30,20) 101515.3967 75.53 66.51 65.38 63.27 59.76 58.63 60.42 54.53 67.17 67.42 67.48 W(30,35) 120517.5714 75.92 68.60 66.33 64.33 62.82 60.92 60.51 58.35 55.62 54.12 50.86 W(40,40) 101718.0349 83.69 77.05 79.14 79.14 79.14 79.47 78.77 75.32 74.59 77.53 77.65 W(40,35) 103300.4636 87.86 85.62 85.63 85.63 85.63 85.50 85.63 86.68 86.53 86.51 86.62 W(50,20) 121691.0000 87.91 85.83 85.80 83.32 83.07 85.40 85.40 87.46 83.80 84.79 84.91 W(66,15) 131371.9231 89.33 79.20 64.28 57.04 54.39 49.98 49.60 47.72 43.19 38.80 34.85 Avg. 77.58 71.45 67.89 66.10 66.35 65.15 64.67 62.49 62.48 61.74 62.00 Table 4.1: Percentage gap between the solution of the closest with correlations and the best lower bound for all instances by changing the parameter α. α Inst. 0.5 0.6 0.7 0.8 RE(16,20) 16900 44.41 37.41 25.88 17.96 17.96 15.50 W(20,25) 81576.3736 62.08 67.51 55.40 52.42 52.58 51.34 W(20,15) 77306.7802 77.95 78.00 81.00 80.87 77.56 77.35 W(30,20) 101515.3967 68.73 61.39 58.11 63.89 60.90 55.71 W(30,35) 120517.5714 65.02 68.17 67.15 63.89 62.88 59.78 W(40,40) 101718.0349 74.52 75.42 78.25 78.81 75.02 74.05 W(40,35) 103300.4636 85.85 84.26 83.91 85.13 85.14 85.00 W(50,20) 121691.0000 85.02 85.70 85.52 82.59 82.34 85.06 W(66,15) 131371.9231 89.62 85.82 84.19 82.37 82.37 72.81 9.63 48.58 80.79 57.76 57.85 77.33 86.04 83.88 49.02 9.63 45.59 77.04 48.00 55.02 76.89 86.12 84.83 47.75 6.11 43.81 76.97 21.16 51.01 72.83 83.32 83.13 43.99 Avg. LB 0 0.1 0.2 0.3 72.58 71.52 68.82 67.55 0.4 0.9 1 8.65 8.65 44.20 60.15 76.88 71.35 44.87 44.67 50.81 50.32 75.48 75.64 84.59 84.58 83.14 82.82 40.39 28.13 66.31 64.07 61.21 58.98 53.59 56.56 56.26 Table 4.2: Percentage gap between the solution of the savings with correlations and the best lower bound for all instances by changing the parameter α. 102 CHAPTER 4. THE STOCHASTIC BRP rithms can find a feasible solution for all the evaluated instances, in particular the Multi-cut B&C is the algorithm, among all those presented, that found the smallest percentage gaps, that are 4.88% in average. On the other hand the L-Shaped Formulation and the Multi-cut Formulation can get the optimal values of six instances out of nine, while for W (40, 40), W (40, 35), and W (50, 20) they could not find a feasible solution. The DEP Formulation could find a feasible solution only for the first five instances, but furnished with the best lower bound for W (40, 40) and W (40, 35), among all. The best upper bound for W (50, 20) is given by the Multi-cut Formulation. The best solving times are obtained by the Multi-cut B&C algorithm that needs 1248.43 seconds to terminate, in average. Also the Multi-cut Formulation, which made use of a multi-cut L-Shaped algorithm, offers promising solving times, that is in average 1252.45 seconds. To conclude, the Multi-cut B&C algorithm seems the best performing one among the ones we tested on our test instances. DEP Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) LB UB %gap t(sec) 16900.0000 81576.3736 77306.7802 101516.0000 120517.5714 101718.0349 103300.4636 117067.0879 109426.9021 16900.0000 81576.3736 77306.7802 101516.0000 120517.5714 - 0.00 0.00 0.00 0.00 0.00 - 9.88 424.29 31.79 412.12 1277.20 3600.00 3600.00 3600.00 3600.00 Avg. 1839.476 Table 4.3: Results obtained by running the DEP Formulation. L-Shaped Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) Avg. LB UB %gap t(sec) 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 96715.0000 92828.0000 118714.0000 131313.6264 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 131313.6264 0.00 0.00 0.00 0.00 0.00 0.00 0.42 41.41 0.88 2.48 3.77 3600.00 3600.00 3600.00 3258.75 1567.52 Table 4.4: Results obtained by using the L-shaped method to solve the L-Shaped Formulation. In Table 4.8 we report the results for the SBRPF we performed according 103 4.7. COMPUTATIONAL RESULTS Lshaped Multi-cut Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) LB UB %gap t(sec) 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 96715.0000 92828.0000 121691.0000 131313.6264 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 131313.6264 0.00 0.00 0.00 0.00 0.00 0.00 1.06 16.13 2.95 9.95 7.83 3600.00 3600.00 3600.00 434.12 Avg. 1252.45 Table 4.5: Results obtained by using the L-shaped multi-cut method to solve the Multi-cut Formulation One-cut B&C Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) LB UB %gap t(sec) 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 100158.2076 101506.7796 121388.6227 131313.6264 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 2502063.0000 187114.7802 3576619.0000 131313.6264 0.00 0.00 0.00 0.00 0.00 96.00 45.75 96.61 0.00 3.60 151.34 3.09 15.83 16.15 3600.00 3600.00 3600.00 2541.60 26.48 1503.51 Avg. Table 4.6: Results obtained by using the One-cut B&C algorithm with the L-Shaped method derived cuts. Multi-cut B&C Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) Avg. LB UB %gap t(sec) 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 100531.6473 101984.7100 121561.5534 131313.6264 16900.0000 81576.3736 77306.7802 101516.2967 120517.5714 133940.7802 121856.5385 124862.3956 131313.6264 0.00 0.00 0.00 0.00 0.00 24.94 16.31 2.64 0.00 2.23 26.90 3.25 10.30 14.23 3600.00 3600.00 3600.00 378.96 4.88 1248.43 Table 4.7: Results obtained by using the Multi-cut B&C algorithm with the L-Shaped multi-cut method derived cuts. 104 CHAPTER 4. THE STOCHASTIC BRP to what we did for the SBRP. One can notice that the instances that were easy to solve for the SBRP remain easy to solve also for the SBRPF and the instances that were hard to solve for the SBRP remain hard to solve for the SBRPF. We can observe that the objective function value does not change remarkably if compared to the SBRP one. This can lead to the conclusion that the SBRP solution is robust even if a a priori decision on the load of the vehicles is not contemplated. SBRPF DEP Inst. RE(16,20) W(20,25) W(20,15) W(30,20) W(30,35) W(40,40) W(40,35) W(50,20) W(66,15) LB UB %gap t (sec) 16922.5989 82054.3956 77389.1978 101928.4835 120742.8462 101901.4091 103615.1235 117564.6711 110455.1959 16922.5989 82054.3956 77389.1978 101928.4835 120742.8462 - 0.00 0.00 0.00 0.00 0.00 - 17.04 518.55 36.94 785.06 1051.97 3600.00 3600.00 3600.00 3600.00 Avg. 1867.73 Table 4.8: Results for the SBRPF on the test instances obtained by running the corresponding DEP Formulation. 4.8 Conclusions In this chapter we defined and solved the SBRP, the stochastic version of one a tactical problem that arises in bike sharing systems, that is the one of redistributing bicycles among the bike stations of the system, the BRP. To solve the SBRP we proposed a deterministic equivalent program formulation, a two-stage stochastic linear programming model with simple recourse solved by means of a L-Shaped algorithm, a multi-cut L-Shaped algorithm, and two branch-and-cut algorithms. To obtain upper bounds for the SBRP we developed two heuristic algorithms that take advantage of the information on the demands on different scenarios considering the negative and positive correlations between the vertices. We tested all the algorithms on newly collected real-world instances proving the effectiveness of our methodologies, in particular, good results can be obtained with branch-and-cut algorithms where cuts are derived from the multi-cut L-Shaped method. Moreover, the proposed heuristic algorithms showed improved solutions when accounting for correlations in the evaluating functions. Finally, we defined a stochastic version of the BRP where the loads on vehicles leaving the depot must be decided before the realization of the demands. We compare the values of the solutions of the two problems, and the objective functions differs of a small amount of costs. Bibliography [1] D. J. Bertsimas and D. Simchi-Levi. A new generation of vehicle routing research: robust algorithms, addressing uncertainty. Operations Research, 44:286–304, 1996. [2] J. R. Birge and F. Louveaux. Introduction to stochastic programming. Springer Science & Business Media, 2011. [3] G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot to a number of delivery points. Operations research, 12:568–581, 1964. [4] C. Contardo, C. Morency, and L.-M. Rousseau. Balancing a dynamic public bike-sharing system. Technical Report CIRRELT-2012-09, CIRRELT, 2012. [5] A. J. King and S. W. Wallace. Modeling with stochastic programming. Springer Science & Business Media, 2012. [6] G. Laporte, F. Louveaux, and L. Van Hamme. An integer l-shaped algorithm for the capacitated vehicle routing problem with stochastic demands. Operations Research, 50:415–423, 2002. [7] F. Louveaux and J.-J. Salazar-González. On the one-commodity pickup-and-delivery traveling salesman problem with stochastic demands. Mathematical programming, 119:169–194, 2009. [8] F. Louveaux and J.-J. Salazar-González. Solving the single vehicle routing problem with variable capacity. Transportation Science, 2014. [9] D. Naddef and S. Thienel. Efficient separation routines for the symmetric traveling salesman problem i: general tools and comb separation. Mathematical Programming, 92:237–255, 2002. [10] K. Pearson. Notes on the history of correlation. Biometrika, 25–45, 1920. [11] R. Regue and W. Recker. Proactive vehicle routing with inferred demand to solve the bikesharing rebalancing problem. Transportation Research Part E: Logistics and Transportation Review, 72:192–209, 2014. 105 106 BIBLIOGRAPHY [12] G. K. D. Saharidis, A. Fragkogios, and E. Zygouri. A multi-periodic optimization modeling approach for the establishment of a bike sharing network: a case study of the city of athens. In Proceedings of the International MultiConference of Engineers and Computer Scientists, 2, 2014. [13] W. R. Stewart and B. L. Golden. Stochastic vehicle routing: A comprehensive approach. European Journal of Operational Research, 14:371– 385, 1983. [14] P. Toth and D. Vigo. Vehicle Routing: Problems, Methods, and Applications, SIAM, 2014. [15] I.-L. Wang and C.-W. Wang. Analyzing bike repositioning strategies based on simulations for public bike sharing systems: Simulating bike repositioning strategies for bike sharing systems. In Advanced Applied Informatics (IIAIAAI), 2013 IIAI International Conference on IEEE, 306–311, 2013. Part III Models and Algorithms for Earthwork Optimization Problems 107 Chapter 5 A Two-Phase Earthwork Optimization Model for Highway Construction 1 One of the main activities in highway construction is earthwork, that is a complex process involving excavation, transportation, and filling of large quantities of different earth material types. Earthwork operations are costly, and undergo several constraints due to their large environmental and social impacts. Using mathematical models to produce a minimum-cost earthwork plan that satisfies all constraints is thus of great significance for enhancing the productivity of the overall construction project. This chapter presents an earthwork optimization system based on the use of linear programming that operates in a novel two-phase approach. In the first phase an aggregate model determines the feasibility of the overall project, whereas in a second phase disaggregate models determine the actual flows of each material. The developed quantitative method for earthwork optimization includes interesting features derived from the everyday activity of one of the major European companies in construction. The new two-phase optimization involves classical decisions on excavation, filling, quarries, dump sites, and temporary depots, but it also accounts for several novelties. One innovation is the presence of time windows imposed by a tight production schedule that let the model decide when to conclude the tasks within the time windows. Another new feature is the installation of recycling facilities, which transform the excavated materials thanks to a separation and a mixing process so 1 The results of this chapter appear in: C. Bogenberger, M. Dell’Amico, G. Fuellerer, G. Hoefinger, M. Iori, S. Novellani and B. Panicucci. A Two-Phase Earthwork Optimization Model for Highway Construction. to appear on Journal of Construction Engineering and Management, 2015. 109 110 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS to obtain several materials apt for filling. Our model includes also a variety of materials for filling and to be processed in recycling plants. Moreover, the explicit integration of the project with the existing public road network is considered so to account for local authority restrictions, and to consider multiple paths to link the construction site to the external facilities. Extensive computational results are obtained by running the models on a set of realistic instances, and show the efficiency of the proposed approach in solving complex earthwork problems. Keywords: Earthwork, Mathematical Models, Linear Programming, Highway Construction. 5.1 Introduction A highway construction project involves many steps and may take years to be completed. Before construction starts, an accurate topographic survey of the area is developed and a layout of the future road is designed, specifying the alignment (i.e., the base line of the road) and the grades (i.e., the slopes of the longitudinal road line). Once the layout of the road has been completed, actual earthwork can begin. Earthwork is, in a few words, the process of moving earth from those areas that are too high with respect to the road grades to those areas that are too low, and is a crucial aspect of the overall construction problem. More in details, once the road layout is given, one determines the cut areas, where some earth must be dug to accomplish with the required road grades, and the fill areas, where instead some earth must be placed, and easily evaluate the cut and fill volumes for each area. The basic earthwork problem consists then in digging earth from cut areas and moving it to fill areas, with the goal of minimizing operational costs. This basic problem is known in the literature as the cut and fill problem, and has been described in classical textbooks (see, e.g., Ahuja et al. [1]) as a typical application that can be solved by Minimum Cost Flow (MCF). Indeed, after associating the cut and fill areas to the nodes of a network and assigning transportation costs to its arcs, the MCF allows to find the flows that move the required volumes at minimum cost, that is, an optimal earthwork solution. This simple model has been successively expanded to include complications arising in real-world construction problems, such as the presence of different types of earth, possible transport road constraints (e.g., accessibility and/or maximum flow restrictions), and the need of facilities such as dump sites or quarries to accommodate excess or lack of materials. Starting from Stark and Nicholls [17], Linear Programming (LP) became then a standard tool for solving optimization issues associated to the earthwork activities, because it allowed to easily extend the original MCF model to 5.1. INTRODUCTION 111 include such additional constraints. The aim of this chapter is to further advance the research on earthwork modeling, by including novel features that derive from the everyday construction activities of one of the European leaders in civil engineering. The activity that they perform for highway construction is very complex, and has been the motivation that has led us to the development of the models presented in this chapter. Previously, the construction company (Strabag AG.) relied on tools, such Excel files and mass diagrams, integrated by the long term experience of their practitioners. Thanks to the method presented in this chpater Strabag, and other construction companies, can quickly evaluate different configurations and obtain optimal solutions within seconds leaning on a fast and reliable support for decision making. The optimal approach that we implemented to solve this challenging problem is based on two phases that contemplate an aggregate model and a disaggregate one, both based on LP. The aggregate model associates a variable with each flow of a material that travels along an arc on a given period, independently from its actual origin and destination. It is fundamental to investigate the feasibility of the project, considering the given time horizon, the available resources, and the strong capacity constraints on the arcs. Thanks to the quite small computing times that we managed to obtain for its solution, the aggregate model may be solved several times, under different network configurations, and is thus very helpful to find the best way to ensure the feasibility of the problem. To translate the resulting aggregate solution into practical actions involving each material in each period, the disaggregate model is then invoked. This model computes precise flows by taking advantage of the fact that vehicles can transport just one material at a time. Indeed, we decompose the problem in several models, one for each period and material, where decisions made at one model do not affect decisions made on the others. Each model outputs the optimal flow paths, together with the corresponding volumes, between each material origin and destination. Aggregate and disaggregate models can be run many times, in a rolling horizon perspective, to take into consideration the fact that the every day activity may diverge from the planned solution. Adjustments, as well as new information on costs or availability of resources, are easily included in the models by just modifying the input files. Our approach thus resulted in a powerful and effective decision support system. It is now being used by the partner company in a highway construction process which is currently under development in Northern Italy near the city of Milan. 5.1.1 Main Contributions We advance the Body of Knowledge on quantitative methods for earthwork optimization. We do this by proposing a new mathematical model based on 112 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS two phases: an aggregate and a disaggregate one. Within the method we include a set of properties that were not treated or only partially treated in the literature and that are important not only for our case study. We comment them in the following: Multiple materials: in our model we do not consider only simple earth, as in the basic cut and fill problem, but we optimize the flows of ten different materials. To our knowledge few papers accounts for multiple materials (see, e.g. Hare et al. [8] and Ammar et al. [2]), but in their works they consider a multiple set only for digging materials, where some can be used for filling and some others must be dumped, but they do not consider different types of materials for filling or to be used for recycling process. In our work we consider ten materials including three types of excavated earth, differentiated according to their quality, and four different filling materials such as asphalt, concrete and the two high quality materials coming from digging. Recycling of the excavated materials: many papers consider to reuse excavated materials directly for filling, some of them also call it recycling (see, e.g. Ji et al. [10]). In our chapter we use two of the dug materials for filling without performing any other transformation, but we also consider a transformation process that we call recycling. The recycling activity includes two transformations of materials to be performed in two plants. The first plant is called Separation plant where a refinement of the high quality excavated material is performed, separating the rocks from the soil and crushing it at the desired level. Some of the resulting material has to be dumped, while the others two can be mixed with cement or bitumen in Mixing plants to produce, respectively, asphalt and concrete, used for filling. To our knowledge this way of recycling materials has not been tackled yet in the literature related to quantitative methods for earthwork optimization. Time windows: in our work the process is planned according to a specific schedule, that, borrowing a terminology of production literature, we define Master Production Schedule (MPS). The MPS defines the activities to be performed in the overall period, the location where to dig and/or fill which material and the possible time windows in which they have to be completed. Time windows imposed by the MPS have already been inserted in complex construction projects, but we have not found any explicit reference in the existing Body of Knowledge in quantitative methods for earthwork optimization. Thus the explicit insertion of time windows in our model is a challenging novelty. External network: quarries and dump sites are located outside with respect to the construction site, thus the company vehicles need to cross the public external network. Traffic restriction of heavy vehicles are normally imposed or contracted with the local administrations. This is expressed in amount of cubic meters per day on a restricted set of roads. To deal with that we consider capacity restriction on the arcs representing the external network, the availability of different paths on alternative roads, and the use 5.2. PROBLEM DESCRIPTION 113 of access points from the construction site to the external network. To our knowledge just Burdett and Kozan [7] consider the problem of having an external network. To create a path from the construction site to an external site they use the Dijkstras algorithm to solve the shortest path, but this algorithm does not allow to have multiple paths from two locations: thus they consider only one path otherwise they must fix some dummy nodes. In both disaggregate models we present this problem does not arise , indeed the multi-commodity model can evaluate multiple arcs between two node, and the path-based model makes use of the labeling algorithm, that can find more than one path between two nodes. These innovations with respect to the Body of Knowledge are motivated by the Strabag study case we considered. They appear in the model as constraints but they can be easily inactivated one by one, so to let the model to be very general and applied to many other cases. 5.2 Problem Description Earthwork is a fundamental stage in highway construction process that involves several activities and requires careful planning and various evaluations, including environmental and structural assessments. The main earthwork activities that we identified are depicted in Figure 5.1. They include digging, filling, recycling, material disposal in dump sites, temporary allocation of materials in depots, and material acquisition from quarries. Figure 5.1: Activities flow chart. The digging activities consist of cutting and moving a huge amount of 114 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS earth, typically in the order of (tens of) millions of cubic meters by means of special plant machinery such as excavators and trucks. The filling activities consist of carrying across the construction site a certain amount of a certain material, to, e.g., fill earth cuts and trenches, or build bridges and artificial galleries. A fundamental step in the digging process is the on-site classification, that is, earth materials are classified depending on their geological characteristics and treated consequently. Indeed, materials excavated within the site are often unacceptable for construction and must be recycled (through a recycling process to be described below) or disposed of. According to the field activity , three types of dug earth materials can be distinguished, depending on whether they can be reused for purposes of filling, recycled, or else wasted on a dump site. In this chapter we denote them by rawI (high-quality soil and gravel), rawII (soil suitable for filling but not for recycling), and rawWaste (waste product without the possibility of further use). Reusing those materials, instead of throwing them directly in dump sites, is environmentally relevant and can significantly reduce the cost of earthwork. RawI and rawII materials can be used directly for filling or, if necessary, stored in temporary depots and used later on in the construction process. Temporary depots are flat areas that are rented close to the construction site, where dug materials can be stored until they are needed for filling. RawI material can also be reconstituted into other products appropriate for filling, that is, asphalt and/or concrete, by means of a recycling process. The inclusion of recycling activities in optimizing earthwork process is, as far as we know, a novelty of this chapter. Recycling is a two-stage process (see again Figure 5.1). In the first stage, separation, rawI material is transported to the so-called separation plants, where it is broken and crushed into two types of recycled aggregates: recI and recII. In this stage some waste material, denoted by recWaste, is also produced. In the second stage, mixing, these recycled aggregates are carried to specialized plants where they are mixed with other materials to obtain asphalt or concrete. More precisely, in asphalt mixing plants recI is mixed with bitumen to produce asphalt, and in concrete mixing plants recII is mixed with cement to produce concrete. The waste produced during separation, denoted by recWaste, as well as rawWaste and possible surplus of rawI, rawII, recI, and recII are dumped into dump sites. If necessary, raw material for producing asphalt and concrete (i.e., recI and recII), as well as other materials required for filling can be acquired from private quarries. The earthwork process must take into account the fact that recycling and mixing plants, quarries, dump sites, and temporary depots have physical capacity limitations on the total quantity of materials that they can process. Moreover, it must be considered that the aforementioned activities are bounded in time by the time windows defined by the MPS. In particular, the overall planning horizon is divided into periods (weeks in our study 5.3. LITERATURE REVIEW 115 cases) and each activity time window is represented by a starting and an ending period. The optimization of the earthwork process requires to consider the transportation costs, as well as the costs incurred for storing materials in temporary depots, acquiring materials from quarries, and disposing of materials into dump sites. To take into consideration all these issues, we modeled the earthwork activities by using a directed graph, described in detail below. Briefly, the highway building site is discretized in segments, and each segment is associated with a vertex of the graph. The graph is then extended by adding vertices that correspond to quarries, dump sites, temporary depots, and recycling plants. For modeling purposes we also add a vertex for each digging and filling activity to be performed. A set of arcs is then included to represent the possible flows of materials from a vertex to another. The arcs connecting the vertices are assigned a maximum flow capacity, that limits by above the sum of the material flows that can be carried over the arc in a given period, and can vary during the time. With respect to this point, we mention another interesting contribution of our approach, that is, the differentiation between private and public networks. The private network is in practice the highway being built, whereas the public network is the existing neighbor road infrastructure, that is forcedly affected by the construction process. Indeed, some public roads external to the building site must also be included into the graph to take into account different paths that can be used to reach dump sites and quarries, that are typically located far away from the site. These roads undergo the national transportation laws of the country where the construction is taking place, and can have very small flow capacities, due to the fact that earth transportation is typically performed by large and heavy trucks that have a large environmental and social impact on the surrounding areas. In this framework, the goal of our optimization is to decide when and how moving, storing, recycling, buying, or wasting materials, while responding to digging and filling requests in the imposed time windows, respecting capacity conditions on nodes and arcs, and minimizing total costs. 5.3 Literature Review Apart from the basic MCF applications already discussed in the introduction, see again Ahuja et al. [1], the first LP model to provide the earthwork allocation that minimizes the cost of the earthmoving activities, once an initial layout is given, was suggested in Stark and Nicholls [17] and then developed by Stark and Mayer [16]. The cited model solves the so-called earthwork allocation problem, that includes the presence of capacitated quarries and dump sites, but does not assess the presence of multiple types of earth and assumes constant unit costs for the earthwork activities. 116 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS Easa [6] attempted to combine the design of roadway grades with the basic earthwork allocation problem, limiting his study to a single type of earth and using a trial and error approach. A combination of grade selection with the earthwork allocation problem in a single LP problem was later developed by Moreb [14]. To account for the different earth material types which are usually encountered in construction practice, Mayer and Stark [13] incorporated the differing earth characteristics by creating different variables and costs for dirt, gravel, and rock material. Successively, a model that accommodates for multiple material types was also developed by Ammar et al. [2]. The basic model of Stark and Nicholls [17] has also been extended to include different cost functions. In particular, Easa [4, 5] proposed a Mixed Integer Linear Programming (MILP) model to incorporate stepwise unit costs, and a quadratic model to account for linear growth in movement costs. In Karimi et al. [11] uncertainties in unit cost coefficients of earthwork activities and facility capacities were considered by using a fuzzy LP model. Another extension of the basic earthwork allocation model, encompassing the project duration and a dynamic selection of quarries and dump sites, was introduced by Jayawardane and Harris [9], and solved by employing MILP. Another MILP model was used in Hare et al. [8], to capture the presence of natural obstacles that limit earth movements. Marzouk and Moselhi [12], by using computer simulation and genetic algorithms, considered a multi-objective framework for managing earthmoving operations so as to improve productivity, efficiency, and safety. Multiobjective simulation-optimization techniques were also used in Zhang [20], where earthmoving operations are modeled through simulation and a particle swarm optimization method is used to avoid exhaustive simulation experiments of all the alternatives. Xianja et al. [19] established a bilevel programming model, where the objective of the upper level is that of minimizing the transportation cost, while the objective of the lower level is to balance the supply and demand of earthwork in the digging and filling activities. The model is solved by combining particle swarm optimization with the simplex algorithm. To meet the need for tools that can assist project managers to plan and manage construction projects more efficiently, some research efforts in earthwork planning, scheduling, and visualization of the infrastructure construction projects have been conducted. Askew et al. [3] developed an approach to automate the earthwork planning process to create activity sets using a knowledge base and a simulation of earthwork processes. Tam et al. [18] proposed a method to automate the earthmoving planning by integrating a path-finding algorithm, a plant selection system, and a genetic algorithm. In Moselhi and Alshibani [15] genetic algorithms, LP, and geographic information systems were used to optimize the utilization of construction equipment involved in earthmoving operations. None of the cited contributions 5.4. MODELING ANALYSIS AND NOTATION 117 can, however, provide a comprehensive solution to all the aspects of the construction process that is faced by Strabag and that we describe in the next sections. 5.4 Modeling Analysis and Notation This section provides an overview of the network that we use for modeling the highway construction project, as well as the main notation that we adopt in the remaining of the chapter. To account for the fact that the MPS bounds each activity of the project in time by a time window, we consider an environment in which the overall horizon is discretized into a set of uniform periods (weeks in our study), T = {1, 2, . . . , Tmax }. The network is represented by a graph G = (V, A) defined by a collection of nodes V and arcs A, and is schematized in Figure 5.2. Figure 5.2: Network representation. Among all the nodes in V, we identify a set H of nodes representing material locations, that is, cut and fill areas where different types of materials can be dug or filled in (e.g., nodes 1, . . . , 12 in Figure 5.2. In other words, H represents the discretization of the highway being built. The material locations might need more than one digging/filling of one or more materials to be completed in different time windows. We thus need to introduce a new set of nodes (in addition to the material location ones) to deal with the digging and filling activities of the same material with overlapping time windows to be performed on the material location. Thus, we consider a set I of nodes representing tasks, that is, digging or filling activities required for a certain material in a given area. In particular, in I we identify If as the set of filling tasks (e.g., nodes 17, 19, 20, and 21) and Id as the set of digging tasks (e.g., nodes 13, 14, 15, 16, and 18), with If ∪ Id = I and If ∩ Id = ∅. Each task i ∈ I is associated with a unique location h(i) ∈ H and a unique material m(i) ∈ M, being M the set of all earth materials involved in the construction process. Moreover, each task i has its own quantity di , that must be fully dug/filled in a time window [ts (i), te (i)] specified by its starting period ts (i) ∈ T and its ending period te (i) ∈ T . 118 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS The network also includes a set D of dump sites, representing locations where materials can be disposed of (e.g., nodes 31 and 32), and a set S of quarries, representing sources where materials can be acquired to respond to filling requests (e.g., nodes 28 and 29). Note that in our model it is allowed to dispose of some material in a dump site and acquire the same material from a quarry if this leads to decreased costs. Dug materials can also be stored in temporary depots (e.g., nodes 25 and 26), whose set is denoted by L. Facilities which process materials for recycling are represented by a set of nodes F. We distinguish among separation plants (Fr ), mixing plants for asphalt (Fa ), and mixing plants for concrete (Fc ). The union of all the dump sites, quarries, temporary depots and recycling facilities is denoted by N. The highway being built is accessible from the outside through a set E of access points. Access points (pictured by diamond nodes in Figure 5.2, see, e.g., nodes 24, 27, 30, and 33) represent the passage between the existing public road network and the network that is still private. The public network is simply schematized by dashed lines in Figure 5.2, but it is, in general, quite complex. It is composed by a subnetwork (represented by dashed lines in in Figure5.1) including a set of nodes, denoted by B, and a set of arcs connecting these nodes. This information is needed to represent the different capacitated paths that can be used to reach the set N of outside facilities. Connections among the nodes are represented by the overall set A of arcs. Note that in general there is not an arc for each pair of nodes. Indeed, movement of any material into a quarry is not permitted, therefore only leaving arcs from S exist and they are headed to the access points or to the public network. Similarly, movement of materials out of a dump is not permitted, thus only arcs entering in D exist and they come from the access points or from the public network. Plants and temporary depots are also only connected to access points and/or to the public network, but in this case the arcs are in both directions. Access points are only connected to nodes in N , B, and H. All the arcs incident the access points are in both directions but those entering in D or leaving S. The nodes of the public network (set B) can only be connected to the nodes of E, N , and to each other. Each material location h ∈ H, is connected to other material locations by arcs in both directions. Material locations can also be connected to access points with arcs in both directions and each material location is connected to at least one filling and/or digging task. No other arcs are incident to the material locations. Each filling task i ∈ If is connected only to its material location h(i) ∈ H by an entering arc, while each digging task i ∈ Id is connected only to its material location h(i) ∈ H by a leaving arc. To each arc (i, j) ∈ A we associate a maximum flow capacity Uijt for each period t∈T. To model the recycling activity, we distinguish, in the set of all ma- 119 5.5. AGGREGATE FORMULATION terials M, the subset Ms of materials that can be stored into temporary depots, constituted by rawI and rawII, the subset Mr of materials exiting the separation plants, constituted by recI, recII, and recWaste, the subset Ma of materials entering the asphalt mixing plants, constituted by recI and bitumen, and the subset Mc of materials entering concrete mixing plants, constituted by recII and cement. We denote by ϕm r the quantity of recycled aggregate m ∈ Mr that can be obtained from a unit quantity of rawI material at plant k ∈ Fr . Similarly, the quantity of m ∈ Ma necessary for producing a unit quantity of asphalt at plant k ∈ Fa is denoted by ϕm a , and the quantity of m ∈ Mc necessary for producing a unit quantity of concrete at plant k ∈ Fc is denoted by ϕm c . To move the materials, different types of capacitated trucks can be used. We consider four types, that can load, respectively, bitumen, concrete, cement, and all the other materials. We denote by W the set of types of truck, by M(w) the set of materials that a truck of type w ∈ W can load, and by Vcap (w) the overall transportation capacity of the fleet of trucks of type w. 5.5 Aggregate Formulation In the following we describe the overall aggregate LP model that we developed to optimize the earthwork activities. Variables. The decision variables required to formulate the problem are denoted by xmt ij and represent the flow (expressed in cubic meters) of material m ∈ M in period t ∈ T on arc (i, j) ∈ A, and fkmt , giving, respectively, the quantity of material m stored in a temporary depot k ∈ L, carried to a dump site k ∈ D, or bought from a quarry k ∈ S, at period t. Non-negativity constraints are imposed on both variables, that is: xmt ij ≥ 0 (i, j) ∈ A, m ∈ M, t ∈ T , (5.1) fkmt ≥ 0 k ∈ L ∪ D ∪ S, m ∈ M, t ∈ T . (5.2) Objective Function. Our aim is to provide an optimal material distribution to complete the project within the specified time, minimizing the overall costs. To each arc (i, j) ∈ A is associated a transportation cost cij . Moreover let cm k denote the cost for storing, loading, or acquiring a unit of material m ∈ M into a temporary depot k ∈ L, into a dump site k ∈ D, or from a quarry k ∈ S, respectively. The objective function is then: X X X X X X mt min zaggr = cij xmt cm ij + k fk . (5.3) (i,j)∈A m∈M t∈T k∈L∪D∪S m∈M t∈T 120 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS Arc capacity constraints. Every arc (i, j) ∈ A has a maximum capacity Uijt (in cubic meters) that may vary according to the period t ∈ T . This is enforced by: X t xmt (i, j) ∈ A, t ∈ T . (5.4) ij ≤ Uij m∈M To account for the fact that some nodes can be unaccessible during some periods (e.g., because they can only be reached after the erection of an access road, or because some construction activities temporary block part of the network) a capacity zero is associated to the arcs connecting those nodes in those periods. Vehicle capacity constraints. Materials are moved by trucks, so the quantity of materials moved along the network is constrained by the quantity of trucks available. The fleet is composed by a set W of types of trucks, each of those may transport a set M(w) of materials and is assigned an aggregate estimation Vcap (w) of its transportation capacity, expressed in km · m3 . In practice, Vcap (w) gives the total amount of material that this type of truck can move in a period, and is estimated on the basis of past activities performed by Strabag. To each arc (i, j) ∈ A is assigned a non-negative length `ij in km. The overall transportation capacity is imposed by: X X `ij xmt t ∈ T , w ∈ W. (5.5) ij ≤ Vcap (w) (i,j)∈A m∈M(w) Digging constraints. Recall that each task i ∈ Id is assigned to a digging location h(i) and requires a certain amount di of material m(i) to be dug in the time window [ts (i),te (i)]. Therefore it must be: xmt i,h(i) = 0 m(i),t xi,h(i) =0 i ∈ Id , m ∈ M : m 6= m(i), (5.6) i ∈ Id , t ∈ T : t < ts (i) or t > te (i), (5.7) i ∈ Id . (5.8) te (i) X m(i),t xi,h(i) = di t=ts (i) Filling constraints. As for digging, each task i ∈ If is assigned to location h(i)and has its own amount di of material m(i) to be filled in during the time window [ts (i),te (i)], 121 5.5. AGGREGATE FORMULATION therefore: xmt h(i),i = 0 m(i),t xh(i),i = 0 i ∈ If , m ∈ M : m 6= m(i), (5.9) i ∈ If , t ∈ T : t < ts (i) or t > te (i), (5.10) i ∈ If . (5.11) te (i) X m(i),t xh(i),i = di t=ts (i) Flow conservation at material locations, access points, and external nodes. To ensure the conservation flow for each material m and period t we need to impose the following constraints for material locations, access points, and external nodes: X X xmt = xmt j ∈ H ∪ E ∪ B, m ∈ M, t ∈ T . (5.12) ij ji (i,j)∈A (j,i)∈A Temporary depots constraints. Recall that Ms = {rawI, rawII} gives the set of materials that can be stored into temporary depots during the construction process. Each depot k ∈ L has a maximum storing capacity Qk that must be respected at each period, thus: X fkmt ≤ Qk k ∈ L, t ∈ T . (5.13) m∈Ms In a rolling horizon perspective, perhaps, we might consider just a set of periods of the entire construction process, thus having an initial level of storage imposed by the evolution of the construction activities and/or a final desired level of storage. Let therefore fkm0 be the initial stock of material m ∈ Ms in depot k at the beginning of the first period (i.e., the initial available volume), and fkm,Tmax +1 the upper bound on the closing stock of m in k at the end of the last period. We have the following material balance constraints: X X m,t−1 mt xmt = xmt k ∈ L, m ∈ Ms , t ∈ T . (5.14) ik + fk ki + fk (i,k)∈A (k,i)∈A The final storage volumes are constrained by: fkm,Tmax ≤ fkm,Tmax +1 k ∈ L, m ∈ Ms . (5.15) To assume, for example, that depots must be empty before and after the completion of the overall project, it is enough to set fkm0 and fkm,Tmax +1 to zero. 122 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS Dump sites constraints. The amount of waste deposited in a dump site k ∈ D is limited by the total disposal capacity Ck , therefore: X X X xmt k ∈ D. (5.16) ik ≤ Ck (i,k)∈A m∈M t∈T Moreover, in each period there is a maximum allowable quantity of material m, say Qm k , that can be disposed of in the dump site, and hence: X m xmt k ∈ D, m ∈ M, t ∈ T . (5.17) ik ≤ Qk (i,k)∈A Quarries constraints. As for the dump sites, each quarry k ∈ S has an overall capacity Ck and a maximum capacity Qm k for each material m in each period, therefore: X X X xmt k ∈ S, (5.18) ki ≤ Ck (k,i)∈A m∈M t∈T X m xmt ki ≤ Qk k ∈ S, m ∈ M, t ∈ T . (5.19) (k,i)∈A Separation plants constraints. Recall only rawI material may be carried to the separation plants (see Figure 5.1), and the exiting set of materials is Mr = {recI, recII, recWaste}. It follows that the flows entering nodes k ∈ Fr for all materials m ∈ M other than rawI, as well as the flows leaving the node for all materials other than Mr must be zero, that is: xmt ik = 0 xmt ki (i, k) ∈ A : k ∈ Fr , m ∈ M \ {rawI}, t ∈ T , (5.20) (k, i) ∈ A : k ∈ Fr , m ∈ M \ Mr , t ∈ T . (5.21) =0 The capacity of any facility represents a physical limitation that must be considered. The accumulated material inflow should not exceed the maximum allowable operating capacity Qk of each separation plant k ∈ Fr . Thus, we get: X rawI,t xik ≤ Qk k ∈ Fr , t ∈ T . (5.22) (i,k)∈A Each separation plant has its own and specified recipe, that states the quantities of exiting materials obtained from a unit of rawI. Formally, recall ϕm r gives the quantity of exiting material m ∈ Mr that can be obtained from 123 5.5. AGGREGATE FORMULATION aPunit of rawI at plant k ∈ Fr , and note that, for feasibility, we must have m m∈Mr ϕr = 1. The conservation flow at each separation plant is stated by: X X rawI,t m xmt = ϕ xik k ∈ Fr , m ∈ Mr , t ∈ T . (5.23) r ki (k,i)∈A (i,k)∈A Asphalt mixing plants constraints. Each asphalt mixing plant k ∈ Fa receives in input only Ma = {recI, bitumen}, and gives in output only asphalt, thus: xmt ki = 0 xmt ik (k, i) ∈ A : k ∈ Fa , m ∈ M \ {asphalt}, t ∈ T , (5.24) (i, k) ∈ A : k ∈ Fa , m ∈ M \ Ma , t ∈ T . (5.25) =0 The plant has a total production capacity Qk for each period. Its recipe is expressed by the ϕm a input, which gives the quantity of material m ∈ Ma necessary for producing a unit quantity of asphalt at plant k ∈ Fa . For P m feasibility, the values of ϕa satisfy m∈Ma ϕm a = 1. We thus get: X asphalt,t ≤ Qk k ∈ Fa , t ∈ T , (5.26) xki (k,i)∈A X m xmt ik = ϕa (i,k)∈A X xasphalt,t ki k ∈ Fa , m ∈ Ma , t ∈ T . (5.27) (k,i)∈A Concrete mixing plants constraints. These constraints are equivalent to the ones for the asphalt mixing plants. Each concrete mixing plant k ∈ Fc receives in input materials Mc = {recII, cement}, gives in output concrete, and has total processing capacity Qk for each period. Its recipe is expressed by ϕm c , that gives the quantity of material m ∈PMc necessary for producing a unit quantity of concrete, and is such that m∈Mc ϕm c = 1. We thus obtain: xmt ki = 0 (k, i) ∈ A : k ∈ Fc , m ∈ M \ {concrete}, t ∈ T , (5.28) xmt ik = 0 X (i, k) ∈ A : k ∈ Fc , m ∈ M \ Mc , t ∈ T , (5.29) xconcrete,t ≤ Qk ki k ∈ Fc , t ∈ T , (k,i)∈A (5.30) X (i,k)∈A m xmt ik = ϕc X xasphalt,t ki k ∈ Fc , m ∈ Mc , t ∈ T . (k,i)∈A (5.31) 124 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS The resulting aggregate model is thus to minimize (6.3), subject to (6.1)– (6.2), (6.4)–(5.31). 5.6 Disaggregate Models The aggregate model that we described in the previous section allows to study the behavior of the system in terms of volumes of materials, so as to investigate its feasibility. Since the model is computationally efficient, it can be solved several times under different network configurations, enabling to overcome possible causes of infeasibilities. Once a feasible aggregate solution has been found, the aim is then to determine the actual flows of each material in each period, i.e., the “disaggregate” flows. In the following, we propose two models, both based on LP, that allow to convert an aggregate solution to disaggregate flows: a multi-commodity model, and a path-based model. Note that, since vehicles may transport only one material at a time and transport is performed in one period, the disaggregate flows can be computed separately, without loosing the optimality of the solution, one for each period and each material, independently from the flows of other materials and/or other periods. Therefore, let t̄ and m̄, be, respectively, the period and the material for which we intend to compute the disaggregate t̄ ¯m̄t̄ denote the solution of the aggregate model, flows. Let also x̄m̄ hk and fk representing, respectively, the quantity of material m̄ hauled from h to k in period t̄, and the stock of material m̄ at depot k ∈ L at the end of period t̄. To ease notation, hereafter we suppress the explicit dependence on t̄ and t̄ ¯ ¯m̄t̄ m̄, writing x̄hk for x̄m̄ hk and fk for fk . Given an aggregate solution, obtained by solving the aggregate model, we determine the subsets of vertices and arcs that are actually used by the material m̄ in the period t̄. In particular we denote by Ō and D̄ the subsets of vertices having positive outgoing aggregate flow (origins) and having positive incoming aggregate flow (destinations), respectively. The subset of vertices crossed by some aggregate flow (intermediate vertices) is denoted V̄, while the subset of arcs that are used by some aggregate flow (traversed arcs) is Ā. A multi-commodity model. The first disaggregation procedure that we developed is based on the solution of a multi-commodity model. To formulate the problem, we introduce hk , which represent the quantity of material m̄ taken continuous variables yij from origin i ∈ Ō, going to destination j ∈ D̄, and passing through arc (h, k) ∈ Ā, in period t̄. The disaggregate multi-commodity formulation is 125 5.6. DISAGGREGATE MODELS then given by: XX X min hk yij (5.32) i∈Ō j∈D̄ (h,k)∈Ā X X X ik yij = j∈D̄ (i,k)∈Ā hj yij X X i ∈ Ō (5.33) x̄hj j ∈ D̄ (5.34) vk yij i ∈ Ō, j ∈ D̄, v ∈ V̄ (5.35) (h, k) ∈ Ā (5.36) i ∈ Ō, j ∈ D̄, (h, k) ∈ Ā. (5.37) (i,k)∈Ā X = i∈Ō (h,j)∈Ā X x̄ik (h,j)∈Ā X hv yij = (h,v)∈Ā XX (v,k)∈Ā hk yij ≥ x̄hk i∈Ō j∈D̄ hk yij ≥0 The objective function (5.32) to be minimized is the total sum of the disaggregate flows. Constraints (5.33) impose the sum of disaggregate flows leaving an origin i to be equal to the sum of the aggregate flows leaving that origin. Constraints (5.34) are equivalent to (5.33), but refer to destinations. Constraints (5.35) impose flow conservation at intermediate nodes. Constraints (5.36) force the sum of the disaggregate flows on each arc to be not lower than the aggregate flow on that arc. The “≥” inequality in (5.36) is used to avoid possible errors due to different precision measures and ensures that a disaggregate solution can always be found starting from an aggregate one. A path-based model. The second disaggregation procedure we developed is a path-based model. This formulation takes into account the various paths between a given origin and a given destination that material m̄ can use in period t̄. To this aim, we make use of a standard label setting algorithm for determining all the paths from each origin i ∈ Ō to each destination j ∈ D̄ going through the arcs (h, k) ∈ Ā. The label setting is an algorithm that builds paths from an origin to a destination on a network and it allows to find all the possible paths by setting a label on each node of the network that specifies its predecessors, that means which preceding node on which path. All possible paths are created, therefore the number of label on each node can be exponential. Thus, the algorithm produces the set P̄ of all possible paths (for material m̄ in period t̄), and the set of arcs (h, k) ∈ Ā used by path p ∈ P̄, denoted Ā(p). To define the path-based model, we introduce new continuous variables yp representing the quantity of material m̄ carried on path p ∈ P̄, in period t̄. 126 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS The resulting formulation is then: min X (5.38) yp p∈P̄ X yp ≥ x̄hk (h, k) ∈ Ā (5.39) p ∈ P̄. (5.40) p∈P̄:(h,k)∈Ā(p) yp ≥ 0 This model allows to find the set of paths that minimizes the costs and respects the requests derived by the aggregate solution. More precisely, the objective function (6.28) is to minimize the quantities carried on the paths. Constraints (6.29) guarantee that the quantities carried on each path are not lower than the original aggregate flows. Non-negativity of yp is stated in (6.30). The computational behavior of the two formulations is discussed in details in the next section. 5.7 Computational Results The aggregate and disaggregate mathematical models have been implemented using the MOSEL language available with Xpress. Strabag is using our models both for the planning and operative phases of the construction of a highway in Northern Italy and is extremely satisfied with the potentiality of both aggregate and disaggregate models. Furthermore, to clearly evaluate the quality of our algorithms and models in a more general framework, we performed extensive numerical tests on a new set of realistic instances. These new instances were obtained by applying the real-world knowledge accumulated on a hypothetical highway construction project, still based in an area located in Northern Italy. Some simplifications were introduced in the project to limit its complexity. In the following we first give some information of of the instances that we created, and then present the details of the computational results obtained by running our models with different configurations. The instances are available from the authors upon request. Our tests have been run on a PC with 3.1 GHz Intel Core i3-2100 processor, by using one thread. 5.7.1 Realistic instances The instances that we created are based on a hypothetical highway construction among the provinces of Parma, Reggio Emilia, and Modena, in Italy, and is depicted in Figure 5.3. The highway we projected is located in parallel to the Roman road Via Emilia and presents a length of approximately 43.5 km. Henceforth, we will refer to it as New Via Emilia. The New Via Emilia plan is set in an irregular territory, with altitude gaps and some rivers and streams. We discretized it in about 400 segments, 5.7. COMPUTATIONAL RESULTS 127 Figure 5.3: The New Via Emilia layout: on the left the overall construction site planned is depicted, while a highlight is given on the right. each of about 100 meters length. For each segment a different amount and composition of materials to be dug and filled has been contemplated, considering the presence of bridges, viaducts, galleries, embankments, and trenches in the plan. An MPS has been drawn to engineer the various phases of the construction process. In particular, the New Via Emilia has been divided into 13 main parts, and six diverse construction phases have been established, one for digging and five for filling. The five filling phases are: 1) construction of concrete components of the skeletons of artificial and natural galleries, bridges, and viaducts; 2) construction of banks for embankments, tranches, and artificial galleries; 3) juxtaposition of the first layer of the roadway; 4) termination of the structure of bridges and viaducts; 5) asphalt paving. Time windows were assigned to each task following realistic assumptions on transportation capacities and working hours. We then created the sets of quarries, dump sites, mixing and separation plants, temporary depots, access points, and external nodes. With this aim, we looked for real plants in the area interested by the New Via Emilia and 1 detected 19 quarries and 19 dump sites. For simplicity, we considered each quarry and dump site capable of selling and accepting all the materials, respectively. To connect the external sites to the construction site, we situated several access points where the hypothetical building site meets the existing public network. We then connected the access points to the external plants by building paths in the public network. The resulting paths are highlighted, for a portion of the area involved by the project, in Figure 5.3. As discussed in the previous sections, several paths are typically available to reach a plant, because flow capacity on the least-cost path can be too small to guarantee the entire materials transportation. The mixing and separation plants have then been located close to those access points where wide and non-inhabited areas were available. The recipes of the separation and mixing plants were taken from real data. We also located 27 temporary depots along the building site. Capacities on arcs and nodes were again defined on the basis of realistic assumptions. We thus obtained a first instance made of 2954 nodes (2270 of which represent tasks), 3694 arcs, and a building site characterized by 6 natu- 128 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS ral galleries, 4 bridges, one viaduct, and many kilometers in trenches. We considered a two year project, that we discretized in weeks. Material and transportation costs were estimated using real data. To have a more exhaustive test set of instances, we modified the basic New Via Emilia instance so far described by perturbing some of its characteristics. This generated a final collection of ten test instances, which is summarized in Table 5.2. The table gives the description of the modifications applied to the basic instance. 5.7.2 Aggregate model results As previously mentioned, the aggregate model (6.3) – (5.31) has been solved using the LP solver Xpress 7.4. Different algorithms are available for solving LPs. To find the best computational performance, we considered the Dual Simplex, the Primal Simplex, and the Barrier algorithm. Table 5.2 gives the results that we obtained on the 10 instances that we created. In particular, we report for each instance the computational time (in seconds) required by the given algorithms to reach the optimal solution. The results of the comparison identify Barrier as the best algorithm when solving our set of instances. In average, it takes about 2 minutes with the Xpress configuration to solve an instance. The second best algorithm is the Primal Simplex, which in average needs about 17 minutes. The Dual Simplex is outperformed by the other algorithms, because its average solving time is barely three hours. The maximum values are quite small for the Barrier algorithm, but can be very high for the other two algorithms, about one hour and a half and more than 5 hours for the Primal and the Dual algorithm, respectively. The minimum values of times are not particularly high for the Primal and Barrier algorithms, while can be huge for the Dual algorithm. To note that Xpress uses the Dual Simplex algorithm by default. Table 5.1: Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal, and Barrier algorithms. 5.7.3 Disaggregate model results The disaggregate models have been tested on 7753 disaggregate subinstances obtained by solving the 10 aggregate instances. The main characteristics of the disaggregate subinstances are reported in Table 5.3. In particular, the table shows, for each aggregate instance (Inst.), the number of disaggregate subinstances solved (#Subinst.), and the average numbers of origins, destinations, vertices, arcs, and paths touched by the flow (denoted, respectively, by Ō, D̄, V̄, Ā, and P̄). The last line gives average values over the entire set. The number 7753 comes from the fact that each aggregate instance 129 5.7. COMPUTATIONAL RESULTS may generate up to |M| × Tmax = 1010 subinstances, thus leading to 10100 subinstances in total, but not all materials have positive flows in all periods and so not all disaggregate models need to be run. In Table 5.3 we also present the results obtained by running the two models developed to solve the disaggregate problem. Values Tm and Tp denote the times in seconds needed to solve the multi-commodity and the path-based models, respectively, and indicate the time spent to compute all the required sets (Ō, D̄, V̄, Ā, and, in addition for the path-based model, P̄) and to run the model. We then report ∆T = Tm − Tp . We can observe that, in average, the path-based model is about 20% faster than the multicommodity one, even if an additional algorithmic component for detecting the paths has to be included. In Figure 5.4 we report the time needed to solve each one of the 7753 models with respect to the number of the arcs considered. This shows how the performances in time of the multi-commodity decrease when increasing the number of arcs, while those of the path-based remain stable even when the number of arcs is relevant. To note that, for scaling problems, in the figure we do not report the results of two subinstances that needed 29.07 and 6.86 seconds to be solved to optimality using the multi-commodity model (and about 0.1 seconds with the path-based one). Eventually we can conclude that the path-based model is faster than the multi-commodity model and that the path-based model is less affected by the number of arcs in the network to disaggregate, while the multi-commodity model is very sensible to the dimension of the network. 4 Muli-commodity Path-based 3.5 3 Seconds 2.5 2 1.5 1 0.5 0 0 50 100 150 200 250 300 350 Arcs Figure 5.4: Solution time of the disaggregate models with respect to the number of arcs. 130 5.8 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS Conclusions In this chapter we described our work of modeling and solving the earthwork optimization problem that arises when building a highway, focusing on the real-world activity performed by Strabag AG, one of the largest European companies operating in this sector. We modeled the earthwork problem by using novel a two-phase approach. In the first phase we solve an aggregate problem optimizing the overall flows of materials of the entire period of the project described by the Master Production Schedule. In the second phase we disaggregated the problem for each material and period and solved the obtained subproblems using two Linear Programming formulations. Our quantitative method includes some novelties with respect to the Body of Knowledge: we consider a set of multiple materials not only from excavations, we include a set of processes that can recycle dug material so to be used as high quality material for filling and constructing, we accounts for time windows for each activity derived from a Master Production Schedule, and we evaluate the restriction given by an network external to the construction site and the possible alternative paths. Nevertheless all these new features can be deactivated one by one so to make our methodology general and feasible to solve several types of earthwork optimization problems. To prove the quality of the proposed two-phase new algorithm we produced a set of realistic instances and solved the aggregate problem with Primal and Dual simplex and Barrier algorithms, showing that the last one outperformed the others. We also tested the disaggregate models concluding that the pathbased model is more efficient than the multi-commodity one, especially when the number of arcs increases. Another reason why chosing the path-based model is that is more general than the multi-commodity because it allows the use of different cost functions The resulting approach is currently in use in Strabag, and is a powerful, flexible, and easy to replicate tool for solving real-world earthwork optimization problems. We included our optimization approach in a Decision Support System, presented in the following chapter, that combines tha presente two-phase apporach with graphical tools to visualize solutions and with a retroactive approach. 131 5.8. CONCLUSIONS CPU Times Inst. Description 1 2 3 4 5 6 7 8 9 10 Dual Primal Barrier basic instance reduced number of quarries and dump sites restricted materials in quarries and dump sites optimistic digging (45% rawI, 45% rawII, and 10% rawWaste) pessimistic digging (25% rawI, 25% rawII, and 50% rawWaste) balanced filling (50% rawI and 50% rawII) enlarged time windows for each task restricted flow capacities on the arcs of the external network increased capacities for recycling plants and temporary depots decreased capacities for recycling plants and temporary depots Min Avg Max 11 321.0 1 029.2 19 106.4 465.0 11 532.5 390.0 8 541.4 507.8 12 798.6 413.2 12 084.5 662.0 7 282.2 802.6 11 556.3 1 105.3 4 583.5 281.6 10 452.8 4 626.3 105.8 128.7 115.0 130.9 125.2 125.5 168.5 121.7 118.3 131.5 4 583.5 281.6 10 925.9 1 028.3 19 106.4 4 626.3 105.8 127.1 168.5 Table 5.2: Characteristics of the 10 instances and computational times obtained by running the aggregate model on Xpress 7.4 by using Dual, Primal, and Barrier algorithms. Inst. #Subinst. |Ō| |D̄| |V̄| |Ā| |P̄| Tm Tp ∆T 1 2 3 4 5 6 7 8 9 10 777 782 778 767 783 781 740 798 774 773 3.40 3.34 3.34 3.23 3.34 3.31 3.05 3.88 3.31 3.36 4.07 3.79 4.04 3.99 3.97 3.95 3.60 4.48 3.97 3.99 53.14 58.71 56.62 53.34 52.56 51.48 43.26 59.02 52.63 59.06 57.64 63.19 61.09 57.71 57.00 55.86 47.60 64.10 57.05 63.62 4.53 4.49 4.50 4.38 4.48 4.41 4.43 5.17 4.44 4.64 143.59 138.11 141.02 138.23 140.25 139.82 171.19 154.76 137.86 146.49 122.29 116.24 115.38 112.95 115.80 115.73 109.38 117.27 114.13 114.05 21.30 21.87 25.64 25.28 24.45 24.09 61.81 37.49 23.73 32.44 avg 775.3 3.36 3.99 54.04 58.55 4.55 145.13 115.32 29.81 Table 5.3: Evaluation of the multi-commodity and path-based disaggregate models. 132 CHAPTER 5. EARTHWORK OPTIMIZATION MODELS Bibliography [1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1993. [2] M. Ammar, A. I. Eldosouky, and F. A. Jarad. Optimization of earthwork allocation with multiple soil types. Alexandria Engineering Journal, 42:111– 123, 2003. [3] W. H. Askew, S. H. Al-Jibouri, M. J. Mawdesley, and D. E. Patterson. Planning linear construction projects: automated method for the generation of earthwork activities. Automation in construction, 11:643–653, 2002. [4] S. M. Easa. Earthwork allocations with nonconstant unit costs. Journal of Construction Engineering and Management, 113:34–50, 1987. [5] S. M. Easa. Earthwork allocations with linear unit costs. Journal of Construction Engineering and Management, 114:641–655, 1988. [6] S. M. Easa. Selection of roadway grades that minimize earthwork cost using linear programming. Transportation Research Part A: General, 22:121–136, 1988. [7] R. L. Burdett, and E. Kozan. An Integrated Approach for Earthwork Allocation, Sequencing and Routing. European Journal of Operational Research, 238:741–759,2014. [8] W. L. Hare, V. R. Koch, and Y. Lucet. Models and algorithms to improve earthwork operations in road design using mixed integer linear programming. European Journal of Operational Research, 215:470–480, 2011. [9] A. K. W. Jayawardane and F.C. Harris. Further development of integer programming in earthwork optimization. Journal of Construction Engineering and Management, 116:18–34, 1990. [10] Y. Ji, A. Borrmann, E. Rank, J. Wimmer and W. Guenthner. An Integrated 3D Simulation Framework for Earthwork Processes. Proceedings of the 26th CIB-W78 Conference on Managing IT in Construction, 2009. [11] S. M. Karimi, S. J. Mousavi, A. Kaveh, and A. Afshar. Fuzzy optimization model for earthwork allocations with imprecise parameters. Journal of construction engineering and management, 133:181–190, 2007. [12] M. Marzouk and O. Moselhi. Multiobjective optimization of earthmoving operations. Journal of construction Engineering and Management, 130:105–113, 2004. 133 134 BIBLIOGRAPHY [13] R. H. Mayer and R. M. Stark. Earthmoving logistics. Journal of the Construction Division, 107:297–312, 1981. [14] A. A. Moreb. Linear programming model for finding optimal roadway grades that minimize earthwork cost. European Journal of Operational Research, 93:148–154, 1996. [15] O. Moselhi and A. Alshibani. Optimization of earthmoving operations in heavy civil engineering projects. Journal of Construction Engineering and Management, 135:948–954, 2009. [16] R. M. Stark and R. H. Mayer. Quantitative construction management: Uses of linear optimization. Wiley New York, 1983. [17] R. M. Stark and R. L. Nicholls. Mathematical foundations for design: Civil engineering systems. McGraw-Hill New York, 1972. [18] C. M. Tam, T. K. L. Tong, and B. W. L. Wong. An integrated system for earthmoving planning. Construction Management and Economics, 25:1127– 1137, 2007. [19] W. Xianjia, H. Yuan, and Z. Wuyue. The bilevel programming model of earthwork allocation system. In Cutting-Edge Research Topics on Multiple Criteria Decision Making, 35:275–281. Springer Berlin Heidelberg, 2009. [20] H. Zhang. Multi-objective simulation-optimization for earthmoving operations. Automation in Construction, 18:79–86, 2008. Chapter 6 A Decision Support System for Highway Construction and its Application to the Autostrada Pedemontana Lombarda This chapter presents a new decision support system (DSS) to handle the activities involved in construction logistics projects. The system has been designed through a collaboration with the construction company Strabag AG. The new DSS aids managers to schedule the construction activities, determining the amounts of materials that must be moved in a time period, and the corresponding paths to obtain minimum costs. Its application to the highway construction project Autostrada Pedemontana Lombarda has produced significant results in terms of quickness in decision making and cost savings. Our system is based on the use of linear programming and operates in two phases: firstly the feasibility of the project is determined by an aggregate mathematical model, then a disaggregate model is executed to determine the actual flows for each material and period. The efficiency of the proposed system is shown by means of computational results run on a set of instances drawn from the Autostrada Pedemontana Lombarda project. Graphical tools are used to obtain a clear visualization of the solutions of the models and to facilitate the decision process. The DSS, currently in use in the company, is a powerful, flexible, and easy to replicate tool for solving real-world construction logistics problems. Keywords: Decision support, Linear programming, Earthwork, Construction logistics. 135 136 6.1 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION Introduction The construction of a highway includes various activities that have to be done in different periods and take years to be completed. Earthwork operations account for about 25% (see Hare et al. [5]) of the construction costs and consist mainly of activities such as digging, filling, hauling, and dumping, that depend largely on heavy equipment. The solution of complex projects that evolve over long time horizons can obtain substantial benefits from the use of modeling techniques. The collaboration the supply chain optimization team of the construction company led to the creation of an earthwork optimization system based on the use of linear programming (LP) models. The use of the models produces a minimum cost earthwork plan and makes it possible to enhance the productivity of the overall construction project. The models are embedded into a decision support system (DSS) that aids managers to schedule the highway construction activities over a planning horizon. In particular, it helps in deciding when and how moving or storing the different materials to minimize costs. The main activities involved in the project are shown in Figure 6.1, where the arrows represent flows of materials of different kinds. Figure 6.1: Flow chart representing the main activities involved in the project. The construction site is discretized into segments of different length called material locations, where several activities must take place. Digging activities, that is, the excavation of earth, must be done in different material locations. A fundamental step in digging activities is represented by on-site separation of the material according to its characteristics, obtaining the socalled rawH (high quality), rawM (medium quality), rawWaste (waste), and topsoil (the outermost layer of soil). Materials such as rawH and rawM can be used directly for filling. Moreover, rawH can be recycled and the wastes from digging and recycling must be discarded on dump sites, while topsoil is temporary stored and reused directly to recover the soil at the end of the construction. Filling activities consist in bringing towards highway construction locations a certain amount of material, for example to fill earth cuts and trenches, or build bridges and artificial galleries. In the recycling 6.1. INTRODUCTION 137 process, realized in recycling plants, rawH is recycled to obtain refined materials which are then mixed with bitumen and cement to obtain concrete and asphalt, materials suitable for filling. If necessary or profitable, materials can also be bought from private quarries. Construction materials can also be stored in temporary depots and used at a later stage. Quarries, dump sites, temporary depots, and recycling plants have capacity restrictions. To move the materials, different types of capacitated vehicles are used. The DSS consists of three phases: the input, the optimization, and the output phase. The input phase represents the integration with the Master Production Schedule (MPS) where all the activities and their time windows are defined by the production department. In this phase data are collected and preprocessed. The optimization phase aims at checking the MPS feasibility and optimize the execution of the activities. The output phase receives the output of the optimization and uses it to automatically create graphs, tables, and other interactive tool that are useful for the decision maker to implement feedback actions. In the optimization phase the highway building site is modeled as a graph composed by one part representing the building site and another part representing a network of roads external to the building site, needed to reach the dump sites and the quarries. The vertices of the network correspond to material locations, plants, dump sites, temporary depots, quarries, and junctions of the road networks. The vertices are connected by arcs that represent the private roads inside the building site and the public roads of the external network. To solve the problem we adopted a two-level approach, by using first an aggregate and then a disaggregate formulation, both based on the use of linear programming. The aggregate formulation aims at checking the feasibility of the project in the given time horizon, with the given limited resources, while minimizing an estimation of the costs. It is possible to run the aggregate formulation several times and under different network configurations to overcome possible infeasibility problems. The disaggregate formulation is executed, once a feasible solution to the aggregate formulation is on hand, to find precise minimum cost flows for each type of material and period. Our formulations derive from those developed in Bogenberger et al. [2], but include some additional features that derive from our real-world case study and are discussed in the following. All the other components of the DSS, as well as the real-world case study, are presented in this chapter for the first time The modeling activity follows the footsteps of a well established line of research on the so-called earthwork problems, that basically consist in finding the minimum cost flows of earth materials while satisfying operational constraints. The very basic earthwork optimization problem is known in the literature as the cut and fill problem (see, e.g., Ahuja et al. [1]) and can be solved by the use of a minimum cost flow algorithm. This simple model has 138 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION then been expanded to include constraints and complications arising in realworld construction problems and LP became in the time a standard tool for solving these models (see, e.g. Stark and Nicholls [9] and Mayer and Stark [8]). Some variations are represented by the use of non-linear costs (see, e.g., Easa [3, 4]), uncertainty in costs and facility capacities (see, e.g., Karimi et al. [6]), multi-objective frameworks and simulation (see, e.g., Marzouk and Moselhi [7] and Zhang [10]), just to cite some of the most relevant ones. The reminder of the chapter is organized as follows. We introduce the Autostrada Pedemontana Lombarda project and we present the company in two dedicated sections. The Decision Support System section shows the DSS in detail, specifying the tools and methods involved in each step of its execution. In Computational Evaluation of the Optimization Phase section a computational evaluation is presented. Conclusions are drawn in the last section. 6.2 The Autostrada Pedemontana Lombarda Project Autostrada Pedemontana Lombarda (www.pedemontana.com) is one of the largest highway construction projects currently under development in Europe. It covers the urban area of Milan, in Northern Italy (see Figure 6.2) and includes a large system of highways, access ramps, and local streets. It will be composed by 157 km of roads, 19% of which runs through natural tunnels and 16% through artificial tunnels. There will be 87 km of highway (67 km of highway, 20 km of bypass) and 70 km of road links to ease local vehicular load. Its construction is part of the activities planned for the forthcoming World Exposition Milano 2015 (Expo Milano 2015). It is an economically and socially strategic project, because the highway runs through a territory with more than 220,000 companies (40% of the regional total) and four Figure 6.2: The Autostrada Pedemontana Lombarda project in Northern Italy. 6.3. STRABAG AG: A LEADER IN THE CONSTRUCTION INDUSTRY139 Figure 6.3: The characteristics of the main highway. million inhabitants. The aim of this construction project is to redistribute the traffic of the existing road system, cover the lack of infrastructural offer in the northern area of Milan, link the three main airports of Lombardy and ease the traffic among the five provinces of Bergamo, Monza e Brianza, Milano, Como, and Varese. To minimize the impact over the residential areas involved, nearly threequarters of the 87 km of the highway will run in trench and artificial or natural galleries. This implies the digging of a huge amount of earth, roughly 30 millions m3 . Figure 6.3 summarizes in a simple way the characteristics of the highway. The building site extends for 12 km in natural galleries, 13 km in artificial galleries, 36 km in trenches, 20 km in embankments, and 6 km in bridges and viaducts. The construction has been entrusted to a consortium, formed by the Italian constructors Grandi Lavori Fincosit and Impresa Costruzioni Giuseppe Maltauro, and by the Austrian company Strabag AG, which holds 60% stake of the project. 6.3 Strabag AG: a Leader in the construction industry Strabag AG Group, with headquarter in Vienna (Austria), has its origins in ILBAU, founded in 1835 in Austria, and in the namesake STRABAG, founded in 1895 in Germany. Over the years, the company has grown into one of Europe largest construction companies, now operates in many European markets, and also on individual cases in other continents. The company offers a wide range of services that span all areas of the Construction Industry: building construction and civil engineering, infrastructure construction and tunneling, and facility management. Zentrale Technik is an Engineer-center of excellence that develops the technical know-how of the Strabag AG Group and spreads it within the company. The Supply Chain Optimization (STRAsco) team of Strabag AG, composed of experts in operations research, network optimization, simula- 140 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION tion, and logistics, treats topics along the whole supply chain and delivers a well founded basis to decision makers in the field of construction logistics. STRAsco operates in the Zentrale Technik of Vienna since January 2013. By making use of instruments such as mathematical optimization methods and simulation, the STRAsco group manages design, planning, and ongoing optimization of logistics in major projects. 6.4 The Decision Support System Figure 6.4 schematically depicts the operating diagram of the DSS that we developed, highlighting the tools and the methods used in each step for managing the logistics of the highway construction project. The main steps are the collection and management of input data, the optimization phase for finding the best earthwork configuration, and, finally, the processing of the output, the graphical representation of the solutions found, and the use of these results as feedbacks in an iterative framework. In the next three subsections we describe the details of these steps. Figure 6.4: Operation Diagram of the developed Decision Support System. Input Phase The input is handled through a code in Visual Basic for Applications (VBA). In particular two input files are considered. The first one is the MPS, in the form of an excel file (.xls), that is an output of the design phase of civil engineers that contains information about the tasks to be done in different material locations and their time windows. This file also contains useful 6.4. THE DECISION SUPPORT SYSTEM 141 information for the planning of activities such as the capacity of quarries, temporary storages, plants, and dump sites, the type and capacity of the vehicles involved, and the quality of materials. The second input is a Keyhole Markup Language file (.kml), which collects information from Google Earth Pro. This information concerns the geographic coordinates of the characteristic vertices of the project such as quarries, dump sites, plants, material locations, access points, and temporary depots. Using Google Earth Pro, one can create and edit paths and add other useful information. For example, it is possible to specify whether a particular path is subject to capacity restrictions and to include the characteristics of the roads (public roads, road to be constructed, etc.). The information deriving from the .kml file and from the .xls files is collected by a specifically designed routine in VBA, and then translated into text files to move to the optimization phase. R In the optimization phase, we use the FICOXpress Optimization Suite to solve the mathematical models. All information is passed to Xpress using a few data files (.dat) that contain all the values of the parameters used to describe the model. In this way the optimization models receive information about vertices, arcs, periods, materials, vehicles, digging and filling demands, capacities of plants, quarries, and dump sites, but also information about the coordinates of the vertices thanks to the details taken from the .kml file. Optimization Phase The optimization phase is based on LP models and is divided in two subphases represented by an aggregate formulation and a disaggregate formulation, respectively. Both formulations are defined and extensively explained in the Annex 6.A. The aggregate formulation uses two sets of variables: the first one models the flows of materials in each period on the arcs of the network representing the building site. The second set of variables takes into account the amount of material stored in depots, acquired from quarries, and dumped away in every period. The objective function minimizes the cost of storing, dumping, acquiring, and hauling materials. A set of digging and filling activities of several materials and their time windows are requirements of the MPS: the aggregate formulation must respond to these requirements minimizing the overall costs and respecting the imposed constraints. The constraints are many: the digging and filling must be accomplished respecting the time windows. When digging in a material location in different periods, the composition of materials is always the same, thus if some rawH is needed also a percentage of the others materials has to enter the network. On the other hand, a set of alternative materials can be used when filling. A number of facilities can be used during the construction of the highway: recycling plants to transform materials, quarries to buy materials, dump 142 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION sites to discard some materials, and temporary depots to store materials. Some of these facilities are located outside of the building sites and a highly constrained external network must be considered. All facilities so as all arcs of the network and all vehicles have capacity constraints to be respected. The solution of the aggregate formulation, expressed in terms of flows, is stored in text files to be passed to the disaggregate formulation. The disaggregate formulation is used to determine precise flows, one for each material and each period, taking the solution of the aggregate formulation as input. It considers all origins and destinations for a given material in a given period, and detects all paths connecting the origins with the destinations that respect the capacities derived from the aggregate solution. Each path is represented by a variable, whose cost is normally non-linear and depends on the length of the path itself. The disaggregate formulation determines the set of paths that allow to move the materials at minimum cost. Both formulations are an evolution of the modeling activity performed in Bogenberger et al. [2], and include some new features derived by the realworld application. The main changes affected digging and filling constraints in the aggregate formulation and inclusion of costs in the disaggregate forR mulation. To solve the models we used the FICOXpress Optimization Suite software, and in particular we used the Xpress-Mosel language. The solutions are stored as plain text files that are then processed by the output phase. Output Phase To make it easier to understand the results, characterized by values of millions of variables, we make use of practical graphical tools. These tools can be used to adapt diagrams and tables on customer request. More specifically, we used the D3 JavaScript library to visualize the diagrams and tables representing the solution of the aggregate flows. To do this we necessitate, besides the file representing the solution obtained by Xpress, additional input files realized in the JavaScript Object Notation (.json) format, which contain the location classes, material classes, vertices definitions, relations, and routes. The D3.js library is useful to manipulate data files and create an interactive representation of data. Due to the security model of standard web-browser implementations, it was necessary to implement a web server in which one can see the graphs and tables filled with the information of the aggregate model. In Figures 6.5, 6.6, 6.7, and 6.8 some of the graphical representations that can be obtained are shown. In particular, Figure 6.5 depicts the network of the basic instance (a segment of Autostrada Pedemontana Lombarda that is used in the next section for the computational evaluation of our models), formed by the construction site, several access points that link the construction site to external public roads, 13 dump sites, seven temporary 6.4. THE DECISION SUPPORT SYSTEM 143 Figure 6.5: Network visualization of the basic instance , the highway section used for computational tests. depots, a quarry, and two concrete mixing plants. Such a representation helps decision-maker to have a clear idea about the location of the points of interest and possible connections and obtain information on each point by clicking the interactive figure. Figure 6.6 shows the inflow, storage, and outflow of material through the temporary depot T D2 during the time horizon. In Figures 6.6, but also in Figures 6.7 and 6.8, different colors represent different materials. In Figures 6.6-(a) and 6.6-(b) the inflows and outflows are depicted. In particular, the small bars represent the amount of entering and exiting materials, respectively, for each period, while in the background the overall inflows (for Figure 6.6-(a)) and outflows (for Figure 6.6-(b)) are reported. In Figure 6.6-(c) the amount of materials stored in T D2 is shown. One can notice that at the beginning of the construction process the inflows are more relevant because of the largest number of planned digging activities. Then the capacity of the depot is reached and no additional inflows are registered. The last periods of the time horizon are characterized by a larger number of filling activities, thus the temporary depot outflows increase. In Figure 6.7-(a) one can observe the total handled material, expressed in m3 , which refers to the total amount of material loaded on vehicles during the earthwork activities. The small bars represent the handled material for each period. In Figure 6.7-(b) the hauling capacity, expressed in km · m3 , is depicted. Here the small bars show the hauling capacity used for every period. Figure 6.8 shows the amount of material treated in digging and filling activities in material location, period by period, material per material. As one can see, the last periods are not interested by digging activities, which is quite normal because these periods are interested by filling activities such as paving. 144 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION (a) Inflow material (b) Outflow material (c) Storage Figure 6.6: Flows in temporary depot T D2 during the construction time horizon. (a) Total handled material (m3 ). (b) Total hauling capacity (km · m3 ). Figure 6.7: Graphical representations of the use of material during the construction time horizon. 145 6.4. THE DECISION SUPPORT SYSTEM (a) Excavated material (m3 ) (b) Filled material (m3 ) Figure 6.8: Graphical representation of digging and filling activities in a vertex. The solution of the disaggregate model gives us detailed information on the flow of a material in a certain period. It is a point to point solution, since by solving the model one understands exactly from which source to which destination the material travels over a certain period. For the graphical representation of the disaggregated flows we use a diagramming program, specifically the free yEd Graph Editor by yWorks. This editor directly reads the solution provided by the model in the form of Excel file. The result is a large diagram containing information about the flows of material that start from all sources and arrive on several destinations. Figure 6.9 is a particular of an example of the graphical output (.graphlm) of the disaggregate model in which we consider the flows coming from a certain digging activity, DIG123, and directed respectively to the temporary depots, T D6 and T D7, to the dump site DS10, and to the filling activity F IL145. This type of representation highlights the distance in km from sources to destinations and the amounts in m3 of materials involved, making a distinction between the different types of materials. In particular, in DIG123 we represent with line mexc the total amount of excavated materials such as topsoil (italic) and the others materials (plane), while in line mcw we depict the amount of the excavated materials that are rawWaste. In T D6 and T D7 we depict the total amount of materials stored, separated in topsoil (italic) and other materials (plane). The filling activity F IL145 shows the total amount required in this period in line mcr and the amount derived by the block of this subgraph in line mcri , both separated in topsoil (italic) and other materials (plane). The block representing the dump site DS10 shows the amount to be carried to the dump site in this period in line mcr and the amount of materials coming from the blocks of this graph in line mcri . On the arcs are 146 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION depicted the amount of topsoil (italic) and of other materials (plane), and the distance between the two sites. Figure 6.9: Graphical output of the disaggregate model. 6.5 Computational Evaluation of the Optimization Phase The models, whose detailed mathematical formulation is given in Annex 6.A , were implemented using the Xpress-Mosel language available and solved R with the LP solver FICOXpress 7.6. The PC on which the tests were performed has the following characteristics: 2.21 GHz AMD Athlon(tm) 64 Processor 3500+. Real-world Instance The instance used to conduct tests to validate the models corresponds to the real-world highway segment of the project Autostrada Pedemontana Lombarda between Cesano Maderno and Usmate Velate, that is what we call basic instance (see Figure 6.2). The data refer to an intermediate stage of the project and therefore they do not exactly reflect the final configuration of the considered segment. The basic instance is one of the most problematic sections of the whole construction project from an environmental and urbanistic viewpoint, due to the need of construction in proximity of urban settlements and areas of natural beauty. With a length of approximately 16.5 km and three lanes in each direction, the basic instance extends for about 6.5 km in artificial tunnels and for about 9.5 km in trenches, as well as in embankments and in viaducts. The track intersects many waterways, the most important of which is the Lambro river, crossed by a bridge. To connect the highway with the local road network, some secondary tracks will be realized in addition to the main one. 6.5. COMPUTATIONAL EVALUATION 147 The section is discretized in segments of about 500 meters length. For each segment the amount and composition of materials to be dug has been estimated by performing a core sampling. Similarly, the amount and composition of materials to be used for filling has been determined by considering the presence of bridges, viaducts, galleries, embankments, and trenches in the plan. On the basis of the MPS we determined the time windows of the various activities of the construction process. The overall planning horizon of the basic instance is about three years, that we discretized in months. The area interested by the basic instance includes several facilities, such as 13 dump sites, a quarry selling asphalt and cement, seven temporary depots, and two concrete mixing plants. Several access points connect the external sites, i.e., the existing public network, to the construction sites. The access points are connected to the external plants by using the available paths in the public network. The resulting network is described in Figure 6.5, that depicts the construction site (highlighted), and the paths through access points and external plants (plain). Computational Results The instance described in the previous subsection has been modified by perturbing some of its characteristics with the purpose of obtaining an exhaustive set of instances. We first created two instances by changing the discretization of the segments, using segments of 250 meters and of 750 meters. Xpress offers different algorithms for solving LPs, among these the Dual Simplex, the Primal Simplex, and the Barrier algorithm. To identify the best method to solve our problem we tested the three algorithms on the basic instance and on the other two perturbed instances. Table 6.1 gives the results of the three algorithms on the instances that we created. For each instance we report the objective function value z and the computational time required to reach the optimal solution. We also provide the average of these computational times. It should be noticed that the discretization in segments of 250 meters costs slightly more than the real-world instance. Instead, the 750 discretization cost slightly less than the basic instance. We can conclude that the used discretization of 500 meters represents an appropriate level of detail. As regards the computational times, the results of the comparison identify the Barrier as the best algorithm when solving our set of instances. In average, it takes about two minutes to solve an instance. The other two algorithms require in average a computational time about eight times higher. The maximum values are quite small for the Barrier algorithm, i.e., about 3.5 minutes, but can be very high for the other two algorithms, reaching about 50 minutes. The problem we assessed is very complex, thus we performed a sensitivity analysis, conducted by changing the percentages of excavated materials, 148 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION Solution Instance basic instance (0.500 km) 0.250 km discretization 0.750 km discretization CPU seconds z Dual Primal Barrier 19206.1 19298.9 19191.6 386.8 923.2 256.2 901.3 2890.4 613.5 95.8 213.5 68.6 522.1 1468.4 126.3 Avg Table 6.1: Results obtained by solving the aggregate model with Dual, Primal, and Barrier algorithm to better understand the behavior of the aggregate formulation. We recall that rawH is the highest quality material obtained by digging. In the basic instance rawH amounts to about 10% of the total excavated materials. This value derives from core sampling performed at material locations (roughly, a sampling every 500 m), so it is only an estimation of the real value. Indeed this percentage is a very critical parameter, this is why we present the following analysis. We obtained three additional instances by increasing the percentage of rawH by 5% and 10%, and decreasing it by 5%, respectively. Instance basic instance (10% rawH) rawH +5% rawH +10% rawH -5% z % gain CPU seconds 19206.1 16104.6 13485.1 infeasible 16.1 29.8 - 95.8 109.2 120.3 55.1 Table 6.2: Sensitivity analysis on the quality of materials. As one can see in Table 6.2, in more optimistic situations the solution cost decreases consistently with respect to that of the real-world instance. Instead, the more pessimistic situation gives an infeasible instance, because such a situation creates too much waste and the capacity of the temporary depots is not large enough to accommodate it. 6.6 Conclusions In this chapter we described a new Decision Support System (DDS) developed to furnish Strabag AG, one of the largest European construction companies, with a tool that could assist the decision-makers in the process of construction of the Autostrada Pedemontana Lombarda. Autostrada Pedemontana Lombarda is one of the largest highway project in progress nowadays in Europe and it is part of the activities planned for the World Exposition Expo Milano 2015. Its construction requires to move roughly 5·107 m3 of earth, for about 5·108 km · m3 of flows. 6.6. CONCLUSIONS 149 The newly developed DDS is based on three phases: the input, the optimization, and the output phase. The input phase collects and preprocesses the information to be passed to the optimization phase. The optimization is constituted of two sub-phases, a first one, where an aggregate model solves the earthwork optimization problem, and a second one that solves a disaggregate model which dispenses the actual flows for each material and each period. The output phase uses the data procured by the optimization phase and gives an useful, practical, and clever set of interactive outputs to improve and simplify the decision making process. To test the efficiency of the proposed DSS in solving complex earthwork optimization problems, we produced a set of instances by perturbing some characteristics of the real-world instance corresponding to one of the nine sections of the Autostrada Pedemontana Lombarda project. The DSS, currently in use at Strabag AG for the construction of Autostrada Pedemontana Lombarda, is an efficient, responsive, and adaptable tool suitable for solving different real-world construction logistics problems with little changes. Its application to other construction projects is under study by Stabag AG. 150 6.A CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION Mathematical Models In this Appendix we report the mathematical models used in the optimization phase. Aggregate Formulation Let us first define the necessary sets of vertices: L is the set of temporary depots, D of dump sites, S of quarries, H of the material locations (where digging and filling activities must be performed), B of vertices representing the network outside the building site, including the access points to the building site. Let A, M, and T be the sets of arcs, materials, and periods, respectively. Variables. The variables xmt ij represent the flow of material m ∈ M in period t ∈ T on arc (i, j) ∈ A, while fkmt represent, respectively, the quantity of material m stored in a temporary depot k ∈ L, carried to a dump site k ∈ D, or acquired from a quarry k ∈ S, at period t. Variables must be non-negative, thus: xmt ij ≥ 0 fkmt ≥0 (i, j) ∈ A, m ∈ M, t ∈ T , (6.1) k ∈ L ∪ D ∪ S, m ∈ M, t ∈ T . (6.2) Objective Function. With each arc (i, j) ∈ A is associated an estimation of transportation cost cij proportional to the distance. The exact cost of transportation can be computed only in the disaggregate formulation, since the transportation fare depend non-linearly from the length of the traveled paths. Moreover let cm k denote the cost for storing, dumping, or buying a unit of material m ∈ M at location k ∈ L ∪ D ∪ S. The objective function is then: X X X X X X mt (6.3) min z= cij xmt cm ij + k fk . (i,j)∈A m∈M t∈T k∈L∪D∪S m∈M t∈T Arc capacity constraints. Every arc (i, j) ∈ A has a maximum capacity Uijt (in cubic meters) for each period t ∈ T , so: X t xmt ij ≤ Uij (i, j) ∈ A, t ∈ T . (6.4) m∈M Vehicle capacity constraints. Materials are moved by trucks belonging to a set W of types, each of those may transport a set M(w) ⊆ M of materials, has a maximum transportation capacity V (w), a maximum number of km that can be traveled in the time horizon K(w). The number of vehicles of 151 6.A. MATHEMATICAL MODELS type w ∈ W is denoted by N (w). To each arc (i, j) ∈ A is assigned a nonnegative length `ij in km. The overall transportation capacity is imposed by: X X `ij xmt t ∈ T , w ∈ W. (6.5) ij ≤ N (w) · V (w) · K(w) (i,j)∈A m∈M(w) Filling constraints. Filling tasks represent the need of some amount of material in a location into a particular time window. If If is the set of filling tasks, each task i ∈ If is linked to its material location h(i) ∈ H, and has its own request di to be satisfied inside the time window, specified by its starting period ts (i) and its ending period te (i). Outside of this time window, the flow of a task must be zero. Let us define Mf (i) ⊆ M as the set of alternative materials that can be used to respond to the request of a filling task i ∈ If . We must guarantee that the request is fulfilled, and materials not included in Mf (i) are not used. We obtain: xmt h(i),i = 0 i ∈ If , m ∈ M \ Mf (i), t ∈ T , (6.6) xmt h(i),i =0 i ∈ If , m ∈ M, t ∈ T : t < ts (i) or t > te (i), (6.7) te (i) X X xmt h(i),i = di i ∈ If . m∈M(i) t=ts (i) (6.8) Digging constraints. Digging tasks represent the excavation of some amount of materials in a certain location into a given time window. Let us define the set of digging tasks as Id , where each task i ∈ Id has a request di of a composition of materials defined by the set Md (i) ⊆ M. Each material m ∈ Md (i) has a coefficient that determines the composition of digging P m task i ∈ Id , ϕi , where m∈Md (i) ϕm i = 1. For each task i ∈ Id is set a unique material location h(i) ∈ H and is defined a time window [ts (i), te (i)] to be respected. We must impose zero flows for materials different from M(i) and outside the time windows, while the demands of the tasks must be satisfied into the time windows. We thus obtain: xmt i,h(j) = 0 xm,t i,h(j) i ∈ Id , m ∈ M \ Md (i), t ∈ T , =0 (6.9) i ∈ Id , m ∈ Md (i), t ∈ T : t < ts (k) or t > te (k), (6.10) te (i) X m∈Md (i) ϕm i X t=ts (i) xm,t i,h(i) = di i ∈ Id (6.11) 152 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION Flow conservation at material locations, and external vertices. Flow conservation among the material locations, the access points, and the external vertices is imposed by: X X xmt j ∈ H ∪ B, m ∈ M, t ∈ T . (6.12) xmt = ji ij (j,i)∈A (i,j)∈A Temporary depots constraints. Let us define Ms as the set of materials that can be stored into temporary depots and Qk as the maximum storing capacity that must be respected at each period in k ∈ L. We have: X fkmt ≤ Qk k ∈ L, t ∈ T . (6.13) m∈Ms Let fkm0 be the initial stock of material m ∈ Ms in depot k at the beginning of the first period, and fkm,Tmax +1 the upper bound on the closing stock of m in k at the end of the last period Tmax . We have the following material balance constraints: X X m,t−1 mt k ∈ L, m ∈ Ms , t ∈ T , (6.14) = xmt xmt ki + fk ik + fk (k,i)∈A (i,k)∈A fkm,Tmax ≤ fkm,Tmax +1 k ∈ L, m ∈ Ms . (6.15) Dump sites constraints. Let Ck be the total capacity of a dump site k ∈ D and Qm k the maximum capacity for each period and material. Then: X X X k ∈ D, (6.16) xmt ik ≤ Ck (i,k)∈A t∈T m∈M X m xmt ik ≤ Qk k ∈ D, m ∈ M, t ∈ T . (6.17) (i,k)∈A Quarries constraints. As for the dump sites, each quarry k ∈ S has an overall capacity Ck and a maximum capacity Qm k for each material m in each period, therefore: X X X xmt k ∈ S, (6.18) ki ≤ Ck (k,i)∈A t∈T m∈M X m xmt ki ≤ Qk k ∈ S, m ∈ M, t ∈ T . (6.19) (k,i)∈A Separation plants constraints. The recycling process is made of a first step where material rawH (the highest quality material obtained by digging) is separated into a set of materials Ms in separations plants, and of a second part where some of these materials can be combined with bitumen 153 6.A. MATHEMATICAL MODELS and cement to obtain asphalt and concrete in asphalt and concrete mixing plants. Let us define Fs , Fa , and Fc the sets of separation plants, asphalt mixing plants, and concrete mixing plants, respectively. The flows entering a separation plant k ∈ Fs for all materials m ∈ M other than rawH, as well as the flows leaving the vertex for all materials other than Ms must be zero, that is: xmt ik = 0 xmt ki (i, k) ∈ A : k ∈ Fs , m ∈ M \ {rawH}, t ∈ T , (6.20) (k, i) ∈ A : k ∈ Fs m ∈ M \ Ms , t ∈ T . (6.21) =0 The accumulated material inflow should not exceed the maximum allowable operating capacity Qk of each separation plant k ∈ Fs , thus: X rawH,t xik ≤ Qk k ∈ Fs , t ∈ T . (6.22) (i,k)∈A Each separation plant has its own and specified recipe, that states the quantities of exiting materials obtained from a unit of rawH. Formally, ϕm s gives the quantity of exiting material m ∈ Ms that can be obtained from a unit of at plant k ∈ Fs , and note that, for feasibility, we must have P rawH m ϕ m∈Ms s = 1. The conservation flow at each separation plant is stated by: X X rawH,t m k ∈ Fs , m ∈ Ms , t ∈ T . (6.23) xmt xik ki = ϕs (k,i)∈A (i,k)∈A Asphalt mixing plants constraints. Each asphalt mixing plant k ∈ Fa must receive as input the set of materials Ma , and gives in output asphalt, thus: xmt ki = 0 xmt ik (k, i) ∈ A : k ∈ Fa , m ∈ M \ {asphalt}, t ∈ T , (6.24) (i, k) ∈ A : k ∈ Fa , m ∈ M \ Ma , t ∈ T . (6.25) =0 The plant has a total production capacity Qk for each period. Its recipe is expressed by the ϕm a input, which gives the quantity of material m ∈ Ma necessary for producing a unit quantity of asphalt at plant k ∈ Fa . For P m feasibility, the values of ϕa satisfy m∈Ma ϕm a = 1. We thus get: X xasphalt,t ≤ Qk ki k ∈ Fa , t ∈ T , (6.26) k ∈ Fa , m ∈ Ma , t ∈ T . (6.27) (k,i)∈A X (i,k)∈A m xmt ik = ϕa X xasphalt,t ki (k,i)∈A Concrete mixing plants constraints. Similarly as for the asphalt mixing plants, each concrete mixing plant k ∈ Fc receives as input materials Mc , 154 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION gives in output concrete, and has total processing capacity Qk for each period. Its recipe is expressed by ϕm c , that gives the quantity of material m ∈P Mc necessary for producing a unit quantity of concrete, and is such that m∈Mc ϕm c = 1. Hence we impose constraints similar to (6.24)–(6.27) for the concrete mixing plants. The resulting aggregate model is thus to minimize (6.3), subject to (6.1)–(6.2), (6.4)–(6.27). The main changes with respect to the aggregate formulation in [2] derive from the use of alternative materials for filling, which affects (6.6)–(6.8), and the use of fixed compositions of materials in digging tasks, which affects (6.9)–(6.11). 6.A.1 Disaggregate Formulation The disaggregate formulation aims at determining the actual paths on the network used by each material in each period by using a model one for each material/period of the time horizon. To do so, we start from the solution of the aggregate formulation, that provides all the possible origins and destinations. We enumerate the set of all possible paths P̄ and arcs Ā(p) used by each path p ∈ P̄ starting from all the possible origins and heading to all the possible destinations of a given material in a given period, by applying a standard label setting algorithm. We clarify that the typical graphs of the problem have a particular structure that is very sparse and that follows the shape of the highway building site. This makes the number of possible paths quite limited so it is not prohibitive to enumerate all of them. We use a set covering model, where, for each path, we introduce a nonnegative variable yp representing the quantity of material hauled on that path and the related cost cp . Note that, by using this model, the cost of a path can also be given as a non-linear function, that we represent by cp . The flows provided by the aggregate solution are denoted by x̄hk on arc (h, k) ∈ Ā (where period and material are omitted because fixed) and represent a lower bound for the material hauled on paths on each arc as imposed on constraint (6.29). We report here a generic disaggregate model for one material and one period: X min cp yp (6.28) p∈P̄ X yp ≥ x̄hk (h, k) ∈ Ā (6.29) p ∈ P̄. (6.30) p∈P̄:(h,k)∈Ā(p) yp ≥ 0 The objective function (6.28) aims at minimizing the costs, which can be very flexible since they depend on each path. In our instances we calcu- 6.A. MATHEMATICAL MODELS 155 late the cost cp as a function that models the transport costs given by the contracts in use at Strabag AG. These costs increase with a steep slope from 0 to 5 km, and after that, the slope has a more gradual increase. 156 CHAPTER 6. A DSS FOR HIGHWAY CONSTRUCTION Bibliography [1] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin. Network flows: theory, algorithms, and applications. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1993. [2] C. Bogenberger, M. Dell’Amico, G. Fuellerer, G. Hoefinger, M. Iori, S. Novellani, and B. Panicucci, B. A Two-Phase Earthwork Optimization Model for Highway Construction. to appear on Journal of Construction Engineering and Management, 2014. [3] S. M. Easa. Earthwork allocations with nonconstant unit costs. Journal of Construction Engineering and Management. 113:34-50, 1987. [4] S. M. Easa. Earthwork allocations with linear unit costs. Journal of Construction Engineering and Management. 114:641-655, 1988. [5] W. L. Hare, V. R. Koch, and Y. Lucet. Models and algorithms to improve earthwork operations in road design using mixed integer linear programming. European Journal of Operational Research, 215:470-480, 2011. [6] S. M. Karimi, S. J. Mousavi, A. Kaveh, and A. Afshar. Fuzzy optimization model for earth-work allocations with imprecise parameters. Journal of Construction Engineering and Management, 133:181-190, 2007. [7] M. Marzouk and O. Moselhi. Multiobjective optimization of earthmoving operations. Journal of Construction Engineering and Management, 130:105-113, 2004. [8] R. M. Stark and R. H. Mayer. Quantitative construction management: Uses of linear optimization. Wiley, New York, 1983. [9] R. M. Stark and R. L. Nicholls. Mathematical foundations for design: Civil engineering systems. McGraw-Hill, New York), 1972. [10] H. Zhang. Multi-objective simulation-optimization for earthmoving operations. Automation in Construction 18:79-86, 2008. 157 158 BIBLIOGRAPHY Part IV Models and Algorithms for 3D Printing Problems 159 Chapter 7 Optimizing the 3D Printing Process In this chapter we treat the production technology known as 3D printing. We deal with the 3D printing process by describing it, its advantages and disadvantages and by supplying an exhaustive classification of the many features to deal with in the 3D printing process optimization. Among the many operations related to the 3D printing process, we focus on the tool path definition problem of a 3D printer, that we called 3D Routing Problem (3DRP). The 3DRP is a generalization of the rural postman problem, in the family of arc routing problems. We present an ILP formulation for the 3DRP and we developed four heuristic algorithms that can furnish with improved solutions with respect to the solutions obtained by one of the most used software for the tool path definition in 3D printing. Keywords: 3D printing, Rural postman, Arc routing, Models, Heuristics. 7.1 Introduction 3D Printing (3DP), also known as Additive Manufacturing, is a production technology that can construct three-dimesional objects of multiple shapes by adding one or more materials layer by layer. Since its rise in the 80s, different techniques for 3DP have been developed, including Stereolithography, that makes use of liquid polymers hardened by UV beams layer by layer, Selective Laser Sintering, where a laser melts the powder -layer by layer- in a selective way, and Fused Deposition Modeling (FDM), also known as Fused Filament Fabrication. FDM involves extruding thermoplastic material (such as ABS plastic or polycarbonate) through heated nozzles: the filament is pulled by a feed roller, it is heated to a temperature above the material’s melting point, and then it is extruded by the nozzle. Once a layer is completed the platform where the material has been deposited is lowered or the nozzles is 161 162 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS raised to the next layer level and a new layer is added and fused with the previous one. A supporting material can also be used in the process when it is needed for structural issues, especially in case of overhanging geometries (Campbell et al. [6], Akella [1]). From now on, when mentioning 3DP we will refer to the FDM technique. In this work we focus on the optimization of the 3DP process, in particular we will concentrate on the optimization of the path that the nozzle has to follow to produce the three-dimensional object, in terms of distances, given several sets of constraints. Before introducing models and heuristic algorithms, we spend some words on the 3DP process. 7.1.1 The 3DP Process The manufacturing process of a product through 3DP follows a typical scheme as depicted in Figure 7.1. The process starts with the definition of the 3D model which can be created by a computer-aided design (CAD) software or by scanning an object we want to reproduce. The second step is to reproduce the three-dimensional object in a polygonal mesh, normally made of triangles. The typical file used to report a polygonal mesh is in a .stl format. When the model is represented as a mesh, the corresponding .stl type file is passed to a slicing software that divides the mesh in layers. The following step is the most interesting to our work and it is to decide the path to be followed by the tool for reproducing the three-dimensional object. The solution obtained is expressed in a sequence of commands in a g-code format that is passed to the printer in order to produce the final 3D object (Campbell et al. [6]). Figure 7.1: Scheme of the 3DP process. 7.1.2 Advantages and disadvantages The 3DP processes have some advantages such as the application to rapid prototyping, the attitude towards the tool-less production of finished goods, the mass production of customized parts and low volume ones, the freedom in engineering design, the possibility of building complex geometries impossible to obtain with other techniques, and of delivering finished goods from digital data cutting also the logistic costs and minimizing carbon footprint. Some other advantages are incarnated by the limited use of chemicals 7.1. INTRODUCTION 163 such as etching and cleaning solutions, the possibility to use recycled material and the opportunity to use the same technique with diverse materials (Akella [1]). Some costs that can decrease thanks to 3DP technology are identified in: waste generation as the one of subtractive machine is avoided and thus disposal and recycling costs; inventory costs are minimized because products can be printed on demand and there is no need of semi-finished products; labor time for designing and assembling multiple parts is avoided; less opportunity for human error since the production is driven by digital information; lastly set-up costs are minimized since many products can be produce without retooling (Bak, Beltrami and Bodin, Boding and Kursh, Campbell et al. [3, 6]). However, 3DP is not free from limits. Indeed, 3DP does not seem appropriate for the mass production since its main disadvantage is the required amount of production time. Another issue is the quality of the material, normally used materials are polymers that do not present the same good characteristics of materials traditional of subtracting manufacturing and are typically weaker, moreover parts produced on different machines can guarantee particular properties with respect to quality and performances. Furthermore, the layer-by-layer building process makes the parts weaker in the direction of the build (Campbell et al. [6]). 7.1.3 Contribution of this Chapter In the 3DP process there are, mainly, two aspects that can be optimized. The first one is about the quality of the printed object and it is related to the quality of the surface. We will consider some features in order to improve the quality of the surface, but to cover completely this point is not the aim of the chapter. The second aspect that can be optimized is related to the time of the print that can be minimized and that is strictly connected to the tool path. In this chapter we will account for this second aspect by focusing in minimizing the distance traveled by the nozzle during the 3DP process, and, indirectly, minimizing the time of the print. We will present a formal description of the problem derived from 3DP, a related literature review, and a mathematical model to represent the basic problem, which is a generalization of the well known Rural Postman Problem. To solve the problem we introduce some heuristic algorithms and we produce a collection of instances derived from three-dimensional objects on which we perform computational tests. Last but not least, we list a set of features and future research direction to be followed in the field that represents the intersection between optimization and 3DP. The chapter is organized as follows. In Section 7.2 we will define the class of the Rural Postman Problems and produce an exhaustive literature review. In Section 7.3 we define the problem we are presenting, while in Section 7.4 we give a formulation for the problem. In Section 7.5 we present 164 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS some heuristic algorithms to solve the problem and in Section 7.6 we show the computational results of the presented algorithms on a set of newly collected instances. 7.2 The Rural Postman Problems The problem of defining the tool path in a 3DP process is a generalization of the Rural Postman Problem (RPP), that is a particular version of the more general class of Arc Routing Problems (see, e.g., Corberán and Laporte [7]). The RPP is the problem of finding the minimum cost eulerian cycle that visits a set of arcs at least once, by using also a second set of arcs, if needed, where each arc is associated with a non-negative cost. The RPP represents a generalization of the Chinese Postman Problem (CPP), that is the problem of finding the minimum cost path that visits at least once all the arcs. The CPP can be solved in polynomial time, while the RPP (directed or undirected) is an NP-hard problem if the set of required arcs is not strongly connected (Laporte [27]). The RRP arises in many real-world situations such as the snow plowing (see, e.g., Haslam and Wright [24]), the garbage collection (see, e.g., Beltrami and Bodin [4]), the mail delivery (see, e.g, Levy [29]), the school bus routing (see, e.g, Angel et al. [2]), the meter reading (see, e.g., Stern and Dror [32]), and the street sweeping (see, e.g., Bodin and Kursh [5]). The interested reader can find other work related to these applications in Eiselt et al. [16]. More recent application of the RRP are referred to the control of plotting and drilling machines (see, e.g. Groetschel [22]) and to the optimization of laser-plotter beam movements (see, e.g. Ghiani and Improta [19]). Many polyhedral studies and exact algorithms, mostly cutting plane and branch-and-cut algorithm, have been proposed in the last years for the RRP and its generalizations. See, e.g., Corberán and Sanchis [12, 13], Laprte and Ghiani [21] (where they use a formulation with just 1/0 variables), Reinelt and Theis [31], and Fernández et al. [17] (where they use a completely different approach and formulation from the previous works). According to the survey redacted by Corberán and Prins [11], the largest RPP instances that have been solved to optimality are characterized by up to 1000 vertices, 3080 edges and 204 required components and are solved in about one hour in average on a standard PC by using the branch-and-cut described in Corberán et al. [10] for the Windy General Routing Problem (which contains the RPP). Probably, the most famous heuristic algorithm for the RPP is the one proposed by Frederikson [18], which is built on the well known heuristic for the TSP by Christofides, and, similarly, presents a worst case bound of 3/2. Hertz et al. [25] propose some improving techniques to be applied to the Frederickson algorithm and to a simply newly developed heuristic. Corberán 7.3. PROBLEM DESCRIPTION 165 et al. [9] present two heuristics approaches to solve the Mixed RPP where the problem is defined on a graph with edges and arcs and required components can be both edges or arcs. Groves and Vuuren [23] present an effective local search framework for the URRP based on local searches for the TSP. They solve heuristically very large instances with up to about 5000 vertices and 30000 edges. Ghiani et al. [20] propose a constructive heuristic for the Undirected RPP (URPP) with a local post-optimization. The procedure is competitive with the Frederickson one. Holmberg [26] proposes some heuristics for the RPP built on the Frederikson heuristic by changing the order of the components. The author includes also two post-processing heuristics to improve the solution. We report now a set of variants of the RPP that are interesting for 3DP. Dror and Langevin [15] introduced the Directed Clustered RPP and solved it by transforming the problem into a Generalized TSP. They separate the arcs in clusters that must be finished before stepping to another cluster. Letchford and Eglese [28] present the RPP with deadline classes, a RPP with time windows where the time windows have only a maximum time to be respected. They propose a formulation and a cutting plane algorithm. Corberán et al. [8] consider the mixed RPP with turn penalties. They associate a penalty to every turn and take into account also the existence of forbidden turns. The problem is to find the minimal tour avoiding forbidden tours and paying for turn penalties. The authors transform the problem into an ATSP and solve it by using exact and heuristic algorithms for the ATSP. Some relevant applications of the RPP are listed in the following. Ghiani and Improta [19] consider the problem of drawing and decorating metal surfaces by means of a laser plotter, that works as a 2D printer, minimizing the total length of the non-drawing moves. The so-called Laser-Plotter Beam Routing Problem is modeled as a RPP with additional constraints and solved transforming it into a RPP. By using the branch-and-cut presented in Ghiani and Laporte [21] istances with up to 225 vertices can be solved. Moreira et al. [30] describe the problem that arises when manufacturing high-precision tools. They intend to determine the shortest path for the cutting of given pieces. The problem is represented as a particular RPP where non-cutting movements are allowed only after the complete cut of a piece. Hence the problem is called Dynamic RPP and solved by means of a heuristic algorithm. 7.3 Problem Description We call 3D printing Routing Problem (3DRP) the generalization of the URPP that is related to the tool path definition in a 3DP process. In particular, the nozzle must start from its starting position and return to the same position when the print is terminated. In addition, the edges are set 166 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS into clusters to be visited in a sequence, that are represented by the layers of the print. On each layer the set of compulsory edges represents the set of edges on which the nozzle is required to depose material (the first time they are used), while the set of the optional edges represents the other edges. Because of the printed material, no layer can be started before terminating the previous one, and the nozzle cannot move back to previous layers. Then one and only one optional edge can be used to move from one layer to the next one and no edge between two non-subsequents layers is present. Lastly, only optional edges are present between two layers. We will formalize the 3DRP in Section 7.4. The 3DRP represents the basic problem of optimizing the tool path of a 3DP process. In the following we are focusing on the basic problem, but some additional characteristics can arise across the 3DP process: we will list them in Section 7.7. 7.4 The 3D Printing Routing Problem In this section we define the sets and parameters used to formulate the 3DRP. The problem is defined on an undirected graph G = (V, E), where V is the set of vertices and E is the set of edges. Moreover, it is defined a subset R ⊆ E of edges that must be visited at least once. In our case these edges are the compulsory edges, where the material is extruded (printed) the first time they are used. On the other hand E \ R represents the set of optional edges. Let us define layer as a set of vertices characterized by the same altitude. We call L the set of all layers where a layer Lh ∈ L is one layer of print, |L| L = ∪h=1 Lh , and Lh ∩ Lk = ∅, h 6= k, Lh , Lk ∈ L. The graph G is clustered in several subgraphs induced by the layers plus the starting and ending point of print, 0, and all the edges connecting these components. Thus, V = L ∪ {0}. Finally, let us define the variable xij that models the number of time the edge (i, j) ∈ E \ R is traveled, and the number of times the edge (i, j) ∈ R is traveled in addition to the first time. We define cij as the shortest distance between the vertices i and j, (i, j) ∈ E. Hence, the 3DRP aims at minimizing the path of the nozzle starting from vertex 0, traveling all the compulsory edges at least once, respecting the order of the layers, and returning to the vertex 0. In the following we present the formulation for the basic problem: min X (i,j)∈R X X cij (1 + xij ) + (1 + xij ) + j∈R:j>i cij xij (i,j)∈E\R X (1 + xji )+ j∈R:j<i (7.1) 167 7.5. HEURISTIC ALGORITHMS X xij + j∈V :j>i X + X xji = 2z i∈V (7.2) j∈V :j<i X (1 + xij ) + (i,j)∈R:i∈S,j∈S̄,j>i X (1 + xij )+ (i,j)∈R:i∈S,j∈S̄,j<i xij + X xij ≥ 1 (i,j)∈E\R:i∈S,j∈S̄,j>i (i,j)∈E\R:i∈S,j∈S̄,j>i (S ⊆ Lh , S̄ = Lh+1 ∪ Lh \ S, Lh ⊆ L \ L|L| ) ∨ (S ⊆ L|L| , S̄ = {0} ∪ L|L| \ S) X (7.3) x0j = 1 (7.4) xj0 = 1 (7.5) j∈L1 X j∈L|L| X xij = 1 Lh ⊆ L \ L|L| (7.6) xij ≥ 0 (i, j) ∈ E (7.7) (i,j):i∈Lh ,j∈Lh+1 z≥0 (7.8) The objective function aims at minimizing the total costs, i.e. distances, counting also the compulsory edges. Constraint (7.2) states that the number of edges incident a vertex are even or zero. In (7.3) we impose the connectivity of the solution. Constraints (7.4) and (7.5) state that one and only one edge must leave and return to the depot. Constraint (7.6) imposes that one and only one edge can be used between one layer and the next one. The non-negativity of the variables is imposed in constraints (7.7) and (7.8). 7.5 Heuristic Algorithms The 3DP process, when printing real objects, involves from thousands to millions of edges to be printed and traveled by the nozzle. Thus, real 3DRP instances result impossible to be solve exactly, because of the huge number of variables and constraints needed. For this reason we developed four heuristic algorithms to solve the 3DRP. To do so, we organized the input in couples of vertices that defines the edges to be traveled and printed on each layer (the set R), named as compulsory edges. The optional edges (E \ R) and the compulsory edges used more than once are the non-printing edges, and are computed and inserted just when needed during the construction of the solution. The input is obtained by analyzing the g-codes created by Cura 168 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS [33], one of the most advanced 3DP software. 7.5.1 Closest 3DP The first algorithm we present to solve the 3DRP is called Closest 3DP algorithm. It starts from vertex 0 and moves from one edge to the closest unused compulsory edge (we enter in the edge by the closest vertex with respect to the current one and then we travel the edge to arrive in its second vertex, which will be the new current vertex). If the second vertex of the current edge is also the first vertex of the next edge, we link them directly, otherwise we insert a non-printing edge. When the compulsory edges of the current layer have been used at least once, the algorithm moves to the next layer by using the cheapest edge. We repeat this until the last layer is completed, then the last visited vertex is connected to vertex 0 to end the algorithm. 7.5.2 Clustered 3DP Before explaining the second algorithm presented, we specify that each layer is divided in different subpolygons and each subpolygon can be formed, at most, by three clusters of compulsory edges: the outer part (the border of the subpolygon), the inner part (that follows the outer part internally, to strengthen the structure), and the filling part (that represents the edges used to fill the subpolygon), see e.g., Figure 7.2. The second algorithm we present is called Clustered 3DP algorithm, follows a similar idea with respect to the Closest algorithm, and makes use of the different clusters. The algorithm selects a cluster on a layer (choosing among outer, inner, and filling) and travels all the edges of the cluster, before going to another cluster. The algorithm starts from vertex 0 and selects the closest vertex of the compulsory edges on layer L1 . This action not only defines the next edge, but also the first cluster among inner, outer, and filling to be completed before moving to the next one. When the current cluster is completed, the algorithm moves to the closest vertex, which defines the next edge and the next cluster. The algorithm continues until all clusters of the current layer are completed and then the closest vertex of the next layer is chosen. When the last layer is completed we travel back to Figure 7.2: An example of polygon with outer, inner, and filling parts. 7.5. HEURISTIC ALGORITHMS 169 vertex 0 and the algorithm terminates. 7.5.3 Look Ahead 3DP The third algorithm we use to solve the 3DRP is called Look Ahead 3DP, whose name is inspired by the fact that it makes use of heuristic information on the future possible decisions. The algorithm starts from vertex 0 and it then selects the three closest vertices among those of the compulsory edges of layer L1 . A particular cost is then computed by running the Closest 3DP algorithm from each of the three vertices till the end of the layer. The cost is computed as follows: we sum up the traveling cost of the non-printing edges needed to terminate the layer by the Closest 3DP, the vertex of the three selected ones that furnishes with the cheapest cost is used. This process is iterated until all the compulsory edges of the current layer are used at least once. We then use the cheapest edge to move to the next layer and repeat the procedure until the last layer. To conclude the algorithm we move back to the vertex 0. 7.5.4 Shortest Path Based 3DP The forth algorithm that we are presenting is called Shortest Path Based 3DP. This algorithm is divided into two phases, the first one builds a supporting graph to be used in the second phase. The second phase computes the Dijkstra algorithm (see, e.g., Dijkstra [14]) on the newly built supporting graph to obtain a solution for the 3DRP. In the following we will describe the two phases more precisely. Phase one. In this phase we define the supporting graph G0 = (V 0 , E 0 ), where V 0 ⊆ V is the set of vertices called starting points and E 0 the set of edges that we describe in the following. For each layer we select a random set of vertices among those of the compulsory edges (R), called starting vertices, from which we can start the layer. Starting from the starting vertices we terminate the layer as if using the Closest 3DP algorithm. For each starting vertex we will end up in one and only one vertex that we call ending vertex. The distance between a starting vertex and its ending vertex is the cost computed by the Closest 3DP algorithm. We now compute the distance between the ending vertices of one layer and the starting vertices of the next layer. At this point we obtain an edge going from each starting vertex of one layer to each starting vertex of the next layer, that define E 0 . We call c0ij the cost of each edge of E 0 as the sum of the costs derived by the Closest 3DP algorithm and the distance between the corresponding ending vertex and the starting one of the next layer. The starting vertices of the first layer are linked to the vertex 0 and a cost c00j , j ∈ L1 is associated to them. The ending vertices of the last layer are linked to the vertex 0’, that has the same coordinates of vertex 0, and a cost c0j0 , j ∈ L|L| is associated to them. The 170 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS costs c0ij , (i, j) ∈ V 0 give the weight of the edges of the supporting graph G0 . Phase two. In the second phase, we compute the shortest path form 0 to 0’ on the supporting graph G0 . This leads to a feasible solution for the 3DRP. We tested the Shortest Path Based 3DP algorithm by selecting the number of starting vertices in two ways, in the first one we decide a fixed number between 10, 20, 30, 40, 50, 60, and 100 (or the cardinality if the layer, if exceeded), while in the second case we use the maximum value between 1 and a percentage of the vertices of each layer (1%, 2%, 5%, 10%, 15%, 20%, 25%). 7.6 7.6.1 Computational Results Instances We collected 30 instances on the Internet from a design community for 3DP called thingiverse.com. In Table 7.1 we report the name of the instance in the first column. For each instance is specified |L|, the number of layers, |P|, the number of polygons, and the ratio P between them. We then report the total distance of the compulsory edges ( (i,j)∈R cij ) and the cardinality of the set of compulsory edges (|R|). 7.6.2 Results The collected instances have been processed with one of the most famous software used for slicing polygonal meshes and for path definition, Cura [33]. We used the collected instances as input for Cura that takes the polygonal meshes of the instances, slice them, and defines a path of the nozzle in a code called gcode. The gcode represents, for each instance, a heuristic solution for the related 3DRP in a language that the 3D printer can understand. By processing the obtained gcode we can obtain the set of layers, the set of compulsory edges to be printed, the corresponding vertices and their coordinates. These informations define the data that we used as instances for our algorithms. Let us call Γ the cost of the non-printing edges used in a given solution for the 3DRP. Let us call ∆Γ the difference between the cost of the non-printing edges used by the solution defined by Cura and the cost of the non-printing edges used by the solution obtained thanks to one of our algorithms. Let %gapΓ be the percentage gap between them. In the following tables presenting the results of the proposed algorithms we show the name of the instance, the corresponding ∆Γ and %gapΓ , the percentage gap (%gap) between the Cura solution value and the the solution value obtained by our algorithm, and the time needed to our algorithm to terminate. All tests have been performed on a on a Intel Core i3-2100 with 3.10 GHZ. 171 7.6. COMPUTATIONAL RESULTS Instance |L| |P| |P|/|L| 30grams angel block 4x4 brickb bunny chamfer Cityscape gear b geoboard hilbert2 Hilton Chicago ingranaggio miwin1 orso bis pesce bis polysoup portab portaingr RFin RostockBottom RostockTop Rpenta RShowerHead tardisflat2 tetra trail wbuilding wine fixed wine1 WitchCastle 219 153 37 332 41 20 342 85 82 99 73 39 132 52 52 3 32 51 188 44 50 369 274 170 160 125 100 39 39 112 222 663 112 422 151 147 1814 371 1642 2203 73 51 396 52 193 6 32 106 248 208 213 1555 580 170 160 425 211 59 39 265 1.01 4.33 3.03 1.27 3.68 7.35 5.30 4.36 20.02 22.25 1.00 1.31 3.00 1.00 3.71 2.00 1.00 2.08 1.32 4.73 4.26 4.21 2.12 1.00 1.00 3.40 2.11 1.51 1.00 2.37 P (i,j)∈R cij |R| 91016.609 1052191.750 32929.641 2851998.700 38896.449 71653.297 1907842.250 22001.822 291901.188 55116.855 22304.736 64690.348 610945.625 73459.617 139978.297 3186.609 197571.750 106148.930 54926.410 117799.625 87387.406 1039104.563 513838.531 100367.148 98250.273 1304639.625 11281.513 93598.977 147826.547 48852.797 8693 353671 28694 107355 21333 12700 488409 19275 52244 26703 7179 52569 130267 35772 65262 3018 47293 69664 35898 18120 21132 433954 146602 24695 20839 268372 3364 20276 19145 56334 Table 7.1: Instances Description 172 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS In Table 7.2 we report the results of the Closest 3DP algorithm comparing them with the results obtained by Cura. One can observe that we can improve the solution value for 28 out of 30 instances improving of 5.60% the gaps in average. We can obtain an improvement of 27.79% in the bast case. If we focus on the Γ value we can see that the improvement is in average of 22.91%. Also the average solving time is very promising being lower than one second. In Table 7.3 the results for the Clustered 3DP algorithm are shown. In this case we can improve the solution value with respect to the Cura one for 27 out of 30 instances. We can obtain an improvement of 3.02% in average in solving times that are about half a second, in average. In Table 7.4 we show the results for the Look Ahead 3DP algorithm on the collected set of instances. In this case the solution value is improved for every instance with respect to the Cura solution value. In particular, we can improve it of 8.06% in average. If we just consider the non-printing edges we can notice an improvement of 36.73%. To reach these results the Look Ahead 3DP algorithm needs to run for about 39 minutes, in average, which is a relevant solving time if compared with the previously proposed algorithms. These very good solutions have a payback in solving times. In Table 7.5 and Table 7.6 the average results for the Shortest Path Based algorithms are shown. In particular, in Table 7.5 we report the results for the Shortest Path Based 3DP algorithm, where the number of starting vertices for each layer is fixed to 10, 20, 30, 50, 60, and 100. In Table 7.6 we present the results for the Shortest Path Based 3DP algorithm where the starting vertices are fixed with respect to a percentage of the vertices of each layer. The starting vertices are set to 1%, 2%, 5%, 10%, 15%, 20%, and 25% of the vertices of each layer. One can see that for both types of the Shortest Path Based 3DP algorithm the average gap between the solution value of our algorithm and the one obtained by Cura increases with the number of starting vertices explored. The gap is proportional also to the solving times. The Shortest Path Based 3DP algorithm with fixed numbers of starting vertices can reach a 6.40% gap in average in the best case, that is represented by the starting vertices set to 100. This value is obtained in about 80 seconds. One can see that this version works similarly to the version with percentage starting vertices when evaluating the average gaps, but need consistently more seconds to terminate. The algorithm among the presented ones that shows the best results in terms of improvement of the solution value, compared to the Cura solution value, is the Look Ahead 3DP algorithm. On the other hand the Look Ahead 3DP algorithm needs higher solving times with respect to the other presented algorithms. The Shortest Path Based 3DP algorithm furnishes, in its two versions, with good results in acceptable solving times. Similar gap values can be obtained by the Closest 3DP algorithm showing very small computing times. 173 7.6. COMPUTATIONAL RESULTS Closest Inst. 30grams angel block 4x4 brickb bunny chambler Cityscape gear b geoboard hilbert2 Hilton Chicago ingranaggio miwin1 orso bis pesce bis polysoup portab portaingr Rfin RostockBottom RostockTop Rpenta RShowerHead tardisflat2 tetra trail wbuilding wine fixed wine1 WitchCastle Avg. ∆Γ %gapΓ %gap t(sec) 661.348 14905.000 6208.443 -1326.547 1278.109 373.906 29226.813 237.855 2005.250 1749.555 1099.865 3669.916 12697.398 25021.842 49553.654 1453.121 4651.479 1825.557 970.316 8677.307 5156.719 58169.266 34814.063 9363.699 -630.948 118281.531 75.671 11248.256 11980.223 3353.075 5.66 10.12 40.68 -1.00 16.88 3.17 9.95 3.86 3.93 11.71 18.09 22.22 13.26 60.24 64.16 71.14 13.53 10.54 10.32 31.54 23.36 28.52 24.85 39.63 -4.81 48.29 2.86 38.03 40.19 26.33 0.64 1.24 12.88 -0.04 2.75 0.45 1.33 0.84 0.59 2.50 3.88 4.52 1.80 21.76 22.81 27.79 2.01 1.48 1.51 5.97 4.71 4.68 5.32 7.55 -0.57 7.63 0.54 9.13 6.74 5.44 0.001 6.672 0.140 0.594 0.079 0.094 7.438 0.032 0.281 0.031 0.001 0.422 1.109 0.157 0.531 0.016 0.437 0.922 0.047 0.125 0.172 3.125 0.515 0.031 0.031 4.188 0.001 0.093 0.079 0.219 13891.725 22.91 5.60 0.919 Table 7.2: Results of the Closest algorithm on test instances. 174 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS Clustered Inst. 30grams angel block 4x4 brickb bunny chambler Cityscape gear b geoboard hilbert2 Hilton Chicago ingranaggio miwin1 orso bis pesce bis polysoup portab portaingr Rfin RostockBottom RostockTop Rpenta RShowerHead tardisflat2 tetra trail wbuilding wine fixed wine1 WitchCastle Avg. ∆Γ %gapΓ %gap t(sec) 331.556 12535.188 3031.178 -1362.438 732.775 -368.381 14744.344 443.250 1475.285 1749.555 868.675 716.305 860.414 15855.703 24295.828 893.126 4127.695 1311.128 39.749 3831.223 2383.146 38163.313 24379.523 2159.188 -116.673 112033.766 32.005 3796.424 474.381 2227.283 2.84 8.51 19.86 -1.03 9.68 -3.12 5.02 7.19 2.89 11.71 14.28 4.34 0.90 38.17 31.46 43.72 12.01 7.57 0.42 13.92 10.80 18.71 17.41 9.14 -0.89 45.74 1.21 12.84 1.59 17.49 0.32 1.05 6.29 -0.05 1.58 -0.44 0.67 1.57 0.43 2.50 3.06 0.88 0.12 13.79 11.19 17.08 1.78 1.06 0.06 2.64 2.18 3.07 3.73 1.74 -0.11 7.23 0.23 3.08 0.27 3.62 0.000 3.563 0.094 0.469 0.047 0.063 3.641 0.032 0.235 0.078 0.000 0.328 0.578 0.109 0.359 0.016 0.453 0.485 0.032 0.141 0.125 2.047 0.453 0.031 0.031 2.765 0.016 0.063 0.063 0.172 9054.817 12.15 3.02 0.550 Table 7.3: Results of the Clustered algorithm on test instances. 175 7.6. COMPUTATIONAL RESULTS Look Ahead Inst. 30grams angel block 4x4 brickb bunny chambler Cityscape gear b geoboard hilbert2 Hilton Chicago ingranaggio miwin1 orso bis pesce bis polysoup portab portaingr Rfin RostockBottom RostockTop Rpenta RShowerHead tardisflat2 tetra trail wbuilding wine fixed wine1 WitchCastle Avg. ∆Γ %gapΓ %gap t(sec) 2031.766 42756.773 7429.931 16783.938 2365.691 1818.251 89875.047 879.607 7729.773 3211.244 1836.877 6060.851 30848.766 30510.017 54757.037 1594.556 11027.746 5104.657 2859.243 12860.236 8104.199 94428.086 56995.102 11276.629 2179.606 145659.258 441.532 14227.692 15236.461 5396.093 17.38 29.02 48.68 12.67 31.25 15.39 30.59 14.26 15.14 21.50 30.21 36.70 32.22 73.46 70.89 78.06 32.08 29.48 30.41 46.74 36.72 46.30 40.69 47.73 16.62 59.47 16.70 48.10 51.12 42.37 1.98 3.56 15.42 0.56 5.09 2.18 4.08 3.12 2.25 4.58 6.47 7.46 4.37 26.53 25.21 30.49 4.75 4.13 4.45 8.85 7.40 7.60 8.72 9.10 1.96 9.40 3.17 11.55 8.58 8.76 0.31 22664.21 122.82 765.48 45.67 77.05 17105.26 10.42 303.95 13.39 1.06 758.60 1645.93 131.84 1012.54 21.67 1208.38 3032.91 17.16 128.41 369.54 5144.17 472.31 6.00 6.94 14259.08 0.08 62.18 46.33 187.03 22876.222 36.73 8.06 2320.690 Table 7.4: Results of the Look Ahead algorithm on test instances. 176 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS Shortest Path Based 10 20 30 40 50 60 100 ∆Γ %gapΓ %gap t(sec) 14284.276 15050.768 15442.301 15614.103 15752.656 15874.853 16086.931 23.50 25.20 26.04 26.43 26.63 26.89 27.38 5.70 6.01 6.15 6.22 6.26 6.31 6.40 8.593 16.320 24.157 31.846 39.831 47.505 80.940 Table 7.5: Average results of the shortest path based algorithm on the test instances. Shortest Path Based 1% 2% 5% 10% 15% 20% 25% ∆Γ %gapΓ %gap t(sec) 13515.840 14628.480 15553.952 16012.425 16161.026 16253.602 16295.172 18.54 21.10 24.02 25.70 26.29 26.59 27.00 4.87 5.31 5.82 6.11 6.21 6.27 6.34 24.958 48.743 118.131 181.531 200.250 208.474 212.810 Table 7.6: Average results of the shortest path based algorithm on the test instances. 7.7. CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS 7.7 177 Conclusions and Future Research Directions In this chapter we solved a generalization of the RPP related to the definition of the tool path in a 3DP process, called 3DRP. We provided a collection of instances for the 3DRP that are solved with four different types of heuristic algorithms we proposed and compared with one of the most famous software of path definition available, Cura [33]. We obtained very good results improving the Cura solution values from about 3% to about 8% with our algorithms in very promising solving times. The verision of the 3DRP we solved is what we called the basic problem of the 3DRP, but many other secondary features can be considered, starting from features to account for an improvement of the quality of the surface. In the following we report an overview of these features divided by topic. Quality constraints. The 3DP process can produce some blemish on the external surface of the product we intend to print. Indeed, when traveling the optional edges after ejecting material, the nozzle can eject some leftovers and ruin the quality of the external surface. To avoid it we could consider additional constraints. 1. Second level of clusterization: Subpolygons. Several separated polygons, called subpolygons, can be present on the same layer. Subpolygons produces a second level of clusterization. To define a tool path that follows the second level of clusterization is not strictly required as for the first level of clusterization (layers), but it can be considered in order to improve the quality of the external surface. Indeed, moving from one polygon to the other it can lead to some blemish on the external surface, because of the characteristics of the materials (normally heated plastic). Then, we can impose to complete a polygon before stepping to the next one, by taking one and only one optional arc between a subpolygon to another, on the same layer. 2. Corner. To preserve the quality of the surface from the blemishes, we can consider not only to leave the polygon just once, but also to impose the nozzle to pass only through a vertex of the Outer part of the same subpolygon, called corner, in order to avoid the intersection of the tool path and the surface when this has already been built. Doing this we will leave the majority of the blemishes on a corner and make it easier to remove them after the print. 3. Temperature. The 3DP process includes the melting of the material before extruding it from the nozzle. After being melt, the material conserves a high temperature for a certain amount of time. This means that we cannot extrude some new material on the top of the previous layer until the temperature of the material of the former layer is not 178 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS under a certain value, otherwise some flaw or bending can be produced. Considering that layers are overlapped, some edges of a layer cannot be completed before the underlying edge (of the previous layer) had the time to cool down. In order to cool down the temperature of some edges, the speed of the fan can also be considered as a variable. 4. First vertex of a layer. When moving from a non-printing edge to a printing one a small excess of material can be extruded. This can lead to an accumulation of unwilled material on the surface, especially when the first vertex of a layer has the similar x-y coordinates with respect to the first vertices of the previous layers. To avoid this, we can impose that the first vertex of a layer must have different coordinates if compared to the first vertex of the previous layer. Indeed, the same line of reasoning can be used when starting overlappingsubpolygons on different layers, and not just the first vertex. Costs. In the basic version of the 3DRP, we consider the cost of the edges as the geometric distance between two vertices and the time to travel the edge as directly linear to the distance. Considering a higher level of detail, we can observe that the time of traveling an edge is not necessarily linear and that it can depend on an acceleration at first, a constant speed in the middle, and a deceleration of the nozzle at the end when traveling the edge. Moreover, the deceleration can depend on the angle between the current edge and the following one visited and the acceleration can depend on the angle between the current edge and the previous one. This can lead to different options. Taking into account the acceleration and deceleration needed to obtain the maximum possible speed on a given edge, we can recompute the cost of each edge starting from the distance. If we considering the angles between the previous and following edges, then the problem must be considered as a directed one. Other possibilities can include non-linear distances between the vertices or considering the speed of the nozzle as a variable. Other Features. 1. Layers with different thickness. Sometimes, to deal with structural problems or just to avoid to obtain a texture too subtle inside the printed object, we can print some parts of the same layer with a different thickness. Two different thicknesses must be related (one must be a multiple of the other). 2. Supporting material. Some 3D objects can have undercuts, thus a supporting material is needed when printing. In order to minimize the supporting material, the positioning of the object can be a variable to account for. 7.7. CONCLUSIONS AND FUTURE RESEARCH DIRECTIONS 179 3. Filling. In this work we consider the filling part of a certain polygon as an input, but to decide the filling, in terms of distances between the edges of the filling, their direction, and even a particular pattern can change the optimization of the print or be part of it. 4. Colors. Some printing objects can have different set of materials and/or colors to be used. Indeed we can see the supporting material part of this case. When printing an object made of different colors or materials we can decide to print first the polygons of one material and then the others by deciding a sequence. Otherwise, we can decide to mix the use of colors to make the printing time shorter. Then the number of nozzles becomes relevant: if we have more materials than nozzle we must consider the time spent in changing material and going back to the vertex 0 to clean the nozzle, otherwise we must consider the distance between the nozzle of one color and the others. All these features have a strong impact on the speed of the print and on the quality of the surface, both very important characteristics in 3DP. We are convinced that they will be the focus of many future research works. 180 CHAPTER 7. OPTIMIZING THE 3D PRINTING PROCESS Bibliography [1] S. Akella. Hot off the press: The technology behind 3d printing. Professor Scarlatos HON 301, 2012. [2] R. D. Angel, W. L. Caudle, R. Noonan, and A. Whinston. Computerassisted school bus scheduling. Management Science, 18:B279–B288, 1972. [3] D. Bak. Rapid prototyping or rapid production? 3d printing processes move industry towards the latter. Assembly Automation, 23:340–345, 2003. [4] E. J. Beltrami and L. D. Bodin. Networks and vehicle routing for municipal waste collection. Networks, 4:65–94, 1974. [5] L. D. Bodin and S. J. Kursh. A computer-assisted system for the routing and scheduling of street sweepers. Operations Research, 26:525–537, 1978. [6] T. Campbell, C. Williams, O. Ivanova, and B. Garrett. Could 3d printing change the world? Technologies, Potential, and Implications of Additive Manufacturing. Washington, DC: Atlantic Council, 2011. [7] Á. Corberán and G. Laporte. Arc Routing: Problems, Methods, and Applications. SIAM, 2014. [8] Á. Corberán, R. Martı́, E. Martı́nez, and D. Soler. The rural postman problem on mixed graphs with turn penalties. Computers & Operations Research, 29:887–903, 2002. [9] Á. Corberán, R. Martı́, and A. Romero. Heuristics for the mixed rural postman problem. Computers & Operations Research, 27:183–203, 2000. [10] Á. Corberán, I. Plana, and J. M. Sanchis. A branch & cut algorithm for the windy general routing problem and special cases. Networks, 49:245–257, 2007. 181 182 BIBLIOGRAPHY [11] Á. Corberán and C. Prins. Recent results on arc routing problems: An annotated bibliography. Networks, 56:50–69, 2010. [12] Á. Corberán and J. M. Sanchis. A polyhedral approach to the rural postman problem. European Journal of Operational Research, 79:95– 114, 1994. [13] Á. Corberán and J. M. Sanchis. The general routing problem polyhedron: facets from the rpp and gtsp polyhedra. European Journal of Operational Research, 108:538–550, 1998. [14] E. W. Dijkstra. A note on two problems in connexion with graphs. Numerische mathematik, 1:269–271, 1959. [15] M. Dror and A. Langevin. A generalized traveling salesman problem approach to the directed clustered rural postman problem. Transportation Science, 31:187–192, 1997. [16] H. A. Eiselt, M. Gendreau, and G. Laporte. Arc routing problems, part ii: The rural postman problem. Operations Research, 43:399–414, 1995. [17] E. Fernández, O. Meza, R. Garfinkel, and M. Ortega. On the undirected rural postman problem: Tight bounds based on a new formulation. Operations Research, 51:281–291, 2003. [18] G. N. Frederickson. Approximation algorithms for some postman problems. Journal of the ACM (JACM), 26:538–554, 1979. [19] G. Ghiani and G. Improta. The laser-plotter beam routing problem. Journal of the Operational Research Society, 52:945–951, 2001. [20] G. Ghiani, D. Laganà, and R. Musmanno. A constructive heuristic for the undirected rural postman problem. Computers & operations research, 33:3450–3457, 2006. [21] G. Ghiani and G. Laporte. A branch-and-cut algorithm for the undirected rural postman problem. Mathematical Programming, 87:467–481, 2000. [22] M. Grötschel, M. Jünger, and G. Reinelt. Optimal control of plotting and drilling machines: a case study. Mathematical Methods of Operations Research, 35:61–84, 1991. [23] G. W. Groves and J. H. Van Vuuren. Efficient heuristics for the rural postman problem. ORiON: The Journal of ORSSA, 21:33–51, 2005. [24] E. Haslam and J. R. Wright. Application of routing technologies to rural snow and ice control. Transportation Research Record, 1304, 1991. BIBLIOGRAPHY 183 [25] A. Hertz, G. Laporte, and P. N. Hugo. Improvement procedures for the undirected rural postman problem. INFORMS Journal on Computing, 11:53–62, 1999. [26] K. Holmberg. Heuristics for the rural postman problem. Computers & Operations Research, 37:981–990, 2010. [27] G. Laporte. Modeling and solving several classes of arc routing problems as traveling salesman problems. Computers & operations research, 24:1057–1061, 1997. [28] A. N. Letchford and R. W. Eglese. The rural postman problem with deadline classes. European Journal of Operational Research, 105:390– 400, 1998. [29] L. S. Levy. The walking line of travel problem: An application of arc routing and partitioning. PhD thesis, University of Maryland, College Park, 1987. [30] L. M. Moreira, J. F. Oliveira, A. M. Gomes, and J. S. Ferreira. Heuristics for a dynamic rural postman problem. Computers & operations research, 34:3281–3294, 2007. [31] G. Reinelt and D. O. Theis. A note on the undirected rural postman problem polytope. Mathematical programming, 106:447–452, 2006. [32] H. I. Stern and M. Dror. Routing electric meter readers. Computers & Operations Research, 6:209–223, 1979. [33] Ultimaker. “Cura Software”. https://ultimaker.com/en/products/ software. 184 BIBLIOGRAPHY Conclusions In this PhD thesis we tackled severl real-world logistics and routing problems. In Part II we considered a tactical problem that arises in bike sharing systems, the Bike sharing Rebalancing Problem (BRP). The BRP is the problem of driving a fleet of capacitated vehicles to redistribute bicycles in bike sharing systems at minimum costs. In Chapter 2 we defined the BRP and modeled it proposing four formulations and several inequalities to be embedded in branch-and-cut algorithms. We evaluated the formulations on a test bed of 60 newly collected real-world instances with up to 116 vertices. The best formulation could efficiently solve to optimality all instances with up to 50 vertices, and obtain small gaps for the larger instances in about 20 minutes. In Chapter 3 we proposed a destroy and repair algorithm to solve the BRP, including a new constructive heuristic and a set of local searches made more efficient by dedicated speed-up techniques. We collected new real-world instances with up to more than 500 vertices. With our metaheuristic algorithm we could obtain all the optimal solutions obtained thanks to the previously presented branch-and-cut in very short times and reach very good solutions for the large instances. In the same chapter we also solve the generalization of the BRP where a maximum duration constraint is imposed to each route, the so-called one-commodity Pickup and Delivery Vehicle Routing Problem (1-PDVRP). We adapted both the branch-andcut, including new inequalities, and the metaheuristic algorithms developed for the BRP to solve the 1-PDVRP. To test our algorithms for the 1-PDVRP we used literature instances. For the smaller instances an optimal value has been found for the first time with our branch-and-cut and the adaptation of the destroy and repair algorithm to solve the 1-PDVRP could improve the solution values of about 12% in average with respect to literature results. In Chapter 4 we defined the BRP with stochastic demand. We proposed some stochastic programming formulations and solved them by means of L-Shaped and branch-and-cut algorithms. We compared the different formulations on real-world newly collected instances. All instances with up to 30 vertices have been solved to optimality in short computing times. We also developed two heuristics algorithms to solve the SBRP. Those algorithms include a novel consideration on positive and negative correlations between the vertices. In Part III we solved earthwork optimization problems 185 186 BIBLIOGRAPHY considering some new features for the first time. In Chapter 5 we propose a novel two-phase approach to solve the earthwork optimization problem that arises in highway construction. In particular we developed this new method and the Decision Support System (DSS) presented in Chapter {ch:II2 thanks to the collaboration with one of the major construction companies in Europe (Strabag AG) for the construction of the Autostrada Pedemontana Lombarda, a highway in Northern Italy. The DSS includes the optimization part and the graphical component to ease the decision making. The DSS is currently in use at Strabag AG, being an easy-to-use, efficient tool suitable for solving several real-world construction logistics problems. In Part IV we summarized the 3D printing process, its advantages and disadvantage. We focused on the problems that arise in the 3D printing process, giving a list of possible optimization issues and constraints. We then concentrated in solving the generalization of the arc routing problem related to the definition of the tool path in 3D printing, that we called the 3D printing Routing Problem (3DRP). We proposed an ILP model and four heuristic algorithms. We tested the proposed algorithms on a set of 30 instances and compared the results with respect to those obtained by one of the most famous available software for the tool path definition: Cura. We could improve the solution values, in average, between about 3% to about 8%, in average, within good computing times.

Download PDF

advertisement