The Symphony Callable Library for Mixed Integer Programming

SYMPHONY is a customizable, open-source library for solving mixed-integer linear programs (MILP) by branch, cut, and price. With its large assortment of parameter settings, user callback functions, and compile-time options, SYMPHONY can be configured as a generic MILP solver or an engine for solving difficult MILPs by means of a fully customized algorithm. SYMPHONY can run on a variety of architectures, including single-processor, distributed-memory parallel, and shared-memory parallel architectures under MS Windows, Linux, and other Unix operating systems. The latest version is implemented as a callable library that can be accessed either through calls to the native C application program interface, or through a C++ interface class derived from the COIN-OR Open Solver Interface. Among its new features are the ability to solve bicriteria MILPs, the ability to stop and warm start MILP computations after modifying parameters or problem data, the ability to create persistent cut pools, and the ability to perform rudimentary sensitivity analysis on MILPs.

[1]  Rüdiger Schultz,et al.  Dual decomposition in stochastic integer programming , 1999, Oper. Res. Lett..

[2]  Robin Lougee,et al.  The Common Optimization INterface for Operations Research: Promoting open-source software in the operations research community , 2003, IBM J. Res. Dev..

[3]  R. Lougee-Heimer,et al.  The Common Optimization INterface for Operations Research: Promoting open-source software in the operations research community , 2003 .

[4]  Michael Jünger,et al.  The ABACUS system for branch‐and‐cut‐and‐price algorithms in integer programming and combinatorial optimization , 2000, Softw. Pract. Exp..

[5]  Qun Chen,et al.  FATCOP: A Fault Tolerant Condor-PVM Mixed Integer Programming Solver , 2000, SIAM J. Optim..

[6]  Laurence A. Wolsey,et al.  Sensitivity Analysis for Branch and Bound Integer Programming , 1985, Oper. Res..

[7]  João C. N. Clímaco,et al.  Multicriteria Integer Programming: An Overview of the Different Algorithmic Approaches , 1997 .

[8]  Laurence A. Wolsey,et al.  bc–opt: a branch-and-cut code for mixed integer programs , 1999, Math. Program..

[9]  Matthew J. Saltzman,et al.  A Library Hierarchy for Implementing Scalable Parallel Search Algorithms , 2004, The Journal of Supercomputing.

[10]  Cynthia A. Phillips,et al.  Pico: An Object-Oriented Framework for Parallel Branch and Bound * , 2001 .

[11]  Matthew J. Saltzman,et al.  Parallel branch, cut, and price for large-scale discrete optimization , 2003, Math. Program..

[12]  Xavier Gandibleux,et al.  A survey and annotated bibliography of multiobjective combinatorial optimization , 2000, OR Spectr..

[13]  Ted K. Ralphs,et al.  Parallel branch and cut for capacitated vehicle routing , 2003, Parallel Comput..

[14]  Xavier Gandibleux,et al.  Multiobjective Combinatorial Optimization — Theory, Methodology, and Applications , 2003 .

[15]  John N. Tsitsiklis,et al.  Introduction to linear optimization , 1997, Athena scientific optimization and computation series.

[16]  E. Balas,et al.  Mixed 0-1 Programming by Lift-and-Project in a Branch-and-Cut Framework , 1996 .

[17]  Michael Jünger,et al.  The ABACUS system for branch‐and‐cut‐and‐price algorithms in integer programming and combinatorial optimization , 2000, Softw. Pract. Exp..

[18]  Jeff Linderoth,et al.  Topics in parallel integer optimization , 1998 .

[19]  Martin W. P. Savelsbergh,et al.  MINTO, a mixed INTeger optimizer , 1994, Oper. Res. Lett..

[20]  Cynthia A. Phillips,et al.  PICO: An Object-Oriented Framework for Branch and Bound , 2000 .