$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends
ConcurrentMetaIterator Class Reference

Meta-iterator for multi-start iteration or pareto set optimization. More...

Inheritance diagram for ConcurrentMetaIterator:
MetaIterator Iterator

List of all members.

Public Member Functions

 ConcurrentMetaIterator (ProblemDescDB &problem_db)
 standard constructor
 ConcurrentMetaIterator (ProblemDescDB &problem_db, Model &model)
 alternate constructor
 ~ConcurrentMetaIterator ()
 destructor

Protected Member Functions

void pre_run ()
 pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori
void core_run ()
 Performs the concurrent iteration by executing selectedIterator on iteratedModel multiple times in parallel for different parameter sets.
void print_results (std::ostream &s)
 print the final iterator results
void derived_init_communicators (ParLevLIter pl_iter)
 derived class contributions to initializing the communicators associated with this Iterator instance
void derived_set_communicators (ParLevLIter pl_iter)
 derived class contributions to setting the communicators associated with this Iterator instance
void derived_free_communicators (ParLevLIter pl_iter)
 derived class contributions to freeing the communicators associated with this Iterator instance
IntIntPair estimate_partition_bounds ()
 estimate the minimum and maximum partition sizes that can be utilized by this Iterator
void initialize_iterator (int job_index)
 used by IteratorScheduler to set the starting data for a run
void pack_parameters_buffer (MPIPackBuffer &send_buffer, int job_index)
 used by IteratorScheduler to pack starting data for an iterator run
void unpack_parameters_initialize (MPIUnpackBuffer &recv_buffer)
 used by IteratorScheduler to unpack starting data and initialize an iterator run
void pack_results_buffer (MPIPackBuffer &send_buffer, int job_index)
 used by IteratorScheduler to pack results data from an iterator run
void unpack_results_buffer (MPIUnpackBuffer &recv_buffer, int job_index)
 used by IteratorScheduler to unpack results data from an iterator run
void update_local_results (int job_index)
 used by IteratorScheduler to update local results arrays
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

Private Member Functions

void initialize_iterator (const RealVector &param_set)
 called by unpack_parameters_initialize(MPIUnpackBuffer) and initialize_iterator(int) to update iteratedModel and selectedIterator
void initialize_model ()
 initialize the iterated Model prior to Iterator instantiation and define param_set_len

Private Attributes

Iterator selectedIterator
 the iterator selected for concurrent iteration
bool lightwtCtor
 use of lightweight Iterator construction by name
RealVector initialPt
 the initial continuous variables for restoring the starting point in the Pareto set minimization
RealVectorArray parameterSets
 an array of parameter set vectors (either multistart variable sets or pareto multi-objective/least squares weighting sets) to be performed.
int paramSetLen
 length of each of the parameter sets associated with an iterator job (number of continuous variables for MULTI_START, number of objective fns for PARETO_SET)
int numRandomJobs
 number of randomly-generated parameter sets to evaluate
int randomSeed
 seed for random number generator for random samples
PRPArray prpResults
 1-d array of ParamResponsePair results corresponding to numIteratorJobs

Friends

class IteratorScheduler
 protect scheduler callback functions from general access

Detailed Description

Meta-iterator for multi-start iteration or pareto set optimization.

This meta-iterator maintains two concurrent iterator capabilities. First, a general capability for running an iterator multiple times from different starting points is provided (often used for multi-start optimization, but not restricted to optimization). Second, a simple capability for mapping the "pareto frontier" (the set of optimal solutions in multiobjective formulations) is provided. This pareto set is mapped through running an optimizer multiple times for different sets of multiobjective weightings.


Member Function Documentation

void pre_run ( ) [protected, virtual]
void print_results ( std::ostream &  s) [protected, virtual]

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