Skip to main content
Log in

A hybrid branch-and-bound approach for exact rational mixed-integer programming

Mathematical Programming Computation Aims and scope Submit manuscript

Abstract

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 libraries and for a new collection of numerically difficult instances.

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.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4

Similar content being viewed by others

Notes

  1. Project-and-shift fails to produce finite bounds on two instances, swath1 and swath2. The conditions necessary for its applicability within the tree (see Sect. 3.4) were not satisfied by these instances.

  2. Of course, even with a very carful implementation and extensive testing, a certain risk of an implementation error remains (also in the underlying exact LP  solver and the software package for rational arithmetic). So, the exact objective values reported here come with no warranty.

References

  1. Achterberg, T.: ALU instances. http://miplib.zib.de/miplib2003/contrib/ALU

  2. Achterberg, T.: Constraint Integer Programming. Ph.D. thesis, Technische Universität Berlin (2007)

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

    Article  MathSciNet  MATH  Google Scholar 

  4. Achterberg, T., Koch, T., Martin, A.: The mixed integer programming library: MIPLIB (2003). http://miplib.zib.de

  5. Althaus, E., Dumitriu, D.: Fast and accurate bounds on linear programs. In: Vahrenhold, J. (ed.) SEA 2009. LNCS, vol. 5526, pp. 40–50. Springer, Berlin (2009)

  6. Applegate, D.L., Bixby, R.E., Chvátal, V., Cook, W.J.: The Traveling Salesman Problem: A Computational Study. Princeton University Press, Princeton (2006)

    Google Scholar 

  7. Applegate, D.L., Cook, W.J., Dash, S., Espinoza, D.G.: \(\text{ QSopt }\_\text{ ex }.\) http://www.dii.uchile.cl/daespino/ESolver_doc/main.html

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

    Article  MathSciNet  MATH  Google Scholar 

  9. AT &T Bell Laboratories, The University of Tennessee Knoxville, and Oak Ridge National Laboratory. Netlib Repository. http://www.netlib.org/netlib/lp

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

  11. Bley, A., Koch, T.: Optimierung des G-WiN. DFN-Mitteilungen 54, 13–15 (2000)

    Google Scholar 

  12. Chai, J., Toh, K.: Computation of condition numbers for linear programming problems using Peña’s method. Optim. Methods Softw. 21(3), 419–443 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  13. Cheung, D., Cucker, F.: A new condition number for linear programming. Math. Program. 91, 163–174 (2001)

    MathSciNet  MATH  Google Scholar 

  14. Cheung, D., Cucker, F.: Solving linear programs with finite precision: I. Condition numbers and random programs. Math. Program. 99, 175–196 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  15. Cheung, D., Cucker, F.: Solving linear programs with finite precision: II. Algorithms. J. Complex. 22(3), 305–335 (2006)

    MathSciNet  MATH  Google Scholar 

  16. Cheung, D., Cucker, F., Peña, J.: Unifying condition numbers for linear programming. Math. Oper. Res. 28(4), 609–624 (2003)

    Google Scholar 

  17. Cook, W.J., Dash, S., Fukasawa, R., Goycoolea, M.: Numerically safe Gomory mixed-integer cuts. INFORMS J. Comput. 21(4), 641–649 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  18. Czyzyk, J., Mesnier, M.P., Moré, J.J.: The Network-Enabled Optimization System (NEOS) server. IEEE J. Comput. Sci. Eng. 5(3), 68–75 (1998)

    Article  Google Scholar 

  19. de Vries, S., Vohra, R.: Combinatorial auctions: a survey. INFORMS J. Comput. 15(3), 284–309 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  20. 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, New York (2003)

  21. Dolan, E.D., Moré, J.J.: Benchmarking optimization software with performance profiles. Math. Program. 91(2), 201–213 (2001)

    Article  Google Scholar 

  22. Espinoza, D.G.: On Linear Programming, Integer Programming and Cutting Planes. Ph.D. thesis, Georgia Institute of Technology (2006)

  23. Gay, D.M.: Electronic mail distribution of linear programming test problems. Math. Program. Soc. COAL Newsl. 13, 10–12 (1985)

    Google Scholar 

  24. GMP. GNU multiple precision arithmetic library. http://gmplib.org

  25. Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. (CSUR) 23(1), 5–48 (1991)

    Article  Google Scholar 

  26. IBM, ILOG. CPLEX. http://www.ilog.com/products/cplex

  27. Koch, T.: The final NETLIB-LP results. Oper. Res. Lett. 32(2), 138–142 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  28. Koch, T.: Rapid Mathematical Programming. Ph.D. thesis, Technische Universität Berlin (2004)

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

  30. Kwappik, C.: Exact Linear Programming. Universität des Saarlandes, Master thesis (1998)

    Google Scholar 

  31. Lehigh University. COR@L mixed integer programming collection. http://coral.ie.lehigh.edu/data-sets/mixed-integer-instances

  32. Linderoth, J.T., Ralphs, T.K.: Noncommercial software for mixed-integer linear programming. In: Karlof, J. (ed.) Integer programming: theory and practice, pp. 253–303. CRC Press, Boca Raton (2005)

    Google Scholar 

  33. Mittelmann, H.D.: Benchmarks for Optimization Software (2010). http://plato.asu.edu/bench.html

  34. NEOS Server. http://neos-server.org/neos

  35. Neumaier, A., Shcherbina, O.: Safe bounds in linear and mixed-integer linear programming. Math. Program. 99(2), 283–296 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  36. Nunez, M., Freund, R.M.: Condition measures and properties of the central trajectory of a linear program. Math. Program. 83, 1–28 (1998)

    MathSciNet  MATH  Google Scholar 

  37. Ordónez, F., Freund, R.M.: Computational experience and the explanatory value of condition measures for linear optimization. SIAM J. Optim. 14(2), 307–333 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  38. Pseudo-Boolean Competition (2010). http://www.cril.univ-artois.fr/PB10/

  39. Renegar, J.: Some perturbation theory for linear programming. Math. Program. 65, 73–91 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  40. Renegar, J.: Incorporating condition measures into the complexity theory of linear programming. SIAM J. Optim. 5, 506–524 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  41. Renegar, J.: Linear programming, complexity theory and elementary functional analysis. Math. Program. 70, 279–351 (1995)

    MathSciNet  MATH  Google Scholar 

  42. Steffy, D.E.: Topics in Exact Precision Mathematical Programming. Ph.D. thesis, Georgia Institute of Technology (2011)

  43. Steffy, D.E., Wolter, K.: Valid linear programming bounds for exact mixed-integer programming. Technical Report ZR 11–08, Zuse Institute Berlin. INFORMS J. Comput. (2011, to appear)

  44. Vera, J.R.: On the complexity of linear programming under finite precision arithmetic. Math. Program. 80, 91–123 (1998)

    MathSciNet  MATH  Google Scholar 

  45. Wilken, K., Liu, J., Heffernan, M.: Optimal instruction scheduling using integer programming. In: ACM SIGPLAN 2000, vol. 35, pp. 121–133. ACM Press, New York (2000)

  46. Zuse Institute Berlin. SCIP. http://scip.zib.de

  47. Zuse Institute Berlin. SoPlex. http://soplex.zib.de

Download references

Acknowledgments

The authors would like to thank Tobias Achterberg for helpful discussions on how to best incorporate the exact MIP  features into SCIP. We would also like to thank Daniel Espinoza for his assistance with QSopt_ex, which included adding new functionalities and writing an interface for use within SCIP.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kati Wolter.

Additional information

This Research was supported by NSF Grant CMMI-0726370, ONR Grant N00014-12-1-0030, and the DFG Priority Program 1307 “Algorithm Engineering”.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cook, W., Koch, T., Steffy, D.E. et al. A hybrid branch-and-bound approach for exact rational mixed-integer programming. Math. Prog. Comp. 5, 305–344 (2013). https://doi.org/10.1007/s12532-013-0055-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12532-013-0055-6

Keywords

Mathematics Subject Classification (2000)

Navigation