Inheritance diagram for SurrBasedLocalMinimizer:

Public Member Functions | |
| SurrBasedLocalMinimizer (Model &model) | |
| constructor | |
| ~SurrBasedLocalMinimizer () | |
| destructor | |
Private Member Functions | |
| void | minimize_surrogates () |
| global, or hierarchical surrogates over a series of trust regions. | |
| void | reset () |
| reset convergence controls in case of multiple SBLM executions | |
| bool | tr_bounds (const RealVector &global_lower_bnds, const RealVector &global_upper_bnds, RealVector &tr_lower_bnds, RealVector &tr_upper_bnds) |
| compute current trust region bounds | |
| void | find_center_truth (const Iterator &dace_iterator, Model &truth_model) |
| retrieve responseCenterTruth if possible, evaluate it if not | |
| void | find_center_approx () |
| retrieve responseCenter_approx if possible, evaluate it if not | |
| void | hard_convergence_check (const Response &response_truth, const RealVector &c_vars, const RealVector &lower_bnds, const RealVector &upper_bnds) |
| merit function near zero) | |
| void | tr_ratio_check (const RealVector &c_vars_star, const RealVector &tr_lower_bounds, const RealVector &tr_upper_bounds) |
| region resizing) and check for soft convergence (diminishing returns) | |
| void | update_penalty (const RealVector &fns_center_truth, const RealVector &fns_star_truth) |
| initialize and update the penaltyParameter | |
| void | relax_constraints (const RealVector &lower_bnds, const RealVector &upper_bnds) |
| relax constraints by updating bounds when current iterate is infeasible | |
Static Private Member Functions | |
| static void | approx_subprob_objective_eval (const Variables &surrogate_vars, const Variables &recast_vars, const Response &surrogate_response, Response &recast_response) |
| static function used to define the approximate subproblem objective. | |
| static void | approx_subprob_constraint_eval (const Variables &surrogate_vars, const Variables &recast_vars, const Response &surrogate_response, Response &recast_response) |
| static function used to define the approximate subproblem constraints. | |
| static void | hom_objective_eval (int &mode, int &n, double *tau_and_x, double &f, double *grad_f, int &) |
| homotopy constraint relaxation formulation. | |
| static void | hom_constraint_eval (int &mode, int &ncnln, int &n, int &nrowj, int *needc, double *tau_and_x, double *c, double *cjac, int &nstate) |
| homotopy constraint relaxation formulation. | |
Private Attributes | |
| Real | origTrustRegionFactor |
| original user specification for trustRegionFactor | |
| Real | trustRegionFactor |
| bound - lower bound for each design variable). | |
| Real | minTrustRegionFactor |
| factor is reduced below the value of minTrustRegionFactor | |
| Real | trRatioContractValue |
| trust region ratio min value: contract tr if ratio below this value | |
| Real | trRatioExpandValue |
| trust region ratio sufficient value: expand tr if ratio above this value | |
| Real | gammaContract |
| trust region contraction factor | |
| Real | gammaExpand |
| trust region expansion factor | |
| short | approxSubProbObj |
| or AUGMENTED_LAGRANGIAN_OBJ | |
| short | approxSubProbCon |
| ORIGINAL_CON. | |
| Model | approxSubProbModel |
| involve a RecastModel recursion applied to iteratedModel | |
| bool | recastSubProb |
| flag to indicate when approxSubProbModel involves a RecastModel recursion | |
| short | trConstraintRelax |
| points: NO_RELAX or HOMOTOPY | |
| short | meritFnType |
| ADAPTIVE_PENALTY_MERIT, LAGRANGIAN_MERIT, or AUGMENTED_LAGRANGIAN_MERIT. | |
| short | acceptLogic |
| type of iterate acceptance test logic: FILTER or TR_RATIO | |
| int | penaltyIterOffset |
| for adaptive_penalty merit functions | |
| short | convergenceFlag |
| code indicating satisfaction of hard or soft convergence conditions | |
| short | softConvCount |
| count reaches softConvLimit, stop SBLM. | |
| short | softConvLimit |
| exceeded by softConvCount, stop SBLM. | |
| bool | truthGradientFlag |
| flags the use/availability of truth gradients within the SBLM process | |
| bool | approxGradientFlag |
| flags the use/availability of surrogate gradients within the SBLM process | |
| bool | truthHessianFlag |
| flags the use/availability of truth Hessians within the SBLM process | |
| bool | approxHessianFlag |
| flags the use/availability of surrogate Hessians within the SBLM process | |
| bool | correctionFlag |
| of each trust region | |
| bool | globalApproxFlag |
| flags the use of a global data fit surrogate (rsm, ann, mars, kriging) | |
| bool | multiptApproxFlag |
| flags the use of a multipoint data fit surrogate (TANA) | |
| bool | localApproxFlag |
| flags the use of a local data fit surrogate (Taylor series) | |
| bool | hierarchApproxFlag |
| flags the use of a model hierarchy/multifidelity surrogate | |
| bool | newCenterFlag |
| a new trust region center | |
| bool | daceCenterPtFlag |
| evaluations for global approximations (CCD, Box-Behnken) | |
| bool | multiLayerBypassFlag |
| (responseCenterTruth and responseStarTruth). | |
| bool | useGradsFlag |
| to be evaluated for each DACE point in global surrogate builds. | |
| RealVector | nonlinIneqLowerBndsSlack |
| individual violations of nonlinear inequality constraint lower bounds | |
| RealVector | nonlinIneqUpperBndsSlack |
| individual violations of nonlinear inequality constraint upper bounds | |
| RealVector | nonlinEqTargetsSlack |
| individual violations of nonlinear equality constraint targets | |
| Real | tau |
| constraint relaxation parameter | |
| Real | alpha |
| constraint relaxation parameter backoff parameter (multiplier) | |
| Variables | varsCenter |
| variables at the trust region center | |
| Response | responseCenterApprox |
| approx response at trust region center | |
| Response | responseStarApprox |
| approx response at SBLM cycle minimum | |
| Response | responseCenterTruth |
| truth response at trust region center | |
| Response | responseStarTruth |
| truth response at SBLM cycle minimum | |
Static Private Attributes | |
| static SurrBasedLocalMinimizer * | sblmInstance |
| pointer to SBLM instance used in static member functions | |
This minimizer uses a SurrogateModel to perform minimization based on local, global, or hierarchical surrogates. It achieves provable convergence through the use of a sequence of trust regions and the application of surrogate corrections at the trust region centers.
| void minimize_surrogates | ( | ) | [private, virtual] |
global, or hierarchical surrogates over a series of trust regions.
Trust region-based strategy to perform surrogate-based optimization in subregions (trust regions) of the parameter space. The minimizer operates on approximations in lieu of the more expensive simulation-based response functions. The size of the trust region is varied according to the goodness of the agreement between the approximations and the true response functions.
Implements SurrBasedMinimizer.
| void hard_convergence_check | ( | const Response & | response_truth, | |
| const RealVector & | c_vars, | |||
| const RealVector & | lower_bnds, | |||
| const RealVector & | upper_bnds | |||
| ) | [private] |
merit function near zero)
The hard convergence check computes the gradient of the merit function at the trust region center, performs a projection for active bound constraints (removing any gradient component directed into an active bound), and signals convergence if the 2-norm of this projected gradient is less than convergenceTol.
| void tr_ratio_check | ( | const RealVector & | c_vars_star, | |
| const RealVector & | tr_lower_bnds, | |||
| const RealVector & | tr_upper_bnds | |||
| ) | [private] |
region resizing) and check for soft convergence (diminishing returns)
Assess acceptance of SBLM iterate (trust region ratio or filter) and compute soft convergence metrics (number of consecutive failures, min trust region size, etc.) to assess whether the convergence rate has decreased to a point where the process should be terminated (diminishing returns).
| void update_penalty | ( | const RealVector & | fns_center_truth, | |
| const RealVector & | fns_star_truth | |||
| ) | [private] |
initialize and update the penaltyParameter
Scaling of the penalty value is important to avoid rejecting SBLM iterates which must increase the objective to achieve a reduction in constraint violation. In the basic penalty case, the penalty is ramped exponentially based on the iteration counter. In the adaptive case, the ratio of relative change between center and star points for the objective and constraint violation values is used to rescale penalty values.
| void approx_subprob_objective_eval | ( | const Variables & | surrogate_vars, | |
| const Variables & | recast_vars, | |||
| const Response & | surrogate_response, | |||
| Response & | recast_response | |||
| ) | [static, private] |
static function used to define the approximate subproblem objective.
Objective functions evaluator for solution of approximate subproblem using a RecastModel.
| void approx_subprob_constraint_eval | ( | const Variables & | surrogate_vars, | |
| const Variables & | recast_vars, | |||
| const Response & | surrogate_response, | |||
| Response & | recast_response | |||
| ) | [static, private] |
static function used to define the approximate subproblem constraints.
Constraint functions evaluator for solution of approximate subproblem using a RecastModel.
| void hom_objective_eval | ( | int & | mode, | |
| int & | n, | |||
| double * | tau_and_x, | |||
| double & | f, | |||
| double * | grad_f, | |||
| int & | ||||
| ) | [static, private] |
homotopy constraint relaxation formulation.
NPSOL objective functions evaluator for solution of homotopy constraint relaxation parameter optimization. This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic approach used to relax the constraints in the original problem .
| void hom_constraint_eval | ( | int & | mode, | |
| int & | ncnln, | |||
| int & | n, | |||
| int & | nrowj, | |||
| int * | needc, | |||
| double * | tau_and_x, | |||
| double * | c, | |||
| double * | cjac, | |||
| int & | nstate | |||
| ) | [static, private] |
homotopy constraint relaxation formulation.
NPSOL constraint functions evaluator for solution of homotopy constraint relaxation parameter optimization. This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic approach used to relax the constraints in the original problem.
1.5.1