A computational comparison of symmetry handling methods for mixed integer programs

Abstract

The handling of symmetries in mixed integer programs in order to speed up the solution process of branch-and-cut solvers has recently received significant attention, both in theory and practice. This paper compares different methods for handling symmetries using a common implementation framework. We start by investigating the computation of symmetries and analyze the symmetries present in the MIPLIB 2010 instances. It turns out that many instances are affected by symmetry and most symmetry groups contain full symmetric groups as factors. We then present (variants of) six symmetry handling methods from the literature. Their implementation is tested on several testsets. On very symmetric instances used previously in the literature, it is essential to use methods like isomorphism pruning, orbital fixing, or orbital branching. Moreover, tests on the MIPLIB instances show that isomorphism pruning, orbital fixing, or adding symmetry breaking inequalities allow to speed-up the solution process by about 15% and more instances can be solved within the time limit.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2

Notes

  1. 1.

    Available at http://ahmed.ghoniem.info/download/symmetry.zip.

References

  1. 1.

    Achterberg, T.: Constraint Integer Programming. Ph.D. Thesis, TU Berlin (2007)

  2. 2.

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

    MathSciNet  Article  MATH  Google Scholar 

  3. 3.

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

    MathSciNet  Article  MATH  Google Scholar 

  4. 4.

    Atamtürk, A., Nemhauser, G.L., Savelsbergh, M.W.P.: Conflict graphs in integer programming. Eur. J. Oper. Res. 121, 40–55 (2000)

    MathSciNet  Article  MATH  Google Scholar 

  5. 5.

    Berthold, T.: Heuristic Algorithms in Global MINLP Solvers. Ph.D. Thesis, TU Berlin (2014)

  6. 6.

    Berthold, T., Pfetsch, M.E.: Detecting orbitopal symmetries. In: Fleischmann, B., Borgwardt, K.H., Klein, R., Tuma, A. (eds.) Operations Research Proceedings 2008, pp. 433–438. Springer, Berlin (2009)

    Google Scholar 

  7. 7.

    Bödi, R., Herr, K., Joswig, M.: Algorithms for highly symmetric linear and integer programs. Math. Program. 137(1–2), 65–90 (2013)

    MathSciNet  Article  MATH  Google Scholar 

  8. 8.

    Bremner, D., Pasechnik, D.V., Rehn, T., Schürmann., A., Dutour Sikirić, D.: Computing symmetry groups of polyhedra. LMS J. Comput. Math. 17(1), 565–581 (2014)

    MathSciNet  Article  MATH  Google Scholar 

  9. 9.

    Christophel, P.M., Güzelsoy, M., Póolik, I.: New symmetries in mixed-integer linear optimization symmetry heuristics and complement-based symmetries. In: Technical Report, Optimization Online. http://www.optimization-online.org/DB_HTML/2014/07/4466.html (2014). Accessed June 2018

  10. 10.

    Darga, P.T., Katebi, H., Liffiton, M., Markov, I., Sakallah, K.: Saucy. http://vlsicad.eecs.umich.edu/BK/SAUCY/ (2012). Accessed June 2018

  11. 11.

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

    MathSciNet  Article  MATH  Google Scholar 

  12. 12.

    Fischetti, M., Liberti, L.: Orbital shrinking. In: Mahjoub, A., Markakis, V., Milis, I., Paschos, V.T. (eds.) Combinatorial Optimization, Lecture Notes in Computer Science, vol. 7422, pp. 48–58. Springer, Berlin (2012)

    Google Scholar 

  13. 13.

    Friedman, E.J.: Fundamental domains for integer programs with symmetries. In: Combinatorial Optimization and Applications, volume 4616 of Lecture Notes in Computer Science, pp. 146–153. Springer, Berlin (2007)

  14. 14.

    GAP—Groups, Algorithms, Programming: A system for computational discrete algebra. Version 4.5. http://www.gap-system.org/ (2013). Accessed June 2018

  15. 15.

    Gatermann, K., Parrilo, P.: Symmetry groups, semidefinite programs, and sums of squares. J. Pure Appl. Algebra 192(1–3), 95–128 (2004)

    MathSciNet  Article  MATH  Google Scholar 

  16. 16.

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

    Article  Google Scholar 

  17. 17.

    Herr, K.: Core Sets and Symmetric Convex Optimization. Ph.D. Thesis, TU Darmstadt (2013)

  18. 18.

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

    MathSciNet  Article  MATH  Google Scholar 

  19. 19.

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

    MathSciNet  Article  MATH  Google Scholar 

  20. 20.

    Johnson, D.S.: The NP-completeness column. ACM Trans. Algorithms 1(1), 160–176 (2005)

    MathSciNet  Article  MATH  Google Scholar 

  21. 21.

    Junttila, T., Kaski, P.: bliss: A tool for computing automorphism groups and canonical labelings of graphs. http://www.tcs.hut.fi/Software/bliss/ (2012). Accessed June 2018

  22. 22.

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

    MathSciNet  Article  MATH  Google Scholar 

  23. 23.

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

    MathSciNet  Article  MATH  Google Scholar 

  24. 24.

    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: mixed integer programming library version 5. Math. Program. Comput. 3(2), 103–163 (2011)

    MathSciNet  Article  Google Scholar 

  25. 25.

    Lang, S.: Algebra, 3rd edn. Springer, New York (2005)

    MATH  Google Scholar 

  26. 26.

    Liberti, L.: Automatic generation of symmetry-breaking constraints. In: Combinatorial Optimization and Applications, volume 5165 of Lecture Notes in Computer Science, pp. 328–338. Springer, Berlin (2008)

  27. 27.

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

    MathSciNet  Article  MATH  Google Scholar 

  28. 28.

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

    MathSciNet  Article  MATH  Google Scholar 

  29. 29.

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

    MathSciNet  Article  MATH  Google Scholar 

  30. 30.

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

    MathSciNet  Article  MATH  Google Scholar 

  31. 31.

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

    MathSciNet  Article  MATH  Google Scholar 

  32. 32.

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

    MathSciNet  Article  MATH  Google Scholar 

  33. 33.

    Margot, F.: Symmetry in integer linear programming. In: Jünger, M., Liebling, T., Naddef, D., Nemhauser, G.L., Pulleyblank, W., Reinelt, G., Rinaldi, G., Wolsey, L. (eds.) 50 Years of Integer Programming 1958–2008, chapter 17, pp. 647–681. Springer, Berlin (2010)

    Google Scholar 

  34. 34.

    McKay, B.D.: The nauty program. http://cs.anu.edu.au/people/bdm/nauty/ (2012). Accessed June 2018

  35. 35.

    Mittelmann, H.D., Salvagnin, D.: On solving a hard quadratic 3-dimensional assignment problem. Math. Program. Comput. 7, 219–234 (2015)

    MathSciNet  Article  MATH  Google Scholar 

  36. 36.

    Ostrowski, J., Linderoth, J., Rossi, F., Smriglio, S.: Orbital branching. In: Integer Programming and Combinatorial Optimization, volume 4513 of Lecture Notes in Computer Science, pp. 104–118. Springer, Berlin (2007)

  37. 37.

    Ostrowski, J.: Symmetry in Integer Programming. Ph.D. Thesis, Lehigh University (2009)

  38. 38.

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

    MathSciNet  Article  MATH  Google Scholar 

  39. 39.

    Padberg, M.W.: Facets and rank of integer polyhedra. In: Jünger, M., Reinelt, G. (eds.) Facets of Combinatorial Optimization, pp. 23–58. Springer, Berlin (2013)

    Google Scholar 

  40. 40.

    Puget, J.-F.: Automatic detection of variable and value symmetries. In: Beek, P. (ed.) Principles and Practice of Constraint Programming—CP 2005. Lecture Notes in Computer Science, vol. 3709, pp. 475–489. Springer, Berlin (2005)

    Google Scholar 

  41. 41.

    Read, R.C., Corneil, D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (1977)

    MathSciNet  Article  MATH  Google Scholar 

  42. 42.

    Rehn, T.: Exploring Core Points for Fun and Profit: A Study Of Lattice-free Orbit Polytopes. Ph.D. Thesis, University of Rostock (2014)

  43. 43.

    Rehn, T.: PermLib: Permutation Computation Library. http://www.geometrie.uni-rostock.de/software/ (2013). Accessed June 2018

  44. 44.

    Salvagnin, D.: A Dominance Procedure For Integer Programming. Master’s Thesis, University of Padova (2005)

  45. 45.

    Salvagnin, D.: Orbital shrinking: a new tool for hybrid MIP/CP methods. In: Gomes, C., Sellmann, M. (eds.) Proceedings of Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems (CPAIOR), pp. 204–215. Springer, Berlin, Heidelberg (2013)

  46. 46.

    Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6(4), 445–454 (1994)

    MathSciNet  Article  MATH  Google Scholar 

  47. 47.

    SCIP–Solving Constraint Integer Programs: http://scip.zib.de (2015). Accessed June 2018

  48. 48.

    Seress, Á.: Permutation Group Algorithms. Cambridge University Press, Cambridge (2003)

    Book  MATH  Google Scholar 

  49. 49.

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

    Article  MATH  Google Scholar 

