A metaheuristic optimization algorithm for multimodal benchmark function in a GPU architecture
Abstract
It is well known that the numerical solution of evolutionary systems and problems based on topological design requires a high computational power. In the last years, many parallel algorithms have been developed in order to improve its performance. Among them, genetic algorithms (GAs) are one of the most popular metaheuristic algorithms inspired by Darwin's evolution theory. From the High Performance Computing (HPC) point of view, the CUDA environment is probably the parallel computing platform and programming model that more heyday has had in recent years, mainly due to the low acquisition cost of graphics processing units (GPUs) compared to a cluster with similar functional characteristics. Consequently, the number of GPU-CUDAs present in the top 500 fastest supercomputers in the world is constantly growing. In this paper, a numerical algorithm developed in the NVIDIA CUDA platform capable of solving classical optimization functions usually employed as benchmarks is presented. The obtained results demonstrate that GPUs are a valuable tool for acceleration of GAs and may enable its use in much complex problems. Also, a sensitivity analysis is carried out in order to show the relative weight of each GA operator in the whole computational cost of the algorithm.
Keywords
References
- [1] A. Aalaei, V. Kayvanfar, and H. Davoudpour. A multi-objective optimization for preemptive identical parallel machines scheduling problem. Computational and Applied Mathematics, pages doi:10.1007/s40314-015-0298-0, 2015.
- [2] M. Abouali, J. Timmermans, J. E. Castillo, and B. Z. Su. A high performance GPU implementation of surface energy balance system (SEBS) based on CUDA-C. Environmental Modelling and Software, 41:134-138, 2013.
- [3] D. H. Ackley. An empirical study of bit vector function optimization. In Lawrence Davis, editor, Genetic Algorithms and Simulated Annealing, Pitman, London, 1987, pages 170-204. 1987.
- [4] E. Alba, G. Luque, C.A.C. Coello, and E.H. Luna. Comparative study of serial and parallel heuristics used to design combinational logic circuits. Optimization Methods and Software, 22:485-509, 2007.
- [5] A. Belegundu and T. Chandrupatla. Optimization Concepts and Applications in Engineering. Prentice Hall,1999.
- [6] A. Cano, A. Zafra, and S. Ventura. Speeding up the evaluation phase of GP classification algorithms on GPUs. Soft Computing, 16(2):187-202, 2012.
- [7] S. D. Costarelli, M. A. Storti, R. R. Paz, L. D. Dalcin, and S. R. Idelsohn. GPGPU implementation of the BFECC algorithm for pure advection equations. Cluster Computing, 17(2):243-254, 2014.
- [8] A. Danowitz, K. Kelley, J. Mao, J. P. Stevenson, and M. Horowitz. CPU DB: recording microprocessor history. Acm Queue, 10(4):10-27, 2012.
- [9] D.P.S. dos Santos and J.K. Silva Formiga. Application of a genetic algorithm in orbital maneuvers. Computational and Applied Mathematics, 34:437-450, 2015.
- [10] Anthony Gregerson. Implementing fast MRI gridding on GPUs via CUDA. Nvidia Tech. Report on Medical Imaging using CUDA, 2008.
