![]() |
Dakota
Version
Explore and Predict with Confidence
|
Base class for meta-iterators. More...
Public Member Functions | |
| bool | resize () |
| reinitializes iterator based on new variable size | |
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 | initialize_run () |
| utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More... | |
| virtual void | pre_run () |
| pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
| 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 | finalize_run () |
| utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More... | |
| virtual void | pre_output () |
| write variables to file, following pre-run | |
| 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 Variables & | variables_results () const |
| return a single final iterator solution (variables) | |
| virtual const Response & | response_results () const |
| return a single final iterator solution (response) | |
| virtual const VariablesArray & | variables_array_results () |
| return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true. | |
| virtual const ResponseArray & | response_array_results () |
| return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true. | |
| virtual void | response_results_active_set (const ActiveSet &set) |
| set the requested data for the final iterator response results | |
| 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 bool | returns_multiple_points () const |
| indicates if this iterator returns multiple final 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 | print_results (std::ostream &s, short results_state=FINAL_RESULTS) |
| print the final iterator results More... | |
| virtual const Model & | algorithm_space_model () const |
| return the result of any recasting or surrogate model recursion layered on top of iteratedModel by the derived Iterator ctor chain | |
| 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 const VariablesArray & | all_variables () |
| return the complete set of evaluated variables | |
| virtual const RealMatrix & | all_samples () |
| return the complete set of evaluated samples | |
| virtual const IntResponseMap & | all_responses () const |
| return the complete set of computed responses | |
| virtual size_t | num_samples () const |
| get the current number of samples | |
| 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 bool | compact_mode () const |
| returns Analyzer::compactMode | |
| 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 | |
| MetaIterator (ProblemDescDB &problem_db) | |
| standard constructor | |
| MetaIterator (ProblemDescDB &problem_db, Model &model) | |
| alternate constructor | |
| ~MetaIterator () | |
| destructor | |
| 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 | check_model (const String &method_ptr, const String &model_ptr) |
| check that a model identified by pointer has the same id as the iteratedModel passed through the ctor chain | |
| void | allocate_by_pointer (const String &method_ptr, Iterator &the_iterator, Model &the_model) |
| initialize the_iterator and the_model based on method_ptr | |
| void | allocate_by_name (const String &method_string, const String &model_ptr, Iterator &the_iterator, Model &the_model) |
| initialize the_iterator based on method_string | |
| std::pair< int, int > | estimate_by_pointer (const String &method_ptr, Iterator &the_iterator, Model &the_model) |
| estimate minimum and maximum processors per iterator needed for init_iterator_parallelism(); instantiates the_iterator and the_model as needed, but on minimal processor ranks (is later augmented by allocate_by_pointer()) | |
| std::pair< int, int > | estimate_by_name (const String &method_string, const String &model_ptr, Iterator &the_iterator, Model &the_model) |
| estimate minimum and maximum processors per iterator needed for init_iterator_parallelism(); instantiates the_iterator and the_model as needed, but on minimal processor ranks (is later augmented by allocate_by_name()) | |
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 void | update_from_model (const Model &model) |
| set inherited data attributes based on extractions from incoming model | |
| 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 | |
| IteratorScheduler | iterSched |
| scheduler for concurrent execution of Iterators | |
| int | maxIteratorConcurrency |
| maximum number of concurrent sub-iterator executions | |
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 | |
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 meta-iterators.
This base class shares code for concurrent and hybrid meta-iterators, where the former supports multi-start and Pareto set iteration and the latter supports sequential, embedded, and collaborative hybrids.
|
protectedvirtual |
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 Iterator.
References MetaIterator::iterSched, IteratorScheduler::lead_rank(), and Iterator::print_results().