Dakota
Version
Explore and Predict with Confidence
|
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 | |
GaussianProcess & | gp |
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. | |
ROL objective function for the Gaussian Process (GP) surrogate.
GP_Objective | ( | GaussianProcess & | gp_model | ) |
Constructor for GP_Objective.
[in] | gp_model | Reference to the GaussianProcess surrogate. |
References GaussianProcess::get_num_opt_variables(), GP_Objective::gp, GP_Objective::grad_old, GP_Objective::Jold, GP_Objective::nopt, and GP_Objective::pold.
double value | ( | const ROL::Vector< double > & | p, |
double & | tol | ||
) |
Get the value of the objective function at a point.
[in] | p | ROL vector of parameters. |
[in] | tol | Tolerance 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().
void gradient | ( | ROL::Vector< double > & | g, |
const ROL::Vector< double > & | p, | ||
double & | tol | ||
) |
Get the gradient of the objective function at a point.
[out] | g | Gradient of the objective function. |
[in] | p | ROL vector of parameters. |
[in] | tol | Tolerance 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().
|
private |
Compute the l2 norm of the difference between new and old parameter vectors.
[in] | pnew | New 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().
|
inlineprivate |
Convert a const ROL Vector to a ROL::Ptr<const std::vector>
[in] | vec | const ROL vector |
Referenced by GP_Objective::getVector(), GP_Objective::gradient(), and GP_Objective::value().
|
inlineprivate |
Convert a ROL Vector to a ROL::Ptr<std::vector>
[in] | vec | ROL vector |
References GP_Objective::getVector().