Metodología para la incorporación de Algoritmos Poblacionales a la plataforma de optimización ECJ
Fecha
2013-07-04
Autores
Docando Vázquez, Magdiel A.
Título de la revista
ISSN de la revista
Título del volumen
Editor
Universidad Central “Marta Abreu” de Las Villas
Resumen
En los últimos años los algoritmos de optimización poblacionales han ganado bastante
atención entre los investigadores. Estos algoritmos son aproximados y no garantizan
encontrar el óptimo global. Sin embargo, son capaces de estimar buenas aproximaciones en
un tiempo razonable, a diferencia de los métodos directos de Programación Lineal donde el
tiempo de cómputo es en ocasiones impracticable. Los enfoques meta-heurísticos se han
aplicado a muchos problemas de aplicación relacionados con la ingeniería, diseño,
optimización de procesos industriales, en la estimación de parámetros de otros algoritmos,
etc. A pesar de su éxito, existen pocas bibliotecas que agrupen a los enfoques más
utilizados. Una de estas plataformas es ECJ (Evolutionary Computing in Java) la cual fue
especialmente concebida para agrupar a los principales métodos evolutivos, aunque más
tarde ha sido extendida a otros enfoques. Sin embargo, adicionar un nuevo algoritmo a esta
biblioteca no es trivial. En este trabajo se propone una metodología para incorporar nuevos
algoritmos poblacionales (evolutivos y basados en Inteligencia Colectiva) a la plataforma
ECJ, incrementando de esta forma su usabilidad. Adicionalmente, se explica el principio de
funcionamiento de la biblioteca, ofreciendo a los usuarios un entendimiento más natural del
esquema establecido para la interacción con la herramienta.
In recent years the population-based algorithms have gained a lot of attention among researches. Such algorithms are approximate and the does not guarantee to find a global optimum. However, they are able to estimate good approximations in a reasonable time, which is the main difference with respect to direct methods of Lineal Programming, where the execution time in some cases is unreasonable. The metaheuristic approaches have been successfully applied to an extensive range of real-world problems including engineering, design, for optimizing industrial process, for estimating some parameters in other algorithms, etc. Despite their success, there ere a few libraries for gathering the most widely used approaches. For example, ECJ (Evolutionary Computing in Java) was specially designed to gathering the main evolutionary algorithms, but latter it was extended to other approaches. Nevertheless, adding a new algorithm to ECJ it is no trivial for users. This work proposes a methodology for adding new population-based algorithms (evolutionary and Swarm Intelligence) to the framework ECJ, thus enhancing its usability. In addition, it is explained the main ideas about the library, offering to users better understanding.
In recent years the population-based algorithms have gained a lot of attention among researches. Such algorithms are approximate and the does not guarantee to find a global optimum. However, they are able to estimate good approximations in a reasonable time, which is the main difference with respect to direct methods of Lineal Programming, where the execution time in some cases is unreasonable. The metaheuristic approaches have been successfully applied to an extensive range of real-world problems including engineering, design, for optimizing industrial process, for estimating some parameters in other algorithms, etc. Despite their success, there ere a few libraries for gathering the most widely used approaches. For example, ECJ (Evolutionary Computing in Java) was specially designed to gathering the main evolutionary algorithms, but latter it was extended to other approaches. Nevertheless, adding a new algorithm to ECJ it is no trivial for users. This work proposes a methodology for adding new population-based algorithms (evolutionary and Swarm Intelligence) to the framework ECJ, thus enhancing its usability. In addition, it is explained the main ideas about the library, offering to users better understanding.
Descripción
Palabras clave
Programación Lineal, Optimización, Algoritmos, Programación