Wrapper class for the FSUDace QMC/CVT library. More...
Public Member Functions | |
FSUDesignCompExp (Model &model) | |
primary constructor for building a standard DACE iterator | |
FSUDesignCompExp (Model &model, int samples, int seed, const String &sampling_method) | |
alternate constructor for building a DACE iterator on-the-fly | |
~FSUDesignCompExp () | |
destructor | |
void | pre_run () |
pre-run portion of run_iterator (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori | |
void | extract_trends () |
Redefines the run_iterator virtual function for the PStudy/DACE branch. | |
void | post_input () |
read tabular data for post-run mode | |
void | post_run (std::ostream &s) |
post-run portion of run_iterator (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way | |
int | num_samples () const |
get the current number of samples | |
void | sampling_reset (int min_samples, bool all_data_flag, bool stats_flag) |
reset sampling iterator to use at least min_samples | |
const String & | sampling_scheme () const |
return sampling name | |
void | vary_pattern (bool pattern_flag) |
sets varyPattern in derived classes that support it | |
void | get_parameter_sets (Model &model) |
Returns one block of samples (ndim * num_samples) | |
Private Member Functions | |
void | enforce_input_rules () |
enforce sanity checks/modifications for the user input specification | |
Private Attributes | |
int | samplesSpec |
initial specification of number of samples | |
int | numSamples |
current number of samples to be evaluated | |
bool | allDataFlag |
flag which triggers the update of allVars/allResponses for use by Iterator::all_variables() and Iterator::all_responses() | |
size_t | numDACERuns |
counter for number of run() executions for this object | |
bool | latinizeFlag |
flag which specifies latinization of QMC or CVT sample sets | |
IntVector | sequenceStart |
Integer vector defining a starting index into the sequence for random variable sampled. Default is 0 0 0 (e.g. for three random variables). | |
IntVector | sequenceLeap |
Integer vector defining the leap number for each sequence being generated. Default is 1 1 1 (e.g. for three random vars.) | |
IntVector | primeBase |
Integer vector defining the prime base for each sequence being generated. Default is 2 3 5 (e.g., for three random vars.) | |
int | seedSpec |
the user seed specification for the random number generator (allows repeatable results) | |
int | randomSeed |
current seed for the random number generator | |
bool | varyPattern |
flag for continuing the random number or QMC sequence from a previous run() execution (e.g., for surrogate-based optimization) so that multiple executions are repeatable but not identical. | |
int | numCVTTrials |
specifies the number of sample points taken at internal CVT iteration | |
int | trialType |
Trial type in CVT. Specifies where the points are placed for consideration relative to the centroids. Choices are grid (2), halton (1), uniform (0), or random (-1). Default is random. |
Wrapper class for the FSUDace QMC/CVT library.
The FSUDesignCompExp class provides a wrapper for FSUDace, a C++ design of experiments library from Florida State University. This class uses quasi Monte Carlo (QMC) and Centroidal Voronoi Tesselation (CVT) methods to uniformly sample the parameter space spanned by the active bounds of the current Model. It returns all generated samples and their corresponding responses as well as the best sample found.
FSUDesignCompExp | ( | Model & | model | ) |
primary constructor for building a standard DACE iterator
This constructor is called for a standard iterator built with data from probDescDB.
References Dakota::abort_handler(), ProblemDescDB::get_bool(), ProblemDescDB::get_idv(), ProblemDescDB::get_int(), ProblemDescDB::get_string(), Iterator::maxConcurrency, Iterator::methodName, Iterator::numContinuousVars, FSUDesignCompExp::numCVTTrials, FSUDesignCompExp::numSamples, FSUDesignCompExp::primeBase, Iterator::probDescDB, FSUDesignCompExp::randomSeed, FSUDesignCompExp::seedSpec, FSUDesignCompExp::sequenceLeap, FSUDesignCompExp::sequenceStart, FSUDesignCompExp::trialType, and FSUDesignCompExp::varyPattern.
FSUDesignCompExp | ( | Model & | model, |
int | samples, | ||
int | seed, | ||
const String & | sampling_method | ||
) |
alternate constructor for building a DACE iterator on-the-fly
This alternate constructor is used for instantiations on-the-fly, using only the incoming data. No problem description database queries are used.
References Dakota::abort_handler(), Iterator::maxConcurrency, Iterator::methodName, Iterator::numContinuousVars, FSUDesignCompExp::numCVTTrials, FSUDesignCompExp::numSamples, FSUDesignCompExp::primeBase, FSUDesignCompExp::randomSeed, FSUDesignCompExp::seedSpec, FSUDesignCompExp::sequenceLeap, FSUDesignCompExp::sequenceStart, and FSUDesignCompExp::trialType.
void pre_run | ( | ) | [virtual] |
pre-run portion of run_iterator (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call its nearest parent's pre_run(), if implemented, typically _before_ performing its own implementation steps.
Reimplemented from Iterator.
References FSUDesignCompExp::get_parameter_sets(), Iterator::iteratedModel, and PStudyDACE::varBasedDecompFlag.
void post_run | ( | std::ostream & | s | ) | [virtual] |
post-run portion of run_iterator (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parent's post_run(), typically _after_ performing its own implementation steps.
Reimplemented from Iterator.
References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute_correlations(), PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.
int num_samples | ( | ) | const [inline, virtual] |
get the current number of samples
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be costly, provide a default implementation here that backs out from the maxConcurrency. May be (is) overridden by derived classes.
Reimplemented from Iterator.
References FSUDesignCompExp::numSamples.
void enforce_input_rules | ( | ) | [private] |
enforce sanity checks/modifications for the user input specification
Users may input a variety of quantities, but this function must enforce any restrictions imposed by the sampling algorithms.
References Dakota::abort_handler(), Iterator::methodName, Iterator::numContinuousVars, FSUDesignCompExp::numSamples, and FSUDesignCompExp::primeBase.
Referenced by FSUDesignCompExp::get_parameter_sets().