skip to main content
OSTI.GOV title logo U.S. Department of Energy
Office of Scientific and Technical Information

Title: PICO: An Object-Oriented Framework for Branch and Bound

Abstract

This report describes the design of PICO, a C++ framework for implementing general parallel branch-and-bound algorithms. The PICO framework provides a mechanism for the efficient implementation of a wide range of branch-and-bound methods on an equally wide range of parallel computing platforms. We first discuss the basic architecture of PICO, including the application class hierarchy and the package's serial and parallel layers. We next describe the design of the serial layer, and its central notion of manipulating subproblem states. Then, we discuss the design of the parallel layer, which includes flexible processor clustering and communication rates, various load balancing mechanisms, and a non-preemptive task scheduler running on each processor. We describe the application of the package to a branch-and-bound method for mixed integer programming, along with computational results on the ASCI Red massively parallel computer. Finally we describe the application of the branch-and-bound mixed-integer programming code to a resource constrained project scheduling problem for Pantex.

Authors:
; ;
Publication Date:
Research Org.:
Sandia National Labs., Albuquerque, NM (US); Sandia National Labs., Livermore, CA (US)
Sponsoring Org.:
US Department of Energy (US)
OSTI Identifier:
771506
Report Number(s):
SAND2000-3000
TRN: AH200118%%355
DOE Contract Number:
AC04-94AL85000
Resource Type:
Technical Report
Resource Relation:
Other Information: PBD: 1 Dec 2000
Country of Publication:
United States
Language:
English
Subject:
99 GENERAL AND MISCELLANEOUS//MATHEMATICS, COMPUTING, AND INFORMATION SCIENCE; P CODES; ALGORITHMS; COMPUTER ARCHITECTURE; DESIGN; IMPLEMENTATION; PROGRAMMING; PARALLEL PROCESSING; SCHEDULES; PLANNING; PANTEX PLANT

Citation Formats

ECKSTEIN,JONATHAN, HART,WILLIAM E., and PHILLIPS,CYNTHIA A. PICO: An Object-Oriented Framework for Branch and Bound. United States: N. p., 2000. Web. doi:10.2172/771506.
ECKSTEIN,JONATHAN, HART,WILLIAM E., & PHILLIPS,CYNTHIA A. PICO: An Object-Oriented Framework for Branch and Bound. United States. doi:10.2172/771506.
ECKSTEIN,JONATHAN, HART,WILLIAM E., and PHILLIPS,CYNTHIA A. Fri . "PICO: An Object-Oriented Framework for Branch and Bound". United States. doi:10.2172/771506. https://www.osti.gov/servlets/purl/771506.
@article{osti_771506,
title = {PICO: An Object-Oriented Framework for Branch and Bound},
author = {ECKSTEIN,JONATHAN and HART,WILLIAM E. and PHILLIPS,CYNTHIA A.},
abstractNote = {This report describes the design of PICO, a C++ framework for implementing general parallel branch-and-bound algorithms. The PICO framework provides a mechanism for the efficient implementation of a wide range of branch-and-bound methods on an equally wide range of parallel computing platforms. We first discuss the basic architecture of PICO, including the application class hierarchy and the package's serial and parallel layers. We next describe the design of the serial layer, and its central notion of manipulating subproblem states. Then, we discuss the design of the parallel layer, which includes flexible processor clustering and communication rates, various load balancing mechanisms, and a non-preemptive task scheduler running on each processor. We describe the application of the package to a branch-and-bound method for mixed integer programming, along with computational results on the ASCI Red massively parallel computer. Finally we describe the application of the branch-and-bound mixed-integer programming code to a resource constrained project scheduling problem for Pantex.},
doi = {10.2172/771506},
journal = {},
number = ,
volume = ,
place = {United States},
year = {Fri Dec 01 00:00:00 EST 2000},
month = {Fri Dec 01 00:00:00 EST 2000}
}

Technical Report:

Save / Share: