C++ Reference
C++ Reference: Routing
DisjunctivePropagator
Detailed Description
This class acts like a CP propagator: it takes a set of tasks given by their start/duration/end features, and reduces the range of possible values.
Classes | |
| struct | Tasks |
| A structure to hold tasks described by their features. More... | |
Public Member Functions | |
| bool | Propagate (Tasks *tasks) |
| Computes new bounds for all tasks, returns false if infeasible. More... | |
| bool | Precedences (Tasks *tasks) |
| Propagates the deductions from the chain of precedences, if there is one. More... | |
| bool | MirrorTasks (Tasks *tasks) |
| Transforms the problem with a time symmetry centered in 0. More... | |
| bool | EdgeFinding (Tasks *tasks) |
| Does edge-finding deductions on all tasks. More... | |
| bool | DetectablePrecedencesWithChain (Tasks *tasks) |
| Does detectable precedences deductions on tasks in the chain precedence, taking the time windows of nonchain tasks into account. More... | |
| bool | ForbiddenIntervals (Tasks *tasks) |
| Tasks might have holes in their domain, this enforces such holes. More... | |
| bool | DistanceDuration (Tasks *tasks) |
Member Function Documentation
◆ DetectablePrecedencesWithChain()
| bool DetectablePrecedencesWithChain | ( | Tasks * | tasks | ) |
Does detectable precedences deductions on tasks in the chain precedence, taking the time windows of nonchain tasks into account.
◆ DistanceDuration()
| bool DistanceDuration | ( | Tasks * | tasks | ) |
◆ EdgeFinding()
| bool EdgeFinding | ( | Tasks * | tasks | ) |
Does edge-finding deductions on all tasks.
◆ ForbiddenIntervals()
| bool ForbiddenIntervals | ( | Tasks * | tasks | ) |
Tasks might have holes in their domain, this enforces such holes.
◆ MirrorTasks()
| bool MirrorTasks | ( | Tasks * | tasks | ) |
Transforms the problem with a time symmetry centered in 0.
Returns true for convenience.
◆ Precedences()
| bool Precedences | ( | Tasks * | tasks | ) |
Propagates the deductions from the chain of precedences, if there is one.
◆ Propagate()
| bool Propagate | ( | Tasks * | tasks | ) |
Computes new bounds for all tasks, returns false if infeasible.
This does not compute a fixed point, so recalling it may filter more.
The documentation for this class was generated from the following file: