Extensible framework for execution of distributed genetic algorithms on grid clusters
Dobromir Georgiev, Emanouil I. Atanassov · 2014
Genetic algorithms are effective metaheuristic optimization methods, based on the principles of natural selection and genetics. Although they are able to find adequate solutions in acceptable time for small problems, their execution time increases rapidly for problems with large search space and complex fitness landscape. Computational grids provide an appropriate platform for the execution of parallel genetic algorithms. However, when using multiple grid clusters for a single computational task, one has to comply with a number of technical and administrative limitations. In this paper we describe a new implementation of GA, written in C++11, which provides a mechanism for parallel execution and an extensible programming interface. Our framework utilizes MPI, ZeroMQ and the newest generic programming facilities of C++, enabling the execution of a distributed GA on multiple grid clusters. Various tests were performed on clusters from the European Grid Infrastructure, which prove the efficiency of our approach.