Skip to main content
Log in

Enumeration of 2-level polytopes

  • Full Length Paper
  • Published:
Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

A (convex) polytope P is said to be 2-level if for each hyperplane H that supports a facet of P, the vertices of P can be covered with H and exactly one other translate of H. The study of these polytopes is motivated by questions in combinatorial optimization and communication complexity, among others. In this paper, we present the first algorithm for enumerating all combinatorial types of 2-level polytopes of a given dimension d, and provide complete experimental results for \(d \leqslant 7\). Our approach is inductive: for each fixed \((d-1)\)-dimensional 2-level polytope \(P_0\), we enumerate all d-dimensional 2-level polytopes P that have \(P_0\) as a facet. This relies on the enumeration of the closed sets of a closure operator over a finite ground set. By varying the prescribed facet \(P_0\), we obtain all 2-level polytopes in dimension d.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. The facet-vertex incidence matrix of a polytope P with m facets and n vertices is the matrix \(M \in \{0,1\}^{m \times n}\) with \(M_{ij} = 1\) if the i-th facet of P contains the j-th vertex of P, and \(M_{ij} = 0\) otherwise.

  2. A d-polytope is a polytope of dimension d.

  3. See [44] for the definition of f-vector of a polytope or simplicial complex and [10] for the one of pulling triangulation of a polytope.

  4. Recall that \(x(E) :=\sum _{i \in E} x_i\) for every \(x \in \mathbb {R}^d\) and every \(E \subseteq [d]\).

  5. As is standard, we use \(\prod \) to denote the Cartesian product of sets.

  6. The complete list of all slack matrices of combinatorially inequivalent 2-level polytopes up to dimension 7 is available online at http://homepages.ulb.ac.be/~mmacchia/data.html.

  7. Hydra balanced cluster: https://cc.ulb.ac.be/hpc/hydra.php with AMD Opteron(TM) 6134 2.3 GHz processors.

  8. Available at https://doi.org/10.5281/zenodo.1405386.

