Premium
An empirical time analysis of evolutionary algorithms as C programs
Author(s) -
Nesmachnow Sergio,
Luna Francisco,
Alba Enrique
Publication year - 2015
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.2217
Subject(s) - evolutionary algorithm , computer science , evolutionary programming , algorithm , code (set theory) , population , simple (philosophy) , evolutionary computation , mathematical optimization , theoretical computer science , mathematics , machine learning , set (abstract data type) , programming language , philosophy , demography , epistemology , sociology
SUMMARY This article presents an empirical study devoted to characterize the computational efficiency behavior of an evolutionary algorithm (usually called canonical) as a C program. The study analyzes the effects of several implementation decisions on the execution time of the resulting evolutionary algorithm. The implementation decisions studied include: memory utilization (using dynamic vs. static variables and local vs. global variables), methods for ordering the population, code substitution mechanisms, and the routines for generating pseudorandom numbers within the evolutionary algorithm. The results obtained in the experimental analysis allow us to conclude that significant improvements in efficiency can be gained by applying simple guidelines to best program an evolutionary algorithm in C. Copyright © 2013 John Wiley & Sons, Ltd.