Dakota  Version 6.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SurrBasedLocalMinimizer Class Reference

Class for provably-convergent local surrogate-based optimization and nonlinear least squares. More...

Inheritance diagram for SurrBasedLocalMinimizer:
SurrBasedMinimizer Minimizer Iterator

Public Member Functions

 SurrBasedLocalMinimizer (ProblemDescDB &problem_db, Model &model)
 constructor
 
 ~SurrBasedLocalMinimizer ()
 destructor
 

Protected Member Functions

void core_run ()
 Performs local surrogate-based minimization by minimizing local, global, or hierarchical surrogates over a series of trust regions. More...
 
void reset ()
 reset convergence controls in case of multiple SBLM executions
 
- Protected Member Functions inherited from SurrBasedMinimizer
 SurrBasedMinimizer (ProblemDescDB &problem_db, Model &model)
 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 initialize_graphics (int iterator_server_id=1)
 initialize graphics customized for surrogate-based iteration
 
void print_results (std::ostream &s)
 
void update_lagrange_multipliers (const RealVector &fn_vals, const RealMatrix &fn_grads)
 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...
 
bool update_filter (const RealVector &fn_vals)
 update a filter from a 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
 
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
 
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...
 
- Protected Member Functions inherited from Minimizer
 Minimizer ()
 default constructor
 
 Minimizer (ProblemDescDB &problem_db, Model &model)
 standard constructor More...
 
 Minimizer (unsigned short method_name, Model &model)
 alternate constructor for "on the fly" instantiations
 
 Minimizer (unsigned short method_name, size_t num_lin_ineq, size_t num_lin_eq, size_t num_nln_ineq, size_t num_nln_eq)
 alternate constructor for "on the fly" instantiations
 
 ~Minimizer ()
 destructor
 
void update_from_model (const Model &model)
 set inherited data attributes based on extractions from incoming model
 
void initialize_run ()
 utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More...
 
void post_run (std::ostream &s)
 post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way More...
 
void finalize_run ()
 utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More...
 
const Modelalgorithm_space_model () const
 
Model original_model (unsigned short recasts_left=0)
 Return a shallow copy of the original model this Iterator was originally passed, optionally leaving recasts_left on top of it.
 
void data_transform_model ()
 Wrap iteratedModel in a RecastModel that subtracts provided observed data from the primary response functions (variables and secondary responses are unchanged) More...
 
void scale_model ()
 Wrap iteratedModel in a RecastModel that performs variable and/or response scaling. More...
 
Real objective (const RealVector &fn_vals, const BoolDeque &max_sense, const RealVector &primary_wts) const
 compute a composite objective value from one or more primary functions More...
 
Real objective (const RealVector &fn_vals, size_t num_fns, const BoolDeque &max_sense, const RealVector &primary_wts) const
 compute a composite objective with specified number of source primary functions, instead of userPrimaryFns More...
 
void objective_gradient (const RealVector &fn_vals, const RealMatrix &fn_grads, const BoolDeque &max_sense, const RealVector &primary_wts, RealVector &obj_grad) const
 compute the gradient of the composite objective function
 
void objective_gradient (const RealVector &fn_vals, size_t num_fns, const RealMatrix &fn_grads, const BoolDeque &max_sense, const RealVector &primary_wts, RealVector &obj_grad) const
 compute the gradient of the composite objective function More...
 
void objective_hessian (const RealVector &fn_vals, const RealMatrix &fn_grads, const RealSymMatrixArray &fn_hessians, const BoolDeque &max_sense, const RealVector &primary_wts, RealSymMatrix &obj_hess) const
 compute the Hessian of the composite objective function
 
void objective_hessian (const RealVector &fn_vals, size_t num_fns, const RealMatrix &fn_grads, const RealSymMatrixArray &fn_hessians, const BoolDeque &max_sense, const RealVector &primary_wts, RealSymMatrix &obj_hess) const
 compute the Hessian of the composite objective function More...
 
void archive_allocate_best (size_t num_points)
 allocate results arrays and labels for multipoint storage
 
void archive_best (size_t index, const Variables &best_vars, const Response &best_resp)
 archive the best point into the results array
 
void resize_best_vars_array (size_t newsize)
 Safely resize the best variables array to newsize taking into account the envelope-letter design pattern and any recasting. More...
 
void resize_best_resp_array (size_t newsize)
 Safely resize the best response array to newsize taking into account the envelope-letter design pattern and any recasting. More...
 
Real sum_squared_residuals (size_t num_pri_fns, const RealVector &residuals, const RealVector &weights)
 return weighted sum of squared residuals
 
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
 
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
 
void local_recast_retrieve (const Variables &vars, Response &response) const
 infers MOO/NLS solution from the solution of a single-objective optimizer More...
 
- Protected Member Functions inherited from Iterator
 Iterator (BaseConstructor, ProblemDescDB &problem_db)
 constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name, Model &model)
 alternate constructor for base iterator classes constructed on the fly More...
 
 Iterator (NoDBBaseConstructor, unsigned short method_name)
 alternate constructor for base iterator classes constructed on the fly More...
 
virtual const VariablesArray & initial_points () const
 gets the multiple initial points for this iterator. This will only be meaningful after a call to initial_points mutator.
 
StrStrSizet run_identifier () const
 get the unique run identifier based on method name, id, and number of executions
 

Private Member Functions

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)
 check for hard convergence (norm of projected gradient of merit function near zero) More...
 
void tr_ratio_check (const RealVector &c_vars_star, const RealVector &tr_lower_bounds, const RealVector &tr_upper_bounds)
 compute trust region ratio (for SBLM iterate acceptance and trust region resizing) and check for soft convergence (diminishing returns) More...
 
void update_penalty (const RealVector &fns_center_truth, const RealVector &fns_star_truth)
 initialize and update the penaltyParameter More...
 
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. More...
 
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. More...
 
static void hom_objective_eval (int &mode, int &n, double *tau_and_x, double &f, double *grad_f, int &)
 static function used by NPSOL as the objective function in the homotopy constraint relaxation formulation. More...
 
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)
 static function used by NPSOL as the constraint function in the homotopy constraint relaxation formulation. More...
 

Private Attributes

Real origTrustRegionFactor
 original user specification for trustRegionFactor
 
Real trustRegionFactor
 the trust region factor is used to compute the total size of the trust region – it is a percentage, e.g. for trustRegionFactor = 0.1, the actual size of the trust region will be 10% of the global bounds (upper bound - lower bound for each design variable).
 
Real minTrustRegionFactor
 a soft convergence control: stop SBLM when the trust region 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
 type of approximate subproblem objective: ORIGINAL_OBJ, LAGRANGIAN_OBJ, or AUGMENTED_LAGRANGIAN_OBJ
 
short approxSubProbCon
 type of approximate subproblem constraints: NO_CON, LINEARIZED_CON, or ORIGINAL_CON
 
Model approxSubProbModel
 the approximate sub-problem formulation solved on each approximate minimization cycle: may be a shallow copy of iteratedModel, or may involve a RecastModel recursion applied to iteratedModel
 
bool recastSubProb
 flag to indicate when approxSubProbModel involves a RecastModel recursion
 
short trConstraintRelax
 type of trust region constraint relaxation for infeasible starting points: NO_RELAX or HOMOTOPY
 
short meritFnType
 type of merit function used in trust region ratio logic: PENALTY_MERIT, ADAPTIVE_PENALTY_MERIT, LAGRANGIAN_MERIT, or AUGMENTED_LAGRANGIAN_MERIT
 
short acceptLogic
 type of iterate acceptance test logic: FILTER or TR_RATIO
 
int penaltyIterOffset
 iteration offset used to update the scaling of the penalty parameter for adaptive_penalty merit functions
 
short convergenceFlag
 code indicating satisfaction of hard or soft convergence conditions
 
unsigned short softConvCount
 number of consecutive candidate point rejections. If the count reaches softConvLimit, stop SBLM.
 
unsigned short softConvLimit
 the limit on consecutive candidate point rejections. If 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
 
short correctionType
 flags the use of surrogate correction techniques at the center 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
 flags the acceptance of a candidate point and the existence of a new trust region center
 
bool daceCenterPtFlag
 flags the availability of the center point in the DACE evaluations for global approximations (CCD, Box-Behnken)
 
