THEORY OF LINEAR AND INTEGER PROGRAMMING

Similar documents
Integer and Combinatorial Optimization

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

Integer Programming Theory

Linear and Integer Programming (ADM II) Script. Rolf Möhring WS 2010/11

LARGE SCALE LINEAR AND INTEGER OPTIMIZATION: A UNIFIED APPROACH

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

Mathematical and Algorithmic Foundations Linear Programming and Matchings

A Course in Convexity

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

DETERMINISTIC OPERATIONS RESEARCH

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

5.3 Cutting plane methods and Gomory fractional cuts

Linear programming and duality theory

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Integer Programming as Projection

Some Advanced Topics in Linear Programming

Convex Optimization CMU-10725

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Linear Programming. Course review MS-E2140. v. 1.1

Improved Gomory Cuts for Primal Cutting Plane Algorithms

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

David G. Luenberger Yinyu Ye. Linear and Nonlinear. Programming. Fourth Edition. ö Springer

Fundamentals of Integer Programming

1. Lecture notes on bipartite matching February 4th,

Split-Cuts and the Stable Set Polytope of Quasi-Line Graphs

3 INTEGER LINEAR PROGRAMMING

Polyhedral Compilation Foundations

Linear Optimization and Extensions: Theory and Algorithms

Structural Mechanics: Graph and Matrix Methods

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Linear Programming Duality and Algorithms

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Index. 0/1 linear integer minimization, colorability, 245 4ti2, 80, 83

Polytopes Course Notes

Linear Programming in Small Dimensions

11 Linear Programming

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

Combinatorial Optimization

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

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

Dual-fitting analysis of Greedy for Set Cover

February 19, Integer programming. Outline. Problem formulation. Branch-andbound

Ec 181: Convex Analysis and Economic Theory

Combinatorial Optimization

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

Investigating Mixed-Integer Hulls using a MIP-Solver

1 date: September 15, 1998 file: mitche1

Convex Optimization M2

INTRODUCTION TO LINEAR AND NONLINEAR PROGRAMMING

The Simplex Algorithm

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

GRAPHS: THEORY AND ALGORITHMS

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Integer Programming. Leo Liberti. March 13, Abstract

Stable sets, corner polyhedra and the Chvátal closure

CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets. Instructor: Shaddin Dughmi

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

Contents. Preface... VII. Part I Classical Topics Revisited

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

CSC 8301 Design & Analysis of Algorithms: Linear Programming

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

Math 5593 Linear Programming Lecture Notes

Circuit Walks in Integral Polyhedra

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

EARLY INTERIOR-POINT METHODS

A List Heuristic for Vertex Cover

AMS : Combinatorial Optimization Homework Problems - Week V

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

1. Lecture notes on bipartite matching

Lecture 14: Linear Programming II

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 4: Convex Sets. Instructor: Shaddin Dughmi

16.410/413 Principles of Autonomy and Decision Making

Math 5593 Linear Programming Final Exam

Linear Programming and Integer Linear Programming

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Polyhedral Combinatorics (ADM III)

Polar Duality and Farkas Lemma

Applied Integer Programming

Introduction to Linear Programming

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Convexity: an introduction

A Verification Based Method to Generate Cutting Planes for IPs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

On the Hardness of Computing Intersection, Union and Minkowski Sum of Polytopes

Transcription:

THEORY OF LINEAR AND INTEGER PROGRAMMING ALEXANDER SCHRIJVER Centrum voor Wiskunde en Informatica, Amsterdam A Wiley-Inter science Publication JOHN WILEY & SONS^ Chichester New York Weinheim Brisbane Singapore Toronto

