Metodología para la incorporación de Algoritmos Poblacionales a la plataforma de optimización ECJ - Docando Vázquez, Magdiel A. (Universidad Central “Marta Abreu” de Las Villas, 2013)
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.
Keywords: Programación Lineal; Optimización; Algoritmos; Programación