Performs LHS and Monte Carlo sampling for uncertainty quantification. More...
Public Member Functions | |
NonDLHSSampling (Model &model) | |
standard constructor | |
NonDLHSSampling (Model &model, const String &sample_type, int samples, int seed, const String &rng, short sampling_vars_mode=ACTIVE) | |
alternate constructor for sample generation and evaluation "on the fly" | |
NonDLHSSampling (const String &sample_type, int samples, int seed, const String &rng, const RealVector &lower_bnds, const RealVector &upper_bnds) | |
alternate constructor for sample generation "on the fly" | |
~NonDLHSSampling () | |
destructor | |
Protected Member Functions | |
void | pre_run () |
generate LHS samples in non-VBD cases | |
void | post_input () |
read tabular data for post-run mode | |
void | quantify_uncertainty () |
perform the evaluate parameter sets portion of run | |
void | post_run (std::ostream &s) |
generate statistics for LHS runs in non-VBD cases | |
void | print_results (std::ostream &s) |
print the final statistics | |
Private Attributes | |
size_t | numResponseFunctions |
number of response functions; used to distinguish NonD from opt/NLS usage | |
bool | varBasedDecompFlag |
flags computation of variance-based decomposition indices |
Performs LHS and Monte Carlo sampling for uncertainty quantification.
The Latin Hypercube Sampling (LHS) package from Sandia Albuquerque's Risk and Reliability organization provides comprehensive capabilities for Monte Carlo and Latin Hypercube sampling within a broad array of user-specified probabilistic parameter distributions. It enforces user-specified rank correlations through use of a mixing routine. The NonDLHSSampling class provides a C++ wrapper for the LHS library and is used for performing forward propagations of parameter uncertainties into response statistics.
NonDLHSSampling | ( | Model & | model | ) |
standard constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set_db_list_nodes has been called and probDescDB can be queried for settings from the method specification.
References NonDSampling::samplingVarsMode.
NonDLHSSampling | ( | Model & | model, |
const String & | sample_type, | ||
int | samples, | ||
int | seed, | ||
const String & | rng, | ||
short | sampling_vars_mode = ACTIVE |
||
) |
alternate constructor for sample generation and evaluation "on the fly"
This alternate constructor is used for generation and evaluation of Model-based sample sets. A set_db_list_nodes has not been performed so required data must be passed through the constructor. It's purpose is to avoid the need for a separate LHS specification within methods that use LHS sampling.
References NonDSampling::samplingVarsMode.
NonDLHSSampling | ( | const String & | sample_type, |
int | samples, | ||
int | seed, | ||
const String & | rng, | ||
const RealVector & | lower_bnds, | ||
const RealVector & | upper_bnds | ||
) |
alternate constructor for sample generation "on the fly"
This alternate constructor is used by ConcurrentStrategy for generation of uniform, uncorrelated sample sets. It is _not_ a letter-envelope instantiation and a set_db_list_nodes has not been performed. It is called with all needed data passed through the constructor and is designed to allow more flexibility in variables set definition (i.e., relax connection to a variables specification and allow sampling over parameter sets such as multiobjective weights). In this case, a Model is not used and the object must only be used for sample generation (no evaluation).
References NonDSampling::get_parameter_sets(), and NonDSampling::samplingVarsMode.
void quantify_uncertainty | ( | ) | [protected, virtual] |
perform the evaluate parameter sets portion of run
Loop over the set of samples and compute responses. Compute statistics on the set of responses if statsFlag is set.
Implements NonD.
References NonDSampling::allDataFlag, Analyzer::evaluate_parameter_sets(), Iterator::iteratedModel, Iterator::numContinuousVars, Iterator::numDiscreteIntVars, Iterator::numDiscreteRealVars, NonDLHSSampling::numResponseFunctions, NonDSampling::numSamples, NonDSampling::statsFlag, NonDLHSSampling::varBasedDecompFlag, and Analyzer::variance_based_decomp().