cs.LGApr 15, 2026

Optimization with SpotOptim

Authors: Thomas Bartz-Beielstein

Organizations: Bartz & Bartz GmbH, 51643 Gummersbach, Germany

Abstract

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 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, RayTune, BOHB, SMAC, and Hyperopt. The package is open-source (AGPL-3.0).

Figures & tables

Explore similar work

CardsList
  1. Python Tool for Visualizing Variability of Pareto Fronts over Multiple Runs

    May 15, 2023Shuhei WatanabeMulti-Objective OptimizationPareto Optimization

  2. mlr3mbo: Bayesian Optimization in R

    Mar 31, 2026Marc Becker, Lennart Schneider, Martin Binder +2Bayesian OptimizationHyperparameter Optimization

  3. Frugal Bayesian Optimization: Scalable Surrogates for Data- and Resource-Limited Discovery

    Jul 31, 2026Panagiotis Krokidas, Christoforos Rekatsinas, Vassilis Sioros +3Surrogate ModelingBayesian Optimization