$extrastylesheet
Dakota
Version 6.2
|
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification. More...
Public Member Functions | |
NonDGlobalInterval (ProblemDescDB &problem_db, Model &model) | |
constructor | |
~NonDGlobalInterval () | |
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 | quantify_uncertainty () |
Performs an optimization to determine interval bounds for an entire function or interval bounds on a particular statistical estimator. | |
const Model & | algorithm_space_model () const |
Protected Member Functions | |
virtual void | initialize () |
perform any required initialization | |
virtual void | set_cell_bounds () |
set the optimization variable bounds for each cell | |
virtual void | get_best_sample (bool maximize, bool eval_approx) |
determine truthFnStar and approxFnStar | |
virtual void | post_process_cell_results (bool maximize) |
post-process a cell minimization/maximization result | |
virtual void | post_process_response_fn_results () |
post-process the interval computed for a response function | |
virtual void | post_process_final_results () |
perform final post-processing | |
void | post_process_run_results (bool maximize) |
post-process an optimization execution: output results, update convergence controls, and update GP approximation | |
void | evaluate_response_star_truth () |
evaluate the truth response at the optimal variables solution and update the GP with the new data | |
Protected Attributes | |
Iterator | daceIterator |
LHS iterator for constructing initial GP for all response functions. | |
Model | fHatModel |
GP model of response, one approximation per response function. | |
Iterator | intervalOptimizer |
optimizer for solving surrogate-based subproblem: NCSU DIRECT optimizer for maximizing expected improvement or mixed EA if discrete variables. | |
Model | intervalOptModel |
recast model which formulates the surrogate-based optimization subproblem (recasts as design problem; may assimilate mean and variance to enable max(expected improvement)) | |
Real | approxFnStar |
approximate response corresponding to minimum/maximum truth response | |
Real | truthFnStar |
minimum/maximum truth response function value | |
Static Private Member Functions | |
static void | EIF_objective_min (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 Function (EIF) for minimizing the GP | |
static void | EIF_objective_max (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 Function (EIF) for maximizing the GP | |
static void | extract_objective (const Variables &sub_model_vars, const Variables &recast_vars, const Response &sub_model_response, Response &recast_response) |
static function used to extract the active objective function when optimizing for an interval lower or upper bound (non-EIF formulations). The sense of the optimization is set separately. | |
Private Attributes | |
const int | seedSpec |
the user seed specification (default is 0) | |
int | numSamples |
the number of samples used in the surrogate | |
String | rngName |
name of the random number generator | |
bool | gpModelFlag |
flag indicating use of GP surrogate emulation | |
bool | eifFlag |
flag indicating use of maximized expected improvement for GP iterate selection | |
unsigned short | improvementConvergeCntr |
counter for number of successive iterations that the iteration improvement is less than the convergenceTol | |
unsigned short | improvementConvergeLimit |
counter for number of successive iterations that the iteration improvement is less than the convergenceTol | |
Real | distanceTol |
tolerance for L_2 change in optimal solution | |
unsigned short | distanceConvergeCntr |
counter for number of successive iterations that the L_2 change in optimal solution is less than the convergenceTol | |
unsigned short | distanceConvergeLimit |
counter for number of successive iterations that the L_2 change in optimal solution is less than the convergenceTol | |
RealVector | prevCVStar |
stores previous optimal point for continuous variables; used for assessing convergence | |
IntVector | prevDIVStar |
stores previous optimal point for discrete integer variables; used for assessing convergence | |
RealVector | prevDRVStar |
stores previous optimal point for discrete real variables; used for assessing convergence | |
Real | prevFnStar |
stores previous solution value for assessing convergence | |
size_t | sbIterNum |
surrogate-based minimization/maximization iteration count | |
bool | boundConverged |
flag indicating convergence of a minimization or maximization cycle | |
bool | allResponsesPerIter |
flag for maximal response extraction (all response values obtained on each function call) | |
short | dataOrder |
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override responses spec | |
Static Private Attributes | |
static NonDGlobalInterval * | nondGIInstance |
pointer to the active object instance used within the static evaluator functions in order to avoid the need for static data |
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
The NonDGlobalInterval class supports global nongradient-based optimization apporaches to determining interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an "inner loop" aleatory analysis such as intervals on means, variances, or percentile levels. The preliminary implementation will use a Gaussian process surrogate to determine interval bounds.
const Model & algorithm_space_model | ( | ) | const [inline, virtual] |
default definition that gets redefined in selected derived Minimizers
Reimplemented from Analyzer.
References NonDGlobalInterval::fHatModel.