Skip to main content

Alps: A Framework for Implementing Parallel Tree Search Algorithms

  • Conference paper
The Next Wave in Computing, Optimization, and Decision Technologies

Part of the book series: Operations Research/Computer Science Interfaces Series ((ORCS,volume 29))

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.

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 169.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 219.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 219.99
Price excludes VAT (USA)
  • Durable hardcover 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

  • 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.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • Chen, Q. and Ferris, M. C. (2001). FATCOP: A fault tolerant Condor-PVM mixed integer program solver. SIAM Journal on Optimization, 11:1019–1036.

    Article  MATH  MathSciNet  Google Scholar 

  • 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.

    Article  MATH  MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Fonlupt, C, Marquet, P., and Dekeyser, J. (1998). Data-parallel load balancing strategies. Parallel Computing, 24:1665–1684.

    Article  Google Scholar 

  • Forrest, J. (2004). Simple branch and bound. Available from http://www.coin-or.org.

    Google Scholar 

  • Gendron, B. and Crainic, T. (1994). Parallel branch and bound algorithms: Survey and synthesis. Operations Research, 42:1042–1066.

    Article  MATH  MathSciNet  Google Scholar 

  • Grama, A. and Kumar, V. (1995). Parallel search algorithms for discrete optimization problems. ORSA Journal on Computing, 7:365–385.

    MATH  Google Scholar 

  • Gropp, W., Lusk, E., and Skjellum, A. (1999). Using MPI. MIT Press, Cambridge, MA, USA, 2nd edition.

    Google Scholar 

  • Hafer, L. (1999). bonsaiG: Algorithms and design. Technical Report SFU-CMPTTR 1999-06, Simon Frazer University Computer Science.

    Google Scholar 

  • Henrich, D. (1993). Initialization of parallel branch-and-bound algorithms. In Second International Workshop on Parallel Processing for Artificial Intelligence(PPAI-93).

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Kumar, V. and Gupta, A. (1994). Analyzing scalability of parallel algorithms and architectures. Journal of Parallel and Distributed Computing, 22:379–391.

    Article  Google Scholar 

  • Ladányi, L. and Ralphs, T. (2001). COIN/BCP User’s Manual. Available from http://www.coin-or.org.

    Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  • Laursen, P. S. (May, 1994). Can parallel branch and bound without communication be effective? SIAM Journal on Optimization, 4:33–33.

    Article  MathSciNet  Google Scholar 

  • Linderoth, J. (1998). Topics in Parallel Integer Optimization. PhD thesis, School of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA.

    Google Scholar 

  • Lougee-Heimer, R. (2003). The Common Optimization INterface for Operations Research. IBM Journal of Research and Development, 47:57–66.

    Article  Google Scholar 

  • Makhorin, A. (2004). Introduction to GLPK. Available from http://www.gnu.org/software/glpk/glpk.html.

    Google Scholar 

  • Martello, S. and Toth, P. (1990). Knapsack Problems: algorithms and computer implementation. John Wiley & Sons, Inc., USA, 1st edition.

    Google Scholar 

  • Martin, A. (1998). Integer programs with block structure. Habilitation Thesis, Technical University of Berlin, Berlin, Germany.

    Google Scholar 

  • 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.

    Article  MATH  MathSciNet  Google Scholar 

  • Nemhauser, G. L., Savelsbergh, M. W. P., and Sigismondi, G. S. (1994). Minto, a mixed integer optimizer. Operations Research Letters, 15:47–58.

    Article  MATH  MathSciNet  Google Scholar 

  • Ralphs, T. (2004). SYMPHONY Version 4.0 User’s Manual. Available from http://www. branchandcut. org/SYMPHONY.

    Google Scholar 

  • 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.

    Article  MATH  MathSciNet  Google Scholar 

  • 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.

    Article  MATH  Google Scholar 

  • Sanders, P. (1998). Tree shaped computations as a model for parallel applications. In ALV’98 Workshop on application based load balancing, pages 123–132.

    Google Scholar 

  • 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.

    Chapter  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics