Inheritance diagram for SurrogateModel:

Protected Member Functions | |
| SurrogateModel (ProblemDescDB &problem_db) | |
| constructor | |
| SurrogateModel (ParallelLibrary ¶llel_lib, const pair< short, short > &view, const ActiveSet &set, const String &corr_type, const short &corr_order) | |
| alternate constructor | |
| ~SurrogateModel () | |
| destructor | |
| void | compute_correction (const Response &truth_response, const Response &approx_response, const RealVector &c_vars) |
| agreement with truth_response | |
| void | apply_correction (Response &approx_response, const RealVector &c_vars, bool quiet_flag=false) |
| apply the correction computed in compute_correction() to approx_response | |
| void | auto_correction (bool correction_flag) |
| sets autoCorrection to on (true) or off (false) | |
| bool | auto_correction () |
| returns autoCorrection setting | |
| void | check_submodel_compatibility (const Model &sub_model) |
| HierarchSurrModel::highFidelityModel). | |
| bool | force_rebuild () |
| forced based on changes in the inactive data | |
| void | asv_mapping (const ShortArray &orig_asv, ShortArray &actual_asv, ShortArray &approx_asv, bool build_flag) |
| distributes the incoming orig_asv among actual_asv and approx_asv | |
| void | asv_mapping (const ShortArray &actual_asv, const ShortArray &approx_asv, ShortArray &combined_asv) |
| reconstitutes a combined_asv from actual_asv and approx_asv | |
| void | response_mapping (const Response &actual_response, const Response &approx_response, Response &combined_response) |
| overlays actual_response and approx_response to update combined_response | |
| void | cached_mapping (const ResponseArray &orig_resp_array, IntResponseMap &cached_map, const IntIntMap &id_map, ResponseArray &merged_array) |
| inserts a cached response map into a response array in order | |
Protected Attributes | |
| bool | mixedResponseSet |
| flag for mixed approximate/actual responses | |
| IntSet | surrogateFnIndices |
| subset that is approximated | |
| ResponseArray | surrResponseArray |
| array of surrogate responses used in derived_synchronize() functions | |
| IntResponseMap | surrResponseMap |
| map of surrogate responses used in derived_synchronize_nowait() functions | |
| IntRealVectorMap | rawCVarsMap |
| not contain lower level variables sets from finite differencing. | |
| IntIntMap | truthIdMap |
| DataFitSurrModel/HierarchSurrModel id. | |
| IntIntMap | surrIdMap |
| DataFitSurrModel/HierarchSurrModel ids. | |
| IntResponseMap | cachedApproxRespMap |
| portions were still pending. | |
| String | correctionType |
| approximation correction approach to be used: additive or multiplicative | |
| short | correctionOrder |
| approximation correction order to be used: 0, 1, or 2 | |
| bool | autoCorrection |
| and HierarchSurrModel approximate response computations | |
| bool | correctionComputed |
| and is available for application | |
| size_t | approxBuilds |
| number of calls to build_approximation() | |
| bool | surrogateBypass |
| on the underlying truth model. | |
| RealVector | fitCLBnds |
| the approximation is built; used to detect when a rebuild is required. | |
| RealVector | fitCUBnds |
| the approximation is built; used to detect when a rebuild is required. | |
| IntVector | fitDLBnds |
| the approximation is built; used to detect when a rebuild is required. | |
| IntVector | fitDUBnds |
| the approximation is built; used to detect when a rebuild is required. | |
| RealVector | fitInactCVars |
| rebuild is required. | |
| IntVector | fitInactDVars |
| rebuild is required. | |
Private Member Functions | |
| void | apply_additive_correction (RealVector &alpha_corrected_fns, RealMatrix &alpha_corrected_grads, RealMatrixArray &alpha_corrected_hessians, const RealVector &c_vars, const ActiveSet &set) |
| internal convenience function for applying additive corrections | |
| void | apply_multiplicative_correction (RealVector &beta_corrected_fns, RealMatrix &beta_corrected_grads, RealMatrixArray &beta_corrected_hessians, const RealVector &c_vars, const ActiveSet &set) |
| internal convenience function for applying multiplicative corrections | |
Private Attributes | |
| bool | badScalingFlag |
| corrections; triggers an automatic switch to additive corrections | |
| bool | combinedFlag |
| flag indicating the combination of additive/multiplicative corrections | |
| bool | computeAdditive |
| flag indicating the need for additive correction calculations | |
| bool | computeMultiplicative |
| flag indicating the need for multiplicative correction calculations | |
| RealVector | addCorrFns |
| high and low fidelity model values at x=x_center. | |
| RealMatrix | addCorrGrads |
| high/low function difference at x=x_center. | |
| RealMatrixArray | addCorrHessians |
| high/low function difference at x=x_center. | |
| RealVector | multCorrFns |
| high fidelity to low fidelity model values at x=x_center. | |
| RealMatrix | multCorrGrads |
| of the high/low function ratio at x=x_center. | |
| RealMatrixArray | multCorrHessians |
| of the high/low function ratio at x=x_center. | |
| RealVector | combineFactors |
| correction instead of a strictly local correction. | |
| RealVector | correctionCenterPt |
| (x - x_c) terms in 1st-/2nd-order corrections. | |
| RealVector | correctionPrevCenterPt |
| copy of correctionCenterPt from the previous correction cycle | |
| RealVector | approxFnsCenter |
| unavailable when applying 1st-/2nd-order multiplicative corrections. | |
| RealVector | approxFnsPrevCenter |
| copy of approxFnsCenter from the previous correction cycle | |
| RealMatrix | approxGradsCenter |
| unavailable when applying 1st-/2nd-order multiplicative corrections. | |
| RealVector | truthFnsCenter |
| Truth function values at the current correction point. | |
| RealVector | truthFnsPrevCenter |
| copy of truthFnsCenter from the previous correction cycle | |
| Variables | subModelVars |
| among differing variable views in force_rebuild() | |
| Constraints | subModelCons |
| among differing variable views in force_rebuild() | |
The SurrogateModel class provides common functions to derived classes for computing and applying corrections to approximations.
| void compute_correction | ( | const Response & | truth_response, | |
| const Response & | approx_response, | |||
| const RealVector & | c_vars | |||
| ) | [protected, virtual] |
agreement with truth_response
Compute an additive or multiplicative correction that corrects the approx_response to have 0th-order consistency (matches values), 1st-order consistency (matches values and gradients), or 2nd-order consistency (matches values, gradients, and Hessians) with the truth_response at a single point (e.g., the center of a trust region). The 0th-order, 1st-order, and 2nd-order corrections use scalar values, linear scaling functions, and quadratic scaling functions, respectively, for each response function.
Reimplemented from Model.
| bool force_rebuild | ( | ) | [protected] |
forced based on changes in the inactive data
This function forces a rebuild of the approximation according to the sub-model variables view, the approximation type, and whether the active approximation bounds or inactive variable values have changed since the last approximation build.
bool autoCorrection [protected] |
and HierarchSurrModel approximate response computations
SurrBasedOptStrategy must toggle this value since compute_correction() no longer automatically backs out an old correction.
size_t approxBuilds [protected] |
number of calls to build_approximation()
used as a flag to automatically build the approximation if one of the derived compute_response functions is called prior to build_approximation().
1.5.1