A scalable parallel implementation of evolutionary algorithms for multi-objective optimization on GPUs

Multi-Objective Evolutionary Algorithms(MOEAs) have been gaining increased popularity and usage in different fields of engineering. For real world large scale optimization problems with large variable/search space, using a large population of individuals in proportion to the size of search space is ubiquitous. Solving such problems with current state of the art algorithms like NSGA-II [1] is pervasive. The strength of NSGA-II lies in its non-dominance selection procedure and non-dominance based sorting of a population of individuals. Although, the non-dominated sort is computationally efficient for a small population (102 - 103) of solutions but becomes computationally expensive and slow for a large population (104 - 105) of solutions. Also, various archive based algorithms [2], [3] have been proposed in past which make use of a large population apart from the principal population. Therefore, there is a huge need for a scalable and parallel implementation of NSGA-II. With advent of consumer level Graphics processing units(GPUs) and advancement of CUDA framework we try to fill this research gap using GPGPU architecture. In this paper we propose a parallel GPU based implementation of NSGA-II with major focus on non-dominated sorting. The proposed approach can be easily coupled with the original form of NSGA-II to solve real world problems using large populations.

[1]  Wolfgang Banzhaf,et al.  Fast Genetic Programming on GPUs , 2007, EuroGP.

[2]  Marco Laumanns,et al.  Scalable Test Problems for Evolutionary Multiobjective Optimization , 2005, Evolutionary Multiobjective Optimization.

[3]  Erick Cantú-Paz,et al.  On Random Numbers and the Performance of Genetic Algorithms , 2002, GECCO.

[4]  Kalyanmoy Deb,et al.  Multi-objective Genetic Algorithms: Problem Difficulties and Construction of Test Problems , 1999, Evolutionary Computation.

[5]  Tapabrata Ray,et al.  Constrained many-objective optimization: A way forward , 2009, 2009 IEEE Congress on Evolutionary Computation.

[6]  Erick Cantú-Paz,et al.  A Survey of Parallel Genetic Algorithms , 2000 .

[7]  Marco Laumanns,et al.  SPEA2: Improving the strength pareto evolutionary algorithm , 2001 .

[8]  Enrique Alba,et al.  A survey of parallel distributed genetic algorithms , 1999, Complex..

[9]  Nicolae Paraschiv,et al.  The influence of random numbers generators upon Genetic Algorithms , 2013, 2013 IEEE INISTA.

[10]  Qingfu Zhang,et al.  Multiobjective evolutionary algorithms: A survey of the state of the art , 2011, Swarm Evol. Comput..

[11]  Kalyanmoy Deb,et al.  Parallelization of binary and real-coded genetic algorithms on GPU using CUDA , 2010, IEEE Congress on Evolutionary Computation.

[12]  Éva Tardos,et al.  Algorithm design , 2005 .

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

[14]  Lee W. Howes Efficient Random Number Generation and Application Using , 2007 .

[15]  Marc Parizeau,et al.  Revisiting the NSGA-II crowding-distance computation , 2013, GECCO '13.

[16]  Wen-mei W. Hwu,et al.  GPU Computing Gems Emerald Edition , 2011 .

[17]  Wolfgang Banzhaf,et al.  Deployment of CPU and GPU-based genetic programming on heterogeneous devices , 2009, GECCO '09.

[18]  Enrique Alba,et al.  A survey of parallel distributed genetic algorithms , 1999 .

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

[20]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[21]  Ole Tange,et al.  GNU Parallel: The Command-Line Power Tool , 2011, login Usenix Mag..

[22]  William B. Langdon,et al.  A fast high quality pseudo random number generator for nVidia CUDA , 2009, GECCO '09.

[23]  Riccardo Poli,et al.  Parallel genetic algorithm taxonomy , 1999, 1999 Third International Conference on Knowledge-Based Intelligent Information Engineering Systems. Proceedings (Cat. No.99TH8410).

[24]  Ujjwal Maulik,et al.  A Simulated Annealing-Based Multiobjective Optimization Algorithm: AMOSA , 2008, IEEE Transactions on Evolutionary Computation.

[25]  Qingfu Zhang,et al.  Objective Reduction in Many-Objective Optimization: Linear and Nonlinear Algorithms , 2013, IEEE Transactions on Evolutionary Computation.

[26]  Martin J. Oates,et al.  PESA-II: region-based selection in evolutionary multiobjective optimization , 2001 .

[27]  Tien-Tsin Wong,et al.  Generating massive high-quality random numbers using GPU , 2008, 2008 IEEE Congress on Evolutionary Computation (IEEE World Congress on Computational Intelligence).

[28]  Xavier Llorà,et al.  Scaling Genetic Algorithms Using MapReduce , 2009, 2009 Ninth International Conference on Intelligent Systems Design and Applications.

[29]  Qingfu Zhang,et al.  An External Archive Guided Multiobjective Evolutionary Algorithm Based on Decomposition for Combinatorial Optimization , 2015, IEEE Transactions on Evolutionary Computation.

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

[31]  David W. Corne,et al.  Approximating the Nondominated Front Using the Pareto Archived Evolution Strategy , 2000, Evolutionary Computation.