An Exact Rational Mixed-Integer Programming Solver

  • William Cook
  • Thorsten Koch
  • Daniel E. Steffy
  • Kati Wolter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6655)


We present an exact rational solver for mixed-integer linear programming that avoids the numerical inaccuracies inherent in the floating-point computations used by existing software. This allows the solver to be used for establishing theoretical results and in applications where correct solutions are critical due to legal and financial consequences. Our solver is a hybrid symbolic/numeric implementation of LP-based branch-and-bound, using numerically-safe methods for all binding computations in the search tree. Computing provably accurate solutions by dynamically choosing the fastest of several safe dual bounding methods depending on the structure of the instance, our exact solver is only moderately slower than an inexact floating-point branch-and-bound solver. The software is incorporated into the SCIP optimization framework, using the exact LP solver QSopt_ex and the GMP arithmetic library. Computational results are presented for a suite of test instances taken from the Miplib and Mittelmann collections.


Root Node Combinatorial Auction Dual Bound Exact Solver Primal Heuristic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007)Google Scholar
  2. 2.
    Achterberg, T.: SCIP: Solving constraint integer programs. Math. Programming Computation 1(1), 1–41 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Achterberg, T., Koch, T., Martin, A.: The mixed integer programming library: MIPLIB (2003),
  4. 4.
    Althaus, E., Dumitriu, D.: Fast and accurate bounds on linear programs. In: Vahrenhold, J. (ed.) SEA 2009. LNCS, vol. 5526, pp. 40–50. Springer, Heidelberg (2009)Google Scholar
  5. 5.
    Applegate, D.L., Bixby, R.E., Chvátal, V., Cook, W.J.: The Traveling Salesman Problem: A Computational Study. Princeton University Press, Princeton (2006)zbMATHGoogle Scholar
  6. 6.
    Applegate, D.L., Cook, W.J., Dash, S., Espinoza, D.G.: QSopt_ex,
  7. 7.
    Applegate, D.L., Cook, W.J., Dash, S., Espinoza, D.G.: Exact solutions to linear programming problems. Oper. Res. Lett. 35(6), 693–699 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Bixby, R.E., Ceria, S., McZeal, C.M., Savelsbergh, M.W.: An updated mixed integer programming library: MIPLIB 3.0. Optima 58, 12–15 (1998)Google Scholar
  9. 9.
    Cook, W.J., Dash, S., Fukasawa, R., Goycoolea, M.: Numerically safe Gomory mixed-integer cuts. INFORMS J. Comput. 21(4), 641–649 (2009)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Dhiflaoui, M., Funke, S., Kwappik, C., Mehlhorn, K., Seel, M., Schömer, E., Schulte, R., Weber, D.: Certifying and repairing solutions to large LPs, how good are LP-solvers? In: SODA 2003, pp. 255–256. ACM/SIAM (2003)Google Scholar
  11. 11.
    Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Programming 91(2), 201–213 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Espinoza, D.G.: On Linear Programming, Integer Programming and Cutting Planes. Ph.D. thesis, Georgia Institute of Technology (2006)Google Scholar
  13. 13.
    GMP: GNU multiple precision arithmetic library,
  14. 14.
    Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Computing Surveys (CSUR) 23(1), 5–48 (1991)CrossRefGoogle Scholar
  15. 15.
  16. 16.
    Koch, T.: The final NETLIB-LP results. Oper. Res. Lett. 32(2), 138–142 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Kwappik, C.: Exact Linear Programming. Master thesis, Universität des Saarlandes (1998)Google Scholar
  18. 18.
    Mittelmann, H.D.: Benchmarks for Optimization Software (2010),
  19. 19.
    Neumaier, A., Shcherbina, O.: Safe bounds in linear and mixed-integer linear programming. Math. Programming 99(2), 283–296 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Steffy, D.E.: Topics in Exact Precision Mathematical Programming. Ph.D. thesis, Georgia Institute of Technology (2011)Google Scholar
  21. 21.
    de Vries, S., Vohra, R.: Combinatorial Auctions: A Survey. INFORMS J. Comput. 15(3), 284–309 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  22. 22.
    Wilken, K., Liu, J., Heffernan, M.: Optimal instruction scheduling using integer programming. SIGPLAN Notices 35(5), 121–133 (2000)CrossRefGoogle Scholar
  23. 23.
    Zuse Institute Berlin: SCIP,

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • William Cook
    • 1
  • Thorsten Koch
    • 2
  • Daniel E. Steffy
    • 1
  • Kati Wolter
    • 2
  1. 1.School of Industrial and Systems EngineeringGeorgia Institute of TechnologyAtlantaUSA
  2. 2.Zuse Institute BerlinGermany

Personalised recommendations