0/1 Vertex and Facet Enumeration with BDDs

In polyhedral studies of 0/1 polytopes two prominent problems exist. One is the vertex enumeration problem: Given a system of inequalities, enumerate its feasible 0/1 points. Another one is the convex hull problem: Given a set of 0/1 points in dimension d, enumerate the facets of the corresponding polytope. We present two new approaches for both problems. The novelty of our algorithms is the incorporation of binary decision diagrams (BDDs), a datastructure which has become very popular and effective in hardware verification and computational logic. Our computational results show the strength of our methods. We introduce our new tool azove which is currently the fastest software for counting and enumerating 0/1 points in a polytope.

[1]  Alexander I. Barvinok,et al.  A polynomial time algorithm for counting integral points in polyhedra when the dimension is fixed , 1993, Proceedings of 1993 IEEE 34th Annual Foundations of Computer Science.

[2]  David Bremner,et al.  Primal—Dual Methods for Vertex and Facet Enumeration , 1998, Discret. Comput. Geom..

[3]  Komei Fukuda,et al.  Double Description Method Revisited , 1995, Combinatorics and Computer Science.

[4]  Michael R. Bussieck,et al.  The vertex set of a 0/1-polytope is strongly P-enumerable , 1998, Comput. Geom..

[5]  Donald R. Chand,et al.  An Algorithm for Convex Polytopes , 1970, JACM.

[6]  Raimund Seidel Convex Hull Computations , 2004, Handbook of Discrete and Computational Geometry, 2nd Ed..

[7]  D. Avis lrs : A Revised Implementation of the Rev rse Search Vertex Enumeration Algorithm , 1998 .

[8]  Ingo Wegener,et al.  Branching Programs and Binary Decision Diagrams , 1987 .

[9]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[10]  Bernd Becker,et al.  BDDs in a Branch and Cut Framework , 2005, WEA.

[11]  C. Y. Lee Representation of switching circuits by binary-decision programs , 1959 .

[12]  Jesús A. De Loera,et al.  Effective lattice point counting in rational convex polytopes , 2004, J. Symb. Comput..

[13]  David Bremner Incremental Convex Hull Algorithms Are Not Output Sensitive , 1999, Discret. Comput. Geom..

[14]  Volker Kaibel,et al.  Revlex-initial 0/1-polytopes , 2006, J. Comb. Theory, Ser. A.

[15]  G. Ziegler Lectures on Polytopes , 1994 .

[16]  Michael Joswig,et al.  polymake: a Framework for Analyzing Convex Polytopes , 2000 .

[17]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[18]  David Avis,et al.  A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra , 1991, SCG '91.

[19]  D. Avis A Revised Implementation of the Reverse Search Vertex Enumeration Algorithm , 2000 .

[20]  GARRET SWART,et al.  Finding the Convex Hull Facet by Facet , 1985, J. Algorithms.

[21]  David Avis,et al.  How good are convex hull algorithms? , 1995, SCG '95.

[22]  David P. Dobkin,et al.  The quickhull algorithm for convex hulls , 1996, TOMS.

[23]  Alexander I. Barvinok,et al.  A Polynomial Time Algorithm for Counting Integral Points in Polyhedra when the Dimension Is Fixed , 1993, FOCS.

[24]  G. Unter Rote Degenerate Convex Hulls in High Dimensions Without Extra Storage , 1992 .