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.











Similar content being viewed by others
Notes
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.
A d-polytope is a polytope of dimension d.
Recall that \(x(E) :=\sum _{i \in E} x_i\) for every \(x \in \mathbb {R}^d\) and every \(E \subseteq [d]\).
As is standard, we use \(\prod \) to denote the Cartesian product of sets.
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.
Hydra balanced cluster: https://cc.ulb.ac.be/hpc/hydra.php with AMD Opteron(TM) 6134 2.3 GHz processors.
Available at https://doi.org/10.5281/zenodo.1405386.
References
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)
Aprile, M., Cevallos, A., Faenza, Y.: On 2-level polytopes arising in combinatorial settings. SIAM J. Discret. Math. 32, 1857–1886 (2018)
Birkhoff, G.: Lattice Theory (American Mathematical Society Colloquium Publications), vol. 25, no. 2. American Mathematical Society (1940)
Birkhoff, G.: Tres observaciones sobre el algebra lineal. Univ. Nac. Tucumán Rev. Ser. A 5, 147–151 (1946)
Blekherman, G.: Nonnegative polynomials and sums of squares. J. Am. Math. Soc. 25(3), 617–635 (2012)
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)
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)
Chvátal, V.: On certain polytopes associated with graphs. J. Comb. Theory Ser. B 18, 138–154 (1975)
Cornuéjols, G.: Combinatorial Optimization: Packing and Covering. CBMS-NSF Regional Conference Series in Applied Mathematics. Society for Industrial and Applied Mathematics (2001)
De Loera, J., Rambau, J., Santos, F.: Triangulations, vol. 25. Springer, Berlin (2010)
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
Fukuda, K., Miyata, H., Moriyama, S.: Complete enumeration of small realizable oriented matroids. Discrete Comput. Geom. 49(2), 359–381 (2013). (English)
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)
Ganter, B., Reuter, K.: Finding all closed sets: a general approach. Order 8(3), 283–290 (1991). (English)
Ganter, B., Wille, R.: Formal Concept Analysis—Mathematical Foundations. Springer, Berlin (1999)
Gillis, N., Glineur, F.: On the geometric interpretation of the nonnegative rank. Linear Algebra Appl. 437(11), 2685–2712 (2012)
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)
Gouveia, J., Parrilo, P., Thomas, R.: Theta bodies for polynomial ideals. SIAM J. Optim. 20(4), 2097–2118 (2010)
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)
Gouveia, J., Robinson, R., Thomas, R.: Polytopes of minimum positive semidefinite rank. Discrete Comput. Geom. 50(3), 679–699 (2013)
Grande, F.: On \(k\)-level matroids: geometry and combinatorics. Ph.D. thesis, Free University of Berlin (2015)
Grande, F., Rué, J.: Many 2-level polytopes from matroids. Discrete Comput. Geom. 54(4), 954–979 (2015)
Grande, F., Sanyal, R.: Theta rank, levelness, and matroid minors. J. Comb. Theory Ser. B 123, 1–31 (2017)
Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization, vol. 2. Springer, Berlin (1993)
Hampe, S., Joswig, M., Benjamin, S.: Algorithms for tight spans and tropical linear spaces (2016). arXiv:1612.03592
Hanner, O.: Intersections of translates of convex bodies. Math. Scand. 4, 65–87 (1956)
Hansen, A.: On a certain class of polytopes associated with independence systems. Math. Scand. 41, 225–241 (1977)
Kaibel, Volker, Pfetsch, Marc E.: Computing the face lattice of a polytope from its vertex-facet incidences. Comput. Geom. 23(3), 281–290 (2002)
Kalai, G.: The number of faces of centrally-symmetric polytopes. Graphs Comb. 5(1), 389–391 (1989)
Kuznetsov, S., Obiedkov, S.: Comparing performance of algorithms for generating concept lattices. J. Exp. Theor. Artif. Intell. 14, 189–216 (2002)
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)
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)
McKay, B.D., Piperno, A.: Practical graph isomorphism, II. J. Symb. Comput. 60, 94–112 (2014)
Moore, E.H.: Introduction to a form of general analysis. Yale University Press, New Haven (1910)
Paffenholz, A.: Faces of Birkhoff polytopes. Electron. J. Comb. 22, 1–67 (2015)
Pashkovich, K.: Extended formulations for combinatorial polytopes. Ph.D. thesis, Magdeburg Universität (2012)
Sanyal, R., Werner, A., Ziegler, G.: On Kalai’s conjectures concerning centrally symmetric polytopes. Discrete Comput. Geom. 41(2), 183–198 (2009)
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
Stanley, R.: Decompositions of rational convex polytopes. Ann. Discrete Math. 6, 333–342 (1980)
Stanley, R.: Two poset polytopes. Discrete Comput. Geom. 1(1), 9–23 (1986)
Sullivant, S.: Compressed polytopes and statistical disclosure limitation. Tohoku Math. J. Second Ser. 58(3), 433–445 (2006)
Walter, J., Koch, M.: Boost 1.63: Basic linear algebra library (2016) http://www.boost.org/doc/libs/1_63_0/libs/numeric/ublas
Yannakakis, M.: Expressing combinatorial optimization problems by linear programs. J. Comput. Syst. Sci. 43(3), 441–466 (1991)
Ziegler, G.: Lectures on Polytopes, vol. 152. Springer, Berlin (1995)
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)
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
Corresponding author
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:
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
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12532-018-0145-6
Keywords
- Polyhedral computation
- Polyhedral combinatorics
- Optimization
- Formal concept analysis
- Algorithm engineering