Parallel Simulated Annealing Library
IntroductionAlthough there is a lot of reference given in literature on the successful application of simulated annealing to different optimization problems, there are only few general purpose software packages provided for public use. Only some of them are suitable for parallel machines.
Our Parallel Simulated Annealing Library (parSA-Library) provides a comfortable and efficient parallel framework in order to have a simulated annealing optimization system, which can be applied to many different optimization problems. The use of the MPI message passing standard ensures a wide portability to different parallel platforms without redesigning the code.
The parallelization of the simulated annealing algorithm is transparent to the user of the library. The library adapts itself to platforms and problems. This behavior ensures high efficiency on different parallel platforms. Applications on real-world problem instances and on real current parallel architectures like workstation clusters and dedicated parallel computers have proved the implemented parallel software library to be highly efficient.
The user-interface of the library is clear and flexible. The generality of the metaheuristic simulated annealing was kept. The interface is rather intuitive and easy to fulfill. The suggested computation model makes efficient implementation of SA possible. The clear distinction between problem-independent and problem-specific constructions of the SA-algorithm makes the library generally applicable.
Because of the exactly modeled structure of the simulated algorithm existing implementation of the algorithm can be easily ported on the parSA interface and can therefore be parallelized with merely small extra-effort.
Vast amount of configuration possibilities is provided, however the user can also use the standard configuration too. It was chosen after intensive testing in different environments. Monitoring and logging modules provide users with sufficient information about the optimization process.
The library is designed in an object-oriented way and is implemented in C++. It can easily be extended by implementing new SA features such as new cooling schedules or different acceptance criteria (like threshold accepting). Because of a general user-interface many different parallelization schemes of simulated annealing like algorithms can be easy implemented. Another important point is the possibility of reusing of existing module functionalities.
The library has been tested using the following MPI-Versions:
To request a library version skip to section Request Library.
Back to list of contents
Back to list of contents
PAREO'98: First meeting of the PAREO working group on Parallel Processing in Operations Research, Versailles, France, July 8-10, 1998
Master Thesis in computer science (in German)