Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: class GreaterThanAtLeastOneOfPropagator
Note: This documentation is automatically generated.
If we have:
- selectors[i] => (target_var >= vars[i] + offset[i])
- and we known that at least one selectors[i] must be true
then we can propagate the fact that if no selectors is chosen yet, the lower
bound of target_var is greater than the min of the still possible
alternatives.
This constraint take care of this case when no selectors[i] is chosen yet.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["The `GreaterThanAtLeastOneOfPropagator` constraint in C++ enforces the condition that if at least one selector is true, the target variable's lower bound is greater than the minimum of the remaining possible alternatives."],["This constraint specifically handles scenarios where none of the selectors have been chosen yet, ensuring the target variable's lower bound remains valid."],["It supports duplicate selectors, allowing for flexibility in constraint modeling."],["The constraint utilizes selectors, target variables, offsets, and enforcements to define the relationship between variables and their bounds."]]],["The `GreaterThanAtLeastOneOfPropagator` class in C++ handles scenarios where at least one selector (selectors[i]) must be true, defined as `target_var \u003e= vars[i] + offset[i]`. When no selector is chosen, it propagates that `target_var`'s lower bound exceeds the minimum of remaining alternatives. It supports duplicate selectors. Key methods include `GreaterThanAtLeastOneOfPropagator` (constructor), `Propagate` (returns a boolean), and `RegisterWith` (registers a `GenericLiteralWatcher`). The constructor takes the target variable, variables, offsets, selectors, enforcements and the model as arguments.\n"]]