Inheritance diagram for Model:

Public Member Functions | |
| Model () | |
| default constructor | |
| Model (ProblemDescDB &problem_db) | |
| standard constructor for envelope | |
| Model (const Model &model) | |
| copy constructor | |
| virtual | ~Model () |
| destructor | |
| Model | operator= (const Model &model) |
| assignment operator | |
| virtual Iterator & | subordinate_iterator () |
| return the sub-iterator in nested and surrogate models | |
| virtual Model & | surrogate_model () |
| return the approximation sub-model in surrogate models | |
| virtual Model & | truth_model () |
| return the truth sub-model in surrogate models | |
| virtual void | derived_subordinate_models (ModelList &ml, bool recurse_flag) |
| portion of subordinate_models()() specific to derived model classes | |
| virtual void | update_from_subordinate_model (bool recurse_flag=true) |
| propagate vars/labels/bounds/targets from the bottom up | |
| virtual Interface & | interface () |
| or NestedModel::optionalInterface | |
| virtual void | surrogate_bypass (bool bypass_flag) |
| models contained within this model | |
| virtual void | surrogate_function_indices (const IntSet &surr_fn_indices) |
| set the (currently active) surrogate function index set | |
| virtual void | build_approximation () |
| build a new SurrogateModel approximation | |
| virtual bool | build_approximation (const Variables &vars, const Response &response) |
| response at vars | |
| virtual void | update_approximation (const Variables &vars, const Response &response, bool rebuild_flag) |
| update an existing surrogate model with a new anchor | |
| virtual void | update_approximation (const VariablesArray &vars_array, const ResponseArray &resp_array, bool rebuild_flag) |
| update an existing surrogate model with new data points | |
| virtual void | append_approximation (const Variables &vars, const Response &response, bool rebuild_flag) |
| append a single point to an existing surrogate model's data | |
| virtual void | append_approximation (const VariablesArray &vars_array, const ResponseArray &resp_array, bool rebuild_flag) |
| append multiple points to an existing surrogate model's data | |
| virtual Array< Approximation > & | approximations () |
| retrieve the set of Approximations within a DataFitSurrModel | |
| virtual const RealVectorArray & | approximation_coefficients () |
| within a DataFitSurrModel | |
| virtual void | approximation_coefficients (const RealVectorArray &approx_coeffs) |
| a DataFitSurrModel | |
| virtual void | print_coefficients (ostream &s, size_t index) const |
| within a DataFitSurrModel | |
| virtual const RealVector & | approximation_variances (const RealVector &c_vars) |
| Approximation within a DataFitSurrModel. | |
| virtual const List< SurrogateDataPoint > & | approximation_data (size_t index) |
| instance within a DataFitSurrModel | |
| virtual void | compute_correction (const Response &truth_response, const Response &approx_response, const RealVector &c_vars) |
| compute correction factors for use in SurrogateModels | |
| virtual void | auto_correction (bool correction_flag) |
| manages automatic application of correction factors in SurrogateModels | |
| virtual bool | auto_correction () |
| model's responses | |
| virtual void | apply_correction (Response &approx_response, const RealVector &c_vars, bool quiet_flag=false) |
| apply correction factors to approx_response (for use in SurrogateModels) | |
| virtual void | component_parallel_mode (short mode) |
| or 2 (SUB_MODEL/ACTUAL_MODEL/HF_MODEL/TRUTH_MODEL)]. | |
| virtual String | local_eval_synchronization () |
| return derived model synchronization setting | |
| virtual int | local_eval_concurrency () |
| return derived model asynchronous evaluation concurrency | |
| virtual void | serve () |
| a termination message is received from stop_servers(). | |
| virtual void | stop_servers () |
| particular model when iteration on the model is complete. | |
| virtual bool | derived_master_overload () const |
| of trying to run a multiprocessor job on the master. | |
| virtual const String & | interface_id () const |
| return the interface identifier | |
| virtual int | evaluation_id () const |
| Return the current function evaluation id for the Model. | |
| virtual void | set_evaluation_reference () |
| Set the reference points for the evaluation counters within the Model. | |
| virtual void | fine_grained_evaluation_counters () |
| Request fine-grained evaluation reporting within the Model. | |
| virtual void | print_evaluation_summary (ostream &s, bool minimal_header=false, bool relative_count=true) const |
| Print an evaluation summary for the Model. | |
| ModelList & | subordinate_models (bool recurse_flag=true) |
| return the sub-models in nested and surrogate models | |
| void | compute_response () |
| Compute the Response at currentVariables (default ActiveSet). | |
| void | compute_response (const ActiveSet &set) |
| Compute the Response at currentVariables (specified ActiveSet). | |
| void | asynch_compute_response () |
| Response at currentVariables (default ActiveSet). | |
| void | asynch_compute_response (const ActiveSet &set) |
| Response at currentVariables (specified ActiveSet). | |
| const ResponseArray & | synchronize () |
| complete set of results from a group of asynchronous evaluations. | |
| const IntResponseMap & | synchronize_nowait () |
| available results from a group of asynchronous evaluations. | |
| void | init_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| configuration in modelPCIterMap | |
| void | init_serial () |
| modify some default settings to behave properly in serial. | |
| void | set_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| from modelPCIterMap) | |
| void | free_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| deallocate communicator partitions for a model | |
| void | stop_configurations () |
| terminate serve_configurations() on other iteratorComm processors | |
| int | serve_configurations () |
| to balance init_communicators() calls on iteratorComm rank 0 | |
| void | estimate_message_lengths () |
| estimate messageLengths for a model | |
| void | assign_rep (Model *model_rep, bool ref_count_incr=true) |
| replaces existing letter with a new one | |
| size_t | tv () const |
| return total number of vars | |
| size_t | cv () const |
| return number of active continuous variables | |
| size_t | dv () const |
| return number of active discrete variables | |
| size_t | icv () const |
| return number of inactive continuous variables | |
| size_t | idv () const |
| return number of inactive discrete variables | |
| size_t | acv () const |
| return total number of continuous variables | |
| size_t | adv () const |
| return total number of discrete variables | |
| void | active_variables (const Variables &vars) |
| set the active variables in currentVariables | |
| const RealVector & | continuous_variables () const |
| return the active continuous variables from currentVariables | |
| void | continuous_variables (const RealVector &c_vars) |
| set the active continuous variables in currentVariables | |
| const IntVector & | discrete_variables () const |
| return the active discrete variables from currentVariables | |
| void | discrete_variables (const IntVector &d_vars) |
| set the active discrete variables in currentVariables | |
| const StringArray & | continuous_variable_types () const |
| return the active continuous variable types from currentVariables | |
| const StringArray & | discrete_variable_types () const |
| return the active discrete variable types from currentVariables | |
| const UIntArray & | continuous_variable_ids () const |
| return the active continuous variable identifiers from currentVariables | |
| const RealVector & | inactive_continuous_variables () const |
| return the inactive continuous variables in currentVariables | |
| void | inactive_continuous_variables (const RealVector &i_c_vars) |
| set the inactive continuous variables in currentVariables | |
| const IntVector & | inactive_discrete_variables () const |
| return the inactive discrete variables in currentVariables | |
| void | inactive_discrete_variables (const IntVector &i_d_vars) |
| set the inactive discrete variables in currentVariables | |
| const UIntArray & | inactive_continuous_variable_ids () const |
| return the inactive continuous variable identifiers from currentVariables | |
| RealVector | all_continuous_variables () const |
| return all continuous variables in currentVariables | |
| void | all_continuous_variables (const RealVector &a_c_vars) |
| set all continuous variables in currentVariables | |
| IntVector | all_discrete_variables () const |
| return all discrete variables in currentVariables | |
| void | all_discrete_variables (const IntVector &a_d_vars) |
| set all discrete variables in currentVariables | |
| const StringArray & | all_continuous_variable_types () const |
| return all continuous variable types from currentVariables | |
| const StringArray & | all_discrete_variable_types () const |
| return all discrete variable types from currentVariables | |
| const UIntArray & | all_continuous_variable_ids () const |
| return all continuous variable identifiers from currentVariables | |
| const RealDenseVector & | normal_means () const |
| return the normal uncertain variable means | |
| void | normal_means (const RealDenseVector &n_means) |
| set the normal uncertain variable means | |
| const RealDenseVector & | normal_std_deviations () const |
| return the normal uncertain variable standard deviations | |
| void | normal_std_deviations (const RealDenseVector &n_std_devs) |
| set the normal uncertain variable standard deviations | |
| const RealDenseVector & | normal_lower_bounds () const |
| return the normal uncertain variable lower bounds | |
| void | normal_lower_bounds (const RealDenseVector &n_lower_bnds) |
| set the normal uncertain variable lower bounds | |
| const RealDenseVector & | normal_upper_bounds () const |
| return the normal uncertain variable upper bounds | |
| void | normal_upper_bounds (const RealDenseVector &n_upper_bnds) |
| set the normal uncertain variable upper bounds | |
| const RealDenseVector & | lognormal_means () const |
| return the lognormal uncertain variable means | |
| void | lognormal_means (const RealDenseVector &ln_means) |
| set the lognormal uncertain variable means | |
| const RealDenseVector & | lognormal_std_deviations () const |
| return the lognormal uncertain variable standard deviations | |
| void | lognormal_std_deviations (const RealDenseVector &ln_std_devs) |
| set the lognormal uncertain variable standard deviations | |
| const RealDenseVector & | lognormal_error_factors () const |
| return the lognormal uncertain variable error factors | |
| void | lognormal_error_factors (const RealDenseVector &ln_err_facts) |
| set the lognormal uncertain variable error factors | |
| const RealDenseVector & | lognormal_lower_bounds () const |
| return the lognormal uncertain variable lower bounds | |
| void | lognormal_lower_bounds (const RealDenseVector &ln_lower_bnds) |
| set the lognormal uncertain variable lower bounds | |
| const RealDenseVector & | lognormal_upper_bounds () const |
| return the lognormal uncertain variable upper bounds | |
| void | lognormal_upper_bounds (const RealDenseVector &ln_upper_bnds) |
| set the lognormal uncertain variable upper bounds | |
| const RealDenseVector & | uniform_lower_bounds () const |
| return the uniform uncertain variable lower bounds | |
| void | uniform_lower_bounds (const RealDenseVector &u_lower_bnds) |
| set the uniform uncertain variable lower bounds | |
| const RealDenseVector & | uniform_upper_bounds () const |
| return the uniform uncertain variable upper bounds | |
| void | uniform_upper_bounds (const RealDenseVector &u_upper_bnds) |
| set the uniform uncertain variable upper bounds | |
| const RealDenseVector & | loguniform_lower_bounds () const |
| return the loguniform uncertain variable lower bounds | |
| void | loguniform_lower_bounds (const RealDenseVector &lu_lower_bnds) |
| set the loguniform uncertain variable lower bounds | |
| const RealDenseVector & | loguniform_upper_bounds () const |
| return the loguniform uncertain variable upper bounds | |
| void | loguniform_upper_bounds (const RealDenseVector &lu_upper_bnds) |
| set the loguniform uncertain variable upper bounds | |
| const RealDenseVector & | triangular_modes () const |
| return the triangular uncertain variable modes | |
| void | triangular_modes (const RealDenseVector &t_modes) |
| set the triangular uncertain variable modes | |
| const RealDenseVector & | triangular_lower_bounds () const |
| return the triangular uncertain variable lower bounds | |
| void | triangular_lower_bounds (const RealDenseVector &t_lower_bnds) |
| set the triangular uncertain variable lower bounds | |
| const RealDenseVector & | triangular_upper_bounds () const |
| return the triangular uncertain variable upper bounds | |
| void | triangular_upper_bounds (const RealDenseVector &t_upper_bnds) |
| set the triangular uncertain variable upper bounds | |
| const RealDenseVector & | exponential_betas () const |
| return the exponential uncertain variable beta parameters | |
| void | exponential_betas (const RealDenseVector &e_betas) |
| set the exponential uncertain variable beta parameters | |
| const RealDenseVector & | beta_alphas () const |
| return the beta uncertain variable alphas | |
| void | beta_alphas (const RealDenseVector &b_alphas) |
| set the beta uncertain variable alphas | |
| const RealDenseVector & | beta_betas () const |
| return the beta uncertain variable betas | |
| void | beta_betas (const RealDenseVector &b_betas) |
| set the beta uncertain variable betas | |
| const RealDenseVector & | beta_lower_bounds () const |
| return the beta uncertain variable lower bounds | |
| void | beta_lower_bounds (const RealDenseVector &b_lower_bnds) |
| set the beta uncertain variable lower bounds | |
| const RealDenseVector & | beta_upper_bounds () const |
| return the beta uncertain variable upper bounds | |
| void | beta_upper_bounds (const RealDenseVector &b_upper_bnds) |
| set the beta uncertain variable upper bounds | |
| const RealDenseVector & | gamma_alphas () const |
| return the gamma uncertain variable alpha parameters | |
| void | gamma_alphas (const RealDenseVector &ga_alphas) |
| set the gamma uncertain variable alpha parameters | |
| const RealDenseVector & | gamma_betas () const |
| return the gamma uncertain variable beta parameters | |
| void | gamma_betas (const RealDenseVector &ga_betas) |
| set the gamma uncertain variable beta parameters | |
| const RealDenseVector & | gumbel_alphas () const |
| return the gumbel uncertain variable alphas | |
| void | gumbel_alphas (const RealDenseVector &gu_alphas) |
| set the gumbel uncertain variable alphas | |
| const RealDenseVector & | gumbel_betas () const |
| return the gumbel uncertain variable betas | |
| void | gumbel_betas (const RealDenseVector &gu_betas) |
| set the gumbel uncertain variable betas | |
| const RealDenseVector & | frechet_alphas () const |
| return the frechet uncertain variable alpha parameters | |
| void | frechet_alphas (const RealDenseVector &f_alphas) |
| set the frechet uncertain variable alpha parameters | |
| const RealDenseVector & | frechet_betas () const |
| return the frechet uncertain variable beta parameters | |
| void | frechet_betas (const RealDenseVector &f_betas) |
| set the frechet uncertain variable beta parameters | |
| const RealDenseVector & | weibull_alphas () const |
| return the weibull uncertain variable alpha parameters | |
| void | weibull_alphas (const RealDenseVector &w_alphas) |
| set the weibull uncertain variable alpha parameters | |
| const RealDenseVector & | weibull_betas () const |
| return the weibull uncertain variable beta parameters | |
| void | weibull_betas (const RealDenseVector &w_betas) |
| set the weibull uncertain variable beta parameters | |
| const RealDenseVectorArray & | histogram_bin_pairs () const |
| return the histogram uncertain bin pairs | |
| void | histogram_bin_pairs (const RealDenseVectorArray &h_bin_pairs) |
| set the histogram uncertain bin pairs | |
| const RealDenseVectorArray & | histogram_point_pairs () const |
| return the histogram uncertain point pairs | |
| void | histogram_point_pairs (const RealDenseVectorArray &h_pt_pairs) |
| set the histogram uncertain point pairs | |
| const RealDenseVectorArray & | interval_probabilities () const |
| return the interval basic probability values | |
| void | interval_probabilities (const RealDenseVectorArray &int_probs) |
| set the interval basic probability values | |
| const RealDenseVectorArray & | interval_bounds () const |
| return the interval bounds | |
| void | interval_bounds (const RealDenseVectorArray &int_bounds) |
| set the interval bounds | |
| const RealSymDenseMatrix & | uncertain_correlations () const |
| return the uncertain variable correlations | |
| void | uncertain_correlations (const RealSymDenseMatrix &uncertain_corr) |
| set the uncertain variable correlations | |
| const StringArray & | continuous_variable_labels () const |
| return the active continuous variable labels from currentVariables | |
| void | continuous_variable_labels (const StringArray &c_v_labels) |
| set the active continuous variable labels in currentVariables | |
| const StringArray & | discrete_variable_labels () const |
| return the active discrete variable labels from currentVariables | |
| void | discrete_variable_labels (const StringArray &d_v_labels) |
| set the active discrete variable labels in currentVariables | |
| const StringArray & | inactive_continuous_variable_labels () const |
| return the inactive continuous variable labels in currentVariables | |
| void | inactive_continuous_variable_labels (const StringArray &i_c_v_labels) |
| set the inactive continuous variable labels in currentVariables | |
| const StringArray & | inactive_discrete_variable_labels () const |
| return the inactive discrete variable labels in currentVariables | |
| void | inactive_discrete_variable_labels (const StringArray &i_d_v_labels) |
| set the inactive discrete variable labels in currentVariables | |
| StringArray | all_continuous_variable_labels () const |
| return all continuous variable labels in currentVariables | |
| void | all_continuous_variable_labels (const StringArray &a_c_v_labels) |
| set all continuous variable labels in currentVariables | |
| StringArray | all_discrete_variable_labels () const |
| return all discrete variable labels in currentVariables | |
| void | all_discrete_variable_labels (const StringArray &a_d_v_labels) |
| set all discrete variable labels in currentVariables | |
| const StringArray & | response_labels () const |
| return the response labels from currentResponse | |
| void | response_labels (const StringArray &resp_labels) |
| set the response labels in currentResponse | |
| const RealVector & | continuous_lower_bounds () const |
| return the active continuous lower bounds from userDefinedConstraints | |
| void | continuous_lower_bounds (const RealVector &c_l_bnds) |
| set the active continuous lower bounds in userDefinedConstraints | |
| const RealVector & | continuous_upper_bounds () const |
| return the active continuous upper bounds from userDefinedConstraints | |
| void | continuous_upper_bounds (const RealVector &c_u_bnds) |
| set the active continuous upper bounds in userDefinedConstraints | |
| const IntVector & | discrete_lower_bounds () const |
| return the active discrete lower bounds from userDefinedConstraints | |
| void | discrete_lower_bounds (const IntVector &d_l_bnds) |
| set the active discrete lower bounds in userDefinedConstraints | |
| const IntVector & | discrete_upper_bounds () const |
| return the active discrete upper bounds from userDefinedConstraints | |
| void | discrete_upper_bounds (const IntVector &d_u_bnds) |
| set the active discrete upper bounds in userDefinedConstraints | |
| const RealVector & | inactive_continuous_lower_bounds () const |
| return the inactive continuous lower bounds in userDefinedConstraints | |
| void | inactive_continuous_lower_bounds (const RealVector &i_c_l_bnds) |
| set the inactive continuous lower bounds in userDefinedConstraints | |
| const RealVector & | inactive_continuous_upper_bounds () const |
| return the inactive continuous upper bounds in userDefinedConstraints | |
| void | inactive_continuous_upper_bounds (const RealVector &i_c_u_bnds) |
| set the inactive continuous upper bounds in userDefinedConstraints | |
| const IntVector & | inactive_discrete_lower_bounds () const |
| return the inactive discrete lower bounds in userDefinedConstraints | |
| void | inactive_discrete_lower_bounds (const IntVector &i_d_l_bnds) |
| set the inactive discrete lower bounds in userDefinedConstraints | |
| const IntVector & | inactive_discrete_upper_bounds () const |
| return the inactive discrete upper bounds in userDefinedConstraints | |
| void | inactive_discrete_upper_bounds (const IntVector &i_d_u_bnds) |
| set the inactive discrete upper bounds in userDefinedConstraints | |
| RealVector | all_continuous_lower_bounds () const |
| return all continuous lower bounds in userDefinedConstraints | |
| void | all_continuous_lower_bounds (const RealVector &a_c_l_bnds) |
| set all continuous lower bounds in userDefinedConstraints | |
| RealVector | all_continuous_upper_bounds () const |
| return all continuous upper bounds in userDefinedConstraints | |
| void | all_continuous_upper_bounds (const RealVector &a_c_u_bnds) |
| set all continuous upper bounds in userDefinedConstraints | |
| IntVector | all_discrete_lower_bounds () const |
| return all discrete lower bounds in userDefinedConstraints | |
| void | all_discrete_lower_bounds (const IntVector &a_d_l_bnds) |
| set all discrete lower bounds in userDefinedConstraints | |
| IntVector | all_discrete_upper_bounds () const |
| return all discrete upper bounds in userDefinedConstraints | |
| void | all_discrete_upper_bounds (const IntVector &a_d_u_bnds) |
| set all discrete upper bounds in userDefinedConstraints | |
| size_t | num_linear_ineq_constraints () const |
| return the number of linear inequality constraints | |
| size_t | num_linear_eq_constraints () const |
| return the number of linear equality constraints | |
| const RealMatrix & | linear_ineq_constraint_coeffs () const |
| return the linear inequality constraint coefficients | |
| void | linear_ineq_constraint_coeffs (const RealMatrix &lin_ineq_coeffs) |
| set the linear inequality constraint coefficients | |
| const RealVector & | linear_ineq_constraint_lower_bounds () const |
| return the linear inequality constraint lower bounds | |
| void | linear_ineq_constraint_lower_bounds (const RealVector &lin_ineq_l_bnds) |
| set the linear inequality constraint lower bounds | |
| const RealVector & | linear_ineq_constraint_upper_bounds () const |
| return the linear inequality constraint upper bounds | |
| void | linear_ineq_constraint_upper_bounds (const RealVector &lin_ineq_u_bnds) |
| set the linear inequality constraint upper bounds | |
| const RealMatrix & | linear_eq_constraint_coeffs () const |
| return the linear equality constraint coefficients | |
| void | linear_eq_constraint_coeffs (const RealMatrix &lin_eq_coeffs) |
| set the linear equality constraint coefficients | |
| const RealVector & | linear_eq_constraint_targets () const |
| return the linear equality constraint targets | |
| void | linear_eq_constraint_targets (const RealVector &lin_eq_targets) |
| set the linear equality constraint targets | |
| size_t | num_nonlinear_ineq_constraints () const |
| return the number of nonlinear inequality constraints | |
| size_t | num_nonlinear_eq_constraints () const |
| return the number of nonlinear equality constraints | |
| const RealVector & | nonlinear_ineq_constraint_lower_bounds () const |
| return the nonlinear inequality constraint lower bounds | |
| void | nonlinear_ineq_constraint_lower_bounds (const RealVector &nln_ineq_l_bnds) |
| set the nonlinear inequality constraint lower bounds | |
| const RealVector & | nonlinear_ineq_constraint_upper_bounds () const |
| return the nonlinear inequality constraint upper bounds | |
| void | nonlinear_ineq_constraint_upper_bounds (const RealVector &nln_ineq_u_bnds) |
| set the nonlinear inequality constraint upper bounds | |
| const RealVector & | nonlinear_eq_constraint_targets () const |
| return the nonlinear equality constraint targets | |
| void | nonlinear_eq_constraint_targets (const RealVector &nln_eq_targets) |
| set the nonlinear equality constraint targets | |
| const UIntArray & | merged_discrete_ids () const |
| merged into a continuous array in currentVariables | |
| const Variables & | current_variables () const |
| return the current variables (currentVariables) | |
| const Constraints & | user_defined_constraints () const |
| return the user-defined constraints (userDefinedConstraints) | |
| const Response & | current_response () const |
| return the current response (currentResponse) | |
| ProblemDescDB & | problem_description_db () const |
| return the problem description database (probDescDB) | |
| ParallelLibrary & | parallel_library () const |
| return the parallel library (parallelLib) | |
| const String & | model_type () const |
| return the model type (modelType) | |
| const String & | model_id () const |
| return the model identifier (idModel) | |
| size_t | num_functions () const |
| return number of functions in currentResponse | |
| const String & | gradient_type () const |
| return the gradient evaluation type (gradType) | |
| const String & | method_source () const |
| return the numerical gradient evaluation method source (methodSrc) | |
| const String & | interval_type () const |
| return the numerical gradient evaluation interval type (intervalType) | |
| const RealVector & | fd_gradient_step_size () const |
| return the finite difference gradient step size (fdGradSS) | |
| const IntList & | gradient_id_analytic () const |
| return the mixed gradient analytic IDs (gradIdAnalytic) | |
| const IntList & | gradient_id_numerical () const |
| return the mixed gradient numerical IDs (gradIdNumerical) | |
| const String & | hessian_type () const |
| return the Hessian evaluation type (hessType) | |
| const String & | quasi_hessian_type () const |
| return the Hessian evaluation type (quasiHessType) | |
| const RealVector & | fd_hessian_by_grad_step_size () const |
| return gradient-based finite difference Hessian step size (fdHessByGradSS) | |
| const RealVector & | fd_hessian_by_fn_step_size () const |
| return function-based finite difference Hessian step size (fdHessByFnSS) | |
| const IntList & | hessian_id_analytic () const |
| return the mixed Hessian analytic IDs (hessIdAnalytic) | |
| const IntList & | hessian_id_numerical () const |
| return the mixed Hessian analytic IDs (hessIdNumerical) | |
| const IntList & | hessian_id_quasi () const |
| return the mixed Hessian analytic IDs (hessIdQuasi) | |
| const RealVector & | primary_response_fn_weights () const |
| squares terms. Used by ConcurrentStrategy for Pareto set optimization. | |
| void | primary_response_fn_weights (const RealVector &wts, bool recurse_flag=true) |
| squares terms. Used by ConcurrentStrategy for Pareto set optimization. | |
| void | supports_estimated_derivatives (bool sed_flag) |
| set whether this model should perform or pass on derivative estimation | |
| void | init_comms_bcast_flag (bool icb_flag) |
| set initCommsBcastFlag | |
| int | evaluation_capacity () const |
| return the evaluation capacity for use in iterator logic | |
| int | derivative_concurrency () const |
| return the gradient concurrency for use in parallel configuration logic | |
| bool | asynch_flag () const |
| return the asynchronous evaluation flag (asynchEvalFlag) | |
| void | asynch_flag (const bool flag) |
| set the asynchronous evaluation flag (asynchEvalFlag) | |
| short | output_level () const |
| return the outputLevel | |
| void | output_level (const short level) |
| set the outputLevel | |
| const IntArray & | message_lengths () const |
| return the array of MPI packed message buffer lengths (messageLengths) | |
| void | parallel_configuration_iterator (const ParConfigLIter &pc_iter) |
| set modelPCIter | |
| const ParConfigLIter & | parallel_configuration_iterator () const |
| return modelPCIter | |
| void | auto_graphics (const bool flag) |
| the model as opposed to graphics posting at the strategy level). | |
| bool | is_null () const |
| function to check modelRep (does this envelope contain a letter) | |
| Model * | model_rep () const |
| that are not mapped to the top Model level | |
Protected Member Functions | |
| Model (BaseConstructor, ProblemDescDB &problem_db) | |
| derived class constructors - Coplien, p. 139) | |
| Model (NoDBBaseConstructor, ParallelLibrary ¶llel_lib, const pair< short, short > &view, const ActiveSet &set) | |
| constructed on the fly | |
| Model (RecastBaseConstructor, ProblemDescDB &problem_db, ParallelLibrary ¶llel_lib) | |
| constructed on the fly | |
| virtual void | derived_compute_response (const ActiveSet &set) |
| portion of compute_response() specific to derived model classes | |
| virtual void | derived_asynch_compute_response (const ActiveSet &set) |
| portion of asynch_compute_response() specific to derived model classes | |
| virtual const ResponseArray & | derived_synchronize () |
| portion of synchronize() specific to derived model classes | |
| virtual const IntResponseMap & | derived_synchronize_nowait () |
| portion of synchronize_nowait() specific to derived model classes | |
| virtual void | derived_init_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| portion of init_communicators() specific to derived model classes | |
| virtual void | derived_init_serial () |
| portion of init_serial() specific to derived model classes | |
| virtual void | derived_set_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| portion of set_communicators() specific to derived model classes | |
| virtual void | derived_free_communicators (const int &max_iterator_concurrency, bool recurse_flag=true) |
| portion of free_communicators() specific to derived model classes | |
Protected Attributes | |
| Variables | currentVariables |
| function evaluations | |
| size_t | numDerivVars |
| corrections where only the active continuous variables are supported) | |
| Response | currentResponse |
| function evaluations | |
| size_t | numFns |
| the number of functions in currentResponse | |
| Constraints | userDefinedConstraints |
| an iterator at startup. | |
| String | modelType |
| type of model: single, nested, or surrogate | |
| String | surrogateType |
| type of surrogate model: local_*, multipoint_*, global_*, or hierarchical | |
| String | gradType |
| grad type: none,numerical,analytic,mixed | |
| String | methodSrc |
| method source: dakota,vendor | |
| String | intervalType |
| interval type: forward,central | |
| RealVector | fdGradSS |
| relative step sizes for numerical gradients | |
| IntList | gradIdAnalytic |
| analytic id's for mixed gradients | |
| IntList | gradIdNumerical |
| numerical id's for mixed gradients | |
| String | hessType |
| Hess type: none,numerical,quasi,analytic,mixed. | |
| String | quasiHessType |
| quasi-Hessian type: bfgs, damped_bfgs, sr1 | |
| RealVector | fdHessByGradSS |
| relative step sizes for numerical Hessians estimated with 1st-order grad differences | |
| RealVector | fdHessByFnSS |
| relative step sizes for numerical Hessians estimated with 2nd-order fn differences | |
| IntList | hessIdAnalytic |
| analytic id's for mixed Hessians | |
| IntList | hessIdNumerical |
| numerical id's for mixed Hessians | |
| IntList | hessIdQuasi |
| quasi id's for mixed Hessians | |
| bool | supportsEstimDerivs |
| whether model should perform or forward derivative estimation | |
| IntArray | messageLengths |
| and PRPair | |
| ProblemDescDB & | probDescDB |
| class member reference to the problem description database | |
| ParallelLibrary & | parallelLib |
| class member reference to the parallel library | |
| ParConfigLIter | modelPCIter |
| the ParallelConfiguration node used by this model instance | |
| short | componentParallelMode |
| (SUB_MODEL/HF_MODEL/TRUTH_MODEL) | |
| bool | asynchEvalFlag |
| flags asynch evaluations (local or distributed) | |
| short | outputLevel |
| output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG}_OUTPUT | |
| RealDenseVector | normalMeans |
| normal uncertain variable means | |
| RealDenseVector | normalStdDevs |
| normal uncertain variable standard deviations | |
| RealDenseVector | normalLowerBnds |
| normal uncertain variable lower bounds | |
| RealDenseVector | normalUpperBnds |
| normal uncertain variable upper bounds | |
| RealDenseVector | lognormalMeans |
| lognormal uncertain variable means | |
| RealDenseVector | lognormalStdDevs |
| lognormal uncertain variable standard deviations | |
| RealDenseVector | lognormalErrFacts |
| lognormal uncertain variable error factors | |
| RealDenseVector | lognormalLowerBnds |
| lognormal uncertain variable lower bounds | |
| RealDenseVector | lognormalUpperBnds |
| lognormal uncertain variable upper bounds | |
| RealDenseVector | uniformLowerBnds |
| uniform uncertain variable lower bounds | |
| RealDenseVector | uniformUpperBnds |
| uniform uncertain variable upper bounds | |
| RealDenseVector | loguniformLowerBnds |
| loguniform uncertain variable lower bounds | |
| RealDenseVector | loguniformUpperBnds |
| loguniform uncertain variable upper bounds | |
| RealDenseVector | triangularModes |
| triangular uncertain variable modes | |
| RealDenseVector | triangularLowerBnds |
| triangular uncertain variable lower bounds | |
| RealDenseVector | triangularUpperBnds |
| triangular uncertain variable upper bounds | |
| RealDenseVector | exponentialBetas |
| exponential uncertain variable betas | |
| RealDenseVector | betaAlphas |
| beta uncertain variable alphas | |
| RealDenseVector | betaBetas |
| beta uncertain variable betas | |
| RealDenseVector | betaLowerBnds |
| beta uncertain variable lower bounds | |
| RealDenseVector | betaUpperBnds |
| beta uncertain variable upper bounds | |
| RealDenseVector | gammaAlphas |
| gamma uncertain variable alphas | |
| RealDenseVector | gammaBetas |
| gamma uncertain variable betas | |
| RealDenseVector | gumbelAlphas |
| gumbel uncertain variable alphas | |
| RealDenseVector | gumbelBetas |
| gumbel uncertain variable betas | |
| RealDenseVector | frechetAlphas |
| frechet uncertain variable alphas | |
| RealDenseVector | frechetBetas |
| frechet uncertain variable betas | |
| RealDenseVector | weibullAlphas |
| weibull uncertain variable alphas | |
| RealDenseVector | weibullBetas |
| weibull uncertain variable betas | |
| RealDenseVectorArray | histogramBinPairs |
| histogram uncertain (x,y) bin pairs (continuous linear histogram) | |
| RealDenseVectorArray | histogramPointPairs |
| histogram uncertain (x,y) point pairs (discrete histogram) | |
| RealDenseVectorArray | intervalBasicProbs |
| basic probability values for interval uncertain variables | |
| RealDenseVectorArray | intervalBounds |
| interval lower/upper bounds for interval uncertain variables | |
| RealSymDenseMatrix | uncertainCorrelations |
| and correlation coefficients for reliability) | |
| RealVector | primaryRespFnWts |
| multiobjective optimization or weighted least squares) | |
Private Member Functions | |
| Model * | get_model (ProblemDescDB &problem_db) |
| Used by the envelope to instantiate the correct letter class. | |
| int | estimate_derivatives (const ShortArray &map_asv, const ShortArray &fd_grad_asv, const ShortArray &fd_hess_asv, const ShortArray &quasi_hess_asv, const ActiveSet &original_set, const bool asynch_flag) |
| method_source) in the numerical gradient specification. | |
| void | synchronize_derivatives (const Variables &vars, const ResponseArray &fd_responses, Response &new_response, const ShortArray &fd_grad_asv, const ShortArray &fd_hess_asv, const ShortArray &quasi_hess_asv, const ActiveSet &original_set) |
| objects (fd_grad_responses) into a single response (new_response) | |
| void | update_response (const Variables &vars, Response &new_response, const ShortArray &fd_grad_asv, const ShortArray &fd_hess_asv, const ShortArray &quasi_hess_asv, const ActiveSet &original_set, Response &initial_map_response, const RealMatrix &new_fn_grads, const RealMatrixArray &new_fn_hessians) |
| overlay results to update a response object | |
| void | update_quasi_hessians (const Variables &vars, Response &new_response, const ActiveSet &original_set) |
| perform quasi-Newton Hessian updates | |
| bool | manage_asv (const ShortArray &asv_in, ShortArray &map_asv_out, ShortArray &fd_grad_asv_out, ShortArray &fd_hess_asv_out, ShortArray &quasi_hess_asv_out) |
| Coordinates usage of estimate_derivatives() calls based on asv_in. | |
Private Attributes | |
| String | idModel |
| model identifier string from the input file | |
| bool | estDerivsFlag |
| asynch_compute_response() | |
| int | evaluationCapacity |
| capacity for concurrent evaluations supported by the Model | |
| std::map< int, ParConfigLIter > | modelPCIterMap |
| level as the lookup key | |
| bool | initCommsBcastFlag |
| init_communicators(); set from Strategy::init_iterator() | |
| bool | modelAutoGraphicsFlag |
| graphics posting at the strategy level) | |
| ModelList | modelList |
| used to collect sub-models for subordinate_models() | |
| VariablesList | varsList |
| synchronize(). | |
| List< ShortArray > | asvList |
| asynch_compute_response() to synchronize() | |
| List< ActiveSet > | setList |
| asynch_compute_response() to synchronize() | |
| BoolList | initialMapList |
| synchronize_derivatives() | |
| BoolList | dbCaptureList |
| synchronize_derivatives() | |
| ResponseList | dbResponseList |
| synchronize_derivatives() | |
| RealList | deltaList |
| transfers deltas from estimate_derivatives() to synchronize_derivatives() | |
| IntList | numMapsList |
| into numerical gradients. | |
| RealMatrix | xPrev |
| previous parameter vectors used in computing s for quasi-Newton updates | |
| RealMatrix | fnGradsPrev |
| previous gradient vectors used in computing y for quasi-Newton updates | |
| RealMatrixArray | quasiHessians |
| quasi-Newton Hessian approximations | |
| SizetArray | numQuasiUpdates |
| number of quasi-Newton Hessian updates applied | |
| ResponseArray | responseArray |
| similar array in Interface contains the raw responses. | |
| IntResponseMap | graphicsRespMap |
| prior to sequential input into the graphics | |
| Model * | modelRep |
| pointer to the letter (initialized only for the envelope) | |
| int | referenceCount |
| number of objects sharing modelRep | |
The Model class is the base class for one of the primary class hierarchies in DAKOTA. The model hierarchy contains a set of variables, an interface, and a set of responses, and an iterator operates on the model to map the variables into responses using the interface. For memory efficiency and enhanced polymorphism, the model hierarchy employs the "letter/envelope idiom" (see Coplien "Advanced C++", p. 133), for which the base class (Model) serves as the envelope and one of the derived classes (selected in Model::get_model()) serves as the letter.
| Model | ( | ) |
default constructor
The default constructor is used in vector<Model> instantiations and for initialization of Model objects contained in Iterator and derived Strategy classes. modelRep is NULL in this case (a populated problem_db is needed to build a meaningful Model object). This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
| Model | ( | ProblemDescDB & | problem_db | ) |
standard constructor for envelope
Used in model instantiations within strategy constructors. Envelope constructor only needs to extract enough data to properly execute get_model, since Model(BaseConstructor, problem_db) builds the actual base class data for the derived models.
copy constructor
Copy constructor manages sharing of modelRep and incrementing of referenceCount.
| ~Model | ( | ) | [virtual] |
destructor
Destructor decrements referenceCount and only deletes modelRep when referenceCount reaches zero.
| Model | ( | BaseConstructor | , | |
| ProblemDescDB & | problem_db | |||
| ) | [protected] |
derived class constructors - Coplien, p. 139)
This constructor builds the base class data for all inherited models. get_model() instantiates a derived class and the derived class selects this base class constructor in its initialization list (to avoid the recursion of the base class constructor calling get_model() again). Since the letter IS the representation, its representation pointer is set to NULL (an uninitialized pointer causes problems in ~Model).
| Model | ( | RecastBaseConstructor | , | |
| ProblemDescDB & | problem_db, | |||
| ParallelLibrary & | parallel_lib | |||
| ) | [protected] |
constructed on the fly
This constructor also builds the base class data for inherited models. However, it is used for recast models which are instantiated on the fly. Therefore it only initializes a small subset of attributes. Note that parallel_lib is managed separately from problem_db since parallel_lib is needed even in cases where problem_db is an empty envelope (i.e., use of dummy_db in Model(NoDBBaseConstructor) above.
assignment operator
Assignment operator decrements referenceCount for old modelRep, assigns new modelRep, and increments referenceCount for new modelRep.
| Iterator & subordinate_iterator | ( | ) | [virtual] |
return the sub-iterator in nested and surrogate models
return by reference requires use of dummy objects, but is important to allow use of assign_rep() since this operation must be performed on the original envelope object.
Reimplemented in DataFitSurrModel, NestedModel, and RecastModel.
| Model & surrogate_model | ( | ) | [virtual] |
return the approximation sub-model in surrogate models
return by reference requires use of dummy objects, but is important to allow use of assign_rep() since this operation must be performed on the original envelope object.
Reimplemented in DataFitSurrModel, HierarchSurrModel, and RecastModel.
| Model & truth_model | ( | ) | [virtual] |
return the truth sub-model in surrogate models
return by reference requires use of dummy objects, but is important to allow use of assign_rep() since this operation must be performed on the original envelope object.
Reimplemented in DataFitSurrModel, HierarchSurrModel, and RecastModel.
| void update_from_subordinate_model | ( | bool | recurse_flag = true |
) | [virtual] |
propagate vars/labels/bounds/targets from the bottom up
used only for instantiate-on-the-fly model recursions (all RecastModel instantiations and alternate DataFitSurrModel instantiations). Single, Hierarchical, and Nested Models do not redefine the function since they do not support instantiate-on-the-fly. This means that the recursion will stop as soon as it encounters a Model that was instantiated normally, which is appropriate since ProblemDescDB-constructed Models use top-down information flow and do not require bottom-up updating.
Reimplemented in DataFitSurrModel, and RecastModel.
| Interface & interface | ( | ) | [virtual] |
or NestedModel::optionalInterface
return by reference requires use of dummy objects, but is important to allow use of assign_rep() since this operation must be performed on the original envelope object.
Reimplemented in DataFitSurrModel, NestedModel, RecastModel, and SingleModel.
| String local_eval_synchronization | ( | ) | [virtual] |
return derived model synchronization setting
SingleModels and HierarchSurrModels redefine this virtual function. A default value of "synchronous" prevents asynch local operations for:
Reimplemented in RecastModel, and SingleModel.
| int local_eval_concurrency | ( | ) | [virtual] |
return derived model asynchronous evaluation concurrency
SingleModels and HierarchSurrModels redefine this virtual function.
Reimplemented in RecastModel, and SingleModel.
| const String & interface_id | ( | ) | const [virtual] |
return the interface identifier
return by reference requires use of dummy objects, but is important to allow use of assign_rep() since this operation must be performed on the original envelope object.
Reimplemented in DataFitSurrModel, NestedModel, RecastModel, and SingleModel.
| ModelList & subordinate_models | ( | bool | recurse_flag = true |
) |
return the sub-models in nested and surrogate models
since modelList is built with list insertions (using envelope copies), these models may not be used for model.assign_rep() since this operation must be performed on the original envelope object. They may, however, be used for letter-based operations (including assign_rep() on letter contents such as an interface).
| void init_communicators | ( | const int & | max_iterator_concurrency, | |
| bool | recurse_flag = true | |||
| ) |
configuration in modelPCIterMap
The init_communicators() and derived_init_communicators() functions are stuctured to avoid performing the messageLengths estimation more than once. init_communicators() (not virtual) performs the estimation and then forwards the results to derived_init_communicators (virtual) which uses the data in different contexts.
| void init_serial | ( | ) |
modify some default settings to behave properly in serial.
The init_serial() and derived_init_serial() functions are stuctured to separate base class (common) operations from derived class (specialized) operations.
| void estimate_message_lengths | ( | ) |
estimate messageLengths for a model
This functionality has been pulled out of init_communicators() and defined separately so that it may be used in those cases when messageLengths is needed but model.init_communicators() is not called, e.g., for the master processor in the self-scheduling of a concurrent iterator strategy.
| void assign_rep | ( | Model * | model_rep, | |
| bool | ref_count_incr = true | |||
| ) |
replaces existing letter with a new one
Similar to the assignment operator, the assign_rep() function decrements referenceCount for the old modelRep and assigns the new modelRep. It is different in that it is used for publishing derived class letters to existing envelopes, as opposed to sharing representations among multiple envelopes (in particular, assign_rep is passed a letter object and operator= is passed an envelope object). Letter assignment supports two models as governed by ref_count_incr:
| int derivative_concurrency | ( | ) | const |
return the gradient concurrency for use in parallel configuration logic
This function assumes derivatives with respect to the active continuous variables. Therefore, concurrency with respect to the inactive continuous variables is not captured.
| Model * get_model | ( | ProblemDescDB & | problem_db | ) | [private] |
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize modelRep to the appropriate derived type, as given by the modelType attribute.
| int estimate_derivatives | ( | const ShortArray & | map_asv, | |
| const ShortArray & | fd_grad_asv, | |||
| const ShortArray & | fd_hess_asv, | |||
| const ShortArray & | quasi_hess_asv, | |||
| const ActiveSet & | original_set, | |||
| const bool | asynch_flag | |||
| ) | [private] |
method_source) in the numerical gradient specification.
Estimate derivatives by computing finite difference gradients, finite difference Hessians, and/or quasi-Newton Hessians. The total number of finite difference evaluations is returned for use by synchronize() to track response arrays, and it could be used to improve management of max_function_evaluations within the iterators.
| void synchronize_derivatives | ( | const Variables & | vars, | |
| const ResponseArray & | fd_responses, | |||
| Response & | new_response, | |||
| const ShortArray & | fd_grad_asv, | |||
| const ShortArray & | fd_hess_asv, | |||
| const ShortArray & | quasi_hess_asv, | |||
| const ActiveSet & | original_set | |||
| ) | [private] |
objects (fd_grad_responses) into a single response (new_response)
Merge an array of fd_responses into a single new_response. This function is used both by synchronous compute_response() for the case of asynchronous estimate_derivatives() and by synchronize() for the case where one or more asynch_compute_response() calls has employed asynchronous estimate_derivatives().
| void update_response | ( | const Variables & | vars, | |
| Response & | new_response, | |||
| const ShortArray & | fd_grad_asv, | |||
| const ShortArray & | fd_hess_asv, | |||
| const ShortArray & | quasi_hess_asv, | |||
| const ActiveSet & | original_set, | |||
| Response & | initial_map_response, | |||
| const RealMatrix & | new_fn_grads, | |||
| const RealMatrixArray & | new_fn_hessians | |||
| ) | [private] |
overlay results to update a response object
Overlay the initial_map_response with numerically estimated new_fn_grads and new_fn_hessians to populate new_response as governed by asv vectors. Quasi-Newton secant Hessian updates are also performed here, since this is where the gradient data needed for the updates is first consolidated. Convenience function used by estimate_derivatives() for the synchronous case and by synchronize_derivatives() for the asynchronous case.
| void update_quasi_hessians | ( | const Variables & | vars, | |
| Response & | new_response, | |||
| const ActiveSet & | original_set | |||
| ) | [private] |
perform quasi-Newton Hessian updates
quasi-Newton updates are performed for approximating response function Hessians using BFGS or SR1 formulations. These Hessians are supported only for the active continuous variables, and a check is performed on the DVV prior to invoking the function.
| bool manage_asv | ( | const ShortArray & | asv_in, | |
| ShortArray & | map_asv_out, | |||
| ShortArray & | fd_grad_asv_out, | |||
| ShortArray & | fd_hess_asv_out, | |||
| ShortArray & | quasi_hess_asv_out | |||
| ) | [private] |
Coordinates usage of estimate_derivatives() calls based on asv_in.
Splits asv_in total request into map_asv_out, fd_grad_asv_out, fd_hess_asv_out, and quasi_hess_asv_out as governed by the responses specification. If the returned use_est_deriv is true, then these asv outputs are used by estimate_derivatives() for the initial map, finite difference gradient evals, finite difference Hessian evals, and quasi-Hessian updates, respectively. If the returned use_est_deriv is false, then only map_asv_out is used.
1.5.1