bool multiLayerBypassFlag
 flags the simultaneous presence of two conditions: (1) additional layerings w/i actual_model (e.g., surrogateModel = layered/nested/layered -> actual_model = nested/layered), and (2) a user-specification to bypass all layerings within actual_model for the evaluation of truth data (responseCenterTruth and responseStarTruth).
 
bool useDerivsFlag
 flag for the "use_derivatives" specification for which derivatives are to be evaluated at 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
 
IntResponsePair responseCenterTruth
 truth response at trust region center
 
IntResponsePair responseStarTruth
 truth response at SBLM cycle minimum
 

Static Private Attributes

static SurrBasedLocalMinimizersblmInstance
 pointer to SBLM instance used in static member functions
 

Additional Inherited Members

- Static Protected Member Functions inherited from Iterator
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...
 
- Protected Attributes inherited from SurrBasedMinimizer
Iterator approxSubProbMinimizer
 the minimizer used on the surrogate model to solve the approximate subproblem on each surrogate-based iteration
 
int sbIterNum
 surrogate-based minimization iteration number
 
RealVectorList sbFilter
 Set of response function vectors defining a filter (objective vs. constraint violation) for iterate selection/rejection.
 
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 Protected Attributes inherited from Minimizer
static MinimizerminimizerInstance
 pointer to Minimizer used in static member functions
 

Detailed Description

Class for provably-convergent local surrogate-based optimization and nonlinear least squares.

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.

Member Function Documentation

void core_run ( )
protectedvirtual

Performs local surrogate-based minimization by minimizing local, 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.

Reimplemented from Iterator.

