Soft Computing

, Volume 14, Issue 10, pp 1091–1109

Algorithm::Evolutionary, a flexible Perl module for evolutionary computation

Authors

    • Depto. Arquitectura y Tecnología de Computadores, ETS Ingenierías Informática y TelecomunicacionesUniversidad de Granada
  • Pedro A. Castillo
    • Depto. Arquitectura y Tecnología de Computadores, ETS Ingenierías Informática y TelecomunicacionesUniversidad de Granada
  • Enrique Alba
    • Depto. Lenguajes y Ciencias de la ComputaciónUniversidad de Málaga
Original Paper

DOI: 10.1007/s00500-009-0504-3

Cite this article as:
Merelo Guervós, J.J., Castillo, P.A. & Alba, E. Soft Comput (2010) 14: 1091. doi:10.1007/s00500-009-0504-3

Abstract

This paper describes Algorithm::Evolutionary (A::E), a Perl module released under an open source license and designed for the exploration and exploitation of evolutionary algorithms. We describe the design decisions taken to enhance flexibility, how performance was improved by using several implementation tweaks, and what kind of design patterns were applied for its development. This work also tries to dispel the myth of low performance of scripting languages by comparing it with a state-of-the-art library (ECJ) written in Java. Besides, we are interested in assessing its efficiency in several possible evolutionary settings, finding out what kind of behavior we can expect, and what can be done to improve it. Applications already written using A::E are also described, along with how it can be used to create new operators. Finally, some conclusions are drawn from the design experience.

Keywords

Evolutionary algorithmsEvolutionary computationPerlCPANFrameworksDesign patterns

Copyright information

© Springer-Verlag 2009