A Software Platform for Evolutionary Computation with Pluggable Parallelism and Quality Assurance
This paper proposes the Java Evolutionary Computation Library (JECoLi), an adaptable, flexible, extensible and reliable software framework implementing metaheuristic optimization algorithms, using the Java programming language. JECoLi aims to offer a solution suited for the integration of Evolutionary Computation (EC)-based approaches in larger applications, and for the rapid and efficient benchmarking of EC algorithms in specific problems. Its main contributions are (i) the implementation of pluggable parallelization modules, independent from the EC algorithms, allowing the programs to adapt to the available hardware resources in a transparent way, without changing the base code; (ii) a flexible platform for software quality assurance that allows creating tests for the implemented features and for user-defined extensions. The library is freely available as an open-source project.
KeywordsEvolutionary Computation Open-source software Parallel Evolutionary Algorithms Software Quality
- 2.Kiczales, G.J., Lamping, J.O., Lopes, C.V., Hugunin, J.J., Hilsdale, E.A., Boyapati, C.: Aspect-oriented programming, October 15, US Patent 6,467,086 (2002)Google Scholar
- 3.Mendes, R., Rocha, I., Ferreira, E., Rocha, M.: A comparison of algorithms for the optimization of fermentation processes. In: 2006 IEEE Congress on Evolutionary Computation, Vancouver, BC, Canada, pp. 7371–7378 (July 2006)Google Scholar
- 4.Rocha, I., Maia, P., Evangelista, P., Vilaça, P., Soares, S., Pinto, J.P., Nielsen, J., Patil, K.R., Ferreira, E.C., Rocha, M.: Optflux: an open-source software platform for in silico metabolic engineering. BMC Systems Biology 4(45) (2010)Google Scholar
- 5.Rocha, M., Maia, P., Mendes, R., Ferreira, E.C., Patil, K., Nielsen, J., Rocha, I.: Natural computation meta-heuristics for the in silico optimization of microbial strains. BMC Bioinformatics 9(499) (2008)Google Scholar