References Dakota::abort_handler(), Response::active_set(), Iterator::active_set(), Model::active_variables(), OutputManager::add_datapoint(), DiscrepancyCorrection::apply(), SurrBasedLocalMinimizer::approxGradientFlag, SurrBasedLocalMinimizer::approxHessianFlag, SurrBasedMinimizer::approxSubProbMinimizer, SurrBasedLocalMinimizer::approxSubProbModel, Iterator::bestResponseArray, Iterator::bestVariablesArray, Model::build_approximation(), Model::component_parallel_mode(), DiscrepancyCorrection::compute(), Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Variables::continuous_variables(), Model::continuous_variables(), SurrBasedLocalMinimizer::convergenceFlag, Variables::copy(), Dakota::copy_data(), SurrBasedLocalMinimizer::correctionType, Model::current_response(), Model::current_variables(), SurrBasedLocalMinimizer::daceCenterPtFlag, Model::discrepancy_correction(), Model::evaluate(), Model::evaluation_id(), SurrBasedLocalMinimizer::find_center_approx(), SurrBasedLocalMinimizer::find_center_truth(), SurrBasedLocalMinimizer::globalApproxFlag, SurrBasedLocalMinimizer::hard_convergence_check(), Model::interface_id(), Iterator::is_null(), Iterator::iteratedModel, SurrBasedLocalMinimizer::localApproxFlag, Iterator::maxIterations, Iterator::methodPCIter, SurrBasedLocalMinimizer::minTrustRegionFactor, SurrBasedMinimizer::miPLIndex, SurrBasedLocalMinimizer::multiLayerBypassFlag, SurrBasedLocalMinimizer::multiptApproxFlag, SurrBasedLocalMinimizer::newCenterFlag, Model::nonlinear_eq_constraint_targets(), Model::nonlinear_ineq_constraint_lower_bounds(), Model::nonlinear_ineq_constraint_upper_bounds(), Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, ParallelLibrary::output_manager(), Iterator::parallelLib, SurrBasedLocalMinimizer::recastSubProb, SurrBasedLocalMinimizer::relax_constraints(), ActiveSet::request_values(), SurrBasedLocalMinimizer::reset(), Iterator::response_results(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, Iterator::run(), Iterator::sampling_scheme(), SurrBasedMinimizer::sbIterNum, SurrBasedLocalMinimizer::sblmInstance, SurrBasedLocalMinimizer::softConvCount, SurrBasedLocalMinimizer::softConvLimit, Model::subordinate_iterator(), Model::surrogate_model(), Model::surrogate_response_mode(), SurrBasedLocalMinimizer::tr_bounds(), SurrBasedLocalMinimizer::tr_ratio_check(), SurrBasedLocalMinimizer::trConstraintRelax, SurrBasedLocalMinimizer::trustRegionFactor, Model::truth_model(), SurrBasedLocalMinimizer::truthGradientFlag, SurrBasedLocalMinimizer::truthHessianFlag, Response::update(), SurrBasedLocalMinimizer::useDerivsFlag, Iterator::variables_results(), and SurrBasedLocalMinimizer::varsCenter.

void hard_convergence_check ( const Response response_truth,
const RealVector &  c_vars,
const RealVector &  lower_bnds,
const RealVector &  upper_bnds 
)
private
void tr_ratio_check ( const RealVector &  c_vars_star,
const RealVector &  tr_lower_bnds,
const RealVector &  tr_upper_bnds 
)
private

compute trust region ratio (for SBLM iterate acceptance and trust 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).

References SurrBasedLocalMinimizer::acceptLogic, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::augmented_lagrangian_merit(), SurrBasedMinimizer::constraint_violation(), Minimizer::constraintTol, Iterator::convergenceTol, SurrBasedMinimizer::etaSequence, Response::function_values(), SurrBasedLocalMinimizer::gammaContract, SurrBasedLocalMinimizer::gammaExpand, SurrBasedLocalMinimizer::globalApproxFlag, Iterator::iteratedModel, SurrBasedMinimizer::lagrangian_merit(), SurrBasedLocalMinimizer::meritFnType, SurrBasedLocalMinimizer::newCenterFlag, Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, SurrBasedMinimizer::penalty_merit(), Model::primary_response_fn_sense(), Model::primary_response_fn_weights(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, SurrBasedLocalMinimizer::softConvCount, SurrBasedLocalMinimizer::trRatioContractValue, SurrBasedLocalMinimizer::trRatioExpandValue, SurrBasedLocalMinimizer::trustRegionFactor, SurrBasedMinimizer::update_augmented_lagrange_multipliers(), SurrBasedMinimizer::update_filter(), and SurrBasedLocalMinimizer::update_penalty().

Referenced by SurrBasedLocalMinimizer::core_run().

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.

References SurrBasedMinimizer::alphaEta, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::constraint_violation(), Minimizer::constraintTol, SurrBasedMinimizer::eta, SurrBasedMinimizer::etaSequence, Iterator::iteratedModel, SurrBasedLocalMinimizer::meritFnType, Minimizer::objective(), SurrBasedLocalMinimizer::penaltyIterOffset, SurrBasedMinimizer::penaltyParameter, Model::primary_response_fn_sense(), Model::primary_response_fn_weights(), and SurrBasedMinimizer::sbIterNum.

Referenced by SurrBasedLocalMinimizer::tr_ratio_check().

void approx_subprob_objective_eval ( const Variables surrogate_vars,
const Variables recast_vars,
const Response surrogate_response,
Response recast_response 
)
staticprivate
void approx_subprob_constraint_eval ( const Variables surrogate_vars,
const Variables recast_vars,
const Response surrogate_response,
Response recast_response 
)
staticprivate
void hom_objective_eval ( int &  mode,
int &  n,
double *  tau_and_x,
double &  f,
double *  grad_f,
int &   
)
staticprivate

static function used by NPSOL as the objective function in the 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 .

Referenced by SurrBasedLocalMinimizer::relax_constraints().

void hom_constraint_eval ( int &  mode,
int &  ncnln,
int &  n,
int &  nrowj,
int *  needc,
double *  tau_and_x,
double *  c,
double *  cjac,
int &  nstate 
)
staticprivate

static function used by NPSOL as the constraint function in the 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.

References Response::active_set(), SurrBasedLocalMinimizer::approxSubProbModel, Model::continuous_variables(), Model::current_response(), Model::evaluate(), Response::function_gradients(), Response::function_values(), SurrBasedLocalMinimizer::nonlinEqTargetsSlack, SurrBasedLocalMinimizer::nonlinIneqLowerBndsSlack, SurrBasedLocalMinimizer::nonlinIneqUpperBndsSlack, Model::num_functions(), Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, ActiveSet::request_vector(), SurrBasedLocalMinimizer::sblmInstance, and SurrBasedLocalMinimizer::tau.

Referenced by SurrBasedLocalMinimizer::relax_constraints().


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