Mathematical Methods of Operations Research

, Volume 76, Issue 1, pp 67–93 | Cite as

Could we use a million cores to solve an integer program?

  • Thorsten Koch
  • Ted Ralphs
  • Yuji Shinano
Original Article


Given the steady increase in cores per CPU, it is only a matter of time before supercomputers will have a million or more cores. In this article, we investigate the opportunities and challenges that will arise when trying to utilize this vast computing power to solve a single integer linear optimization problem. We also raise the question of whether best practices in sequential solution of ILPs will be effective in massively parallel environments.


Integer programming Parallelization 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aardal K, Weismantel R, Wolsey LA (2002) Non-standard approaches to integer programming. Discret Appl Math 123: 5–74MathSciNetzbMATHCrossRefGoogle Scholar
  2. Achterberg T (2009) SCIP: solving constraint integer programs. Math Program Comput 1(1): 1–41MathSciNetzbMATHCrossRefGoogle Scholar
  3. Achterberg T, Berthold T (2009) Hybrid branching. In: Van Hoeve W-J, Hooker J (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems, vol 5547 of lecture notes in computer science. Springer, Heidelberg, pp 309–311CrossRefGoogle Scholar
  4. Achterberg T, Koch T, Martin A (2005) Branching rules revisited. Oper Res Lett 33: 42–54MathSciNetzbMATHCrossRefGoogle Scholar
  5. Achterberg T, Koch T, Martin A (2006) MIPLIB 2003. Oper Res Lett 34(4): 361–372MathSciNetzbMATHCrossRefGoogle Scholar
  6. Applegate DL, Bixby RE, Chvatal V, Cook WJ (2007) The traveling salesman problem: a computational study. Princeton University Press, PrincetonGoogle Scholar
  7. Barahona F, Anbil R (2000) The volume algorithm: producing primal solutions with a subgradient method. Math Program 87: 385–399MathSciNetzbMATHCrossRefGoogle Scholar
  8. Benson H, Shanno D (2007) An exact primal-dual penalty method approach to warmstarting interior-point methods for linear programming. Comput Optim Appl 38: 371–399MathSciNetzbMATHCrossRefGoogle Scholar
  9. Berthold T, Pfetsch ME (2009) Detecting orbitopal symmetries. In: Fleischmann B, Borgwardt KH, Klein R, Tuma A (eds) Operations research proceedings 2008. Springer, Berlin, pp 433–438CrossRefGoogle Scholar
  10. Bienstock D (2001) Approximation algorithms for linear programming: theory and practice. CORE lecture series, Core, UCL, BelgiumGoogle Scholar
  11. Bixby R, Martin A (2000) Parallelizing the dual simplex method. INFORMS J Comput 12: 45–56MathSciNetzbMATHCrossRefGoogle Scholar
  12. Bixby RE (2002) Solving real-world linear programs: a decade and more of progress. Oper Res 50(1): 3–15MathSciNetzbMATHCrossRefGoogle Scholar
  13. Bixby RE (2009) Lectures about LP and MIP solving at combinatorial optimization at work IIGoogle Scholar
  14. Bixby RE, Saltzman MJ (1994) Recovering an optimal basis from an interior point solution. Oper Res Lett 15: 169–178MathSciNetzbMATHCrossRefGoogle Scholar
  15. Borndörfer R, Löbel A, Weider S (2008) A bundle method for integrated multi-depot vehicle and duty scheduling in public transit. In: Hickman M, Mirchandani P, Voß S (eds) Computer-aided systems in public transport, vol 600 of lecture notes in economics and mathematical systems. Springer, Berlin, pp 3–24CrossRefGoogle Scholar
  16. Coleman TF, Czyzyk J, Sun C, Wagner M, Wright SJ (1997) ppcx: parallel software for linear programming. In: Proceedings of the eighth SIAM conference on parallel processing in scientific computing. SIAM.
  17. Cook W, Koch T, Steffy D, Wolter K (2011) An exact rational mixed integer programming solver. In: Proceedings of the 15th conference on integer programming and combinatorial optimization. Springer, Beriin, pp 104–116Google Scholar
  18. Cook W, Rutherford T, Scarf HE, Shallcross D (1993) An implementation of the generalized basis reduction algorithm for integer programming. ORSA J Comput 5(2): 206–212MathSciNetzbMATHCrossRefGoogle Scholar
  19. Cornùejols G, Karamanov M, Li Y (2006) Early estimates of the size of branch-and-bound trees. INFORMS J Comput 18(1): 86–96MathSciNetzbMATHCrossRefGoogle Scholar
  20. Curtis FE, Schenk O, Wächter A (2010) An interior-point algorithm for large-scale nonlinear optimization with inexact step computations. SIAM J Sci Comput 32(6): 3447–3475MathSciNetzbMATHCrossRefGoogle Scholar
  21. Fisher ML (2004) The lagrangian relaxation method for solving integer programming problems. Manag Sci 50(12): 1861–1871CrossRefGoogle Scholar
  22. Gamrath G, Lübbecke M (2010) Experiments with a generic Dantzig-Wolfe decomposition for integer programs. In: Festa P (ed) Experimental algorithms, vol 6049 of lecture notes in computer science. Springer, Berlin, pp 239–252Google Scholar
  23. Gondzio J (1998) Warm start of the primal-dual method applied in the cutting-plane scheme. Math Program 83: 125–143MathSciNetzbMATHGoogle Scholar
  24. Grötschel M, Jünger M, Reinelt G (1984) A cutting plane algorithm for the linear ordering problem. Oper Res 32(6): 1195–1220MathSciNetzbMATHCrossRefGoogle Scholar
  25. Gupta A, Kumar V (1994) A scalable parallel algorithm for sparse cholesky factorization. In: Proceedings of the 1994 conference on supercomputing, supercomputing ’94, IEEE Computer Society Press, Los Alamitos, CA, USA, pp 793–802Google Scholar
  26. Hall J (2010) Towards a practical parallelisation of the simplex method. Comput Manag Sci 7: 139–170MathSciNetzbMATHCrossRefGoogle Scholar
  27. Helmberg C, Kiwiel K (2002) A spectral bundle method with bounds. Math Program 93: 173–194MathSciNetzbMATHCrossRefGoogle Scholar
  28. Ivanov ID, de Klerk E (2007) Parallel implementation of a semidefinite programming solver based on CSDP in a distributed memory cluster. Technical Report CentER Discussion Paper 2007-20. Tilburg University, The NetherlandsGoogle Scholar
  29. John E, Yildirim EA (2008) Implementation of warm-start strategies in interior-point methods for linear programming in fixed dimension. Comput Optim Appl 41: 151–183MathSciNetzbMATHCrossRefGoogle Scholar
  30. Klabjan D, Johnson EL, Nemhauser GL (2000) A parallel primal-dual simplex algorithm. Oper Res Lett 27(2): 47–55MathSciNetzbMATHCrossRefGoogle Scholar
  31. Koch T, Achterberg T, Andersen E, Bastert O, Berthold T, Bixby RE, Danna E, Gamrath G, Gleixner AM, Heinz S, Lodi A, Mittelmann H, Ralphs T, Salvagnin D, Steffy DE, Wolter K (2011) MIPLIB 2010. Math Program Comput 3: 103–163MathSciNetCrossRefGoogle Scholar
  32. Kumar V, Rao VN (1987) Parallel depth-first search, part II: analysis. Int J Parallel Program 16: 501–519MathSciNetzbMATHCrossRefGoogle Scholar
  33. Levinthal D (2009) Performance analysis guide for Intel core i7 processor and Intel Xeon 5500 processorsGoogle Scholar
  34. Mahajan A, Ralphs TK (2009) Experiments with branching using general disjunctions. In: Proceedings of the leventh INFORMS Computing Society Meeting, pp 101–118Google Scholar
  35. Mahajan A, Ralphs TK (2010) On the Complexity of selecting disjunctions in integer programming. SIAM J Optim 20(5): 2181–2198MathSciNetzbMATHCrossRefGoogle Scholar
  36. Margot F (2010) Symmetry in integer linear programming. In: Jünger M, Liebling T, Naddef D, Nemhauser G, Pulleyblank W, Reinelt G, Rinaldi G, Wolsey L (eds) Fifty years of integer programming: 1958–2008. Springer, Berlin, pp 647–686CrossRefGoogle Scholar
  37. Megiddo N (1991) On finding primal—and dual-optimal bases. ORSA J Comput 3(1): 63–65MathSciNetzbMATHCrossRefGoogle Scholar
  38. Olszewski M, Ansel J, Amarasinghe S (2009) Kendo: efficient deterministic multithreading in software. SIGPLAN Not 44: 97–108CrossRefGoogle Scholar
  39. Özaltin OY, Hunsaker B, Schaefer AJ (2011) Predicting the solution time of branch-and-bound algorithms for mixed-integer programs. INFORMS J Comput 23(3): 392–403MathSciNetCrossRefGoogle Scholar
  40. Padberg M, Rinaldi G (1991) A branch-and-cut algorithm for the resolution of large-scale symmetric traveling salesman problems. SIAM Rev 33: 60–100MathSciNetzbMATHCrossRefGoogle Scholar
  41. Paper W (2010) SGI Altix global shared memory performance and productivity breakthroughs for the SGI Altix UV.
  42. Phillips C, Eckstein J, Hart W (2006) Massively parallel mixed-integer programming: algorithms and applications. In: Heroux M, Raghavan P, Simon H (eds) Parallel processing for scientific computing. SIAM Books, Philadelphia, pp 323–340CrossRefGoogle Scholar
  43. Rothberg E (2010) Barrier is from mars, simplex is from venus. Talk given at What a pivot–workshop honouring the 65th birthday of Bob Bixby in Erlangen, GermanyGoogle Scholar
  44. Schroeder B, Pinheiro E, Weber W-D (2009) DRAM errors in the wild: a large-scale field study. In: Proceedings of the eleventh international joint conference on Measurement and modeling of computer systems, SIGMETRICS ’09, ACM, pp 193–204Google Scholar
  45. Shinano Y, Achterberg T, Berthold T, Heinz S, Koch T (2012) ParaSCIP—a parallel extension of SCIP. In: Bischof C, Hegering H-G, Nagel WE, Wittum G (eds) Competence in high performance computing 2010. Springer, Berlin, pp 135–148Google Scholar
  46. Wolsey LA (1998) Integer programming. Wiley-Interscience, New YorkzbMATHGoogle Scholar
  47. Wulf WA, McKee SA (1995) Hitting the memory wall: implications of the obvious. SIGARCH Comput Archit News 23: 20–24CrossRefGoogle Scholar
  48. Wunderling R (1996) Paralleler und objektorientierter Simplex-Algorithmus. PhD thesis, Technische Universität, BerlinGoogle Scholar
  49. Xu Y, Ralphs TK, Ladányi L, Saltzman MJ (2009) Computational experience with a software framework for parallel integer programming. INFORMS J Comput 21: 383–397MathSciNetCrossRefGoogle Scholar
  50. Yamashita M, Fujisawa K (2010) Efficient parallel software for large-scale semidefinite programs. In: Proceedings of the 2010 IEEE multi-conference on systems and controlGoogle Scholar
  51. Yamashita M, Fujisawa K, Kojima M (2003) SDPARA : semidefinite programming algorithm parallel version. Parallel Comput 29: 1053–1067MathSciNetCrossRefGoogle Scholar
  52. Yildirim A, Stephen, Wright S (2000) Warm-start strategies in interior-point methods for linear programming. SIAM J Optim 12: 782–810CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  1. 1.Zuse Institute BerlinBerlinGermany
  2. 2.Lehigh UniversityBethlehemUSA

Personalised recommendations