![]() |
Dakota
Version 6.21
Explore and Predict with Confidence
|
Wrapper class for the OPT++ optimization library. More...
Public Member Functions | |
| SNLLOptimizer (ProblemDescDB &problem_db, Model &model) | |
| standard constructor More... | |
| SNLLOptimizer (const String &method_string, Model &model) | |
| alternate constructor for instantiations "on the fly" More... | |
| SNLLOptimizer (const RealVector &initial_pt, const RealVector &var_l_bnds, const RealVector &var_u_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, void(*nlf1_obj_eval)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode), void(*nlf1_con_eval)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode), size_t max_iter=100, size_t max_eval=1000, Real conv_tol=1.e-4, Real grad_tol=1.e-4, Real max_step=1000.) | |
| alternate constructor for objective/constraint call-backs; analytic gradient case More... | |
| SNLLOptimizer (const RealVector &initial_pt, const RealVector &var_l_bnds, const RealVector &var_u_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, void(*nlf0_obj_eval)(int n, const RealVector &x, double &f, int &result_mode), void(*nlf1_con_eval)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode), const RealVector &fdss, const String &interval_type, size_t max_iter=100, size_t max_eval=1000, Real conv_tol=1.e-4, Real grad_tol=1.e-4, Real max_step=1000.) | |
| alternate constructor for objective/constraint call-backs; mixed gradient case: numerical objective, analytic constraints More... | |
| SNLLOptimizer (const RealVector &initial_pt, const RealVector &var_l_bnds, const RealVector &var_u_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, void(*nlf1_obj_eval)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode), void(*nlf0_con_eval)(int n, const RealVector &x, RealVector &g, int &result_mode), const RealVector &fdss, const String &interval_type, size_t max_iter=100, size_t max_eval=1000, Real conv_tol=1.e-4, Real grad_tol=1.e-4, Real max_step=1000.) | |
| alternate constructor for objective/constraint call-backs; mixed gradient case: analytic objective, numerical constraints More... | |
| SNLLOptimizer (const RealVector &initial_pt, const RealVector &var_l_bnds, const RealVector &var_u_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgts, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_tgts, void(*nlf0_obj_eval)(int n, const RealVector &x, double &f, int &result_mode), void(*nlf0_con_eval)(int n, const RealVector &x, RealVector &g, int &result_mode), const RealVector &fdss, const String &interval_type, size_t max_iter=100, size_t max_eval=1000, Real conv_tol=1.e-4, Real grad_tol=1.e-4, Real max_step=1000.) | |
| alternate constructor for objective/constraint call-backs; numerical gradient case More... | |
| ~SNLLOptimizer () | |
| destructor | |
| void | core_run () |
| Performs the iterations to determine the optimal solution. | |
| void | reset () |
| restore initial state for repeated sub-iterator executions | |
| void | declare_sources () |
| Declare sources to the evaluations database. | |
| void | initial_point (const RealVector &pt) |
| sets the initial point (active continuous variables) for this iterator (user-functions mode for which Model updating is not used) | |
| void | update_callback_data (const RealVector &cv_initial, const RealVector &cv_lower_bnds, const RealVector &cv_upper_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_targets, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_targets) |
| assign variable values and bounds and constraint coefficients and bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| const RealMatrix & | callback_linear_ineq_coefficients () const |
| return linear constraint coefficients for this iterator (user-functions mode for which iteratedModel is null) | |
| const RealVector & | callback_linear_ineq_lower_bounds () const |
| return linear constraint lower bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| const RealVector & | callback_linear_ineq_upper_bounds () const |
| return linear constraint upper bounds for this iterator (user-functions mode for which iteratedModel is null) | |
Public Member Functions inherited from Optimizer | |
| void | get_common_stopping_criteria (int &max_fn_evals, int &max_iters, double &conv_tol, double &min_var_chg, double &obj_target) |
| int | num_nonlin_ineq_constraints_found () const |
| template<typename AdapterT > | |
| bool | get_variable_bounds_from_dakota (typename AdapterT::VecT &lower, typename AdapterT::VecT &upper) |
| template<typename VecT > | |
| void | get_responses_from_dakota (const RealVector &dak_fn_vals, VecT &funs, VecT &cEqs, VecT &cIneqs) |
Public Member Functions inherited from Minimizer | |
| void | constraint_tolerance (Real constr_tol) |
| set the method constraint tolerance (constraintTol) | |
| Real | constraint_tolerance () const |
| return the method constraint tolerance (constraintTol) | |
| std::shared_ptr< TPLDataTransfer > | get_data_transfer_helper () const |
| bool | resize () |
| reinitializes iterator based on new variable size | |
Public Member Functions inherited from Iterator | |
| Iterator (std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| default constructor More... | |
| Iterator (ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| standard envelope constructor, which constructs its own model(s) More... | |
| Iterator (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate envelope constructor which uses the ProblemDescDB but accepts a model from a higher level (meta-iterator) context, instead of constructing its own More... | |
| Iterator (const String &method_string, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate envelope constructor for instantiations by name without the ProblemDescDB More... | |
| Iterator (const Iterator &iterator) | |
| copy constructor More... | |
| virtual | ~Iterator () |
| destructor | |
| Iterator | operator= (const Iterator &iterator) |
| assignment operator | |
| virtual void | derived_set_communicators (ParLevLIter pl_iter) |
| derived class contributions to setting the communicators associated with this Iterator instance | |
| virtual void | derived_free_communicators (ParLevLIter pl_iter) |
| derived class contributions to freeing the communicators associated with this Iterator instance | |
| virtual void | pre_run () |
| pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a priori More... | |
| virtual void | pre_output () |
| write variables to file, following pre-run | |
| virtual void | post_input () |
| read tabular data for post-run mode | |
| virtual void | nested_variable_mappings (const SizetArray &c_index1, const SizetArray &di_index1, const SizetArray &ds_index1, const SizetArray &dr_index1, const ShortArray &c_target2, const ShortArray &di_target2, const ShortArray &ds_target2, const ShortArray &dr_target2) |
| set primaryA{CV,DIV,DRV}MapIndices, secondaryA{CV,DIV,DRV}MapTargets within derived Iterators; supports computation of higher-level sensitivities in nested contexts (e.g., derivatives of statistics w.r.t. inserted design variables) | |
| virtual void | nested_response_mappings (const RealMatrix &primary_coeffs, const RealMatrix &secondary_coeffs) |
| set primaryResponseCoefficients, secondaryResponseCoefficients within derived Iterators; Necessary for scalarization case in MLMC NonDMultilevelSampling to map scalarization in nested context | |
| virtual void | initialize_iterator (int job_index) |
| used by IteratorScheduler to set the starting data for a run | |
| virtual void | pack_parameters_buffer (MPIPackBuffer &send_buffer, int job_index) |
| used by IteratorScheduler to pack starting data for an iterator run | |
| virtual void | unpack_parameters_buffer (MPIUnpackBuffer &recv_buffer, int job_index) |
| used by IteratorScheduler to unpack starting data for an iterator run | |
| virtual void | unpack_parameters_initialize (MPIUnpackBuffer &recv_buffer, int job_index) |
| used by IteratorScheduler to unpack starting data and initialize an iterator run | |
| virtual void | pack_results_buffer (MPIPackBuffer &send_buffer, int job_index) |
| used by IteratorScheduler to pack results data from an iterator run | |
| virtual void | unpack_results_buffer (MPIUnpackBuffer &recv_buffer, int job_index) |
| used by IteratorScheduler to unpack results data from an iterator run | |
| virtual void | update_local_results (int job_index) |
| used by IteratorScheduler to update local results arrays | |
| virtual const Variables & | variables_results () const |
| return a single final iterator solution (variables) | |
| virtual const Response & | response_results () const |
| return a single final iterator solution (response) | |
| virtual const VariablesArray & | variables_array_results () |
| return multiple final iterator solutions (variables). This should only be used if returns_multiple_points() returns true. | |
| virtual const ResponseArray & | response_array_results () |
| return multiple final iterator solutions (response). This should only be used if returns_multiple_points() returns true. | |
| virtual void | response_results_active_set (const ActiveSet &set) |
| set the requested data for the final iterator response results | |
| virtual const RealSymMatrix & | response_error_estimates () const |
| return error estimates associated with the final iterator solution | |
| virtual bool | accepts_multiple_points () const |
| indicates if this iterator accepts multiple initial points. Default return is false. Override to return true if appropriate. | |
| virtual bool | returns_multiple_points () const |
| indicates if this iterator returns multiple final points. Default return is false. Override to return true if appropriate. | |
| virtual void | initial_point (const Variables &pt) |
| sets the initial point for this iterator (user-functions mode for which Model updating is not used) | |
| virtual void | initial_points (const VariablesArray &pts) |
| sets the multiple initial points for this iterator. This should only be used if accepts_multiple_points() returns true. | |
| virtual void | initialize_graphics (int iterator_server_id=1) |
| initialize the 2D graphics window and the tabular graphics data More... | |
| virtual void | check_sub_iterator_conflict () |
| detect any conflicts due to recursive use of the same Fortran solver More... | |
| virtual unsigned short | uses_method () const |
| return name of any enabling iterator used by this iterator | |
| virtual void | method_recourse (unsigned short method_name) |
| perform a method switch, if possible, due to a detected conflict with the simultaneous use of method_name at an higher-level | |
| virtual const VariablesArray & | all_variables () |
| return the complete set of evaluated variables | |
| virtual const RealMatrix & | all_samples () |
| return the complete set of evaluated samples | |
| virtual const IntResponseMap & | all_responses () const |
| return the complete set of computed responses | |
| virtual size_t | num_samples () const |
| get the current number of samples | |
| virtual void | sampling_reset (size_t min_samples, bool all_data_flag, bool stats_flag) |
| reset sampling iterator to use at least min_samples | |
| virtual void | sampling_reference (size_t samples_ref) |
| set reference number of samples, which is a lower bound during reset | |
| virtual void | sampling_increment () |
| increment to next in sequence of refinement samples | |
| virtual void | random_seed (int seed) |
| set randomSeed, if present | |
| virtual unsigned short | sampling_scheme () const |
| return sampling name | |
| virtual bool | compact_mode () const |
| returns Analyzer::compactMode | |
| virtual IntIntPair | estimate_partition_bounds () |
| estimate the minimum and maximum partition sizes that can be utilized by this Iterator | |
| void | init_communicators (ParLevLIter pl_iter) |
| initialize the communicators associated with this Iterator instance | |
| void | set_communicators (ParLevLIter pl_iter) |
| set the communicators associated with this Iterator instance | |
| void | free_communicators (ParLevLIter pl_iter) |
| free the communicators associated with this Iterator instance | |
| void | resize_communicators (ParLevLIter pl_iter, bool reinit_comms) |
| Resize the communicators. This is called from the letter's resize() | |
| void | parallel_configuration_iterator (ParConfigLIter pc_iter) |
| set methodPCIter | |
| ParConfigLIter | parallel_configuration_iterator () const |
| return methodPCIter | |
| void | parallel_configuration_iterator_map (std::map< size_t, ParConfigLIter > pci_map) |
| set methodPCIterMap | |
| std::map< size_t, ParConfigLIter > | parallel_configuration_iterator_map () const |
| return methodPCIterMap | |
| void | run (ParLevLIter pl_iter) |
| invoke set_communicators(pl_iter) prior to run() | |
| void | run () |
| orchestrate initialize/pre/core/post/finalize phases More... | |
| void | assign_rep (std::shared_ptr< Iterator > iterator_rep) |
| replaces existing letter with a new one More... | |
| void | iterated_model (const Model &model) |
| set the iteratedModel (iterators and meta-iterators using a single model instance) | |
| Model & | iterated_model () |
| return the iteratedModel (iterators & meta-iterators using a single model instance) | |
| ProblemDescDB & | problem_description_db () const |
| return the problem description database (probDescDB) | |
| ParallelLibrary & | parallel_library () const |
| return the parallel library (parallelLib) | |
| void | method_name (unsigned short m_name) |
| set the method name to an enumeration value | |
| unsigned short | method_name () const |
| return the method name via its native enumeration value | |
| void | method_string (const String &m_str) |
| set the method name by string | |
| String | method_string () const |
| return the method name by string | |
| String | method_enum_to_string (unsigned short method_enum) const |
| convert a method name enumeration value to a string | |
| unsigned short | method_string_to_enum (const String &method_str) const |
| convert a method name string to an enumeration value | |
| String | submethod_enum_to_string (unsigned short submethod_enum) const |
| convert a sub-method name enumeration value to a string | |
| const String & | method_id () const |
| return the method identifier (methodId) | |
| int | maximum_evaluation_concurrency () const |
| return the maximum evaluation concurrency supported by the iterator | |
| void | maximum_evaluation_concurrency (int max_conc) |
| set the maximum evaluation concurrency supported by the iterator | |
| size_t | maximum_iterations () const |
| return the maximum iterations for this iterator | |
| void | maximum_iterations (size_t max_iter) |
| set the maximum iterations for this iterator | |
| void | convergence_tolerance (Real conv_tol) |
| set the method convergence tolerance (convergenceTol) | |
| Real | convergence_tolerance () const |
| return the method convergence tolerance (convergenceTol) | |
| void | output_level (short out_lev) |
| set the method output level (outputLevel) | |
| short | output_level () const |
| return the method output level (outputLevel) | |
| void | summary_output (bool summary_output_flag) |
| Set summary output control; true enables evaluation/results summary. | |
| size_t | num_final_solutions () const |
| return the number of solutions to retain in best variables/response arrays | |
| void | num_final_solutions (size_t num_final) |
| set the number of solutions to retain in best variables/response arrays | |
| void | active_set (const ActiveSet &set) |
| set the default active set (for use with iterators that employ evaluate_parameter_sets()) | |
| const ActiveSet & | active_set () const |
| return the default active set (used by iterators that employ evaluate_parameter_sets()) | |
| void | active_set_request_vector (const ShortArray &asv) |
| return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
| const ShortArray & | active_set_request_vector () const |
| return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
| void | active_set_request_values (short asv_val) |
| return the default active set request vector (used by iterators that employ evaluate_parameter_sets()) | |
| void | sub_iterator_flag (bool si_flag) |
| set subIteratorFlag (and update summaryOutputFlag if needed) | |
| bool | is_null () const |
| function to check iteratorRep (does this envelope contain a letter?) | |
| std::shared_ptr< Iterator > | iterator_rep () const |
| returns iteratorRep for access to derived class member functions that are not mapped to the top Iterator level | |
| virtual void | eval_tag_prefix (const String &eval_id_str) |
| set the hierarchical eval ID tag prefix More... | |
| std::shared_ptr< TraitsBase > | traits () const |
| returns methodTraits for access to derived class member functions that are not mapped to the top TraitsBase level | |
| bool | top_level () |
| Return whether the iterator is the top level iterator. | |
| void | top_level (bool tflag) |
| Set the iterator's top level flag. | |
Public Member Functions inherited from SNLLBase | |
| SNLLBase () | |
| default constructor | |
| SNLLBase (ProblemDescDB &problem_db) | |
| standard constructor | |
| ~SNLLBase () | |
| destructor | |
Protected Member Functions | |
| void | initialize_run () |
| invokes Optimizer::initialize_run(), SNLLBase::snll_initialize_run(), and performs other set-up | |
| void | post_run (std::ostream &s) |
| performs data recovery and calls Optimizer::post_run() | |
| void | finalize_run () |
| performs cleanup, restores instances and calls parent finalize | |
Protected Member Functions inherited from Optimizer | |
| Optimizer (std::shared_ptr< TraitsBase > traits) | |
| default constructor | |
| Optimizer (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits) | |
| alternate constructor; accepts a model | |
| Optimizer (unsigned short method_name, Model &model, std::shared_ptr< TraitsBase > traits) | |
| alternate constructor for "on the fly" instantiations | |
| Optimizer (unsigned short method_name, size_t num_cv, size_t num_div, size_t num_dsv, size_t num_drv, size_t num_lin_ineq, size_t num_lin_eq, size_t num_nln_ineq, size_t num_nln_eq, std::shared_ptr< TraitsBase > traits) | |
| alternate constructor for "on the fly" instantiations | |
| ~Optimizer () | |
| destructor | |
| void | print_results (std::ostream &s, short results_state=FINAL_RESULTS) |
| void | configure_constraint_maps () |
| int | configure_inequality_constraints (CONSTRAINT_TYPE ctype) |
| void | configure_equality_constraints (CONSTRAINT_TYPE ctype, size_t index_offset) |
| template<typename AdapterT > | |
| void | get_linear_constraints_and_bounds (typename AdapterT::VecT &lin_ineq_lower_bnds, typename AdapterT::VecT &lin_ineq_upper_bnds, typename AdapterT::VecT &lin_eq_targets, typename AdapterT::MatT &lin_ineq_coeffs, typename AdapterT::MatT &lin_eq_coeffs) |
Protected Member Functions inherited from Minimizer | |
| Minimizer (std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| default constructor | |
| Minimizer (ProblemDescDB &problem_db, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| standard constructor More... | |
| Minimizer (unsigned short method_name, Model &model, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| 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, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate constructor for "on the fly" instantiations | |
| Minimizer (Model &model, size_t max_iter, size_t max_eval, Real conv_tol, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| 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 | |
| const Model & | algorithm_space_model () const |
| Model | original_model (unsigned short recasts_left=0) const |
| 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... | |
| void | enforce_null_model () |
| ensure iteratedModel is null when using function callbacks for evaluation | |
| 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... | |
| virtual void | archive_best_results () |
| top-level archival method | |
| void | archive_best_variables (const bool active_only=false) const |
| archive best variables for the index'th final solution | |
| void | archive_best_objective_functions () const |
| archive the index'th set of objective functions | |
| void | archive_best_constraints () const |
| archive the index'th set of constraints | |
| void | archive_best_residuals () const |
| Archive residuals when calibration terms are used. | |
| 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... | |
| bool | local_recast_retrieve (const Variables &vars, Response &response) const |
| infers MOO/NLS solution from the solution of a single-objective optimizer and returns true if lookup succeeds More... | |
| void | reshape_best (size_t num_cv, size_t num_fns) |
| reshape input/output sizes within best{Variables,Response}Array | |
Protected Member Functions inherited from Iterator | |
| Iterator (BaseConstructor, ProblemDescDB &problem_db, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| 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, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate constructor for base iterator classes constructed on the fly More... | |
| Iterator (NoDBBaseConstructor, unsigned short method_name, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate constructor for base iterator classes constructed on the fly More... | |
| Iterator (NoDBBaseConstructor, Model &model, size_t max_iter, size_t max_eval, Real conv_tol, std::shared_ptr< TraitsBase > traits=std::shared_ptr< TraitsBase >(new TraitsBase())) | |
| alternate envelope constructor for instantiations without ProblemDescDB More... | |
| virtual void | derived_init_communicators (ParLevLIter pl_iter) |
| derived class contributions to initializing the communicators associated with this Iterator instance | |
| 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 | |
| void | initialize_model_graphics (Model &model, int iterator_server_id) |
| helper function that encapsulates initialization operations, modular on incoming Model instance More... | |
| void | export_final_surrogates (Model &data_fit_surr_model) |
| export final surrogates generated, e.g., GP in EGO and friends More... | |
Protected Member Functions inherited from SNLLBase | |
| void | copy_con_vals_dak_to_optpp (const RealVector &local_fn_vals, RealVector &g, size_t offset) |
| convenience function for copying local_fn_vals to g; used by constraint evaluator functions | |
| void | copy_con_vals_optpp_to_dak (const RealVector &g, RealVector &local_fn_vals, size_t offset) |
| convenience function for copying g to local_fn_vals; used in final solution logging | |
| void | copy_con_grad (const RealMatrix &local_fn_grads, RealMatrix &grad_g, size_t offset) |
| convenience function for copying local_fn_grads to grad_g; used by constraint evaluator functions | |
| void | copy_con_hess (const RealSymMatrixArray &local_fn_hessians, OPTPP::OptppArray< RealSymMatrix > &hess_g, size_t offset) |
| convenience function for copying local_fn_hessians to hess_g; used by constraint evaluator functions | |
| void | snll_pre_instantiate (bool bound_constr_flag, int num_constr) |
| convenience function for setting OPT++ options prior to the method instantiation | |
| void | snll_post_instantiate (int num_cv, bool vendor_num_grad_flag, const String &finite_diff_type, const RealVector &fdss, size_t max_iter, size_t max_eval, Real conv_tol, Real grad_tol, Real max_step, bool bound_constr_flag, int num_constr, short output_lev, OPTPP::OptimizeClass *the_optimizer, OPTPP::NLP0 *nlf_objective, OPTPP::FDNLF1 *fd_nlf1, OPTPP::FDNLF1 *fd_nlf1_con) |
| convenience function for setting OPT++ options after the method instantiation | |
| void | snll_initialize_run (OPTPP::NLP0 *nlf_objective, OPTPP::NLP *nlp_constraint, const RealVector &init_pt, bool bound_constr_flag, const RealVector &lower_bnds, const RealVector &upper_bnds, const RealMatrix &lin_ineq_coeffs, const RealVector &lin_ineq_l_bnds, const RealVector &lin_ineq_u_bnds, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_targets, const RealVector &nln_ineq_l_bnds, const RealVector &nln_ineq_u_bnds, const RealVector &nln_eq_targets) |
| convenience function for OPT++ configuration prior to the method invocation | |
| void | snll_post_run (OPTPP::NLP0 *nlf_objective) |
| convenience function for managing OPT++ results after method execution | |
| void | snll_finalize_run (OPTPP::NLP0 *nlf_objective) |
| convenience function for clearing OPT++ data after method execution | |
| void | reset_base () |
| reset last{FnEvalLocn,EvalMode,EvalVars} | |
Private Member Functions | |
| void | deallocate () |
| deallocate any pointer allocations | |
| void | default_instantiate_q_newton (void(*obj_eval)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode)) |
| instantiate an OPTPP_Q_NEWTON solver using standard settings | |
| void | default_instantiate_q_newton (void(*obj_eval)(int n, const RealVector &x, double &f, int &result_mode)) |
| instantiate an OPTPP_Q_NEWTON solver using standard settings | |
| void | default_instantiate_constraint (void(*con_eval)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode)) |
| instantiate constraint objectives using standard settings | |
| void | default_instantiate_constraint (void(*con_eval)(int n, const RealVector &x, RealVector &g, int &result_mode)) |
| instantiate constraint objectives using standard settings | |
| void | default_instantiate_newton (void(*obj_eval)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, RealSymMatrix &hess_f, int &result_mode), void(*con_eval)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, OPTPP::OptppArray< RealSymMatrix > &hess_g, int &result_mode)) |
| instantiate an OPTPP_NEWTON solver using standard settings | |
Static Private Member Functions | |
| static void | nlf0_evaluator (int n, const RealVector &x, double &f, int &result_mode) |
| objective function evaluator function for OPT++ methods which require only function values. More... | |
| static void | nlf1_evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode) |
| objective function evaluator function which provides function values and gradients to OPT++ methods. More... | |
| static void | nlf2_evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad_f, RealSymMatrix &hess_f, int &result_mode) |
| objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods. More... | |
| static void | constraint0_evaluator (int n, const RealVector &x, RealVector &g, int &result_mode) |
| constraint evaluator function for OPT++ methods which require only constraint values. More... | |
| static void | constraint1_evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode) |
| constraint evaluator function which provides constraint values and gradients to OPT++ methods. More... | |
| static void | constraint2_evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, OPTPP::OptppArray< RealSymMatrix > &hess_g, int &result_mode) |
| constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods. More... | |
Private Attributes | |
| SNLLOptimizer * | prevSnllOptInstance |
| pointer to the previously active object instance used for restoration in the case of iterator/model recursion | |
| OPTPP::NLP0 * | nlfObjective |
| objective NLF base class pointer | |
| OPTPP::NLP0 * | nlfConstraint |
| constraint NLF base class pointer | |
| OPTPP::NLP * | nlpConstraint |
| constraint NLP pointer | |
| OPTPP::NLF0 * | nlf0 |
| pointer to objective NLF for nongradient optimizers | |
| OPTPP::NLF1 * | nlf1 |
| pointer to objective NLF for (analytic) gradient-based optimizers | |
| OPTPP::NLF1 * | nlf1Con |
| pointer to constraint NLF for (analytic) gradient-based optimizers | |
| OPTPP::FDNLF1 * | fdnlf1 |
| pointer to objective NLF for (finite diff) gradient-based optimizers | |
| OPTPP::FDNLF1 * | fdnlf1Con |
| pointer to constraint NLF for (finite diff) gradient-based optimizers | |
| OPTPP::NLF2 * | nlf2 |
| pointer to objective NLF for full Newton optimizers | |
| OPTPP::NLF2 * | nlf2Con |
| pointer to constraint NLF for full Newton optimizers | |
| OPTPP::OptimizeClass * | theOptimizer |
| optimizer base class pointer | |
| OPTPP::OptPDS * | optpds |
| PDS optimizer pointer. | |
| OPTPP::OptCG * | optcg |
| CG optimizer pointer. | |
| OPTPP::OptLBFGS * | optlbfgs |
| L-BFGS optimizer pointer. | |
| OPTPP::OptNewton * | optnewton |
| Newton optimizer pointer. | |
| OPTPP::OptQNewton * | optqnewton |
| Quasi-Newton optimizer pointer. | |
| OPTPP::OptFDNewton * | optfdnewton |
| Finite Difference Newton opt pointer. | |
| OPTPP::OptBCNewton * | optbcnewton |
| Bound constrained Newton opt pointer. | |
| OPTPP::OptBCQNewton * | optbcqnewton |
| Bnd constrained Quasi-Newton opt ptr. | |
| OPTPP::OptBCFDNewton * | optbcfdnewton |
| Bnd constrained FD-Newton opt ptr. | |
| OPTPP::OptNIPS * | optnips |
| NIPS optimizer pointer. | |
| OPTPP::OptQNIPS * | optqnips |
| Quasi-Newton NIPS optimizer pointer. | |
| OPTPP::OptFDNIPS * | optfdnips |
| Finite Difference NIPS opt pointer. | |
| String | setUpType |
| flag for iteration mode: "model" (normal usage) or "user_functions" (user-supplied functions mode for "on the fly" instantiations). NonDReliability currently uses the user_functions mode. | |
| RealVector | initialPoint |
| initial point used in "user_functions" mode | |
| RealVector | lowerBounds |
| variable lower bounds used in "user_functions" mode | |
| RealVector | upperBounds |
| variable upper bounds used in "user_functions" mode | |
| RealMatrix | linIneqCoeffs |
| linear inequality constraint coefficients used in "user_functions" mode | |
| RealVector | linIneqLowerBnds |
| linear inequality constraint lower bounds used in "user_functions" mode | |
| RealVector | linIneqUpperBnds |
| linear inequality constraint upper bounds used in "user_functions" mode | |
| RealMatrix | linEqCoeffs |
| linear equality constraint coefficients used in "user_functions" mode | |
| RealVector | linEqTargets |
| linear equality constraint targets used in "user_functions" mode | |
| RealVector | nlnIneqLowerBnds |
| nonlinear inequality constraint lower bounds used in "user_functions" mode | |
| RealVector | nlnIneqUpperBnds |
| nonlinear inequality constraint upper bounds used in "user_functions" mode | |
| RealVector | nlnEqTargets |
| nonlinear equality constraint targets used in "user_functions" mode | |
| RealVector | fdStepSize |
| finite difference step sizes, either scalar or one per variable | |
| String | fdIntervalType |
| type of finite difference interval: forward or central | |
| void(* | userObjective0 )(int n, const RealVector &x, double &f, int &result_mode) |
| cache zeroth-order objective call-back function | |
| void(* | userObjective1 )(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode) |
| cache first-order objective call-back function | |
| void(* | userConstraint0 )(int n, const RealVector &x, RealVector &g, int &result_mode) |
| cache zeroth-order constraint call-back function | |
| void(* | userConstraint1 )(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode) |
| cache first-order constraint call-back function | |
Static Private Attributes | |
| static SNLLOptimizer * | snllOptInstance |
| 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 Public Member Functions inherited from Optimizer | |
| static void | not_available (const std::string &package_name) |
| Static helper function: third-party opt packages which are not available. | |
Static Public Member Functions inherited from Minimizer | |
| 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 | |
| static void | print_best_eval_ids (const String &interface_id, const Variables &best_vars, const ActiveSet &active_set, std::ostream &s) |
| print best evaluation matching vars and set, or partial matches with matching variables only. More... | |
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... | |
Static Protected Member Functions inherited from SNLLBase | |
| static void | init_fn (int n, RealVector &x) |
| An initialization mechanism provided by OPT++ (not currently used). | |
Protected Attributes inherited from Optimizer | |
| size_t | numObjectiveFns |
| number of objective functions (iterator view) | |
| bool | localObjectiveRecast |
| flag indicating whether local recasting to a single objective is used | |
| Optimizer * | prevOptInstance |
| pointer containing previous value of optimizerInstance | |
| int | numNonlinearIneqConstraintsFound |
| number of nonlinear ineq constraints actually used (based on conditional and bigRealBoundSize | |
| std::vector< int > | constraintMapIndices |
| map from Dakota constraint number to APPS constraint number | |
| std::vector< double > | constraintMapMultipliers |
| multipliers for constraint transformations | |
| std::vector< double > | constraintMapOffsets |
| offsets for constraint transformations | |
Protected Attributes inherited from Minimizer | |
| size_t | numFunctions |
| number of response functions | |
| size_t | numContinuousVars |
| number of active continuous vars | |
| size_t | numDiscreteIntVars |
| number of active discrete integer vars | |
| size_t | numDiscreteStringVars |
| number of active discrete string vars | |
| size_t | numDiscreteRealVars |
| number of active discrete real vars | |
| Real | constraintTol |
| optimizer/least squares constraint tolerance | |
| Real | bigRealBoundSize |
| cutoff value for inequality constraint and continuous variable bounds | |
| int | bigIntBoundSize |
| cutoff value for discrete variable bounds | |
| size_t | numNonlinearIneqConstraints |
| number of nonlinear inequality constraints | |
| size_t | numNonlinearEqConstraints |
| number of nonlinear equality constraints | |
| size_t | numLinearIneqConstraints |
| number of linear inequality constraints | |
| size_t | numLinearEqConstraints |
| number of linear equality constraints | |
| size_t | numNonlinearConstraints |
| total number of nonlinear constraints | |
| size_t | numLinearConstraints |
| total number of linear constraints | |
| size_t | numConstraints |
| total number of linear and nonlinear constraints | |
| bool | optimizationFlag |
| flag for use where optimization and NLS must be distinguished | |
| size_t | numUserPrimaryFns |
| number of objective functions or least squares terms in the inbound model; always initialize at Minimizer, even if overridden later | |
| size_t | numIterPrimaryFns |
| number of objective functions or least squares terms in iterator's view, after transformations; always initialize at Minimizer, even if overridden later | |
| bool | boundConstraintFlag |
| convenience flag for denoting the presence of user-specified bound constraints. Used for method selection and error checking. | |
| bool | speculativeFlag |
| flag for speculative gradient evaluations | |
| bool | calibrationDataFlag |
| flag indicating whether user-supplied calibration data is active | |
| ExperimentData | expData |
| Container for experimental data to which to calibrate model using least squares or other formulations which minimize SSE. | |
| size_t | numExperiments |
| number of experiments | |
| size_t | numTotalCalibTerms |
| number of total calibration terms (sum over experiments of number of experimental data per experiment, including field data) | |
| Model | dataTransformModel |
| Shallow copy of the data transformation model, when present (cached in case further wrapped by other transformations) | |
| bool | scaleFlag |
| whether Iterator-level scaling is active | |
| Model | scalingModel |
| Shallow copy of the scaling transformation model, when present (cached in case further wrapped by other transformations) | |
| Minimizer * | prevMinInstance |
| pointer containing previous value of minimizerInstance | |
| bool | vendorNumericalGradFlag |
| convenience flag for gradient_type == numerical && method_source == vendor | |
| std::shared_ptr< TPLDataTransfer > | dataTransferHandler |
| Emerging helper class for handling data transfers to/from Dakota and the underlying TPL. | |
Protected Attributes inherited from Iterator | |
| ProblemDescDB & | probDescDB |
| class member reference to the problem description database More... | |
| ParallelLibrary & | parallelLib |
| class member reference to the parallel library | |
| ParConfigLIter | methodPCIter |
| the active ParallelConfiguration used by this Iterator instance | |
| Model | iteratedModel |
| the model to be iterated (for iterators and meta-iterators employing a single model instance) | |
| size_t | myModelLayers |
| number of Models locally (in Iterator or derived classes) wrapped around the initially passed in Model | |
| unsigned short | methodName |
| name of the iterator (the user's method spec) | |
| Real | convergenceTol |
| iteration convergence tolerance | |
| size_t | maxIterations |
| maximum number of iterations for the method | |
| size_t | maxFunctionEvals |
| maximum number of fn evaluations for the method | |
| int | maxEvalConcurrency |
| maximum number of concurrent model evaluations More... | |
| ActiveSet | activeSet |
| the response data requirements on each function evaluation | |
| size_t | numFinalSolutions |
| number of solutions to retain in best variables/response arrays | |
| VariablesArray | bestVariablesArray |
| collection of N best solution variables found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
| ResponseArray | bestResponseArray |
| collection of N best solution responses found during the study; always in context of Model originally passed to the Iterator (any in-flight Recasts must be undone) | |
| bool | subIteratorFlag |
| flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator) | |
| short | outputLevel |
| output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT | |
| bool | summaryOutputFlag |
| flag for summary output (evaluation stats, final results); default true, but false for on-the-fly (helper) iterators and sub-iterator use cases | |
| ResultsManager & | resultsDB |
| reference to the global iterator results database | |
| EvaluationStore & | evaluationsDB |
| reference to the global evaluation database | |
| EvaluationsDBState | evaluationsDBState |
| State of evaluations DB for this iterator. | |
| ResultsNames | resultsNames |
| valid names for iterator results | |
| std::shared_ptr< TraitsBase > | methodTraits |
| pointer that retains shared ownership of a TraitsBase object, or child thereof | |
| bool | topLevel |
| Whether this is the top level iterator. | |
| bool | exportSurrogate = false |
| whether to export final surrogates | |
| String | surrExportPrefix |
| base filename for exported surrogates | |
| unsigned short | surrExportFormat = NO_MODEL_FORMAT |
| (bitwise) format(s) to export | |
Protected Attributes inherited from SNLLBase | |
| String | searchMethod |
| value_based_line_search, gradient_based_line_search, trust_region, or tr_pds | |
| OPTPP::SearchStrategy | searchStrat |
| enum: LineSearch, TrustRegion, or TrustPDS | |
| OPTPP::MeritFcn | meritFn |
| enum: NormFmu, ArgaezTapia, or VanShanno | |
| Real | gradientTol |
value from gradient_tolerance specification | |
| Real | maxStep |
value from max_step specification | |
| Real | stepLenToBndry |
value from steplength_to_boundary specification | |
| Real | centeringParam |
value from centering_parameter specification | |
| bool | constantASVFlag |
| flags a user selection of active_set_vector == constant. By mapping this into mode override, reliance on duplicate detection can be avoided. | |
Static Protected Attributes inherited from Optimizer | |
| static Optimizer * | optimizerInstance |
| pointer to Optimizer instance used in static member functions | |
Static Protected Attributes inherited from Minimizer | |
| static Minimizer * | minimizerInstance |
| pointer to Minimizer used in static member functions | |
Static Protected Attributes inherited from SNLLBase | |
| static Minimizer * | optLSqInstance |
| pointer to the active base class object instance used within the static evaluator functions in order to avoid the need for static data | |
| static bool | modeOverrideFlag |
| flags OPT++ mode override (for combining value, gradient, and Hessian requests) | |
| static EvalType | lastFnEvalLocn |
| an enum used to track whether an nlf evaluator or a constraint evaluator was the last location of a function evaluation | |
| static int | lastEvalMode |
| copy of mode from constraint evaluators | |
| static RealVector | lastEvalVars |
| copy of variables from constraint evaluators | |
Wrapper class for the OPT++ optimization library.
The SNLLOptimizer class provides a wrapper for OPT++, a C++ optimization library of nonlinear programming and pattern search techniques from the Computational Sciences and Mathematics Research (CSMR) department at Sandia's Livermore CA site. It uses a function pointer approach for which passed functions must be either global functions or static member functions. Any attribute used within static member functions must be either local to that function, a static member, or accessed by static pointer.
The user input mappings are as follows: max_iterations, max_function_evaluations, convergence_tolerance, max_step, gradient_tolerance, search_method, and search_scheme_size are set using OPT++'s setMaxIter(), setMaxFeval(), setFcnTol(), setMaxStep(), setGradTol(), setSearchStrategy(), and setSSS() member functions, respectively; output verbosity is used to toggle OPT++'s debug mode using the setDebug() member function. Internal to OPT++, there are 3 search strategies, while the DAKOTA search_method specification supports 4 (value_based_line_search, gradient_based_line_search, trust_region, or tr_pds). The difference stems from the "is_expensive" flag in OPT++. If the search strategy is LineSearch and "is_expensive" is turned on, then the value_based_line_search is used. Otherwise (the "is_expensive" default is off), the algorithm will use the gradient_based_line_search. Refer to [Meza, J.C., 1994] and to the OPT++ source in the Dakota/packages/OPTPP directory for information on OPT++ class member functions.
| SNLLOptimizer | ( | ProblemDescDB & | problem_db, |
| Model & | model | ||
| ) |
standard constructor
This constructor is used for normal instantiations using data from the ProblemDescDB.
References Dakota::abort_handler(), Minimizer::boundConstraintFlag, SNLLBase::centeringParam, SNLLOptimizer::constraint0_evaluator(), SNLLOptimizer::constraint1_evaluator(), SNLLOptimizer::constraint2_evaluator(), Iterator::convergenceTol, SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_newton(), SNLLOptimizer::default_instantiate_q_newton(), Model::fd_gradient_step_size(), SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, ProblemDescDB::get_int(), SNLLBase::gradientTol, SNLLBase::init_fn(), Model::interval_type(), Iterator::iteratedModel, Dakota::LARGE_SCALE, Iterator::maxEvalConcurrency, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, SNLLBase::meritFn, Iterator::method_enum_to_string(), Iterator::methodName, SNLLOptimizer::nlf0, SNLLOptimizer::nlf0_evaluator(), SNLLOptimizer::nlf1, SNLLOptimizer::nlf1_evaluator(), SNLLOptimizer::nlf1Con, SNLLOptimizer::nlf2_evaluator(), SNLLOptimizer::nlfConstraint, SNLLOptimizer::nlfObjective, SNLLOptimizer::nlpConstraint, Minimizer::numConstraints, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, SNLLOptimizer::optbcfdnewton, SNLLOptimizer::optbcqnewton, SNLLOptimizer::optcg, SNLLOptimizer::optfdnewton, SNLLOptimizer::optfdnips, SNLLOptimizer::optlbfgs, SNLLOptimizer::optpds, SNLLOptimizer::optqnewton, SNLLOptimizer::optqnips, Iterator::outputLevel, Iterator::probDescDB, SNLLBase::searchStrat, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLBase::stepLenToBndry, SNLLOptimizer::theOptimizer, and Minimizer::vendorNumericalGradFlag.
| SNLLOptimizer | ( | const String & | method_string, |
| Model & | model | ||
| ) |
alternate constructor for instantiations "on the fly"
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.
References Dakota::abort_handler(), Minimizer::boundConstraintFlag, SNLLOptimizer::constraint1_evaluator(), SNLLOptimizer::constraint2_evaluator(), Iterator::convergenceTol, SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_newton(), SNLLOptimizer::default_instantiate_q_newton(), Model::fd_gradient_step_size(), SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, SNLLBase::gradientTol, Model::interval_type(), Iterator::iteratedModel, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, Iterator::method_enum_to_string(), Iterator::methodName, SNLLOptimizer::nlf1_evaluator(), SNLLOptimizer::nlf2_evaluator(), SNLLOptimizer::nlfObjective, Minimizer::numConstraints, Minimizer::numContinuousVars, Iterator::outputLevel, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLOptimizer::theOptimizer, and Minimizer::vendorNumericalGradFlag.
| SNLLOptimizer | ( | const RealVector & | initial_pt, |
| const RealVector & | var_l_bnds, | ||
| const RealVector & | var_u_bnds, | ||
| const RealMatrix & | lin_ineq_coeffs, | ||
| const RealVector & | lin_ineq_l_bnds, | ||
| const RealVector & | lin_ineq_u_bnds, | ||
| const RealMatrix & | lin_eq_coeffs, | ||
| const RealVector & | lin_eq_tgts, | ||
| const RealVector & | nln_ineq_l_bnds, | ||
| const RealVector & | nln_ineq_u_bnds, | ||
| const RealVector & | nln_eq_tgts, | ||
| void(*)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode) | nlf1_obj_eval, | ||
| void(*)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode) | nlf1_con_eval, | ||
| size_t | max_iter = 100, |
||
| size_t | max_eval = 1000, |
||
| Real | conv_tol = 1.e-4, |
||
| Real | grad_tol = 1.e-4, |
||
| Real | max_step = 1000. |
||
| ) |
alternate constructor for objective/constraint call-backs; analytic gradient case
This is an alternate constructor for performing an optimization using the passed in objective function and constraint function pointers.
References Minimizer::bigRealBoundSize, Minimizer::boundConstraintFlag, Iterator::convergenceTol, Dakota::copy_data(), SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_q_newton(), SNLLOptimizer::fdIntervalType, SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, SNLLOptimizer::fdStepSize, SNLLBase::gradientTol, SNLLOptimizer::initial_point(), SNLLOptimizer::lowerBounds, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, SNLLOptimizer::nlfObjective, Minimizer::numConstraints, Minimizer::numContinuousVars, Iterator::outputLevel, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLOptimizer::theOptimizer, SNLLOptimizer::upperBounds, and Minimizer::vendorNumericalGradFlag.
| SNLLOptimizer | ( | const RealVector & | initial_pt, |
| const RealVector & | var_l_bnds, | ||
| const RealVector & | var_u_bnds, | ||
| const RealMatrix & | lin_ineq_coeffs, | ||
| const RealVector & | lin_ineq_l_bnds, | ||
| const RealVector & | lin_ineq_u_bnds, | ||
| const RealMatrix & | lin_eq_coeffs, | ||
| const RealVector & | lin_eq_tgts, | ||
| const RealVector & | nln_ineq_l_bnds, | ||
| const RealVector & | nln_ineq_u_bnds, | ||
| const RealVector & | nln_eq_tgts, | ||
| void(*)(int n, const RealVector &x, double &f, int &result_mode) | nlf0_obj_eval, | ||
| void(*)(int mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad_g, int &result_mode) | nlf1_con_eval, | ||
| const RealVector & | fdss, | ||
| const String & | interval_type, | ||
| size_t | max_iter = 100, |
||
| size_t | max_eval = 1000, |
||
| Real | conv_tol = 1.e-4, |
||
| Real | grad_tol = 1.e-4, |
||
| Real | max_step = 1000. |
||
| ) |
alternate constructor for objective/constraint call-backs; mixed gradient case: numerical objective, analytic constraints
This is an alternate constructor for performing an optimization using the passed in objective function and constraint function pointers.
References Minimizer::bigRealBoundSize, Minimizer::boundConstraintFlag, Iterator::convergenceTol, Dakota::copy_data(), SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_q_newton(), SNLLOptimizer::fdIntervalType, SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, SNLLOptimizer::fdStepSize, SNLLBase::gradientTol, SNLLOptimizer::initial_point(), SNLLOptimizer::lowerBounds, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, SNLLOptimizer::nlfObjective, Minimizer::numConstraints, Minimizer::numContinuousVars, Iterator::outputLevel, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLOptimizer::theOptimizer, SNLLOptimizer::upperBounds, and Minimizer::vendorNumericalGradFlag.
| SNLLOptimizer | ( | const RealVector & | initial_pt, |
| const RealVector & | var_l_bnds, | ||
| const RealVector & | var_u_bnds, | ||
| const RealMatrix & | lin_ineq_coeffs, | ||
| const RealVector & | lin_ineq_l_bnds, | ||
| const RealVector & | lin_ineq_u_bnds, | ||
| const RealMatrix & | lin_eq_coeffs, | ||
| const RealVector & | lin_eq_tgts, | ||
| const RealVector & | nln_ineq_l_bnds, | ||
| const RealVector & | nln_ineq_u_bnds, | ||
| const RealVector & | nln_eq_tgts, | ||
| void(*)(int mode, int n, const RealVector &x, double &f, RealVector &grad_f, int &result_mode) | nlf1_obj_eval, | ||
| void(*)(int n, const RealVector &x, RealVector &g, int &result_mode) | nlf0_con_eval, | ||
| const RealVector & | fdss, | ||
| const String & | interval_type, | ||
| size_t | max_iter = 100, |
||
| size_t | max_eval = 1000, |
||
| Real | conv_tol = 1.e-4, |
||
| Real | grad_tol = 1.e-4, |
||
| Real | max_step = 1000. |
||
| ) |
alternate constructor for objective/constraint call-backs; mixed gradient case: analytic objective, numerical constraints
This is an alternate constructor for performing an optimization using the passed in objective function and constraint function pointers.
References Minimizer::bigRealBoundSize, Minimizer::boundConstraintFlag, Iterator::convergenceTol, Dakota::copy_data(), SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_q_newton(), SNLLOptimizer::fdIntervalType, SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, SNLLOptimizer::fdStepSize, SNLLBase::gradientTol, SNLLOptimizer::initial_point(), SNLLOptimizer::lowerBounds, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, SNLLOptimizer::nlfObjective, Minimizer::numConstraints, Minimizer::numContinuousVars, Iterator::outputLevel, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLOptimizer::theOptimizer, SNLLOptimizer::upperBounds, and Minimizer::vendorNumericalGradFlag.
| SNLLOptimizer | ( | const RealVector & | initial_pt, |
| const RealVector & | var_l_bnds, | ||
| const RealVector & | var_u_bnds, | ||
| const RealMatrix & | lin_ineq_coeffs, | ||
| const RealVector & | lin_ineq_l_bnds, | ||
| const RealVector & | lin_ineq_u_bnds, | ||
| const RealMatrix & | lin_eq_coeffs, | ||
| const RealVector & | lin_eq_tgts, | ||
| const RealVector & | nln_ineq_l_bnds, | ||
| const RealVector & | nln_ineq_u_bnds, | ||
| const RealVector & | nln_eq_tgts, | ||
| void(*)(int n, const RealVector &x, double &f, int &result_mode) | nlf0_obj_eval, | ||
| void(*)(int n, const RealVector &x, RealVector &g, int &result_mode) | nlf0_con_eval, | ||
| const RealVector & | fdss, | ||
| const String & | interval_type, | ||
| size_t | max_iter = 100, |
||
| size_t | max_eval = 1000, |
||
| Real | conv_tol = 1.e-4, |
||
| Real | grad_tol = 1.e-4, |
||
| Real | max_step = 1000. |
||
| ) |
alternate constructor for objective/constraint call-backs; numerical gradient case
This is an alternate constructor for performing an optimization using the passed in objective function and constraint function pointers.
References Minimizer::bigRealBoundSize, Minimizer::boundConstraintFlag, Iterator::convergenceTol, Dakota::copy_data(), SNLLOptimizer::default_instantiate_constraint(), SNLLOptimizer::default_instantiate_q_newton(), SNLLOptimizer::fdIntervalType, SNLLOptimizer::fdnlf1, SNLLOptimizer::fdnlf1Con, SNLLOptimizer::fdStepSize, SNLLBase::gradientTol, SNLLOptimizer::initial_point(), SNLLOptimizer::lowerBounds, Iterator::maxFunctionEvals, Iterator::maxIterations, SNLLBase::maxStep, SNLLOptimizer::nlfObjective, Minimizer::numConstraints, Minimizer::numContinuousVars, Iterator::outputLevel, SNLLBase::snll_post_instantiate(), SNLLBase::snll_pre_instantiate(), SNLLOptimizer::theOptimizer, SNLLOptimizer::upperBounds, and Minimizer::vendorNumericalGradFlag.
|
staticprivate |
objective function evaluator function for OPT++ methods which require only function values.
For use when DAKOTA computes f and gradients are not directly available. This is used by nongradient-based optimizers such as PDS and by gradient-based optimizers in vendor numerical gradient mode (opt++'s internal finite difference routine is used).
References Model::continuous_variables(), Model::current_response(), Model::evaluate(), Response::function_value(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary_response_fn_sense(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
|
staticprivate |
objective function evaluator function which provides function values and gradients to OPT++ methods.
For use when DAKOTA computes f and df/dX (regardless of gradient type). Vendor numerical gradient case is handled by nlf0_evaluator.
References Iterator::activeSet, Model::continuous_variables(), Model::current_response(), Model::evaluate(), Response::function_gradient_copy(), Response::function_value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary_response_fn_sense(), ActiveSet::request_values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
|
staticprivate |
objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA receives f, df/dX, & d^2f/dx^2 from the ApplicationInterface (analytic only). Finite differencing does not make sense for a full Newton approach, since lack of analytic gradients & Hessian should dictate the use of quasi-newton or fd-newton. Thus, there is no fdnlf2_evaluator for use with full Newton approaches, since it is preferable to use quasi-newton or fd-newton with nlf1. Gauss-Newton does not fit this model; it uses nlf2_evaluator_gn instead of nlf2_evaluator.
References Iterator::activeSet, Model::continuous_variables(), Model::current_response(), Model::evaluate(), Response::function_gradient_copy(), Response::function_hessian(), Response::function_value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary_response_fn_sense(), ActiveSet::request_values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
|
staticprivate |
constraint evaluator function for OPT++ methods which require only constraint values.
For use when DAKOTA computes g and gradients are not directly available. This is used by nongradient-based optimizers and by gradient-based optimizers in vendor numerical gradient mode (opt++'s internal finite difference routine is used).
References Model::continuous_variables(), SNLLBase::copy_con_vals_dak_to_optpp(), Model::current_response(), Model::evaluate(), Response::function_values(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
|
staticprivate |
constraint evaluator function which provides constraint values and gradients to OPT++ methods.
For use when DAKOTA computes g and dg/dX (regardless of gradient type). Vendor numerical gradient case is handled by constraint0_evaluator.
References Iterator::activeSet, Model::continuous_variables(), SNLLBase::copy_con_grad(), SNLLBase::copy_con_vals_dak_to_optpp(), Model::current_response(), Model::evaluate(), Response::function_gradients(), Response::function_values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, ActiveSet::request_values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
|
staticprivate |
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA computes g, dg/dX, & d^2g/dx^2 (analytic only).
References Iterator::activeSet, Model::continuous_variables(), SNLLBase::copy_con_grad(), SNLLBase::copy_con_hess(), SNLLBase::copy_con_vals_dak_to_optpp(), Model::current_response(), Model::evaluate(), Response::function_gradients(), Response::function_hessians(), Response::function_values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, ActiveSet::request_values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().