Abstract
ALPS is a framework for implementing and parallelizing tree search algorithms. It employs a number of features to improve scalability and is designed specifically to support the implementation of data intensive algorithms, in which large amounts of knowledge are generated and must be maintained and shared during the search. Implementing such algorithms in a scalable manner is challenging both because of storage requirements and because of communications overhead incurred in the sharing of data. In this abstract, we describe the design of ALPS and how the design addresses these challenges. We present two sample applications built with ALPS and preliminary computational results.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Balas, E., Ceria, S., and Cornuéjols, G. (1996). Mixed 0-1 programming by lift-and-project in a branch-and-cut framework. Management Science, 42:1229–1246.
Benchouche, M., Cung, V.-D., Dowaji, S., Cun, B. L., Mautor, T., and Roucairol, C. (1996). Building a parallel branch and bound library. In Solving Combinatorial Optimization Problems in Parallel. Springer, Berlin.
Bixby, R., Ceria, S., McZeal, C, and Savelsbergh, M. (1998). An updated mixed integer programming library: MIPLIB 3. Technical Report TR98-03, Department of Computational and Applied Mathematics, Rice University.
Bixby, R., Cook, W., Cox, A., and Lee, E. (1995). Parallel mixed integer programming. Research Monograph CRPC-TR95554, Rice University Center for Research on Parallel Computation.
Borbeau, B., Crainic, T., and Gendron, B. (2000). Branch-and-bound parallelization strategies applied to a depot location and container fleet management problem. Parallel Computing, 26:27–46.
Chen, Q. and Ferris, M. C. (2001). FATCOP: A fault tolerant Condor-PVM mixed integer program solver. SIAM Journal on Optimization, 11:1019–1036.
Cordier, C, Marchand, H., Laundy, R., and Wolsey, L. A. (1999). bc-opt: A branch-and-cut code for mixed integer programs. Mathematical Programming, 86:335–353.
Correa, R. and Ferreira, A. (1995). Parallel best-first branch and bound in discrete optimization: A framework. Technical Report 95-03, Center for Discrete Mathematics and Theoretical Computer Science.
Eckstein, J., Phillips, C. A., and Hart, W. E. (2000). Pico: An object-oriented framework for parallel branch and bound. Technical Report RRR 40-2000, Rutgers University.
Fonlupt, C, Marquet, P., and Dekeyser, J. (1998). Data-parallel load balancing strategies. Parallel Computing, 24:1665–1684.
Forrest, J. (2004). Simple branch and bound. Available from http://www.coin-or.org.
Gendron, B. and Crainic, T. (1994). Parallel branch and bound algorithms: Survey and synthesis. Operations Research, 42:1042–1066.
Grama, A. and Kumar, V. (1995). Parallel search algorithms for discrete optimization problems. ORSA Journal on Computing, 7:365–385.
Gropp, W., Lusk, E., and Skjellum, A. (1999). Using MPI. MIT Press, Cambridge, MA, USA, 2nd edition.
Hafer, L. (1999). bonsaiG: Algorithms and design. Technical Report SFU-CMPTTR 1999-06, Simon Frazer University Computer Science.
Henrich, D. (1993). Initialization of parallel branch-and-bound algorithms. In Second International Workshop on Parallel Processing for Artificial Intelligence(PPAI-93).
Jünger, M. and Thienel, S. (2001). The abacus system for branch and cut and price algorithms in integer programming and combinatorial optimization. Software Practice and Experience, 30:1325–1352.
Kumar, V., Grama, A. Y., and Vempaty, N. R. (1994). Scalable load balancing techniques for parallel computers. Journal of Parallel and Distributed Computing, 22:60–79.
Kumar, V. and Gupta, A. (1994). Analyzing scalability of parallel algorithms and architectures. Journal of Parallel and Distributed Computing, 22:379–391.
Ladányi, L. and Ralphs, T. (2001). COIN/BCP User’s Manual. Available from http://www.coin-or.org.
Land, A. H. and Doig, A. G. (1960). An automatic method for solving discrete programming problems. Econometrica, 28:497–520.
Laursen, P. S. (May, 1994). Can parallel branch and bound without communication be effective? SIAM Journal on Optimization, 4:33–33.
Linderoth, J. (1998). Topics in Parallel Integer Optimization. PhD thesis, School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA.
Lougee-Heimer, R. (2003). The Common Optimization INterface for Operations Research. IBM Journal of Research and Development, 47:57–66.
Makhorin, A. (2004). Introduction to GLPK. Available from http://www.gnu.org/software/glpk/glpk.html.
Martello, S. and Toth, P. (1990). Knapsack Problems: algorithms and computer implementation. John Wiley & Sons, Inc., USA, 1st edition.
Martin, A. (1998). Integer programs with block structure. Habilitation Thesis, Technical University of Berlin, Berlin, Germany.
Mitra, G., Hai, I., and Hajian, M. (1997). A distributed processing algorithm for solving integer programs using a cluster of workstations. Parallel Computing, 23:733–753.
Nemhauser, G. L., Savelsbergh, M. W. P., and Sigismondi, G. S. (1994). Minto, a mixed integer optimizer. Operations Research Letters, 15:47–58.
Ralphs, T. (2004). SYMPHONY Version 4.0 User’s Manual. Available from http://www. branchandcut. org/SYMPHONY.
Ralphs, T., Ladányi, L., and Saltzman, M. J. (2003). Parallel branch, cut, and price for large-scale discrete optimization. Mathematical Programming, 98:253–280.
Ralphs, T., Ladányi, L., and Saltzman, M. J. (2004). A library hierarchy for implementing scalable parallel search algorithms. The Journal of Supercomputing, 28:215–234.
Sanders, P. (1998). Tree shaped computations as a model for parallel applications. In ALV’98 Workshop on application based load balancing, pages 123–132.
Shinano, Y., Harada, K., and Hirabayashi, R. (1995). A generalized utility for parallel branch and bound algorithms. In Proceedings of the 1995 Seventh Symposium on Parallel and Distributed Processing, pages 392–401, Los Alamitos, CA. IEEE Computer Society Press.
Sinha, A. and Kalé, L. V. (1993). A load balancing strategy for prioritized execution of tasks. In Seventh International Parallel Processing Symposium, pages 230–237, Newport Beach, CA.
Trienekens, H. W. J. M. and Bruin, A. d. (1992). Towards a taxonomy of parallel branch and bound algorithms. Report EUR-CS-92-01, Erasmus University, Rotterdam.
Tschoke, S. and Polzer, T. (1998). Portable Parallel Branch and Bound Library User Manual: Library Version 2.0. Department of Computer Science, University of Paderborn.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer Science+Business Media, Inc.
About this paper
Cite this paper
Xu, Y., Ralphs, T.K., Ladányi, L., Saltzman, M.J. (2005). Alps: A Framework for Implementing Parallel Tree Search Algorithms. In: Golden, B., Raghavan, S., Wasil, E. (eds) The Next Wave in Computing, Optimization, and Decision Technologies. Operations Research/Computer Science Interfaces Series, vol 29. Springer, Boston, MA . https://doi.org/10.1007/0-387-23529-9_21
Download citation
DOI: https://doi.org/10.1007/0-387-23529-9_21
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-23528-8
Online ISBN: 978-0-387-23529-5
eBook Packages: Computer ScienceComputer Science (R0)