Pymoo: Multi-Objective Optimization in Python

pymoo: многокритериальная оптимизация на языке Python
Kalyanmoy Deb, Julian Blank
2020-01-01

automatic differentiationconstrained optimizationmulti-criteria decision makingmulti-objective optimizationpymoo
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.
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.

pymoo multi-objective optimization framework in Python

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
Access Type
Author Information
Authors
Kalyanmoy Deb
Julian Blank
Explore further
Open the scid.ai AI chat with a ready-made request: it will find papers on a similar topic and help build a literature review.
Find similar papers in the chat
Make a presentation
100%