Abstract
This paper investigates a polyhedral approach to handle symmetries in mixed-binary programs. We study symretopes, i.e., the convex hulls of all binary vectors that are lexicographically maximal in their orbit with respect to the symmetry group. These polytopes turn out to be quite complex. For practical use, we therefore develop an integer programming formulation with ternary coefficients, based on knapsack polytopes arising from a single lexicographic order enforcing inequality. We show that for these polytopes, the optimization as well as the separation problem of minimal cover inequalities can be solved in almost linear time. We demonstrate the usefulness of this approach by computational experiments, showing that it is competitive with state-of-the-art methods and is considerably faster for specific problem classes.
Similar content being viewed by others
References
Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)
Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)
Babai, L., Luks, E.M.: Canonical labeling of graphs. In: Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing, STOC ’83, pp. 171–183, New York, NY, USA, ACM (1983)
Balas, E.: Facets of the knapsack polytope. Math. Program. 8(1), 146–164 (1975)
Balas, E.: Projection, lifting and extended formulation in integer and combinatorial optimization. Ann. Oper. Res. 140(1), 125–161 (2005)
Balas, E., Jeroslow, R.: Canonical cuts on the unit hypercube. SIAM J. Appl. Math. 23(1), 61–69 (1972)
Chen, K.T., Fox, R.H., Lyndon, R.C.: Free differential calculus, IV. The quotient groups of the lower central series. Ann. Math. 68, 81–95 (1958)
Conforti, M., Cornuéjols, G., Zambelli, G.: Extended formulations in combinatorial optimization. Ann. Oper. Res. 204(1), 97–143 (2013)
Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT press, Cambridge (2007)
Coxeter, H.S.M.: Discrete groups generated by reflections. Ann. Math. 35(3), 588–621 (1934)
Crowder, H., Johnson, E.L., Padberg, M.: Solving large-scale zero-one linear programming problems. Oper. Res. 31(5), 803–834 (1983)
Dias, G., Liberti, L.: Orbital Independence in Symmetric Mathematical Programs, pp. 467–480. Springer, Berlin (2015)
Dixon, J.D., Mortimer, B.: Permutation Groups. Graduate Texts in Mathematics, vol. 163. Springer, New York (1996)
Faenza, Y., Kaibel, V.: Extended formulations for packing and partitioning orbitopes. Math. Oper. Res. 34(3), 686–697 (2009)
Fischetti, M., Liberti, L.: Orbital shrinking. In: Mahjoub, A.R., Markakis, V., Milis, I., Paschos, V.T. (eds.) Combinatorial Optimization. Lecture Notes in Computer Science, vol. 7422, pp. 48–58. Springer, Berlin (2012)
Friedman, E.J.: Fundamental domains for integer programs with symmetries. In: Dress, A., Xu, Y., Zhu, B. (eds.) Combinatorial Optimization and Applications. LNCS, vol. 4616, pp. 146–153. Springer, Berlin (2007)
Ghoniem, A., Sherali, H.D.: Defeating symmetry in combinatorial optimization via objective perturbations and hierarchical constraints. IIE Trans. 43(8), 575–588 (2011)
Grötschel, M., Lovász, L., Schrijver, A.: Geometric Algorithms and Combinatorial Optimization, vol. 2. Springer, Berlin (1988)
Hammer, P., Johnson, E., Peled, U.: Facet of regular 0–1 polytopes. Math. Program. 8(1), 179–206 (1975)
Harary, F.: On the group of the composition of two graphs. Duke Math. J. 26(1), 29–34 (1959)
Harvey, W.: The fully social golfer problem. In: Smith, B.M., and Gent, I.P. (eds.) Proceedings of SymCom’03: The Third International Workshop on Symmetry in Constraint Satisfaction Problems, pp. 75–85 (2003)
Herr, K.: Core Sets and Symmetric Convex Optimization. Ph.D. thesis, Technische Universität Darmstadt (2013)
Herr, K., Rehn, T., Schürmann, A.: Exploiting symmetry in integer convex optimization using core points. Oper. Res. Lett. 41(3), 298–304 (2013)
Herr, K., Rehn, T., Schürmann, A.: On lattice-free orbit polytopes. Discrete Comput. Geom. 53(1), 144–172 (2015)
Hojny, C., Lüthen, H., Pfetsch, M.E.: On the size of integer programs with bounded coefficients or sparse constraints. Technical report, Optimization Online (2017). http://www.optimization-online.org/DB_HTML/2017/06/6056.html
IBM ILOG CPLEX Optimization Studio. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/
Januschowski, T., Pfetsch, M.E.: The maximum-colorable subgraph problem and orbitopes. Discrete Optim. 8(3), 478–494 (2011)
Kaibel, V.: Extended formulations in combinatorial optimization. Optima 85, 2–7 (2011)
Kaibel, V., Loos, A.: Branched polyhedral systems. In Eisenbrand, F., Shepherd, F.B. (eds.) Proceedings of the 14th International Conference on Integer Programming and Combinatorial Optimization, IPCO 2010, Lausanne, Switzerland, 9–11 June 2010. LNCS, vol. 6080, pp. 177–190. Springer, Berlin (2010)
Kaibel, V., Loos, A.: Finding descriptions of polytopes via extended formulations and liftings. In: Mahjoub, A.R. (ed.) Progress in Combinatorial Optimization. Wiley, New York (2011)
Kaibel, V., Peinhardt, M., Pfetsch, M.E.: Orbitopal fixing. Discrete Optim. 8(4), 595–610 (2011)
Kaibel, V., Pfetsch, M.E.: Packing and partitioning orbitopes. Math. Program. 114(1), 1–36 (2008)
Koch, T., Achterberg, T., Andersen, E., Bastert, O., Berthold, T., Bixby, R.E., Danna, E., Gamrath, G., Gleixner, A.M., Heinz, S., Lodi, A., Mittelmann, H., Ralphs, T., Salvagnin, D., Steffy, D.E., Wolter, K.: MIPLIB 2010. Math. Program. Comput. 3(2), 103–163 (2011)
Liberti, L.: Automatic generation of symmetry-breaking constraints. In: Yang, B., Du, D.-Z., Wang, C. (eds.) Combinatorial Optimization and Applications. Lecture Notes in Computer Science, vol. 5165, pp. 328–338. Springer, Berlin (2008)
Liberti, L.: Reformulations in mathematical programming: automatic symmetry detection and exploitation. Math. Program. 131(1–2), 273–304 (2012)
Liberti, L., Ostrowski, J.: Stabilizer-based symmetry breaking constraints for mathematical programs. J. Glob. Optim. 60, 183–194 (2014)
Loos, A.: Describing Orbitopes by Linear Inequalities and Projection Based Tools. Ph.D. thesis, University of Magdeburg (2010)
Maher, S.J., Fischer, T., Gally, T., Gamrath, G., Gleixner, A., Gottwald, R.L., Hendel, G., Koch, T., Lübbecke, M.E., Miltenberger, M., Müller, B., Pfetsch, M.E., Puchert, C., Rehfeldt, D., Schenker, S., Schwarz, R., Serrano, F., Shinano, Y., Weninger, D., Witt, J.T., Witzig, J.: The SCIP optimization suite 4.0. Technical report, Optimization Online (2017). http://www.optimization-online.org/DB_HTML/2017/03/5895.html
Margot, F.: Pruning by isomorphism in branch-and-cut. Math. Program. 94(1), 71–90 (2002)
Margot, F.: Exploiting orbits in symmetric ILP. Math. Program. 98(1–3), 3–21 (2003)
Margot, F.: Small covering designs by branch-and-cut. Math. Program. 94(2), 207–220 (2003)
Margot, F.: Symmetric ILP: coloring and small integers. Discrete Optim. 4(1), 40–62 (2007)
Margot, F.: Symmetry in integer linear programming. In: Jünger, M., Liebling, T.M., Naddef, D., Nemhauser, G.L., Pulleyblank, W.R., Reinelt, G., Rinaldi, G., Wolsey, L.A. (eds.) 50 Years of Integer Programming, pp. 647–686. Springer, Berlin (2010)
Ostrowski, J., Anjos, M.F., Vannelli, A.: Symmetry in Scheduling Problems. Cahier du GERAD G-2010-69, GERAD, Montreal, QC, Canada (2010)
Ostrowski, J., Anjos, M.F., Vannelli, A.: Modified orbital branching for structured symmetry with an application to unit commitment. Math. Program. 150(1), 99–129 (2015)
Ostrowski, J., Linderoth, J., Rossi, F., Smriglio, S.: Orbital branching. Math. Program. 126(1), 147–178 (2011)
Pfetsch, M.E., Rehn, T.: A computational comparison of symmetry handling methods for mixed integer programs. Technical report, Optimization Online (2015). http://www.optimization-online.org/DB_FILE/2015/11/5209.pdf
Rehn, T.: Exploring Core Points for Fun and Profit—a Study of Lattice-Free Orbit Polytopes. Ph.D. thesis, Universität Rostock (2013)
Sawada, J., Williams, A.: A gray code for fixed-density necklaces and lyndon words in constant amortized time. Theor. Comput. Sci. 502, 46–54 (2013)
Schrijver, A.: Theory of Linear and Integer Programming. Wiley Interscience Series in Discrete Mathematics and Optimization. Wiley, New York (1986)
Sherali, H.D., Smith, J.C.: Improving discrete model representations via symmetry considerations. Manag. Sci. 47(10), 1396–1407 (2001)
Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)
Tarjan, R.E., van Leeuwen, J.: Worst-case analysis of set union algorithms. J. ACM 31(2), 245–281 (1984)
van Lint, J.H., Wilson, R.M.: A Course in Combinatorics, 2nd edn. Cambridge University Press, Cambridge (1993)
Vande Vate, J.H.: The path set polytope of an acyclic, directed graph with an application to machine sequencing. Networks 19(5), 607–614 (1989)
Acknowledgements
We thank Andreas Paffenholz for helpful discussions. Moreover, we thank two anonymous referees for their valuable suggestions that helped to improve this paper. In particular, we thank one referee for an idea to improve the running time of the algorithm in Theorem 23.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
Appendices
Appendix
A Visualization of the algorithm described in Theorem 23
In this section, we present an example for the application of the algorithm \(\mathcal {A}\) described in the proof of Theorem 23. To this end, consider the permutation \(\gamma = (1,4)(2,5,7,8,3,6)\) and the objective \(w = (2,1,3,-\,3,-\,2,1,-\,2,0)^\top \). We extend w to \(W = (w, \mathbb {O}{})\) as objective for \(\mathrm {Q}_{\gamma }\). Figure 3a shows which entry in the second column of a vertex of \(\mathrm {Q}_{\gamma }\) is equal to the entry in its first column.
If \(c = 4\), we want to determine a vertex x of \(\mathrm {P}_{\gamma }\) which maximizes w and which has critical row \(c = 4\) if considered as the vertex \(X {\,:}{=\,}(x, \gamma (x))\) of \(\mathrm {Q}_{\gamma }\). First, \(\mathcal {A}\) detects that \(X^1_4 = 1\) and \(X^2_4 = 0\) because 4 is the critical row of X, and it analyzes which further entries have to be 1 or 0 due to the permutation property of the second column. Since \(\gamma (4) = 1\), \(\mathcal {A}\) concludes that \(X^2_1 = 1\) holds. Furthermore, \(X^1_1 = 1\) because row 1 is above the critical row 4 and thus, constant. Iteratively, \(\mathcal {A}\) would set \(X^2_4 = 1\) because \(\gamma (1) = 4\). But this is a contradiction because \(X^2_4\) is 0, since row 4 is critical. \(\mathcal {A}\) detects this contradiction and terminates: row 4 cannot be critical.
If \(c = 5\), \(\mathcal {A}\) detects that \(X^1_5 = 1\) and \(X^2_5 = 0\). Since \(\gamma (5) = 7\), we have \(X^2_7 = 1\); similarly, because \(\gamma ^{-1}(5) = 2\) and \(\gamma ^{-2}(5) = 6\), 2 is the smallest power k of \(\gamma ^{-1}\) such that \(\gamma ^{-k}(5) \ge 5\). Hence, row 2 has to be a constant 0-row and \(X^1_6 = 0\) because row 5 is critical. Figure 3b illustrates the implications from critical row 5.
Then, we fix the unfixed rows above the critical row. These rows are rows 1, 3, and 4. To this end, we compute the sets
Fixing any \((i,j) \in F_1\) fixes all other entries in \(F_1\) to the same value. Because \(W^1_1 + W^2_1 + W^1_4 + W^2_4 = w_1 + w_4 = -1 < 0\) we can conclude that any vertex of \(\mathrm {Q}_{\gamma }\) which maximizes W and which has critical row 5 has 0-s in rows 1 and 4. Similarly, fixing any \((i,j) \in F_3\) fixes all other entries in \(F_3\) to the same value. Since \(W^1_3 + W^2_3 + W^1_8 + W^2_6 = 3 > 0\) the entries in \(F_3\) of each vertex of \(\mathrm {Q}_{\gamma }\) which maximizes W and which has critical row 5 are equal to 1. This observation is visualized in Fig. 3c.
Finally, we have to set the unfixed entries below critical row 5. The only unfixed entries are (7, 1) and \((\gamma (7),2) = (8,2)\). Because \(W^1_7 + W^2_8 = w_7 = -2 < 0\), we set \(X^1_7 = X^2_8 = 0\). Now, all entries of X are fixed and a maximizer of W with critical row 5 is found, see Fig. 3d.
B Proof of Claim 3.4
In this section, we provide the missing proof of Claim 3.4
Claim
Every non-trivial facet F of \(\mathrm {O}_{m}\) contains m vertices of \(\mathrm {O}_{m}\) whose first columns are affinely independent and are not equal to \(\mathbb {1}\). Moreover, F contains m vertices of \(\mathrm {O}_{m}\) whose second columns are affinely independent and are not equal to 0.
Proof
Kaibel and Loos [30] showed that every non-trivial facet defining inequality of \(\mathrm {O}_{m}\) is characterized by a vector \(\kappa \in \{0,1,2,3\}^{m}\) with the following properties:
-
there exists \(i \in [m]\) such that \(\kappa _j = 0\) for all \(j \in \{i + 1, \dots , m\}\),
-
\(\kappa _j \ne 0\) for all \(j \in [i]\), and
-
\(\kappa _1 = \kappa _i = 3\).
Define \(\alpha = \alpha (\kappa ) \in \mathbb {R}^{m \times 2}\) via
Then the corresponding facet defining inequality \(\sum _{j = 1}^m (a_{j1}X_{j1} + a_{j2} X_{j2}) \le \beta \) is given by
and \(\beta {\,:}{=\,}\sum _{j \,:\,\kappa _j = 2} \alpha _j\).
In the following, it suffices to show only the first part of the claim, because the second part follows by applying the map \(x \mapsto 1 - x\) to all variables, exchanging the variables of the first and second column, and flipping the meaning of \(\kappa _j = 1\) and \(\kappa _j = 2\). Furthermore, it is sufficient to consider only those vectors \(\kappa \) with \(\kappa _m = 3\), cf. Loos [37, Lem. 3.62].
To prove the first part of the claim, define for every \(j \in [m]\) the matrix \(X^j\) as follows. If \(j < m\), define
For \(j = m\), we define \((X^m_{k1}, X^m_{k2}) {\,:}{=\,}(1,1)\) if \(k = m\) or \(\kappa _k = 2\). Otherwise, we set \((X^m_{k1}, X^m_{k2}) {\,:}{=\,}(0,0)\).
These matrices are vertices of the orbisack. Moreover, the first columns of these matrices are affinely independent, because the support of the first column of \(X^j\) is contained in [j] and \(X^j_{j1} = 1\). By a careful consideration of all possible cases, one can show that \(X^j\), \(j \in [m]\), is contained in the facet associated with \(\kappa \). In “Appendix C”, we provide some examples that give an intuition why the latter statement holds. But we refrain from providing the arguments in the corresponding case distinction. \(\square \)
C Illustration of the vertices constructed in Proposition 38
Table 5 illustrates the vertices constructed in the proof of Proposition 38 of the orbisack facets associated with \(\kappa ^1 = (3,3,1,1,3,1,3)\), \(\kappa ^2 = (3,3,2,2,3,2,3)\), and \(\kappa ^3 = (3,3,2,1,3,2,3)\). The first column of the table provides the facet inequality of the corresponding vector \(\kappa \). The remaining columns contain the vertices \(X^1\), ..., \(X^7\).
D Visualization of symmetry handling decisions
In this section, we explain the steps in our procedure that adds symmetry handling inequalities to a binary program. We denote with P(A, b, w) the binary program \(\max \,\{ {w}^\top x \,:\,Ax \le b,\; x \in \{0,1\}^{\bar{n}}\}\), where \(A \in \mathbb {R}^{m \times \bar{n}}\) and \(b \in \mathbb {R}^m\) for some positive integers m and \(\bar{n}\). Furthermore, we abbreviate the formulation symmetry group of P(A, b, w) with \(\bar{\varGamma }\).
Due to Proposition 5, we treat each factor \(\varGamma \) of \(\bar{\varGamma }\) separately, and we classify a factor \(\varGamma \) as essential if \(\varGamma \) is acting as an orbitope on P(A, b, w) or if there is \(n \in \mathbb {N}\) such that \(\varGamma = \mathcal {S}_{n}\) or \(\varGamma = \mathcal {C}_{n}\). Otherwise, we classify the factor as non-essential. In the latter case, we handle the symmetries of \(\varGamma \) only if we expect that it is worthwhile to do so. Based on preliminary tests, we decided to handle non-essential symmetries if one of the following conditions hold. In this case, we set a parameter \(\alpha \leftarrow 1\), otherwise we set \(\alpha \leftarrow 0\).
-
1.
If more than \(95{\%}\) of the variables of P(A, b, w) are affected by \(\varGamma \), we classify these problems as highly symmetric.
-
2.
If the amount of affected variables lies between 5 and \(95{\%}\), we handle non-essential symmetries if \(\frac{\log _{10}|\varGamma |}{\text {number of generators}}\) is at most 0.55, because the number of generators in comparison to the number of elements in \(\varGamma \) is not too small.
Algorithm 2 visualizes the procedure that determines which symmetry handling inequalities are added to P(A, b, w).
Rights and permissions
About this article
Cite this article
Hojny, C., Pfetsch, M.E. Polytopes associated with symmetry handling. Math. Program. 175, 197–240 (2019). https://doi.org/10.1007/s10107-018-1239-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10107-018-1239-7