Polyhedral Computation
Jayant Apte ASPITRG
October 3, 2012 Jayant Apte. ASPITRG 1 Part I
October 3, 2012 Jayant Apte. ASPITRG 2 The Three Problems of Polyhedral Computation
● Representation Conversion
● H-representation of polyhedron
● V-Representation of polyhedron
● Projection
●
● Redundancy Removal
● Compute the minimal representation of a polyhedron
October 3, 2012 Jayant Apte. ASPITRG 3 Outline
● Preliminaries
● Representations of convex polyhedra, polyhedral cones
● Homogenization - Converting a general polyhedron in to a cone in
● Polar of a convex cone
● The three problems
● Representation Conversion
– Review of LRS – Double Description Method
● Projection of polyhedral sets
– Fourier-Motzkin Elimination – Block Elimination – Convex Hull Method (CHM)
● Redundancy removal
– Redundancy removal using linear programming
October 3, 2012 Jayant Apte. ASPITRG 4 Outline for Part 1
● Preliminaries
● Representations of convex polyhedra, polyhedral cones
● Homogenization – Converting a general polyhedron in to a cone in
● Polar of a convex cone ● The first problem
● Representation Conversion – Review of LRS – Double Description Method
October 3, 2012 Jayant Apte. ASPITRG 5 Preliminaries
October 3, 2012 Jayant Apte. ASPITRG 6 Convex Polyhedron
October 3, 2012 Jayant Apte. ASPITRG 7 Examples of polyhedra
Bounded- Polytope Unbounded - polyhedron
October 3, 2012 Jayant Apte. ASPITRG 8 H-Representation of a Polyhedron
October 3, 2012 Jayant Apte. ASPITRG 9 V-Representation of a Polyhedron
October 3, 2012 Jayant Apte. ASPITRG 10 Example
(0.5,0.5,1.5) (1,1,1)
(0,1,1)
(0,0,1) (1,1,0)
(0,1,0) (1,0,0)
(0,0,0)
October 3, 2012 Jayant Apte. ASPITRG 11 Switching between the two representations : Representation Conversion Problem
● H-representation V-representation: The Vertex Enumeration problem
● Methods:
● Reverse Search, Lexicographic Reverse Search ● Double-description method ● V-representation H-representation The Facet Enumeration Problem
● Facet enumeration can be accomplished by using polarity and doing Vertex Enumeration
October 3, 2012 Jayant Apte. ASPITRG 12 Polyhedral Cone
October 3, 2012 Jayant Apte. ASPITRG 13 A cone in
October 3, 2012 Jayant Apte. ASPITRG 14 Homogenization
October 3, 2012 Jayant Apte. ASPITRG 15 H-polyhedra
October 3, 2012 Jayant Apte. ASPITRG 16 Example(d=2,d+1=3)
October 3, 2012 Jayant Apte. ASPITRG 17 Example
October 3, 2012 Jayant Apte. ASPITRG 18 V-polyhedra
October 3, 2012 Jayant Apte. ASPITRG 19 Polar of a convex cone
October 3, 2012 Jayant Apte. ASPITRG 20 Polar of a convex cone
Looks like an H-representation!!!
Our ticket back to the original cone!!!
October 3, 2012 Jayant Apte. ASPITRG 21 Polar: Intuition
October 3, 2012 Jayant Apte. ASPITRG 22 Polar: Intuition
October 3, 2012 Jayant Apte. ASPITRG 23 Polar: Intuition
October 3, 2012 Jayant Apte. ASPITRG 24 Polar: Intuition
October 3, 2012 Jayant Apte. ASPITRG 25 Use of Polar
● Representation Conversion
● No need to have two different algorithms i.e. for and . ● Redundancy removal
● No need to have two different algorithms for removing redundancies from H-representation and V-representation ● Safely assume that input is always an H- representation for both these problems
October 3, 2012 Jayant Apte. ASPITRG 26 Polarity: Intuition
October 3, 2012 Jayant Apte. ASPITRG 27 Polar: Intuition
Then take polar again to get facets of this cone
Perform Vertex Enumeration on this cone.
October 3, 2012 Jayant Apte. ASPITRG 28 Problem #1 Representation Conversion
October 3, 2012 Jayant Apte. ASPITRG 29 Review of Lexicographic Reverse Search
October 3, 2012 Jayant Apte. ASPITRG 30 Reverse Search: High Level Idea
● Start with dictionary corresponding to the optimal vertex
● Ask yourself 'What pivot would have landed me at this dictionary if i was running simplex?'
● Go to that dictionary by applying reverse pivot to current dictionary
● Ask the same question again
● Generate the so-called 'reverse search tree'
October 3, 2012 Jayant Apte. ASPITRG 31 Reverse Search on a Cube
Ref.David Avis, lrs: A Revised Implementation of the Reverse Search Vertex Enumeration Algorithm
October 3, 2012 Jayant Apte. ASPITRG 32 Double Description Method
● First introduced in: “ Motzkin, T. S.; Raiffa, H.; Thompson, G. L.; Thrall, R. M. (1953). "The double description method". Contributions to the theory of games. Annals of Mathematics Studies. Princeton, N. J.: Princeton University Press. pp. 51–73”
● The primitive algorithm in this paper is very inefficient. (How? We will see later)
● Several authors came up with their own efficient implementation(viz. Fukuda, Padberg)
● Fukuda's implementation is called cdd
October 3, 2012 Jayant Apte. ASPITRG 33 Some Terminology
October 3, 2012 Jayant Apte. ASPITRG 34 Double Description Method: The High Level Idea
● An Incremental Algorithm
● Starts with certain subset of rows of H-representation of a cone to form initial H-representation
● Adds rest of the inequalities one by one constructing the corresponding V-representation every iteration
● Thus, constructing the V-representation incrementally.
October 3, 2012 Jayant Apte. ASPITRG 35 How it works?
October 3, 2012 Jayant Apte. ASPITRG 36 How it works?
October 3, 2012 Jayant Apte. ASPITRG 37 Initialization
October 3, 2012 Jayant Apte. ASPITRG 38 Initialization
Very trivial and inefficient
October 3, 2012 Jayant Apte. ASPITRG 39 Example: Initialization
October 3, 2012 Jayant Apte. ASPITRG 40 Example: Initialization
October 3, 2012 Jayant Apte. ASPITRG 41 Example : Initialization
-1 -1 18 1 -1 0 0 1 -4
A B C 4.0000 14.0000 9.0000 4.0000 4.0000 9.0000 1.0000 1.0000 1.0000
October 3, 2012 Jayant Apte. ASPITRG 42 How it works?
October 3, 2012 Jayant Apte. ASPITRG 43 Iteration: Insert a new constraint
October 3, 2012 Jayant Apte. ASPITRG 44 Iteration 1 A B C 4.0000 14.0000 9.0000 4.0000 4.0000 9.0000 1.0000 1.0000 1.0000
October 3, 2012 Jayant Apte. ASPITRG 45 Iteration 1: Insert a new constraint Constraint 2
October 3, 2012 Jayant Apte. ASPITRG 46 Iteration 1: Insert a new constraint
October 3, 2012 Jayant Apte. ASPITRG 47 Iteration 1: Insert a new constraint
October 3, 2012 Jayant Apte. ASPITRG 48 Main Lemma for DD Method
October 3, 2012 Jayant Apte. ASPITRG 49 Iteration 1: Insert a new constraint
October 3, 2012 Jayant Apte. ASPITRG 50 Iteration 1: Get the new DD pair
-1 -1 18 1 -1 0 0 1 -4 -1 1 6
10.0000 12.0000 4.0000 9.0000 4.0000 6.0000 4.0000 9.0000 1.0000 1.0000 1.0000 1.0000
October 3, 2012 Jayant Apte. ASPITRG 51 Iteration 2
October 3, 2012 Jayant Apte. ASPITRG 52 Iteration 2: Insert new constraint
October 3, 2012 Jayant Apte. ASPITRG 53 Iteration 2: Insert new constraint
October 3, 2012 Jayant Apte. ASPITRG 54 Iteration 2: Insert new constraint
October 3, 2012 Jayant Apte. ASPITRG 55 Get the new DD pair
-1 -1 18 1 -1 0 0 1 -4 -1 1 6 0 -1 8
9.2000 10.0000 8.0000 10.0000 12.0000 4.0000 8.0000 8.0000 8.0000 4.0000 6.0000 4.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
October 3, 2012 Jayant Apte. ASPITRG 56 Iteration 3
October 3, 2012 Jayant Apte. ASPITRG 57 Get the new DD pair
-1 -1 18 1 -1 0 0 1 -4 -1 1 6 0 -1 8 1 1 -12
A B C D E F G H I J 6.2609 6.4000 6.0000 8.0000 7.2000 9.2000 10.0000 8.0000 10.0000 12.0000 5.7391 5.6000 6.0000 4.0000 4.8000 8.0000 8.0000 8.0000 4.0000 6.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
October 3, 2012 Jayant Apte. ASPITRG 58 Termination
October 3, 2012 Jayant Apte. ASPITRG 59 Efficiency Issues
● Is the implementation I just described good enough?
October 3, 2012 Jayant Apte. ASPITRG 60 Efficiency Issues
● Is the implementation I just described good enough? ● Hell no! – The implementation just described suffers from profusion of redundancy
October 3, 2012 Jayant Apte. ASPITRG 61 Efficiency Issues We can totally do without this one!!
October 3, 2012 Jayant Apte. ASPITRG 62 Efficiency Issues And without all these!!!
October 3, 2012 Jayant Apte. ASPITRG 63 Efficiency Issues
October 3, 2012 Jayant Apte. ASPITRG 64 The Primitive DD method
October 3, 2012 Jayant Apte. ASPITRG 65 What to do?
● Add some more structure ● Strengthen the Main Lemma
October 3, 2012 Jayant Apte. ASPITRG 66 Add some more structure
October 3, 2012 Jayant Apte. ASPITRG 67 Some definitions
October 3, 2012 Jayant Apte. ASPITRG 68 October 3, 2012 Jayant Apte. ASPITRG 69 October 3, 2012 Jayant Apte. ASPITRG 70 Algebraic Characterization of adjacency
October 3, 2012 Jayant Apte. ASPITRG 71 Combinatorial Characterization of adjacency (Combinatorial Oracle)
October 3, 2012 Jayant Apte. ASPITRG 72 Example: Combinatorial Adjacency Oracle
October 3, 2012 Jayant Apte. ASPITRG 73 Example: Combinatorial Adjacency Oracle Only the pairs and will be used to generate new rays
October 3, 2012 Jayant Apte. ASPITRG 74 Strengthened Main Lemma for DD Method
October 3, 2012 Jayant Apte. ASPITRG 75 Procedural Description
October 3, 2012 Jayant Apte. ASPITRG 76 Part 2
October 3, 2012 Jayant Apte. ASPITRG 77 ● Projection of polyhedral sets – Fourier-Motzkin Elimination – Block Elimination – Convex Hull Method (CHM) ● Redundancy removal – Redundancy removal using linear programming
October 3, 2012 Jayant Apte. ASPITRG 78 Projection of a Polyhedra
October 3, 2012 Jayant Apte. ASPITRG 79 Fourier-Motzkin Elimination
● Named after Joseph Fourier and Theodore Motzkin
October 3, 2012 Jayant Apte. ASPITRG 80 How it works?
October 3, 2012 Jayant Apte. ASPITRG 81 How it works? Contd...
October 3, 2012 Jayant Apte. ASPITRG 82 Efficiency of FM algorithm
October 3, 2012 Jayant Apte. ASPITRG 83 Convex Hull Method(CHM)
● First appears in “C. Lassez and J.-L. Lassez, Quantifier elimination for conjunctions of linear constraints via aconvex hull algorithm, IBM Research Report, T.J. Watson Research Center (1991)”
● Found to be better than most other existing algorithms when dimension of projection is small
● Cited by Weidong Xu, Jia Wang, Jun Sun in their ISIT 2008 paper “A Projection Method for Derivation of Non- Shannon-Type Information Inequalities”
October 3, 2012 Jayant Apte. ASPITRG 84 CHM intuition
October 3, 2012 Jayant Apte. ASPITRG 85 CHM intuition
October 3, 2012 Jayant Apte. ASPITRG 86 CHM intuition (12,6,6) (12,6)
October 3, 2012 Jayant Apte. ASPITRG 87 CHM intuition
October 3, 2012 Jayant Apte. ASPITRG 88 Moral of the story
● We can make decisions about without actually having its H-representation. ● It suffices to have , the original polyhedron ● We run linear programs on to make these decisions
October 3, 2012 Jayant Apte. ASPITRG 89 Input: Faces A of P
Construct an initial Approximation of extreme points of
Perform Facet Update by adding r to it Enumeration on Convex Hull Method: to get Flowchart Take an inequality from that is not a face of and move it outward To find a new extreme point r
Are all inequalities In faces No Of ?
Yes Stop
October 3, 2012 Jayant Apte. ASPITRG 90 Example
October 3, 2012 Jayant Apte. ASPITRG 91 Example
October 3, 2012 Jayant Apte. ASPITRG 92 Example
October 3, 2012 Jayant Apte. ASPITRG 93 Input: Faces A of P
Construct an initial Approximation of extreme points of
Perform Facet Update by adding r to it Enumeration on Convex Hull Method: to get Flowchart Take an inequality from that is not a face of and move it outward To find a new extreme point r
Are all inequalities In facets Of ?
Stop
October 3, 2012 Jayant Apte. ASPITRG 94 How to get the extreme points of initial approximation?
October 3, 2012 Jayant Apte. ASPITRG 95 Example: Get the first two points
October 3, 2012 Jayant Apte. ASPITRG 96 Example: Get the first two points
October 3, 2012 Jayant Apte. ASPITRG 97 Example: Get the first two points
October 3, 2012 Jayant Apte. ASPITRG 98 Get rest of the points so you have a total of d+1 points
October 3, 2012 Jayant Apte. ASPITRG 99 Get the rest of the points so you have a total of d+1 points
October 3, 2012 Jayant Apte. ASPITRG 100 Get the rest of the points so you have a total d+1 points
October 3, 2012 Jayant Apte. ASPITRG 101 How to get the initial facets of the projection?
October 3, 2012 Jayant Apte. ASPITRG 102 How to get the initial facets of the projection?
October 3, 2012 Jayant Apte. ASPITRG 103 Input: Faces A of P
Construct an initial Approximation of extreme points of
Incrementally update Update by adding r to it The Convex Hull Convex Hull Method: (Perform Facet Enumeration on Flowchart to get ) Take an inequality from that is not a face of and move it outward To find a new extreme point r
Are all inequalities In faces No Of ?
Yes Stop
October 3, 2012 Jayant Apte. ASPITRG 104 Input: Faces A of P
Construct an initial Approximation of extreme points of
Incrementally update Update by adding r to it The Convex Hull Convex Hull Method: (Perform Facet Enumeration on Flowchart to get ) Take an inequality from that is not a face of and move it outward To find a new extreme point r
Are all inequalities In faces No Of ?
Yes Stop
October 3, 2012 Jayant Apte. ASPITRG 105 Input: Faces A of P
Construct an initial Approximation of extreme points of
Incrementally update Update by adding r to it The Convex Hull Convex Hull Method: (Perform Facet Enumeration on Flowchart to get ) Take an inequality from that is not a facet of and move it outward To find a new extreme point r
Are all inequalities In faces No Of ?
Yes Stop
October 3, 2012 Jayant Apte. ASPITRG 106 Incremental refinement
● Find a facet in current approximation of that is not actually the facet of ● How to do that?
October 3, 2012 Jayant Apte. ASPITRG 107 Incremental refinement
This inequality is Not a facet of
October 3, 2012 Jayant Apte. ASPITRG 108 Incremental refinement
October 3, 2012 Jayant Apte. ASPITRG 109 Input: Faces A of P
Construct an initial Approximation of extreme points of
Incrementally update Update by adding r to it The Convex Hull Convex Hull Method: (Perform Facet Enumeration on Flowchart to get ) Take an inequality from that is not a facet of and move it outward To find a new extreme point r
Are all inequalities No In faces Of ?
Yes Stop
October 3, 2012 Jayant Apte. ASPITRG 110 How to update the H-representation to accommodate new point ?
October 3, 2012 Jayant Apte. ASPITRG 111 Example
October 3, 2012 Jayant Apte. ASPITRG 112 Example
October 3, 2012 Jayant Apte. ASPITRG 113 Example: New candidate facets
October 3, 2012 Jayant Apte. ASPITRG 114 How to update the H-representation to accommodate new point ?
Determine validity of The candidate facet And also its sign
October 3, 2012 Jayant Apte. ASPITRG 115 Example
October 3, 2012 Jayant Apte. ASPITRG 116 Example
October 3, 2012 Jayant Apte. ASPITRG 117 How to update the H-representation to accommodate new point ?
October 3, 2012 Jayant Apte. ASPITRG 118 Example
October 3, 2012 Jayant Apte. ASPITRG 119 Example
October 3, 2012 Jayant Apte. ASPITRG 120 Example
October 3, 2012 Jayant Apte. ASPITRG 121 2nd iteration
Not a facet of
October 3, 2012 Jayant Apte. ASPITRG 122 3rd iteration
Not a facet of
October 3, 2012 Jayant Apte. ASPITRG 123 4th iteration: Done!!!
October 3, 2012 Jayant Apte. ASPITRG 124 Comparison of Projection Algorithms
● Fourier Motzkin Elimination and Block Elimination doesn't work well when used on big problems ● CHM works very well when the dimension of projection is relatively small as compared to the dimention of original polyhedron. ● Weidong Xu, Jia Wang, Jun Sun have already used CHM to get non-Shannon inequalities.
October 3, 2012 Jayant Apte. ASPITRG 125 Computation of minimal representation/Redundancy Removal
October 3, 2012 Jayant Apte. ASPITRG 126 Definitions
October 3, 2012 Jayant Apte. ASPITRG 127 References
K. Fukuda and A. Prodon. Double description method revisited. Technical report, Department of Mathematics, ● Swiss Federal Institute of Technology, Lausanne, Switzerland, 1995 G. Ziegler, Lectures on Polytopes, Springer, 1994, revised 1998. Graduate Texts in Mathematics. ● Tien Huynh, Catherine Lassez, and Jean-Louis Lassez. Practical issues on the projection of polyhedral sets. ● Annals of mathematics and artificial intelligence, November 1992 Catherine Lassez and Jean-Louis Lassez. Quantifier elimination for conjunctions of linear constraints via a ● convex hull algorithm. In Bruce Donald, Deepak Kapur, and Joseph Mundy, editors, Symbolic and Numerical Computation for Artificial Intelligence. Academic Press, 1992. R. T. Rockafellar. Convex Analysis (Princeton Mathematical Series). Princeton Univ Pr. ● W. Xu, J. Wang, J. Sun. A projection method for derivation of non-Shannon-type information inequalities. In ● IEEE International Symposiumon Information Theory (ISIT), pp. 2116 – 2120, 2008.
October 3, 2012 Jayant Apte. ASPITRG 128 Minkowski's Theorem for Polyhedral Cones
Weyl's Theorem for Polyhedral Cones
October 3, 2012 Jayant Apte. ASPITRG 129