Public Member Functions | Private Member Functions | Private Attributes
DDACEDesignCompExp Class Reference

Wrapper class for the DDACE design of experiments library. More...

Inheritance diagram for DDACEDesignCompExp:
PStudyDACE Analyzer Iterator

List of all members.

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 Stringsampling_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.

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

Detailed Description

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.


Constructor & Destructor Documentation

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().


Member Function Documentation

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().


The documentation for this class was generated from the following files: