Advertisement

Mathematical Programming Computation

, Volume 11, Issue 1, pp 37–93 | Cite as

A computational comparison of symmetry handling methods for mixed integer programs

  • Marc E. PfetschEmail author
  • Thomas Rehn
Full Length Paper
  • 91 Downloads

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.

Keywords

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

Mathematics Subject Classification

90C11 90C57 

Notes

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.

Supplementary material

12532_2018_140_MOESM1_ESM.pdf (854 kb)
Supplementary material 1 (pdf 853 KB)

References

  1. 1.
    Achterberg, T.: Constraint Integer Programming. Ph.D. Thesis, TU Berlin (2007)Google Scholar
  2. 2.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Berthold, T.: Heuristic Algorithms in Global MINLP Solvers. Ph.D. Thesis, TU Berlin (2014)Google Scholar
  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)CrossRefGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)CrossRefGoogle 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)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle 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)CrossRefGoogle Scholar
  17. 17.
    Herr, K.: Core Sets and Symmetric Convex Optimization. Ph.D. Thesis, TU Darmstadt (2013)Google Scholar
  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)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Herr, K., Rehn, T., Schürmann, A.: On lattice-free orbit polytopes. Discrete Comput. Geom. 53(1), 144–172 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Johnson, D.S.: The NP-completeness column. ACM Trans. Algorithms 1(1), 160–176 (2005)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Kaibel, V., Peinhardt, M., Pfetsch, M.E.: Orbitopal fixing. Discrete Optim. 8(4), 595–610 (2011)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Lang, S.: Algebra, 3rd edn. Springer, New York (2005)zbMATHGoogle 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)Google Scholar
  27. 27.
    Liberti, L.: Reformulations in mathematical programming: automatic symmetry detection and exploitation. Math. Program. 131(1–2), 273–304 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Liberti, L., Ostrowski, J.: Stabilizer-based symmetry breaking constraints for mathematical programs. J. Glob. Optim. 60, 183–194 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Margot, F.: Pruning by isomorphism in branch-and-cut. Math. Program. 94, 71–90 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Margot, F.: Exploiting orbits in symmetric ILP. Math. Program. 98(1–3), 3–21 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  31. 31.
    Margot, F.: Small covering designs by branch-and-cut. Math. Program. 94(2–3), 207–220 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    Margot, F.: Symmetric ILP: Coloring and small integers. Discrete Optim. 4(1), 40–62 (2007)MathSciNetCrossRefzbMATHGoogle 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)MathSciNetCrossRefzbMATHGoogle 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)Google Scholar
  37. 37.
    Ostrowski, J.: Symmetry in Integer Programming. Ph.D. Thesis, Lehigh University (2009)Google Scholar
  38. 38.
    Ostrowski, J., Linderoth, J., Rossi, F., Smriglio, S.: Orbital branching. Math. Program. 126(1), 147–178 (2011)MathSciNetCrossRefzbMATHGoogle 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)CrossRefGoogle 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)CrossRefGoogle Scholar
  41. 41.
    Read, R.C., Corneil, D.G.: The graph isomorphism disease. J. Graph Theory 1(4), 339–363 (1977)MathSciNetCrossRefzbMATHGoogle 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)Google Scholar
  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)Google Scholar
  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)Google Scholar
  46. 46.
    Savelsbergh, M.W.P.: Preprocessing and probing techniques for mixed integer programming problems. ORSA J. Comput. 6(4), 445–454 (1994)MathSciNetCrossRefzbMATHGoogle 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)CrossRefzbMATHGoogle Scholar
  49. 49.
    Sherali, H., Smith, J.C.: Improving discrete model representations via symmetry considerations. Manag. Sci. 47(10), 1396–1407 (2001)CrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature and The Mathematical Programming Society 2018

Authors and Affiliations

  1. 1.Fachbereich MathematikTechnische Universität DarmstadtDarmstadtGermany
  2. 2.initOS GmbHMagdeburgGermany

Personalised recommendations