Dakota  Version 6.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
Iterator Class Reference

Base class for the iterator class hierarchy. More...

Inheritance diagram for Iterator:
Analyzer MetaIterator Minimizer NonD PStudyDACE Verification CollabHybridMetaIterator ConcurrentMetaIterator EmbedHybridMetaIterator SeqHybridMetaIterator LeastSq Optimizer PebbldMinimizer SurrBasedMinimizer

Public Member Functions

 Iterator ()
 default constructor More...
 
 Iterator (ProblemDescDB &problem_db)
 standard envelope constructor, which constructs its own model(s) More...
 
 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 More...
 
 Iterator (const String &method_string, Model &model)
 alternate envelope constructor for instantiations by name without the ProblemDescDB More...
 
 Iterator (const Iterator &iterator)
 copy constructor More...
 
virtual ~Iterator ()
 destructor More...
 
Iterator operator= (const Iterator &iterator)
 assignment operator More...
 
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 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...
 
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 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 Variablesvariables_results () const
 return a single final iterator solution (variables)
 
virtual const Responseresponse_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 More...
 
virtual void print_results (std::ostream &s)
 print the final iterator results More...
 
virtual const Modelalgorithm_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 More...
 
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 void sampling_increment ()
 increment to next in sequence of refinement samples
 
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 bool resize ()
 reinitializes iterator based on new variable size
 
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 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 (Iterator *iterator_rep, bool ref_count_incr=true)
 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)
 
Modeliterated_model ()
 return the iteratedModel (iterators & meta-iterators using a single model instance)
 
ProblemDescDBproblem_description_db () const
 return the problem description database (probDescDB)
 
ParallelLibraryparallel_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 ActiveSetactive_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?)
 
Iteratoriterator_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...
 

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) More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name, Model &model)
 alternate constructor for base iterator classes constructed on the fly More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name)
 alternate constructor for base iterator classes constructed on the fly 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
 

Static Protected Member Functions

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

ProblemDescDBprobDescDB
 class member reference to the problem description database More...
 
ParallelLibraryparallelLib
 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
 
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 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)
 
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
 
ResultsManagerresultsDB
 reference to the global iterator results database
 
ResultsNames resultsNames
 valid names for iterator results
 

Private Member Functions

Iteratorget_iterator (ProblemDescDB &problem_db)
 Used by the envelope to instantiate the correct letter class. More...
 
Iteratorget_iterator (ProblemDescDB &problem_db, Model &model)
 Used by the envelope to instantiate the correct letter class. More...
 
Iteratorget_iterator (const String &method_string, Model &model)
 Used by the envelope to instantiate the correct letter class. More...
 

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)
 
IteratoriteratorRep
 pointer to the letter (initialized only for the envelope)
 
int referenceCount
 number of objects sharing iteratorRep
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

Iterator ( const String &  method_string,
Model model 
)

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.

Iterator ( const Iterator iterator)

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.

Member Function Documentation

Iterator operator= ( const Iterator iterator)

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 NonD, SNLLOptimizer, Analyzer, NLPQLPOptimizer, 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 Analyzer, NonDLHSSampling, DDACEDesignCompExp, ConcurrentMetaIterator, NonDRKDDarts, FSUDesignCompExp, ParamStudy, NonDMultilevelSampling, and PSUADEDesignCompExp.

References Iterator::iteratorRep, and Iterator::pre_run().

Referenced by Iterator::pre_run(), and Iterator::run().

void core_run ( )
virtual
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 NonDRKDDarts, SNLLOptimizer, COLINOptimizer, Analyzer, SNLLLeastSq, NonDLHSSampling, Minimizer, DDACEDesignCompExp, Optimizer, FSUDesignCompExp, MetaIterator, ParamStudy, PSUADEDesignCompExp, NonDMultilevelSampling, and LeastSq.

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 NonD, SNLLOptimizer, Analyzer, SNLLLeastSq, Minimizer, Optimizer, and LeastSq.

References Iterator::finalize_run(), and Iterator::iteratorRep.

Referenced by Minimizer::finalize_run(), Analyzer::finalize_run(), Iterator::finalize_run(), NonD::finalize_run(), Iterator::run(), and SeqHybridMetaIterator::run_sequential_adaptive().

