Pymoo: Multi-Objective Optimization in Python
pymoo: многокритериальная оптимизация на языке Python
2020-01-01
SCID: 54.1/3dqcgj9q
Discuss with AI
automatic differentiationconstrained optimizationmulti-criteria decision makingmulti-objective optimizationpymoo
Figures from the paper
Abstract (AI)
Python has become the programming language of choice for research and industry projects related to data science, machine learning, and deep learning. Since optimization is an inherent part of these research fields, more optimization related frameworks have arisen in the past few years. Only a few of them support optimization of multiple conflicting objectives at a time, but do not provide comprehensive tools for a complete multi-objective optimization task. To address this issue, we have developed pymoo, a multi-objective optimization framework in Python. We provide a guide to getting started with our framework by demonstrating the implementation of an exemplary constrained multi-objective optimization scenario. Moreover, we give a high-level overview of the architecture of pymoo to show its capabilities followed by an explanation of each module and its corresponding sub-modules. The implementations in our framework are customizable and algorithms can be modified/extended by supplying custom operators. Moreover, a variety of single, multi- and many-objective test problems are provided and gradients can be retrieved by automatic differentiation out of the box. Also, pymoo addresses practical needs, such as the parallelization of function evaluations, methods to visualize low and high-dimensional spaces, and tools for multi-criteria decision making. For more information about pymoo, readers are encouraged to visit: https://pymoo.org.
Key Findings
1
Pymoo includes single-, multi-, and many-objective test problems, with gradients available through automatic differentiation out of the box.
2
Pymoo is introduced as a Python framework designed to support complete multi-objective optimization workflows, addressing gaps in existing optimization libraries.
3
The framework provides customizable and extensible algorithm implementations through user-supplied operators.
4
The framework supports practical optimization tasks through parallel function evaluations, low- and high-dimensional visualization, and multi-criteria decision-making tools.
5
The paper demonstrates pymoo using a constrained multi-objective optimization example and describes its modular architecture and components.
Research Object
pymoo multi-objective optimization framework in Python
Research Subject
the framework’s capabilities and tools for performing complete constrained multi-objective optimization, including customizable algorithms, test problems, automatic differentiation, parallel evaluation, visualization, and multi-criteria decision making
Publication Details
Publication Date
2020-01-01
Journal
Publisher
ISSN
Open access PDF
Access Type
Author Information
Download PDF
Subscribe to digest