Pymoo: Multi-Objective Optimization in Python

Pymoo: Multi-Objective Optimization in Python
复制标题

DOI:
10.1109/access.2020.2990567
复制
发表时间:
2020-01-01
期刊:
影响因子:
3.9
通讯作者:
Deb, Kalyanmoy
Deb, Kalyanmoy
中科院分区:
计算机科学3区
文献类型:
--
作者:
Blank, Julian;Deb, Kalyanmoy

文献摘要

被引文献

相似文献

Python已经成为与数据科学、机器学习和深度学习相关的研究和行业项目的首选编程语言。由于优化是这些研究领域的固有组成部分,因此在过去几年中出现了更多与优化相关的框架。其中只有少数支持同时优化多个相互冲突的目标,但不为完整的多目标优化任务提供全面的工具。为了解决这个问题,我们开发了pymoo,一个Python中的多目标优化框架。我们通过演示示例性约束多目标优化场景的实现,为开始使用我们的框架提供指南。此外,我们对pymoo的体系结构进行了高级概述,以展示其功能,然后对每个模块及其相应的子模块进行了解释。我们框架中的实现是可定制的,算法可以通过提供自定义操作符来修改/扩展。此外,还提供了各种单目标、多目标和多目标测试问题,并可以通过自动微分开箱即用来检索梯度。此外,pymoo还解决了实际需求,例如函数求值的并行化、可视化低维和高维空间的方法,以及用于多标准决策的工具。有关pymoo的更多信息,建议读者访问:https://pymoo.org。
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.