Mathematical Programming

, Volume 98, Issue 1–3, pp 253–280 | Cite as

Parallel branch, cut, and price for large-scale discrete optimization

Article

Abstract.

In discrete optimization, most exact solution approaches are based on branch and bound, which is conceptually easy to parallelize in its simplest forms. More sophisticated variants, such as the so-called branch, cut, and price algorithms, are more difficult to parallelize because of the need to share large amounts of knowledge discovered during the search process. In the first part of the paper, we survey the issues involved in parallelizing such algorithms. We then review the implementation of SYMPHONY and COIN/BCP, two existing frameworks for implementing parallel branch, cut, and price. These frameworks have limited scalability, but are effective on small numbers of processors. Finally, we briefly describe our next-generation framework, which improves scalability and further abstracts many of the notions inherent in parallel BCP, making it possible to implement and parallelize more general classes of algorithms.

Keywords

integer programming discrete optimization parallel algorithm branch and bound branch and cut branch and price branch, cut, and price 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Amdahl, G. M.: Validity of the single-processor approach to achieving large-scale computing capabilities. AFIPS Conference Proceedings. 30, Atlantic City, NJ, April 18–20, AFIPS Press. 1967Google Scholar
  2. 2.
    Anstreicher, K., Brixius, N., Goux, J., Linderoth, J.: Solving large quadratic assignment problems on computational grids. Mathematical Programming, Series B 91 563 (2002)Google Scholar
  3. 3.
    Applegate, D., Bixby, R., Chvátal, V., Cook, W.: On the solution of traveling salesman problems. Documenta Mathematica Journal der Deutschen Mathematiker-Vereinigung, International Congress of Mathematicians, 645 (1998)Google Scholar
  4. 4.
    Applegate, D., Bixby, R., Chvátal, V., Cook, W.: CONCORDE TSP Solver, available at www.keck.caam.rice.edu/concorde.htmlGoogle Scholar
  5. 5.
    Balas, E.: An additive algorithm for solving linear programs with zero-one variables. Operations Research 13, 517–546 (1965)Google Scholar
  6. 6.
    Balas, E., Ceria, S., Cornuéjols, G.: Mixed 0-1 programming by lift-and-project in a branch-and-cut framework. Management Science 42, 9 (1996)Google Scholar
  7. 7.
    Barnhart, C., Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P., Vance, P.H.: Branch-and-price: Column generation for huge integer programs. Operations Research 46, 316–329 (1998)Google Scholar
  8. 8.
    Benchouche, M., Cung, V.-D., Dowaji, S., Le Cun, B., Mautor, T., Roucairol, C.: Building a parallel branch and bound library. In: Solving Combinatorial Optimization Problems in Parallel, Lecture Notes in Computer Science 1054, Springer, Berlin, 221 (1996)Google Scholar
  9. 9.
    Bixby, R., Cook, W., Cox, A., Lee, E.K.: Parallel Mixed Integer Programming. Rice University Center for Research on Parallel Computation Research Monograph CRPC-TR95554 1995Google Scholar
  10. 10.
    de Bruin, A., Kindervater, G.A.P., Trienekens, H.W.J.M.: Asynchronous Parallel Branch and Bound and Anomalies, Report EUR-CS-95-05, Department of Computer Science, Erasmus University, Rotterdam, 1995Google Scholar
  11. 11.
    Chen, Q., Ferris, M.C.: FATCOP: A Fault Tolerant Condor-PVM Mixed Integer Programming Solver. University of Wisconsin CS Department Technical Report 99-05, Madison, WI, 1999Google Scholar
  12. 12.
    Chen, Q., Ferris, M.C., Linderoth, J.T.: FATCOP 2.0: Advanced features in an opportunistic mixed integer programming solver. Annals of Operations Research 103, 17 (2001)Google Scholar
  13. 13.
    Cordier, C., Marchand, H., Laundy, R., Wolsey, L.A.: bc-opt: A branch-and-cut code for mixed integer programs. Mathematical Programming 86, 335 (1999)Google Scholar
  14. 14.
    Correa, R., Ferreira, A.: Parallel Best-first Branch and Bound in Discrete Optimization: A Framework, Center for Discrete Mathematics and Theoretical Computer Science Technical Report 95-03, 1995Google Scholar
  15. 15.
    Eckstein, J., Phillips, C.A., Hart, W.E.: PICO: An Object-Oriented Framework for Parallel Branch and Bound, RUTCOR Research Report 40-2000, Rutgers University, Piscataway, NJ, 2000Google Scholar
  16. 16.
    Elf, M., Gutwenger, C., Jünger, M., Rinaldi, G.: Branch-and-cut algorithms for combinatorial optimization and their implementation in ABACUS. In: Computational Combinatorial Optimization, D. Naddef and M. Jünger, eds., Springer, Berlin, 2001, pp. 157Google Scholar
  17. 17.
    Ferris, M.C., Pataki, G., Schmieta, S.: Solving the Seymour problem. Optima 66, 1 (2001)Google Scholar
  18. 18.
    Geist, A. et al.: PVM: Parallel Virtual Machine, A User's Guide and Tutorial for Networked Parallel Computing, MIT University Press, Cambridge, MA, 1994Google Scholar
  19. 19.
    Gendron, B., Crainic, T.G.: Parallel branch and bound algorithms: Survey and synthesis. Operations Research 42, 1042 (1994)Google Scholar
  20. 20.
    Grama, A., Kumar, V.: Parallel search algorithms for discrete optimization problems. ORSA Journal on Computing 7 (1995)Google Scholar
  21. 21.
    Grötschel, M., Jünger, M., Reinelt, G.: A cutting plane algorithm for the linear ordering problem. Operations Research 32, 1155 (1984)Google Scholar
  22. 22.
    Gropp, W., Lusk, E., Skjellum, A.: Using MPI, MIT University Press, Cambridge, MA, 1999Google Scholar
  23. 23.
    Henrich, D.: Initialization of parallel branch-and-bound algorithms. Proceedings of the Second International Workshop on Parallel Processing and Artificial Intelligence, Chamberry, France, 1993Google Scholar
  24. 24.
    Hoffman, K., Padberg, M.: LP-based combinatorial problem solving. Annals of Operations Research 4, 145 (1985/86)Google Scholar
  25. 25.
    Jünger, M., Thienel, S.: The ABACUS system for branch and cut and price algorithms in integer programming and combinatorial optimization. Software Practice and Experience 30, 1325 (2000)Google Scholar
  26. 26.
    Kumar, V., Gupta, A.: Analyzing scalability of parallel algorithms and architectures. Journal of Parallel and Distributed Computing 22 (1994)Google Scholar
  27. 27.
    Ladányi, L.: Parallel Branch and Cut and Its Application to the Traveling Salesman Problem, Ph.D. Dissertation, Field of Operations Research, Cornell University, Ithaca, NY, 1996Google Scholar
  28. 28.
    Ladányi, L., Ralphs, T.K., Saltzman, M.J.: Implementing Scalable Parallel Search Algorithms for Data-intensive Applications. Proceedings of the International Conference on Computational Science, Amsterdam, 2002Google Scholar
  29. 29.
    Eső, M., Jensen, D.L., Ladányi, L.: Bid evaluation for FCC auction 31 using column generation. Presentation at the INFORMS Annual Meeting, San Jose, 2002Google Scholar
  30. 30.
    Eső, M., Jensen, D.L., Ladányi, L.: Solving lexicographic multiobjective MIP with column generation. Presentation at the INFORMS Annual Meeting, San Jose, 2002Google Scholar
  31. 31.
    Land, A.H., Doig, A.G.: An automatic method for solving discrete programming problems. Econometrica 28, 497–520 (1960)Google Scholar
  32. 32.
    Linderoth, J.: Topics in Parallel Integer Optimization, Ph.D. Dissertation, School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA, 1998Google Scholar
  33. 33.
    Linderoth, J., Savelsbergh, M.W.P.: Computational study of search strategies for mixed integer programming. INFORMS Journal on Computing 11, 173–187 (1999)Google Scholar
  34. 34.
    Mitra, G.: Investigation of some branch and bound strategies for the solution of mixed integer linear programs. Mathematical Programming 4, 155 (1973)Google Scholar
  35. 35.
    Mitra, G., Hai, I., Hajian, M.T.: A distributed processing algorithm for solving integer programs using a cluster of workstations. Parallel Computing 23, 733–753 (1997)Google Scholar
  36. 36.
    Mitten, L.G.: Branch-and-bound methods: General formulation and properties. Operations Research 18, 24–34 (1970)Google Scholar
  37. 37.
    Nemhauser, G.L., Wolsey, L.A.: Integer and Combinatorial Optimization, John Wiley & Sons, Inc, 1988Google Scholar
  38. 38.
    Nemhauser, G.L., Savelsbergh, M.W.P., Sigismondi, G.S.: MINTO, a Mixed INTeger Optimizer. Operations Research Letters 15, 47 (1994)Google Scholar
  39. 39.
    Padberg, M., Rinaldi, G.: A branch-and-cut algorithm for the resolution of large-scale traveling salesman problems. SIAM Review 33, 60 (1991)Google Scholar
  40. 40.
    Ralphs, T.K.: Parallel Branch and Cut for Vehicle Routing, Ph.D. Dissertation, Field of Operations Research, Cornell University, Ithaca, NY, 1995Google Scholar
  41. 41.
    Ralphs, T.K.: Parallel Branch and Cut for Vehicle Routing. To appear in Parallel Computing, 2002Google Scholar
  42. 42.
    Ralphs, T.K.: SYMPHONY Version 3.0 User's Guide, available at, 2002 www.branchandcut.org/SYMPHONYGoogle Scholar
  43. 43.
    Ralphs, T.K., Ladányi, L.: COIN/BCP User's Guide, available at, 2001 www.coin-or.orgGoogle Scholar
  44. 44.
    Ralphs, T.K., Ladányi, L., Trotter, L.E.: Branch, cut, and price: Sequential and parallel. In: Computational Combinatorial Optimization, D. Naddef and M. Jünger, eds., Springer, Berlin, 2001, pp. 223Google Scholar
  45. 45.
    Savelsbergh, M.W.P.: Branch-and-price: Integer programming with column generation. In: Encyclopedia of Optimization, C. Floudas, pp. Pardalos, eds, 2001Google Scholar
  46. 46.
    Shinano, Y., Higaki, M., Hirabayashi, R.: Generalized utility for parallel branch and bound algorithms. Proceedings of the 1995 Seventh Symposium on Parallel and Distributed Processing, IEEE Computer Society Press, Los Alamitos, CA, 1995, pp. 392Google Scholar
  47. 47.
    Shinano, Y., Harada, K., Hirabayashi, R.: Control schemes in a generalized utility for parallel branch and bound. Proceedings of the 1997 Eleventh International Parallel Processing Symposium. IEEE Computer Society Press, Los Alamitos, CA, 1997, pp. 621Google Scholar
  48. 48.
    Trienekens, H.W.J.M.: Parallel Branch and Bound and Anomalies, Report EUR-CS-89-01, Department of Computer Science, Erasmus University, Rotterdam, 1989Google Scholar
  49. 49.
    Trienekens, H.W.J.M., de Bruin, A.: Towards a Taxonomy of Parallel Branch and Bound Algorithms, Report EUR-CS-92-01, Department of Computer Science, Erasmus University Rotterdam, 1992Google Scholar
  50. 50.
    Tschöke, S., Polzer, T.: Portable Parallel Branch and Bound Library User Manual, Library Version 2.0. Department of Computer Science, University of Paderborn, 1996Google Scholar
  51. 51.
    Wright, S.J.: Solving optimization problems on computational grids. Optima 65 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  1. 1.Department of Industrial and Systems EngineeringLehigh UniversityBethlehem
  2. 2.Department of Mathematical SciencesIBM T. J. Watson Research CenterYorktown Heights
  3. 3.Department of Mathematical SciencesClemson UniversityClemson

Personalised recommendations