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

● 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- 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 ?'

● 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

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 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 , 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