![]() |
OR-Tools
8.2
|
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) |
Propagates distance_duration constraints, if any. More... | |
bool | ChainSpanMin (Tasks *tasks) |
Propagates a lower bound of the chain span, end[num_chain_tasks] - start[0], to span_min. More... | |
bool | ChainSpanMinDynamic (Tasks *tasks) |
Computes a lower bound of the span of the chain, taking into account only the first nonchain task. More... | |
bool ChainSpanMin | ( | Tasks * | tasks | ) |
Propagates a lower bound of the chain span, end[num_chain_tasks] - start[0], to span_min.
Definition at line 429 of file routing_breaks.cc.
bool ChainSpanMinDynamic | ( | Tasks * | tasks | ) |
Computes a lower bound of the span of the chain, taking into account only the first nonchain task.
For more accurate results, this should be called after Precedences(), otherwise the lower bound might be lower than feasible.
Definition at line 469 of file routing_breaks.cc.
bool DetectablePrecedencesWithChain | ( | Tasks * | tasks | ) |
Does detectable precedences deductions on tasks in the chain precedence, taking the time windows of nonchain tasks into account.
Definition at line 197 of file routing_breaks.cc.
bool DistanceDuration | ( | Tasks * | tasks | ) |
Propagates distance_duration constraints, if any.
Definition at line 286 of file routing_breaks.cc.
bool EdgeFinding | ( | Tasks * | tasks | ) |
Does edge-finding deductions on all tasks.
Definition at line 136 of file routing_breaks.cc.
bool ForbiddenIntervals | ( | Tasks * | tasks | ) |
Tasks might have holes in their domain, this enforces such holes.
Definition at line 250 of file routing_breaks.cc.
bool MirrorTasks | ( | Tasks * | tasks | ) |
Transforms the problem with a time symmetry centered in 0.
Returns true for convenience.
Definition at line 106 of file routing_breaks.cc.
bool Precedences | ( | Tasks * | tasks | ) |
Propagates the deductions from the chain of precedences, if there is one.
Definition at line 51 of file routing_breaks.cc.
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.
Definition at line 20 of file routing_breaks.cc.