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 in high-dimensional cases. Since population-based methods suffer easily from the curse of dimensionality 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已涵盖这些进展,包含来自不同研究社区的13个BBO算法族群的72个以上版本与变体。其开源代码与完整文档可分别从https://github.com/Evolutionary-Intelligence/pypop 和 https://pypop.readthedocs.io 获取。