Inheritance diagram for HierarchSurrModel:

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 ResponseArray & | derived_synchronize () |
| portion of synchronize() specific to HierarchSurrModel | |
| const IntResponseMap & | derived_synchronize_nowait () |
| portion of synchronize_nowait() specific to HierarchSurrModel | |
| Model & | surrogate_model () |
| return lowFidelityModel | |
| Model & | truth_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. | |
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.
| 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.
1.5.1