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.

Definition at line 1766 of file routing.h.

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: