C(cnst_idx) = cnst.bound_;
if (cnst.get_sharing_policy() == Constraint::SharingPolicy::NONLINEAR && cnst.dyn_constraint_cb_) {
C(cnst_idx) = cnst.dyn_constraint_cb_(cnst.bound_, cnst.concurrency_current_);
- if (not warned_nonlinear_) {
- XBT_WARN("You are using dynamic constraint bound with parallel tasks and BMF model."
- " The BMF solver assumes that all flows (and subflows) are always active and executing."
- " This is quite pessimist, specially considering parallel tasks with small subflows."
- " Analyze your results with caution.");
- warned_nonlinear_ = true;
- }
}
cnst2idx_[&cnst] = cnst_idx;
// FATPIPE links aren't really shared
std::unordered_map<int, Variable*> idx2Var_; //!< Map player index (and position in matrices) to system's variable
std::unordered_map<const Constraint*, int> cnst2idx_; //!< Conversely map constraint to index
- bool warned_nonlinear_ = false;
};
} // namespace lmm