Back to SYMPHONY Home Page
Next: Compiling the Sample Application
Up: SYMPHONY 3.0.1 User's Manual
Previous: Fault Tolerance
Quick Start Guide
BB (Single- or Multi-Process Optimization over Networks) Version 3.0.1
is a powerful environment for implementing branch, cut, and price
algorithms. The subroutines in the SYMPHONY library comprise a
state-of-the-art solver which is designed to be completely modular and
easy to port to various problem settings. All library subroutines are
generic--their implementation does not depend on the the
problem-setting. To develop a full-scale, parallel branch and cut
algorithm, the user has only to specify a few problem-specific
functions such as preprocessing and separation. The vast majority of
the computation takes place within a ``black box,'' of which the user
need have no knowledge. SYMPHONY communicates with the user's routines
through well-defined interfaces and performs all the normal functions
of branch and cut--tree management, LP solution, cut pool management,
as well as inter-process or inter-thread communication. Although there
are default options, the user can also assert control over the
behavior of SYMPHONY through a myriad of parameters and optional
subroutines. SYMPHONY can be built in a variety of configurations, ranging
from fully parallel to completely sequential, depending on the user's
needs. The library runs serially on almost any platform, and can also
run in parallel in either a fully distributed environment (network of
workstations) or shared-memory environment simply by changing a few
options in the makefile. To run in a distributed environment, the
user must have installed Parallel Virtual
Machine (PVM) software, available for
free from Oak Ridge National Laboratories
.
To run in a shared memory environment, the user must have installed an
OpenMP compliant compiler. A cross-platform compiler called Omni, which uses
cc or gcc as a back end, is available for free download
.
This section of the manual is concerned with the detailed
specifications needed to develop an application using SYMPHONY. It is
assumed that the user has already read the first part of the manual, which
provides a high-level introduction to parallel branch, cut, and price
and the overall design and use of SYMPHONY.
Subsections
Next: Compiling the Sample Application
Up: SYMPHONY 3.0.1 User's Manual
Previous: Fault Tolerance
Ted Ralphs
2003-05-29