Search papers, labs, and topics across Lattice.
The `spotoptim` package implements surrogate-model-based optimization for expensive black-box functions in Python, leveraging Kriging with Expected Improvement and Optimal Computing Budget Allocation (OCBA). It incorporates a steady-state parallelization strategy and success-rate-based restarts to improve optimization efficiency. Benchmarking shows competitive performance against BoTorch, Optuna, and other popular hyperparameter optimization frameworks, while offering unique features like built-in TensorBoard logging and support for mixed variable types.
`spotoptim` offers a performant and feature-rich alternative to existing hyperparameter optimization frameworks, with built-in TensorBoard logging and support for mixed variable types.
The `spotoptim` package implements surrogate-model-based optimization of expensive black-box functions in Python. Building on two decades of Sequential Parameter Optimization (SPO) methodology, it provides a Kriging-based optimization loop with Expected Improvement, support for continuous, integer, and categorical variables, noise-aware evaluation via Optimal Computing Budget Allocation (OCBA), and multi-objective extensions. A steady-state parallelization strategy overlaps surrogate search with objective evaluation on multi-core hardware, and a success-rate-based restart mechanism detects stagnation while preserving the best solution found. The package returns scipy-compatible `OptimizeResult` objects and accepts any scikit-learn-compatible surrogate model. Built-in TensorBoard logging provides real-time monitoring of convergence and surrogate quality. This report describes the architecture and module structure of spotoptim, provides worked examples including neural network hyperparameter tuning, and compares the framework with BoTorch, Optuna, Ray Tune, BOHB, SMAC, and Hyperopt. The package is open-source.