OpenBox: A Python Toolkit for Generalized Black-box Optimization
Huaijun Jiang, Yu Shen, Yang Li, Beicheng Xu, Sixian Du, Wentao Zhang, Ce Zhang, Bin Cui
TL;DR
The paper addresses the paucity of tools for generalized black-box optimization by presenting OpenBox, an open-source toolkit that supports diverse input types, multiple objectives and constraints, and both sequential and parallel optimization. It integrates a broad set of optimization algorithms, automatic algorithm selection based on task characteristics, and a user-friendly ask-and-tell interface with rich visualizations. Benchmark results on CONSTR and LightGBM tuning demonstrate faster convergence, stability, and superior ranking compared with existing systems. The toolkit aims to facilitate practical BBO applications across ML, experimental design, and database knob tuning and is readily accessible via PyPI and GitHub.
Abstract
Black-box optimization (BBO) has a broad range of applications, including automatic machine learning, experimental design, and database knob tuning. However, users still face challenges when applying BBO methods to their problems at hand with existing software packages in terms of applicability, performance, and efficiency. This paper presents OpenBox, an open-source BBO toolkit with improved usability. It implements user-friendly interfaces and visualization for users to define and manage their tasks. The modular design behind OpenBox facilitates its flexible deployment in existing systems. Experimental results demonstrate the effectiveness and efficiency of OpenBox over existing systems. The source code of OpenBox is available at https://github.com/PKU-DAIR/open-box.
