Many-Threaded Differential Evolution on the GPU

Differential evolution (DE) is an efficient populational meta-heuristic optimization algorithm that has been applied to many difficult real-world problems. Due to the relative simplicity of its operations and real-encoded data structures, it is very suitable for a parallel implementation on multicore systems and on the GPUs that nowadays reach peak performance of hundreds and thousands of giga FLOPS (floating-point operations per second). In this chapter, we present a simple yet highly parallel implementation of differential evolution on the GPU using the CUDA (Compute Unified Device Architecture) architecture and demonstrate its performance on selected test problems.

[1]  J. Mitchell,et al.  Solving Linear Ordering Problems with a Combined Interior Point/Simplex Cutting Plane Algorithm , 2000 .

[2]  Jack J. Dongarra,et al.  Experiments with Scheduling Using Simulated Annealing in a Grid Environment , 2002, GRID.

[3]  Weihang Zhu,et al.  Massively parallel differential evolution—pattern search optimization with graphics hardware acceleration: an investigation on bound constrained optimization problems , 2011, J. Glob. Optim..

[4]  Rajkumar Roy,et al.  Advances in Soft Computing , 2018, Lecture Notes in Computer Science.

[5]  Renato A. Krohling,et al.  Differential evolution algorithm on the GPU with C-CUDA , 2010, IEEE Congress on Evolutionary Computation.

[6]  James E. Baker,et al.  Reducing Bias and Inefficienry in the Selection Algorithm , 1987, ICGA.

[7]  Yaohang Li,et al.  GPU-accelerated differential evolutionary Markov Chain Monte Carlo method for multi-objective optimization over continuous space , 2010, BADS '10.

[8]  Václav Snásel,et al.  Differential evolution for the linear ordering problem implemented on CUDA , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[9]  Jan Platos,et al.  Differential Evolution for Scheduling Independent Tasks on Heterogeneous Distributed Environments , 2010 .

[10]  Daniel A. Ashlock,et al.  Evolutionary computation for modeling and optimization , 2005 .

[11]  William B. Langdon,et al.  A SIMD Interpreter for Genetic Programming on GPU Graphics Cards , 2007, EuroGP.

[12]  Daniel P. Robinson,et al.  A primal-dual augmented Lagrangian , 2010, Computational Optimization and Applications.

[13]  John Levine,et al.  A hybrid ant algorithm for scheduling independent jobs in heterogeneous computing environments , 2004 .

[14]  Thomas Stützle,et al.  The linear ordering problem: Instances, search space analysis and algorithms , 2004, J. Math. Model. Algorithms.

[15]  Gerhard Reinelt,et al.  The linear ordering problem: algorithms and applications , 1985 .

[16]  Andrew Lim,et al.  Designing A Hybrid Genetic Algorithm for the Linear Ordering Problem , 2003, GECCO.

[17]  Andrew J. Page,et al.  Framework for Task Scheduling in Heterogeneous Distributed Computing Using Genetic Algorithms , 2005, Artificial Intelligence Review.

[18]  Václav Snásel,et al.  Many-threaded implementation of differential evolution for the CUDA platform , 2011, GECCO '11.

[19]  J. Craggs Applied Mathematical Sciences , 1973 .

[20]  R. Storn,et al.  Differential Evolution: A Practical Approach to Global Optimization (Natural Computing Series) , 2005 .

[21]  David P. Anderson,et al.  An analysis of massively distributed evolutionary algorithms , 2010, IEEE Congress on Evolutionary Computation.

[22]  Fatos Xhafa,et al.  Genetic algorithm based schedulers for grid computing systems , 2007 .

[23]  David Fernández-Baca,et al.  Allocating Modules to Processors in a Distributed System , 1989, IEEE Trans. Software Eng..

[24]  A. Engelbrecht Computational Intelligence: An Introduction, Second Edition , 2007 .

[25]  Rainer Storn,et al.  Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces , 1997, J. Glob. Optim..

[26]  Václav Snásel,et al.  Comparison of Heuristics for Scheduling Independent Tasks on Heterogeneous Distributed Environments , 2009, 2009 International Joint Conference on Computational Sciences and Optimization.

