![]() |
Dakota
Version 6.21
Explore and Predict with Confidence
|
Wrapper class for the CONMIN optimization library. More...
Public Member Functions | |
| CONMINOptimizer (ProblemDescDB &problem_db, Model &model) | |
| standard constructor | |
| CONMINOptimizer (const String &method_string, Model &model) | |
| alternate constructor; construct without ProblemDescDB | |
| ~CONMINOptimizer () | |
| destructor | |
| void | core_run () |
| core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post More... | |
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 | reset () |
| restore initial state for repeated sub-iterator executions | |
| 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_point (const RealVector &pt) |
| sets the initial point (active continuous variables) 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 | 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_lb, const RealVector &lin_ineq_ub, const RealMatrix &lin_eq_coeffs, const RealVector &lin_eq_tgt, const RealVector &nln_ineq_lb, const RealVector &nln_ineq_ub, const RealVector &nln_eq_tgt) |
| assign variable values and bounds and constraint coefficients and bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealMatrix & | callback_linear_ineq_coefficients () const |
| return linear constraint coefficients for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealVector & | callback_linear_ineq_lower_bounds () const |
| return linear constraint lower bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual const RealVector & | callback_linear_ineq_upper_bounds () const |
| return linear constraint upper bounds for this iterator (user-functions mode for which iteratedModel is null) | |
| virtual void | initialize_graphics (int iterator_server_id=1) |
| initialize the 2D graphics window and the tabular graphics data 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 | |
| virtual void | declare_sources () |
| Declare sources to the evaluations database. | |
| 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. | |
Protected Member Functions | |
| void | initialize_run () |
| utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers More... | |
| void | check_sub_iterator_conflict () |
| detect any conflicts due to recursive use of the same Fortran solver More... | |
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 | initialize_run () |
| void | post_run (std::ostream &s) |
| void | finalize_run () |
| utility function to perform common operations following post_run(); deallocation and resetting of instance pointers More... | |
| 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... | |
Private Member Functions | |
| void | initialize () |
| Shared constructor code. | |
| void | allocate_workspace () |
| Allocates workspace for the optimizer. | |
| void | deallocate_workspace () |
| Releases workspace memory. | |
| void | allocate_constraints () |
| Allocates constraint mappings. | |
Private Attributes | |
| int | conminInfo |
| INFO from CONMIN manual. More... | |
| int | printControl |
| IPRINT from CONMIN manual (controls output verbosity) More... | |
| Real | objFnValue |
| value of the objective function passed to CONMIN | |
| RealVector | constraintValues |
| array of nonlinear constraint values passed to CONMIN More... | |
| int | numConminNlnConstr |
| total number of nonlinear constraints seen by CONMIN | |
| int | numConminLinConstr |
| total number of linear constraints seen by CONMIN | |
| int | numConminConstr |
| total number of linear and nonlinear constraints seen by CONMIN | |
| int | N1 |
| Size variable for CONMIN arrays. See CONMIN manual. More... | |
| int | N2 |
| Size variable for CONMIN arrays. See CONMIN manual. More... | |
| int | N3 |
| Size variable for CONMIN arrays. See CONMIN manual. More... | |
| int | N4 |
| Size variable for CONMIN arrays. See CONMIN manual. More... | |
| int | N5 |
| Size variable for CONMIN arrays. See CONMIN manual. More... | |
| int | NFDG |
| Finite difference flag. | |
| int | IPRINT |
| Flag to control amount of output data. | |
| int | ITMAX |
| Flag to specify the maximum number of iterations. | |
| double | FDCH |
| Relative finite difference step size. | |
| double | FDCHM |
| Absolute finite difference step size. | |
| double | CT |
| Constraint thickness parameter. More... | |
| double | CTMIN |
| Minimum absolute value of CT used during optimization. | |
| double | CTL |
| Constraint thickness parameter for linear and side constraints. | |
| double | CTLMIN |
| Minimum value of CTL used during optimization. | |
| double | DELFUN |
| Relative convergence criterion threshold. | |
| double | DABFUN |
| Absolute convergence criterion threshold. | |
| double * | conminDesVars |
| Array of design variables used by CONMIN (length N1 = numdv+2) | |
| double * | conminLowerBnds |
| Array of lower bounds used by CONMIN (length N1 = numdv+2) | |
| double * | conminUpperBnds |
| Array of upper bounds used by CONMIN (length N1 = numdv+2) | |
| double * | S |
| Internal CONMIN array. More... | |
| double * | G1 |
| Internal CONMIN array. More... | |
| double * | G2 |
| Internal CONMIN array. More... | |
| double * | B |
| Internal CONMIN array. More... | |
| double * | C |
| Internal CONMIN array. More... | |
| int * | MS1 |
| Internal CONMIN array. More... | |
| double * | SCAL |
| Internal CONMIN array. More... | |
| double * | DF |
| Internal CONMIN array. More... | |
| double * | A |
| Internal CONMIN array. More... | |
| int * | ISC |
| Internal CONMIN array. More... | |
| int * | IC |
| Internal CONMIN array. More... | |
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... | |
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 | |
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 | |
Wrapper class for the CONMIN optimization library.
The CONMINOptimizer class provides a wrapper for CONMIN, a Public-domain Fortran 77 optimization library written by Gary Vanderplaats under contract to NASA Ames Research Center. The CONMIN User's Manual is contained in NASA Technical Memorandum X-62282, 1978. CONMIN uses a reverse communication mode, which avoids the static member function issues that arise with function pointer designs (see NPSOLOptimizer and SNLLOptimizer).
The user input mappings are as follows: max_iterations is mapped into CONMIN's ITMAX parameter, max_function_evaluations is implemented directly in the core_run() loop since there is no CONMIN parameter equivalent, convergence_tolerance is mapped into CONMIN's DELFUN and DABFUN parameters, output verbosity is mapped into CONMIN's IPRINT parameter (verbose: IPRINT = 4; quiet: IPRINT = 2), gradient mode is mapped into CONMIN's NFDG parameter, and finite difference step size is mapped into CONMIN's FDCH and FDCHM parameters. Refer to [Vanderplaats, 1978] for additional information on CONMIN parameters.
|
virtual |
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References CONMINOptimizer::A, Iterator::activeSet, CONMINOptimizer::B, Iterator::bestResponseArray, Iterator::bestVariablesArray, Minimizer::bigRealBoundSize, CONMINOptimizer::C, CONMINOptimizer::conminDesVars, CONMINOptimizer::conminInfo, CONMINOptimizer::conminLowerBnds, CONMINOptimizer::conminUpperBnds, Optimizer::constraintMapIndices, Optimizer::constraintMapMultipliers, Optimizer::constraintMapOffsets, CONMINOptimizer::constraintValues, Model::continuous_variables(), Dakota::copy_data(), CONMINOptimizer::CT, CONMINOptimizer::CTL, CONMINOptimizer::CTLMIN, CONMINOptimizer::CTMIN, Model::current_response(), CONMINOptimizer::DABFUN, CONMINOptimizer::deallocate_workspace(), CONMINOptimizer::DELFUN, CONMINOptimizer::DF, Model::evaluate(), CONMINOptimizer::FDCH, CONMINOptimizer::FDCHM, Response::function_gradients(), Response::function_values(), CONMINOptimizer::G1, CONMINOptimizer::G2, Model::gradient_type(), CONMINOptimizer::IC, CONMINOptimizer::IPRINT, CONMINOptimizer::ISC, Iterator::iteratedModel, CONMINOptimizer::ITMAX, Model::linear_eq_constraint_coeffs(), Model::linear_ineq_constraint_coeffs(), Optimizer::localObjectiveRecast, Iterator::maxFunctionEvals, CONMINOptimizer::MS1, CONMINOptimizer::N1, CONMINOptimizer::N2, CONMINOptimizer::N3, CONMINOptimizer::N4, CONMINOptimizer::N5, CONMINOptimizer::NFDG, Model::num_linear_eq_constraints(), Model::num_linear_ineq_constraints(), CONMINOptimizer::numConminConstr, CONMINOptimizer::numConminNlnConstr, Minimizer::numContinuousVars, Optimizer::numObjectiveFns, Minimizer::numUserPrimaryFns, CONMINOptimizer::objFnValue, Iterator::outputLevel, Model::primary_response_fn_sense(), ActiveSet::request_value(), ActiveSet::request_values(), CONMINOptimizer::S, CONMINOptimizer::SCAL, Minimizer::speculativeFlag, and Minimizer::vendorNumericalGradFlag.
|
protectedvirtual |
utility function to perform common operations prior to pre_run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call its nearest parent's initialize_run(), typically before performing its own implementation steps.
Reimplemented from Iterator.
References CONMINOptimizer::allocate_constraints(), CONMINOptimizer::allocate_workspace(), CONMINOptimizer::conminDesVars, CONMINOptimizer::conminLowerBnds, CONMINOptimizer::conminUpperBnds, Model::continuous_lower_bounds(), Model::continuous_upper_bounds(), Model::continuous_variables(), CONMINOptimizer::IC, Optimizer::initialize_run(), CONMINOptimizer::ISC, Iterator::iteratedModel, CONMINOptimizer::N1, CONMINOptimizer::numConminConstr, and Minimizer::numContinuousVars.
|
protectedvirtual |
detect any conflicts due to recursive use of the same Fortran solver
This is used to avoid clashes in state between non-object-oriented (i.e., F77, C) iterator executions, when such iterators could potentially be executing simultaneously (e.g., nested execution). It is not an issue (and a used method is not reported) in cases where a helper execution is completed before a lower level one could be initiated; an example of this is DIRECT for maximization of expected improvement: the EIF maximization is completed before a new point evaluation (which could include nested iteration) is performed.
Reimplemented from Iterator.
References Iterator::is_null(), Iterator::iteratedModel, Iterator::method_name(), Iterator::method_recourse(), Iterator::methodName, Model::subordinate_iterator(), Model::subordinate_models(), and Iterator::uses_method().
|
private |
INFO from CONMIN manual.
Information requested by CONMIN: 1 = evaluate objective and constraints, 2 = evaluate gradients of objective and constraints.
Referenced by CONMINOptimizer::core_run(), and CONMINOptimizer::initialize().
|
private |
IPRINT from CONMIN manual (controls output verbosity)
Values range from 0 (nothing) to 4 (most output). 0 = nothing, 1 = initial and final function information, 2 = all of #1 plus function value and design vars at each iteration, 3 = all of #2 plus constraint values and direction vectors, 4 = all of #3 plus gradients of the objective function and constraints, 5 = all of #4 plus proposed design vector, plus objective and constraint functions from the 1-D search
Referenced by CONMINOptimizer::initialize().
|
private |
array of nonlinear constraint values passed to CONMIN
This array must be of nonzero length and must contain only one-sided inequality constraints which are <= 0 (which requires a transformation from 2-sided inequalities and equalities).
Referenced by CONMINOptimizer::allocate_workspace(), and CONMINOptimizer::core_run().
|
private |
Size variable for CONMIN arrays. See CONMIN manual.
N1 = number of variables + 2
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::initialize_run().
|
private |
Size variable for CONMIN arrays. See CONMIN manual.
N2 = number of constraints + 2*(number of variables)
Referenced by CONMINOptimizer::allocate_workspace(), and CONMINOptimizer::core_run().
|
private |
Size variable for CONMIN arrays. See CONMIN manual.
N3 = Maximum possible number of active constraints.
Referenced by CONMINOptimizer::allocate_workspace(), and CONMINOptimizer::core_run().
|
private |
Size variable for CONMIN arrays. See CONMIN manual.
N4 = Maximum(N3,number of variables)
Referenced by CONMINOptimizer::allocate_workspace(), and CONMINOptimizer::core_run().
|
private |
Size variable for CONMIN arrays. See CONMIN manual.
N5 = 2*(N4)
Referenced by CONMINOptimizer::allocate_workspace(), and CONMINOptimizer::core_run().
|
private |
Constraint thickness parameter.
The value of CT decreases in magnitude during optimization.
Referenced by CONMINOptimizer::core_run(), and CONMINOptimizer::initialize().
|
private |
Internal CONMIN array.
Move direction in N-dimensional space.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage for computations involving array S.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Vector of scaling parameters for design parameter values.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary storage for analytic gradient data.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Temporary 2-D array for storage of constraint gradients.
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), and CONMINOptimizer::deallocate_workspace().
|
private |
Internal CONMIN array.
Array of flags to identify linear constraints. (not used in this implementation of CONMIN)
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), CONMINOptimizer::deallocate_workspace(), and CONMINOptimizer::initialize_run().
|
private |
Internal CONMIN array.
Array of flags to identify active and violated constraints
Referenced by CONMINOptimizer::allocate_workspace(), CONMINOptimizer::core_run(), CONMINOptimizer::deallocate_workspace(), and CONMINOptimizer::initialize_run().