Skip to main content

Advertisement

Log in

Polytopes associated with symmetry handling

  • Full Length Paper
  • Series A
  • Published:
Mathematical Programming Submit manuscript

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.

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

Similar content being viewed by others

References

  1. Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  2. Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  3. 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)

  4. Balas, E.: Facets of the knapsack polytope. Math. Program. 8(1), 146–164 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  5. Balas, E.: Projection, lifting and extended formulation in integer and combinatorial optimization. Ann. Oper. Res. 140(1), 125–161 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  6. Balas, E., Jeroslow, R.: Canonical cuts on the unit hypercube. SIAM J. Appl. Math. 23(1), 61–69 (1972)

    Article  MathSciNet  MATH  Google Scholar 

  7. 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)

    Article  MathSciNet  MATH  Google Scholar 

  8. Conforti, M., Cornuéjols, G., Zambelli, G.: Extended formulations in combinatorial optimization. Ann. Oper. Res. 204(1), 97–143 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  9. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn. MIT press, Cambridge (2007)

    MATH  Google Scholar 

  10. Coxeter, H.S.M.: Discrete groups generated by reflections. Ann. Math. 35(3), 588–621 (1934)

    Article  MathSciNet  MATH  Google Scholar 

  11. Crowder, H., Johnson, E.L., Padberg, M.: Solving large-scale zero-one linear programming problems. Oper. Res. 31(5), 803–834 (1983)

    Article  MATH  Google Scholar 

  12. Dias, G., Liberti, L.: Orbital Independence in Symmetric Mathematical Programs, pp. 467–480. Springer, Berlin (2015)

    MATH  Google Scholar 

  13. Dixon, J.D., Mortimer, B.: Permutation Groups. Graduate Texts in Mathematics, vol. 163. Springer, New York (1996)

    Book  MATH  Google Scholar 

  14. Faenza, Y., Kaibel, V.: Extended formulations for packing and partitioning orbitopes. Math. Oper. Res. 34(3), 686–697 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  15. 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)

    Chapter  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. Ghoniem, A., Sherali, H.D.: Defeating symmetry in combinatorial optimization via objective perturbations and hierarchical constraints. IIE Trans. 43(8), 575–588 (2011)

    Article  Google Scholar 

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

    Book  MATH  Google Scholar 

  19. Hammer, P., Johnson, E., Peled, U.: Facet of regular 0–1 polytopes. Math. Program. 8(1), 179–206 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  20. Harary, F.: On the group of the composition of two graphs. Duke Math. J. 26(1), 29–34 (1959)

    Article  MathSciNet  MATH  Google Scholar 

  21. 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)

  22. Herr, K.: Core Sets and Symmetric Convex Optimization. Ph.D. thesis, Technische Universität Darmstadt (2013)

  23. Herr, K., Rehn, T., Schürmann, A.: Exploiting symmetry in integer convex optimization using core points. Oper. Res. Lett. 41(3), 298–304 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  24. Herr, K., Rehn, T., Schürmann, A.: On lattice-free orbit polytopes. Discrete Comput. Geom. 53(1), 144–172 (2015)

    Article  MathSciNet  MATH  Google Scholar 

  25. 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

  26. IBM ILOG CPLEX Optimization Studio. http://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/

  27. Januschowski, T., Pfetsch, M.E.: The maximum-colorable subgraph problem and orbitopes. Discrete Optim. 8(3), 478–494 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  28. Kaibel, V.: Extended formulations in combinatorial optimization. Optima 85, 2–7 (2011)

    Google Scholar 

  29. 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)

  30. 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)

    Google Scholar 

  31. Kaibel, V., Peinhardt, M., Pfetsch, M.E.: Orbitopal fixing. Discrete Optim. 8(4), 595–610 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  32. Kaibel, V., Pfetsch, M.E.: Packing and partitioning orbitopes. Math. Program. 114(1), 1–36 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  33. 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)

    Article  MathSciNet  Google Scholar 

  34. 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)

  35. Liberti, L.: Reformulations in mathematical programming: automatic symmetry detection and exploitation. Math. Program. 131(1–2), 273–304 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  36. Liberti, L., Ostrowski, J.: Stabilizer-based symmetry breaking constraints for mathematical programs. J. Glob. Optim. 60, 183–194 (2014)

    Article  MathSciNet  MATH  Google Scholar 

  37. Loos, A.: Describing Orbitopes by Linear Inequalities and Projection Based Tools. Ph.D. thesis, University of Magdeburg (2010)

  38. 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

  39. Margot, F.: Pruning by isomorphism in branch-and-cut. Math. Program. 94(1), 71–90 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  40. Margot, F.: Exploiting orbits in symmetric ILP. Math. Program. 98(1–3), 3–21 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  41. Margot, F.: Small covering designs by branch-and-cut. Math. Program. 94(2), 207–220 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  42. Margot, F.: Symmetric ILP: coloring and small integers. Discrete Optim. 4(1), 40–62 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  43. 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)

    MATH  Google Scholar 

  44. Ostrowski, J., Anjos, M.F., Vannelli, A.: Symmetry in Scheduling Problems. Cahier du GERAD G-2010-69, GERAD, Montreal, QC, Canada (2010)

  45. 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)

    Article  MathSciNet  MATH  Google Scholar 

  46. Ostrowski, J., Linderoth, J., Rossi, F., Smriglio, S.: Orbital branching. Math. Program. 126(1), 147–178 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  47. 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

  48. Rehn, T.: Exploring Core Points for Fun and Profit—a Study of Lattice-Free Orbit Polytopes. Ph.D. thesis, Universität Rostock (2013)

  49. 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)

    Article  MathSciNet  MATH  Google Scholar 

  50. Schrijver, A.: Theory of Linear and Integer Programming. Wiley Interscience Series in Discrete Mathematics and Optimization. Wiley, New York (1986)

    Google Scholar 

  51. Sherali, H.D., Smith, J.C.: Improving discrete model representations via symmetry considerations. Manag. Sci. 47(10), 1396–1407 (2001)

    Article  MATH  Google Scholar 

  52. Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  53. Tarjan, R.E., van Leeuwen, J.: Worst-case analysis of set union algorithms. J. ACM 31(2), 245–281 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  54. van Lint, J.H., Wilson, R.M.: A Course in Combinatorics, 2nd edn. Cambridge University Press, Cambridge (1993)

    Google Scholar 

  55. 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)

    Article  MathSciNet  MATH  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Christopher Hojny.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (pdf 601 KB)

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.