References

  1. Aichholzer, O.: Extremal properties of 0/1-polytopes of dimension 5. In: Ziegler, G., Kalai, G. (eds.) Polytopes—Combinatorics and Computation, pp. 111–130. Basel, Birkhäuser (2000)

    Google Scholar 

  2. Aprile, M., Cevallos, A., Faenza, Y.: On 2-level polytopes arising in combinatorial settings. SIAM J. Discret. Math. 32, 1857–1886 (2018)

    Article  MathSciNet  MATH  Google Scholar 

  3. Birkhoff, G.: Lattice Theory (American Mathematical Society Colloquium Publications), vol. 25, no. 2. American Mathematical Society (1940)

  4. Birkhoff, G.: Tres observaciones sobre el algebra lineal. Univ. Nac. Tucumán Rev. Ser. A 5, 147–151 (1946)

    Google Scholar 

  5. Blekherman, G.: Nonnegative polynomials and sums of squares. J. Am. Math. Soc. 25(3), 617–635 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  6. Bohn, A., Faenza, Y., Fiorini, S., Fisikopoulos, V., Macchia, M., Pashkovich, K.: Enumeration of 2-level polytopes. In: Bansal, N., Finocchi, I. (eds.) Algorithms–ESA 2015. Lecture Notes in Computer Science, vol. 9294, pp. 191–202. Springer, Berlin (2015)

    Google Scholar 

  7. Caspard, Nathalie, Monjardet, Bernard: The lattices of closure systems, closure operators, and implicational systems on a finite set: A survey. Discrete Appl. Math. 127(2), 241–269 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  8. Chvátal, V.: On certain polytopes associated with graphs. J. Comb. Theory Ser. B 18, 138–154 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  9. Cornuéjols, G.: Combinatorial Optimization: Packing and Covering. CBMS-NSF Regional Conference Series in Applied Mathematics. Society for Industrial and Applied Mathematics (2001)

  10. De Loera, J., Rambau, J., Santos, F.: Triangulations, vol. 25. Springer, Berlin (2010)

    MATH  Google Scholar 

  11. Fiorini, S., Fisikopoulos, V., Macchia, M.: Two-level polytopes with a prescribed facet. In: Combinatorial Optimization - 4th International Symposium, ISCO 2016, Vietri sul Mare, Italy, 16–18 May 2016, Revised Selected Papers, pp. 285–296. https://doi.org/10.1007/978-3-319-45587-7_25

  12. Fukuda, K., Miyata, H., Moriyama, S.: Complete enumeration of small realizable oriented matroids. Discrete Comput. Geom. 49(2), 359–381 (2013). (English)

    Article  MathSciNet  MATH  Google Scholar 

  13. Ganter, B.: Algorithmen zur Formalen Begriffsanalyse. In: Ganter, B., Wille, R., Wolff, K.E. (eds.) Beiträge zur Begriffsanalyse, pp. 241–254. B.I. Wissenschaftsverlag, Wien (1987)

    Google Scholar 

  14. Ganter, B., Reuter, K.: Finding all closed sets: a general approach. Order 8(3), 283–290 (1991). (English)

    Article  MathSciNet  MATH  Google Scholar 

  15. Ganter, B., Wille, R.: Formal Concept Analysis—Mathematical Foundations. Springer, Berlin (1999)

    Book  MATH  Google Scholar 

  16. Gillis, N., Glineur, F.: On the geometric interpretation of the nonnegative rank. Linear Algebra Appl. 437(11), 2685–2712 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  17. Gouveia, J., Grappe, R., Kaibel, V., Pashkovich, K., Robinson, R.Z., Thomas, R.R.: Which nonnegative matrices are slack matrices? Linear Algebra Appl. 439(10), 2921–2933 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  18. Gouveia, J., Parrilo, P., Thomas, R.: Theta bodies for polynomial ideals. SIAM J. Optim. 20(4), 2097–2118 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  19. Gouveia, J., Pashkovich, K., Robinson, R.Z., Thomas, R.R.: Four dimensional polytopes of minimum positive semidefinite rank. J. Comb. Theory Ser. A 145, 184–226 (2017)

  20. Gouveia, J., Robinson, R., Thomas, R.: Polytopes of minimum positive semidefinite rank. Discrete Comput. Geom. 50(3), 679–699 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  21. Grande, F.: On \(k\)-level matroids: geometry and combinatorics. Ph.D. thesis, Free University of Berlin (2015)

  22. Grande, F., Rué, J.: Many 2-level polytopes from matroids. Discrete Comput. Geom. 54(4), 954–979 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  23. Grande, F., Sanyal, R.: Theta rank, levelness, and matroid minors. J. Comb. Theory Ser. B 123, 1–31 (2017)

    Article  MathSciNet  MATH  Google Scholar 

  24. Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization, vol. 2. Springer, Berlin (1993)

    MATH  Google Scholar 

  25. Hampe, S., Joswig, M., Benjamin, S.: Algorithms for tight spans and tropical linear spaces (2016). arXiv:1612.03592

  26. Hanner, O.: Intersections of translates of convex bodies. Math. Scand. 4, 65–87 (1956)

    Article  MathSciNet  MATH  Google Scholar 

  27. Hansen, A.: On a certain class of polytopes associated with independence systems. Math. Scand. 41, 225–241 (1977)

    Article  MathSciNet  MATH  Google Scholar 

  28. Kaibel, Volker, Pfetsch, Marc E.: Computing the face lattice of a polytope from its vertex-facet incidences. Comput. Geom. 23(3), 281–290 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  29. Kalai, G.: The number of faces of centrally-symmetric polytopes. Graphs Comb. 5(1), 389–391 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  30. Kuznetsov, S., Obiedkov, S.: Comparing performance of algorithms for generating concept lattices. J. Exp. Theor. Artif. Intell. 14, 189–216 (2002)

    Article  MATH  Google Scholar 

  31. Lovász, L.: Semidefinite programs and combinatorial optimization. In: Reed, B.A., Sales, C.L. (eds.) Recent Advances in Algorithms and Combinatorics, CMS Books in Mathematics, pp. 137–194. Springer, Berlin (2003)

    Google Scholar 

  32. Lovasz, L., Saks, M.: Lattices, mobius functions and communications complexity. In: Proceedings of the 29th Annual Symposium on Foundations of Computer Science, Washington, DC, USA, SFCS ’88, pp. 81–90. IEEE Computer Society (1988)

  33. McKay, B.D., Piperno, A.: Practical graph isomorphism, II. J. Symb. Comput. 60, 94–112 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  34. Moore, E.H.: Introduction to a form of general analysis. Yale University Press, New Haven (1910)

    Book  MATH  Google Scholar 

  35. Paffenholz, A.: Faces of Birkhoff polytopes. Electron. J. Comb. 22, 1–67 (2015)

    MathSciNet  MATH  Google Scholar 

  36. Pashkovich, K.: Extended formulations for combinatorial polytopes. Ph.D. thesis, Magdeburg Universität (2012)

  37. Sanyal, R., Werner, A., Ziegler, G.: On Kalai’s conjectures concerning centrally symmetric polytopes. Discrete Comput. Geom. 41(2), 183–198 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  38. Siek, J., Allison, C.: Boost 1.63 C++ libraries: Dynamic bitset 1.29.0. (2016) http://www.boost.org/doc/libs/1_63_0/libs/dynamic_bitset/dynamic_bitset.html. Accessed 7 May 2017

  39. Stanley, R.: Decompositions of rational convex polytopes. Ann. Discrete Math. 6, 333–342 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  40. Stanley, R.: Two poset polytopes. Discrete Comput. Geom. 1(1), 9–23 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  41. Sullivant, S.: Compressed polytopes and statistical disclosure limitation. Tohoku Math. J. Second Ser. 58(3), 433–445 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  42. Walter, J., Koch, M.: Boost 1.63: Basic linear algebra library (2016) http://www.boost.org/doc/libs/1_63_0/libs/numeric/ublas

  43. Yannakakis, M.: Expressing combinatorial optimization problems by linear programs. J. Comput. Syst. Sci. 43(3), 441–466 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  44. Ziegler, G.: Lectures on Polytopes, vol. 152. Springer, Berlin (1995)

    MATH  Google Scholar 

  45. Ziegler, G.: Lectures on 0/1-polytopes. In: Kalai, G., Ziegler, G. (eds.) Polytopes—Combinatorics and Computation, DMV Seminar, vol. 29, pp. 1–41. Basel, Birkhäuser (2000)

    Google Scholar 

