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.
Similar content being viewed by others
References
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.
D. Applegate, R. Bixby, V. Chátal, and W. Cook. CONCORDE TSP Solver, available at www.keck.caam.rice.edu/concorde.html.
E. Balas. An additive algorithm for solving linear programs with zero-one variables. Operations Research, 13:517–546, 1965.
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.
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.
R. L. Boehning, R. M. Butler, and B. E. Gìllet. A parallel integer linear programming algorithm. European Journal of Operations Research, 34, 1988.
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.
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.
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.
L. Dagum and R. Menon. OpenMP: An industry-standard API for shared-memory programming. IEEE Computational Science and Engineering, 5:46, 1998.
J. Eckstein. Parallel branch and bound algorithms for general mixed integer programming on the CM-5. SIAM Journal on Optimization, 4, 1994.
J. Eckstein. How much communication does parallel branch and bound need? INFORMS Journal on Computing, 9, 1997.
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.
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.
A. Geist et al. PVM: Parallel Virtual Machine, A User's Guide and Tutorial for Networked Parallel Computing, MIT Press, Cambridge, MA, 1994.
B. Gendron and T. G. Crainic. Parallel branch and bound algorithms: Survey and synthesis. Operations Research, 42:1042, 1994.
A. Grama and V. Kumar. Parallel search algorithms for discrete optimization problems. ORSA Journal on Computing, 7, 1995.
W. Gropp, E. Lusk, and A. Skjellum. Using MPI, MIT University Press, Cambridge, MA, 1999.
M. Grotschel, M. Junger, and G. Reinelt. A cutting plane algorithm for the linear ordering problem. Operations Research, 32:1155, 1984.
K. Hoffman and M. Padberg. LP-based combinatorial problem solving. Annals of Operations Research, 4:145, 1985/86.
V. Kumar and A. Gupta. Analyzing scalability of parallel algorithms and architectures. Journal of Parallel and Distributed Computing, 22, 1994.
A. H. Land and A. G. Doig. An automatic method for solving discrete programming problems. Econometrica, 28:497–520, 1960.
J. Linderoth, Topics in Parallel Integer Optimization, Ph.D. Dissertation, School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA (1998).
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.
L. G. Mitten. Branch-and-bound methods: General formulation and properties. Operations Research, 18:24, 1970.
G. L. Nemhauser and L. A. Wolsey. Integer and Combinatorial Optimization, John Wiley & Sons, Inc., 1988.
M. Padberg and G. Rinaldi. A branch-and-cut algorithm for the resolution of large-scale traveling salesman problems. SIAM Review, 33:60, 1991.
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.
T. K. Ralphs. SYMPHONY Version 4.0 user's guide, available at www.branchandcut.org/SYMPHONY.
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.
T. K. Ralphs and L. Ladányi. COIN/BCP User's Guide, available at www.coin-or.org
R. Rushmeier and G. Nemhauser. Experiments with parallel branch and bound algorithms for the set covering problem. Operations Research Letters, 13, 1993.
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.
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.
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.
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.
S. J. Wright. Solving Optimization Problems on Computational Grids. Optima, 65, 2001.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/B:SUPE.0000020179.55383.ad