Implementation of Parallel Genetic Algorithms on HP Computers

Marian Bubak (1,2), Krzysztof Sowa (3) and Przemyslaw Adamowski (1)

1 Institute of Computer Science, AGH, al. Mickiewicza 30, 30-059 Cracow, Poland
2 Academic Computer Centre CYFRONET, ul. Nawojki 11, 30-950 Cracow, Poland
3 Institute for Software Technology and Parallel Systems, University of Vienna, Liechtensteinstr. 22, A-1090 Vienna, Austria

bubak@uci.agh.edu.pl, phone: 617 39 64, fax: 633 80 54

Genetic algorithms (GA) are very popular as they are easy applicable to many practical problems when methods based on domain specific knowledge are not developed yet or are not available because of the nature of a problem [1].

This paper presents parallel GA library (POOGAL) based on TOLKIEN -- C++ [2] sequential GAs library with clear and flexible architecture and extensive documentation, and on PARA++ [3] -- C++ library for streams-based message passing which is very convenient layer of abstraction between parallel GA code and underlying lower-level environments PVM and MPI.

GUI (written in Java) for POOGAL is divided into two parts. First one is responsible for collecting all necessary parameters and data for a GA optimisation and then for lunching execution. The second part processes results produced by a genetic program and displays them. We have also developed a class which is a framework of a typical GA program based on this library.

The library is portable; it was implemented on networked HP workstations as well as on the parallel computers -- HP Exemplar SPP1x00/XA. The native C++ was applied and MPI was used as an internal communication layer of the library. In order to reduce execution time of parallel GA programs on networked workstations the library is equipped with a load balancing facility.

The results of investigation of the efficiency for travelling salesman problem and for maximisation of De Jong function have demonstrated usefulness of the library.

The parallel GA library presented in this paper is an useful and flexible tool which allows quick implementation of parallel genetic algorithm programs on different parallel computer architectures. A user may easily start experimentation with a genetic program without going into details of communication, synchronisation, debugging and testing of parallel programs.

Acknowledgements.

We are grateful to Prof. Jacek Moscinski for comments. This research was partly supported by the AGH grant.

Bibliography

1 Z. Michalewicz, ``Genetic algorithms + data structures = evolution program'', Springer-Verlag, 1992.

2 A. Yiu-Cheung Tang, ``TOLKIEN: Toolkit for Genetics-Based Applications'' Department of Computer Science, The Chinese University of Hong Kong, 1993-94. (ENCORE: .../EC/GA/src/tolkien-1.5.tar.gz})

3 O. Coulaud, E. Dillon, ``PARA++: C++ bindings for message passing libraries'' in: Dongarra, J., Gengler, M., Touraucheau, B., and Vigouroux, X. (Eds), EuroPVM'95, Herme`s, Paris 1995.


Last modified July 14, 1998 (hiper98@ethz.ch)
!!! Dieses Dokument stammt aus dem ETH Web-Archiv und wird nicht mehr gepflegt !!!
!!! This document is stored in the ETH Web archive and is no longer maintained !!!