$extrastylesheet
Dakota
Version 6.2
|
Base class for the iterator class hierarchy. More...
Public Member Functions | |
Iterator () | |
default constructor | |
Iterator (ProblemDescDB &problem_db) | |
standard envelope constructor, which constructs its own model(s) | |
Iterator (ProblemDescDB &problem_db, Model &model) | |
alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (meta-iterator) context, instead of constructing its own | |
Iterator (const String &method_string, Model &model) | |
alternate envelope constructor for instantiations by name without the ProblemDescDB | |
Iterator (const Iterator &iterator) | |
copy constructor | |
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 | |
virtual void | pre_run () |
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori | |
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 | |
virtual 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 | |
virtual void | finalize_run () |
utility function to perform common operations following post_run(); deallocation and resetting of instance pointers | |
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 | 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) |
used by IteratorScheduler to unpack starting data for an iterator run | |
virtual void | unpack_parameters_initialize (MPIUnpackBuffer &recv_buffer) |
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 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_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 | response_results_active_set (const ActiveSet &set) |
set the requested data for the final iterator response results | |
virtual void | initialize_graphics (int iterator_server_id=1) |
initialize the 2D graphics window and the tabular graphics data | |
virtual void | print_results (std::ostream &s) |
print the final iterator results | |
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 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 int | num_samples () const |
get the current number of samples | |
virtual void | sampling_reset (int min_samples, bool all_data_flag, bool stats_flag) |
reset sampling iterator to use at least min_samples | |
virtual void | sampling_reference (int samples_ref) |
set reference number of samples, which is a lower bound during reset | |
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 | |
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 | parallel_configuration_iterator (ParConfigLIter pc_iter) |
set methodPCIter | |
ParConfigLIter | parallel_configuration_iterator () const |
return methodPCIter | |
void | run (ParLevLIter pl_iter) |
invoke set_communicators(pl_iter) prior to run() | |
void | run () |
orchestrate initialize/pre/core/post/finalize phases | |
void | assign_rep (Iterator *iterator_rep, bool ref_count_incr=true) |
replaces existing letter with a new one | |
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_name) const |
convert a method name enumeration value to a string | |
unsigned short | method_string_to_enum (const String &method_name) const |
convert a method name string to an enumeration value | |
String | submethod_enum_to_string (unsigned short submethod_name) const |
convert a 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 | |
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 vector (for use with iterators that employ evaluate_parameter_sets()) | |
const ActiveSet & | active_set () const |
return the default active set vector (used by iterators that employ evaluate_parameter_sets()) | |
void | sub_iterator_flag (bool si_flag) |
set subIteratorFlag (and update summaryOutputFlag if needed) | |
void | active_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 | |
bool | is_null () const |
function to check iteratorRep (does this envelope contain a letter?) | |
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 | |
Protected Member Functions | |
Iterator (BaseConstructor, ProblemDescDB &problem_db) | |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) | |
Iterator (NoDBBaseConstructor, unsigned short method_name, Model &model) | |
alternate constructor for base iterator classes constructed on the fly | |
Iterator (NoDBBaseConstructor, unsigned short method_name) | |
alternate constructor for base iterator classes constructed on the fly | |
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 | |
Protected Attributes | |
ProblemDescDB & | probDescDB |
class member reference to the problem description database | |
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) | |
unsigned short | methodName |
name of the iterator (the user's method spec) | |
Real | convergenceTol |
iteration convergence tolerance | |
int | maxIterations |
maximum number of iterations for the iterator | |
int | maxFunctionEvals |
maximum number of fn evaluations for the iterator | |
int | maxEvalConcurrency |
maximum number of concurrent model evaluations | |
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) | |
SizetArray | primaryACVarMapIndices |
"primary" all continuous variable mapping indices flowed down from higher level iteration | |
SizetArray | primaryADIVarMapIndices |
"primary" all discrete int variable mapping indices flowed down from higher level iteration | |
SizetArray | primaryADSVarMapIndices |
"primary" all discrete string variable mapping indices flowed down from higher level iteration | |
SizetArray | primaryADRVarMapIndices |
"primary" all discrete real variable mapping indices flowed down from higher level iteration | |
ShortArray | secondaryACVarMapTargets |
"secondary" all continuous variable mapping targets flowed down from higher level iteration | |
ShortArray | secondaryADIVarMapTargets |
"secondary" all discrete int variable mapping targets flowed down from higher level iteration | |
ShortArray | secondaryADSVarMapTargets |
"secondary" all discrete string variable mapping targets flowed down from higher level iteration | |
ShortArray | secondaryADRVarMapTargets |
"secondary" all discrete real variable mapping targets flowed down from higher level iteration | |
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 | |
ResultsNames | resultsNames |
valid names for iterator results | |
Private Member Functions | |
Iterator * | get_iterator (ProblemDescDB &problem_db) |
Used by the envelope to instantiate the correct letter class. | |
Iterator * | get_iterator (ProblemDescDB &problem_db, Model &model) |
Used by the envelope to instantiate the correct letter class. | |
Iterator * | get_iterator (const String &method_string, Model &model) |
Used by the envelope to instantiate the correct letter class. | |
Private Attributes | |
String | methodId |
method identifier string from the input file | |
size_t | execNum |
an execution number for this instance of the class, unique across all instances of same methodName/methodId | |
std::map< size_t, ParConfigLIter > | methodPCIterMap |
track the available configurations that have been created (init_communicators) and are available for activation at run time (set_communicators) | |
Iterator * | iteratorRep |
pointer to the letter (initialized only for the envelope) | |
int | referenceCount |
number of objects sharing iteratorRep |
Base class for the iterator class hierarchy.
The Iterator class is the base class for one of the primary class hierarchies in DAKOTA. The iterator hierarchy contains all of the iterative algorithms which use repeated execution of simulations as function evaluations. For memory efficiency and enhanced polymorphism, the iterator hierarchy employs the "letter/envelope idiom" (see Coplien "Advanced C++", p. 133), for which the base class (Iterator) serves as the envelope and one of the derived classes (selected in Iterator::get_iterator()) serves as the letter.
Iterator | ( | ) |
default constructor
The default constructor is used in Vector<Iterator> instantiations and for initialization of Iterator objects contained in meta-Iterators and Model recursions. iteratorRep is NULL in this case, making it necessary to check for NULL pointers in the copy constructor, assignment operator, and destructor.
Iterator | ( | ProblemDescDB & | problem_db | ) |
standard envelope constructor, which constructs its own model(s)
Envelope constructor only needs to extract enough data to properly execute get_iterator(), since letter holds the actual base class data. This version is used for top-level ProblemDescDB-driven construction of all Iterators and MetaIterators, which construct their own Model instances.
References Dakota::abort_handler(), Iterator::get_iterator(), and Iterator::iteratorRep.
Iterator | ( | ProblemDescDB & | problem_db, |
Model & | model | ||
) |
alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (meta-iterator) context, instead of constructing its own
Envelope constructor only needs to extract enough data to properly execute get_iterator(), since letter holds the actual base class data. This version is used for ProblemDescDB-driven construction of Iterators that are passed a Model from a higher-level context (e.g., a MetaIterator instantiates its sub-iterator(s) by name instead of pointer and passes in its iteratedModel, since these sub-iterators lack their own model pointers).
References Dakota::abort_handler(), Iterator::get_iterator(), and Iterator::iteratorRep.
alternate envelope constructor for instantiations by name without the ProblemDescDB
Used in sub-iterator instantiations within iterator constructors. Envelope constructor only needs to extract enough data to properly execute get_iterator(), since letter holds the actual base class data. This version is used for lightweight constructions without the ProblemDescDB.
References Dakota::abort_handler(), Iterator::get_iterator(), and Iterator::iteratorRep.
copy constructor
Copy constructor manages sharing of iteratorRep and incrementing of referenceCount.
References Iterator::iteratorRep, and Iterator::referenceCount.
~Iterator | ( | ) | [virtual] |
destructor
Destructor decrements referenceCount and only deletes iteratorRep when referenceCount reaches zero.
References Iterator::iteratorRep, and Iterator::referenceCount.
Iterator | ( | BaseConstructor | , |
ProblemDescDB & | problem_db | ||
) | [protected] |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139)
This constructor builds the base class data for all inherited iterators, including meta-iterators. get_iterator() instantiates a derived class and the derived class selects this base class constructor in its initialization list (to avoid the recursion of the base class constructor calling get_iterator() again). Since the letter IS the representation, its representation pointer is set to NULL (an uninitialized pointer causes problems in ~Iterator).
References Iterator::method_enum_to_string(), Iterator::methodName, and Iterator::outputLevel.
Iterator | ( | NoDBBaseConstructor | , |
unsigned short | method_name, | ||
Model & | model | ||
) | [protected] |
alternate constructor for base iterator classes constructed on the fly
This alternate constructor builds base class data for inherited iterators. It is used for on-the-fly instantiations for which DB queries cannot be used, and is not used for construction of meta-iterators.
Iterator | ( | NoDBBaseConstructor | , |
unsigned short | method_name | ||
) | [protected] |
alternate constructor for base iterator classes constructed on the fly
This alternate constructor builds base class data for inherited iterators. It is used for on-the-fly instantiations for which DB queries cannot be used, and is not used for construction of meta-iterators. It has no incoming model, so only sets up a minimal set of defaults. However, its use is preferable to the default constructor, which should remain as minimal as possible.
assignment operator
Assignment operator decrements referenceCount for old iteratorRep, assigns new iteratorRep, and increments referenceCount for new iteratorRep.
References Iterator::iteratorRep, and Iterator::referenceCount.
void initialize_run | ( | ) | [virtual] |
utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call its nearest parent's initialize_run(), typically _before_ performing its own implementation steps.
Reimplemented in SNLLOptimizer, NonD, NLPQLPOptimizer, Analyzer, SNLLLeastSq, Minimizer, CONMINOptimizer, DOTOptimizer, Optimizer, and LeastSq.
References Iterator::initialize_run(), and Iterator::iteratorRep.
Referenced by Iterator::initialize_run(), Iterator::run(), and SeqHybridMetaIterator::run_sequential_adaptive().
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 in NonDLHSSampling, ConcurrentMetaIterator, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, and PSUADEDesignCompExp.
References Iterator::iteratorRep, and Iterator::pre_run().
Referenced by Iterator::pre_run(), and Iterator::run().
void core_run | ( | ) | [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 in NonD, SeqHybridMetaIterator, ConcurrentMetaIterator, Optimizer, EmbedHybridMetaIterator, CollabHybridMetaIterator, LeastSq, PStudyDACE, SurrBasedMinimizer, and Verification.
References Dakota::abort_handler(), Iterator::core_run(), and Iterator::iteratorRep.
Referenced by Iterator::core_run(), and Iterator::run().
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 in SNLLOptimizer, COLINOptimizer, SNLLLeastSq, Analyzer, Minimizer, NonDLHSSampling, Optimizer, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, MetaIterator, LeastSq, and PSUADEDesignCompExp.
References Iterator::iteratorRep, and Iterator::post_run().
Referenced by Iterator::post_run(), and Iterator::run().
void finalize_run | ( | ) | [virtual] |
utility function to perform common operations following post_run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call its nearest parent's finalize_run(), typically _after_ performing its own implementation steps.
Reimplemented in SNLLOptimizer, NonD, SNLLLeastSq, Minimizer, Optimizer, and LeastSq.
References Iterator::finalize_run(), and Iterator::iteratorRep.
Referenced by Iterator::finalize_run(), Iterator::run(), and SeqHybridMetaIterator::run_sequential_adaptive().
void initialize_graphics | ( | int | iterator_server_id = 1 | ) | [virtual] |
initialize the 2D graphics window and the tabular graphics data
This is a convenience function for encapsulating graphics initialization operations. It is overridden by derived classes that specialize the graphics display.
Reimplemented in SurrBasedMinimizer, and NonDReliability.
References Model::auto_graphics(), Graphics::create_plots_2d(), OutputManager::create_tabular_datastream(), Model::current_response(), Model::current_variables(), OutputManager::graph2DFlag, OutputManager::graphics(), Iterator::initialize_graphics(), Iterator::iteratedModel, Iterator::iteratorRep, ParallelLibrary::output_manager(), Iterator::parallelLib, and OutputManager::tabularDataFlag.
Referenced by CollabHybridMetaIterator::core_run(), EmbedHybridMetaIterator::core_run(), ConcurrentMetaIterator::core_run(), Environment::execute(), Iterator::initialize_graphics(), SeqHybridMetaIterator::run_sequential(), and SeqHybridMetaIterator::run_sequential_adaptive().
void print_results | ( | std::ostream & | s | ) | [virtual] |
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 in Analyzer, NonDLHSSampling, NonDPOFDarts, NonDQUESOBayesCalibration, NonDLocalReliability, SeqHybridMetaIterator, NonDAdaptiveSampling, ConcurrentMetaIterator, NonDGPImpSampling, Optimizer, NonDAdaptImpSampling, NonDGlobalReliability, NonDIncremLHSSampling, NonDInterval, NonDExpansion, LeastSq, PStudyDACE, SurrBasedMinimizer, RichExtrapVerification, and Verification.
References Iterator::iteratorRep, and Iterator::print_results().
Referenced by MetaIterator::post_run(), Minimizer::post_run(), Iterator::print_results(), and EfficientSubspaceMethod::reduced_space_uq().
unsigned short uses_method | ( | ) | const [virtual] |
return name of any enabling iterator used by this iterator
This is used to avoid clashes in state between non-object-oriented (i.e., F77, C) iterator executions, when such iterators could potentially be executing simulataneously (e.g., nested execution). It is not an issue (and a used method is not reported) in cases where a helper execution is completed before a lower level one could be initiated; an example of this is DIRECT for maximization of expected improvement: the EIF maximization is completed before a new point evaluation (which could include nested iteration) is performed.
Reimplemented in NonDLocalReliability, and NonDLocalInterval.
References Iterator::iteratorRep, and Iterator::uses_method().
Referenced by DOTOptimizer::initialize(), CONMINOptimizer::initialize(), NCSUOptimizer::initialize(), NLPQLPOptimizer::initialize(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), SOLBase::SOLBase(), and Iterator::uses_method().
void run | ( | ) |
orchestrate initialize/pre/core/post/finalize phases
Iterator supports a construct/initialize-run/pre-run/core-run/post-run/ finalize-run/destruct progression. This member (non-virtual) function sequences these run phases.
References ParallelLibrary::command_line_post_run(), ParallelLibrary::command_line_pre_run(), ParallelLibrary::command_line_run(), Iterator::core_run(), Iterator::execNum, Iterator::finalize_run(), ResultsID::increment_id(), Iterator::initialize_run(), ResultsID::instance(), Iterator::iteratorRep, Iterator::method_enum_to_string(), Iterator::method_id(), Iterator::method_string(), Iterator::methodName, Iterator::outputLevel, Iterator::parallelLib, Iterator::post_input(), Iterator::post_run(), Iterator::pre_output(), Iterator::pre_run(), Iterator::run(), and Iterator::summaryOutputFlag.
Referenced by Iterator::run().
void assign_rep | ( | Iterator * | iterator_rep, |
bool | ref_count_incr = true |
||
) |
replaces existing letter with a new one
Similar to the assignment operator, the assign_rep() function decrements referenceCount for the old iteratorRep and assigns the new iteratorRep. It is different in that it is used for publishing derived class letters to existing envelopes, as opposed to sharing representations among multiple envelopes (in particular, assign_rep is passed a letter object and operator= is passed an envelope object). Letter assignment supports two models as governed by ref_count_incr:
References Dakota::abort_handler(), Iterator::iterator_rep(), Iterator::iteratorRep, and Iterator::referenceCount.
Referenced by NonDExpansion::construct_cubature(), NonDExpansion::construct_expansion_sampler(), NonDAdaptiveSampling::construct_fsu_sampler(), NonD::construct_lhs(), NonDExpansion::construct_quadrature(), NonDExpansion::construct_sparse_grid(), EffGlobalMinimizer::EffGlobalMinimizer(), EfficientSubspaceMethod::init_fullspace_sampler(), NonDLocalInterval::method_recourse(), NonDLocalReliability::method_recourse(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDLHSInterval::NonDLHSInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), GaussProcApproximation::optimize_theta_global(), GaussProcApproximation::optimize_theta_multipoint(), and SurrBasedLocalMinimizer::relax_constraints().
void eval_tag_prefix | ( | const String & | eval_id_str | ) | [virtual] |
set the hierarchical eval ID tag prefix
This prepend may need to become a virtual function if the tagging should propagate to other subModels or helper Iterators an Iterator may contain.
References Model::eval_tag_prefix(), Iterator::eval_tag_prefix(), Iterator::iteratedModel, and Iterator::iteratorRep.
Referenced by DataFitSurrModel::build_global(), NestedModel::derived_compute_response(), Iterator::eval_tag_prefix(), and NestedModel::initialize_iterator().
Iterator * get_iterator | ( | ProblemDescDB & | problem_db | ) | [private] |
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by the DB's method_name. Supports all iterators and meta-iterators. These instantiations will NOT recurse on the Iterator(problem_db) constructor due to the use of BaseConstructor.
References ProblemDescDB::get_model(), ProblemDescDB::get_ushort(), Iterator::method_enum_to_string(), Iterator::method_name(), and Dakota::SUBMETHOD_COLLABORATIVE.
Referenced by Iterator::Iterator().
Iterator * get_iterator | ( | ProblemDescDB & | problem_db, |
Model & | model | ||
) | [private] |
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type. Alternate construction of meta-iterators is supported to enable use of meta-iterators as components. These instantiations will NOT recurse on the Iterator(problem_db, model) constructor due to the use of BaseConstructor.
References ProblemDescDB::get_ushort(), Iterator::method_enum_to_string(), Iterator::method_name(), Iterator::probDescDB, and Dakota::SUBMETHOD_COLLABORATIVE.
Iterator * get_iterator | ( | const String & | method_string, |
Model & | model | ||
) | [private] |
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by the passed method_string. Lightweight instantiations by name are supported by a subset of Iterators (primarily Minimizers).
References Dakota::strbegins(), and Dakota::strends().
ProblemDescDB& probDescDB [protected] |
class member reference to the problem description database
Iterator and Model cannot use a shallow copy of ProblemDescDB due to circular destruction dependency (reference counts can't get to 0), since ProblemDescDB contains {iterator,model}List.
Referenced by MetaIterator::allocate_by_name(), MetaIterator::allocate_by_pointer(), Analyzer::Analyzer(), MetaIterator::check_model(), COLINOptimizer::COLINOptimizer(), CollabHybridMetaIterator::CollabHybridMetaIterator(), NonDExpansion::construct_expansion_sampler(), Minimizer::data_transform_model(), SurrBasedMinimizer::derived_init_communicators(), CollabHybridMetaIterator::derived_init_communicators(), EmbedHybridMetaIterator::derived_init_communicators(), ConcurrentMetaIterator::derived_init_communicators(), SeqHybridMetaIterator::derived_init_communicators(), EffGlobalMinimizer::EffGlobalMinimizer(), MetaIterator::estimate_by_name(), MetaIterator::estimate_by_pointer(), CollabHybridMetaIterator::estimate_partition_bounds(), EmbedHybridMetaIterator::estimate_partition_bounds(), ConcurrentMetaIterator::estimate_partition_bounds(), SeqHybridMetaIterator::estimate_partition_bounds(), FSUDesignCompExp::FSUDesignCompExp(), Iterator::get_iterator(), ConcurrentMetaIterator::initialize_model(), Minimizer::initialize_scaling(), JEGAOptimizer::JEGAOptimizer(), MetaIterator::new_model(), NLSSOLLeastSq::NLSSOLLeastSq(), NomadOptimizer::NomadOptimizer(), NonD::NonD(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCalibration::NonDCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDInterval::NonDInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSparseGrid::NonDSparseGrid(), NonDStochCollocation::NonDStochCollocation(), NPSOLOptimizer::NPSOLOptimizer(), OptDartsOptimizer::OptDartsOptimizer(), ParamStudy::ParamStudy(), NonlinearCGOptimizer::parse_options(), NonDAdaptiveSampling::parse_options(), Iterator::problem_description_db(), SeqHybridMetaIterator::SeqHybridMetaIterator(), APPSOptimizer::set_apps_parameters(), COLINOptimizer::set_solver_parameters(), SNLLLeastSq::SNLLLeastSq(), SNLLOptimizer::SNLLOptimizer(), COLINOptimizer::solver_setup(), SurrBasedGlobalMinimizer::SurrBasedGlobalMinimizer(), and SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
int maxEvalConcurrency [protected] |
maximum number of concurrent model evaluations
This is important for parallel configuration init/set/free and may be set within empty envelope instances. Therefore, it cannot be pushed down into Analyzer/Minimizer derived classes.
Referenced by DDACEDesignCompExp::DDACEDesignCompExp(), EfficientSubspaceMethod::derived_free_communicators(), SurrBasedMinimizer::derived_free_communicators(), NonDGlobalReliability::derived_free_communicators(), NonDLocalInterval::derived_free_communicators(), NonDBayesCalibration::derived_free_communicators(), NonDExpansion::derived_free_communicators(), NonDGlobalInterval::derived_free_communicators(), NonDAdaptiveSampling::derived_free_communicators(), NonDGPImpSampling::derived_free_communicators(), NonDPolynomialChaos::derived_free_communicators(), NonDLocalReliability::derived_free_communicators(), Iterator::derived_free_communicators(), EfficientSubspaceMethod::derived_init_communicators(), SurrBasedMinimizer::derived_init_communicators(), NonDGlobalReliability::derived_init_communicators(), NonDLocalInterval::derived_init_communicators(), NonDBayesCalibration::derived_init_communicators(), NonDExpansion::derived_init_communicators(), NonDGlobalInterval::derived_init_communicators(), NonDAdaptiveSampling::derived_init_communicators(), NonDGPImpSampling::derived_init_communicators(), NonDPolynomialChaos::derived_init_communicators(), NonDLocalReliability::derived_init_communicators(), Iterator::derived_init_communicators(), EfficientSubspaceMethod::derived_set_communicators(), SurrBasedMinimizer::derived_set_communicators(), NonDExpansion::derived_set_communicators(), NonDBayesCalibration::derived_set_communicators(), NonDPolynomialChaos::derived_set_communicators(), NonDLocalReliability::derived_set_communicators(), Iterator::derived_set_communicators(), NonD::derived_set_communicators(), EffGlobalMinimizer::EffGlobalMinimizer(), EfficientSubspaceMethod::EfficientSubspaceMethod(), Iterator::estimate_partition_bounds(), FSUDesignCompExp::FSUDesignCompExp(), NonDCubature::initialize_grid(), NonDQuadrature::initialize_grid(), NonDSparseGrid::initialize_grid(), NonDExpansion::initialize_u_space_model(), JEGAOptimizer::JEGAOptimizer(), Iterator::maximum_evaluation_concurrency(), NonDAdaptImpSampling::NonDAdaptImpSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCubature::NonDCubature(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDLHSInterval::NonDLHSInterval(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSampling::NonDSampling(), NonDSparseGrid::NonDSparseGrid(), Analyzer::num_samples(), ParamStudy::ParamStudy(), PSUADEDesignCompExp::PSUADEDesignCompExp(), RichExtrapVerification::RichExtrapVerification(), APPSOptimizer::set_apps_parameters(), COLINOptimizer::set_solver_parameters(), SNLLOptimizer::SNLLOptimizer(), and Iterator::update_from_model().