C++ Reference: class DisjunctivePropagator

This documentation is automatically generated.

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.
Method
Clear

Return type: void

DetectablePrecedencesWithChain

Return type: bool

Arguments: Tasks* tasks

Does detectable precedences deductions on tasks in the chain precedence, taking the time windows of nonchain tasks into account.

DistanceDuration

Return type: bool

Arguments: Tasks* tasks

EdgeFinding

Return type: bool

Arguments: Tasks* tasks

Does edge-finding deductions on all tasks.

ForbiddenIntervals

Return type: bool

Arguments: Tasks* tasks

Tasks might have holes in their domain, this enforces such holes.

MirrorTasks

Return type: bool

Arguments: Tasks* tasks

Transforms the problem with a time symmetry centered in 0. Returns true for convenience.

Precedences

Return type: bool

Arguments: Tasks* tasks

Propagates the deductions from the chain of precedences, if there is one.

Propagate

Return type: bool

Arguments: 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.