Soft Computing

, Volume 14, Issue 10, pp 1091–1109

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

  • Juan Julián Merelo Guervós
  • Pedro A. Castillo
  • Enrique Alba
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

Authors and Affiliations

  • Juan Julián Merelo Guervós
    • 1
  • Pedro A. Castillo
    • 1
  • Enrique Alba
    • 2
  1. 1.Depto. Arquitectura y Tecnología de Computadores, ETS Ingenierías Informática y TelecomunicacionesUniversidad de GranadaGranadaSpain
  2. 2.Depto. Lenguajes y Ciencias de la ComputaciónUniversidad de MálagaMalaga Spain