ABSTRACT Title of dissertation: STABILIZING COLUMN GENERATION VIA DUAL OPTIMAL INEQUALITIES WITH APPLICATIONS IN LOGISTICS AND ROBOTICS Naveed Haghani Doctor of Philosophy, 2020 Dissertation directed by: Professor Radu Balan Department of Mathematics Center for Scientific Computing and Mathematical Modeling This work addresses the challenge of stabilizing column generation (CG) via dual optimal inequalities (DOI). We present two novel classes of DOI for the general context of set cover problems. We refer to these as Smooth DOI (S-DOI) and Flexible DOI (F-DOI). S-DOI can be interpreted as allowing for the undercovering of items at the cost of overcovering others and incurring an objective penalty. S- DOI leverage the fact that dual values associated with items should change smoothly over space. F-DOI can be interpreted as offering primal objective rewards for the overcovering of items. We combine these DOI to produce a joint class of DOI called Smooth-Flexible DOI (SF-DOI). We apply these DOI to three classical problems in logistics and operations research: the Single Source Capacitated Facility Location Problem, the Capacitated p-Median Problem, and the Capacitated Vehicle Routing Problem. We prove that these DOI are valid and are guaranteed to not alter the optimal solution of CG. We also present techniques for their use in the case of solving CG with relaxed column restrictions. This work also introduces a CG approach to Multi-Robot Routing (MRR). MRR considers the problem of routing a fleet of robots in a warehouse to collec- tively complete a set of tasks while prohibiting collisions. We present two distinct formulations that tackle unique problem variants. The first we model as a set pack- ing problem, while the second we model as a set cover problem. We show that the pricing problem for both approaches amounts to an elementary resource constrained shortest path problem (ERCSPP); an NP-hard problem commonly studied in other CG problem contexts. We present an efficient implementation of our CG approach that radically reduces the state size of the ERCSPP. Finally, we present a novel heuristic algorithm for solving the ERCSPP and offer probabilistic guarantees for its likelihood to deliver the optimal solution. STABILIZING COLUMN GENERATION VIA DUAL OPTIMAL INEQUALITIES WITH APPLICATIONS IN LOGISTICS AND ROBOTICS by Naveed Haghani Dissertation submitted to the Faculty of the Graduate School of the University of Maryland, College Park in partial fulfillment of the requirements for the degree of Doctor of Philosophy 2020 Advisory Committee: Professor Radu Balan, Chair/Advisor Professor S. Raghavan Professor Shapour Azarm (Dean?s Representative) Professor Cinzia Cirillo Professor Ilya Ryzhov ? Copyright by Naveed Haghani 2020 Acknowledgments I would like to thank and acknowledge those who have made this work possible. First, I would like to thank my advisor Dr. Radu Balan who has been an invaluable asset to me over the course of my studies. I have learned a lot from him and I thank him for his support and guidance throughout my graduate studies. I would also like to thank my other committee members: Dr. S. Raghavan, Dr. Shapour Azarm, Dr. Cinzia Cirillo, and Dr. Ilya Ryzhov. I appreciate their participation in the examination committee and for their comments and suggestions that improved this dissertation. I would also like to thank Dr. Sven Koenig and Jiaoyang Li who were very helpful in the process of producing this work. I thank them for their assistance, which I very much appreciate. I would like to thank Dr. Claudio Contardo. Dr. Contardo has been a great educational resource in my studies on optimization and has offered me a lot of assistance. He has taught me a considerable amount and has been a real pleasure to work with throughout. Finally, I would like to thank Dr. Julian Yarkony. Dr. Yarkony has put in a great deal of effort instructing me on the subject of column generation. He has offered excellent guidance and I am very grateful for all the effort he has put in to assist me through the research process. ii Table of Contents Acknowledgements ii Table of Contents iii List of Tables vi List of Figures vii List of Abbreviations viii 1 Introduction 1 1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Background 8 2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2 Column Generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 Lower bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4 Review of Stabilization Techniques . . . . . . . . . . . . . . . . . . . 16 2.4.1 Trust Region Methods . . . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Interior point methods . . . . . . . . . . . . . . . . . . . . . . 17 2.4.3 Smoothing methods . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.4 Dual Optimal Inequalities . . . . . . . . . . . . . . . . . . . . 19 3 Smooth and Flexible Dual Optimal Inequalities 21 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Smooth DOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Flexible DOI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.3.1 The General Case . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3.2 The Efficient Implementation . . . . . . . . . . . . . . . . . . 28 3.4 Smooth-Flexible DOI . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.5 Efficient pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.6.1 The Single Source Capacitated Facility Location Problem . . . 33 3.6.1.1 SSCFLP pricing . . . . . . . . . . . . . . . . . . . . 35 3.6.1.2 Lower Bound . . . . . . . . . . . . . . . . . . . . . . 36 iii 3.6.1.3 DOI for SSCFLP . . . . . . . . . . . . . . . . . . . . 38 3.6.2 The Capacitated p-Median Problem . . . . . . . . . . . . . . . 38 3.7 Computational Experiments . . . . . . . . . . . . . . . . . . . . . . . 41 3.7.1 Stabilization Strategies . . . . . . . . . . . . . . . . . . . . . . 41 3.7.2 SSCFLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.7.2.1 Results on the Holmberg et al. dataset . . . . . . . . 44 3.7.2.2 Results on the Yang et al. dataset . . . . . . . . . . 48 3.7.2.3 DOI and their effect on problems with dense columns 51 3.7.2.4 Results on newly generated random instances . . . . 52 3.7.3 CpMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.7.3.1 Results on the Holmberg et al. and Yang et al. datasets . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.7.3.2 Results on newly generated random instances . . . . 64 3.7.4 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4 Relaxed-DOI for the Capacitated Vehicle Routing Problem 69 4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3 The Capacitated Vehicle Routing Problem . . . . . . . . . . . . . . . 72 4.3.1 CVRP Pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.3.2 CVRP Lower Bound . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.3 DOI for the CVRP . . . . . . . . . . . . . . . . . . . . . . . . 76 4.3.3.1 S-DOI . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.3.2 F-DOI . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.3.4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 4.4 Relaxed-DOI for the Expanded Column Set . . . . . . . . . . . . . . 83 4.4.1 The ng-Route Relaxation . . . . . . . . . . . . . . . . . . . . . 84 4.4.2 Relaxed-DOI for the ng-Route Relaxation . . . . . . . . . . . 85 4.4.3 Valid F-DOI Variant . . . . . . . . . . . . . . . . . . . . . . . 87 4.4.4 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5 Multi-Robot Routing via Column Generation 93 5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.2 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.2.1 Classical MAPF . . . . . . . . . . . . . . . . . . . . . . . . . . 96 5.2.2 Other Variants . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.2.3 MAPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.3 The Multi-Robot Routing Problem . . . . . . . . . . . . . . . . . . . 101 5.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.3.1.1 The SP Approach . . . . . . . . . . . . . . . . . . . 102 5.3.1.2 The MAPD Approach . . . . . . . . . . . . . . . . . 103 5.3.2 The Time-Extended Graph . . . . . . . . . . . . . . . . . . . 104 5.3.3 Problem Formulation . . . . . . . . . . . . . . . . . . . . . . . 107 5.3.4 Robot Route Costs and Constraints . . . . . . . . . . . . . . . 110 5.3.4.1 SP Approach . . . . . . . . . . . . . . . . . . . . . . 110 iv 5.3.4.2 MAPD Approach . . . . . . . . . . . . . . . . . . . . 112 5.4 Column Generation for MRR . . . . . . . . . . . . . . . . . . . . . . 113 5.5 Pricing for the SP Approach . . . . . . . . . . . . . . . . . . . . . . . 114 5.5.1 Basic Pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 5.5.2 Efficient Pricing: The Coarsened Graph . . . . . . . . . . . . 119 5.5.3 More Efficient Pricing: Avoiding Explicit Consideration of All Times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 5.6 Pricing for the MAPD Approach . . . . . . . . . . . . . . . . . . . . 124 5.6.1 Basic Pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 5.6.2 MAPD Efficient Picing . . . . . . . . . . . . . . . . . . . . . . 129 5.7 Partial Dual Updates for Faster Pricing . . . . . . . . . . . . . . . . . 130 5.8 Dual Optimal Inequalities . . . . . . . . . . . . . . . . . . . . . . . . 131 5.9 Elementary Resource Constrained Shortest Path Solver . . . . . . . . 132 5.10 Heuristic Pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 5.11 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 5.11.1 SP Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 5.11.1.1 Synthetic Maps . . . . . . . . . . . . . . . . . . . . . 141 5.11.1.2 Comparison with MAPF . . . . . . . . . . . . . . . . 143 5.11.1.3 Heuristic Pricing speedup . . . . . . . . . . . . . . . 146 5.11.1.4 DOI Speedup . . . . . . . . . . . . . . . . . . . . . . 148 5.11.1.5 Time Consumption . . . . . . . . . . . . . . . . . . . 150 5.11.2 MAPD Approach . . . . . . . . . . . . . . . . . . . . . . . . . 151 5.12 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 6 Conclusion 157 6.1 Summary and Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 157 6.2 Future Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 Cumulative Bibliography 161 v List of Tables 3.1 SSCFLP runtime results, Holmberg et al. dataset (|N | = 200) . . . . 46 3.2 SSCFLP iteration count results, Holmberg et al. dataset (|N | = 200) 46 3.3 SSCFLP runtime results, Yang et al. dataset (|N | = 200) . . . . . . . 49 3.4 SSCFLP iteration results, Yang et al. dataset (|N | = 200) . . . . . . 49 3.5 SSCFLP runtime results on problems with increased capacity. . . . . 52 3.6 SSCFLP iteration count results on problems with increased capacity. 53 3.7 SSCFLP average runtime over 50 structured problem instances. . . . 54 3.8 SSCFLP average iteration count over 50 structured problem instances. 54 3.9 SSCFLP average runtime over 50 unstructured problem instances. . . 54 3.10 SSCFLP average iteration count over 50 unstructured problem in- stances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.11 CpMP runtime results, Holmberg et al. dataset (|N | = 200) . . . . . 59 3.12 CpMP iteration count results, Holmberg et al. dataset (|N | = 200) . 60 3.13 CpMP runtime results, Yang et al. dataset (|N | = 200) . . . . . . . . 60 3.14 CpMP iteration results, Yang et al. dataset (|N | = 200) . . . . . . . 61 3.15 CpMP runtime results on problems with increased capacity. . . . . . 63 3.16 CpMP iteration count results on problems with increased capacity. . . 63 3.17 CpMP average runtime over 50 structured problem instances. . . . . 65 3.18 CpMP average iteration count over 50 structured problem instances. . 65 3.19 CpMP average runtime over 50 unstructured problem instances. . . . 65 3.20 CpMP average iteration count over 50 unstructured problem instances. 65 4.1 CVRP average runtime over 50 synthetic problem instances. . . . . . 83 4.2 CVRP average iteration count over 50 synthetic problem instances. . 83 4.3 CVRP ng-relaxation runtime results . . . . . . . . . . . . . . . . . . . 91 4.4 CVRP ng-relaxation iteration count results . . . . . . . . . . . . . . . 92 5.1 List of Time-Extended Graph Variables . . . . . . . . . . . . . . . . . 107 5.2 Labeled Positions in P . . . . . . . . . . . . . . . . . . . . . . . . . . 116 5.3 SP approach results on random instances. . . . . . . . . . . . . . . . 142 5.4 Objective value results over 25 random instances. . . . . . . . . . . . 144 5.5 Results of the full CG approach over 25 problem instances . . . . . . 146 5.6 Average runtime results: exact vs heuristic pricing . . . . . . . . . . . 147 5.7 Travel cost and makespan results for the MAPD approach. . . . . . . 155 vi List of Figures 2.1 Visualization of the CG algorithm. . . . . . . . . . . . . . . . . . . . 14 3.1 SSCFLP results, Holmberg et al. dataset (|N | = 200) . . . . . . . . . 47 3.2 SSCFLP results, Yang et al. dataset (|N | = 200) . . . . . . . . . . . 50 3.3 SSCFLP aggregate plots, structured dataset. . . . . . . . . . . . . . . 55 3.4 SSCFLP aggregate plots, unstructured dataset. . . . . . . . . . . . . 56 3.5 CpMP aggregate plots Holmberg et al. dataset (|N | = 200). . . . . . 61 3.6 CpMP aggregate plots Yang et al. dataset (|N | = 200). . . . . . . . . 62 3.7 CpMP aggregate plots, structured dataset. . . . . . . . . . . . . . . . 66 3.8 CpMP aggregate plots, unstructured dataset. . . . . . . . . . . . . . . 67 4.1 CVRP aggregate plots. . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.2 CVRP ng-relaxation aggregate plots. . . . . . . . . . . . . . . . . . . 89 5.1 Representation of potential robot collisions. . . . . . . . . . . . . . . 105 5.2 Image representation of the possible robot traversals across a single time step. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 5.3 Image of traversals across the time extended graph. . . . . . . . . . . 106 5.4 Visualization of the graph coarsening. . . . . . . . . . . . . . . . . . . 120 5.5 Sample robot route result. . . . . . . . . . . . . . . . . . . . . . . . . 140 5.6 Histogram of Relative Gap over 60 instances. . . . . . . . . . . . . . . 142 5.7 Objective values for both MRR and MAPF approaches over each problem instance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 5.8 Average runtime results over problems with various numbers of items. 147 5.9 Average runtime results over problems with various numbers of items. 148 5.10 Average iteration count results over problems with various numbers of items. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 5.11 Total runtime of each component. . . . . . . . . . . . . . . . . . . . . 150 5.12 MAPD robot routes. . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 5.13 MAPD robot routes cont. . . . . . . . . . . . . . . . . . . . . . . . . 154 vii List of Abbreviations CBS Conflict Based Search CG Column Generation CpMP Capacitated p-Median Problem CVRP Capacitated Vehicle Routing Problem DOI Dual Optimal Inequalities ERCSPP Elementary Resource Constrained Shortest Path Problem F-DOI Flexible Dual Optimal Inequalities ICTS Increasing Cost Tree Search ID Independence Detection IFF If and Only If ILP Integer Linear Program LP Linear Program MAPD Multi-Agent Pickup and Delivery MAPF Multi-Agent Pathfinding MLA* Multi-Label A* MRR Multi-Robot Routing MWSC Minimum Weight Set Cover RMP Restricted Master Problem S-DOI Smooth Dual Optimal Inequalities SF-DOI Smooth-Flexible Dual Optimal Inequalities SP Set Packing SSCFLP Single Source Capacitated Facility Location Problem TP Token Passing TPTS Token Passing with Task Swaps viii Chapter 1: Introduction 1.1 Overview Over the years, column generation (CG) [Lu?bbecke and Desrosiers, 2005] has proven to be a critical tool in solving large scale linear programming (LP) problems. Put within a branch and price framework [Barnhart et al., 1996], CG has had much success in tackling challenging discrete optimization problems. CG has been applied across a number of different fields including vehicle routing [Costa et al., 2019], crew scheduling [Desrochers and Soumis, 1989], material cutting [Gilmore and Gomory, 1961], web search [Abrams et al., 2007], and computer vision [Yarkony et al., 2020]. CG is typically applied to problem formulations with an innumerable num- ber of variables, working by considering only a subset of the variables, called the restricted set, at any given time. The optimization problem is solved over the re- stricted set, and new variables are fed into the set according to their associated reduced costs. For minimization problems, the variable with lowest reduced cost is sought. The process of searching for a variable with the lowest reduced cost value is called pricing, which typically amounts to solving a discrete optimization problem. When pricing determines that all variables not considered have nonnegative reduced cost and would therefore fail to improve the current objective function value if in- 1 cluded in the restricted set, the current solution over the restricted set is provably optimal over the whole set of variables. A major drawback of CG is its potentially slow convergence on certain impor- tant classes of problems. For particularly large problems, CG can take prohibitively long to converge, continuously adding variables to the restricted set yet failing to progress toward a solution. Much effort has been put into studying and addressing this phenomenon, which we consider in this work. One primary approach to accelerating CG convergence is dual stabilization. Often in CG problems with slow convergence, the associated dual solutions can oscillate significantly over the the iterations of CG. For CG to converge, the dual solution must ultimately progress towards a dual optimal solution. Oscillations hamper this process as they generally lead to dual values that fail to produce columns that adequately progress CG toward a solution. Dual stabilization aims to limit these oscillations and thus accelerate convergence. This is typically done through trust region methods [Marsten et al., 1975], interior point methods [Gondzio et al., 2013, Rousseau et al., 2007], smoothing methods [Pessoa et al., 2018, Wentges, 1997], or dual optimal inequalities (DOI) [Ben Amor et al., 2006]. DOI are a primary focus of this work. DOI restrict the feasible dual space such that at least one dual optimal solution remains in the feasible space. This restriction limits the dual space that can be explored and consequently limits the dual oscillations during CG. This work addresses dual stabilization with the introduction of two novel DOI for minimum weight set cover problems commonly seen in operations research. The first class of DOI we present are called Smooth DOI (S-DOI). S-DOI leverage the 2 fact that for certain problems, we expect that dual variables in the final solution change smoothly over space. This is seen in problems where cost terms associated with elements are tied to some notion of position. In such problems, we expect elements in close proximity to have similar dual values. This work provably bounds the deviation between certain dual values. This translates in the primal to allowing the undercovering of certain elements at the cost of overcovering others and incurring an objective penalty. We show that when these bounds are small, as is the case with elements in close proximity, S-DOI provide remarkable speedup to CG convergence. We show that this effect scales considerably on larger problems. The second class of DOI we present are called Flexible DOI (F-DOI). F-DOI were first introduced by Lokhande et al. [2019] in the context of set packing prob- lems, specifically for the application of entity resolution. We adapt F-DOI for the context of set cover problems and formulate them for common problems in oper- ations research. F-DOI offer rewards for overcovering items, placing strict bounds on the dual values. The rewards for overcovering items is calculated as the lowest possible cost decrease for the removal of that item. We prove that incorporating F-DOI do not alter the final solution of CG. We show that, on certain problems, F-DOI can drastically reduce the number of iterations required for CG to converge. This comes at notable computational cost in solving the primal, however on many significantly large problems, the F-DOI are shown to have an overall improved speed of convergence. We also employ both DOI jointly, producing Smooth-Flexible DOI (SF-DOI). We apply each set of DOI to applications in logistics and operations research in- 3 cluding the Single Source Capacitated Facility Location Problem (SSCFLP) [Aikens, 1985], the Capacitated p-Median Problem (CpMP) [Brandeau and Chiu, 1989], and the Capacitated Vehicle Routing Problem (CVRP) [Dantzig and Ramser, 1959]. We adapt our DOI to the case of problems with relaxed column restrictions. Specifically we look at the case where a problem permits the inclusion of repeat elements (customers) in a given column. Our principal application of interest for this is the ng-route relaxation [Baldacci et al., 2008] of the CVRP. ng-routes are routes that can contain repeat elements (customers) so long as the ordered track of elements in between a repeated elements travels outside that element?s assigned neighborhood. This contrasts with elementary routes which require that any element (customer) be included at most once. We show that although our DOI are not technically valid for such problems, we can employ an effective implementation of our DOI that sequentially deactivates DOI components as they are shown to interfere with CG progressing toward the true solution. We call this implementation relaxed-DOI. We show that this approach pro- vides significant speedups in convergence for the ng-route relaxation of the CVRP. We also provide a construction of the F-DOI that can produce optimal solutions while guaranteeing that all artificial DOI variables be inactive at termination. Next we leverage our CG toolkit to address the problem of Multi-Robot Rout- ing (MRR). In MRR, we tackle two distinct formulations, each of which addresses the problem of assigning a fleet of robots in a warehouse to tasks while ensuring that no robots collide with one another. One method models MRR as a set packing problem while the other models MRR as a set cover problem. MRR closely relates 4 to the problem of Multi-Agent Pathfinding (MAPF) [Felner et al., 2017, Standley, 2010, Stern et al., 2019, Yu and LaValle, 2016], which handles the challenge routing a fleet of agents from their start locations to their destinations while prohibiting collisions. Expanding on the MAPF problem, the Multi-Agent Pickup and Delivery (MAPD) problem [Grenouilleau et al., 2019, Liu et al., 2019, Ma et al., 2017] was developed. MAPD addresses the problem of routing a fleet of agents to deliver a set of items to specified locations. Our set covering approach to MRR generalizes the MAPD problem. We show that in our CG approach to MRR, the pricing problem amounts to an elementary resource constrained shortest path problem (ERCSPP) [Irnich and Desaulniers, 2005], a problem that is well studied in the CG literature due to its appearance in vehicle routing. We develop a novel heuristic pricing algorithm to tackle the ERCSPP. Our technique relies on developing random orderings of elements and solving the ERCSPP multiple times over several random orderings. We offer probabilistic guarantees as to how likely it is that our approach produces the optimum solution to the ERCSPP. We show the significant speedup offered by our heuristic in solving MRR. 1.2 Contributions This work presents the following contributions. We introduce S-DOI, F-DOI, and SF-DOI for the general context of set cover problems. We prove their validity and present constructions for each set of DOI on the following problems: the SS- 5 CFLP, the CpMP, and the CVRP. We run computational experiments evaluating our proposed DOI on each of these problem applications. DOI have previously been proposed for stock cutting [Ben Amor et al., 2006], bin packing [Gschwind and Ir- nich, 2016], computer vision Yarkony et al. [2020], and entity resolution [Lokhande et al., 2019], however none have been proposed for the problems considered in this work. We adapt our DOI for problems with relaxed column restrictions, referring to this implementation as relaxed-DOI. We also present a valid adaptation for the F- DOI for the ng-route relaxation. We test the relaxed-DOI on the ng-route relaxation of the CVRP. We formulate two CG approaches to the problem of MRR. MRR is modeled after the problems of MAPF and MAPD. Current scalable approaches to these problems are often highly suboptimal. For our approach to MRR, we provide an efficient pricing mechanism that significantly reduces the state space of the pricing problem, and we further reduce the state space by adapting the work of Boland et al. [2006] to avoid the consideration of all time components. We present valid DOI for one of our approaches to MRR and run experiments to evaluate their effectiveness. We present a new heuristic pricing algorithm for solving an ERCSPP and run experiments to evaluate its performance. We run experiments to study our approaches to MRR and compare against established MAPF and MAPD models. 6 1.3 Organization This work is organized as follows. In Chapter 2 we present the necessary background relevant to our work on CG and stabilization. We present CG and review previous work on dual stabilization techniques. In Chapter 3 we present the S-DOI, F-DOI, and SF-DOI. We prove their validity and offer constructions for them on the SSCFLP and the CpMP. We run experiments on both problems and compare their performance against nonstabilized CG and CG used with smoothing. In Chapter 4 we construct and test our DOI on the CVRP. We then present an approach to apply our DOI on problems with relaxed column restrictions and test our techniques on the ng-route relaxation to the CVRP. In, in Chapter 5 we present the MRR problem. We detail two distinct ap- proaches, both employing CG. We describe the resultant pricing problems and present an efficient pricing scheme that can be adapted to both approaches. We introduce a heuristic solver for the ERCSPP. We run experiments and conclude with some analysis. Finally, in Chapter 6 we wrap up with some conclusions and a discussion on future research. 7 Chapter 2: Background 2.1 Introduction In this chapter we present the necessary background on column generation (CG) from the perspective of a minimum weight set cover (MWSC) formulation. We discuss previous work on CG stabilization as well as present the concept of dual optimal inequalities (DOI). This chapter is organized as follows. In Section 2.2 we present CG. In Section 2.3 we present methods to produce lower bounds on our optimal solution. Finally, in Section 2.4 we discuss the previous literature on CG stabilization. 2.2 Column Generation CG is a versatile technique for solving large scale linear programs with possibly innumerable numbers of variables. CG precludes the need to enumerate all variables by only considering a subset of the variables at any given time. We present CG in the context of solving a MWSC problem. Consider the problem where we have a set of elements N representing items that all must be covered collectively by a group of objects, each object covering a subset of N . We refer to each such object as a 8 column l ? ?, where ? is the set of all valid columns in the context of the problem. Columns represent a subset, or occasionally an ordered subset, of elements ofN , and the inclusion of any given column in the set covering solution incurs an associated cost. Let cl be the positive valued cost of including column l in the solution and ?l be a binary decision variable indicating whether column l is in the solution or not. Finally, let aul ? {0, 1} be a binary constant whose value equals 1 if column l ? ? covers item u ? N and 0 otherwise. We have the following discrete optimization problem. ? min cl?l (2.1) ? l?? subject to ? aul?l ? 1 u ? N (2.2) l?? ?l ? {0, 1} l ? ?. (2.3) Our objective function that we wish to minimize is represented by (2.1). The constraints (2.2) enforce that every item is covered in the solution at least once. Our domain constraints (2.3) ensure that our solution is integer. We wish to address this problem using CG, however CG can only solve linear programs (LP) whose solution space must be represented by a convex region. The standard approach is to use CG to solve the LP-relaxation of (2.1)-(2.3) and employ a branching scheme such as branch and price [Barnhart et al., 1996] to restrict the solution space until an integer solution is found. If we relax the binary constraint on ?l we get the following 9 LP relaxation. ? min cl?l (2.4) ? l?? subject to ? aul?l ? 1 u ? N (2.5) l?? ?l ? 0 l ? ?. (2.6) Remark 2.2.1. Note that we use a cover constraint in (2.5) as opposed to a partition constraint (referring to an equality constraint) which is also commonly used. We do so with the expectation that items still will not get covered more than once. We assume that for all sets of items l ? ?, the cost of a column increases monotonically with the addition of new elements to the set. This means it will always be cheaper to cover an item no more than once in the final solution. As well, formulating (2.5) as a set cover constrains the associated dual variables to be positive. The optimization problem in (2.4)-(2.6) has the associated dual: ? max ?u (2.7) ? u?N 10 subject to ? aul?u ? cl l ? ? (2.8) u?N ?u ? 0 u ? N (2.9) We denote (?u)u?N as the dual variables associated with constraints (2.5). For problems of our interest, ? may be prohibitively large to enumerate all of its elements, admitting the opportunity for CG to be used. To intuit how CG works, first note that in a linear programming problem such as (2.4)-(2.6), the solution cannot have more positive decision variables than the size of the solution?s basis, where the basis refers to the feasible solution basis as defined by the simplex method [Nelder and Mead, 1965]. Furthermore, the basis can be no larger than the number of independent constraints. CG leverages this fact, only considering a subset of the variables at any given time, assuming the rest to be set to 0. To present CG, we consider a subset ?R ? ? called the restricted set. We present the following LP called the restricted master problem (RMP). ? min cl?l (2.10) ? l?? subject to ? aul?l ? 1 u ? N (2.11) l?? ?l ? 0 l ? ?R. (2.12) 11 This formulation is identical to the LP from (2.4)-(2.9), save for the set of available decision variables defined by (2.12), where the set of columns considered is now limited to ?R rather than ?. The dual problem of (2.10)-(2.12) only contains a subset of the constraints from (2.8), therefore the dual solution to (2.10)-(2.12) may very well be infeasible to (2.7)-(2.9). Our objective is to find the most violated constraint in (2.8) and add its associated column to the RMP. We define the reduced cost c?l for a column l as: ? c?l = cl ? ?uaul (2.13) u?N A negative reduced cost implies a violated dual constraint in (2.8). If the minimum reduced cost is greater than 0 (c?min ? 0), then the solution to (2.10)- (2.12) optimally solves (2.4)-(2.6). Otherwise, we can add the column l associated with the lowest reduced cost to ?R and re-solve the RMP. Note that the reduced cost c?l represents the marginal change to the objective function per unit increase of ?l if the associated column enters the basis as described by the simplex method. Finding all reduced costs to be nonnegative implies that no improvement to the objective can be made, thus guaranteeing optimally. CG works as follows. Initialize ?R with some feasible set of columns. Solve the RMP. Using the dual variables obtained from solving the RMP, determine the lowest reduced cost c?min over l ? ?\?R. If c?min ? 0 the solution to the RMP solves the full problem, otherwise add the column associated with c?min to ?R and repeat again from solving the RMP. 12 Algorithm 1 Column Generation Initialize ?R repeat solve RMP(?R) =? (?) solve subproblem(?) =? (l?,c?min) if c?min ? 0 then Exit else c?min < 0 ?R ?= ?R ? l? end if In CG, the linear program in the RMP is called the primal problem or the master problem while the search for the lowest reduced cost column is called the subproblem or pricing. During pricing it is prohibitively expensive to enumerate all possible reduced costs. Typically when employing CG, the subproblem contains some structure, allowing it to be solved more efficiently. Often the subproblem amounts to solving a knapsack problem [Martello et al., 1999], or in the case of ve- hicle routing, an elementary resource constrained shortest path problem (ERCSPP) [Irnich and Desaulniers, 2005]. We present an algorithm for CG in Algorithm 1 and a visualization of CG is shown in Figure 2.1. CG applied to (2.4)-(2.6) can be used to solve the integer linear program (2.1)-(2.3) when put within a branching framework referred to as branch and price [Barahona and Jensen, 1998]. In branch and price, branching is applied to enforce restrictions on the columns in ?. CG is used to solve each linear relaxation in the branching tree. For many problems, CG formulations often lead to tighter linear relaxations, expediting the search for integer solutions. It should be noted that during pricing one need not always find the lowest reduced cost column to return to the primal. Any negative reduced cost column 13 Figure 2.1: Visualization of the CG algorithm. The primal RMP is solved and delivers the dual variables (?) to pricing algorithm. The pricing problem is solved and deliver the optimal negative reduced cost column found (l). If no negative reduced cost column is found, the optimum has been reached and CG is concluded. further constrains the dual solution to the RMP and has the potential to improve the current objective function. So long as a negative reduced cost column is found, CG can continue on to the next iteration with that column. This presents the opportunity to employ heuristic pricing, solving the pricing problem efficiently but not necessarily exactly. Since solving the pricing problem exactly can often be expensive, one can employ an efficient heuristic to retrieve negative reduced cost columns. However, in order to ultimately ensure optimality, the pricing problem must be solved exactly in the final iteration of CG to confirm no negative reduced cost column exists. Also note that CG can often be accelerated by returning multiple columns during each round of pricing. The objective here would be to return as many columns that would help, but not overburden the primal problem. 14 2.3 Lower bound In this section we define the lower bound associated with a given solution through each iteration of CG. Note that the solution to (2.10)-(2.12) must be greater than or equal to (2.4)-(2.6) through CG. Therefore, the solution to the RMP provides a monotonically decreasing upper bound on the solution to (2.4)-(2.6) throughout the process. To define a lower bound, consider the Lagrangian relaxation of (2.4)-(2.6): ? ? ? ? min cl?l + ?u(1? aul?l) (2.14)??0 ? ?|N| l?? u?N l??l?? l We include a constraint on the cumulative sum over ? since we know from Remark 2.2.1 that it is always cheaper to cover less items and if each active column in the worst case only covers a single item, then we could only have at most |N | in cumulative activity from ?. For a fixed ? = ??, (2.14) defines a lower bound on the optimal value of (2.4)-(2.6). We can reformulate (2.14) and get the following. ? ? ? (2.14) = ? min ??u + ?l(cl ? aul??u) (2.15)??0 ? ?|N| u??N ?l?? l??l?? l = ? min ??u + ?lc?l (2.16)??0 ? ? ?|N| u?N l??l?? l = ??u + |N |c?min (2.17) u?N Through each round of CG we obtain ?? as the dual solution to the RMP. Using 15 that along with the solution to the pricing problem c?min, we obtain a lower bound on the optimal solution to (2.4)-(2.6). Additionally, for certain applications we can use (2.16) as the foundation for a tighter lower bound specific to that problem. The lower bound delivered by (2.17) often does not increase monotonically through the iterations of CG, however one can always employ the best lower bound obtained over the course of CG to provide a valid bound on the objective. 2.4 Review of Stabilization Techniques It is well established that, for sufficiently large problems, CG can suffer from critical convergence issues [Lu?bbecke and Desrosiers, 2005]. Early in CG, it is com- mon that dual values can oscillate significantly while poor initial columns and pos- sible artificial variables used to initialize the primal dominate the dual solution?s behavior. This is called the heading-in effect [Vanderbeck, 2005]. Toward the end of CG, it is common to see many rounds of CG with many dual updates without improvement to the primal before convergence. This is called the tailing off effect [Desrosiers and Lu?bbecke, 2005]. As well we can see during CG that columns are continuously added to the primal with only very marginal improvements to the objective over many iterations. This is called the plateau effect [Vanderbeck, 2005]. It has been observed that denser columns, in the range of 8-11 elements per column, can lead to more stability issues [Elhallaoui et al., 2005]. A number of techniques centered around dual stabilization have been approached to tackle con- vergence issues. These mainly fall into four broad categories: trust region methods, 16 smoothing methods, interior point methods, and dual optimal inequalities (DOI), each of which we discuss in the following subsections. 2.4.1 Trust Region Methods Trust region methods rely on enforcing restrictions to the dual space when solving CG and iteratively adjusting the region as CG progresses. Seminal work in these methods came from [Marsten et al., 1975], which introduced the boxstep method. The boxstep method works by restricting the values that the dual variables can occupy. CG is solved and a new box is formed around the new dual solution for the next iteration. Through each step, the dual solution is restricted from moving too far from the previous solution. Expanding on this concept, Du Merle et al. [1999b] and Du Merle et al. [1999a] employed a box step method that allows for a dual solution to travel outside the established region but at the cost of an l1 penalty. Frangioni [2002], Briant et al. [2008], and van Ackooij and Frangioni [2018] applied what are called bundle methods. Bundle methods similarly apply penalties for dual variables traveling outside a targeted region, but they apply nonlinear penalty functions meeting specific convergence properties. 2.4.2 Interior point methods Interior point methods leverage interior point optimization methods for solving the primal to obtain distinct dual solutions that can be averaged. The averaged dual solution would likely be more balanced and have a lower l2 norm. Rousseau et al. 17 [2007] used interior point methods to repeatedly solve the primal and construct multiple dual solutions at a given iteration. They then fed the average of these dual solution into the pricing subproblem. Gondzio et al. [2013] leverage interior point methods to avoid solving the primal to full optimality. Rather they introduce their primal-dual column generation method, which computes a feasible set of vectors whose associated dual vector is then used for pricing. 2.4.3 Smoothing methods Smoothing methods restrict the movement of dual solution through successive iterations by taking a convex combination of an established center dual solution and new dual solutions obtained through specific rounds of CG. The dual center is updated selectively when particularly good solutions are found (i.e. producing high lower bounds). Wentges [1997] proposed what is called weighted dantzig-wolfe decomposition that applies this technique, using primarily weighted dual variables for pricing at every iteration. With a center dual value ?0 established and a current dual solution obtained through the current round of CG ?, the weighted dual vector ?? = ??0 + (1??)? for some ? ? [0, 1] is inputted for pricing. Whenever ?? produces a higher lower bound than that established by ?0, set ?0 ? ??. Pessoa et al. [2018] expanded on this technique, presented dynamic strategies for updating the weighting scheme defined by ? and provided conditions guaranteeing stable convergence. 18 2.4.4 Dual Optimal Inequalities The work of Ben Amor et al. [2006] introduced dual optimal inequalities (DOI) as a tool to stabilize CG by restricting the dual space with problem specific cuts. These cuts decrease the feasible search space of the dual and thus accelerate CG. Cuts in the dual space translate to extra variables in the primal. Therefore, the problem can be seen as a relaxation of the RMP. These added inequalities are called dual optimal inequalities if they do not cut off any dual optimal solutions to the master problem. This implies that at termination of CG, no added artificial variables associated to the dual inequalities would be active and the solution to the adjusted problem is provably equivalent to the solution to the original problem. Ben Amor et al. [2006] also introduced the concept of deep dual optimal in- equalities. Deep dual optimal inequalities work similarly to dual optimal inequalities except that they are only required to leave at least one dual optimal solution in the remaining feasible space. Ben Amor et al. [2006] proved that the solution at termina- tion of CG on problems employing deep dual optimal inequalities is provably equal to the solution to the original problem. For the remainder of this work we will not distinguish between deep dual optimal inequalities and dual optimal inequalities, but will rather address them both as DOI. DOI exploit problem specific characteristics such as symmetries. DOI have been established to the problem of cutting stock, where the objective is to cut stocks of certain lengths to meet specific size demands. DOI for cutting stock leverage the fact that stock items of equivalent size are indistinguishable and can be swapped, 19 and therefore their associated dual values can be assumed to be equivalent. This results in eliminating any dual oscillations that would otherwise be associated with differing dual values between stocks. Gschwind and Irnich [2016] proposed new DOI to more complex problems including bin packing with conflicts and vector packing. Recently, DOI have made made headway in stabilizing CG approaches in com- puter vision. Yarkony et al. [2020] details CG approaches to multi-object tracking [Leal-Taixe et al., 2012, Wang et al., 2017c], multi-person pose estimation [Wang et al., 2017a,b,d], multi-cell segmentation [Zhang et al., 2017], and image segmenta- tion [Yarkony and Fowlkes, 2015, Yarkony et al., 2012, Zhang et al., 2014]. Yarkony et al. [2020] introduces DOI for set packing approaches in these areas. They present invariant DOI that bound the dual value of items to the upper bound of removing that item from any column. The authors further expand on this concept to present varying DOI, which provide tighter cuts dependent on the columns currently repre- sented in the RMP. Lokhande et al. [2019] introduced Flexible DOI (F-DOI) for set packing prob- lems with specific application to entity resolution. In this context, F-DOI further improve on varying DOI by considering that removal costs for items depend on spe- cific columns where they appear. These DOI applied in a set packing contexts can be seen as allowing a relaxation of the packing constraint at an objective cost. Our work leverages the techniques established here for set cover problems where the DOI provide rewards for the overcovering of items. 20 Chapter 3: Smooth and Flexible Dual Optimal Inequalities 3.1 Introduction In this chapter we present the Smooth DOI (S-DOI), Flexible DOI (F-DOI), and Smooth-Flexible DOI (SF-DOI) for the general context of set cover problems. We construct each set of DOI and prove their validity. We provide specifics to their construction on two relevant problems in logistics and operations research: the Single Source Capacitated Facility Location Problem (SSCFLP) and the Capacitated p- Median Problem (CpMP). We present a third problem application, the Capacitated Vehicle Routing Problem (CVRP), though we save the study of that problem for Chapter 4. Much of the work presented in this chapter can be found in Haghani et al. [2020b]. This chapter is organized as follows. In Sections 3.2, 3.3, and 3.4 we present the S-DOI, F-DOI, and SF-DOI respectively. In Section 3.5 we address the challenge of implementing pricing when incorporating added constraints from the DOI. In Section 3.6 we discuss applications and present specific constructions of the DOI for those problems. Finally, in Section 3.7 we show experiments and discuss the effectiveness of each set of DOI. 21 3.2 Smooth DOI In this section we present the Smooth DOI (S-DOI). S-DOI are motivated by the fact that given a problem whose items can be modeled by locations in some metric space, we expect the dual variables for items to change smoothly over that space. Our intuition here stems from the fact that dual variables can be interpreted as shadow prices. Shadow prices are the marginal change to the objective function obtained by incrementally relaxing the associated constraint. If two items are close in space and share similar characteristics, we should expect that their shadow prices also be similar. Let N be the set of items that must be covered in a particular problem. For two items u, v ? N , if item u can universally be substituted for item v, our objective is to bound the difference in their associated dual variables ?v ? ?u by the greatest possible cost change observable from the substitution of v for u. Let Nl ? N be the subset of items that are covered by column l. Let us define s = (s?, s+) = (u, v) ? N ?N , u 6= v as an ordered pair of items. Consider a route l such that u ? Nl and v ?/ Nl. We define a swap operation for route l and a pair of nodes s: l? = ?(l, s), where the resultant route l? is identical to l except that node u has been replaced by node v. We now define the subset ?s ? ? where ?s = {l ? ?|s? ? Nl ? s+ ?/ Nl}. ?s is the set of columns that contain s? but not s+. For a given s such that ?s 6= ?, we define the penalty term ?s ? R according to the following. 22 ?s ? max{cl? ? c ?l : l ? ?s, l = ?(l, s)} (3.1) We consider a set S such that if s1 = (u, v) ? S and s2 = (v, w) ? S, then we must have s3 = (u,w) ? S and ?s1 + ?s2 ? ?s3 must hold. We denote S?u = {s ? S : s? = u}, S+v = {s ? S : s+ = v}. We present a stabilized version of the optimization problem (2.4)-(2.6) incorporating the S-DOI. We include an additional artificial variable ?s for every s ? S and get the following set cover formulation. ? ? min cl?l + ?s?s (3.2) ?,? l?? s?S subject to ? ? ? aul?l + ?s ? ?s ? 1 u ? N (3.3) l?? s?S+u s?S?u ?l ? 0 l ? ?. (3.4) ?s ? 0 s ? S. (3.5) Our objective (3.2) now includes a penalty term that assigns a positive cost when any ? is activated. Our cover constraint (3.3) is now amended to include ? terms that can relax or tighten the cover constraint. The S-DOI can be interpretted in the primal problem as allowing for the undercovering of items at the cost of overcovering others and incurring an objective penalty. Proposition 3.2.1. Problem (3.2)-(3.5) admits an optimal solution (??, ??) such 23 that ??s = 0 for every s ? S. Proof. Let (??, ??) be an optimal solution to problem (3.2)-(3.5). If multiple optima exist, let (??, ??) be the one attaining the lowest possible value of ?(??, ?? ? ) = {??? l : l ? ?} + {??s : s ? S}. We prove by contradiction that no variable ??s can take a strictly positive value. Let us assume that ??s > 0 for a certain s ? S and let us consider the following three scenarios: ? There exists t ? S such that ??t > 0, s? = t+, s+ =6 t?. Let r = (t?, s+). Because of the triangle inequality, r lies in S and ?r ? ?s+?t. Let ? = min{??s , ??t }. We let ?? ? ??s s ??, ??t ? ?? ??, ?? ? ??t r r + ? and ?? ?k ? ?k for all k ? S \ {s, t, r}. It is easy to see that (??, ??) is primal feasible. The marginal contribution of replacing ?? by ?? is ?(?r ? ?s ? ?t), which is nonpositive. If negative (meaning that ?(?r ? ?s ? ?t) < 0) we obtain a contradiction with the optimality of (??, ??). If zero, on the other hand, the operation provides an alternate optimal solution (??, ??) such that ?(??, ??) < ?(??, ??), which is also a contradiction. ? There exists t ? S such that ??t > 0, s? = t+, s+ = t?. In this case we let ? = min{??s , ??t } and let ?? ?s ? ?s ??, ?? ?t ? ?t ??, and ??k ? ??k for all k ? S \ {s, t}. It is easy to see that the solution (??, ??) is also primal feasible and the marginal contribution of this operation is ??(?s+?t). The term (?s + ?t) is nonnegative because of the following observation. From the definition of ? we have that l ? ? , l? = ?(l, s) ? l?(?) s ? ?t, l = ?(l?, t). Then, for any such pair (l, l?) we have, from the conditions satisfied by ?, 24 that ?s + ?t ? (cl? ? cl) + (cl ? cl?) ? 0. If ?s + ?t > 0, this operation results in a contradiction with the optimality of (??, ??). If zero, on the other hand, the solution obtained is an alternate optimum and (??, ??) is such that ?(??, ??) < ?(??, ??), which is also a contradiction. ? For every t ? S such that s? = t+, ?t = 0. Since the primal problem is feasible and no t ? S exists satisfying ??t > 0, s? = t+, there must exist a column l ? ?(s) such that ??l > 0. Let ? = min{??s , ??l } and let l? = ?(l, s). We construct new variables ??, ?? with all components equal to those of (??, ??) except for ?? ? ??s s ??, ?? ?l ? ?l ??, ??l? ? ??l? + ?. This operation entails an increase in the objective of ?(cl? ? cl? ?s) which by definition of ?s is nonpositive. If negative, this would contradict the optimality of (??, ??). If zero, on the other hand, it would entail an alternate optimum such that ?(??, ??) < ?(??, ??) which is also a contradiction. 3.3 Flexible DOI In this section we present the Flexible DOI (F-DOI) for set cover problems. In Section 3.3.1 we present the full version of the F-DOI. Since this implementation can have scalability issues, we additionally present an efficient implementation in Section 3.3.2. 25 3.3.1 The General Case Here we present the F-DOI for the context of set cover problems. F-DOI bound dual variables by the potential cost change from removing an item from an active column. In the primal, F-DOI can be interpreted as providing rebates for the overcovering of items. We will construct the DOI by bounding the minimum cost change we expect see from the removal of any item from specific columns. For a given column l ? ?, we define the following rebate ?ul ? 0 for each item u ? N . Let Nl ? N be the subset of items that are covered by column l. For a given column l, for each u ? N \Nl (i.e. for each item that the column does not cover), we set ?ul = 0. For the remaining u ? Nl we must define ?ul such that the following is satisfied. Let l? ? ? be a column constructed from removing a subset of items X ? Nl from the column l. We define the following remove operation ?, where l? = ?(l,X ). For a given column l, we must define {?ul|u ? Nl} such that the following is satisfied for every subset X ? Nl. ? ?ul ? cl ? cl? (3.6) u?X We categorically prefer each ?ul to be as large as possible. The larger the value, the more constrained the dual space becomes. In order to ensure the validity of the DOI, however, (3.6) must remain satisfied. We define the set ?u = {?ul|l ? ?R}, which we index by ??, as the set of all ? values associated with item u across all columns in ?R. We introduce the artificial 26 variable ?u?? for every u ? N and every ?? ? ?u. Let ?ul?? be a binary constant that takes value 1 if ?ul = ?? and 0 otherwise. Incorporating the F-DOI, we get the following formulation. ? ? min cl?l ? ???u?? (3.7) ?,? l?? u?N ,????u subject to ? ? aul?l ? ?u?? ? 1 u ? N (3.8) l?? ? ????u ?u?? ? ?ul???l ? 0 u ? N , ?? ? ?u (3.9) l?? ?l ? 0 l ? ? (3.10) ?u?? ? 0 u ? N , ?? ? ?u. (3.11) In (3.7) we have a new term that provides a rebate if an artificial variable is active. In (3.8) we allow for an artificial variable to become active if its associated item is overcovered. In (3.9) we ensure that the artificial variables must each be associated with an active column for them to take positive value, and their activity level is limited by the activity level of the associated column. The F-DOI intuitively provide rewards for the overcovering of items. The rewards are designed such that no matter what ? values are active in a particular solution, there will always be a lower cost solution with no ? values active. The following proposition formalizes this result. 27 Proposition 3.3.1. Problem (3.7)-(3.11) admits an optimal solution (??, ??) such that ??u?? = 0 for every u ? N , ?? ? ?u. Proof. Let (??, ??) be an optimal solution to problem (3.7)-?(3.11). If multip?le such optima exist, let (??, ??) be the one that minimizes ?(?, ?) = {?l : l ? ?}+ {?u?? : u ? N , ?? ? ?u}. We prove by contradiction that if ??u?? > 0 for some u ? N , ?? ? ?u then either (??, ??) cannot be optimum, or that an alternate optimum (??, ??) exists such that ?(??, ??) < ?(??, ??). Let ??u?? > 0 for some u ? N , ?? ? ?u. Constraints (3.9) ensure the existence of at least one column l ? ? such that ?ul?? = 1 and ??l > 0. Let X = {u ? Nl|??u? > 0}ul be the subset of items covered by l that are associated with a strictly positive value of ??u? . Let ? = min{min ? ? ?u?X ?u? , ?l }. Let l = ?(l,X ) be the column resultingul ul from removing all items in X from l. Now, let us consider a solution (??, ??) with all entries equal to those of (??, ??) except for the entries ?? ?u? ? ?u? ? ? for everyul ul u ? X , ?? ?l ? ?l ??, ?? ?l? ? ?l? + ?. This operation entails a fea?sible solution with a marginal contribution to the objective equal to ?(cl? ? cl + u?X ?ul). Either this quantity is negative ?which would contradict the optimality of (??, ??)? or ?(??, ??) < ?(??, ??) which is also not possible. 3.3.2 The Efficient Implementation The stabilized formulation defined in (3.7)-(3.11) can contain a prohibitively large number of ? variables and corresponding constraints over the set of all ? values. We circumvent the enumeration of all ? values in the formulation by binning the 28 values into sets and considering only the boundary values of each set. We define a new set of values ?Ru , which we index by ??, where we enforce that the smallest value of ?Ru is no larger than the smallest value of ?u. Our intent is to generally have |?Ru | << |?u| and associate each ?ul with the largest element ?? ? ?Ru subject to ?ul ? ??. Note that we can always redefine any reward element ?ul ? ??ul and maintain the validity of the F-DOI so long as ??ul ? ?ul. We define a new binary constant ??ul??, which takes value 1 if ?? = max{??? ? ?Ru : ?? ? ? ?ul}. Using these new variables we get the following condensed and efficient formulation incorporating the F-DOI. ? ? min cl?l ? ???u?? (3.12) ?,? l?? u?N ,????Ru subject to ? ? aul?l ? ?u?? ? 1 u ? N (3.13) l?? ? ????Ru ?u?? ? ??ul???l ? 0 u ? N , ?? ? ?Ru (3.14) l?? ?l ? 0 l ? ? (3.15) ? Ru?? ? 0 u ? N , ?? ? ?u . (3.16) The choice of ?Ru should depend on the values of ?u. We prefer smaller differ- ences between each ?ul and its associated ?? ? ?Ru . A feasible choice for the values in ?Ru are the quantiles over the set ?u. 29 3.4 Smooth-Flexible DOI In this section we combine the S-DOI from Section 3.2 and the F-DOI from Section 3.3 to produce a combined set of DOI we call Smooth-Flexible DOI (SF- DOI). We carry over the variables introduced in Sections 3.2 and 3.3 and get the following stabilized optimization problem. ? ? ? min cl?l + ?s?s ? ???u?? (3.17) ?,?,? l?? s?S u?N ,????u subject to ? ? ? ? aul?l + ?s ? ?s ? ?u?? ? 1 u ? N (3.18) l?? ? s?S+ ? ????u s?Su u ?u?? ? ?ul???l ? 0 u ? N , ?? ? ?u (3.19) l?? ?l ? 0 l ? ? (3.20) ?s ? 0 s ? S (3.21) ?u?? ? 0 u ? N , ?? ? ?u. (3.22) The following proposition formalizes the validity of the SF-DOI by proving that all artificial variables in (3.17)-(3.22) are not active at termination. Proposition 3.4.1. Problem (3.17)-(3.22) admits an optimal solution (??, ??, ??) such that ??s = 0 for every s ? S and that ??u?? = 0 for every u ? N , ?? ? ?u. Proof. Let (??, ??, ??) be an optimal solution to problem (3.17)-(3.22). If multi- 30 ? ? ?ple optima exist, let it be one that minimizes ?(?, ?, ?) = l?? ?l + s?S ?s + u?N ,???? ?u??. The proof follows by applying the same arguments provided for theu proofs of correctness for the S-DOI and F-DOI in sequence. First we assume that ??s > 0 for some s ? S to arrive at a contradiction. Then, assuming that ??s = 0 for every s ? S, we assume that ??u?? > 0 for some u ? N , ?? ? ?u to arrive at another contradiction. Note that we can apply the same techniques described in Section 3.3.2 to reduce the number of variables and constraints coming from the implementation of the F-DOI. 3.5 Efficient pricing In this section we consider the challenge of addressing pricing for (3.7)-(3.11). We apply the work of Lokhande et al. [2020] to demonstrate that we can neglect certain terms in the pricing problem to simplify our approach. Let ? and ? be vectors of dual variables associated with the constraints (3.8) and constraints (3.9) respectively. For a column l ? ?, its reduced cost c?l is com- puted as follows: ? ? cl = cl ? aul?u + ?ul???u??. (3.23) u?N u?N ,????u Similar to what Lokhande et al. [2020] demonstrated in the context of set packing, the dual variables ? can be ignored by the pricing algorithm without com- promising the validity and correctness of CG. This allows us to apply pricing in an unmodified fashion given the extra constraints present when applying the F-DOI. 31 The following proposition formalizes this. Proposition 3.5.1. Let (??, ??) be a feasible solution to the dual of the RMP of (3.7)-(3.1?1) resulting from replacing th?e variable set ? by a subset ?R ? ?. If min{c ? ? ? ?l u?N aul?u : l ? ?} ? 0 then u?N ? = z , where z? is the optimal value of problem (2.4)-(2.6). ? Proof. Let ?? ? 0 be such that c ? a ??l u?N ul u ? 0 for e?very l ? ?, which implies that ?? is feasible for t?he dual of (2.4)-(2.6), therefore ? ? ? u?N u?? z ?. Because ?R ? ? it follows that ? ?u?N ?u ? z . Therefore ?u?N ?u ? z? ? ?u?N ?u. When performing pricing while ignoring the ? variables, we either obtain a neg- ative reduced cost column or we determine no negative reduced cos?t columns exist. If we obtain a negative reduced cost column, meaning we have cl? a ??u?N ul u < 0 for some column l ? ?, we know that the same column would have negative reduced cost if calculated using (3.23) since ? ? 0. If we determine that no negative reduced cost column exists while ignoring the ? variables, then we know by Proposition 3.3.1 that we are optimal and no active DOI variables. Note that this efficient pric- ing scheme translates naturally to the case of employing the SF-DOI and solving (3.17)-(3.22). 3.6 Applications In this section we detail the implementation of each set of DOI to well-studied problems in the operations research literature. We specifically study the Single 32 Source Capacitated Facility Location Problem (SSCFLP) and the Capacitated p- Median Problem (CpMP). For both problems we present the CG approach and detail the construction of the proposed DOI on that problem. In Section 3.6.1 we look at the SSCFLP and in Section 3.6.2 we look at the CpMP. 3.6.1 The Single Source Capacitated Facility Location Problem The Single Source Capacitated Facility Location Problem (SSCFLP) considers the problem of selecting a minimum cost set of locations to open facilities. We are given a group of customers that must each be serviced by a facility. Each facility can service a one or more customers at a specific costs, and the set of customers serviced by any facility is limited by the facility?s capacity. The SSCFLP is formally described as follows. We are given a set of customers N and a set of potential facilities I. For each facility i ? I and customer u ? N , we have an assigned service cost ciu ? 0 representing the cost for facility i to service customer u. Each facility i ? I has an associated fixed opening cost fi and maximum capacity Ki. Also, each customer u ? N has an associated demand du. Servicing a customer requires that a facility has enough excess capacity to service that customer?s demand. The problem is to find the minimum cost set of facilities I ? ? I that can be opened to service all customers such that the total demand serviced by each facility does not exceed its assigned capacity. Facilities must be opened to service any single customer, and opening a facility incurs an opening cost. If we let xiu be a variable indicating that customer u is serviced by facility i 33 and yi be a variable indicating that facility i is opened, then we have the following SSCFLP formulation. ?? ? min ciuxiu + fiyi (3.24) x,y i?I u?N i?I subject to ? xiu = 1 u ? N (3.25) ?i?I duxiu ? Kiyi i ? I (3.26) u?N xiu, yj ? {0, 1} i ? I, u ? N , j ? I (3.27) We call the formulation in (3.24)-(3.27) the compact formulation. (3.25) en- sures that every customer is covered exactly once, (3.26) ensures that every fa- cility that services a customer is considered opened and that the total demand it services does not exceed its capacity. We can address SSCFLP using CG by modeling the problem as a set cover problem. Let S ? N represent a subset of customers that ca?n be serviced by a particular facility. We define a set of columns ? = {(i, S)|i ? I, u?S du ? Ki} as the set of all possi?bly facility assignment plans. The cost of assignment l = (i, S) is given by cl = fi + u?S ciu. Let aul ? {0, 1} be a binary constant taking value 1 if assignment l covers customer u and 0 otherwise. Let bil be a binary variable taking value 1 if column l ? ? uses facility i ? I. Fi- nally, let ?l be a binary decision variable that takes value 1 if assignment l is in our 34 solution. We have the following set covering formulation for the SSCFLP. ? min cl?l (3.28) ? l?? subject to ? aul?l ? 1 u ? N (3.29) ?l?? bil?l ? 1 i ? I (3.30) l?? ?l ? {0, 1} l ? ?. (3.31) We call the formulation in (3.28)-(3.31) the wide formulation or the CG formu- lation. (3.29) ensures that each customer gets serviced at least once. (3.30) ensures that each facility is can be opened at most only once. Though the formulation per- mits customers to be serviced more than once, we don?t expect it to happen since servicing a customer more than once always implies a cheaper assignment where one of the facilities that services that customer simply has that customer removed from its set of customers to service. (3.30) ensures that each facility can be opened at most once. 3.6.1.1 SSCFLP pricing In this section we discuss the pricing problem for the CG approach to SSCFLP. Let ? represent the dual variables associated with constraint (3.29), where ?u is as- 35 sociated with the constraint indexed by u. Also let ? be the dual variable associated with constraints (3.30), where ?i is associated with the constraint indexed by i. Let bil be a binary variable that takes value 1 if column l ? ? uses facility i ? I and 0 otherwise. Pricing requires us to find the minimum reduced cost c?. ? ? c?min = min cl ? aul?u ? bil?i (3.32) l?? u?N i?I This problem can be decomposed into a series of knapsack problems. Take the following knapsack problem over each facility i ? I. ? ?i = min (ciu ? ?u)xu (3.33) x?{0,1}|N| u?N subject to ? duxu ? Ki (3.34) u?N Pricing in (3.32) can be equivalently solved by the following. min fi ? ?i + ?i (3.35) i?I 3.6.1.2 Lower Bound We can apply the theory in Section 2.3 to calculate the lower bound. Let ? be the objective value of the optimal solution to the LP-relaxation of (3.28)-(3.31). 36 Let ?? be the value of the objective of the RMP at the current iteration of CG. Let ?? be the optimizers for the RMP at the current iteration of CG and let ?? and ?? be the associated dual variables. Working from a foundation provided by (2.16), we can calculate ?LB, the the lower bound of ?, at each iteration of CG through the following. We adapt (2.14) for the SSCFLP and include the constraints (3.30). ? ? ? ? ? ? min cl?l + ??u(1? aul?l) + ??i( bil?l ? 1) (3.36)??0 b ? ?1 ?i?I l??? u?N? ?l?? ?i?I l??l?? il l ? = ? min ??u ? ??i + ?l(cl ? aul??u + bil??i) (3.37)??0 l?? bil?l?1 ?i?I u??N ?i?I ?l?? l?? l?? = ? min ??u ? ??i + ?lc?l (3.38)??0 l?? bil?l?1 ?i?I u?N i?I l?? Note that because of the constraint from (3.30), the following holds. ? ? ? min ?lc?l = min{0,?i ? ?i + fi} (3.39)??0 l?? i?I l?? bil?l?1 ?i?I Therefore we can calculate our lower bound by the following. ? ? ?LB(??, ??, ??) = cl??l + min{0,?i ? ??i + fi} (3.40) l?? i?I This lower bound can be calculated following each round of pricing and it is guaranteed to bound ? from below if pricing is solved as described in Section 3.6.1.1. 37 3.6.1.3 DOI for SSCFLP To apply the DOI described in Sections 3.2 (S-DOI), 3.3 (F-DOI), and 3.4 (SF-DOI), we define the S-DOI penalties ? and the F-DOI rebates ? as: ?uv ? max{civ ? ciu : i ? I} u, v ? N , u 6= v, du ? dv (3.41) ?ul ? ciu l = (i, S) ? ?, u ? S. (3.42) The S-DOI penalties represent the worst case replacement between two cus- tomers across all facilities subject to the replacing customer having at most as much capacity as the replaced customer. The F-DOI rebates represent the cost decrease from removing a customer from a given column. The construction of the rebates is simple since customer costs for a facility are not dependent on what other customers are serviced by that facility. 3.6.2 The Capacitated p-Median Problem In the Capacitated p-Median Problem (CpMP) the objective is to minimize the cost of assigning a set of N elements (that we can represent as customers) to a set of I nodes (that we can represent as facilities). We must do so obeying the constraint that exactly p nodes are used in the assignment, where p is given. Each node i ? I has an assigned capacity Ki and each element u ? N as an assigned demand du. We can model the CpMP very similarly to that of the SSCFLP laid out in Section 3.6.1 with the only notable differences being that we set all facility 38 opening costs fi = 0 and we have an added constraint in the primal. Let xiu be a binary decision variable that takes value 1 if node i ? I is assigned to element u ? N and 0 otherwise. Also let yi be a binary decision variable indicating that node i ? I is used in an assignment. The CpMP is represented by the following optimization problem. ?? min ciuxiu (3.43) x,y i?I u?N subject to ? xiu = 1 u ? N (3.44) ?i?I duxiu ? Kiyi i ? I (3.45) ?u?N yi = p (3.46) i?I xiu ? {0, 1} i ? I, u ? N . (3.47) yi ? {0, 1} i ? I. (3.48) The formulation (3.43)-(3.48) resembles that of (3.24)-(3.27) except that the objective function no longer has facility opening costs and there is an added con- straint (3.46) ensuring that we open exactly p nodes or facilities. To apply CG we reformulate the problem according to the following set cover approach. Let ?l and aul be defined similar to how they were defined in Section 3.6.1. ?l is a binary decision variable indicating that column l ? ? is used in the solution and aul is a binary variable indicating that column l ? ? covers element u ? N . 39 Let bil be a binary variable taking value 1 if column l ? ? uses node/facility i ? I. The set covering formulation we use to apply CG is represented as follows. ? min cl?l (3.49) ? l?? subject to ? aul?l ? 1 u ? N (3.50) ?l?? bil?l ? 1 i ? I (3.51) ?l?? ?l = p (3.52) l?? ?l ? {0, 1} l ? ?. (3.53) Note the added constraint (3.52), differentiating (3.49)-(3.53) from the formu- lation for the SSCFLP. The added constraint (3.52) enforces that we have exactly p nodes (facilities) used in the solution. If we let ? be the dual variable associated with constraint (3.52), the pricing problem becomes the following. ? ? c?min = min cl ? aul?u ? bil?i ? ? (3.54) l?? u?N i?I This can be approached as a series of knapsack problems across all facilities precisely as in Section 3.6.1.1. Take (3.33) as our knapsack problem for each facility. 40 To get the minimum reduced cost over all facilities, we must solve the following: min ?i ? ?i ? ? (3.55) i?I The DOI for CpMP are constructed precisely as has been done for the SSCFLP in Section 3.6.1.3. The adapt the lower bound for the SSCFLP in (3.40) to get the following lower bound for the CpMP. ? ? ?LB(??, ??, ??, ??) = cl??l + min{0,?i ? ??i ? ??} (3.56) l?? i?I 3.7 Computational Experiments In this section we present an empirical study of the DOI presented as applied to the SSCFLP and the CpMP. In Section 3.7.1 we outline our experiments and the stabilization schemes implemented. In Sections 3.7.2 and 3.7.3 we test on the SSCFLP and the CpMP respectively. 3.7.1 Stabilization Strategies In each experiment we evaluate the performance of the DOI according to the speedup provided with respect to two variants of column generation: 1. a classical (non-stabilized) CG algorithm 2. a CG with smoothing dual stabilization [Pessoa et al., 2018] We also incorporate smoothing with the S-DOI to study the compound effect of 41 utilizing both stabilization schemes. For our smoothing implementation, we use a dual center ?0 and a scalar ? ? [0, 1] and perform pricing with ?? ? ??0 + (1??)? instead of the duals ? provided by the RMP. The parameters ?0 and ? are initialized to (0)|N | and 0.9, respectively. Following each round of pricing, if ?? produces a lower bound greater than the associated lower bound calculated for ?0, we update ?0 ? ??. When a misprice occurs (meaning that the subproblem is incapable of finding any columns of negative reduced costs), the parameters are updated to ?0 ? ??, ?? (?? 0.1) and pricing is repeated. After five consecutive misprices we update ?0 ? ?. If pricing does eventually produce a negative reduced cost column, we reset ?? 0.9 to its initial value. Our baseline method, denoted std, does not include any type of stabilization. Our experiments consider five different stabilization strategies: smoothing (denoted sm), S-DOI (denoted sdoi), F-DOI (denoted fdoi), SF-DOI (denoted sfdoi) and a combination of smoothing and S-DOI (denoted smsdoi). Speedup for each stabi- lization scheme is calculated relative to std. Speedup is the ratio of the runtime of std divided by the runtime of the stabilization scheme considered. Iteration count speedup is the ratio of the number of iterations taken by std divided by the number of iterations taken by the stabilization schemed considered. 3.7.2 SSCFLP In our experiments we consider two classical benchmark datasets for the SS- CFLP, the Holmberg et al. [1999] and the Yang et al. [2012] datasets. We addition- 42 ally consider two synthetically generated datasets. Each algorithm is executed until the linear relaxation is optimally solved. We aim to study the time it takes for CG to converge to the optimal solution for each algorithm as well as the total number of CG iterations required. The algorithms have been coded in MATLAB and we use CPLEX as our general-purpose mixed integer programming (MIP) solver for solving the RMP. Our machine is equipped with a 8-core AMD Ryzen 1700 CPU @3.0 GHz and 32 GB of memory running Windows 10. When employing the F-DOI we assign the values in ?Ru as 20 evenly spaced quantiles over the distribution of values in ?u. As more columns enter the RMP this distribution changes. We update ?Ru periodically to reflect this change and more accurately represent the distribution. We update on iterations 1, 5, 25, 100, 200, 500 and every 500 iterations onward. When employing the S-DOI we save computational time in solving the RMP by only including a subset of the DOI. Specifically, we include only the DOI variables associated to the smallest 25% of ?s values. For pricing, each facility induces a 0-1 knapsack problem capable of producing a negative reduced cost column. We solve the knapsack problem for each facility and return the 20 columns with most negative reduced cost. If less than 20 columns with negative reduced cost are found, we return all negative reduced cost columns. If through a single round pricing no negative reduced cost columns are found after all facilities have been cycled through, then pricing is terminated and CG is complete. To solve the 0-1 knapsack problem, we use C code for the MINKNAP algorithm [Pisinger, 1997] found at hjemmesider.diku.dk/~pisinger/codes.html. We ini- 43 tialize the RMP by the following algorithm. For each facility, order the customers from least cost to greatest cost. For a particular facility, starting from the lowest cost customer in the established order, add customers into a column until the ca- pacity limit for that facility is reached. Once the limit is reached, add that column to column set and continue with a new column starting from the next customer in line for that facility. Continue until all customers are included for that facility and then repeat for each facility. 3.7.2.1 Results on the Holmberg et al. dataset In our first set of experiments we test on problems from the SSCFLP bench- mark dataset defined in Holmberg et al. [1999]. We focus on the 16 largest problems (numerically indexed 56-71 in the original paper) where |N | = 200 and |I| = 30. In those instances, the capacities and demands are assigned randomly such that the ratio of total capacity over total demand (Ktotal/dtotal) ranges from 1.97 to 3.95. The facility fixed costs are distributed over a range from 500 to 1500 and the assignment costs are proportional to the Euclidean distance between a customer and a facility. We execute each algorithm variant on all 16 problem instances in this dataset. In Table 3.1 we report the CPU runtimes and associated speedups as compared to std. In Table 3.2 we report the CG iteration counts of std along with the associated iteration count speedups of each stabilization scheme. In Figure 3.1 we report the following data. In the two top figures, we plot average relative gap across all 16 problem instances as a function of the runtime 44 (left-most figure) and the number of iterations (right-most figure). The relative gap is the difference between the optimal solution and the current upper bound relative to the optimal solution: (??? ?)/? (3.57) The two bottom figures show, for each problem instance, the runtimes (left- most figure) and iteration counts (right-most figure) of each stabilization scheme compared to that of std. We see from the results that smsdoi provides the highest average speedup, 4.5, over the dataset. sm provides an average speedup up 4.2. All three DOI on average provide a positive speedup over std CG, with sdoi performing the best among them with an average speedup of 3.7. sdoi provides a positive speedup in 15 out of 16 instances while the fdoi and the sfdoi show more mixed results in a case by case analysis. fdoi provide a positive speedup in 10 out of the 16 instances while the sfdoi provide a positive speedup in 11 out of the 16 instances. All three DOI categorically required fewer CG iterations to converge than std, however employing these DOI comes at greater computational cost in solving the RMP. This computational liability is enough to negate the benefit of the DOI in those instances where the DOI provide no runtime benefit. sfdoi notably requires the fewest iterations to converge on average but still, for the most part, is outperformed by sdoi when judging for time. We note that employing the F-DOI largely comes at a significantly greater computational cost than employing the S-DOI, which accounts for the F-DOI?s lower performance benefit. 45 Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi 56 5.1 1.7 0.6 0.8 2.3 1.4 57 5.1 1.4 0.3 0.3 2.9 1.3 58 6.0 1.2 0.2 0.2 3.5 1.3 59 8.1 1.3 0.3 0.4 1.6 0.8 60 17.4 4.8 2.4 2.7 4.4 5.3 61 27.9 5.7 2.3 4.5 3.7 4.4 62 15.5 2.5 0.5 0.5 4.5 3.0 63 36.2 5.7 2.4 4.3 6.0 7.1 64 27.2 6.9 4.1 4.2 6.2 10.9 65 31.6 5.6 3.4 4.8 4.4 8.3 66 26.7 4.0 1.2 1.0 8.2 5.5 67 38.4 0.9 2.3 3.5 3.7 3.3 68 17.7 4.2 2.4 5.5 3.7 5.2 69 28.1 5.3 2.6 3.0 3.2 5.3 70 34.7 3.9 0.7 1.6 5.5 5.1 71 20.7 3.4 1.1 1.6 4.1 3.5 mean 21.6 3.7 1.7 2.4 4.2 4.5 median 23.7 3.9 1.7 2.1 3.9 4.7 Table 3.1: SSCFLP runtime results, Holmberg et al. dataset (|N | = 200) Iterations Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi 56 182 3.4 3.2 5.1 1.2 1.7 57 169 2.6 2.3 3.2 1.4 1.7 58 175 2.6 1.7 2.7 1.5 1.7 59 210 2.0 1.9 3.4 0.7 0.8 60 310 4.5 5.7 5.7 1.3 3.0 61 398 4.7 4.9 9.5 1.3 2.1 62 267 3.2 2.5 4.2 1.5 2.2 63 462 3.9 5.3 7.6 1.5 3.1 64 373 4.8 7.6 6.4 1.5 4.7 65 388 4.1 5.6 8.1 1.2 3.4 66 330 3.6 3.5 4.6 2.1 3.0 67 489 1.1 5.8 7.9 0.8 1.8 68 299 3.5 5.5 13.6 1.0 2.8 69 383 4.2 6.0 5.6 1.0 2.5 70 427 3.1 2.8 5.0 1.5 2.5 71 346 3.4 3.7 6.2 1.2 2.2 mean 325.5 3.4 4.2 6.2 1.3 2.5 median 338.0 3.5 4.3 5.6 1.3 2.3 Table 3.2: SSCFLP iteration count results, Holmberg et al. dataset (|N | = 200) 46 Figure 3.1: SSCFLP results, Holmberg et al. dataset (|N | = 200), Aggregate plots. Relative gaps are displayed as relative difference between upper and the maximum lower bounds. (Top Left): Average relative gap over 16 problem instances as a function of time. (Top Right): Average relative gap over 16 problem instances as a function of iterations. (Bottom Left): Comparative run times between using stabilization and using no stabilization for all 16 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 16 problem instances. 47 3.7.2.2 Results on the Yang et al. dataset In our second set of experiments we use the benchmark dataset presented in Yang et al. [2012]. This dataset contains a number of large instances. We focus here on a subset of 10 instances where |N | = 200. Instances 1-5 have |I| = 30 while instances 6-10 have |I| = 60. Customer and facility locations are randomly assigned on the unit square. Costs are set as the euclidean distance between a particular customer and facility multiplied by 10 and then rounded. The ratio of total capacity to total demand ranges from 1.8 to 3.5. We report the same data as for the Holmberg et al. dataset. In Table 3.3 we report the runtime results for each instance. In Table 3.4 we report the iteration count results. In Figure 3.2 we report the average performance as a function of time and iterations, just as in Figure 3.1. Here, although each set of DOI provide an improvement in the iterations, fdoi and the sfdoi fail to improve upon the conver- gence time and in fact manage to slow down convergence overall. The computational cost here for fdoi is too high when compared to the iteration count benefit, leading to a average speedup (or a slowdown rather) of 0.2. sdoi still managed to provide a positive speedup in all instances, with an average speedup of 1.5. smsdoi provides an average speedup of 2.9, falling just short of the average speedup of sm, which was 3.0. 48 Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi 1 38.6 1.6 0.2 0.3 2.9 2.1 2 28.4 1.3 0.1 0.2 3.2 2.0 3 38.2 1.7 0.2 0.3 5.1 3.0 4 54.0 1.5 0.2 0.4 4.1 3.3 5 106.0 1.6 0.2 0.4 2.7 5.0 6 34.6 1.6 0.2 0.2 2.8 3.1 7 27.4 1.4 0.2 0.2 2.3 2.7 8 41.2 1.5 0.2 0.3 2.2 2.2 9 28.9 1.5 0.2 0.2 2.8 3.4 10 36.4 1.4 0.2 0.3 1.6 2.6 mean 43.4 1.5 0.2 0.3 3.0 2.9 median 37.3 1.5 0.2 0.3 2.8 2.8 Table 3.3: SSCFLP runtime results, Yang et al. dataset (|N | = 200) Iterations Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi 1 500 1.9 1.4 2.1 0.9 1.3 2 363 1.5 1.2 1.7 0.9 1.3 3 477 1.9 1.4 2.2 1.3 1.9 4 595 1.6 1.6 2.7 1.2 1.7 5 1070 1.5 1.3 1.8 1.1 2.4 6 353 1.8 1.3 2.1 1.5 2.1 7 290 1.6 1.2 1.9 1.3 1.9 8 398 1.6 1.4 2.2 1.2 1.4 9 307 1.7 1.2 2.1 1.3 2.3 10 408 1.5 1.4 2.3 0.9 1.9 mean 476.1 1.7 1.3 2.1 1.2 1.8 median 403 1.6 1.3 2.1 1.2 1.9 Table 3.4: SSCFLP iteration results, Yang et al. dataset (|N | = 200) 49 Figure 3.2: SSCFLP results, Yang et al. dataset (|N | = 200), Aggregate plots. Relative gaps are displayed as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 10 problem instances as a function of time. (Top Right): Average relative gap over 10 problem instances as a function of iterations. (Bottom Left): Comparative run times between using stabilization and using no stabilization for all 10 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 10 problem instances. 50 3.7.2.3 DOI and their effect on problems with dense columns We note that problems with denser columns in the final solution can lead to slower convergence, allowing the DOI to provide more benefit. Facility capacities provide a hard ceiling on the size of any potential column. We aim here to relax this ceiling and see the effect on the performance of each set of DOI. Specifically, we take the same problem instances from Holmberg et al. [1999] and Yang et al. [2012] in the previous sections and boost each facility capacity by a factor of 2, 3, and 4. For each facility we use K ?i = LKi as the facility capacity where Ki was the original facility capacity and L is the increase factor. The runtime speedup results for both datasets are shown in Table 3.5 and the iteration count results are shown in Table 3.6. Here we see a general trend of improvement in speedup as L increases. sdoi and smdoi show the most speedup at higher capacities on Holmberg et al. while sm and smsdoi show the most speedup on Yang et al.. Overall, smsdoi shows the best performance at high capacity levels on both datasets, achieving an average speedup 32.8 and 30.6 at L = 4 on Holmberg et al. and Yang et al. respectively. fdoi and sfdoi show positive improvement as the capacity level is increased. fdoi goes from an average speedup of 0.7 and 0.2 at L = 1 on Holmberg et al. and Yang et al. datasets respectively to 3.6 and 2.5 at L = 4. sdoi also shows overall improvement, going from an average speedup of 3.8 to 19.3 on Holmberg et al. and from 1.6 to 4.1 on Yang et al.. We note that on most problem instances where sdoi and fdoi both perform well, the sfdoi can often experience significant diminishing 51 Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi L = 1 21.6 3.7 1.7 2.4 4.2 4.5 L = 2 72.7 10.4 6.2 11.1 7.7 15.5 mean L = 3 111.6 16.2 10.3 16.7 9.9 25.9 L = 4 137.8 18.8 13.1 22.1 11.4 32.8 L = 1 23.7 3.9 1.7 2.1 3.9 4.7 L = 2 58.3 10.7 6.1 9.7 7.7 15.8 median L = 3 98.7 16.6 10.8 17.8 9.1 24.7 L = 4 123.1 19.3 13.1 20.8 11.0 34.9 L = 1 43.4 1.5 0.2 0.3 3.0 2.9 L = 2 141.6 2.3 0.4 0.8 8.3 10.3 mean L = 3 545.6 3.6 2.1 4.6 16.5 23.8 L = 4 838.4 4.2 3.6 10.3 18.6 30.6 L = 1 37.3 1.5 0.2 0.3 2.8 2.8 L = 2 92.0 2.2 0.4 0.5 7.8 7.4 median L = 3 262.1 3.0 0.9 1.6 10.9 10.9 L = 4 304.2 3.0 2.2 4.1 14.1 15.0 Table 3.5: SSCFLP runtime results for increased capacity. New capacity K ?i = LKi for each facility returns in employing both DOI. On certain problems, however, this stark pattern of diminishing returns is not as prevalent and sfdoi can do notably better than both other DOI separately. We find this occurs frequently on difficult problems where standard CG takes particularly long to converge. Finally we note that although sdoi appears to do comparatively worse on Yang et al. compared to sm than on Holmberg et al., smsdoi still offers significant benefit on larger capacity values for the same dataset, surpassing sm?s average speedup for capacity levels L ? 2. 3.7.2.4 Results on newly generated random instances To assess our DOI further, we have generated two new datasets. The first dataset has a specific construction where assignment costs are untruncated Eu- clidean distances between facilities and customers. We refer to these problems as the structured problems. We set |N | = 250 and |I| = 50 and generate 50 inde- 52 Yang et al. Holmberg et al. Iterations Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi L = 1 325.5 3.4 4.2 6.2 1.3 2.5 L = 2 575.9 5.4 7.6 13.2 1.6 4.4 mean L = 3 717.4 6.8 10.0 15.9 1.8 5.8 L = 4 754.5 6.9 11.0 18.1 1.8 6.4 L = 1 338.0 3.5 4.3 5.6 1.3 2.3 L = 2 561.0 5.6 7.6 11.2 1.7 4.6 median L = 3 683.5 7.1 10.2 16.2 1.8 5.8 L = 4 765.0 7.0 11.5 16.8 1.8 6.1 L = 1 476.1 1.7 1.3 2.1 1.2 1.8 L = 2 868.6 1.9 2.1 3.2 2.0 3.9 mean L = 3 1259.8 2.1 3.5 4.8 2.7 4.1 L = 4 1376.8 2.0 4.6 6.6 2.8 4.3 L = 1 403 1.6 1.3 2.1 1.2 1.9 L = 2 725.5 1.9 1.8 2.5 2.0 3.2 median L = 3 1075 2.1 2.6 4.1 2.5 .1 L = 4 1115 1.9 3.9 4.8 3.0 4.1 Table 3.6: SSCFLP iteration count results for increased capacity. New capacity K ?i = LKi for each facility pendent and identically distributed random instances. For each instance, customer and facility locations are randomly generated uniformly on the 2-D unit plane. The associated costs between facilities and customers are set as the euclidean distance between their respective locations. Each facility is given an opening cost fi = 5 and capacity Ki = 150. Each customer is assigned a random demand drawn uniformly over {1, 2, 3, 4, 5}. Table 3.7 provides aggregate runtimes, Table 3.8 provides the aggregate iteration counts, and Figure 3.3 shows the aggregate plots of the DOI performance. In the second class of random problem instances we abandon the structure defined previously and instead assign costs between facilities and customers devoid of any underlying structure. We refer to these problems as the unstructured problems. Assignment costs are randomly generated over a uniform distribution on the interval (0,1). We set |N | = 250 and |I| = 50 and generate 50 independent and identically 53 Yang et al. Holmberg et al. Time (sec) Speedup std sdoi fdoi sfdoi sm smsdoi mean 2750.0 159.0 22.0 146.0 36.6 320.5 median 521.7 24.5 3.4 12.8 12.1 51.9 Table 3.7: SSCFLP average runtime over 50 structured problem instances. Iterations Iteration Speedup std sdoi fdoi sfdoi sm smsdoi mean 1736.2 9.7 7.2 19.4 3.8 11.1 median 1212.5 6.6 4.9 10.6 3.2 8.0 Table 3.8: SSCFLP average iteration count over 50 structured problem instances. distributed random instances. Each facility is given an opening cost fi = 5 and capacity Ki = 150. Each customer is assigned a random demand drawn uniformly over {1, 2, 3, 4, 5}. Runtime results are shown in Table 3.9, iteration counts results are shown in Table 3.10, and aggregate plots are shown in Figure 3.4. On the structured dataset, smsdoi performs the best with an average speedup of 320.5. sdoi and fdoi also perform well with average speedups of 159.0 and 22.0 respectively. sfdoi had an average speedup of 146.0, however this is worse on average than sdoi on its own. sm provides an average speedup of 36.6. We see from the structured dataset the vast improvement achievable with the S-DOI on difficult problems with an underlying structure behind the assignment costs. In fact, its benefit works additively to that of smoothing, as is evidenced by smsdoi performing markedly better than both sdoi and sm. On the unstructured dataset we observe a limitation of the S-DOI. The S-DOI Time (sec) Speedup std sdoi fdoi sfdoi sm smsdoi mean 59.0 0.9 1.5 0.9 7.3 2.8 median 59.1 0.9 1.5 0.9 7.3 2.8 Table 3.9: SSCFLP average runtime over 50 unstructured problem instances. 54 Figure 3.3: SSCFLP aggregate plots, structured dataset. Relative gaps are displayed as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 50 problem instances as a function of time. (Top Right): Average relative gap over 50 problem instances as a function of iterations. (Bottom Left): Comparative run times between using stabilization and using no stabilization for all 50 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 50 problem instances. Iterations Iteration Speedup std sdoi fdoi sfdoi sm smsdoi mean 353.28 1.1 3.9 3.9 2.2 2.3 median 354 1.1 3.8 3.9 2.2 2.3 Table 3.10: SSCFLP average iteration count over 50 unstructured problem instances. 55 Figure 3.4: SSCFLP aggregate plots, unstructured dataset. Relative gaps are dis- played as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 50 problem instances as a function of time. (Top Right): Average relative gap over 50 problem instances as a function of itera- tions. (Bottom Left): Comparative run times between using stabilization and using no stabilization for all 50 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 50 problem instances. 56 fail to provide any significant benefit. This is due to the poor correlation between relative customer costs across facilities. This prevents the S-DOI from finding low ?s values to effectively restrict the dual space. We note that the F-DOI do not share this limitation as they perform relatively well on these problems, achieving an average speedup of 1.5. Just as the S-DOI were more robust to problems with lower facility capacities, we see here that the F-DOI are more robust to problems with weaker underlying structure. 3.7.3 CpMP In this section we continue the empirical study of the DOI on the CpMP described in Section 3.6.2. We test on the same datasets used in Section 3.7.2, however we set the facility opening cost for each facility to 0 and the facility count, p, for each problem to the facility count of the solution of the linear relaxation of the equivalent SSCFLP problem rounded up to the nearest integer. For the Holmberg et al. and Yang et al. datasets we run the same capacity adjustment experiments described in Section 3.7.2.3. For the CpMP experiments, we occasionally saw that unstabilized CG took prohibitively long to converge. For those problems we cut off opimization after 5000 iterations. For averages we put a ?+? to indicate the number provided serves as a lower bound and the actual runtime or speedup may be significantly higher. The algorithms have been coded in MATLAB and we use CPLEX as our general-purpose mixed integer programming solver. Our machine is equipped with an 8-core AMD Ryzen 1700 CPU @3.0 GHz and 32 GB of memory 57 running Windows 10. All other implementation parameters are equivalent to those described in Section 3.7.2. 3.7.3.1 Results on the Holmberg et al. and Yang et al. datasets Runtime and iteration count results for the Holmberg et al. dataset are shown in Tables 3.11 and 3.12 respectively. Aggregate plots for the Holmberg et al. dataset are shown in Figure 3.5. We see that over the dataset, sdoi provides the greatest speedup with an average speedup of 3.5. We see that sdoi provides a speedup in all 16 instances, which cannot be said for any other stabilization scheme tested on the Holmberg et al. dataset. sfdoi has the overall best improvement in the number of iterations, providing an average iteration count speedup of 5.2. sm provides an average runtime speedup of 1.6. fdoi provides an average iteration count speedup of 3.4 but fails to provide any significant average runtime speedup. Runtime and iteration count results for the Yang et al. dataset are shown in Tables 3.13 and 3.14 respectively. Aggregate plots for the Yang et al. dataset are shown in Figure 3.6. smsdoi provides the greatest average runtime speedup at 2.0. sdoi performs the next best with an average runtime speedup of 1.5. Again, sdoi provides a positive speedup in all instances. sm provides an average runtime speedup of 1.4 but median runtime speedup of only 1.1. Both fdoi and sfdoi fail to provide a positive average runtime speedup. Runtime and iteration count results for the increased capacity results for both datasets are shown in Tables 3.15 and 3.16 respectively. On the Holmberg et al. 58 dataset, we see that sdoi and sfdoi provide the highest average runtime speedups at L = 4 with both achieving an average speedup of 14.9. fdoi and sm get good average runtime speedups at L = 4 with speedups of 8.1 and 6.4 respectively. Overall, all stabilization schemes do very well at higher capacity levels, but to varying degrees. For the Yang et al. dataset, we see that sfdoi has the most improvement when increasing the capacity levels and achieves the highest average runtime speedup at L = 4, with a speedup of 103.6. This significantly outperforms the next best stabilization scheme at L = 4, which is fdoi with a speedup of 59.5. smdoi achieves a high average runtime speedup of 56.0 at L = 4, which is significantly higher than sdoi or sm individually, which achieves speedups of 5.5 and 37.3 receptively. Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi 56 4.6 1.2 0.3 0.4 1.4 0.8 57 7.0 1.9 0.1 0.3 0.9 0.9 58 6.9 1.8 0.1 0.3 0.9 0.9 59 6.9 1.9 0.1 0.3 0.9 0.9 60 15.8 4.1 1.2 1.5 2.1 3.1 61 27.5 3.9 1.1 2.1 1.5 3.8 62 20.8 4.0 0.4 0.9 0.7 2.6 63 27.5 3.9 1.1 2.1 1.5 3.8 64 21.3 5.6 2.3 2.4 3.5 5.2 65 32.2 5.7 2.4 3.8 2.1 3.8 66 28.3 4.0 1.0 1.1 1.4 2.4 67 29.4 1.1 1.0 1.2 1.9 1.3 68 15.0 3.3 1.2 1.9 2.4 2.6 69 27.3 4.5 1.3 2.0 1.2 2.7 70 42.7 4.4 0.8 1.6 1.1 2.6 71 21.6 4.6 1.6 3.0 1.5 2.0 mean 20.9 3.5 1.0 1.6 1.6 2.5 median 21.5 4.0 1.1 1.6 1.5 2.6 Table 3.11: CpMP runtime results, Holmberg et al. dataset (|N | = 200) 59 Iterations Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi 56 171 3.0 2.5 3.5 0.7 1.2 57 187 3.3 1.5 4.0 0.4 1.0 58 187 3.3 1.5 4.0 0.4 1.0 59 187 3.3 1.5 4.0 0.4 1.0 60 278 3.9 3.2 3.7 0.6 1.8 61 369 3.2 3.8 5.6 0.5 1.9 62 304 3.8 2.4 4.8 0.4 1.5 63 369 3.2 3.8 5.6 0.5 1.9 64 321 4.6 5.5 5.2 0.9 2.7 65 375 4.2 5.4 9.4 0.6 1.6 66 369 3.6 3.4 4.4 0.5 1.3 67 372 1.6 3.8 4.5 0.6 0.8 68 272 3.2 3.7 5.9 0.7 1.6 69 338 3.5 4.1 4.2 0.4 1.3 70 481 3.2 3.3 6.6 0.5 1.2 71 319 3.9 4.8 8.2 0.5 1.1 mean 306.2 3.4 3.4 5.2 0.6 1.4 median 320.0 3.3 3.6 4.6 0.5 1.3 Table 3.12: CpMP iteration count results, Holmberg et al. dataset (|N | = 200) Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi 1 35.5 1.7 0.2 0.2 2.6 2.2 2 22.5 1.3 0.2 0.2 1.2 1.7 3 43.9 1.8 0.3 0.3 3.2 2.1 4 32.7 1.6 0.2 0.3 1.4 3.3 5 90.8 1.3 0.2 0.3 1.0 2.8 6 32.7 1.6 0.3 0.3 1.1 1.7 7 29.8 1.4 0.1 0.2 0.6 1.4 8 34.8 1.6 0.2 0.3 0.9 1.0 9 28.0 1.5 0.3 0.4 0.9 1.9 10 29.7 1.6 0.2 0.2 0.6 1.4 mean 38.0 1.5 0.2 0.3 1.4 2.0 median 32.7 1.6 0.2 0.3 1.1 1.8 Table 3.13: CpMP runtime results, Yang et al. dataset (|N | = 200) 60 Figure 3.5: CpMP Holmberg et al. dataset (|N | = 200), Aggregate plots. Relative gaps are displayed as relative difference between upper and the maximum lower bounds. (Top Left): Average relative gap over 16 problem instances as a function of time. (Top Right): Average relative gap over 16 problem instances as a function of iterations. (Bottom Left): Comparative runtimes between using stabilization and using no stabilization for all 16 problem instances. (Bottom Right): Comparative iterations required between stabilization and using no stabilization for all 16 problem instances. Iterations Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi 1 392 1.9 1.4 2.1 0.9 1.5 2 276 1.7 1.5 2.3 0.5 1.1 3 496 2.0 1.7 2.5 0.9 1.4 4 374 2.0 1.6 2.6 0.6 2.0 5 720 1.4 1.3 2.0 0.5 1.3 6 306 1.7 1.7 2.2 0.6 1.1 7 274 1.5 1.2 1.9 0.4 0.9 8 312 1.7 1.6 2.3 0.5 0.7 9 313 1.5 2.1 2.7 0.6 1.4 10 285 1.7 1.5 2.3 0.5 0.9 mean 374.8 1.7 1.6 2.3 0.6 1.2 median 312.5 1.7 1.5 2.3 0.6 1.2 Table 3.14: CpMP iteration results, Yang et al. dataset (|N | = 200) 61 Figure 3.6: CpMP Yang et al. dataset (|N | = 200), Aggregate plots. Relative gaps are displayed as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 10 problem instances as a function of time. (Top Right): Average relative gap over 10 problem instances as a function of iterations. (Bottom Left): Comparative runtimes between using stabilization and using no stabilization for all 10 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 10 problem instances. 62 Time (sec) Speedup Instance std sdoi fdoi sfdoi sm smsdoi L = 1 20.9 3.5 1.0 1.6 1.6 2.5 L = 2 48.6 6.9 3.1 5.4 3.4 5.5 mean L = 3 92.7 11.9 6.2 12.7 5.7 10.4 L = 4 121.0 14.9 8.1 14.9 6.4 13.5 L = 1 21.5 4.0 1.1 1.6 1.5 2.6 L = 2 32.6 6.4 2.7 3.9 3.2 5.1 median L = 3 68.9 11.3 4.4 6.3 4.7 7.7 L = 4 98.5 12.5 5.3 10.7 5.7 11.4 L = 1 38.0 1.5 0.2 0.3 1.4 2.0 L = 2 249.2 2.6 1.7 3.0 1.1 5.8 mean L = 3 1190.7 3.5 11.1 37.4 4.5 19.7 L = 4 3682.1+ 5.5+ 59.5+ 103.6+ 37.3+ 56.0+ L = 1 32.7 1.6 0.2 0.3 1.1 1.8 L = 2 138.1 2.0 1.4 2.0 0.9 3.8 median L = 3 523.5 3.3 3.4 7.3 1.3 8.4 L = 4 847.8 3.5 16.0 32.7 6.3 15.6 Table 3.15: CpMP runtime results for increased capacity. New capacity K ?i = LKi for each facility Iteration Speedup Instance std sdoi fdoi sfdoi sm smsdoi L = 1 306.2 3.4 3.4 5.2 0.6 1.4 L = 2 435.7 4.4 5.5 9.1 0.8 2.0 mean L = 3 552.1 5.2 7.6 12.6 0.9 2.5 L = 4 620.0 5.7 8.2 14.5 1.0 2.8 L = 1 320.0 3.3 3.6 4.6 0.5 1.3 L = 2 377.0 4.7 5.4 8.3 0.7 1.8 median L = 3 486.0 5.2 6.9 10.0 0.9 2.3 L = 4 560.5 5.7 7.1 12.6 1.0 2.6 L = 1 374.8 1.7 1.6 2.3 0.6 1.2 L = 2 1003.0 1.9 3.7 5.1 0.6 1.5 mean L = 3 1744.7 2.2 7.2 13.5 0.9 2.0 L = 4 2226.4+ 2.1+ 11.1+ 15.0+ 1.9+ 2.6+ L = 1 312.5 1.7 1.5 2.3 0.6 1.2 L = 2 802.5 1.7 3.4 4.3 0.5 1.2 median L = 3 1332.5 2.2 5.4 6.9 0.6 1.7 L = 4 1515.0 2.2 10.2 10.9 1.3 1.9 Table 3.16: CpMP iteration count results for increased capacity. New capacity K ?i = LKi for each facility 63 Yang et al. Holmberg et al. Yang et al. Holmberg et al. 3.7.3.2 Results on newly generated random instances CpMP runtime results on the structured and unstructured synthetic datasets are shown in Tables 3.17 and 3.19 respectively. Aggregate plots for the structured dataset are shown in Figure 3.7. Aggregate plots for the unstructured dataset are shown in Figure 3.8. Their respective iteration count results are shown in Tables 3.18 and 3.20. On the structured problems, we see that sfdoi perform the best on average with a runtime speedup of 393.8 while sdoi perform the best in the median case with an median runtime speedup of 132.5. sm and fdoi have average runtime speedups of 22.2 and 17.2 respectively. sdoi again fail to translate their performance on the structured problem set to the unstructured dataset. sdoi achieves an average runtime speedup of 329.2 on the structured dataset but fails to provide any speedup on the unstructured dataset. In fact, fdoi is the only stabilization scheme that provide a positive average or median runtime speedup on the unstructured dataset. fdoi provides an average runtime speedup of 1.2 and a median runtime speedup of 1.3 on the unstructured dataset. We note that throughout the CpMP experiments, sm usually provides high runtime speedups, but this is apparently not drawn from a reduction in the iteration counts. Iteration counts for sm are usually unimproved over stabilized CG on the CpMP results shown here. Instead the improvement, which is often significant, comes from a reduction in the runtime cost of solving the primal RMP through each iteration. 64 Time (sec) Speedup std sdoi fdoi sfdoi sm smsdoi mean 8239.5+ 329.2+ 17.2+ 393.8+ 22.2+ 298.7+ median 2212.3 132.5 5.9 69.5 6.6 76.7 Table 3.17: CpMP average runtime over 50 structured problem instances. Iteration Iteration Speedup std sdoi fdoi sfdoi sm smsdoi mean 2389.1 13.9 8.3 36.1 1.1 5.4 median 1809.5 11.7 6.6 21.6 0.9 4.1 Table 3.18: CpMP average iteration count over 50 structured problem instances. Time (sec) Speedup std sdoi fdoi sfdoi sm smsdoi mean 52.7 0.7 1.2 0.8 0.5 0.4 median 50.3 0.7 1.3 0.8 0.4 0.4 Table 3.19: CpMP average runtime over 50 unstructured problem instances. Iteration Iteration Speedup std sdoi fdoi sfdoi sm smsdoi mean 311.6 1.1 4.1 4.2 0.3 0.4 median 307.5 1.1 4.2 4.3 0.3 0.3 Table 3.20: CpMP average iteration count over 50 unstructured problem instances. 65 Figure 3.7: Structured dataset CpMP aggregate plots. Relative gaps are displayed as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 50 problem instances as a function of time. (Top Right): Average relative gap over 50 problem instances as a function of iterations. (Bottom Left): Comparative runtimes between using stabilization and using no stabilization for all 50 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 50 problem instances. 66 Figure 3.8: Unstructured dataset CpMP aggregate plots. Relative gaps are displayed as the relative difference between upper and maximum lower bound. (Top Left): Average relative gap over 50 problem instances as a function of time. (Top Right): Average relative gap over 50 problem instances as a function of iterations. (Bottom Left): Comparative runtimes between using stabilization and using no stabilization for all 50 problem instances. (Bottom Right): Comparative iterations required between using stabilization and using no stabilization for all 50 problem instances. 67 3.7.4 Discussion The experiments in Sections 3.7.2 and 3.7.3 show the vast benefit in conver- gence times provided by the DOI. S-DOI perform very well on most datasets and especially well on large problems. F-DOI perform very well on many datasets too, especially large problems for the CpMP. SF-DOI usually provide the greatest itera- tion count speedup, but this can often come at a computational cost that precludes it from having the best runtimes. We see that S-DOI often perform better than the smoothing algorithm, however we also see that they can sometimes be used together to provide even better speedups than they each would individually. This is most clearly seen on the structured dataset of the SSCFLP. 68 Chapter 4: Relaxed-DOI for the Capacitated Vehicle Routing Prob- lem 4.1 Introduction In this chapter we extend the application of the DOI presented in Chapter 3 to a new class of CG problems. First we tackle the Capacitated Vehicle Routing Prob- lem (CVRP). The CVRP addresses the problem of routing a fleet of homogeneous vehicles to service a set of customers. The CVRP is particularly challenging because its pricing problem amounts to solving an elementary resource constrained shortest path problem (ERCSPP), which is NP-hard [Dror, 1994, Irnich and Desaulniers, 2005]. We provide a construction for the S-DOI and F-DOI on this problem and follow up with experiments. Next, we address a general class of CG problems where the set of valid columns ? is expanded to include columns l with repeat elements. Our primary application for this approach is the ng-route relaxation of the CVRP. In the ng-route relaxation of the CVRP, the route restrictions are relaxed to allow for repeat elements under certain conditions. This is done to alleviate the computational difficulties that come during pricing. The classical CVRP, which we also refer to as the elementary 69 CVRP, requires us to solve an ERCSPP. ng-routes relax the elementarity condition, allowing for customers to be revisited so long as a route has traveled outside of a certain region before returning to that customer. As a result of this approach, the corresponding pricing problem becomes more computationally tractable. We show that the S-DOI, F-DOI, and SF-DOI presented in Chapter 3, though possibly invalid for such problems, can still be leveraged to accelerate CG. The DOI can be used within a framework that sequentially eliminates their associated artificial variables until a valid optimum has been reached. We call this implementation relaxed-DOI. In this chapter we also offer a construction of the F-DOI that is valid for the ng-route relaxation to the CVRP. Much of the work presented in this chapter can be found in Haghani et al. [2020a]. This chapter is organized as follows. In Section 4.2 we provide an overview of the necessary background for the CVRP. In Section 4.3 we formulate the CVRP, provide a construction of our DOI for the problem, and run experiments. Finally, in Section 4.4 we consider the CG approach with relaxed column restrictions, present our principal application of the ng-route relaxation, and run experiments with the approach we describe. 4.2 Background The CVRP, first introduced by Dantzig and Ramser [1959], handles the prob- lem of routing a fleet of vehicles to service a set of customers at minimum cost. Each customer has a certain demand that must be met, and each vehicle has a ca- pacity limiting the amount of demand it can service on its trip. The first use of CG 70 on this class of problems was done by Desrochers et al. [1992] which constructed a set partitioning CG approach to the capacitated vehicle routing problem with time windows (CVRPTW). The CVRPTW generalizes the CVRP by requiring that each customer be serviced within that customer?s time window. CG approaches to vehi- cle routing problems, such as the CVRP and CVRPTW, face the very challenging elementary resource constrained shortest path problem (ERCSPP) during pricing, which is NP-hard [Dror, 1994, Irnich and Desaulniers, 2005]. Elementarity requires that each customer along a path be visited at most once. The ERCSPP is typically solved to optimality using a dynamic program, how- ever this is computationally intractable at scale. To alleviate some of this challenge, Desrochers et al. [1992] proposed a relaxation of the elementarity condition leading to the resulting resource constrained shortest path problem (RCSPP), which can be solved in pseudo-polynomial time [Martinelli et al., 2014]. This approach was used in tandem with 2-cycle elimination, which restricts cycles of length two. Irnich and Desaulniers [2005] proposed a cycle elimination approach which prevents all cycles of a given length. This algorithm shows a factorial growth in complexity with the size of the forbidden cycles. Righini and Salani [2008] proposed a technique called decremental state space relaxation (DSSR). This technique disregards elementarity conditions and imposes them incrementally according to the cycles found in the resultant solutions. This process is continued until all cycles have been eliminated and elementarity is achieved. Baldacci et al. [2011] proposed the ng-route relax- ation, which restricts cycles from occurring before a route has traveled sufficiently far away from the customer that is revisited. 71 4.3 The Capacitated Vehicle Routing Problem The CVRP addresses the challenge of routing a fleet of vehicles to service a set of customers at minimum cost. The CVRP is defined as follows. We are given a set of nodes N representing customers. We define an associated superset M = {0, 1, 2, ..., |N |, |N | + 1} which includes all the members of N along with a starting depot, indexed 0, and an ending depot, indexed |N |+ 1. We are also given a homogeneous fleet of vehicles V , which may or may not be limited in number. Each customer u ? N has an associated demand du. Each vehicle in the fleet has a set capacity Q constant across all vehicles. Vehicles can take routes that travel between the nodes in M, but they must start from the starting depot and end at the ending depot (note that it can be the case, and it is in fact common, that the starting depot and the ending depot refer to the same node). Traversing between two distinct elements u, v ? M incurs an assigned cost cuv. Vehicles service customers by traveling to them on their route and servicing their demand. Vehicles cannot service more cumulative demand along their route than their capacity allows. The problem is to determine a minimum cost set of routes that services all customers. We assume the traversal costs satisfy the triangle inequality. For the classical CVRP we also assume that routes can visit each customer at most once. This quality is called elementarity. Let {xuvk}, where u, v ?M and k ? V , be a set decision variable representing arcs in a complete graph across the nodes inM. We set xuvk equal to 1 if vehicle k travels directly from node u to node v in the solution and 0 otherwise. The CVRP 72 can be modeled as an integer linear program by the following. ?? ? min cuvxuvk (4.1) x k?V u?M v?M subject to ?? xvuk = 1 u ? N (4.2) k??V v?M? du xuvk ? Q k ? V (4.3) u??N v?M? xuhk ? xhvk = 0 h ? N , k ? V (4.4) u??N v?N x0uk = 1 k ? V (4.5) u??N xu(|N |+1)k = 1 k ? V (4.6) u?N xuvk ? {0, 1} u, v ?M, k ? V . (4.7) Our objective function that we wish to minimize is defined by (4.1). (4.2) ensures that each customer is serviced exactly once. (4.3) ensures that no vehicle services more customers than its capacity allows. (4.4) ensures that our route is a connected path on the graph. (4.5) and (4.6) ensure that each vehicle starts at the start node and ends and the end node respectively. To apply CG we model the CVRP as a set cover problem. W?e define a route l = (v0 = 0, v1, ..., vn = |N |+1) as a sequence of nodes visited where dvi?{v1,...,v ? Qn?1} must be satisfied. Note that v = 0 and v = |N | + 1 correspond to the start node 73 and the end node respectively, and both have a demand of 0. The cost associated with route l is given by: ? cl = {cv v : i = 0, 1 . . . n? 1} (4.8)i i+1 Let ? represent the set of all valid routes. Let aul be a variable indicating whether route l ? ? covers item u ? N , where aul equals 1 if item u is covered and 0 otherwise. Also let ?l be a binary decision variable taking value 1 if route l is in our solution and taking value 0 otherwise. We have the following set cover formulation for the CVRP. ? min cl?l (4.9) ? l?? subject to ? aul?l ? 1 u ? N (4.10) l?? ?l ? {0, 1} l ? ?. (4.11) We apply CG to the linear relaxation of (4.9)-(4.11). We formulate the as- sociated pricing problem in Section 4.3.1. To stabilize CG we apply our DOI. We present their construction for the CVRP in Section 4.3.3. 74 4.3.1 CVRP Pricing Let ? represent the dual variables associated with constraints (4.10), where ?u is specifically associated with the constraint indexed by u. Pricing in the CVRP amounts to solving the following equation. ? c?min = min cl ? aul?u (4.12) l?? u?N Let use define the following modified set of cost components. c?uv = cuv ? ?v, u ?M, v ? N (4.13) With the modified cost components, we can produce the following ERCSPP where xuv for u, v ? M is a binary decision variable indicating the link between nodes u and v is active in the solution. ? ? min c?uvxuv (4.14) x u?M v?M subject to ? xvu ? 1 u ? N (4.15) v??M ? du xuv ? Q (4.16) u??N v?M? xuh ? xhv = 0 ?h ? N (4.17) u?N v?N 75 ? x0u = 1 (4.18) u??N xu(|N |+1) = 1 (4.19) u?N xuv ? {0, 1} ?u, v ?M (4.20) (4.14) minimizes our objective function. (4.15) enforces elementarity. (4.16) ensures that our route does not service more customers than a vehicle?s capacity allows. (4.17) ensures that our route is a connected path on the graph. (4.18) and (4.19) ensure that each vehicle starts at the start node and ends and the end node respectively. 4.3.2 CVRP Lower Bound We refer to (2.14) to construct the Lagrangian lower bound on the solution to the CVRP. We specifically consider (2.17). The lower bound for the CVRP can be calculated as follows. ? ?LB(??, ??) = cl??l + |N |c?min (4.21) l?? 4.3.3 DOI for the CVRP In this section we present a construction for both the S-DOI, Section 4.3.3.1, and the F-DOI, Section 4.3.3.2. 76 4.3.3.1 S-DOI In this section we present the construction of the S-DOI for the CVRP. Recall that ? represents the worst cost replacement between two unique items in N . For the CVRP we can put an upper bound on each ? by the following equation: ?uv ? cuv + cvu (4.22) This says that each ?uv need not be any greater than the cost of traversing from u to v and back. In practice though, we can construct a tighter restriction by taking the worst case cost of replacing u with v over any feasible route in the graph that includes node u but not node v. This is calculated as follows. ?uv = max {civ + cvj ? ciu ? cuj} (4.23) i,j?M\{u,v},i 6=j,di+dj?Q?du u, v ? N , u 6= v, du ? dv This is the worst case replacement penalty for all nodes that could feasibly fit the capacity constraint. Note that in order for ?uv to be included as a dual bound, we require that dv ? du, otherwise a replacement might not always be feasible. 4.3.3.2 F-DOI To apply the F-DOI we must construct the associated ?ul values that serve as rebates for the overcovering of items. Note that we must do so ensuring that 77 (3.6) is satisfied. Unlike for the SSCFLP and the CpMP, the CVRP presents a more complicated challenge in this regard due to the fact that the cost change for a removal of any item from a route is dependent on the adjacent items visited along the route. As well, for any route containing an item, that item?s cost change for a removal may vary depending on what other items are also removed from the route. Considering this, we can construct the worst case bound for our ?ul values. We introduce the following labeling for the elements in a route l. l = {ul , ul , ul0 1 2, ..., ul|N |, ull |Nl|+1} (4.24) The variable ul0 refers to the start depot, u l |N |+1 refers to the end depot, and u l l i generally refers to the ith node visited after the vehicle leaves the depot. Let kl(u) be the index of item u?s position in l. The worst case bound of ?ul for a given l ? ? is given by the following. { } ?ul = min cvlu + cuvl ? cvlvl u ? Nl (4.25) (i,j):i