next up previous external Back to SYMPHONY Home Page
Next: References Up: SYMPHONY: A Parallel Framework Previous: Using Multiple Pools

Future Enhancements

Although SYMPHONY is a mature software library and already contains the advanced features required for most uses, some future enhancements are planned. Currently, there are two new versions under development. One of these versions will use shared memory and will be developed using the OpenMP protocol. Another version, currently code-named BCP and under development at IBM, implements SYMPHONY in C++ with several enhancements, such as the ability to generate arbitrary variables (making the handling of cuts and variables completely symmetrical), better fault tolerance and virtual machine handling, better cut pool scanning, and a more generalized branching scheme.

The current version of SYMPHONY will continue to be enhanced as well. One of the biggest changes planned is to better implement load-balancing. One way of achieving this will be through dynamic allocation of cut generators. Rather than requiring each LP to have its own dedicated cut generator, cut generators will be allocated as needed to LP processes so that more cut generation can be devoted to areas of the tree that are ``difficult'' and less to areas that are ``easy.'' This idea was investigated for Set Partitioning in [6] and found to be effective. Other planned enhancements include eliminating the requirement for the user to index problem variables, allowing solution of a wider variety of models, and the addition of generic cutting plane routines, allowing ``out of the box'' problem solution.



Ted Ralphs
Fri Feb 11 13:47:11 CST 2000