Derived class within the Constraints hierarchy which employs the merged data view. More...
Public Member Functions | |
MergedConstraints (const SharedVariablesData &svd) | |
lightweight constructor | |
MergedConstraints (const ProblemDescDB &problem_db, const SharedVariablesData &svd) | |
standard constructor | |
~MergedConstraints () | |
destructor | |
void | write (std::ostream &s) const |
write a variable constraints object to an std::ostream | |
void | read (std::istream &s) |
read a variable constraints object from an std::istream | |
Protected Member Functions | |
void | reshape (const SizetArray &vc_totals) |
reshape the lower/upper bound arrays within the Constraints hierarchy | |
void | build_active_views () |
construct active views of all variables bounds arrays | |
void | build_inactive_views () |
construct inactive views of all variables bounds arrays |
Derived class within the Constraints hierarchy which employs the merged data view.
Derived variable constraints classes take different views of the design, uncertain, and state variable types and the continuous and discrete domain types. The MergedConstraints derived class combines continuous and discrete domain types but separates design, uncertain, and state variable types. The result is merged design bounds arrays (mergedDesignLowerBnds, mergedDesignUpperBnds), uncertain distribution bounds arrays (uncertainLowerBnds, uncertainUpperBnds), and merged state bounds arrays (mergedStateLowerBnds, mergedStateUpperBnds). The branch and bound strategy uses this approach (see Variables::get_variables(problem_db) for variables type selection; variables type is passed to the Constraints constructor in Model).
MergedConstraints | ( | const ProblemDescDB & | problem_db, |
const SharedVariablesData & | svd | ||
) |
standard constructor
In this class, a merged data approach is used in which continuous and discrete arrays are combined into a single continuous array (integrality is relaxed; the converse of truncating reals is not currently supported but could be in the future if needed). Iterators/strategies which use this class include: BranchBndOptimizer. Extract fundamental lower and upper bounds and merge continuous and discrete domains to create mergedDesignLowerBnds, mergedDesignUpperBnds, mergedStateLowerBnds, and mergedStateUpperBnds.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::build_views(), SharedVariablesData::components_totals(), Dakota::copy_data_partial(), ProblemDescDB::get_idv(), ProblemDescDB::get_rdv(), Constraints::manage_linear_constraints(), Dakota::merge_data_partial(), Constraints::sharedVarsData, and SharedVariablesData::vc_lookup().
void reshape | ( | const SizetArray & | vc_totals | ) | [protected, virtual] |
reshape the lower/upper bound arrays within the Constraints hierarchy
Resizes the derived bounds arrays.
Reimplemented from Constraints.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, and Constraints::build_views().
Referenced by MergedConstraints::MergedConstraints().