$extrastylesheet
Dakota
Version 6.2
|
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota. More...
Public Member Functions | |
SurfpackApproximation () | |
default constructor | |
SurfpackApproximation (const ProblemDescDB &problem_db, const SharedApproxData &shared_data) | |
standard constructor: Surfpack surface of appropriate type will be created | |
SurfpackApproximation (const SharedApproxData &shared_data) | |
alternate constructor | |
~SurfpackApproximation () | |
destructor | |
Protected Member Functions | |
int | min_coefficients () const |
return the minimum number of samples (unknowns) required to build the derived class approximation type in numVars dimensions | |
int | recommended_coefficients () const |
return the recommended number of samples (unknowns) required to build the derived class approximation type in numVars dimensions | |
void | build () |
SurfData object will be created from Dakota's SurrogateData, and the appropriate Surfpack build method will be invoked. | |
Real | value (const Variables &vars) |
Return the value of the Surfpack surface for a given parameter vector x. | |
const RealVector & | gradient (const Variables &vars) |
retrieve the approximate function gradient for a given parameter vector x | |
const RealSymMatrix & | hessian (const Variables &vars) |
retrieve the approximate function Hessian for a given parameter vector x | |
Real | prediction_variance (const Variables &vars) |
retrieve the variance of the predicted value for a given parameter set x (KrigingModel only) | |
Real | value (const RealVector &c_vars) |
Return the value of the Surfpack surface for a given parameter vector x. | |
const RealVector & | gradient (const RealVector &c_vars) |
retrieve the approximate function gradient for a given parameter vector x | |
const RealSymMatrix & | hessian (const RealVector &c_vars) |
retrieve the approximate function Hessian for a given parameter vector x | |
Real | prediction_variance (const RealVector &c_vars) |
retrieve the variance of the predicted value for a given parameter set x (KrigingModel only) | |
bool | diagnostics_available () |
check if the diagnostics are available (true for the Surfpack types) | |
Real | diagnostic (const String &metric_type) |
retrieve a single diagnostic metric for the diagnostic type specified on the primary model and data | |
Real | diagnostic (const String &metric_type, const SurfpackModel &model, const SurfData &data) |
retrieve a single diagnostic metric for the diagnostic type specified on the given model and data | |
void | primary_diagnostics (int fn_index) |
compute and print all requested diagnostics and cross-validation | |
void | challenge_diagnostics (const RealMatrix &challenge_points, int fn_index) |
compute and print all requested diagnostics for user provided challenge pts | |
Private Member Functions | |
SurfData * | surrogates_to_surf_data () |
copy from SurrogateData to SurfPoint/SurfData | |
void | add_anchor_to_surfdata (SurfData &surf_data) |
set the anchor point (including gradient and hessian if present) into surf_data | |
Private Attributes | |
SurfpackModel * | model |
The native Surfpack approximation. | |
SurfpackModelFactory * | factory |
factory for the SurfpackModel instance | |
SurfData * | surfData |
The data used to build the approximation, in Surfpack format. |
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
The SurfpackApproximation class is the interface between Dakota and Surfpack. Based on the information in the ProblemDescDB that is passed in through the constructor, SurfpackApproximation builds a Surfpack Surface object that corresponds to one of the following data-fitting techniques: polynomial regression, kriging, artificial neural networks, radial basis function network, or multivariate adaptaive regression splines (MARS).
SurfpackApproximation | ( | const ProblemDescDB & | problem_db, |
const SharedApproxData & | shared_data | ||
) |
standard constructor: Surfpack surface of appropriate type will be created
Initialize the embedded Surfpack surface object and configure it using the specifications from the input file. Data for the surface is created later.
References Dakota::abort_handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, Dakota::copy_data(), SharedSurfpackApproxData::crossValidateFlag, SharedSurfpackApproxData::diagnosticSet, SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, ProblemDescDB::get_real(), ProblemDescDB::get_rv(), ProblemDescDB::get_short(), ProblemDescDB::get_string(), SharedSurfpackApproxData::numFolds, SharedApproxData::numVars, SharedApproxData::outputLevel, SharedSurfpackApproxData::percentFold, Approximation::sharedDataRep, and Dakota::strends().
SurfpackApproximation | ( | const SharedApproxData & | shared_data | ) |
alternate constructor
On-the-fly constructor which uses mostly Surfpack model defaults.
References Dakota::abort_handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, SurfpackApproximation::factory, SharedApproxData::numVars, SharedApproxData::outputLevel, and Approximation::sharedDataRep.
void build | ( | ) | [protected, virtual] |
SurfData object will be created from Dakota's SurrogateData, and the appropriate Surfpack build method will be invoked.
surfData will be deleted in dtor
Reimplemented from Approximation.
References Dakota::abort_handler(), SharedApproxData::approxCLowerBnds, SharedApproxData::approxCUpperBnds, SharedApproxData::approxDILowerBnds, SharedApproxData::approxDIUpperBnds, SharedApproxData::approxDRLowerBnds, SharedApproxData::approxDRUpperBnds, SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, SharedSurfpackApproxData::merge_variable_arrays(), SurfpackApproximation::model, SharedApproxData::outputLevel, Approximation::sharedDataRep, SurfpackApproximation::surfData, and SurfpackApproximation::surrogates_to_surf_data().
retrieve the approximate function Hessian for a given parameter vector x
Reimplemented from Approximation.
References Dakota::abort_handler(), Approximation::approxHessian, SharedApproxData::approxType, Variables::cv(), SurfpackApproximation::model, and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::add_anchor_to_surfdata().
const RealSymMatrix & hessian | ( | const RealVector & | c_vars | ) | [protected, virtual] |
retrieve the approximate function Hessian for a given parameter vector x
Reimplemented from Approximation.
References Dakota::abort_handler(), Approximation::approxHessian, SharedApproxData::approxType, SurfpackApproximation::model, and Approximation::sharedDataRep.
SurfData * surrogates_to_surf_data | ( | ) | [private] |
copy from SurrogateData to SurfPoint/SurfData
Copy the data stored in Dakota-style SurrogateData into Surfpack-style SurfPoint and SurfData objects.
References SurfpackApproximation::add_anchor_to_surfdata(), SharedSurfpackApproxData::add_sd_to_surfdata(), Approximation::approxData, SharedApproxData::buildDataOrder, SurfpackApproximation::factory, SharedApproxData::outputLevel, and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::build().
void add_anchor_to_surfdata | ( | SurfData & | surf_data | ) | [private] |
set the anchor point (including gradient and hessian if present) into surf_data
If there is an anchor point, add an equality constraint for its response value. Also add constraints for gradient and hessian, if applicable.
References Dakota::abort_handler(), Approximation::approxData, Dakota::copy_data(), SharedSurfpackApproxData::copy_matrix(), SurfpackApproximation::gradient(), SurfpackApproximation::hessian(), SharedApproxData::outputLevel, SharedSurfpackApproxData::sdv_to_realarray(), and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::surrogates_to_surf_data().