The use of evolutionary computation for optimisation is a relevant area of research in many fields of science and the industry, where complex problems are frequently encountered. As an effort to support the research in this niche, we present an extension for EvoLP.jl: the evolutionary computation playground in Julia, that includes three new operators for implementing island models for genetic algorithms. The extension enables the framework to run using the Message Passing Interface protocol, an international standard for communication in parallel architectures that is available in most high performance computing clusters today. We study the advantages of the implementation by performing a series of tests on well-known numerical optimisation benchmarks of various difficulties and on several dimensions. Both the code and the data are available in a GitHub repository. This work enables researchers to implement powerful parallel evolutionary algorithms without moving away from the high level of abstraction that the framework provides.
During NIKT'23 I presented an extension for EvoLP.jl that allows us to create island models of the genetic algorithm quickly. This is based on MPI and allows the EvoLP.jl to be run in as many cores as needed while coding only one island. You can read more about it in the GitHub repository.
We expect to ship this functionality in EvoLP.jl during Spring 2024.