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–74MathSciNetMATHCrossRefGoogle Scholar
  2. Achterberg T (2009) SCIP: solving constraint integer programs. Math Program Comput 1(1): 1–41MathSciNetMATHCrossRefGoogle 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–54MathSciNetMATHCrossRefGoogle Scholar
  5. Achterberg T, Koch T, Martin A (2006) MIPLIB 2003. Oper Res Lett 34(4): 361–372MathSciNetMATHCrossRefGoogle 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–399MathSciNetMATHCrossRefGoogle 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–399MathSciNetMATHCrossRefGoogle 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–56MathSciNetMATHCrossRefGoogle Scholar
  12. Bixby RE (2002) Solving real-world linear programs: a decade and more of progress. Oper Res 50(1): 3–15MathSciNetMATHCrossRefGoogle 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–178MathSciNetMATHCrossRefGoogle 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–212MathSciNetMATHCrossRefGoogle 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–96MathSciNetMATHCrossRefGoogle 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–3475MathSciNetMATHCrossRefGoogle 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–143MathSciNetMATHGoogle 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–1220MathSciNetMATHCrossRefGoogle 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–170MathSciNetMATHCrossRefGoogle Scholar
  27. Helmberg C, Kiwiel K (2002) A spectral bundle method with bounds. Math Program 93: 173–194MathSciNetMATHCrossRefGoogle 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–183MathSciNetMATHCrossRefGoogle Scholar
  30. Klabjan D, Johnson EL, Nemhauser GL (2000) A parallel primal-dual simplex algorithm. Oper Res Lett 27(2): 47–55MathSciNetMATHCrossRefGoogle 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–519MathSciNetMATHCrossRefGoogle 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–2198MathSciNetMATHCrossRefGoogle 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–65MathSciNetMATHCrossRefGoogle 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–100MathSciNetMATHCrossRefGoogle 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 YorkMATHGoogle 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