Skip to main content
Log in

A Library Hierarchy for Implementing Scalable Parallel Search Algorithms

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

This paper describes the design of the Abstract Library for Parallel Search (ALPS), a framework for implementing scalable, parallel algorithms based on tree search. ALPS is specifically designed to support data-intensive algorithms, in which large amounts of data are required to describe each node in the search tree. Implementing such algorithms in a scalable manner is challenging both because of data storage requirements and communication overhead. ALPS incorporates a number of new ideas to address this challenge. The paper also describes the design of two other libraries forming a hierarchy built on top of ALPS. The first is the Branch, Constrain, and Price Software (BiCePS) library, a framework that supports the implementation of parallel branch and bound algorithms in which the bounds are obtained by solving some sort of relaxation, usually Lagrangian. In this layer, the notion of global data objects associated with the variables and constraints is introduced. These global objects provide a connection between the various subproblems in the search tree, but they pose further difficulties for designing scalable algorithms. The other library is the BiCePS linear integer solver (BLIS), a concretization of BiCePS, in which linear programming is used to obtain bounds in each search tree node.

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.

Similar content being viewed by others

References

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

  2. D. Applegate, R. Bixby, V. Chátal, and W. Cook. CONCORDE TSP Solver, available at www.keck.caam.rice.edu/concorde.html.

  3. E. Balas. An additive algorithm for solving linear programs with zero-one variables. Operations Research, 13:517–546, 1965.

    Google Scholar 

  4. M. Benchouche, V.-D. Cung, S. Dowaji, B. Le Cun, T. Mautor, and C. Roucairol. Building a parallel branch and bound library. In Solving Combinatorial Optimization Problems in Parallel, Lecture Notes in Computer Science, 1054:221, Springer, Berlin 1996.

    Google Scholar 

  5. R. Bixby, W. Cook, A. Cox, and E. K. Lee. Parallel mixed integer programming, Rice University Center for Research on Parallel Computation Research Monograph CRPC-TR95554, 1995.

  6. R. L. Boehning, R. M. Butler, and B. E. Gìllet. A parallel integer linear programming algorithm. European Journal of Operations Research, 34, 1988.

  7. A. de Bruin, G. A. P. Kindervater, and H. W. J. M. Trienekens. Asynchronous parallel branch and bound and anomalies, Report EUR-CS-95–05, Department of Computer Science, Erasmus University, Rotterdam, 1995.

    Google Scholar 

  8. Q. Chen and M. C. Ferris. FATCOP: A fault tolerant condor-PVM mixed integer programming solver. University of Wisconsin CS Department Technical Report 99-05, Madison, WI, 1999.

  9. R. Correa and A. Ferreira. Parallel best-first branch and bound in discrete optimization: A framework, Center for Discrete Mathematics and Theoretical Computer Science Technical Report 95-03.

  10. L. Dagum and R. Menon. OpenMP: An industry-standard API for shared-memory programming. IEEE Computational Science and Engineering, 5:46, 1998.

    Google Scholar 

  11. J. Eckstein. Parallel branch and bound algorithms for general mixed integer programming on the CM-5. SIAM Journal on Optimization, 4, 1994.

  12. J. Eckstein. How much communication does parallel branch and bound need? INFORMS Journal on Computing, 9, 1997.

  13. J. Eckstein, C. A. Phillips, and W. E. Hart. PICO: An object-oriented framework for parallel branch and bound, RUTCOR Research Report 40-2000, Rutgers University, Piscataway, NJ, 2000.

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  16. B. Gendron and T. G. Crainic. Parallel branch and bound algorithms: Survey and synthesis. Operations Research, 42:1042, 1994.

    Google Scholar 

  17. A. Grama and V. Kumar. Parallel search algorithms for discrete optimization problems. ORSA Journal on Computing, 7, 1995.

  18. W. Gropp, E. Lusk, and A. Skjellum. Using MPI, MIT University Press, Cambridge, MA, 1999.

    Google Scholar 

  19. M. Grotschel, M. Junger, and G. Reinelt. A cutting plane algorithm for the linear ordering problem. Operations Research, 32:1155, 1984.

    Google Scholar 

  20. K. Hoffman and M. Padberg. LP-based combinatorial problem solving. Annals of Operations Research, 4:145, 1985/86.

    Google Scholar 

  21. V. Kumar and A. Gupta. Analyzing scalability of parallel algorithms and architectures. Journal of Parallel and Distributed Computing, 22, 1994.

  22. A. H. Land and A. G. Doig. An automatic method for solving discrete programming problems. Econometrica, 28:497–520, 1960.

    Google Scholar 

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

    Google Scholar 

  24. G. Mitra, I. Hai, and M. T. Hajian. A distributed processing algorithm for solving integer programs using a cluster of workstations. Parallel Computing, 23:733–753, 1997.

    Google Scholar 

  25. L. G. Mitten. Branch-and-bound methods: General formulation and properties. Operations Research, 18:24, 1970.

    Google Scholar 

  26. G. L. Nemhauser and L. A. Wolsey. Integer and Combinatorial Optimization, John Wiley & Sons, Inc., 1988.

  27. M. Padberg and G. Rinaldi. A branch-and-cut algorithm for the resolution of large-scale traveling salesman problems. SIAM Review, 33:60, 1991.

    Google Scholar 

  28. T. K. Ralphs, L. Ladányi, and M. J. Saltzman. Parallel branch, cut, and price for large-scale discrete optimization. Mathematical Programming, 98:253, 2003.

    Google Scholar 

  29. T. K. Ralphs. SYMPHONY Version 4.0 user's guide, available at www.branchandcut.org/SYMPHONY.

  30. T. K. Ralphs, L. Ladányi, and L. E. Trotter, Branch, Cut, and Price: Sequential and Parallel, in Computational Combinatorial Optimization, D. Naddef and M. Jünger, eds., Springer, Berlin, (2001), 223.

    Google Scholar 

  31. T. K. Ralphs and L. Ladányi. COIN/BCP User's Guide, available at www.coin-or.org

  32. R. Rushmeier and G. Nemhauser. Experiments with parallel branch and bound algorithms for the set covering problem. Operations Research Letters, 13, 1993.

  33. M. J. Saltzman, “COIN-OR: An Open-Source Library for Optimization,” in S. Nielsen, ed., Programming Languages and Systems in Computational Economics and Finance, Kluwer, Boston, 2002.

    Google Scholar 

  34. Y. Shinano, M. Higaki, and R. Hirabayashi. 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, 392.

    Google Scholar 

  35. H. W. J. M. Trienekens and A. de Bruin. Towards a Taxonomy of Parallel Branch and Bound Algorithms, Report EUR-CS-92–01, Department of Computer Science, Erasmus University Rotterdam, 1992.

    Google Scholar 

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

  37. S. J. Wright. Solving Optimization Problems on Computational Grids. Optima, 65, 2001.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Ralphs, T.K., Ládanyi, L. & Saltzman, M.J. A Library Hierarchy for Implementing Scalable Parallel Search Algorithms. The Journal of Supercomputing 28, 215–234 (2004). https://doi.org/10.1023/B:SUPE.0000020179.55383.ad

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/B:SUPE.0000020179.55383.ad

Navigation