HierarchSurrModel Class Reference

hierarchical surrogates (models of varying fidelity). More...

Inheritance diagram for HierarchSurrModel:

SurrogateModel Model List of all members.

Public Member Functions

 HierarchSurrModel (ProblemDescDB &problem_db)
 constructor
 ~HierarchSurrModel ()
 destructor

Protected Member Functions

void derived_compute_response (const ActiveSet &set)
 portion of compute_response() specific to HierarchSurrModel
void derived_asynch_compute_response (const ActiveSet &set)
 portion of asynch_compute_response() specific to HierarchSurrModel
const ResponseArrayderived_synchronize ()
 portion of synchronize() specific to HierarchSurrModel
const IntResponseMap & derived_synchronize_nowait ()
 portion of synchronize_nowait() specific to HierarchSurrModel
Modelsurrogate_model ()
 return lowFidelityModel
Modeltruth_model ()
 return highFidelityModel
void derived_subordinate_models (ModelList &ml, bool recurse_flag)
 return lowFidelityModel and highFidelityModel
void surrogate_bypass (bool bypass_flag)
 for any lower-level surrogates.
void surrogate_function_indices (const IntSet &surr_fn_indices)
 (re)set the surrogate index set in SurrogateModel::surrogateFnIndices
void build_approximation ()
 correction of lowFidelityModel results
void component_parallel_mode (short mode)
 lowFidelityModel and highFidelityModel
void derived_init_communicators (const int &max_iterator_concurrency, bool recurse_flag=true)
 set up lowFidelityModel and highFidelityModel for parallel operations
void derived_init_serial ()
 set up lowFidelityModel and highFidelityModel for serial operations.
void derived_set_communicators (const int &max_iterator_concurrency, bool recurse_flag=true)
 highFidelityModel
void derived_free_communicators (const int &max_iterator_concurrency, bool recurse_flag=true)
 (request forwarded to lowFidelityModel and highFidelityModel)
void serve ()
 stop_servers().
void stop_servers ()
 HierarchSurrModel is complete.
int evaluation_id () const
 Return the current evaluation id for the HierarchSurrModel.
void set_evaluation_reference ()
 (request forwarded to lowFidelityModel and highFidelityModel)
void fine_grained_evaluation_counters ()
 and highFidelityModel
void print_evaluation_summary (ostream &s, bool minimal_header=false, bool relative_count=true) const
 (request forwarded to lowFidelityModel and highFidelityModel)

Private Member Functions

void update_model (Model &model)
 with current variable values/bounds/labels

Private Attributes

int hierModelEvals
 derived_asynch_compute_response()
IntResponseMap cachedTruthRespMap
 portions were still pending.
Model lowFidelityModel
 a data fit surrogate on a low fidelity model).
Model highFidelityModel
 fidelity results. Model is of arbitrary type and supports recursions.
Response highFidRefResponse
 and used for calculating corrections.

Detailed Description

hierarchical surrogates (models of varying fidelity).

The HierarchSurrModel class manages hierarchical models of varying fidelity. In particular, it uses a low fidelity model as a surrogate for a high fidelity model. The class contains a lowFidelityModel which performs the approximate low fidelity function evaluations and a highFidelityModel which provides truth evaluations for computing corrections to the low fidelity results.


Member Function Documentation

void derived_compute_response ( const ActiveSet set  )  [protected, virtual]

portion of compute_response() specific to HierarchSurrModel

Compute the response synchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For the lowFidelityModel portion, compute the high fidelity response if needed with build_approximation(), and, if correction is active, correct the low fidelity results.

Reimplemented from Model.

void derived_asynch_compute_response ( const ActiveSet set  )  [protected, virtual]

portion of asynch_compute_response() specific to HierarchSurrModel

Compute the response asynchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For the lowFidelityModel portion, compute the high fidelity response with build_approximation() (for correcting the low fidelity results in derived_synchronize() and derived_synchronize_nowait()) if not performed previously.

Reimplemented from Model.

const ResponseArray & derived_synchronize (  )  [protected, virtual]

portion of synchronize() specific to HierarchSurrModel

Blocking retrieval of asynchronous evaluations from lowFidelityModel, highFidelityModel, or both (mixed case). For the lowFidelityModel portion, apply correction (if active) to each response in the array. derived_synchronize() is designed for the general case where derived_asynch_compute_response() may be inconsistent in its use of low fidelity evaluations, high fidelity evaluations, or both.

Reimplemented from Model.

const IntResponseMap & derived_synchronize_nowait (  )  [protected, virtual]

portion of synchronize_nowait() specific to HierarchSurrModel

Nonblocking retrieval of asynchronous evaluations from lowFidelityModel, highFidelityModel, or both (mixed case). For the lowFidelityModel portion, apply correction (if active) to each response in the map. derived_synchronize_nowait() is designed for the general case where derived_asynch_compute_response() may be inconsistent in its use of actual evals, approx evals, or both.

Reimplemented from Model.

int evaluation_id (  )  const [inline, protected, virtual]

Return the current evaluation id for the HierarchSurrModel.

return the hierarchical model evaluation count. Due to possibly intermittent use of surrogate bypass, this is not the same as either the loFi or hiFi model evaluation counts. It also does not distinguish duplicate evals.

Reimplemented from Model.


The documentation for this class was generated from the following files:
Generated on Wed Nov 5 19:54:06 2008 for DAKOTA by  doxygen 1.5.1