[27]  Ajith Abraham,et al.  A modified differential evolution for autonomous deployment and localization of sensor nodes , 2011, GECCO '11.

[28]  Gerhard Reinelt,et al.  A benchmark library and a comparison of heuristic methods for the linear ordering problem , 2012, Comput. Optim. Appl..

[29]  Václav Snásel,et al.  Differential Evolution and Genetic Algorithms for the Linear Ordering Problem , 2009, KES.

[30]  Naim Dahnoun,et al.  Studies in Computational Intelligence , 2013 .

[31]  Fred W. Glover,et al.  An Experimental Evaluation of a Scatter Search for the Linear Ordering Problem , 2001, J. Glob. Optim..

[32]  P. McMullen THE LINEAR ORDERING PROBLEM: ALGORITHMS AND APPLICATIONS (Research and Exposition in Mathematics 8) , 1987 .

[33]  Fatos Xhafa,et al.  Intelligent Networking, Collaborative Systems and Applications , 2011, Intelligent Networking, Collaborative Systems and Applications.

[34]  Matteo Fischetti,et al.  The Linear Ordering Problem with cumulative costs , 2008, Eur. J. Oper. Res..

[35]  Amit Konar,et al.  Automatic Hard Clustering Using Improved Differential Evolution Algorithm , 2009 .

[36]  Cyril Fonlupt,et al.  High performance genetic programming on GPU , 2009, BADS '09.

[37]  Gerhard Reinelt,et al.  The Linear Ordering Problem: Exact and Heuristic Methods in Combinatorial Optimization , 2011 .

[38]  Rainer Storn,et al.  Differential evolution design of an IIR-filter , 1996, Proceedings of IEEE International Conference on Evolutionary Computation.

[39]  Jian-Zhong Li,et al.  Performance Analysis of Task Scheduling Heuristics in Grid , 2007, 2007 International Conference on Machine Learning and Cybernetics.

[40]  Shigeyoshi Tsutsui,et al.  A Highly-Parallel TSP Solver for a GPU Computing Platform , 2010, NMA.

[41]  Andries P. Engelbrecht,et al.  Computational Intelligence: An Introduction , 2002 .

[42]  Václav Snásel,et al.  Optimization of Turbo Codes by Differential Evolution and Genetic Algorithms , 2009, 2009 Ninth International Conference on Hybrid Intelligent Systems.

[43]  Rolf Drechsler,et al.  Applications of Evolutionary Computing, EvoWorkshops 2008: EvoCOMNET, EvoFIN, EvoHOT, EvoIASP, EvoMUSART, EvoNUM, EvoSTOC, and EvoTransLog, Naples, Italy, March 26-28, 2008. Proceedings , 2008, EvoWorkshops.

[44]  G. Marchuk,et al.  Numerical methods and applications , 1995 .

[45]  Jirí Jaros,et al.  Parallel Genetic Algorithm on the CUDA Architecture , 2010, EvoApplications.

[46]  Václav Snásel,et al.  Evolving Schedules of Independent Tasks by Differential Evolution , 2011, Intelligent Networking, Collaborative Systems and Applications.

[47]  Thomas Stützle,et al.  Search Space Analysis of the Linear Ordering Problem , 2003, EvoWorkshops.

[48]  R. Storn,et al.  Differential Evolution - A simple and efficient adaptive scheme for global optimization over continuous spaces , 2004 .

[49]  Václav Snásel,et al.  Scheduling Independent Tasks on Heterogeneous Distributed Environments by Differential Evolution , 2009, 2009 International Conference on Intelligent Networking and Collaborative Systems.

[50]  Ladislau Bölöni,et al.  A Comparison of Eleven Static Heuristics for Mapping a Class of Independent Tasks onto Heterogeneous Distributed Computing Systems , 2001, J. Parallel Distributed Comput..

[51]  A. A. Maciejewski,et al.  Heterogeneous Computing , 2002 .

[52]  John G. Proakis,et al.  Digital Communications , 1983 .