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 is another version of SYMPHONY, code-named BCP, under development at IBM. BCP 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. Refined tree search algorithms, optimized for parallelism, should also allow better load-balancing.

Other planned enhancements include eliminating the requirement for the user to index problem variables, allowing solution of a wider variety of models. The addition of generic cutting plane routines, will allow ``out of the box'' problem solution. Better strategies for pricing variables in large-scale applications, as well as better cut pool scanning, round out the list of future plans.



Ted Ralphs
Thu Jun 8 14:31:17 CDT 2000