Surrogate Optimization

What Is Surrogate Optimization?

Surrogate optimization is an optimization methodology applied with black-box models that are computationally expensive to evaluate. By iteratively constructing surrogate models which can be evaluated quickly compared to the black-box model, the  optimizer can perform a wider search with more evaluations in less time, increasing the chance of finding a global optimum. This approach is widely used in applications such as design optimization. Global Optimization Toolbox™ in MATLAB® provides a surrogate optimization solver that can assist with these applications.

A black-box model relates inputs to outputs without exposing the inner workings of the model. Engineers use surrogate models to identify optimal parameters for black-box models that require running a simulation, training a machine learning model, or solving FEA/CFD models where the parameters are both continuous and discrete.

An alternative approach is to build a surrogate model, such as a reduced order model (ROM), and then apply optimization to the surrogate model.

MATLAB provides features for surrogate optimization and ROM, as well as application examples such as circuit, antenna, and current-carry cable design.

How Surrogate Optimization Works

A surrogate optimization algorithm starts with a set of points that are either randomly generated or provided as data. The optimizer evaluates the black-box model at these points and builds an initial surrogate model by fitting or interpolation.

The algorithm generates many candidate points at each iteration. The optimizer evaluates points by a merit function that typically includes the surrogate model objective value and criteria such as measures of feasibility, expected improvement, and coverage of the solution space. The optimizer can use local search or nonlinear optimization to improve the candidate set. The best candidate is evaluated with the black-box model and its value is used to update the surrogate model.

Three MATLAB graphs that demonstrate using interpolation to build a surrogate model. The three graphs are the initial surrogate model, searching for improved points, and the updated surrogate model.

MATLAB graphs illustrating surrogate model construction during optimization. (Left) Surrogate model interpolates initial points evaluated on black-box model. (Middle) Candidate points evaluated on surrogate model and best point identified. (Right) Best point evaluated on black-box model and used to update surrogate model.

For more information on surrogate optimization, see Global Optimization Toolbox and Statistics and Machine Learning Toolbox™.

See also: Global Optimization Toolbox, Optimization Toolbox, Statistics and Machine Learning Toolbox, nonlinear programming, genetic algorithm, autoML