Download references

Acknowledgements

We acknowledge support from the following research grants: ERC grant FOREFRONT (grant agreement no. 615640) funded by the European Research Council under the EU’s 7th Framework Programme (FP7/2007-2013), Ambizione grant PZ00P2 154779 Tight formulations of 0-1 problems funded by the Swiss National Science Foundation, the research grant Semidefinite extended formulations (Semaphore 14620017) funded by F.R.S.-FNRS, and the ARC grant AUWB-2012-12/17-ULB2 COPHYMA funded by the French community of Belgium.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco Macchia.

Appendix: On the implementation of the Enumeration algorithm

Appendix: On the implementation of the Enumeration algorithm

This appendix is meant to provide a high level description of the implementation of the Enumeration algorithm, Algorithm 1.Footnote 8 We implemented the Enumeration algorithm in C++.

It is possible to run the code by passing it two parameters:

$$\begin{aligned} \texttt {./2L\_enum}\, d \,\texttt {verbose\_flag} \end{aligned}$$

where:

  • \(d\) is an integer between 1 and 7, denoting the dimension \(d\) of the list of combinatorial inequivalent \(2\)-level polytopes to enumerate. The algorithm creates a text file with the list of their slack matrices. The algorithm reads a file named \((d-1)\).txt in input, containing the list of all \((d-1)\)-dimensional slack matrices of \(2\)-level polytopes.

  • verbose_flag is an integer between 0 and 3.

    • verbose_flag = 0 : minimal output.

    • verbose_flag = 1 : the output includes all closed sets and tests for classes of \(2\)-level polytopes.

    • verbose_flag = 2 : the output includes all closed sets, \(\mathcal {H}\)-embedding of ground set and tests for classes of \(2\)-level polytopes (see Table 1).

    • verbose_flag = 3 : the output includes all closed sets, \(\mathcal {V}\)- and \(\mathcal {H}\)-embedding ground sets, the slabs vs ground set incidence matrix and tests for classes of \(2\)-level polytopes (see Table 1).