Fig. 3
figure 3

Visualization of the optimization algorithm over \(\mathrm {Q}_{\gamma }\). a Visualization of \(\gamma (X^1) = X^2\), b Implications of \(c = 5\), c Row fixings above \(c = 5\), d Fixings below \(c = 5\)

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

$$\begin{aligned}&F_1 = \{(1,1), (4,2), (4,1), (1,2)\},\\&F_3 = \{(3,1),(3,2),(8,1),(6,2)\},\; \text {and}\\&F_4 = F_1. \end{aligned}$$

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

$$\begin{aligned} \alpha _j = {\left\{ \begin{array}{ll} 0, &{} \quad \text {if }\; j > i,\\ 1, &{} \quad \text {if }\; j \in \{i-1, i\},\\ \alpha _{j+1}, &{} \quad \text {if }\; j< i - 1 \text { and } \kappa _{j+1} \ne 3,\\ 2\alpha _{j+1}, &{} \quad \text {if }\; j < i - 1 \text { and } \kappa _{j+1} = 3. \end{array}\right. } \end{aligned}$$

Then the corresponding facet defining inequality \(\sum _{j = 1}^m (a_{j1}X_{j1} + a_{j2} X_{j2}) \le \beta \) is given by

$$\begin{aligned} (a_{j1}, a_{j2}) = {\left\{ \begin{array}{ll} (0,0), &{} \quad \text {if }\; \kappa _j = 0,\\ (-\alpha _j,0), &{} \quad \text {if }\; \kappa _j = 1,\\ (0,\alpha _j), &{}\quad \text {if }\; \kappa _j = 2,\\ (-\alpha _j, \alpha _j), &{}\quad \text {if }\; \kappa _j = 3, \end{array}\right. } \end{aligned}$$

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

$$\begin{aligned} (X^j_{k1}, X^j_{k2}) {\,:}{=\,}{\left\{ \begin{array}{ll} (1,1), &{} \quad \text {if }\; k < j \text { and } \kappa _k = 2,\\ (1,0), &{} \quad \text {if }\; k = j,\\ (0,1), &{} \quad \text {if }\; k > j,\\ (0,0), &{} \quad \text {otherwise.} \end{array}\right. } \end{aligned}$$

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\).

Table 5 Vertices of some orbisack facets that are constructed in the proof of Proposition 38

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(Abw) 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(Abw) 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(Abw) 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. 1.

    If more than \(95{\%}\) of the variables of P(Abw) are affected by \(\varGamma \), we classify these problems as highly symmetric.

  2. 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(Abw).

figure b

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10107-018-1239-7

Mathematics Subject Classification

Navigation