Version 19 (modified by tkr, 14 years ago) (diff)


Welcome to the SYMPHONY development home page

Note that this site is a Wiki, which allows users to modify the content to correct typos, add information, or share their experience and tips with other users. You are welcome to contribute to this project webpages. To edit these pages or submit a trouble ticket, you must first register and login.


SYMPHONY is an open-source solver for mixed-integer linear programs (MILPs) written in C. It can be used in three different main modes:

  • As a callable library through either the native C interface or through the Osi.
  • As an interactive solver using a command-line interface.
  • As a framework to build customized solvers for specific problem classes.

SYMPHONY can be executed in either parallel (distributed or shared memory) or sequential modes and has a number of advanced features that make it unique, including the ability to

  • solve biobjective MILPs,
  • warm start the solution procedure, and
  • perform basic sensitivity analyses.

SYMPHONY links to a number of other COIN projects for additional functionality, including:

  • Clp (the default solver for LP relaxations)
  • Osi (an interface to alternative solvers for solving LP relaxations)
  • Cgl (for cut generation)
  • CoinUtils (for reading in MPS files and various utilities)

SYMPHONY can utilize the libraries of GLPK to read GMPL files (a subset of AMPL) or can be called using FLOPC++, an algebraic modeling language based on C++.


SYMPHONY is written in C and is distributed as open source code under the Common Public License (CPL). It is available from the COIN-OR initiative. The primary authors of the code are

The code is currently maintained by Ted Ralphs and Menal Guzelsoy at the COR@L Lab at Lehigh University.


You can obtain the SYMPHONY source code either via the subversion repository or in the form of daily tarballs. The recommended method is to use subversion because it makes it easier to obtain updates. In a Unix-like environment (such as Linux or CYGWIN), the following commands may be used to obtain and build SYMPHONY from source using SVN in most cases.

svn checkout COIN-SYMPHONY
make install

For Microsoft Visual C++ users in Windows, there is a project file (for Version 6) available in the Win32/ directory. After obtaining the code using either a Windows subversion client (see the COIN-OR FAQ) or downloading and unpacking the tarball, open the project file in the Win32 directory. The code should build out of the box with default settings. More information on custom builds (such as the parallel version) for all platforms is available in the INSTALL file.

If downloading from a tarball, unpack the tarball first, then change into the directory SYMPHONY_* (where "*" is the date of the tarball and follow the directions above.

Documentation and Tutorials

Trac is brought to you by Edgewall Software, providing professional Linux and software development services to clients worldwide. Visit for more information.

Attachments (1)

Download all attachments as: .zip