next up previous contents_motif.gif Back to SYMPHONY Home Page
Next: Introduction

SYMPHONY: A Parallel Framework for Branch, Cut, and Price 1

T.K. Ralphs2 and L. Ladanyi3

December 31, 1999

PDF version available here

Revised September 6, 2000

Abstract:

This white paper introduces SYMPHONY (Single- or Multi-Process Optimization over Networks), a powerful environment for implementing branch, cut, and price algorithms. SYMPHONY is a state-of-the-art solver which is designed to be completely modular and is 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, cut, and price 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 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 completely sequential to fully parallel with independently functioning cut generators, cut pools, and LP solvers. The distributed version currently runs in any environment supported by the PVM message passing protocol. The same source code can also be compiled for shared-memory architectures using any OpenMP compliant compiler.



 
next up previous contents_motif.gif
Next: Introduction
Ted Ralphs
2000-09-13