Polyhedral Computation

Total Page:16

File Type:pdf, Size:1020Kb

Polyhedral Computation 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,
Recommended publications
  • Articles and Scheduling for Student Seminar in Combinatorics: Linear Complementarity
    Articles and Scheduling for Student Seminar in Combinatorics: Linear Complementarity Komei Fukuda Department of Mathematics and Institute of Theoretical Computer Science, ETH Zurich, Switzerland http://www.inf.ethz.ch/personal/fukudak/ October 7, 2015 (Last changes marked by blue) 1 Seminar Schedule The schedule is meant to be tentative and may be modified depending on the progress of our seminar. Students may use blackboards, overhead projector, or beamer for presenta- tion. The lecture room is HG E 33.3 (Tuesday 10-12). Date Article Presenter(s) September 15 overview, initial planning Komei Fukuda September 22 fixing teams and planning Komei Fukuda September 29 Preparation (no seminar) October 6 QP duality [5] team 1 (Bausch and Heins) October 13 LCP classics [6, pages 103-114] team 2 (Buchmann and Mishra) October 20 LCP classics [6, pages 114-124] team 3 (Akeret) October 27 NP-completeness [4] [20, Section 3.4] team 4 (Dummermuth) November 3 PSD- and P-matrices [7, Sec 3.1{3.3] team 5 (G¨oggeland Schneebeli) November 10 SU-matrices [7, Sec 3.4{3.6] team 6 (Allemann) November 17 P(& SU)-LCP may not be hard [22, 16] team 7 (Schiesser) November 24 Randomized algorithms [15, 23] team 8 (Sidler and Towa) December 1 Two polynomial cases [11] team 9 December 8 Oriented matroids and LCP [17] team 10 (Leroy and Stenz) December 15 Combinatorial char. of K-matrices [12] team 11 (Gleinig) 1 2 Presentations and Teams In this seminar, we study some of the most critical literatures on linear complementarity with a strong emphasis on combinatorial and algorithmic aspects.
    [Show full text]
  • Combinatorial Characterizations of K-Matrices
    Combinatorial Characterizations of K-matricesa Jan Foniokbc Komei Fukudabde Lorenz Klausbf October 29, 2018 We present a number of combinatorial characterizations of K-matrices. This extends a theorem of Fiedler and Pt´ak on linear-algebraic character- izations of K-matrices to the setting of oriented matroids. Our proof is elementary and simplifies the original proof substantially by exploiting the duality of oriented matroids. As an application, we show that a simple principal pivot method applied to the linear complementarity problems with K-matrices converges very quickly, by a purely combinatorial argument. Key words: P-matrix, K-matrix, oriented matroid, linear complementarity 2010 MSC: 15B48, 52C40, 90C33 1 Introduction A matrix M ∈ Rn×n is a P-matrix if all its principal minors (determinants of principal submatrices) are positive; it is a Z-matrix if all its off-diagonal elements are non-positive; and it is a K-matrix if it is both a P-matrix and a Z-matrix. Z- and K-matrices often occur in a wide variety of areas such as input–output produc- tion and growth models in economics, finite difference methods for partial differential equations, Markov processes in probability and statistics, and linear complementarity problems in operations research [2]. In 1962, Fiedler and Pt´ak [9] listed thirteen equivalent conditions for a Z-matrix to be a K-matrix. Some of them concern the sign structure of vectors: arXiv:0911.2171v3 [math.OC] 3 Aug 2010 a This research was partially supported by the project ‘A Fresh Look at the Complexity of Pivoting in Linear Complementarity’ no.
    [Show full text]
  • Frequently Asked Questions in Polyhedral Computation
    Frequently Asked Questions in Polyhedral Computation http://www.ifor.math.ethz.ch/~fukuda/polyfaq/polyfaq.html Komei Fukuda Swiss Federal Institute of Technology Lausanne and Zurich, Switzerland [email protected] Version June 18, 2004 Contents 1 What is Polyhedral Computation FAQ? 2 2 Convex Polyhedron 3 2.1 What is convex polytope/polyhedron? . 3 2.2 What are the faces of a convex polytope/polyhedron? . 3 2.3 What is the face lattice of a convex polytope . 4 2.4 What is a dual of a convex polytope? . 4 2.5 What is simplex? . 4 2.6 What is cube/hypercube/cross polytope? . 5 2.7 What is simple/simplicial polytope? . 5 2.8 What is 0-1 polytope? . 5 2.9 What is the best upper bound of the numbers of k-dimensional faces of a d- polytope with n vertices? . 5 2.10 What is convex hull? What is the convex hull problem? . 6 2.11 What is the Minkowski-Weyl theorem for convex polyhedra? . 6 2.12 What is the vertex enumeration problem, and what is the facet enumeration problem? . 7 1 2.13 How can one enumerate all faces of a convex polyhedron? . 7 2.14 What computer models are appropriate for the polyhedral computation? . 8 2.15 How do we measure the complexity of a convex hull algorithm? . 8 2.16 How many facets does the average polytope with n vertices in Rd have? . 9 2.17 How many facets can a 0-1 polytope with n vertices in Rd have? . 10 2.18 How hard is it to verify that an H-polyhedron PH and a V-polyhedron PV are equal? .
    [Show full text]
  • Computing Triangulations Using Oriented Matroids
    Takustraße 7 Konrad-Zuse-Zentrum D-14195 Berlin-Dahlem fur¨ Informationstechnik Berlin Germany JULIAN PFEIFLE AND JORG¨ RAMBAU Computing Triangulations Using Oriented Matroids ZIB-Report 02-02 (January 2002) COMPUTING TRIANGULATIONS USING ORIENTED MATROIDS JULIAN PFEIFLE AND JORG¨ RAMBAU ABSTRACT. Oriented matroids are combinatorial structures that encode the combinatorics of point configurations. The set of all triangulations of a point configuration depends only on its oriented matroid. We survey the most important ingredients necessary to exploit ori- ented matroids as a data structure for computing all triangulations of a point configuration, and report on experience with an implementation of these concepts in the software package TOPCOM. Next, we briefly overview the construction and an application of the secondary polytope of a point configuration, and calculate some examples illustrating how our tools were integrated into the POLYMAKE framework. 1. INTRODUCTION This paper surveys efficient combinatorial methods to compute triangulations of point configurations. We present results obtained for the first time by a software implementation (TOPCOM [Ram99]) of these ideas. It turns out that a subset of all triangulations of a point configuration has a structure useful in different areas of mathematics, and we highlight one particular instance of such a connection. Finally, we calculate some examples by integrating TOPCOM into the POLYMAKE [GJ01] framework. Let us begin by motivating the use of triangulations and providing a precise definition. 1.1. Why triangulations? Triangulations are widely used as a standard tool to decom- pose complicated objects into simple objects. A solution to a problem on a complicated object can sometimes be found by gluing solutions on the simple objects.
    [Show full text]
  • A Pivoting Algorithm for Convex Hulls and Vertex Enumeration Of
    APivoting Algorithm for ConvexHulls and Vertex Enumeration of Arrangements and Polyhedra David Avis School of Computer Science McGill University 3480 University,Montreal, Quebec H3A 2A7 Komei Fukuda Graduate School of Systems Management The University of Tsukuba Otsuka, Bunkyo-ku, Tokyo 112 Research Report B-237 TokyoInstitute of Technology,Dept. of Information Science November 1990 ABSTRACT We present a newpiv ot-based algorithm which can be used with minor modifica- tion for the enumeration of the facets of the convex hull of a set of points, or for the enu- meration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties: (a) No additional storage is required beyond the input data; (b) The output list produced is free of duplicates; (c) The algorithm is extremely simple, requires no data structures, and handles all degenerate cases; (d) The running time is output sensitive for non-degenerate inputs; (e) The algorithm is easy to efficiently parallelize. Forexample, the algorithm finds the v vertices of a polyhedron in Rd defined by a non- degenerate system of n inequalities (or dually,the v facets of the convex hull of n points in Rd ,where each facet contains exactly d givenpoints) in time O(ndv)and O(nd) space. The v vertices in a simple arrangement of n hyperplanes in Rd can be found in O(n2dv)time and O(nd)space complexity.The algorithm is based on inverting finite pivotalgorithms for linear programming. -2- 1. Introduction In this paper we give analgorithm, which with minor variations can be used to solvethree basic enumeration problems in computational geometry: facets of the convex hull of a set of points, vertices of aconvex polyhedron givenbyasystem of linear inequalities, and vertices of an arrangement of hyper- planes.
    [Show full text]
  • Personal Education Diplomas And/Or Titles Research
    Curriculum Vitae July 25, 2003 PERSONAL Name in full: Komei FUKUDA Office: School of Computer Science McGill University McConnel Engineering Building 3480 University Street Montreal, QC, Canada H3A 2A4 tel +1-514-398-5485, fax +1-514-398-3883 email [email protected] Home Page: http://www.cs.mcgill.ca/∼fukuda/ Present Status: Tenured Full Professor of Computer Science EDUCATION From Sept. 1976 to Oct. 1981 : Ph.D. Program, Combinatorics and Optimization, University of Waterloo, Canada From April 1976 to August 1976 : Ph.D. Program, Administration Eng., Keio University, Japan From April 1974 to March 1976 : Master's Program, Administration Eng., Keio University, Japan From April 1970 to March 1974 : Undergraduate, Administration Eng., Keio University, Japan From April 1967 to March 1970 : Gakushuuin Highschool, Japan DIPLOMAS AND/OR TITLES May 1999 : Professor Tit., Dept. of Mathematics, ETH Zurich, Switzerland September 1982 : Ph.D., Combinatorics and Optimization, University of Waterloo, Canada March 1976: M.S., Keio University, Japan March 1974: B.S., Keio University, Japan RESEARCH FIELDS Linear, Nonlinear and Combinatorial Optimization, Computational Geometry, Design of Efficient Algorithms, Combinatorics, Oriented Matroid Theory, Combinatorial and Constructive Proof Tech- niques in Geometry, Development of Computer Software for Geometric and Combinatorial Compu- tation PROFESSIONAL ACTIVITIES 1. Referee for J. of Combinatorial Theory (Ser. A and Ser. B), Discrete Mathematics, Combina- torica, Discrete Applied Mathematics, SIAM J. Discrete Mathematics, SIAM J. Computing, Computational and Discrete Mathematics, Mathematical Programming, European J. of Com- binatorics, Graphs and Combinatorics, J. of Operations Research Soc. of Japan, International 1 J. of Mathematics and Mathematical Sciences, European J. of Operational Research, Portu- galiae Mathematica, Journal of Graph Theory, etc.
    [Show full text]
  • Polynomial Time Vertex Enumeration of Convex Polytopes of Bounded
    Polynomial time vertex enumeration of convex polytopes of bounded branch-width Arne C. Reimers1,∗, Leen Stougie1,2,3 July 12, 2016 Abstract Over the last years the vertex enumeration problem of polyhedra has seen a revival in the study of metabolic networks, which increased the demand for efficient vertex enumeration algorithms for high-dimensional polyhedra given by inequalities. It is a famous and long standing open question in polyhedral theory and computational geometry whether the vertices of a polytope (bounded polyhedron), described by a set of linear constraints, can be enumerated in total polynomial time. In this paper we apply the concept of branch-decomposition to the vertex enumeration problem of polyhedra P = {x : Ax = b,x ≥ 0}. For this purpose, we introduce the concept of k-module and show how it relates to the separators of the linear matroid generated by the columns of A. We then use this to present a total polynomial time algorithm for polytopes P for which the branch-width of the linear matroid generated by A is bounded by a constant k. Keywords: Polytopes, Vertex Enumeration Complexity, Matroid Separation, Branch-width 1 Introduction A famous and long standing open question in polyhedral theory and computational geometry is whether the vertices of a polytope (bounded polyhedron), described by a set of linear constraints, can be enumerated in total polynomial time Avis and Fukuda [3], Boros et al. [7], Khachiyan et al. [16], i.e. in a running time bounded by a polynomial function of input and output size. For non-degenerate polyhedra pivoting based algorithms exist that run in total polynomial time Dyer [9], Avis and Fukuda [3].
    [Show full text]
  • Arxiv:Math/0507273V1 [Math.CO] 13 Jul 2005 O Eetfo Ahother
    GEOMETRIC REASONING WITH POLYMAKE EWGENIJ GAWRILOW AND MICHAEL JOSWIG Abstract. The mathematical software system polymake provides a wide range of functions for convex polytopes, simplicial complexes, and other objects. A large part of this paper is dedicated to a tutorial which exemplifies the usage. Later sections include a survey of research results obtained with the help of polymake so far and a short description of the technical background. 1. Introduction The computer has been described as the mathematical machine. Therefore, it is nothing but natural to let the computer meet challenges in the area where its roots are: mathematics. In fact, the last two decades of the 20th century saw the ever faster evolution of many mathematical software systems, general and specialized. Clearly, there are areas of mathematics which are more apt to such an approach than others, but today there is none which the computer could not contribute to. In particular, polytope theory which lies in between applied fields, such as optimization, and more pure mathematics, including commutative algebra and toric algebraic geometry, invites to write software. When the polymake project started in 1996, there were already a number of systems around which could deal with polytopes in one way or another, e.g., convex hull codes such as cdd [14], lrs [3], porta [8], and qhull [6], but also visualization classics like Geomview [1]. The basic idea to polymake was —and still is— to make interfaces between any of these programs and to continue building further on top of the combined functionality. At the same time the gory technical details which help to accomplish such a thing should be entirely hidden from the user who does not want to know about it.
    [Show full text]
  • Some Projective Invariants of LP Polytope } ), 2( Min{ ),( En Ko Nkf ≤
    Australian Journal of Basic and Applied Sciences, 5(10): 1452-1455, 2011 ISSN 1991-8178 Some Projective Invariants of LP Polytope Ali Dino Jumani Department of Mathematics Shah Abdul Latif University Khairpur 66020, Pakistan. Abstract: Mysteries of Linear Programming are getting wilder and wilder; as the number of variables increases time complexity increases. One obstacle is our inability to "see" in higher dimensional geometry, another striking anonymity is the conjecture posed by W.M. Hirsch in 1957. Different pivot selecting rules has only been the source of improvisation. The projective properties of Sn (K) are those properties of which the expression in every allowable coordinate system is the same, that is to say, the invariance. Theory of harmonic construction and harmonic conjugates and related invariants provides a valuable ability to "see" into LP polytope. Key words: Convex hull, Harmonic relation, Quadrangle. INTRODUCTION A convex polyhedron is the intersection P of a finite number of closed halfspaces in Rd . P is the d- dimensional polyhedron if the points in P affinely span Rd . A convex d-dimensional polytope is a bounded convex d-polyhedron (Kalai, 1997). A nontrivial face F of a d-polyhedron P is the intersection of P with a supporting hyperplane. F itself is a polyhedron of some lower dimension. If the dimension of F is k we call F a k-face of P. The empty set and P itself are regarded as trivial faces. 0-faces of P are called vertices, 1-faces are called edges and (d-1)-faces are called facets. Hence a strong relation between convex polytopes and a linear program is very much evident, for more material on convex polytopes.
    [Show full text]
  • Lecture: Polyhedral Computation, Spring 2015
    Lecture: Polyhedral Computation, Spring 2015 Komei Fukuda Department of Mathematics, and Institute of Theoretical Computer Science ETH Zurich, Switzerland February 14, 2015 i Contents 1 Overview 1 2 Integers, Linear Equations and Complexity 3 2.1 SizesofRationalNumbers ............................ 3 2.2 Linear Equations and Gaussian Elimination . 3 2.3 ComputingtheGCD ............................... 5 2.4 ComputingtheHermiteNormalForm. 6 2.5 LatticesandtheHermiteNormalForm . 10 2.6 DualLattices ................................... 12 3 Linear Inequalities, Convexity and Polyhedra 13 3.1 Systems of Linear Inequalities . 13 3.2 The Fourier-Motzkin Elimination . 13 3.3 LPDuality .................................... 15 3.4 ThreeTheoremsonConvexity . 18 3.5 RepresentationsofPolyhedra . 19 3.6 TheStructureofPolyhedra . .. .. .. 21 3.7 SomeBasicPolyhedra .............................. 24 4 Integer Hull and Complexity 26 4.1 HilbertBasis ................................... 27 4.2 TheStructureofIntegerHull . 28 4.3 Complexity of Mixed Integer Programming . 30 4.4 Further Results on Lattice Points in Polyhedra . ... 31 5 Duality of Polyhedra 32 5.1 FaceLattice.................................... 32 5.2 ActiveSetsandFaceRepresentations . ... 33 5.3 DualityofCones ................................. 34 5.4 DualityofPolytopes ............................... 36 5.5 ExamplesofDualPairs.............................. 38 5.6 Simple and Simplicial Polyhedra . 40 5.7 GraphsandDualGraphs............................. 40 6 Line Shellings and Euler’s Relation 41
    [Show full text]
  • A Pivoting Algorithm for Convex Hulls and Vertex Enumeration Of
    APivoting Algorithm for ConvexHulls and Vertex Enumeration of Arrangements and Polyhedra David Avis School of Computer Science McGill University 3480 University,Montreal, Quebec H3A 2A7 Komei Fukuda Graduate School of Systems Management The University of Tsukuba Otsuka, Bunkyo-ku, Tokyo 112 November 1990, Revised January 1992 ABSTRACT We present a newpiv ot-based algorithm which can be used with minor modifica- tion for the enumeration of the facets of the convex hull of a set of points, or for the enu- meration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties: (a) Virtually no additional storage is required beyond the input data; (b) The output list produced is free of duplicates; (c) The algorithm is extremely simple, requires no data structures, and handles all degenerate cases; (d) The running time is output sensitive for non-degenerate inputs; (e) The algorithm is easy to efficiently parallelize. Forexample, the algorithm finds the v vertices of a polyhedron in Rd defined by a non- degenerate system of n inequalities (or dually,the v facets of the convex hull of n points in Rd ,where each facet contains exactly d givenpoints) in time O(ndv)and O(nd) space. The v vertices in a simple arrangement of n hyperplanes in Rd can be found in O(n2dv)time and O(nd)space complexity.The algorithm is based on inverting finite pivotalgorithms for linear programming. -2- 1. Introduction In this paper we give analgorithm, which with minor variations can be used to solvethree basic enumeration problems in computational geometry: facets of the convex hull of a set of points, vertices of aconvex polyhedron givenbyasystem of linear inequalities, and vertices of an arrangement of hyper- planes.
    [Show full text]
  • Polytopes and the Simplex Method
    Last revised 5:00 p.m. January 24, 2021 Polytopes and the simplex method Bill Casselman University of British Columbia [email protected] A region in Euclidean space is called convex if the line segment between any two points in the region is also in the region. For example, disks, cubes, lines, single points, and the empty set are convex but circles, doughnuts, and coffee cups are not. Convexity is the core of much mathematics. Whereas arbitrary subsets of Euclidean space can be extremely complicated, convex regions are relatively simple. For one thing, any closed convex region is the intersection of all affine half•spaces f ≥ 0 containing it. One can therefore try to approximate it by the intersection of finite sets of half•spaces—in other words, by polytopes. How to describe a convex set? The major consideration in the theory of convex regions is that there are two complementary ways commonly used to do it: as the convex hull of a set of points, or as the set of points satisfying a given set of affine inequalities. For example, the unit disk is the convex hull of the unit circle, but it is also the set of points (x, y) such that x cos θ + y sin θ ≤ 1 for all 0 ≤ θ< 2π. The central computational problem involving convex sets is to transfer back and forth between these two modes. The point is that in solving problems, sometimes one mode is convenient and sometimes the other. In the first part of this essay I’ll discuss general convex bodies, and then go on to prove the very basic result that the convex hull of any finite set of points can also be specified in terms of a finite set of affine inequalities.
    [Show full text]