Progress in Academic Computational Integer Programming

  • Thorsten Koch
  • Alexander Martin
  • Marc E. Pfetsch


This paper discusses issues related to the progress in computational integer programming. The first part deals with the question to what extent computational experiments can be reproduced at all. Afterward the performance measurement of solvers and their comparison are investigated. Then academic progress in solving mixed-integer programming at the examples of the solver SIP and its successor SCIP is demonstrated. All arguments are supported by computational results. Finally, we discuss the pros and cons of developing academic software for solving mixed-integer programs.


Source Code Integer Programming Constraint Programming Simplex Algorithm Commercial Solver 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.



We thank all developers of SCIP/SoPlex (for a complete list, see [71]); in particular, we thank Timo Berthold and Stefan Heinz for preparing Fig. 3 and Fig. 4. Thanks to Madeline Lips for her help with the literature investigation in Sect. 6. We also thank a referee for helpful and insightful comments that improved this paper. Last but not least, we are most thankful to Martin Grötschel. Investing in a long-term project as the development of a general MIP solver is only possible if you get the time and the trust to do it. Both has been given to all three of us by Martin Grötschel in an excellent environment at ZIB.


  1. 1.
    Achterberg, T.: Conflict analysis in mixed integer programming. Discrete Optim. 4(1), 4–20 (2007) MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Achterberg, T.: Constraint integer programming. Ph.D. thesis, Technische Universität Berlin (2007) Google Scholar
  3. 3.
    Achterberg, T.: SCIP: solving constraint integer programs. Math. Program. Comput. 1(1), 1–41 (2009) MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Achterberg, T., Berthold, T.: Hybrid branching. In: van Hoeve, W.J., Hooker, J.N. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Lecture Notes in Computer Science, vol. 5547, pp. 309–311. Springer, Berlin (2009) CrossRefGoogle Scholar
  5. 5.
    Achterberg, T., Raack, C.: The MCF-separator—detecting and exploiting multi-commodity flows in MIPs. Math. Program. Comput. 2(2), 125–165 (2010) MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Achterberg, T., Wunderling, R.: Mixed integer programming: analyzing 12 years of progress. In: Facets of Combinatorial Optimization: Festschrift for Martin Grötschel. Springer, Berlin (2013) Google Scholar
  7. 7.
    Achterberg, T., Koch, T., Martin, A.: Branching rules revisited. Oper. Res. Lett. 33, 42–54 (2005) MathSciNetzbMATHCrossRefGoogle Scholar
  8. 8.
    Achterberg, T., Koch, T., Martin, A.: MIPLIB 2003. Oper. Res. Lett. 34(4), 361–372 (2006) MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Achterberg, T., Brinkmann, R., Wedler, M.: Property checking with constraint integer programming. Technical report 07-37, ZIB, Berlin (2007) Google Scholar
  10. 10.
    Achterberg, T., Berthold, T., Koch, T., Wolter, K.: Constraint integer programming: a new approach to integrate CP and MIP. In: Perron, L., Trick, M.A. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Lecture Notes in Computer Science, vol. 5015, pp. 6–20. Springer, Berlin (2008) CrossRefGoogle Scholar
  11. 11.
    Achterberg, T., Heinz, S., Koch, T.: Counting solutions of integer programs using unrestricted subtree detection. In: Perron, L., Trick, M.A. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Lecture Notes in Computer Science, vol. 5015, pp. 278–282. Springer, Berlin (2008) CrossRefGoogle Scholar
  12. 12.
    Adler, R., Ewing, J., Taylor, P.: Citation statistics. Technical report, IMU, ICIAM, IMS (2008).
  13. 13.
    Adler, R., Ewing, J., Taylor, P.: Citation statistics. Not. Am. Math. Soc. 55(8), 968–969 (2008) Google Scholar
  14. 14.
    Applegate, D., Bixby, R.E., Chvátal, V., Cook, W.: Finding cuts in the TSP. Technical report 95-05, DIMACS (1995) Google Scholar
  15. 15.
    Applegate, D.L., Bixby, R.E., Chvatal, V., Cook, W.J.: The Traveling Salesman Problem: A Computational Study. Princeton University Press, Princeton (2006) Google Scholar
  16. 16.
    Armbruster, M., Fügenschuh, M., Helmberg, C., Martin, A.: LP and SDP branch-and-cut algorithms for the minimum graph bisection problem: a computational comparison. Math. Program. Comput. 4(3), 275–306 (2012) MathSciNetCrossRefGoogle Scholar
  17. 17.
    Atamtürk, A., Savelsbergh, M.: Integer-programming software systems. Ann. Oper. Res. 140, 67–124 (2005) MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    Balas, E., Ceria, S., Cornuéjols, G., Natraj, N.: Gomory cuts revisited. Oper. Res. Lett. 19, 1–9 (1996) MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Benichou, M., Gauthier, J.M., Girodet, P., Hentges, G., Ribiere, G., Vincent, O.: Experiments in mixed-integer programming. Math. Program. 1, 76–94 (1971) MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Berthold, T., Heinz, S., Pfetsch, M.E.: Nonlinear pseudo-boolean optimization: relaxation or propagation? In: Kullmann, O. (ed.) Theory and Applications of Satisfiability Testing—SAT 2009. Lecture Notes in Computer Science, vol. 5584, pp. 441–446. Springer, Berlin (2009) CrossRefGoogle Scholar
  21. 21.
    Berthold, T., Heinz, S., Pfetsch, M.E., Vigerske, S.: Large neighborhood search beyond MIP. In: Gaspero, L.D., Schaerf, A., Stützle, T. (eds.) Proceedings of the 9th Metaheuristics International Conference (MIC 2011), pp. 51–60 (2011) Google Scholar
  22. 22.
    Bixby, R.E.: Solving real-world linear programs: a decade and more of progress. Oper. Res. 50(1), 3–15 (2002) MathSciNetzbMATHCrossRefGoogle Scholar
  23. 23.
    Bixby, R.E.: Personal communication (2012) Google Scholar
  24. 24.
    Bixby, R.E., Martin, A.: Parallelizing the dual simplex method. INFORMS J. Comput. 12, 45–56 (2000) MathSciNetzbMATHCrossRefGoogle Scholar
  25. 25.
    Bixby, R.E., Boyd, E.A., Indovina, R.R.: MIPLIB: a test set of mixed integer programming problems. SIAM News 25, 16 (1992) Google Scholar
  26. 26.
    Bixby, R.E., Ceria, S., McZeal, C., Savelsbergh, M.: An updated mixed integer programming library: MIPLIB 3.0. Optima 58, 12–15 (1998) Google Scholar
  27. 27.
    Bley, A., Gleixner, A., Koch, T., Vigerske, S.: Comparing MIQCP solvers to a specialised algorithm for mine production scheduling. In: Bock, H.G., Phu, H.X., Rannacher, R., Schlöder, J.P. (eds.) Modeling, Simulation and Optimization of Complex Processes: Proceedings of the Fourth International Conference on High Performance Scientific Computing, March 2–6, 2009, Hanoi, Vietnam pp. 25–40. Springer, Berlin (2009) Google Scholar
  28. 28.
    Borndörfer, R.: Aspects of set packing, partitioning, and covering. Ph.D. thesis, Technische Universität Berlin (1998) Google Scholar
  29. 29.
    Borndörfer, R., Ferreira, C.E., Martin, A.: Decomposing matrices into blocks. SIAM J. Optim. 9, 236–269 (1998) zbMATHCrossRefGoogle Scholar
  30. 30.
    Cook, W., Koch, T.: Mathematical programming computation: a new MPS journal. Optima 78, 1, 7, 8, 11 (2008) Google Scholar
  31. 31.
    Crowder, H., Johnson, E.L., Padberg, M.W.: Solving large-scale zero-one linear programming problems. Oper. Res. 31(5), 803–834 (1983) zbMATHCrossRefGoogle Scholar
  32. 32.
    Dantzig, G.: Linear Programming and Extensions. Princeton University Press, Princeton (1963) zbMATHGoogle Scholar
  33. 33.
    Dantzig, G., Fulkerson, R., Johnson, S.: Solution of a large-scale traveling-salesman problem. Oper. Res. 2, 393–410 (1954) MathSciNetCrossRefGoogle Scholar
  34. 34.
    Eckstein, J., Boduroǧlu, I.I., Polymenakos, L.C., Goldfarb, D.: Data-parallel implementations of dense simplex methods on the connection machine CM-2. ORSA J. Comput. 7(4), 402–416 (1995) zbMATHCrossRefGoogle Scholar
  35. 35.
    Ferreira, C.E., Martin, A., Weismantel, R.: Solving multiple knapsack problems by cutting planes. SIAM J. Optim. 6(3), 858–877 (1996) MathSciNetzbMATHCrossRefGoogle Scholar
  36. 36.
  37. 37.
    Forrest, J.J., Goldfarb, D.: Steepest-edge simplex algorithms for linear programming. Math. Program. 57, 341–374 (1992) MathSciNetzbMATHCrossRefGoogle Scholar
  38. 38.
    Forrest, J., Tomlin, J.: Updated triangular factors of the basis of maintain sparsity in the product form simplex method. Math. Program. 2, 263–278 (1972) MathSciNetzbMATHCrossRefGoogle Scholar
  39. 39.
    Fourer, R.: Linear programming—software survey. OR/MS Today 38(3) (2011) Google Scholar
  40. 40.
    Gamrath, G., Lübbecke, M.: Experiments with a generic Dantzig-Wolfe decomposition for integer programs. In: Festa, P. (ed.) Experimental Algorithms. Lecture Notes in Computer Science, vol. 6049, pp. 239–252. Springer, Berlin (2010) CrossRefGoogle Scholar
  41. 41.
    Gay, M.: Electronic mail distribution of linear programming test problems. Math. Program. Soc. COAL Bull. 13, 10–12 (1985). Google Scholar
  42. 42.
    Greenberg, H.J.: Computational testing: why, how and how much. ORSA J. Comput. 2(1), 94–96 (1990) CrossRefGoogle Scholar
  43. 43.
    Grötschel, M., Jünger, M., Reinelt, G.: A cutting plane algorithm for the linear ordering problem. Oper. Res. 32(6), 1195–1220 (1984) MathSciNetzbMATHCrossRefGoogle Scholar
  44. 44.
    Grötschel, M., Monma, C.L., Stoer, M.: Polyhedral and computational investigations for designing communication networks with high survivability requirements. Oper. Res. 43(6), 1012–1024 (1995) MathSciNetzbMATHCrossRefGoogle Scholar
  45. 45.
    Grötschel, M., Martin, A., Weismantel, R.: Packing Steiner trees: a cutting plane algorithm and computational results. Math. Program., Ser. A 72(2), 125–145 (1996) zbMATHCrossRefGoogle Scholar
  46. 46.
    Gurobi Inc.: (2012). Accessed May 2012
  47. 47.
    Harris, P.M.J.: Pivot selection methods of the DEVEX LP code. Math. Program. 5, 1–28 (1973) zbMATHCrossRefGoogle Scholar
  48. 48.
    Heinz, S., Sachenbacher, M.: Using model counting to find optimal distinguishing tests. In: van Hoeve, W.J., Hooker, J.N. (eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems. Lecture Notes in Computer Science, vol. 5547, pp. 117–131. Springer, Berlin (2009) CrossRefGoogle Scholar
  49. 49.
    Hooker, J.N.: Needed: an empirical science of algorithms. Oper. Res. 42, 201–212 (1994) zbMATHCrossRefGoogle Scholar
  50. 50.
  51. 51.
    ILOG CPLEX: Reference Manual (1997).
  52. 52.
    Januschowski, T., Pfetsch, M.E.: Branch-cut-and-propagate for the maximum k-colorable subgraph problem with symmetry. In: Achterberg, T., Beck, J.C. (eds.) Proceedings of the 8th International Conference, CPAIOR 2011. Lecture Notes in Computer Science, vol. 6697, pp. 99–116. Springer, Berlin (2011) Google Scholar
  53. 53.
    Kaibel, V., Peinhardt, M., Pfetsch, M.E.: Orbitopal fixing. Discrete Optim. 8(4), 595–610 (2011) MathSciNetzbMATHCrossRefGoogle Scholar
  54. 54.
    Koch, T.: Zimpl user guide. Technical report 01-20, Konrad-Zuse-Zentrum für Informationstechnik Berlin, Berlin (2001) Google Scholar
  55. 55.
    Koch, T.: Rapid mathematical programming. Ph.D. thesis, Technische Universität Berlin (2004) Google Scholar
  56. 56.
    Koch, T., Martin, A.: Solving Steiner tree problems in graphs to optimality. Networks 32, 207–232 (1998) MathSciNetzbMATHCrossRefGoogle Scholar
  57. 57.
    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, 103–163 (2011) MathSciNetCrossRefGoogle Scholar
  58. 58.
    Kostina, E.: The long step rule in the bounded-variable dual simplex method: numerical experiments. Math. Methods Oper. Res. 55, 413–429 (2002) MathSciNetzbMATHCrossRefGoogle Scholar
  59. 59.
    Lefler, M., Hyatt, R., Williamson, H.: ICGA Panel Members: Rybka investigation and summary of findings for the ICGA. Technical report, International Computer Games Association (2011).
  60. 60.
    Lembke, C.E.: The dual method of solving the linear programming problem. Nav. Res. Logist. Q. 1, 36–47 (1954) CrossRefGoogle Scholar
  61. 61.
    Linderoth, J.T., Lodi, A.: MILP software. In: Cochran, J. (ed.) Wiley Encyclopedia of Operations Research and Management Science, vol. 5, pp. 3239–3248. Wiley, New York (2011) Google Scholar
  62. 62.
    Linderoth, J.T., Ralphs, T.K.: Noncommercial software for mixed-integer linear programming. In: Karlof, J. (ed.) Integer Programming: Theory and Practice. Operations Research Series, pp. 253–303. CRC Press, Boca Raton (2005) Google Scholar
  63. 63.
    Linderoth, J.T., Savelsbergh, M.W.P.: A computational study of search strategies for mixed integer programming. INFORMS J. Comput. 11, 173–187 (1999) MathSciNetzbMATHCrossRefGoogle Scholar
  64. 64.
    Lodi, A.: MIP computation. In: Jünger, M., Liebling, T., Naddef, D., Nemhauser, G., Pulleyblank, W., Reinelt, G., Rinaldi, G., Wolsey, L. (eds.) 50 Years of Integer Programming 1958–2008, pp. 619–645. Springer, Berlin (2009) Google Scholar
  65. 65.
    Luce, R., Tebbens, J.D., Liesen, J., Nabben, R., Grötschel, M., Koch, T., Schenk, O.: On the factorization of simplex basis matrices. Technical report 09-24, Zuse Institute Berlin, Berlin (2009) Google Scholar
  66. 66.
    Mars, S., Schewe, L.: SDP-package for SCIP. Technical report, TU Darmstadt (2012) Google Scholar
  67. 67.
    Martin, A.: Integer programs with block structure. Habilitation thesis, Technische Universität Berlin (1998) Google Scholar
  68. 68.
    McGeoch, C.C.: A Guide to Experimental Algorithmics. Cambridge University Press, Cambridge (2012) Google Scholar
  69. 69.
    Mittelmann, H.: Decision tree for optimization software: benchmarks for optimization software (2003).
  70. 70.
    Padberg, M., Rinaldi, G.: A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems. SIAM Rev. 33, 60–100 (1991) MathSciNetzbMATHCrossRefGoogle Scholar
  71. 71.
    SCIP: Solving constraint integer programs.
  72. 72.
    Suhl, L.M., Suhl, U.H.: Computing sparse LU factorizations for large-scale linear programming bases. ORSA J. Comput. 2(4), 325–335 (1990) zbMATHCrossRefGoogle Scholar
  73. 73.
    Suhl, L.M., Suhl, U.H.: A fast LU update for linear programming. Ann. Oper. Res. 43(1–4), 33–47 (1993) MathSciNetzbMATHCrossRefGoogle Scholar
  74. 74.
    Vigerske, S.: Decomposition of multistage stochastic programs and a constraint integer programming approach to mixed-integer nonlinear programming. Ph.D. thesis, Humboldt-Universität zu Berlin (2012) Google Scholar
  75. 75.
    Wessäly, R.: Dimensioning survivable capacitated networks. Ph.D. thesis, Technische Universität Berlin (2000) Google Scholar
  76. 76.
    Wunderling, R.: Paralleler und objektorientierter Simplex-Algorithmus. Ph.D. thesis, Technische Universität Berlin (1996) Google Scholar
  77. 77.
    Yale Law School Roundtable on Data and Code Sharing: School Roundtable on Data and Code Sharing: Reproducible research. Comput. Sci. Eng. 12, 8–13 (2010) Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Thorsten Koch
    • 1
  • Alexander Martin
    • 2
  • Marc E. Pfetsch
    • 3
  1. 1.Konrad-Zuse-Zentrum für Informationstechnik BerlinBerlinGermany
  2. 2.Department MathematikFriedrich-Alexander-Universität Erlangen-NürnbergErlangenGermany
  3. 3.Fachbereich MathematikTechnische Universität DarmstadtDarmstadtGermany

Personalised recommendations