Skip to main content

Branch, Cut, and Price: Sequential and Parallel

  • Chapter
  • First Online:
Computational Combinatorial Optimization

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2241))

Abstract

Branch, cut, and price (BCP) is an LP-based branch and bound technique for solving large-scale discrete optimization problems (DOPs). In BCP, both cuts and variables can be generated dynamically throughout the search tree. The ability to handle constantly changing sets of cuts and variables allows these algorithms to undertake the solution of very large-scale DOPs; however, it also leads to interesting implementational challenges. These lecture notes, based on our experience over the last six years with implementing a generic framework for BCP called SYMPHONY (Single- or Multi-Process Optimization over Networks), address these challenges. They are an attempt to summarize some of what we and others have learned about implementing BCP, both sequential and parallel, and to provide a useful reference for those who wish to use BCP techniques in their own research.

SYMPHONY, the software from which we have drawn most of our experience, is a powerful, state-of-the-art library that implements the generic framework of a BCP algorithm. The library’s modular design makes it easy to use in a variety of problem settings and on a variety of hardware platforms. All library subroutines are generic-their implementation does not depend on the problem-setting. To develop a full-scale BCP algorithm, the user has only to specify a few problem-specific methods such as cut generation. The vast majority of the computation takes place within a “black box,” of which the user need have no knowledge. Within the black box, SYMPHONY performs all the normal functions of branch and cut-tree management, LP solution, cut pool management, as well as inter-process communication (if parallelism is used). Source code and documentation for SYMPHONY are available at http://branchandcut.org/SYMPHONY.

