Dakota Reference Manual  Version 6.4
Large-Scale Engineering Optimization and Uncertainty Analysis
 All Pages

(Experimental) Adaptively refine a Gaussian process surrogate


This keyword is related to the topics:


Alias: nond_adaptive_sampling

Argument(s): none

Required/Optional Description of Group Dakota Keyword Dakota Keyword Description
Optional initial_samples

Initial number of samples for sampling-based methods

Optional seed

Seed of the random number generator

Optional samples_on_emulator

Number of samples at which to evaluate an emulator (surrogate)

Optional fitness_metric

(Experimental) Specify the fitness_metric used to select the next point

Optional batch_selection

(Experimental) How to select new points

Optional refinement_samples

Number of samples used to refine a probabilty estimate or sampling design.

Optional import_build_points_file

File containing points you wish to use to build a surrogate

Optional export_approx_points_file

Output file for evaluations of a surrogate model

Optional response_levels

Values at which to estimate desired statistics for each response

Optional misc_options

(Experimental) Hook for algorithm-specific adaptive sampling options

Optional max_iterations

Stopping criterion based on number of iterations

Optional distribution

Selection of cumulative or complementary cumulative functions

Optional probability_levels Specify probability levels at which to estimate the corresponding response value
Optional gen_reliability_levels Specify generalized relability levels at which to estimate the corresponding response value
Optional rng

Selection of a random number generator

Optional model_pointer

Identifier for model block to be used by a method


This is an experimental capability that is not ready for production use at this point. It was part of an investigation into computational topology-based approaches to feature identification and surrogate refinement.

The goal in performing adaptive sampling is to construct a surrogate model that can be used as an accurate predictor to some expensive simulation, thus it is to one's advantage to build a surrogate that minimizes the error over the entire domain of interest using as little data as possible from the expensive simulation. The adaptive part alludes to the fact that the surrogate will be refined by focusing samples of the expensive simulation on particular areas of interest rather than rely on random selection or standard space-filling techniques.

At a high-level, the adaptive sampling pipeline is a four-step process:

  • Evaluate the expensive simulation (referred to as the true model) at initial sample point
    1. Fit a surrogate model
    2. Create a candidate set and score based on information from surrogate
    3. Select a candidate point to evaluate the true model
    4. Loop until done

In terms of the Dakota implementation, the adaptive sampling method currently uses Latin Hypercube sampling (LHS) to generate the initial points in Step 1 above. For Step 2, we use a Gaussian process model.

The default behavior is to add one point at a time. At each iteration (e.g. each loop of Steps 2-4 above), a Latin Hypercube sample is generated (a new one, different from the initial sample) and the surrogate model is evaluated at this points. These are the candidate points that are then evaluated according to the fitness metric. The number of candidates used in practice should be high enough to fill most of the input domain: we recommend at least hundreds of points for a low-dimensional problem. All of the candidates (samples on the emulator) are given a score and then the highest-scoring candidate is selected to be evaluated on the true model.

The adaptive sampling method also can generate batches of points to add at a time using the batch_selection and batch_size keywords.

See Also

These keywords may also be of interest: