Dakota
Version
Explore and Predict with Confidence
|
Class for vector, list, centered, and multidimensional parameter studies. More...
Public Member Functions | |
ParamStudy (ProblemDescDB &problem_db, Model &model) | |
constructor | |
~ParamStudy () | |
destructor | |
bool | resize () |
reinitializes iterator based on new variable size | |
void | pre_run () |
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
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... | |
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 More... | |
void | archive_model_variables (const Model &, size_t idx) const override |
Archive variables for parameter set idx. | |
void | archive_model_response (const Response &, size_t idx) const override |
Archive responses for parameter set idx. | |
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 | 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 | variable_bounds (const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds) |
assign nonlinear inequality and equality constraint allowables for this iterator (user-functions mode for which Model updating is not used) | |
virtual void | linear_constraints (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) |
assign linear inequality and linear equality constraints for this iterator (user-functions mode for which Model updating is not used) | |
virtual void | nonlinear_constraints (const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt) |
assign nonlinear inequality and equality constraint allowables for this iterator (user-functions mode for which Model updating is not used) | |
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 () |
perform a method switch, if possible, due to a detected conflict | |
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 | |
void | archive_allocate_sets () const |
Allocate space to archive parameters and responses. | |
Protected Member Functions inherited from PStudyDACE | |
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 | 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... | |
void | compute_vbd_stats (const size_t num_samples, const IntResponseMap &resp_samples) |
compute VBD-based Sobol indices More... | |
void | archive_sobol_indices () const |
archive VBD-based Sobol indices More... | |
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 | print_sobol_indices (std::ostream &s) const |
Printing of VBD results. 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... | |
Private Member Functions | |
void | sample () |
performs the parameter study by sampling from a list of points | |
void | vector_loop () |
performs the parameter study by sampling along a vector, starting from an initial point followed by numSteps increments along continous/discrete step vectors | |
void | centered_loop () |
performs a number of plus and minus offsets for each parameter centered about an initial point | |
void | multidim_loop () |
performs a full factorial combination for all intersections defined by a set of multidimensional partitions | |
bool | load_distribute_points (const String &points_filename, unsigned short tabular_format, bool active_only) |
load list of points from data file and distribute among listCVPoints, listDIVPoints, listDSVPoints, and listDRVPoints More... | |
template<typename OrdinalType , typename ScalarTypeA , typename ScalarTypeC , typename ScalarTypeDI , typename ScalarTypeDS , typename ScalarTypeDR > | |
bool | distribute (const Teuchos::SerialDenseVector< OrdinalType, ScalarTypeA > &all_data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeC > &c_data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeDI > &di_data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeDS > &ds_data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeDR > &dr_data) |
distributes incoming all vector in standard variable ordering among continuous, discrete int, discrete string, and discrete real vectors | |
template<typename ScalarType > | |
bool | distribute (const std::vector< ScalarType > &all_data, std::vector< ScalarType > &c_data, std::vector< ScalarType > &di_data, std::vector< ScalarType > &ds_data, std::vector< ScalarType > &dr_data) |
distributes incoming all array in standard variable ordering among continuous, discrete int, discrete string, and discrete real arrays | |
bool | distribute_list_of_points (const RealVector &list_of_pts) |
distributes list_of_pts coming from user spec among listCVPoints, listDIVPoints, listDSVPoints, and listDRVPoints More... | |
void | final_point_to_step_vector () |
compute step vectors from finalPoint, initial points, and numSteps | |
void | distribute_partitions () |
compute step vectors from {cont,discInt,discString,discReal}VarPartitions and global bounds | |
bool | check_num_steps (int num_steps) |
perform error checks on numSteps | |
bool | check_step_vector (const RealVector &step_vector) |
perform error checks on numSteps | |
bool | check_final_point (const RealVector &final_pt) |
perform error checks on finalPoint | |
bool | check_steps_per_variable (const IntVector &steps_per_var) |
perform error checks on stepsPerVariable | |
bool | check_variable_partitions (const UShortArray &partitions) |
perform error checks on variable partitions | |
bool | check_finite_bounds () |
check for finite variable bounds within iteratedModel, as required for computing partitions of finite ranges | |
bool | check_ranges_sets (int num_steps) |
sanity check for vector parameter study | |
bool | check_ranges_sets (const IntVector &c_steps, const IntVector &di_steps, const IntVector &ds_steps, const IntVector &dr_steps) |
sanity check for centered parameter study | |
bool | check_sets (const IntVector &c_steps, const IntVector &di_steps, const IntVector &ds_steps, const IntVector &dr_steps) |
sanity check for increments along int/real set dimensions | |
int | integer_step (int range, int num_steps) const |
check for integer remainder and return step | |
int | index_step (size_t start, size_t end, int num_steps) const |
check for out of bounds and index remainder and return step | |
void | c_step (size_t c_index, int increment, Variables &vars) |
helper function for performing a continuous step in one variable | |
void | dri_step (size_t di_index, int increment, Variables &vars) |
helper function for performing a discrete step in an integer range variable | |
void | dsi_step (size_t di_index, int increment, const IntSet &values, Variables &vars) |
helper function for performing a discrete step in an integer set variable | |
void | dss_step (size_t ds_index, int increment, const StringSet &values, Variables &vars) |
helper function for performing a discrete step in an string set variable | |
void | dsr_step (size_t dr_index, int increment, const RealSet &values, Variables &vars) |
helper function for performing a discrete step in a real set variable | |
void | reset (Variables &vars) |
reset vars to initial point (center) | |
void | centered_header (const String &type, size_t var_index, int step, size_t hdr_index) |
store a centered parameter study header within allHeaders | |
void | archive_allocate_cps () const |
specialized per-variable slice output for centered param study | |
void | archive_cps_vars (const Model &model, size_t idx) const |
specialized per-variable slice output for centered param study | |
void | archive_cps_resp (const Response &response, size_t idx) const |
specialized per-variable slice output for centered param study | |
void | index_to_var_step (const size_t study_idx, size_t &var_idx, size_t &step_idx) const |
map an overall parameter study (zero-based) evaluation index to the (zero-based) variable index (among all variables) and the (zero-based) step index within that variable | |
Private Attributes | |
size_t | numEvals |
total number of parameter study evaluations computed from specification | |
RealVectorArray | listCVPoints |
array of continuous evaluation points for the list_parameter_study | |
IntVectorArray | listDIVPoints |
array of discrete int evaluation points for the list_parameter_study | |
StringMulti2DArray | listDSVPoints |
array of discrete string evaluation points for the list_parameter_study | |
RealVectorArray | listDRVPoints |
array of discrete real evaluation points for the list_parameter_study | |
RealVector | initialCVPoint |
the continuous start point for vector and centered parameter studies | |
IntVector | initialDIVPoint |
the discrete int start point for vector and centered parameter studies | |
StringMultiArray | initialDSVPoint |
the discrete string start point for vector and centered parameter studies | |
RealVector | initialDRVPoint |
the discrete real start point for vector and centered parameter studies | |
RealVector | finalCVPoint |
the continuous ending point for vector_parameter_study | |
IntVector | finalDIVPoint |
the discrete int range value or set index ending point for vector_parameter_study | |
IntVector | finalDSVPoint |
the discrete string set index ending point for vector_parameter_study | |
IntVector | finalDRVPoint |
the discrete real set index ending point for vector_parameter_study | |
RealVector | contStepVector |
the n-dimensional continuous increment | |
IntVector | discIntStepVector |
the n-dimensional discrete integer range value or set index increment | |
IntVector | discStringStepVector |
the n-dimensional discrete string set index increment | |
IntVector | discRealStepVector |
the n-dimensional discrete real set index increment | |
int | numSteps |
the number of times continuous/discrete step vectors are applied for vector_parameter_study (a specification option) | |
IntVector | stepsPerVariable |
number of offsets in the plus and the minus direction for each variable in a centered_parameter_study More... | |
IntVector | contStepsPerVariable |
number of offsets in the plus and the minus direction for each continuous variable in a centered_parameter_study | |
IntVector | discIntStepsPerVariable |
number of offsets in the plus and the minus direction for each discrete integer variable in a centered_parameter_study | |
IntVector | discStringStepsPerVariable |
number of offsets in the plus and the minus direction for each discrete string variable in a centered_parameter_study | |
IntVector | discRealStepsPerVariable |
number of offsets in the plus and the minus direction for each discrete real variable in a centered_parameter_study | |
UShortArray | contVarPartitions |
number of partitions for each continuous variable in a multidim_parameter_study | |
UShortArray | discIntVarPartitions |
number of partitions for each discrete integer variable in a multidim_parameter_study | |
UShortArray | discStringVarPartitions |
number of partitions for each discrete string variable in a multidim_parameter_study | |
UShortArray | discRealVarPartitions |
number of partitions for each discrete real variable in a multidim_parameter_study | |
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... | |
Protected Attributes inherited from PStudyDACE | |
SensAnalysisGlobal | pStudyDACESensGlobal |
initialize statistical post processing | |
bool | volQualityFlag |
flag which specifies evaluation of volumetric quality measures | |
bool | varBasedDecompFlag |
flag which specifies calculating variance based decomposition sensitivity analysis metrics | |
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 | |
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 | |
Class for vector, list, centered, and multidimensional parameter studies.
The ParamStudy class contains several algorithms for performing parameter studies of different types. The vector parameter study steps along an n-dimensional vector from an arbitrary initial point to an arbitrary final point in a specified number of steps. The centered parameter study performs a number of plus and minus offsets in each coordinate direction around a center point. A multidimensional parameter study fills an n-dimensional hypercube based on bounds and a specified number of partitions for each dimension. And the list parameter study provides for a user specification of a list of points to evaluate, which allows general parameter investigations not fitting the structure of vector, centered, or multidim parameter studies.
|
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 Analyzer.
References Dakota::abort_handler(), Analyzer::allHeaders, Analyzer::allVariables, ParamStudy::centered_loop(), Variables::continuous_variables(), ParamStudy::contStepsPerVariable, ParamStudy::contStepVector, ParamStudy::contVarPartitions, Variables::copy(), Dakota::copy_data(), Model::current_variables(), ParamStudy::discIntStepsPerVariable, ParamStudy::discIntStepVector, ParamStudy::discIntVarPartitions, ParamStudy::discRealStepsPerVariable, ParamStudy::discRealStepVector, ParamStudy::discRealVarPartitions, Variables::discrete_int_variables(), Variables::discrete_real_variables(), Variables::discrete_string_variables(), ParamStudy::discStringStepsPerVariable, ParamStudy::discStringStepVector, ParamStudy::discStringVarPartitions, ParamStudy::distribute_partitions(), ParamStudy::final_point_to_step_vector(), ParamStudy::finalCVPoint, ParamStudy::finalDIVPoint, ParamStudy::finalDRVPoint, ParamStudy::finalDSVPoint, ParamStudy::initialCVPoint, ParamStudy::initialDIVPoint, ParamStudy::initialDRVPoint, ParamStudy::initialDSVPoint, Iterator::iteratedModel, Iterator::method_enum_to_string(), Iterator::methodName, ParamStudy::multidim_loop(), Analyzer::numDiscreteStringVars, ParamStudy::numEvals, ParamStudy::numSteps, Iterator::outputLevel, Analyzer::pre_run(), ParamStudy::sample(), Variables::shared_data(), Dakota::svd(), ParamStudy::vector_loop(), and Dakota::write_ordered().
|
virtual |
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References ParamStudy::archive_allocate_sets(), Analyzer::evaluate_parameter_sets(), Iterator::iteratedModel, Iterator::methodName, Analyzer::numLSqTerms, Analyzer::numObjFns, and Iterator::subIteratorFlag.
|
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 ResultsManager::active(), Analyzer::allResponses, Analyzer::allVariables, SensAnalysisGlobal::archive_correlations(), SensAnalysisGlobal::compute_correlations(), Model::discrete_set_string_values(), Iterator::iteratedModel, Iterator::methodName, Model::ordered_labels(), Analyzer::post_run(), PStudyDACE::pStudyDACESensGlobal, Model::response_labels(), Iterator::resultsDB, Iterator::run_identifier(), and Iterator::subIteratorFlag.
|
private |
load list of points from data file and distribute among listCVPoints, listDIVPoints, listDSVPoints, and listDRVPoints
Load from file and distribute points; using this function to manage construction of the temporary arrays. Historically all data was read as a real (mixture of values and indices), but now points_file is valued-based (reals, integers, strings) so file input matches tabular data output. Return false on success.
References Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Variables::copy(), Model::current_variables(), Model::discrete_int_lower_bounds(), Model::discrete_int_sets(), Model::discrete_int_upper_bounds(), Model::discrete_set_int_values(), Model::discrete_set_real_values(), Model::discrete_set_string_values(), Iterator::iteratedModel, ParamStudy::listCVPoints, ParamStudy::listDIVPoints, ParamStudy::listDRVPoints, ParamStudy::listDSVPoints, Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, Analyzer::numDiscreteRealVars, Analyzer::numDiscreteStringVars, ParamStudy::numEvals, and Dakota::set_value_to_index().
Referenced by ParamStudy::ParamStudy().
|
private |
distributes list_of_pts coming from user spec among listCVPoints, listDIVPoints, listDSVPoints, and listDRVPoints
Parse list of points into typed data containers; list_of_pts will contain values for continuous and discrete integer range, but indices for all discrete set types (int, string, real)
References Dakota::abort_handler(), Model::discrete_int_sets(), Model::discrete_int_variable_labels(), Model::discrete_real_variable_labels(), Model::discrete_set_int_values(), Model::discrete_set_real_values(), Model::discrete_set_string_values(), Model::discrete_string_variable_labels(), ParamStudy::distribute(), Iterator::iteratedModel, ParamStudy::listCVPoints, ParamStudy::listDIVPoints, ParamStudy::listDRVPoints, ParamStudy::listDSVPoints, Iterator::method_id(), Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, Analyzer::numDiscreteRealVars, Analyzer::numDiscreteStringVars, ParamStudy::numEvals, and Dakota::set_index_to_value().
Referenced by ParamStudy::ParamStudy().
|
private |
number of offsets in the plus and the minus direction for each variable in a centered_parameter_study
The per-type step arrays below could be made views into this, instead of duplicating, but if so, distribute() will not be allowed to resize the individual vectors.
Referenced by ParamStudy::check_steps_per_variable(), and ParamStudy::index_to_var_step().