Los algoritmos evolutivos constituyen una técnica general de resolución de problemas de búsqueda y optimización inspirada en la teoría de la evolución de las especies y la selección natural. Estos algoritmos permiten abordar problemas complejos que surgen en las ingenierías y los campos científicos: problemas de planificación de tareas, horarios, tráfico aéreo y ferroviario, búsqueda de caminos óptimos, optimización de funciones, etc. Con este libro hemos querido aportar un enfoque práctico al estudio de los algoritmos evolutivos, que es fundamental para aplicarlos a problemas reales de cualquier disciplina del conocimiento. El libro tiene dos partes: la primera, en la que se describen los algoritmos; y la segunda en la que se proponen numerosos proyectos y se resuelven empleando estas técnicas.
Los algoritmos evolutivos presentan una estructura general que puede aplicarse a los distintos problemas, facilitando así enormemente las tareas de diseño e implementación. El único requisito de un usuario que desee aplicar esta técnica para resolver un problema concreto es saber programar en cualquier lenguaje de propósito general en el que codificaría el algoritmo evolutivo. Sin embargo, para obtener buenos resultados con estos algoritmos es necesario conocerlos con detalle, ya que dentro del esquema general de un algoritmo evolutivo hay que elegir múltiples componentes y parámetros, de los que va a depender la calidad del resultado y la eficiencia del algoritmo. El conocimiento de la elección más adecuada en cada caso, que a menudo depende de detalles sutiles del problema considerado, sólo se consigue con la práctica. Esta idea nos ha llevado a proponer este libro, que consideramos adecuado para cualquier ingeniero o licenciado con conocimientos básicos de programación.