Dakota
Version 6.19
Explore and Predict with Confidence
|
Base class for managing common aspects of parameter studies and design of experiments methods. More...
Public Member Functions | |
bool | resize () |
reinitializes iterator based on new variable size | |
Public Member Functions inherited from Analyzer | |
const VariablesArray & | all_variables () |
return the complete set of evaluated variables | |
const RealMatrix & | all_samples () |
return the complete set of evaluated samples | |
const IntResponseMap & | all_responses () const |
return the complete set of computed responses | |
size_t | num_samples () const |
virtual void | vary_pattern (bool pattern_flag) |
sets varyPattern in derived classes that support it | |
Public Member Functions inherited from Iterator | |
Iterator (std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
default constructor More... | |
Iterator (ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
standard envelope constructor, which constructs its own model(s) More... | |
Iterator (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (meta-iterator) context, instead of constructing its own More... | |
Iterator (const String &method_string, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
alternate envelope constructor for instantiations by name without the ProblemDescDB More... | |
Iterator (const Iterator &iterator) | |
copy constructor More... | |
virtual | ~Iterator () |
destructor | |
Iterator | operator= (const Iterator &iterator) |
assignment operator | |
virtual void | derived_set_communicators (ParLevLIter pl_iter) |
derived class contributions to setting the communicators associated with this Iterator instance | |
virtual void | derived_free_communicators (ParLevLIter pl_iter) |
derived class contributions to freeing the communicators associated with this Iterator instance | |
virtual void | core_run () |
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post More... | |
virtual void | post_input () |
read tabular data for post-run mode | |
virtual void | reset () |
restore initial state for repeated sub-iterator executions | |
virtual void | nested_variable_mappings (const SizetArray &c_index1, const SizetArray &di_index1, const SizetArray &ds_index1, const SizetArray &dr_index1, const ShortArray &c_target2, const ShortArray &di_target2, const ShortArray &ds_target2, const ShortArray &dr_target2) |
set primaryA{CV,DIV,DRV}MapIndices, secondaryA{CV,DIV,DRV}MapTargets within derived Iterators; supports computation of higher-level sensitivities in nested contexts (e.g., derivatives of statistics w.r.t. inserted design variables) | |
virtual void | nested_response_mappings (const RealMatrix &primary_coeffs, const RealMatrix &secondary_coeffs) |
set primaryResponseCoefficients, secondaryResponseCoefficients within derived Iterators; Necessary for scalarization case in MLMC NonDMultilevelSampling to map scalarization in nested context | |
virtual void | initialize_iterator (int job_index) |
used by IteratorScheduler to set the starting data for a run | |
virtual void | pack_parameters_buffer (MPIPackBuffer &send_buffer, int job_index) |
used by IteratorScheduler to pack starting data for an iterator run | |
virtual void | unpack_parameters_buffer (MPIUnpackBuffer &recv_buffer, int job_index) |
used by IteratorScheduler to unpack starting data for an iterator run | |
virtual void | unpack_parameters_initialize (MPIUnpackBuffer &recv_buffer, int job_index) |
used by IteratorScheduler to unpack starting data and initialize an iterator run | |
virtual void | pack_results_buffer (MPIPackBuffer &send_buffer, int job_index) |
used by IteratorScheduler to pack results data from an iterator run | |
virtual void | unpack_results_buffer (MPIUnpackBuffer &recv_buffer, int job_index) |
used by IteratorScheduler to unpack results data from an iterator run | |
virtual void | update_local_results (int job_index) |
used by IteratorScheduler to update local results arrays | |
virtual const RealSymMatrix & | response_error_estimates () const |
return error estimates associated with the final iterator solution | |
virtual bool | accepts_multiple_points () const |
indicates if this iterator accepts multiple initial points. Default return is false. Override to return true if appropriate. | |
virtual void | initial_point (const Variables &pt) |
sets the initial point for this iterator (user-functions mode for which Model updating is not used) | |
virtual void | initial_point (const RealVector &pt) |
sets the initial point (active continuous variables) for this iterator (user-functions mode for which Model updating is not used) | |
virtual void | initial_points (const VariablesArray &pts) |
sets the multiple initial points for this iterator. This should only be used if accepts_multiple_points() returns true. | |
virtual void | update_callback_data (const RealVector &cv_initial, const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_lb, const RealVector &lin_ineq_ub, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgt, const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt) |
assign variable values and bounds and constraint coefficients and bounds for this iterator (user-functions mode for which iteratedModel is null) | |
virtual const RealMatrix & | callback_linear_ineq_coefficients () const |
return linear constraint coefficients for this iterator (user-functions mode for which iteratedModel is null) | |
virtual const RealVector & | callback_linear_ineq_lower_bounds () const |
return linear constraint lower bounds for this iterator (user-functions mode for which iteratedModel is null) | |
virtual const RealVector & | callback_linear_ineq_upper_bounds () const |
return linear constraint upper bounds for this iterator (user-functions mode for which iteratedModel is null) | |
virtual void | initialize_graphics (int iterator_server_id=1) |
initialize the 2D graphics window and the tabular graphics data More... | |
virtual void | check_sub_iterator_conflict () |
detect any conflicts due to recursive use of the same Fortran solver More... | |
virtual unsigned short | uses_method () const |
return name of any enabling iterator used by this iterator | |
virtual void | method_recourse (unsigned short method_name) |
perform a method switch, if possible, due to a detected conflict with the simultaneous use of method_name at an higher-level | |
virtual void | sampling_reset (size_t min_samples, bool all_data_flag, bool stats_flag) |
reset sampling iterator to use at least min_samples | |
virtual void | sampling_reference (size_t samples_ref) |
set reference number of samples, which is a lower bound during reset | |
virtual void | sampling_increment () |
increment to next in sequence of refinement samples | |
virtual void | random_seed (int seed) |
set randomSeed, if present | |
virtual unsigned short | sampling_scheme () const |
return sampling name | |
virtual IntIntPair | estimate_partition_bounds () |
estimate the minimum and maximum partition sizes that can be utilized by this Iterator | |
virtual void | declare_sources () |
Declare sources to the evaluations database. | |
void | init_communicators (ParLevLIter pl_iter) |
initialize the communicators associated with this Iterator instance | |
void | set_communicators (ParLevLIter pl_iter) |
set the communicators associated with this Iterator instance | |
void | free_communicators (ParLevLIter pl_iter) |
free the communicators associated with this Iterator instance | |
void | resize_communicators (ParLevLIter pl_iter, bool reinit_comms) |
Resize the communicators. This is called from the letter's resize() | |
void | parallel_configuration_iterator (ParConfigLIter pc_iter) |
set methodPCIter | |
ParConfigLIter | parallel_configuration_iterator () const |
return methodPCIter | |
void | parallel_configuration_iterator_map (std::map< size_t, ParConfigLIter > pci_map) |
set methodPCIterMap | |
std::map< size_t, ParConfigLIter > | parallel_configuration_iterator_map () const |
return methodPCIterMap | |
void | run (ParLevLIter pl_iter) |
invoke set_communicators(pl_iter) prior to run() | |
void | run () |
orchestrate initialize/pre/core/post/finalize phases More... | |
void | assign_rep (std::shared_ptr< Iterator > iterator_rep) |
replaces existing letter with a new one More... | |
void | iterated_model (const Model &model) |
set the iteratedModel (iterators and meta-iterators using a single model instance) | |
Model & | iterated_model () |
return the iteratedModel (iterators & meta-iterators using a single model instance) | |
ProblemDescDB & | problem_description_db () const |
return the problem description database (probDescDB) | |
ParallelLibrary & | parallel_library () const |
return the parallel library (parallelLib) | |
void | method_name (unsigned short m_name) |
set the method name to an enumeration value | |
unsigned short | method_name () const |
return the method name via its native enumeration value | |
void | method_string (const String &m_str) |
set the method name by string | |
String | method_string () const |
return the method name by string | |
String | method_enum_to_string (unsigned short method_enum) const |
convert a method name enumeration value to a string | |
unsigned short | method_string_to_enum (const String &method_str) const |
convert a method name string to an enumeration value | |
String | submethod_enum_to_string (unsigned short submethod_enum) const |
convert a sub-method name enumeration value to a string | |
const String & | method_id () const |
return the method identifier (methodId) | |
int | maximum_evaluation_concurrency () const |
return the maximum evaluation concurrency supported by the iterator | |
void | maximum_evaluation_concurrency (int max_conc) |
set the maximum evaluation concurrency supported by the iterator | |
size_t | maximum_iterations () const |
return the maximum iterations for this iterator | |
void | maximum_iterations (size_t max_iter) |
set the maximum iterations for this iterator | |
void | convergence_tolerance (Real conv_tol) |
set the method convergence tolerance (convergenceTol) | |
Real | convergence_tolerance () const |
return the method convergence tolerance (convergenceTol) | |
void | output_level (short out_lev) |
set the method output level (outputLevel) | |
short | output_level () const |
return the method output level (outputLevel) | |
void | summary_output (bool summary_output_flag) |
Set summary output control; true enables evaluation/results summary. | |
size_t | num_final_solutions () const |
return the number of solutions to retain in best variables/response arrays | |
void | num_final_solutions (size_t num_final) |
set the number of solutions to retain in best variables/response arrays | |
void | active_set (const ActiveSet &set) |
set the default active set (for use with iterators that employ evaluate_parameter_sets()) | |
const ActiveSet & | active_set () const |
return the default active set (used by iterators that employ evaluate_parameter_sets()) | |
void | active_set_request_vector (const ShortArray &asv) |
return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
const ShortArray & | active_set_request_vector () const |
return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
void | active_set_request_values (short asv_val) |
return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
void | sub_iterator_flag (bool si_flag) |
set subIteratorFlag (and update summaryOutputFlag if needed) | |
bool | is_null () const |
function to check iteratorRep (does this envelope contain a letter?) | |
std::shared_ptr< Iterator > | iterator_rep () const |
returns iteratorRep for access to derived class member functions that are not mapped to the top Iterator level | |
virtual void | eval_tag_prefix (const String &eval_id_str) |
set the hierarchical eval ID tag prefix More... | |
std::shared_ptr< TraitsBase > | traits () const |
returns methodTraits for access to derived class member functions that are not mapped to the top TraitsBase level | |
bool | top_level () |
Return whether the iterator is the top level iterator. | |
void | top_level (bool tflag) |
Set the iterator's top level flag. | |
Protected Member Functions | |
PStudyDACE (ProblemDescDB &problem_db, Model &model) | |
constructor | |
PStudyDACE (unsigned short method_name, Model &model) | |
alternate constructor for instantiations "on the fly" | |
~PStudyDACE () | |
destructor | |
void | print_results (std::ostream &s, short results_state=FINAL_RESULTS) |
print the final iterator results More... | |
void | volumetric_quality (int ndim, int num_samples, double *sample_points) |
Calculation of volumetric quality measures. More... | |
Protected Member Functions inherited from Analyzer | |
Analyzer () | |
default constructor | |
Analyzer (ProblemDescDB &problem_db, Model &model) | |
standard constructor | |
Analyzer (unsigned short method_name, Model &model) | |
alternate constructor for instantiations "on the fly" with a Model | |
Analyzer (unsigned short method_name, Model &model, const ShortShortPair &view_override) | |
alternate constructor for instantiations "on the fly" with a Model | |
Analyzer (unsigned short method_name) | |
alternate constructor for instantiations "on the fly" without a Model | |
~Analyzer () | |
destructor | |
virtual void | get_parameter_sets (Model &model) |
Generate one block of numSamples samples (ndim * num_samples), populating allSamples; ParamStudy is the only class that specializes to use allVariables. | |
virtual void | get_parameter_sets (Model &model, const size_t num_samples, RealMatrix &design_matrix) |
Generate one block of numSamples samples (ndim * num_samples), populating design_matrix. | |
virtual void | update_model_from_sample (Model &model, const Real *sample_vars) |
update model's current variables with data from sample | |
virtual void | update_model_from_variables (Model &model, const Variables &vars) |
update model's current variables with data from vars | |
virtual void | sample_to_variables (const Real *sample_vars, Variables &vars) |
convert column of samples array to variables; derived classes may reimplement for more than active continuous variables More... | |
void | update_from_model (const Model &model) |
set inherited data attributes based on extractions from incoming model | |
void | initialize_run () |
utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More... | |
void | pre_run () |
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
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 More... | |
void | finalize_run () |
utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More... | |
void | pre_output () |
const Model & | algorithm_space_model () const |
const Variables & | variables_results () const |
return a single final iterator solution (variables) | |
const Response & | response_results () const |
return a single final iterator solution (response) | |
const VariablesArray & | variables_array_results () |
return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true. | |
const ResponseArray & | response_array_results () |
return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true. | |
void | response_results_active_set (const ActiveSet &set) |
set the requested data for the final iterator response results | |
bool | compact_mode () const |
returns Analyzer::compactMode | |
bool | returns_multiple_points () const |
indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate. | |
void | evaluate_parameter_sets (Model &model, bool log_resp_flag, bool log_best_flag) |
perform function evaluations to map parameter sets (allVariables) into response sets (allResponses) More... | |
void | get_vbd_parameter_sets (Model &model, size_t num_samples) |
generate replicate parameter sets for use in variance-based decomposition More... | |
virtual void | archive_model_variables (const Model &, size_t idx) const |
archive model evaluation points | |
virtual void | archive_model_response (const Response &, size_t idx) const |
archive model evaluation responses | |
void | read_variables_responses (int num_evals, size_t num_vars) |
convenience function for reading variables/responses (used in derived classes post_input) More... | |
void | samples_to_variables_array (const RealMatrix &sample_matrix, VariablesArray &vars_array) |
convert samples array to variables array; e.g., allSamples to allVariables | |
virtual void | variables_to_sample (const Variables &vars, Real *sample_c_vars) |
convert the active continuous variables into a column of allSamples More... | |
void | variables_array_to_samples (const VariablesArray &vars_array, RealMatrix &sample_matrix) |
convert variables array to samples array; e.g., allVariables to allSamples | |
Protected Member Functions inherited from Iterator | |
Iterator (BaseConstructor, ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More... | |
Iterator (NoDBBaseConstructor, unsigned short method_name, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
alternate constructor for base iterator classes constructed on the fly More... | |
Iterator (NoDBBaseConstructor, unsigned short method_name, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
alternate constructor for base iterator classes constructed on the fly More... | |
Iterator (NoDBBaseConstructor, Model &model, size_t max_iter, size_t max_eval, Real conv_tol, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
alternate envelope constructor for instantiations without ProblemDescDB More... | |
virtual void | derived_init_communicators (ParLevLIter pl_iter) |
derived class contributions to initializing the communicators associated with this Iterator instance | |
virtual const VariablesArray & | initial_points () const |
gets the multiple initial points for this iterator. This will only be meaningful after a call to initial_points mutator. | |
StrStrSizet | run_identifier () const |
get the unique run identifier based on method name, id, and number of executions | |
void | initialize_model_graphics (Model &model, int iterator_server_id) |
helper function that encapsulates initialization operations, modular on incoming Model instance More... | |
void | export_final_surrogates (Model &data_fit_surr_model) |
export final surrogates generated, e.g., GP in EGO and friends More... | |
Protected Attributes | |
SensAnalysisGlobal | pStudyDACESensGlobal |
initialize statistical post processing | |
bool | volQualityFlag |
flag which specifies evaluation of volumetric quality measures | |
unsigned short | vbdViaSamplingMethod |
sampling method for computing variance-based decomposition indices | |
int | vbdViaSamplingNumBins |
number of bins for using with the Mahadevan sampling method for computing variance-based decomposition indices | |
Protected Attributes inherited from Analyzer | |
size_t | numFunctions |
number of response functions | |
size_t | numContinuousVars |
number of active continuous vars | |
size_t | numDiscreteIntVars |
number of active discrete integer vars | |
size_t | numDiscreteStringVars |
number of active discrete string vars | |
size_t | numDiscreteRealVars |
number of active discrete real vars | |
bool | compactMode |
switch for allSamples (compact mode) instead of allVariables (normal mode) | |
VariablesArray | allVariables |
array of all variables to be evaluated in evaluate_parameter_sets() | |
RealMatrix | allSamples |
compact alternative to allVariables | |
IntResponseMap | allResponses |
array of all responses to be computed in evaluate_parameter_sets() | |
StringArray | allHeaders |
array of headers to insert into output while evaluating allVariables | |
size_t | numObjFns |
number of objective functions | |
size_t | numLSqTerms |
number of least squares terms | |
RealPairPRPMultiMap | bestVarsRespMap |
map which stores best set of solutions | |
bool | vbdFlag |
flag indicating the activation of variance-bsaed decomposition for computing Sobol' indices, via either PCE or sampling | |
Real | vbdDropTol |
tolerance for omitting output of small VBD indices computed via either PCE or sampling | |
Protected Attributes inherited from Iterator | |
ProblemDescDB & | probDescDB |
class member reference to the problem description database More... | |
ParallelLibrary & | parallelLib |
class member reference to the parallel library | |
ParConfigLIter | methodPCIter |
the active ParallelConfiguration used by this Iterator instance | |
Model | iteratedModel |
the model to be iterated (for iterators and meta-iterators employing a single model instance) | |
size_t | myModelLayers |
number of Models locally (in Iterator or derived classes) wrapped around the initially passed in Model | |
unsigned short | methodName |
name of the iterator (the user's method spec) | |
Real | convergenceTol |
iteration convergence tolerance | |
size_t | maxIterations |
maximum number of iterations for the method | |
size_t | maxFunctionEvals |
maximum number of fn evaluations for the method | |
int | maxEvalConcurrency |
maximum number of concurrent model evaluations More... | |
ActiveSet | activeSet |
the response data requirements on each function evaluation | |
size_t | numFinalSolutions |
number of solutions to retain in best variables/response arrays | |
VariablesArray | bestVariablesArray |
collection of N best solution variables found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
ResponseArray | bestResponseArray |
collection of N best solution responses found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
bool | subIteratorFlag |
flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator) | |
short | outputLevel |
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT | |
bool | summaryOutputFlag |
flag for summary output (evaluation stats, final results); default true, but false for on-the-fly (helper) iterators and sub-iterator use cases | |
ResultsManager & | resultsDB |
reference to the global iterator results database | |
EvaluationStore & | evaluationsDB |
reference to the global evaluation database | |
EvaluationsDBState | evaluationsDBState |
State of evaluations DB for this iterator. | |
ResultsNames | resultsNames |
valid names for iterator results | |
std::shared_ptr< TraitsBase > | methodTraits |
pointer that retains shared ownership of a TraitsBase object, or child thereof | |
bool | topLevel |
Whether this is the top level iterator. | |
bool | exportSurrogate = false |
whether to export final surrogates | |
String | surrExportPrefix |
base filename for exported surrogates | |
unsigned short | surrExportFormat = NO_MODEL_FORMAT |
(bitwise) format(s) to export | |
Private Attributes | |
double | chiMeas |
quality measure | |
double | dMeas |
quality measure | |
double | hMeas |
quality measure | |
double | tauMeas |
quality measure | |
Additional Inherited Members | |
Static Protected Member Functions inherited from Iterator | |
static void | gnewton_set_recast (const Variables &recast_vars, const ActiveSet &recast_set, ActiveSet &sub_model_set) |
conversion of request vector values for the Gauss-Newton Hessian approximation More... | |
Base class for managing common aspects of parameter studies and design of experiments methods.
The PStudyDACE base class manages common data and functions, such as those involving the best solutions located during the parameter set evaluations or the printing of final results.
|
protectedvirtual |
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation summary printed in finalize_run().
Reimplemented from Analyzer.
References PStudyDACE::chiMeas, Analyzer::compactMode, Model::continuous_variable_labels(), Dakota::copy_data(), SensAnalysisGlobal::correlations_computed(), PStudyDACE::dMeas, PStudyDACE::hMeas, Iterator::iteratedModel, Analyzer::numLSqTerms, Analyzer::numObjFns, Model::ordered_labels(), SensAnalysisGlobal::print_correlations(), Analyzer::print_results(), SensAnalysisGlobal::print_sobol_indices(), PStudyDACE::pStudyDACESensGlobal, Model::response_labels(), PStudyDACE::tauMeas, Analyzer::vbdDropTol, Analyzer::vbdFlag, and PStudyDACE::volQualityFlag.
|
protected |
Calculation of volumetric quality measures.
Calculation of volumetric quality measures developed by FSU.
References PStudyDACE::chiMeas, PStudyDACE::dMeas, PStudyDACE::hMeas, Analyzer::num_samples(), and PStudyDACE::tauMeas.
Referenced by DDACEDesignCompExp::get_parameter_sets(), and FSUDesignCompExp::get_parameter_sets().