Abstract

Parallelizing population-based metaheuristics – such as Evolutionary Algorithms (EAs) – on a cluster computing environment is a viable approach for enhancing the computational performance of metaheuristics. Generally, there are three basic models to parallelize EAs, namely the Global, the Coarse-Grained and the Fine-Grained models whereby each one has advantages and disadvantages. Combining two or more of them in a hierarchical form reduces the disadvantages of each approach and allows users to fully utilize the advantages. In this article, a generic, scalable and flexible software architecture which supports users in combining the basic parallelization models of EAs with minimum adaptation effort is presented. This architecture based on microservices, container virtualization and the publish/subscribe messaging paradigm decouples the basic building blocks of the algorithms by encapsulating them in separate services. This allows users to easily combine the building blocks to form combinations of the parallelization models of EAs. An extensive evaluation exploring the scalability and applicability of the software architecture is performed by combining the Coarse-Grained Model with the Global Model for solving the unit commitment optimization problem. Four communication topologies among the islands with homogeneous/heterogeneous EA configurations and synchronous/asynchronous migration policies are applied and compared. For evaluation, the EA GLEAM (General Learning Evolutionary Algorithm and Method) is used. This article discusses the architectural concepts of our approach and presents main results of the evaluation. The evaluation results show that the new software architecture has high potential for scaling up the optimization speed of complex optimization problems when metaheuristics are used.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call