Our implementation of Algorithm 1 is organized as follows. Fix \(d \ge 1\).

  • We read the complete list \(L_{d-1}\) of \(d-1\)-dimensional \(2\)-level polytopes through their slack matrices. Moreover for every \(d-1\)-dimensional \(2\)-level polytope \(P_0\), we assume we are given the embedding transformation matrix \(M_{d-1} :=M(\varGamma _0)\) for some simplicial core \(\varGamma _0 :=(F_2',\dots ,F_{d+1};v_2,\dots ,v_{d+1})\) of \(P_0\). In particular, the top left \(d \times d\) submatrix of the slack matrix \(S(P_0)\) that we pass in input is lower triangular, and corresponds to the rows and columns of \(S(P_0)\) which are indexed by facets \(F_2',\dots ,F_{d+1}\) and vertices \(v_2,\dots ,v_{d+1}\), respectively.

  • We construct the \(\mathcal {H}\)-embedding of \(P_0\) in the hyperplane \(\{x \in \mathbb {R}^d \mid x_1 = 0\}\) with respect to the simplicial core \(\varGamma _0\).

  • Using the definition of \(\mathcal {H}\)-embedding and the slack matrix \(S(P_0)\), we build the list of all sets \(E\) such that either \(x(E) \ge 0\) or \(x(E) \le 1\) is a facet of \(P_0\) in the \(\mathcal {H}\)-embedding of \(P_0\) in the hyperplane \(\{x \in \mathbb {R}^d \mid x_1 = 0\}\) with respect to the simplicial core \(\varGamma _0\).

  • We construct the \(\mathcal {H}\)-embedding of the ground set \(\mathcal {X}_{\mathrm {final}}\) in the hyperplane \(\{x \in \mathbb {R}^d \mid x_1 = 1\}\) with respect to the simplicial core \(\varGamma _0\), see (10).

  • We build the list of all possible slabs (as in Lemma 15) that extend facets of \(P_0\) to \(\mathbb {R}^d\).

  • We build incidence matrices between points of \(\mathcal {X}_{\mathrm {final}}\) and slabs.

  • At this point we are ready to start Ganter’s Next-Closure algorithm [13, 14] to enumerate all closed sets with respect to closure operator \(\mathrm {cl}\) in Lemma 36.

  • According to Lemma 15), for every \(A \subseteq \mathcal {X}_{\mathrm {final}}\), the set \(\mathrm {cl}_{\mathrm {dc}}(A)\) is the set of row indices that contains \(A\) and corresponds to a maximal rectangle of ones in the ground set points vs slabs incidence matrix.

  • For a set \(A \subseteq \mathcal {X}_{\mathrm {final}}\), we compute \(\mathrm {cl}_{\mathrm {comp}}\) by using the list of facets of \(P_0\) in its \(\mathcal {H}\)-embedding and applying the definition of incompatible pair of points in Lemma 22.

  • For every closed set \(A \subseteq \mathcal {X}_{\mathrm {final}}\) with respect to \(\mathrm {cl}\), we construct the incidence matrix \(S\) of points of \(\mathrm {vert}(P_0) \cup A\) and the subset of slabs constructed as in Lemma 15 and containing a maximal set of point in \(\mathrm {vert}(P_0) \cup A\).

  • We test every such candidate martix \(S\) for \(2\)-levelness using nauty and Algorithm 2.

  • If we obtain a positive answer, that is, \(S\) is the slack matrix of some \(d\)-dimensional \(2\)-level polytope, we browse the list \(L_d\) of slack matrices of \(d\)-dimensional \(2\)-level polytopes that we constructed until that moment and check whether an \(S\) already exists there, up to permutation of rows and columns. This test is performed by nauty, as explained in Sect. 6.1. If \(S\) is not listed, then it is added to \(L_d\).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bohn, A., Faenza, Y., Fiorini, S. et al. Enumeration of 2-level polytopes. Math. Prog. Comp. 11, 173–210 (2019). https://doi.org/10.1007/s12532-018-0145-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-018-0145-6

Keywords

Mathematics Subject Classification

Navigation