Dakota  Version 6.23
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) override
 Get the value of the objective function at a point. More...
 
void gradient (ROL::Vector< double > &g, const ROL::Vector< double > &p, double &tol) override
 Get the gradient of the objective function at a point. More...
 

Private Member Functions

bool pdiff (const VectorXd &pnew)
 Compute the l2 norm of the difference between new and old parameter vectors. More...
 

Private Attributes

GaussianProcessgp
 Reference 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 
)
override

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::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 
)
override

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::gp, GaussianProcess::negative_marginal_log_likelihood(), GP_Objective::pdiff(), GaussianProcess::set_opt_params(), and dakota::silence_unused_args().

◆ pdiff()

bool pdiff ( const VectorXd 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, and GP_Objective::pold.

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


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