void initialize_graphics ( int  iterator_server_id = 1)
virtual
void print_results ( std::ostream &  s)
virtual
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 ( )
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:

  • ref_count_incr = true (default): the incoming letter belongs to another envelope. In this case, increment the reference count in the normal manner so that deallocation of the letter is handled properly.
  • ref_count_incr = false: the incoming letter is instantiated on the fly and has no envelope. This case is modeled after get_iterator(): a letter is dynamically allocated using new and passed into assign_rep, the letter's reference count is not incremented, and the letter is not remotely deleted (its memory management is passed over to the envelope).

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(), Minimizer::data_transform_model(), EffGlobalMinimizer::EffGlobalMinimizer(), ActiveSubspaceModel::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 Iterator::eval_tag_prefix(), Model::eval_tag_prefix(), Iterator::iteratedModel, and Iterator::iteratorRep.

Referenced by NestedModel::derived_evaluate(), Iterator::eval_tag_prefix(), Iterator::init_communicators(), NestedModel::initialize_iterator(), and DataFitSurrModel::run_dace_iterator().

void gnewton_set_recast ( const Variables recast_vars,
const ActiveSet recast_set,
ActiveSet sub_model_set 
)
staticprotected

conversion of request vector values for the Gauss-Newton Hessian approximation

For Gauss-Newton Hessian requests, activate the 2 bit and mask the 4 bit.

References ActiveSet::request_value(), and ActiveSet::request_vector().

Referenced by NonDBayesCalibration::NonDBayesCalibration(), and Optimizer::reduce_model().

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().

Member Data Documentation

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(), 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(), JEGAOptimizer::JEGAOptimizer(), MetaIterator::new_model(), NLSSOLLeastSq::NLSSOLLeastSq(), NomadOptimizer::NomadOptimizer(), NonD::NonD(), NonDAdaptImpSampling::NonDAdaptImpSampling(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCalibration::NonDCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDInterval::NonDInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), NonDMultilevelSampling::NonDMultilevelSampling(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSampling::NonDSampling(), NonDSparseGrid::NonDSparseGrid(), NonDStochCollocation::NonDStochCollocation(), NPSOLOptimizer::NPSOLOptimizer(), OptDartsOptimizer::OptDartsOptimizer(), ParamStudy::ParamStudy(), NonlinearCGOptimizer::parse_options(), NonDAdaptiveSampling::parse_options(), PebbldMinimizer::PebbldMinimizer(), 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(), SurrBasedMinimizer::derived_free_communicators(), NonDGlobalReliability::derived_free_communicators(), NonDLocalInterval::derived_free_communicators(), NonDExpansion::derived_free_communicators(), NonDGlobalInterval::derived_free_communicators(), NonDGPImpSampling::derived_free_communicators(), NonDAdaptiveSampling::derived_free_communicators(), NonDLocalReliability::derived_free_communicators(), NonDPolynomialChaos::derived_free_communicators(), NonDBayesCalibration::derived_free_communicators(), Iterator::derived_free_communicators(), SurrBasedMinimizer::derived_init_communicators(), NonDGlobalReliability::derived_init_communicators(), NonDLocalInterval::derived_init_communicators(), NonDExpansion::derived_init_communicators(), NonDGlobalInterval::derived_init_communicators(), NonDGPImpSampling::derived_init_communicators(), NonDAdaptiveSampling::derived_init_communicators(), NonDLocalReliability::derived_init_communicators(), NonDPolynomialChaos::derived_init_communicators(), NonDBayesCalibration::derived_init_communicators(), Iterator::derived_init_communicators(), SurrBasedMinimizer::derived_set_communicators(), NonDExpansion::derived_set_communicators(), NonDLocalReliability::derived_set_communicators(), NonDPolynomialChaos::derived_set_communicators(), NonDBayesCalibration::derived_set_communicators(), Iterator::derived_set_communicators(), NonD::derived_set_communicators(), EffGlobalMinimizer::EffGlobalMinimizer(), 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(), NonDMultilevelSampling::NonDMultilevelSampling(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSampling::NonDSampling(), NonDSparseGrid::NonDSparseGrid(), Analyzer::num_samples(), ParamStudy::ParamStudy(), PSUADEDesignCompExp::PSUADEDesignCompExp(), Iterator::resize_communicators(), RichExtrapVerification::RichExtrapVerification(), APPSOptimizer::set_apps_parameters(), COLINOptimizer::set_solver_parameters(), SNLLOptimizer::SNLLOptimizer(), and Iterator::update_from_model().


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