{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,1]],"date-time":"2026-04-01T06:19:16Z","timestamp":1775024356751,"version":"3.50.1"},"reference-count":21,"publisher":"MDPI AG","issue":"6","license":[{"start":{"date-parts":[[2022,3,20]],"date-time":"2022-03-20T00:00:00Z","timestamp":1647734400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Sensors"],"abstract":"<jats:p>This paper presents an implementation of the parallelization of genetic algorithms. Three models of parallelized genetic algorithms are presented, namely the Master\u2013Slave 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\u2019 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.<\/jats:p>","DOI":"10.3390\/s22062389","type":"journal-article","created":{"date-parts":[[2022,3,20]],"date-time":"2022-03-20T21:37:17Z","timestamp":1647812237000},"page":"2389","update-policy":"https:\/\/doi.org\/10.3390\/mdpi_crossmark_policy","source":"Crossref","is-referenced-by-count":16,"title":["Parallel Genetic Algorithms\u2019 Implementation Using a Scalable Concurrent Operation in Python"],"prefix":"10.3390","volume":"22","author":[{"ORCID":"https:\/\/orcid.org\/0000-0003-0957-0563","authenticated-orcid":false,"given":"Vladislav","family":"Skorpil","sequence":"first","affiliation":[{"name":"Department of Telecommunications, Brno University of Technology, Technicka 3082\/12, 616 00 Brno, Czech Republic"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-7629-6299","authenticated-orcid":false,"given":"Vaclav","family":"Oujezsky","sequence":"additional","affiliation":[{"name":"Department of Telecommunications, Brno University of Technology, Technicka 3082\/12, 616 00 Brno, Czech Republic"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"1968","published-online":{"date-parts":[[2022,3,20]]},"reference":[{"key":"ref_1","unstructured":"Tuleja, M. (2018). Genetic Algorithms\u2014Implementation of Multiprocessing. [Master\u2019s Thesis, Brno University of Technology]."},{"key":"ref_2","doi-asserted-by":"crossref","unstructured":"Skorpil, V., Oujezsky, V., Cika, P., and Tuleja, M. (2019, January 17\u201320). Parallel Processing of Genetic Algorithms in Python Language. Proceedings of the 2019 PhotonIcs Electromagnetics Research Symposium\u2014Spring (PIERS-Spring), Rome, Italy.","DOI":"10.1109\/PIERS-Spring46901.2019.9017332"},{"key":"ref_3","doi-asserted-by":"crossref","unstructured":"Skorpil, V., Oujezsky, V., and Tuleja, M. (2019, January 28\u201330). Comparison of Models of Parallelized Genetic Algorithms. Proceedings of the 2019 11th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT), Dublin, Ireland.","DOI":"10.1109\/ICUMT48472.2019.8970944"},{"key":"ref_4","doi-asserted-by":"crossref","unstructured":"Skorpil, V., Oujezsky, V., and Tuleja, M. (2020, January 7\u20139). Testing of Python Models of Parallelized Genetic Algorithms. Proceedings of the 2020 43rd International Conference on Telecommunications and Signal Processing (TSP), Milan, Italy.","DOI":"10.1109\/TSP49548.2020.9163475"},{"key":"ref_5","doi-asserted-by":"crossref","unstructured":"Skorpil, V., Oujezsky, V., and Tuleja, M. (2020, January 5\u20137). Hardware Utilization of Models of Genetic Algorithms. Proceedings of the 2020 12th International Congress on Ultra Modern Telecommunications and Control Systems and Workshops (ICUMT), Brno, Czech Republic.","DOI":"10.1109\/ICUMT51630.2020.9222422"},{"key":"ref_6","unstructured":"Tuleja, M., Oujezsky, V., and Skorpil, V. (2022, February 26). Available online: https:\/\/gitlab.com\/ouje\/ParallelGeneticPython."},{"key":"ref_7","doi-asserted-by":"crossref","first-page":"31","DOI":"10.1002\/(SICI)1099-0526(199903\/04)4:4<31::AID-CPLX5>3.0.CO;2-4","article-title":"A survey of parallel distributed genetic algorithms","volume":"4","author":"Alba","year":"1999","journal-title":"Complexity"},{"key":"ref_8","doi-asserted-by":"crossref","first-page":"647","DOI":"10.1016\/j.parco.2003.12.009","article-title":"A massively parallel architecture for distributed genetic algorithms","volume":"30","author":"Eklund","year":"2004","journal-title":"Parallel Comput."},{"key":"ref_9","unstructured":"Zaccone, G. (2015). Python Parallel Programming Cookbook, Packt."},{"key":"ref_10","unstructured":"Nath, D. (2021, May 15). Running an MPI Cluster within a LAN. Available online: https:\/\/mpitutorial.com\/tutorials\/running-an-mpi-cluster-within-a-lan\/."},{"key":"ref_11","unstructured":"(2021, May 15). Messaging That Just Works\u2014RabbitMQ. Available online: https:\/\/www.rabbitmq.com\/."},{"key":"ref_12","unstructured":"(2021, June 24). Parallel Processing and Multiprocessing in Python. Available online: https:\/\/wiki.python.org\/moin\/%20ParallelProcessing."},{"key":"ref_13","unstructured":"(2021, June 24). Celery. Available online: https:\/\/docs.celeryproject.org\/en\/stable\/."},{"key":"ref_14","unstructured":"(2021, June 24). Multiprocessing. Available online: https:\/\/docs.python.org\/3.6\/library\/multiprocessing.html."},{"key":"ref_15","doi-asserted-by":"crossref","unstructured":"Hold-Geoffroy, Y., Gagnon, O., and Parizeau, M. (2014, January 13\u201318). Once you SCOOP, no need to fork. Proceedings of the 2014 Annual Conference on Extreme Science and Engineering Discovery Environment, Atlanta, GA, USA.","DOI":"10.1145\/2616498.2616565"},{"key":"ref_16","unstructured":"Bendersky, E. (2021, June 24). Distributed Computing in Python with Multiprocessing. Available online: https:\/\/eli.thegreenplace.net\/2012\/01\/24\/distributed-computing-in-python-with-multiprocessing."},{"key":"ref_17","unstructured":"Wang, T. (2021, June 24). How to Build Docker Cluster with Celery and RabbitMQ in 10 Minutes. Available online: https:\/\/medium.com\/@tonywangcn\/how-to-build-docker-cluster-with-celery-and-rabbitmq-in-10-minutes-13fc74d21730."},{"key":"ref_18","unstructured":"(2021, May 15). PIKA\u2014Asynchronous Consumer Example. Available online: https:\/\/pika.readthedocs.io\/en\/stable\/examples\/asynchronous_consumer_example.html."},{"key":"ref_19","unstructured":"(2021, May 15). GAFT. Available online: https:\/\/gaft.readthedocs.io\/en\/latest\/."},{"key":"ref_20","first-page":"2171","article-title":"DEAP: Evolutionary Algorithms Made Easy","volume":"13","author":"Fortin","year":"2012","journal-title":"J. Mach. Learn. Res."},{"key":"ref_21","unstructured":"(2021, May 15). PIKA\u2014Asynchronous Publisher Example. Available online: https:\/\/pika.readthedocs.io\/en\/stable\/examples\/asynchronous_publisher_example.html."}],"container-title":["Sensors"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.mdpi.com\/1424-8220\/22\/6\/2389\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,10,10]],"date-time":"2025-10-10T22:39:50Z","timestamp":1760135990000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.mdpi.com\/1424-8220\/22\/6\/2389"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2022,3,20]]},"references-count":21,"journal-issue":{"issue":"6","published-online":{"date-parts":[[2022,3]]}},"alternative-id":["s22062389"],"URL":"https:\/\/doi.org\/10.3390\/s22062389","relation":{},"ISSN":["1424-8220"],"issn-type":[{"value":"1424-8220","type":"electronic"}],"subject":[],"published":{"date-parts":[[2022,3,20]]}}}