Review of Software Tools for Working with Evolutionary and Swarm Optimization Methods - Aleksei Nikolashkin; Nikolay Ershov (Современные информационные технологии и IT-образование)
The article is devoted to a review of software tools that allow applying, developing and investigating evolutionary and swarm optimization methods for solving complex discrete and continuous optimization problems. The article considers various types and kinds of optimization problems arising in applied problems, including multi-objective optimization problems. The concept of a population optimization algorithm is formalized and the main classes of algorithms of this type are considered, including evolutionary algorithms, swarm algorithms and multiparticle algorithms. The results of a detailed analysis of thirteen modern most popular frameworks for working with evolutionary and swarm optimization algorithms are presented. The main goal of the analysis is to study the capabilities provided by these software tools for creating, customizing and using population optimization algorithms for solving applied optimization problems. In particular, the types of optimization problems supported by the considered software tools, as well as the presence of built-in testing tools and sets of test optimization problems are analyzed. A special section of the study is devoted to the analysis of support of parallel computing by frameworks under consideration, since it is known that the use of population algorithms, on the one hand, is computationally expensive, and on the other hand, such algorithms have significant potential for parallelization. Based on the results of the review, recommendations are given on the use of the considered software tools in various scenarios of their practical use.