Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Ali, S., Braun, T., Siegel, H., Maciejewski, A.: Heterogeneous computing. In: Urbana, J., Dasgupta, P. (eds.) Encyclopedia of Distributed Computing. Kluwer Academic Publishers, Norwell, MA (2002)
Ashlock, D.: Evolutionary Computation for Modeling and Optimization. Springer, New York (2006)
Baker, J.E.: Reducing bias and inefficiency in the selection algorithm. In: Genetic algorithms and their applications: proceedings of the second International Conference on Genetic Algorithms, pp. 14–21. L. Erlbaum Associates Inc., Hillsdale, NJ, USA (1987)
Bertacco, L., Brunetta, L., Fischetti, M.: The linear ordering problem with cumulative costs. Eur. J. Oper. Res. 127(3), 1345–1357 (2008)
Braun, T.D., Siegel, H.J., Beck, N., Bölöni, L.L., Maheswaran, M., Reuther, A.I.,Robertson, J.P., Theys, M.D., Yao, B., Hensgen, D., Freund, R.F.: A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J. Parallel Distr. Comput. 61, 810–837 (2001)
Campos, V., Glover, F., Laguna, M., Martí, R.: An experimental evaluation of a scatter search for the linear ordering problem. J. Global Optim. 21(4), 397–414 (2001)
Carretero, J., Xhafa, F., Abraham, A.: Genetic algorithm based schedulers for grid computing systems. Int. J. Innovat. Comput. Inform. Contr. 3(7) (2007)
Das, S., Abraham, A., Konar, A.: Automatic hard clustering using improved differential evolution algorithm. In: Metaheuristic Clustering. Studies in Computational Intelligence, vol. 178, pp. 137–174. Springer, Berlin/Heidelberg (2009)
Desell, T.J., Anderson, D.P., Magdon-Ismail, M., Newberg, H.J., Szymanski, B.K., Varela, C.A.: An analysis of massively distributed evolutionary algorithms. In: IEEE Congress on Evolutionary Computation, Barcelona, Spain, pp. 1–8, 18–23 July 2010
Engelbrecht, A.: Computational Intelligence: An Introduction, 2nd edn. Wiley, New York, NY, USA (2007)
Fernandez-Baca, D.: Allocating modules to processors in a distributed system. IEEE Trans. Software Eng. 15(11), 1427–1436 (1989)
Fujimoto, N., Tsutsui, S.: A highly-parallel TSP solver for a GPU computing platform. In: Dimov, I., Dimova, S., Kolkovska, N. (eds.) Numerical Methods and Applications. Lecture Notes in Computer Science, vol. 6046, pp. 264–271. Springer, Berlin/Heidelberg (2011)
Huang, G., Lim, A.: Designing a hybrid genetic algorithm for the linear ordering problem. In: GECCO 2003, Springer, Heidelberg, pp. 1053–1064 (2003)
Izakian, H., Abraham, A., Snásel, V.: Comparison of heuristics for scheduling independent tasks on heterogeneous distributed environments. In: Computational Sciences and Optimization, 2009. International Joint Conference on, vol. 1, pp. 8–12 (2009)
Krömer, P., Abraham, A., Snášel, V., Platoš, J., Izakian, H.: Differential evolution for scheduling independent tasks on heterogeneous distributed environments. In: Advances in Intelligent Web Mastering - 2. Advances in Soft Computing, vol. 67, pp. 127–134. Springer, Berlin/Heidelberg (2010)
Krömer, P., Platoš, J., Snásel, V.: Differential evolution for the linear ordering problem implemented on CUDA. In: Smith, A.E. (ed.) Proceedings of the 2011 IEEE Congress on Evolutionary Computation. IEEE Computational Intelligence Society, pp. 790–796. IEEE Press, New Orleans, USA (2011)
Krömer, P., Snásel, V., Platoš, J., Abraham, A.: Many-threaded implementation of differential evolution for the CUDA platform. In: Krasnogor, N., Lanzi, P.L. (eds.) GECCO, ACM, pp. 1595–1602 (2011)
Krömer, P., Snásel, V., Platoš, J., Abraham, A., Ezakian, H.: Evolving schedules of independent tasks by differential evolution. In: Caballé, S., Xhafa, F., Abraham, A. (eds.) Intelligent Networking, Collaborative Systems and Applications. Studies in Computational Intelligence, vol. 329, pp. 79–94. Springer, Berlin/Heidelberg (2011)
Krömer, P., Snášel, V., Platoš, J., Abraham, A.: Optimization of turbo codes by differential evolution and genetic algorithms. In: HIS ’09: Proceedings of the 2009 Ninth International Conference on Hybrid Intelligent Systems. IEEE Computer Society, Washington, DC, USA, pp. 376–381, 2009
Krömer, P., Snášel, V., Platoš, J., Abraham, A., Izakian, H.: Scheduling independent tasks on heterogeneous distributed environments by differential evolution. In: Proceedings of the International Conference on Intelligent Networking and Collaborative Systems, INCOS ’09. IEEE Computer Society, Barcelona, Spain, pp. 170–174, 2009
Langdon, W.B., Banzhaf, W.: A SIMD interpreter for genetic programming on GPU graphics cards. In: O’Neill, M., Vanneschi, L., Gustafson, S., Esparcia Alcázar, A., De Falco, I., Della Cioppa, A., Tarantino, E. (eds.) Genetic Programming. Lecture Notes in Computer Science, vol. 4971, pp. 73–85. Springer, Berlin/Heidelberg (2008)
Martí, R., Reinelt, G.: The Linear Ordering Problem: Exact and Heuristic Methods in Combinatorial Optimization. Applied Mathematical Sciences, vol. 175. Springer, Heidelberg; Dordrecht; London; New York (2011)
Martí, R., Reinelt, G., Duarte, A.: A benchmark library and a comparison of heuristic methods for the linear ordering problem. Comput. Optim. Appl. 51(3), 1–21 (2011)
Mitchell, J.E., Borchers, B.: Solving linear ordering problems with a combined interior point/simplex cutting plane algorithm. Technical report, Mathematical Sciences, Rensselaer Polytechnic Institute, Troy, NY 12180–3590 (1997)
Munir, E., Li, J.Z., Shi, S.F., Rasool, Q.: Performance analysis of task scheduling heuristics in grid. In: Machine Learning and Cybernetics, 2007 International Conference on, vol. 6, pp. 3093–3098 (2007)
NVIDIA. NVIDIA CUDA Programming Guide and link. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf. Accessed 27 July 2013
Page, A.J., Naughton, T.J.: Framework for task scheduling in heterogeneous distributed computing using genetic algorithms. Artif. Intell. Rev. 24, 137–146 (2004)
Pospíchal, P., Jaroš, J., Schwarz, J.: Parallel genetic algorithm on the CUDA architecture. In: Applications of Evolutionary Computation, LNCS 6024, pp. 442–451. Springer, Heidelberg (2010)
Price, K.V., Storn, R.M., Lampinen, J.A.: Differential Evolution: A Practical Approach to Global Optimization. Natural Computing Series. Springer, Berlin, Germany (2005)
Proakis, J.G.: Digital Communications, 4th edn. McGraw-Hill, New York (2001)
Reinelt, G.: The Linear Ordering Problem: Algorithms and Applications. Research and Exposition in Mathematics, vol. 8. Heldermann Verlag, Berlin (1985)
Ritchie, G., Levine, J.: A hybrid ant algorithm for scheduling independent jobs in heterogeneous computing environments. In: Proceedings of the 23rd Workshop of the UK Planning and Scheduling Special Interest Group (2004)
Robilliard, D., Marion, V., Fonlupt, C.: High performance genetic programming on GPU. In: Proceedings of the 2009 workshop on Bio-inspired algorithms for distributed systems, BADS ’09, pp. 85–94. ACM, New York, NY, USA (2009)
Roy, S., Izlam, S.M., Ghosh, S., Das, S., Abraham, A., Krömer, P.: A modified differential evolution for autonomous deployment and localization of sensor nodes. In: N. Krasnogor, P.L. Lanzi (eds.) GECCO (Companion), pp. 235–236. ACM, New York, NY, USA (2011)
Schiavinotto, T., Stützle, T.: Search space analysis for the linear ordering problem. In: Raidl, G.R., Meyer, J.A., Middendorf, M., Cagnoni, S., Cardalda, J.J.R., Corne, D., Gottlieb, J., Guillot, A., Hart, E., Johnson, C.G., Marchiori, E. (eds.) Applications of Evolutionary Computing. Lecture Notes in Computer Science, vol. 2611, pp. 322–333. Springer, Berlin, Germany (2003)
Schiavinotto, T., Stützle, T.: The linear ordering problem: Instances, search space analysis and algorithms. J. Math. Model. Algorithm. 3(4), 367–402 (2004)
Snášel, V., Krömer, P., Platoš, J.: Differential evolution and genetic algorithms for the linear ordering problem. In: Velásquez, J.D., Ríos, S.A., Howlett, R.J., Jain, L.C. (eds.) KES (1). Lecture Notes in Computer Science, vol. 5711, pp. 139–146. Springer, Berlin, Heidelberg (2009)
Storn, R.: Differential evolution design of an IIR-filter. In: Proceeding of the IEEE Conference on Evolutionary Computation ICEC, pp. 268–273. IEEE Press, Nagoya, Japan (1996)
Storn, R., Price, K.: Differential Evolution: A Simple and Efficient Adaptive Scheme for Global Optimization over Continuous Spaces. Berkeley, CA, Tech. Rep. (1995)
de Veronese, L., Krohling, R.: Differential evolution algorithm on the GPU with C-CUDA. In: Evolutionary Computation (CEC), 2010 IEEE Congress on, pp. 1–7 (2010)
YarKhan, A., Dongarra, J.: Experiments with scheduling using simulated annealing in a grid environment. In: GRID ’02: Proceedings of the Third International Workshop on Grid Computing, pp. 232–242. Springer, London, UK (2002)
Zhu, W.: Massively parallel differential evolution—pattern search optimization with graphics hardware acceleration: an investigation on bound constrained optimization problems. J. Global Optim. 50(3), 417–437 (2011)
Zhu, W., Li, Y.: GPU-accelerated differential evolutionary Markov chain Monte Carlo method for multi-objective optimization over continuous space. In: Proceeding of the 2nd Workshop on Bio-inspired Algorithms for Distributed Systems, BADS ’10, pp. 1–8. ACM, New York, NY, USA (2010)
Acknowledgements
This work was supported by the European Regional Development Fund in the IT4Innovations Centre of Excellence project (CZ.1.05/1.1.00/02.0070) and by the Bio-inspired Methods: Research, Development, and Knowledge Transfer project, reg. no. CZ.1.07/2.3.00/20.0073 funded by the Operational Programme Education for Competitiveness, co-financed by ESF and the state budget of the Czech Republic.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Krömer, P., Platoš, J., Snášel, V., Abraham, A. (2013). Many-Threaded Differential Evolution on the GPU. In: Tsutsui, S., Collet, P. (eds) Massively Parallel Evolutionary Computation on GPGPUs. Natural Computing Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37959-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-642-37959-8_7
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37958-1
Online ISBN: 978-3-642-37959-8
eBook Packages: Computer ScienceComputer Science (R0)