SMT 2.0: A Surrogate Modeling Toolbox with a focus on Hierarchical and Mixed Variables Gaussian Processes
Paul Saves, Remi Lafage, Nathalie Bartoli, Youssef Diouane, Jasper Bussemaker, Thierry Lefebvre, John T. Hwang, Joseph Morlier, Joaquim R. R. A. Martins
TL;DR
SMT 2.0 extends the Surrogate Modeling Toolbox to handle mixed-variable and hierarchical inputs within Kriging-based surrogates, enabling more realistic engineering design and optimization tasks. It introduces a unified framework for mixed variables with multiple kernels (CR, GD, HH, EHH) and two hierarchical kernels (Arc-Kernel and the novel Alg-Kernel), including an algebraic distance formulation that minimizes hyperparameters while preserving positive definiteness. The authors demonstrate these capabilities on mixed cantilever-beam and hierarchical neural-network-inspired problems, showing improved predictive accuracy and faster convergence in Bayesian optimization compared to prior approaches. Beyond kernels, SMT 2.0 adds enhanced sampling (NestedLHS, expand_lhs), derivative-enabled surrogates (KPLS, MGP, GENN), and parallel Bayesian optimization, making it a robust, open-source platform for reproducible research and industrial applications in design space exploration, uncertainty quantification, and optimization.
Abstract
The Surrogate Modeling Toolbox (SMT) is an open-source Python package that offers a collection of surrogate modeling methods, sampling techniques, and a set of sample problems. This paper presents SMT 2.0, a major new release of SMT that introduces significant upgrades and new features to the toolbox. This release adds the capability to handle mixed-variable surrogate models and hierarchical variables. These types of variables are becoming increasingly important in several surrogate modeling applications. SMT 2.0 also improves SMT by extending sampling methods, adding new surrogate models, and computing variance and kernel derivatives for Kriging. This release also includes new functions to handle noisy and use multifidelity data. To the best of our knowledge, SMT 2.0 is the first open-source surrogate library to propose surrogate models for hierarchical and mixed inputs. This open-source software is distributed under the New BSD license.
