Department of Telecommunications, Brno University of Technology, Technicka 3082/12, 616 00 Brno, Czech Republic.
Sensors (Basel). 2022 Mar 20;22(6):2389. doi: 10.3390/s22062389.
This paper presents an implementation of the parallelization of genetic algorithms. Three models of parallelized genetic algorithms are presented, namely the Master-Slave genetic algorithm, the Coarse-Grained genetic algorithm, and the Fine-Grained genetic algorithm. Furthermore, these models are compared with the basic serial genetic algorithm model. Four modules, Multiprocessing, Celery, PyCSP, and Scalable Concurrent Operation in Python, were investigated among the many parallelization options in Python. The Scalable Concurrent Operation in Python was selected as the most favorable option, so the models were implemented using the Python programming language, RabbitMQ, and SCOOP. Based on the implementation results and testing performed, a comparison of the hardware utilization of each deployed model is provided. The results' implementation using SCOOP was investigated from three aspects. The first aspect was the parallelization and integration of the SCOOP module into the resulting Python module. The second was the communication within the genetic algorithm topology. The third aspect was the performance of the parallel genetic algorithm model depending on the hardware.
本文提出了遗传算法的并行化实现。本文提出了三种并行遗传算法模型,即主从遗传算法、粗粒度遗传算法和细粒度遗传算法。此外,还将这些模型与基本的串行遗传算法模型进行了比较。在 Python 中的许多并行化选项中,研究了多处理、Celery、PyCSP 和 Python 中的可扩展并发操作等四个模块。选择 Python 中的可扩展并发操作作为最有利的选项,因此使用 Python 编程语言、RabbitMQ 和 SCOOP 实现了这些模型。根据实现结果和测试,提供了每个部署模型的硬件利用率比较。使用 SCOOP 进行了结果实现的三个方面的调查。第一个方面是将 SCOOP 模块并行化并集成到生成的 Python 模块中。第二个方面是遗传算法拓扑内的通信。第三个方面是根据硬件性能的并行遗传算法模型。