In this paper, we present a pure-Python library called PyPop7 for black-box optimization (BBO). As population-based methods are becoming increasingly popular for BBO, our design goal is to provide a unified API and elegant implementations for them, particularly for high-dimensional cases. Since population-based methods suffer easily from the curse of dimenisoanlity owing to their random sampling nature, various improvements have been proposed to alleviate this issue via exploiting possible problem structures: such as space decomposition, low-memory approximation, low-rank metric learning, variance reduction, ensemble of random subspaces, model self-adaptation, and smoothing. Now PyPop7 has covered these advances with $>72$ versions and variants of 13 BBO algorithm families from different research communities. Its open-source code and full-fledged documents are available at https://github.com/Evolutionary-Intelligence/pypop and https://pypop.readthedocs.io, respectively.
翻译:在本文中,我们介绍了一个名为 PyPop7 的纯 Python 库,用于黑盒优化(BBO)。随着种群方法在 BBO 中变得越来越流行,我们的设计目标是为它们提供统一的 API 和优雅的实现,特别是针对高维情况。由于种群方法很容易受到维度灾难的影响,因为它们具有随机抽样的特性,因此我们提出了各种改进方法,以通过利用可能的问题结构来减轻这个问题:如空间分解、低内存近似、低秩度量学习、方差降低、随机子空间集成、模型自适应和平滑处理。现在,PyPop7 已经覆盖了这些进展,具有>72 个版本和13 个来自不同研究社区的BBO算法族的变体。其开源代码和完整的文档分别可在 https://github.com/Evolutionary-Intelligence/pypop 和 https://pypop.readthedocs.io 中获得。