Polyhedral Computation
Total Page:16
File Type:pdf, Size:1020Kb
Research Collection Educational Material Polyhedral Computation Author(s): Fukuda, Komei Publication Date: 2020-07-10 Permanent Link: https://doi.org/10.3929/ethz-b-000426218 Rights / License: In Copyright - Non-Commercial Use Permitted This page was generated automatically upon download from the ETH Zurich Research Collection. For more information please consult the Terms of use. ETH Library Polyhedral Computation Komei Fukuda Department of Mathematics, and Institute of Theoretical Computer Science ETH Zurich, Switzerland August 29, 2020 Komei Fukuda Department of Mathematics, and Institute of Theoretical Computer Science ETH Zurich, Switzerland [email protected] Copyright ©2020˙ Komei Fukuda ISBN 978-3-907234-10-5˙ All rights reserved. This work may not be translated in whole or in part without the written permission of the author. The work can be copied in whole, meaning that the copy must be complete and hence it must include this copyright statement. The commercial sale of the work or any derivative product by the third party is strictly prohibited. The moral right of the author has been asserted. ii Contents Overview i 1 Integers, Linear Equations and Complexity 1 1.1 SizesofRationalNumbers ............................ 1 1.2 Linear Equations and Gaussian Elimination . 2 1.3 ComputingtheGCD ............................... 3 1.4 ComputingtheHermiteNormalForm. 5 1.5 LatticesandtheHermiteNormalForm . 8 1.6 DualLattices ................................... 10 1.7 Exercises...................................... 10 2 Linear Inequalities, Convexity and Polyhedra 13 2.1 Systems of Linear Inequalities . 13 2.2 The Fourier-Motzkin Elimination . 14 2.3 LPDuality .................................... 16 2.4 ThreeTheoremsonConvexity . 18 2.5 RepresentationsofPolyhedra . 20 2.6 TheStructureofPolyhedra . .. .. 22 2.7 SomeBasicPolyhedra .............................. 24 2.8 CaseStudy:OrderPolytope . 25 2.9 Exercises...................................... 28 3 Integer Hull and Complexity 31 3.1 HilbertBasis ................................... 32 3.2 TheStructureofIntegerHull . 34 3.3 Complexity of Mixed Integer Programming . 36 3.4 Further Results on Lattice Points in Polyhedra . ... 36 3.5 Exercises...................................... 37 4 Duality of Polyhedra 39 4.1 FaceLattice.................................... 39 4.2 ActiveSetsandFaceRepresentations . ... 40 4.3 DualityofCones ................................. 42 4.4 DualityofPolytopes ............................... 43 4.5 ExamplesofDualPairs.............................. 46 iii 4.6 Simple and Simplicial Polyhedra . 48 4.7 GraphsandDualGraphs............................. 48 4.8 CaseStudy:Zonotope .............................. 48 4.9 Exercises...................................... 51 5 Line Shellings and Euler’s Relation 53 5.1 LineShelling ................................... 53 5.2 Cell Complexes and Visible Hemispheres . 57 5.3 Many Different Line Shellings . 59 5.4 Exercises...................................... 59 6 McMullen’s Upper Bound Theorem 61 6.1 Cyclic Polytopes and the Upper Bound Theorem . 61 6.2 Simple Polytopes and h-vectors ......................... 63 6.3 CaseStudy:CyclicPolytope........................... 66 6.4 Exercises...................................... 67 7 Basic Computations with Polyhedra 69 7.1 SingleH-RedundancyChecking . .. .. 71 7.2 H-RedundancyRomoval ............................. 71 7.3 ComputingH-Dimension............................. 73 7.4 Reducing the Nonhomogeneous Case to the Homogeneous Case . ...... 75 7.5 CaseStudy:MatchingPolytope . 76 7.6 Exercises...................................... 81 8 Polyhedral Representation Conversion 83 8.1 IncrementalAlgorithms. .. .. 83 8.2 PivotingAlgorithms ............................... 88 8.3 Pivoting Algorithm vs Incremental Algorithm . 91 8.4 CaseStudy:BimatrixGame........................... 92 8.5 Exercises...................................... 94 9 Hyperplane Arrangements and Point Configurations 95 9.1 CakeCutting ................................... 95 9.2 Arrangements ofHyperplanes and Zonotopes. ..... 98 9.3 Face Counting Formulas for Arrangements and Zonotopes . ...... 101 9.4 A Point Configuration and the Associated Arrangement . ..... 102 9.4.1 Application: Largest Feasible Subsystem . 103 9.4.2 Applications: Best Separation of Points by a Hyperplane . 103 9.5 Exercises...................................... 104 10 Computing with Arrangements and Zonotopes 105 10.1 CellGenerationforArrangements . 106 iv 11 Minkowski Additions of Polytopes 109 11.1 Complexity of Minkowski Sums of V-Polytopes . 111 11.2 Extension of a Zonotope Construction Algorithm . .... 112 12 Problem Reductions in Polyhedral Computation 119 12.1 Hard Decision Problems in Polyhedral Computation . 119 12.2 Hard Enumeration Problems in Polyhedral Computation . .... 122 Evolutions and Applications of Polyhedral Computation 125 Literatures and Software 129 v vi Overview Polyhedral computation deals with various computational problems associated with convex polyhedra in general dimension. Typical problems include the representation conversion problem (between halfspace and generator representations), the redundancy removal from representations, the construction of hyperplane arrangements and zonotopes, the Minkowski addition of convex polytopes, etc. In this lecture, we study basic and advanced techniques for polyhedral computation in general dimension. We review some classical results on convexity and convex polyhedra such as polyhedral duality, Euler’s relation, shellability, McMullen’s upper bound theorem, the Minkowski-Weyl theorem, face counting formulas for arrangements. Our main goal is to investigate fundamental problems in polyhedral computation from both the complexity theory and the viewpoint of algorithmic design. Optimization methods, in particular, linear programming algorithms, will be used as essential building blocks of advanced algorithms in polyhedral computation. Various research problems, both theoretical and algorithmic, in polyhedral computation will be presented. The lecture consist of the following sections which are ordered in a way that the reader can follow naturally from top to bottom. Lectures 1. Integers, Linear Equations and Complexity 2. Linear Inequalities, Convexity and Polyhedra 3. Integer Hull and Complexity 4. Duality of Polyhedra 5. Line Shellings and Euler’s Relation 6. McMullen’s Upper Bound Theorem 7. Basic Computations with Polyhedra (Redundancy, Linearity and Dimension) 8. Polyhedral Representation Conversion 9. Hyperplane Arrangements and Point Configurations 10. Computing with Arrangements and Zonotopes 11. Minkowski Additions of Polytopes i 12. Problem Reductions in Polyhedral Computation 13. * Voronoi Diagarams and Delaunay Triangulations 14. * Diophantine Approximation and Lattice Reduction 15. * Counting Lattice Points in Polyhedra 16. * Combinatorial Framework for Polyhedral Computation 17. Evolutions and Applications of Polyhedral Computation 18. Literatures and Software (* planned.) Case Studies Matching Polytopes, Zonotopes and Hyperplane Arrangements, Bimatrix Games, Order Polytopes, Cyclic Polytopes, etc. They are integrated into appropriate chapters. ii Chapter 1 Integers, Linear Equations and Complexity 1.1 Sizes of Rational Numbers Whenever we evaluate the complexity of an algorithm, we use the binary encoding length of input data as input size and we bound the number of arithmetic operations necessary to solve the worst-case problem instance of the same input size. Also, in order to claim a polynomial complexity, it is not enough that the number of required arithmetic operations is bounded by a polynomial function in the input size, but also, the largest size of numbers generated by the algorithm must be bounded by a polynomial function in the input size. Here we formally define the sizes of a rational number, a rational vector and a rational matrix. Let r = p/q be a rational number with canonical (i.e. relatively prime) representation with p Z and q N. We define the binary encoding size of r as ∈ ∈ (1.1) size(r) := 1 + log ( p + 1) + log (q + 1) . ⌈ 2 | | ⌉ ⌈ 2 ⌉ n m n The binary encoding size of a rational vector v Q and that of a rational matrix A Q × are defined by ∈ ∈ n (1.2) size(v) := n + size(vi), j=1 Xm n (1.3) size(A) := mn + size(aij). i=1 j=1 X X Homework 1.1 For any two rational numbers r and s, show that size(r s) size(r) + size(s), × ≤ size(r + s) 2(size(r) + size(s)). ≤ Can one replace the constant 2 by 1 in the second inequality? 1 1.2 Linear Equations and Gaussian Elimination Theorem 1.1 Let A be a rational square matrix. Then the size of its determinant is poly- nomially bounded, and more specifically, size(det(A)) < 2 size(A). Proof. Let p/q be the canonical representation of det(A), let pij/qij denote that of each entry aij of A, and let δ denote size(A). First, we observe δ 1 (1.4) q q < 2 − , ≤ ij i,j Y where the last inequality can be verified by taking log2 of the both sides. By definition of determinant, we have (1.5) det(A) ( p + 1). | | ≤ | ij| i,j Y Combining (1.4) and (1.5), δ 1 (1.6) p = det(A) q ( p + 1)q < 2 − , | | | | ≤ | ij| ij i,j Y where the last inequality again is easily verifiable by taking log2 of both sides. Then it follows from (1.4) and (1.6) that (1.7) size(det(A))=1+ log ( p + 1) + log (q + 1) 1+(δ 1)+(δ 1) < 2δ. ⌈ 2 | | ⌉ ⌈ 2 ⌉ ≤ − − Corollary 1.2 Let A be a rational square matrix. Then the size of its inverse is polynomially bounded by its size size(A). Corollary 1.3 If Ax = b, a system of rational linear equations, has a solution,