This research was partially supported by NSF Grant DMS-9527124 and Texas ATP Grant 97-3604-010

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Amdahl, G.M.: Validity of the Single-processor Approach to Achieving Largescale Computing Capabilities. In AFIPS Conference Proceedings 30 (Atlantic City, N.J., April 18–20), AFIPS Press (1967), 483

    Google Scholar 

  2. Applegate, D., Bixby, R., Chvátal, V., and Cook, W.: On the solution of traveling salesman problems, Documenta Mathematica Journal der Deutschen Mathematiker-Vereinigung, International Congress of Mathematicians (1998), 645

    Google Scholar 

  3. Applegate, D., Bixby, R., Chvátal, V., and Cook, W.: CONCORDE TSP Solver. Available at http://www.keck.caam.rice.edu/concorde.html

  4. Applegate, D., Bixby, R., Chvátal, V., and Cook, W.: Finding Cuts in the TSP. DIMACS Technical Report 95-05, 1995

    Google Scholar 

  5. Agarwal, Y., Mathur, K., and Salkin, H.M.: Set Partitioning Approach to Vehicle Routing. Networks 7, 731, 1989

    Article  Google Scholar 

  6. Araque, J.R., Kudva, G., Morin, T.L., and Pekny, J.F.: A Branch-and-Cut Algorithm for Vehicle Routing Problems. Annals of Operations Research 50, 37, 1994

    Article  MathSciNet  Google Scholar 

  7. Araque, J.R., Hall, L., and Magnanti, T.: Capacitated Trees, Capacitated Routing and Associated Polyhedra. Discussion paper 9061, CORE, Louvain La Nueve, 1990

    Google Scholar 

  8. Augerat, P., Belenguer, J.M., Benavent, E., Corberán, A., and Naddef, D.: Separating Capacity Constraints in the CVRP Using Tabu Search. European Journal of Operations Research 106, 546, 1998

    Article  Google Scholar 

  9. Augerat, P., Belenguer, J.M., Benavent, E., Corberán, A., Naddef, D., and Rinaldi, G.: Computational Results with a Branch and Cut Code for the Capacitated Vehicle Routing Problem. Research Report 949-M, Université Joseph Fourier, Grenoble, France, 1995

    Google Scholar 

  10. Balas, E., Ceria, S., and Cornuéjols, G.: Mixed 0-1 Programming by Lift-and-Project in a Branch-and-Cut Framework. Management Science 42, 9, 1996

    Article  Google Scholar 

  11. Balas, E., and Padberg, M.W.: Set Partitioning: A Survey. SIAM Review 18, 710, 1976

    Article  MathSciNet  Google Scholar 

  12. Balas, E., and Toth, P.: Branch and Bound Methods. In Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G, and Shmoys, D.B., eds., The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization, Wiley, New York, 361, 1985.

    Google Scholar 

  13. Balinski, M.L., and Quandt, R.E.: On an Integer Program for a Delivery Problem. Operations Research 12, 300, 1964

    Article  Google Scholar 

  14. Barahona, F., and Anbil, R.: The Volume Algorithm: Producing Primal Solutions with a Subgradient Method. Mathematical Programming 87, 385, 2000

    Article  MathSciNet  Google Scholar 

  15. Barnhart, C., Johnson, E.L., Nemhauser, G.L., Savelsbergh, M.W.P., and Vance, P.H.: Branch-and-Price: Column Generation for Huge Integer Programs. Operations Research 46, 316, 1998

    Article  MathSciNet  Google Scholar 

  16. Benchouche, M., Cung, V.-D., Dowaji, S., Le Cun, B., Mautor, T., and Roucairol, C.: Building a Parallel Branch and Bound Library. In Solving Combinatorial Optimization Problems in Parallel, Lecture Notes in Computer Science 1054, Springer, Berlin, 201, 1996

    Chapter  Google Scholar 

  17. Blasum, U., and Hochstättler, W.: Application of the Branch and Cut Method to the Vehicle Routing Problem. Zentrum für Angewandte Informatik Köln Technical Report zpr2000-386, 2000

    Google Scholar 

  18. Boehning, R.L., Butler, R.M., and Gillet, B.E.: A Parallel Integer Linear Programming Algorithm. European Journal of Operations Research 34, 393, 1988

    Article  MathSciNet  Google Scholar 

  19. Borndörfer, R.: Aspects of Set Packing, Patitioning, and Covering. PhD. Dissertation, Technischen Universität Berlin, 1997

    Google Scholar 

  20. Campos, V., Corberán, A., and Mota, E.: Polyhedral Results for a Vehicle Routing Problem. European Journal of Operations Research 52, 75, 1991

    Article  Google Scholar 

  21. Chen, Q., and Ferris, M.C.: FATCOP: A Fault Tolerant Condor-PVM Mixed Integer Programming Solver. University of Wisconsin CS Department Technical Report 99-05, Madison, WI, 1999

    Google Scholar 

  22. Christofides, N., and Eilon, S.: An Algorithm for the Vehicle Dispatching Problem, Operational Research Quarterly 20, 309, 1969

    Article  Google Scholar 

  23. Christofides, N., Mingozzi, A., and Toth, P.: Exact Algorithms for Solving the Vehicle Routing Problem Based on Spanning Trees and Shortest Path Relaxations. Mathematical Programming 20, 255, 1981

    Article  MathSciNet  Google Scholar 

  24. Chvátal, V.: Linear Programming. W.H. Freeman and Company, San Francisco, 1983

    MATH  Google Scholar 

  25. Cornuéjols, G., and Harche, F., Polyhedral Study of the Capacitated Vehicle Routing Problem. Mathematical Programming 60, 21, 1993

    Article  MathSciNet  Google Scholar 

  26. Cordier, C., Marchand, H., Laundy, R., and Wolsey, L.A.: bc-opt: A Branchand-Cut Code for Mixed Integer Programs. Mathematical Programming 86, 335, 1999

    Article  MathSciNet  Google Scholar 

  27. Common Optimization INterface for Operations Research (COIN). ⧄nalty/z@//www.coin-or.org

    Google Scholar 

  28. Crowder, H., and Padberg, M.: Solving Large Scale Symmetric Traveling Salesman Problems to Optimality. Management Science 26, 495, 1980

    Article  MathSciNet  Google Scholar 

  29. Crowder, H., Johnson, E.L., and Padberg, M.: Solving Large-Scale Zero-One Linear Programming Problems. Operations Research 31 803, 1983

    Article  Google Scholar 

  30. Cullen, F.H., Jarvis, J.J., and Ratli., H.D.: Set Partitioning Based Heuristic for Interactive Routing. Networks 11, 125, 1981

    Article  MathSciNet  Google Scholar 

  31. Cung, V.-D., Dowaji, S., Le Cun, B., Mauthor, T., and Roucairol, C.: Concurrent Data Structures and Load Balancing Strategies for Parallel Branch and Bound/A* Algorithms. DIMACS Series in Discrete Optimization and Theoretical Computer Science 30, 141, 1997

    Article  MathSciNet  Google Scholar 

  32. Dantzig, G.B, and Ramser, J.H., The Truck Dispatching Problem. Management Science 6, 80, 1959

    Article  MathSciNet  Google Scholar 

  33. Eckstein, J.: Parallel Branch and Bound Algorithms for General Mixed Integer Programming on the CM-5. SIAM Journal on Optimization 4, 794, 1994

    Article  MathSciNet  Google Scholar 

  34. Eckstein, J.: How Much Communication Does Parallel Branch and Bound Need? INFORMS Journal on Computing 9, 15, 1997

    Article  Google Scholar 

  35. Eckstein, J., Phillips, C.A., and Hart, W.E.: PICO: An Object-Oriented Framework for Parallel Branch and Bound. RUTCOR Research Report 40-2000, Rutgers University, Piscataway, NJ, 2000

    Book  Google Scholar 

  36. Eső, M.: Parallel Branch and Cut for Set Partitioning. Ph.D. Dissertation, Field of Operations Research, Cornell University, Ithaca, NY, 1999

    Google Scholar 

  37. Fisher, M.L.: Optimal Solution of Vehicle Routine Problems Using Minimum k-Trees. Operations Research 42, 141, 1988

    Google Scholar 

  38. Fisher, M.L., and Jaikumar, R.: A Generalized Assignment Heuristic for Solving the VRP. Networks 11, 109, 1981

    Article  MathSciNet  Google Scholar 

  39. Foster, B.A., and Ryan, D.M.: An Integer Programming Approach to the Vehicle Scheduling Problem, Operational Research Quarterly 27, 367, 1976

    Article  MathSciNet  Google Scholar 

  40. Garey, M.R., and Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Co., San Francisco, 1979

    MATH  Google Scholar 

  41. GarFInkel, R.S., and Nemhauser, G.L.: Integer Programming. Wiley, New York, 1972

    MATH  Google Scholar 

  42. Geist, A., et al.: PVM: Parallel Virtual Machine, A User’s Guide and Tutorial for Networked Parallel Computing. MIT Press, Cambridge, MA, 1994

    Book  Google Scholar 

  43. Gendron, B., and Crainic, T.G.: Parallel Branch and Bound Algorithms: Survey and Synthesis. Operations Research 42, 1042, 1994

    Article  MathSciNet  Google Scholar 

  44. Golub, G.H., and Van Loan, C.F.: Matrix Computations. The Johns Hopkins University Press, Baltimore, 1989

    MATH  Google Scholar 

  45. Grötschel, M., Jünger, M., and Reinelt, G.: A Cutting Plane Algorithm for the Linear Ordering Problem. Operations Research 32, 1155, 1984

    Article  MathSciNet  Google Scholar 

  46. Grama, A., and Kumar, V.: Parallel Search Algorithms for Discrete Optimization Problems. ORSA Journal on Computing 7, 365, 1995

    Article  Google Scholar 

  47. Gustafson, J.L.: Re-evaluating Amdahl’s Law. Comm. of the ACM 31, 532, 1988

    Article  Google Scholar 

  48. Held, M., and Karp, R.M.: The Traveling Salesman Problem and Minimal Spanning Trees. Operations Research 18, 1138, 1969

    Article  Google Scholar 

  49. Hoffman, K., and Padberg, M.: LP-Based Combinatorial Problem Solving. Annals of Operations Research 4, 145, 1985/6

    Article  MathSciNet  Google Scholar 

  50. Hoffman, K., and Padberg, M.: Solving Airline Crew Scheduling Problems by Branch-and-cut. Management Science 39, 657, 1993

    Article  Google Scholar 

  51. Jünger, M., and 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

    Article  Google Scholar 

  52. Jünger, M., and Thienel, S.: Introduction to ABACUS-a branch-and-cut system. Operations Research Letters 22, 83, 1998

    Article  MathSciNet  Google Scholar 

  53. Jünger, M., Reinelt, G., and Thienel, S.: Practical Problem Solving with Cutting Plane Algorithms in Combinatorial Optimization. DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, 111, 1995

    Google Scholar 

  54. Kozen, D.C.: The Design and Analysis of Algorithms, Springer-Verlag, New York, 1992

    Book  Google Scholar 

  55. Kopman, L.: A New Generic Separation Algorithm and Its Application to the Vehicle Routing Problem. Ph.D. Dissertation, Field of Operations Research, Cornell University, Ithaca, NY, 1999

    Google Scholar 

  56. Kumar, V., and Rao, V.N.: Parallel Depth-first Search. Part II. Analysis. International Journal of Parallel Programming 16, 501, 1987

    Article  MathSciNet  Google Scholar 

  57. Kumar, V., and Gupta, A.: Analyzing Scalability of Parallel Algorithms and Architectures. Journal of Parallel and Distributed Computing 22, 379, 1994

    Article  Google Scholar 

  58. 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, 1996

    Google Scholar 

  59. Laporte, G., and Nobert, Y.: Comb Inequalities for the Vehicle Routing Problem. Methods of Operations Research 51, 271, 1981

    MathSciNet  MATH  Google Scholar 

  60. Laporte, G., Nobert, Y., and Desrouchers, M.: Optimal Routing with Capacity and Distance Restrictions. Operations Research 33, 1050, 1985

    Article  MathSciNet  Google Scholar 

  61. Laursen, P.: Can Parallel Branch and Bound without Communication Be Effective? SIAM Journal of Optimization 4, 288, 1994

    Article  MathSciNet  Google Scholar 

  62. Lawler, E.L., Lenstra, J.K., Rinnooy Kan, A.H.G., and Shmoys, D.B.: The Traveling Salesman Problem: A Guided Tour of Combinatorial Optimization. Wiley, New York, 1985

    MATH  Google Scholar 

  63. Letchford, A.N., Eglese, R.W., and Lysgaard, J.: Multi-star Inequalities for the Vehicle Routing Problem. Technical Report available at http://www.lancs.ac.uk/staff/letchfoa/pubs.htm

  64. Linderoth, J.: Topics in Parallel Integer Optimization. Ph.D. Dissertation, School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA, 1998

    Google Scholar 

  65. Marsten, R.: The Design of The XMP Linear Programming Library. ACM Transactions on Mathematical Software 7, 481, 1981

    Article  Google Scholar 

  66. Martin, A.: Integer Programs with Block Structure. Habilitation Thesis, Technischen Universität Berlin, 1998

    Google Scholar 

  67. Naddef, D., and Rinaldi, G.: Branch and Cut. In Toth, P., and Vigo, D., eds., Vehicle Routing, SIAM, 2000.

    Google Scholar 

  68. Nagamochi, H., and Ibaraki, T.: Computing Edge Connectivity in Multigraphs and Capacitated Graphs. SIAM Journal of Discrete Mathematics 5, 54, 1992

    Article  MathSciNet  Google Scholar 

  69. Nemhauser, G.L., Savelsbergh, M.W.P., and Sigismondi, G.S.: MINTO, a Mixed INTeger Optimizer. Operations Research Letters 15, 47, 1994

    Article  MathSciNet  Google Scholar 

  70. Nemhauser, G.L., and Wolsey, L.A.: Integer and Combinatorial Optimization. Wiley, New York, 1988

    Book  Google Scholar 

  71. Padberg, M., and Rinaldi, G.: A Branch-and-Cut Algorithm for the Resolution of Large-Scale Traveling Salesman Problems. SIAM Review 33, 60, 1991

    Article  MathSciNet  Google Scholar 

  72. Radaramanan, R., and Choi, K.: A Branch and Bound Algorithm for Solving the Vehicle Routing Problem. Proceedings of the 8th Annual Conference on Computers and Industrial Engineering, 236.

    Google Scholar 

  73. Ralphs, T.K., Kopman, L., Pulleyblank, W.R., and Trotter Jr., L.E.: On the Capacitated Vehicle Routing Problem. Submitted for publication

    Google Scholar 

  74. Ralphs, T.K.: Parallel Branch and Cut for Vehicle Routing. Ph.D. Dissertation, Field of Operations Research, Cornell University, Ithaca, NY, 1995

    Google Scholar 

  75. Ralphs, T.K., SYMPHONY Version 2.8 User’s Guide. Available at ⧄nalty/z@//www.branchandcut.org/SYMPHONY

    Google Scholar 

  76. Ralphs, T.K., and Ladányi, L. Computational Experience with Branch, Cut, and Price. To be submitted.

    Google Scholar 

  77. Ralphs, T.K., and Ladányi, L.: SYMPHONY: A Parallel Framework for Branch and Cut. White paper, Rice University, 1999.

    Google Scholar 

  78. Ralphs, T.K.: Repository of Vehicle Routing Problem Instances. Available at http://www.BranchAndCut.org/VRP

  79. Rao, V.N., and Kumar, V.: Parallel Depth-first Search. Part I. Implementation. International Journal of Parallel Programming 16, 479, 1987

    Article  MathSciNet  Google Scholar 

  80. Reinelt, G.: TSPLIB-A traveling salesman problem library. ORSA Journal on Computing 3, 376, 1991. Update available at http://www.crpc.rice.edu/softlib/tsplib/

    Article  Google Scholar 

  81. Rushmeier, R., and Nemhauser, G.L.: Experiments with Parallel Branch and Bound Algorithms for the Set Covering Problem. Operations Research Letters 13, 277, 1993

    Article  Google Scholar 

  82. Savelsbergh, M.W.P.: A Branch-and-Price Algorithm for the Generalized Assignment Problem. Operations Research 45, 831, 1997

    Article  MathSciNet  Google Scholar 

  83. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, New York, 1986

    MATH  Google Scholar 

  84. Shinano, Y., Higaki, M., and 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, 392, 1995

    Google Scholar 

  85. Shinano, Y., Harada, K., and 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, 621, 1997

    Google Scholar 

  86. Tschöke, S., and Polzer, T.: Portable Parallel Branch and Bound Library User Manual, Library Version 2.0. Department of Computer Science, University of Paderborn

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Ladányi, L., Ralphs, T.K., Trotter, L.E. (2001). Branch, Cut, and Price: Sequential and Parallel. In: Jünger, M., Naddef, D. (eds) Computational Combinatorial Optimization. Lecture Notes in Computer Science, vol 2241. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45586-8_6

Download citation

  • DOI: https://doi.org/10.1007/3-540-45586-8_6

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42877-0

  • Online ISBN: 978-3-540-45586-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics