SurfpackApproximation Class Reference

Interface between Surfpack and Dakota. More...

Inheritance diagram for SurfpackApproximation:

Approximation List of all members.

Public Member Functions

 SurfpackApproximation ()
 default constructor
 SurfpackApproximation (const ProblemDescDB &problem_db, const size_t &num_acv)
 standard constructor: Surfpack surface of appropriate type will be created
 ~SurfpackApproximation ()
 destructor

Protected Member Functions

int min_coefficients () const
 build the derived class approximation type in numVars dimensions
int recommended_coefficients () const
 build the derived class approximation type in numVars dimensions
void find_coefficients ()
 and the appropriate Surfpack build method will be invoked
const Real & get_value (const RealVector &x)
 Return the value of the Surfpack surface for a given parameter vector x.
const RealBaseVectorget_gradient (const RealVector &x)
 retrieve the approximate function gradient for a given parameter vector x
const RealMatrixget_hessian (const RealVector &x)
 retrieve the approximate function Hessian for a given parameter vector x
const Real & get_diagnostic (const String &metric_type)
 retrieve the diagnostic metric for the diagnostic type specified
const bool diagnostics_available ()
 check if the diagnostics are available (true for the Surfpack types)

Private Member Functions

void checkForEqualityConstraints ()
 point, gradient, and/or hessian
SurfData * surrogates_to_surf_data ()
 copy from SurrogateDataPoint to SurfPoint/SurfData

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.

Detailed Description

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).


Member Function Documentation

void find_coefficients (  )  [protected, virtual]

and the appropriate Surfpack build method will be invoked

surfData will be deleted in dtor

Todo:
Right now, we're completely deleting the old data and then

recopying the current data into a SurfData object. This was just

the easiest way to arrive at a solution that would build and run.

This function is frequently called from addPoint rebuild, however,

and it's not good to go through this whole process every time one

more data point is added.

Reimplemented from Approximation.

const RealMatrix & get_hessian ( const RealVector x  )  [protected, virtual]

retrieve the approximate function Hessian for a given parameter vector x

Todo:
Make this acceptably efficient

Reimplemented from Approximation.

void checkForEqualityConstraints (  )  [private]

point, gradient, and/or hessian

If there is an anchor point, add an equality constraint for its response value. Also add constraints for gradient and hessian, if applicable.

Todo:
improve efficiency of conversion

SurfData * surrogates_to_surf_data (  )  [private]

copy from SurrogateDataPoint to SurfPoint/SurfData

Copy the data stored in Dakota-style SurrogateDataPoint objects into Surfpack-style SurfPoint and SurfData objects.


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