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.

This constraint support duplicate selectors.
Method
GreaterThanAtLeastOneOfPropagator

Arguments: IntegerVariable target_var, const absl::Span<const IntegerVariable> vars, const absl::Span<const IntegerValue> offsets, const absl::Span<const Literal> selectors, const absl::Span<const Literal> enforcements, Model* model

Propagate

Return type: bool

RegisterWith

Return type: void

Arguments: GenericLiteralWatcher* watcher