Wrapper class for the DDACE design of experiments library. More...
Public Member Functions | |
DDACEDesignCompExp (Model &model) | |
primary constructor for building a standard DACE iterator | |
DDACEDesignCompExp (Model &model, int samples, int symbols, int seed, const String &sampling_method) | |
alternate constructor used for building approximations | |
~DDACEDesignCompExp () | |
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 | compute_main_effects () |
builds a DDaceMainEffects::OneWayANOVA if mainEffectsFlag is set | |
void | resolve_samples_symbols () |
convenience function for resolving number of samples and number of symbols from input. | |
Static Private Member Functions | |
static void | copy_data (const std::vector< DDaceSamplePoint > &dspa, Real *ptr, const int ptr_len) |
copy DDACE point to RealVector | |
Private Attributes | |
String | daceMethod |
oas, lhs, oa_lhs, random, box_behnken, central_composite, or grid | |
int | samplesSpec |
initial specification of number of samples | |
int | symbolsSpec |
initial specification of number of symbols | |
int | numSamples |
current number of samples to be evaluated | |
int | numSymbols |
current number of symbols to be used in generating the sample set (inversely related to number of replications) | |
const int | seedSpec |
the user seed specification for the random number generator (allows repeatable results) | |
int | randomSeed |
current seed for the random number generator | |
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 | varyPattern |
flag for continuing the random number sequence from a previous run() execution (e.g., for surrogate-based optimization) so that multiple executions are repeatable but not correlated. | |
bool | mainEffectsFlag |
flag which specifies main effects | |
std::vector< std::vector< int > > | symbolMapping |
mapping of symbols for main effects calculations |
Wrapper class for the DDACE design of experiments library.
The DDACEDesignCompExp class provides a wrapper for DDACE, a C++ design of experiments library from the Computational Sciences and Mathematics Research (CSMR) department at Sandia's Livermore CA site. This class uses design and analysis of computer experiments (DACE) methods to sample the design space spanned by the bounds of a Model. It returns all generated samples and their corresponding responses as well as the best sample found.
DDACEDesignCompExp | ( | 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(), DDACEDesignCompExp::daceMethod, DDACEDesignCompExp::mainEffectsFlag, Iterator::maxConcurrency, Iterator::numContinuousVars, and DDACEDesignCompExp::numSamples.
DDACEDesignCompExp | ( | Model & | model, |
int | samples, | ||
int | symbols, | ||
int | seed, | ||
const String & | sampling_method | ||
) |
alternate constructor used for building approximations
This alternate constructor is used for instantiations on-the-fly, using only the incoming data. No problem description database queries are used.
References Iterator::maxConcurrency, DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::resolve_samples_symbols().
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 DDACEDesignCompExp::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(), DDACEDesignCompExp::compute_main_effects(), DDACEDesignCompExp::mainEffectsFlag, 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 DDACEDesignCompExp::numSamples.
void resolve_samples_symbols | ( | ) | [private] |
convenience function for resolving number of samples and number of symbols from input.
This function must define a combination of samples and symbols that is acceptable for a particular sampling algorithm. Users provide requests for these quantities, but this function must enforce any restrictions imposed by the sampling algorithms.
References Dakota::abort_handler(), DDACEDesignCompExp::daceMethod, Iterator::numContinuousVars, DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::numSymbols.
Referenced by DDACEDesignCompExp::DDACEDesignCompExp(), and DDACEDesignCompExp::get_parameter_sets().
void copy_data | ( | const std::vector< DDaceSamplePoint > & | dspa, |
Real * | ptr, | ||
const int | ptr_len | ||
) | [static, private] |
copy DDACE point to RealVector
copy DDACE point array to RealVectorArray copy DDACE point array to Real*
References Dakota::abort_handler().
Referenced by DDACEDesignCompExp::get_parameter_sets().