Dakota  Version 6.21
Explore and Predict with Confidence
Public Member Functions | Private Member Functions | Private Attributes | List of all members
GP_Objective Class Reference

ROL objective function for the Gaussian Process (GP) surrogate. More...

Inherits Objective< double >.

Public Member Functions

 GP_Objective (GaussianProcess &gp_model)
 Constructor for GP_Objective. More...
 
double value (const ROL::Vector< double > &p, double &tol)
 Get the value of the objective function at a point. More...
 
void gradient (ROL::Vector< double > &g, const ROL::Vector< double > &p, double &tol)
 Get the gradient of the objective function at a point. More...
 

Private Member Functions

bool pdiff (const std::vector< double > &pnew)
 Compute the l2 norm of the difference between new and old parameter vectors. More...
 
ROL::Ptr< const std::vector< double > > getVector (const ROL::Vector< double > &vec)
 Convert a const ROL Vector to a ROL::Ptr<const std::vector> More...
 
ROL::Ptr< std::vector< double > > getVector (ROL::Vector< double > &vec)
 Convert a ROL Vector to a ROL::Ptr<std::vector> More...
 

Private Attributes

GaussianProcessgp
 Pointer to the GaussianProcess surrogate.
 
int nopt
 Number of optimization variables.
 
double Jold
 Previously computed value of the objective function.
 
VectorXd grad_old
 Previously computed gradient of the objective function.
 
VectorXd pold
 Previous value of the parameter vector.
 

Detailed Description

ROL objective function for the Gaussian Process (GP) surrogate.

Constructor & Destructor Documentation

◆ GP_Objective()

GP_Objective ( GaussianProcess gp_model)

Member Function Documentation

◆ value()

double value ( const ROL::Vector< double > &  p,
double &  tol 
)

Get the value of the objective function at a point.

Parameters
[in]pROL vector of parameters.
[in]tolTolerance for inexact evaluation (not used here).

References GP_Objective::getVector(), GP_Objective::gp, GaussianProcess::negative_marginal_log_likelihood(), GP_Objective::nopt, GP_Objective::pdiff(), GaussianProcess::set_opt_params(), and dakota::silence_unused_args().

◆ gradient()

void gradient ( ROL::Vector< double > &  g,
const ROL::Vector< double > &  p,
double &  tol 
)

Get the gradient of the objective function at a point.

Parameters
[out]gGradient of the objective function.
[in]pROL vector of parameters.
[in]tolTolerance for inexact evaluation (not used here).

References GP_Objective::getVector(), GP_Objective::gp, GaussianProcess::negative_marginal_log_likelihood(), GP_Objective::nopt, GP_Objective::pdiff(), GaussianProcess::set_opt_params(), and dakota::silence_unused_args().

◆ pdiff()

bool pdiff ( const std::vector< double > &  pnew)
private

Compute the l2 norm of the difference between new and old parameter vectors.

Parameters
[in]pnewNew value of the parameter vector.

References dakota::near_zero, GP_Objective::nopt, and GP_Objective::pold.

Referenced by GP_Objective::gradient(), and GP_Objective::value().

◆ getVector() [1/2]

ROL::Ptr<const std::vector<double> > getVector ( const ROL::Vector< double > &  vec)
inlineprivate

Convert a const ROL Vector to a ROL::Ptr<const std::vector>

Parameters
[in]vecconst ROL vector

Referenced by GP_Objective::getVector(), GP_Objective::gradient(), and GP_Objective::value().

◆ getVector() [2/2]

ROL::Ptr<std::vector<double> > getVector ( ROL::Vector< double > &  vec)
inlineprivate

Convert a ROL Vector to a ROL::Ptr<std::vector>

Parameters
[in]vecROL vector

References GP_Objective::getVector().


The documentation for this class was generated from the following files: