PUGACE, a cellular Evolutionary Algorithm framework on GPUs

Metaheuristics are used for solving optimization problems since they are able to compute near optimal solutions in reasonable times. However, solving large instances it may pose a challenge even for these techniques. For this reason, metaheuristics parallelization is an interesting alternative in order to decrease the execution time and to provide a different search pattern. In the last years, GPUs have evolved at a breathtaking pace. Originally, they were specific-purpose devices, but in a few years they became general-purpose shared memory multiprocessors. Nowadays, these devices are a powerful low cost platform for implementing parallel algorithms. In this paper, we present a preliminary version of PUGACE, a cellular Evolutionary Algorithm framework implemented on GPU. PUGACE was designed with the goal of providing a tool for easily developing this kind of algorithms. The experimental results when solving the Quadratic Assignment Problem are presented to show the potential of the proposed framework.

[1]  Nair Maria Maia de Abreu,et al.  A survey for the quadratic assignment problem , 2007, Eur. J. Oper. Res..

[2]  Tien-Tsin Wong,et al.  Parallel Hybrid Genetic Algorithms on Consumer-Level Graphics Hardware , 2006, 2006 IEEE International Conference on Evolutionary Computation.

[3]  Zhong-Xian Chi,et al.  An Efficient Fine-grained Parallel Genetic Algorithm Based on GPU-Accelerated , 2007, 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007).

[4]  Man Leung Wong,et al.  Parallel multi-objective evolutionary algorithms on graphics processing units , 2009, GECCO '09.

[5]  Pat Hanrahan,et al.  Brook for GPUs: stream computing on graphics hardware , 2004, SIGGRAPH 2004.

[6]  Tien-Tsin Wong,et al.  Parallel evolutionary algorithms on graphics processing unit , 2005, 2005 IEEE Congress on Evolutionary Computation.

[7]  Wolfgang Banzhaf,et al.  Fast Genetic Programming and Artificial Developmental Systems on GPUs , 2007, 21st International Symposium on High Performance Computing Systems and Applications (HPCS'07).

[8]  David Tarditi,et al.  Accelerator: using data parallelism to program GPUs for general-purpose uses , 2006, ASPLOS XII.

[9]  Zhigeng Pan,et al.  Parallel Genetic Algorithms on Programmable Graphics Hardware , 2005, ICNC.

[10]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[11]  Linlin Liu,et al.  A Parallel Immune Algorithm Based on Fine-Grained Model with GPU-Acceleration , 2009, 2009 Fourth International Conference on Innovative Computing, Information and Control (ICICIC).

[12]  Jeng-Shyang Pan,et al.  Fourth International Conference on Innovative, Computing, Information and Control , 2009 .

[13]  Wolfgang Banzhaf,et al.  Genetic programming on GPUs for image processing , 2008, Int. J. High Perform. Syst. Archit..

[14]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[15]  Franz Rendl,et al.  QAPLIB – A Quadratic Assignment Problem Library , 1997, J. Glob. Optim..

[16]  Goldberg,et al.  Genetic algorithms , 1993, Robust Control Systems with Genetic Algorithms.

[17]  Nicolas Lachiche,et al.  Coarse grain parallelization of evolutionary algorithms on GPGPU cards with EASEA , 2009, GECCO.

[18]  Shigeyoshi Tsutsui,et al.  Solving quadratic assignment problems by genetic algorithms with GPU computation: a case study , 2009, GECCO '09.

[19]  Morgan Kaufmann,et al.  A Massively Distributed Parallel Genetic Algorithm (mdpGA , 1992 .

[20]  George D. Magoulas,et al.  Strategies to minimise the total run time of cyclic graph based genetic programming with GPUs , 2009, GECCO '09.

[21]  Enrique Alba,et al.  MALLBA: a software library to design efficient optimisation algorithms , 2007 .

[22]  Tien-Tsin Wong,et al.  Implementation of parallel genetic algorithms on graphics processing units , 2009 .