Download references

Acknowledgements

We thank Tobias Achterberg for interesting discussions on the topic and Christopher Hojny for helpful comments. We also thank the editor and referees for their helpful comments that helped to improve this paper. Furthermore, the first author acknowledges support of the German Research Foundation (DFG) within the Collaborative Research Center 666.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Marc E. Pfetsch.

Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (pdf 853 KB)

Appendix: List of MIPLIB 2010 symmetries

Appendix: List of MIPLIB 2010 symmetries

The following Table 19 lists details about the symmetry groups of MIPLIB 2010 instances. The second column shows the logarithm to the base 10 of the order of the symmetry groups. The third column presents the percentage of variables that lie in an orbit of at least size two, i.e., variables on which the symmetry group acts non-trivially. The fourth column shows the groups which the symmetry group is a direct product of. The following notation is used:

  • \(\mathcal {S}_{k}\) denotes a symmetric group of degree k in coordinate action;

  • \(M({G},{\ell })\) represents the matrix action of group G on \(\ell \) points.

  • “unknown” denotes groups whose type could not be determined by PermLib.

The computations for this table were performed on an Intel i7 CPU with 3.40 GHz and 32 GB of memory and a time limit of 10 h. For some instances, the computation or analysis ran into the memory or time limit. These instances are marked with “–”. Instances without symmetry are not shown.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Pfetsch, M.E., Rehn, T. A computational comparison of symmetry handling methods for mixed integer programs. Math. Prog. Comp. 11, 37–93 (2019). https://doi.org/10.1007/s12532-018-0140-y

Download citation

Keywords

  • Symmetry
  • Mixed integer program
  • Branch-and-cut
  • Isomorphism pruning
  • Orbital branching

Mathematics Subject Classification

  • 90C11
  • 90C57