![]() |
OR-Tools
9.6
|
Specialized cumulative constraint.
This constraint allows adding fixed or variables demands to the cumulative constraint incrementally.
One cannot mix the AddDemand() and AddDemandWithEnergy() APIs in the same cumulative API. Either always supply energy info, or never.
Definition at line 710 of file cp_model.h.
Public Member Functions | |
| void | AddDemand (IntervalVar interval, LinearExpr demand) |
| Adds a pair (interval, demand) to the constraint. More... | |
| Constraint | OnlyEnforceIf (absl::Span< const BoolVar > literals) |
| The constraint will be enforced iff all literals listed here are true. More... | |
| Constraint | OnlyEnforceIf (BoolVar literal) |
| See OnlyEnforceIf(absl::Span<const BoolVar> literals). More... | |
| Constraint | WithName (const std::string &name) |
| Sets the name of the constraint. More... | |
| const std::string & | Name () const |
| Returns the name of the constraint (or the empty string if not set). More... | |
| const ConstraintProto & | Proto () const |
| Returns the underlying protobuf object (useful for testing). More... | |
| ConstraintProto * | MutableProto () const |
| Returns the mutable underlying protobuf object (useful for model edition). More... | |
Protected Attributes | |
| ConstraintProto * | proto_ = nullptr |
| void AddDemand | ( | IntervalVar | interval, |
| LinearExpr | demand | ||
| ) |
Adds a pair (interval, demand) to the constraint.
Definition at line 570 of file cp_model.cc.
|
inlineinherited |
Returns the mutable underlying protobuf object (useful for model edition).
Definition at line 562 of file cp_model.h.
|
inherited |
Returns the name of the constraint (or the empty string if not set).
Definition at line 499 of file cp_model.cc.
|
inherited |
The constraint will be enforced iff all literals listed here are true.
If this is empty, then the constraint will always be enforced. An enforced constraint must be satisfied, and an un-enforced one will simply be ignored.
This is also called half-reification. To have an equivalence between a literal and a constraint (full reification), one must add both a constraint (controlled by a literal l) and its negation (controlled by the negation of l).
[Important] currently, only a few constraints support enforcement:
Definition at line 501 of file cp_model.cc.
|
inherited |
See OnlyEnforceIf(absl::Span<const BoolVar> literals).
Definition at line 508 of file cp_model.cc.
|
inlineinherited |
Returns the underlying protobuf object (useful for testing).
Definition at line 559 of file cp_model.h.
|
inherited |
Sets the name of the constraint.
Definition at line 494 of file cp_model.cc.
|
protectedinherited |
Definition at line 569 of file cp_model.h.