In SYMPHONY 5.0, we introduced a number of new features that give SYMPHONY
some unique capabilities. These include the ability to solve biobjective
integer programs, the ability to warms start the solution procedure, and the
ability to perform basic sensitivity analyses. These capabilities have been
further developed and enhanced in Version 5.1.3. Other new features and
enhancements are listed below.
- SYMPHONY now has an interactive optimizer that can be used through a
command shell. In both the sequential and parallel configurations, the user
can set parameters, load and solve instances interactively, and display
results and statistics. For Windows users, this means that SYMPHONY can be
invoked using the familiar procedure of ``double-clicking'' on the
symphony.exe file in Windows Explorer.
- SYMPHONY now supports automatic configuration using the new COIN-OR
build system and the GNU autotools. Using the autotools, it is now possible to
build SYMPHONY in most operating systems and with most common compilers
without user intervention.
- Both the distributed and shared memory parallel configurations are once
again fully implemented, tested, and supported. The user can now build and
execute custom SYMPHONY applications in parallel, as well as solving generic
MILPs in parallel "out of the box."
- There are now additional options for warm starting. The user can trim the
warm starting tree before starting to resolve a problem. More specifically,
the user can decide to initiate warm starting with a predefined partition of
the final branch-and-cut tree resulting from a previous solution procedure.
This partition can include either a number of nodes created first during the
solution procedure or all of the nodes above a given level of the tree.
- The COIN-OR repository, the current host of SYMPHONY has
recently undergone some significant improvements of its own that have
resulted in improved services to users, detailed below.
- SYMPHONY has a new development Web site, where users can submit trouble
tickets, browse the source code interactively, and get up-to-date
information on development. The address of the new site is
https://projects.coin-or.org/SYMPHONY.
- SYMPHONY is now hosted using subversion, a version control system with
features vastly improved over CVS, the previous hosting software. This has
required some reorganization and renaming of the header files.
- SYMPHONY is now more tightly integrated with other COIN-OR projects. Due
to improved procedures for producing stable releases, it will now be much
easier for us to determine the exact version of SYMPHONY and all other COIN
projects you are using when you report a bug.
- SYMPHONY is now distributed with all COIN software needed to build a
complete solver. Previously, other COIN software packages had to be
downloaded and installed separately.
Two features have been deprecated and are no longer supported:
- The native interfaces to OSL and CPLEX are now deprecated and no longer
supported. These solvers can be called through the COIN-OR OSI interface.
- Column generation functionality has also been officially deprecated. For
now, there are a number of other software packages that offer better
functionality than SYMPHONY for implementing branch and price algorithms.
There were a few minor changes to the API from the previous version of
SYMPHONY to version 5.1.3.
- First and foremost, the name of the main header file for SYMPHONY has
been changed from
symphony_api.h to
symphony.h (though the
former has been retained for backward compatibility purposes).
- The user can now execute a primal heuristic in the
user_is_feasible() callback and return the solution to SYMPHONY, which
required the arguments of this function to be changed slightly.
- Several new subroutines were added to the callable library API.
Ted Ralphs
2007-03-24