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黑箱优化库。随着基于种群的优化方法在黑箱优化领域日益流行,我们的设计目标是为这类方法(特别是高维问题)提供统一的API和优雅的实现方式。由于基于种群的方法因其随机采样特性容易受到维数灾难的影响,近年来研究者提出了多种改进策略来缓解该问题,包括:空间分解、低内存近似、低秩度量学习、方差缩减、随机子空间集成、模型自适应及平滑方法。目前PyPop7已涵盖来自不同研究领域的13个BBO算法家族的72个以上版本与变体。其开源代码及完整文档分别发布于https://github.com/Evolutionary-Intelligence/pypop 和 https://pypop.readthedocs.io。