![]() |
Dakota
Version 6.13
Explore and Predict with Confidence
|
Public Member Functions | |
EffGlobalMinimizer (ProblemDescDB &problem_db, Model &model) | |
standard constructor | |
~EffGlobalMinimizer () | |
alternate constructor for instantiations "on the fly" | |
void | core_run () |
destructor | |
const Model & | algorithm_space_model () const |
void | declare_sources () |
Declare sources to the evaluations database. | |
Private Member Functions | |
void | minimize_surrogates_on_model () |
called by minimize_surrogates for setUpType == "model" | |
void | get_best_sample () |
called by minimize_surrogates for setUpType == "user_functions" More... | |
void | initialize () |
initialize | |
Real | get_augmented_lagrangian (const RealVector &mean, const RealVector &c_vars, const Real &eif_star) |
augmented Lagrangian augmented Lagrangian | |
void | check_convergence (const Real &eif_star, const RealVector &c_vars, RealVector prev_cv_star, unsigned short eif_convergence_cntr, unsigned short dist_convergence_cntr) |
check convergence if EGO has converged | |
void | debug_print_values () |
print mean and variance if debug flag is ON | |
void | debug_print_counter (unsigned short globalIterCount, const Real &eif_star, Real distCStar, unsigned short dist_convergence_cntr) |
print counter if debug flag is ON | |
void | debug_plots () |
Real | expected_improvement (const RealVector &means, const RealVector &variances) |
expected improvement function for the GP | |
RealVector | expected_violation (const RealVector &means, const RealVector &variances) |
expected violation function for the constraint functions | |
void | update_penalty () |
initialize and update the penaltyParameter | |
Static Private Member Functions | |
static void | EIF_objective_eval (const Variables &sub_model_vars, const Variables &recast_vars, const Response &sub_model_response, Response &recast_response) |
static function used as the objective function in the Expected Improvement (EIF) problem formulation for PMA More... | |
Private Attributes | |
String | setUpType |
controls iteration mode: "model" (normal usage) or "user_functions" (user-supplied functions mode for "on the fly" instantiations). | |
Real | distanceTol |
convergence tolerance on distance between predicted best points | |
Real | convergenceTol |
convergence tolerances in objectives | |
Model | fHatModel |
GP model of response, one approximation per response function. | |
Model | eifModel |
recast model which assimilates mean and variance to solve the max(EIF) sub-problem | |
Real | meritFnStar |
minimum penalized response from among true function evaluations | |
RealVector | truthFnStar |
true function values corresponding to the minimum penalized response | |
RealVector | varStar |
point that corresponds to the optimal value meritFnStar | |
short | dataOrder |
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override responses spec | |
Real | distCStar |
declare check convergence variables relative distance change in input measured in L2 | |
int | BatchSizeAcquisition |
declare batch size for BatchSizeAcquisition sampling point located at maximum acquisition function | |
int | BatchSizeExploration |
declare batch size for BatchSizeExploration sampling point located at maximum posterior variance | |
Static Private Attributes | |
static EffGlobalMinimizer * | effGlobalInstance |
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static data | |
Additional Inherited Members | |
![]() | |
static Real | sum_squared_residuals (size_t num_pri_fns, const RealVector &residuals, const RealVector &weights) |
return weighted sum of squared residuals | |
static void | print_residuals (size_t num_terms, const RealVector &best_terms, const RealVector &weights, size_t num_best, size_t best_index, std::ostream &s) |
print num_terms residuals and misfit for final results | |
static void | print_model_resp (size_t num_pri_fns, const RealVector &best_fns, size_t num_best, size_t best_index, std::ostream &s) |
print the original user model resp in the case of data transformations | |
![]() | |
SurrBasedMinimizer (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits) | |
constructor | |
~SurrBasedMinimizer () | |
destructor | |
void | derived_init_communicators (ParLevLIter pl_iter) |
derived class contributions to initializing the communicators associated with this Iterator instance | |
void | derived_set_communicators (ParLevLIter pl_iter) |
derived class contributions to setting the communicators associated with this Iterator instance | |
void | derived_free_communicators (ParLevLIter pl_iter) |
derived class contributions to freeing the communicators associated with this Iterator instance | |
void | print_results (std::ostream &s, short results_state=FINAL_RESULTS) |
void | update_lagrange_multipliers (const RealVector &fn_vals, const RealMatrix &fn_grads, SurrBasedLevelData &tr_data) |
initialize and update Lagrange multipliers for basic Lagrangian More... | |
void | update_augmented_lagrange_multipliers (const RealVector &fn_vals) |
initialize and update the Lagrange multipliers for augmented Lagrangian More... | |
void | initialize_filter (SurrBasedLevelData &tr_data, const RealVector &fn_vals) |
(re-)initialize filter from a set of function values | |
bool | update_filter (SurrBasedLevelData &tr_data, const RealVector &fn_vals) |
update filter using a new set of function values More... | |
Real | lagrangian_merit (const RealVector &fn_vals, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts) |
compute a Lagrangian function from a set of function values More... | |
void | lagrangian_gradient (const RealVector &fn_vals, const RealMatrix &fn_grads, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, RealVector &lag_grad) |
compute the gradient of the Lagrangian function | |
void | lagrangian_hessian (const RealVector &fn_vals, const RealMatrix &fn_grads, const RealSymMatrixArray &fn_hessians, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, RealSymMatrix &lag_hess) |
compute the Hessian of the Lagrangian function | |
Real | augmented_lagrangian_merit (const RealVector &fn_vals, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts) |
compute an augmented Lagrangian function from a set of function values More... | |
void | augmented_lagrangian_gradient (const RealVector &fn_vals, const RealMatrix &fn_grads, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, RealVector &alag_grad) |
compute the gradient of the augmented Lagrangian function | |
void | augmented_lagrangian_hessian (const RealVector &fn_vals, const RealMatrix &fn_grads, const RealSymMatrixArray &fn_hessians, const BoolDeque &sense, const RealVector &primary_wts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, RealSymMatrix &alag_hess) |
compute the Hessian of the augmented Lagrangian function | |
Real | penalty_merit (const RealVector &fn_vals, const BoolDeque &sense, const RealVector &primary_wts) |
compute a penalty function from a set of function values More... | |
void | penalty_gradient (const RealVector &fn_vals, const RealMatrix &fn_grads, const BoolDeque &sense, const RealVector &primary_wts, RealVector &pen_grad) |
compute the gradient of the penalty function | |
Real | constraint_violation (const RealVector &fn_vals, const Real &constraint_tol) |
compute the constraint violation from a set of function values More... | |
![]() | |
static void | gnewton_set_recast (const Variables &recast_vars, const ActiveSet &recast_set, ActiveSet &sub_model_set) |
conversion of request vector values for the Gauss-Newton Hessian approximation More... | |
![]() | |
Iterator | approxSubProbMinimizer |
the minimizer used on the surrogate model to solve the approximate subproblem on each surrogate-based iteration | |
size_t | globalIterCount |
global iteration counter corresponding to number of surrogate-based minimizations | |
RealVector | lagrangeMult |
Lagrange multipliers for basic Lagrangian calculations. | |
RealVector | augLagrangeMult |
Lagrange multipliers for augmented Lagrangian calculations. | |
Real | penaltyParameter |
the penalization factor for violated constraints used in quadratic penalty calculations; increased in update_penalty() | |
RealVector | origNonlinIneqLowerBnds |
original nonlinear inequality constraint lower bounds (no relaxation) | |
RealVector | origNonlinIneqUpperBnds |
original nonlinear inequality constraint upper bounds (no relaxation) | |
RealVector | origNonlinEqTargets |
original nonlinear equality constraint targets (no relaxation) | |
Real | eta |
constant used in etaSequence updates | |
Real | alphaEta |
power for etaSequence updates when updating penalty | |
Real | betaEta |
power for etaSequence updates when updating multipliers | |
Real | etaSequence |
decreasing sequence of allowable constraint violation used in augmented Lagrangian updates (refer to Conn, Gould, and Toint, section 14.4) | |
size_t | miPLIndex |
index for the active ParallelLevel within ParallelConfiguration::miPLIters | |
![]() | |
static Minimizer * | minimizerInstance |
pointer to Minimizer used in static member functions | |
The EffGlobalMinimizer class provides an implementation of the Efficient Global Optimization algorithm developed by Jones, Schonlau, & Welch as well as adaptation of the concept to nonlinear least squares.
|
inlinevirtual |
default definition that gets redefined in selected derived Minimizers
Reimplemented from Minimizer.
References EffGlobalMinimizer::fHatModel.
|
private |
called by minimize_surrogates for setUpType == "user_functions"
determine best solution from among sample data for expected imporovement function
References Model::approximation_data(), SurrBasedMinimizer::augmented_lagrangian_merit(), Model::continuous_variables(), Dakota::copy_data(), Model::current_response(), Model::evaluate(), EffGlobalMinimizer::fHatModel, Response::function_values(), Iterator::iteratedModel, EffGlobalMinimizer::meritFnStar, Minimizer::numFunctions, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary_response_fn_sense(), Model::primary_response_fn_weights(), EffGlobalMinimizer::truthFnStar, and EffGlobalMinimizer::varStar.
Referenced by EffGlobalMinimizer::minimize_surrogates_on_model().
|
staticprivate |
static function used as the objective function in the Expected Improvement (EIF) problem formulation for PMA
To maximize expected improvement, the approxSubProbMinimizer will minimize -(expected_improvement).
References Response::active_set_request_vector(), Model::approximation_variances(), EffGlobalMinimizer::effGlobalInstance, EffGlobalMinimizer::expected_improvement(), EffGlobalMinimizer::fHatModel, Response::function_value(), and Response::function_values().
Referenced by EffGlobalMinimizer::minimize_surrogates_on_model().