$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Private Member Functions | Private Attributes
FSUDesignCompExp Class Reference

Wrapper class for the FSUDace QMC/CVT library. More...

Inheritance diagram for FSUDesignCompExp:
PStudyDACE Analyzer Iterator

List of all members.

Public Member Functions

 FSUDesignCompExp (ProblemDescDB &problem_db, Model &model)
 primary constructor for building a standard DACE iterator
 FSUDesignCompExp (Model &model, int samples, int seed, unsigned short sampling_method)
 alternate constructor for building a DACE iterator on-the-fly
 ~FSUDesignCompExp ()
 destructor
void pre_run ()
 pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori
void extract_trends ()
 Mapping of the core_run() 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 (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
void sampling_reset (int min_samples, bool all_data_flag, bool stats_flag)
 reset sampling iterator to use at least min_samples
unsigned short 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 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 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.

Detailed Description

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.


Constructor & Destructor Documentation

FSUDesignCompExp ( ProblemDescDB problem_db,
Model model 
)
FSUDesignCompExp ( Model model,
int  samples,
int  seed,
unsigned short  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::maxEvalConcurrency, Iterator::methodName, Analyzer::numContinuousVars, FSUDesignCompExp::numCVTTrials, FSUDesignCompExp::numSamples, FSUDesignCompExp::primeBase, FSUDesignCompExp::randomSeed, FSUDesignCompExp::seedSpec, FSUDesignCompExp::sequenceLeap, FSUDesignCompExp::sequenceStart, and FSUDesignCompExp::trialType.


Member Function Documentation

void pre_run ( ) [virtual]

pre-run portion of run (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 (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 Analyzer.

References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute_correlations(), PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.

int num_samples ( ) const [inline, virtual]

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

Reimplemented from Analyzer.

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, Analyzer::numContinuousVars, FSUDesignCompExp::numSamples, and FSUDesignCompExp::primeBase.

Referenced by FSUDesignCompExp::get_parameter_sets().


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