Contents 1 Introduction and preliminaries 1 1.1 Introduction, 1 1.2 General preliminaries, 3 1.3 Preliminaries from linear algebra, matrix theory, and Euclidean geometry, 4 1.4 Some graph theory, 8 2 Problems, algorithms, and complexity 14 2.1 Letters, words, and sizes, 15 2.2 Problems, 15 2.3 Algorithms and running time, 16 2.4 Polynomial algorithms, 17 2.5 The classes ^, JT9, and co-.a'&, 18 2.6./K^-complete problems, 20 Some historical notes, 21 PART I: LINEAR ALGEBRA 25 3 Linear algebra and complexity 27 3.1 Some theory, 27 3.2 Sizes and good characterizations, 29 3.3 The Gaussian elimination method, 31 3.4 Iterative methods, 36 Notes on linear algebra 38 Historical notes, 38 Further notes on linear algebra, 40 PART II: LATTICES AND LINEAR DIOPHANTINE EQUATIONS 43 4 Theory of lattices and linear diophantine equations 45 4.1 The Hermite normal form, 45 4.2 Uniqueness of the Hermite normal form, 48 4.3 Unimodular matrices, 48 4.4 Further remarks, 50 vii

tin Contents 5 Algorithms for linear diophantine equations 52 5.1 The Euclidean algorithm, 52 5.2 Sizes and good characterizations, 54 5.3 Polynomial algorithms for Hermite normal forms and systems of linear diophantine equations, 56 6 Diophantine approximation and basis reduction 60 6.1 The continued fraction method, 60 6.2 Basis reduction in lattices, 67 6.3 Applications of the basis reduction method, 71 Notes on lattices and linear diophantine equations 76 Historical notes, 76 Further notes on lattices and linear diophantine equations, 82 PART III: POLYHEDRA, LINEAR INEQUALITIES, AND LINEAR PROGRAMMING 83 7 Fundamental concepts and results on polyhedra, linear inequalities, and linear programming 85 7.1 The Fundamental theorem of linear inequalities, 85 7.2 Cones, polyhedra. and polytopes, 87 7.3 Farkas' lemma and variants, 89 7.4 Linear programming, 90 7.5 LP-duality geometrically, 92 7.6 Affine form of Farkas' lemma, 93 7.7 Caratheodory's theorem, 94 7.8 Strict inequalities, 94 7.9 Complementary slackness, 95 7.10 Application: max-flow min-cut, 96 8 The structure of polyhedra 99 8.1 Implicit equalities and redundant constraints, 99 8.2 Characteristic cone, lineality space, affine hull, dimension, 100 8.3 Faces, 101 8.4 Facets, 101 8.5 Minimal faces and vertices, 104 8.6 The face-lattice, 104 8.7 Edges and extremal rays, 105 8.8 Extremal rays of cones, 105 8.9 Decomposition of polyhedra, l 106 8.10 Application: doubly stochastic matrices, 107 8.11 Application: the matching polytope, 109 9 Polarity, and blocking and anti-blocking polyhedra 112 9.1 Polarity, 112-9.2 Blocking polyhedra, 113 9.3 Anti-blocking polyhedra. 116

Contents jx 10 Sizes and the theoretical complexity of linear inequalities and linear programming 120 10.1 Sizes and good characterizations, 120 10.2 Vertex and facet complexity, 121 10.3 Polynomial equivalence of linear inequalities and linear programming, 124 10.4 Sensitivity analysis, 125 11 The simplex method 129 11.1 The simplex method, 129 11.2 The simplex method in tableau form, 132 11.3 Pivot selection, cycling, and complexity, 137 11.4 The worst-case behaviour of the simplex method, 139 11.5 The average running time of the simplex method, 142 11.6 The revised simplex method, 147 11.7 The dual simplex method, 148 12 Primal-dual, elimination, and relaxation methods 151 12.1 The primal-dual method, 151 12.2 The Fourier-Motzkin elimination method, 155 12.3 The relaxation method, 157 13 Khachiyan's method for linear programming 163 13.1 Ellipsoids, 163 13.2 Khachiyan's method: outline, 165 13.3 Two approximation lemmas, 166 13.4 Khachiyan's method more precisely, 168 13.5 The practical complexity of Khachiyan's method, 170 13.6 Further remarks, 171 14 The ellipsoid method for polyhedra more generally 172 14.1 Finding a solution with a separation algorithm, 172 14.2 Equivalence of separation and optimization, 177 14.3 Further implications, 183 15 Further polynomiality results in linear programming 190 15.1 Karmarkar's polynomial-time algorithm for linear programming, 190 15.2 Strongly polynomial algorithms, 194 15.3 Megiddo's linear-time LP-algorithm in fixed dimension, 199 15.4 Shallow cuts and rounding of polytopes, 205 Notes on polyhedra, linear inequalities, and linear programming, 209 Historical notes, 209 Further notes on polyhedra, linear inequalities, and linear programming, 223

x Contents PART IV: INTEGER LINEAR PROGRAMMING 227 16 Introduction to integer linear programming 229 16.1 Introduction, 229 16.2 The integer hull of a polyhedron, 230 16.3 Integral polyhedra, 231 16.4 Hilbert bases, 232 16.5 A theorem of Doignon, 234 16.6 The knapsack problem and aggregation, 235 16.7 Mixed integer linear programming, 236 17 Estimates in integer linear programming 237 17.1 Sizes of solutions, 237 17.2 Distances of optimum solutions, 239 17.3 Finite test sets for integer linear programming, 242 17.4 The facets of P,, 243 18 The complexity of integer linear programming 245 18.1 ILP is J ^-complete, 245 18.2 - i^-completeness of related problems, 248 18.3 Complexity of facets, vertices, and adjacency on the integer hull, 251 18.4 Lenstra's algorithm for integer linear programming, 256 18.5 Dynamic programming applied to the knapsack problem, 261 18.6 Dynamic programming applied to integer linear programming, 264 19 Totally unimodular matrices: fundamental properties and examples 266 19.1 Total unimodularity and optimization, 266 19.2 More characterizations of total unimodularity, 269 19.3 The basic examples: network matrices, 272 19.4 Decomposition of totally unimodular matrices, 279 20 Recognizing total unimodularity 282 20.1 Recognizing network matrices, 282 20.2 Decomposition test, 287 20.3 Total unimodularity test, 290 21 Further theory related to total unimodularity 294 21.1 Regular matroids and signing of {0,1 }-matrices, 294 21.2 Chain groups, 297 21.3 An upper bound of Heller, 299 21.4 Unimodular matrices more generally, 301 21.5 Balanced matrices, 303 i 22 Integral polyhedra and total dual integrality 309 22.1 Integral polyhedra and total dual integrality, 310 22.2 Two combinatorial applications, 312 22.3 Hilbert bases and minimal TDI-systems, 315 22.4 Box-total dual integrality. 317 * 22.5 Behaviour of total dual integrality under operations, 321

Contents Xl 22.6 An integer analogue of Caratheodory's theorem, 326 22.7 Another characterization of total dual integrality, 327 22.8 Optimization over integral polyhedra and TDI-systems algorithmically, 330 22.9 Recognizing integral polyhedra and total dual integrality, 332 22.10 Integer rounding and decomposition, 336 23 Cutting planes 339 23.1 Finding the integer hull with cutting planes, 339 23.2 Cutting plane proofs, 343 23.3 The number of cutting planes and the length of cutting plane proofs, 344 23.4 The Chvatal rank, 347 23.5 Two combinatorial illustrations, 348 23.6 Cutting planes and -V^-theory, 351 23.7 Chvatal functions and duality, 353 23.8 Gomory's cutting plane method, 354 24 Further methods in integer linear progamming 360 24.1 Branch-and-bound methods for integer linear progamming, 360 24.2 The group problem and corner polyhedra, 363 24.3 Lagrangean relaxation, 367 24.4 Application: the traveling salesman problem, 370 24.5 Benders' decomposition, 371 24.6 Some notes on integer linear programming in practice, 372 Historical and further notes on integer linear programming 375 Historical notes, 375 Further notes on integer linear programming, 378 References 381 Notation index 452 Author index 454 Subject index 465