![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include <disjunctive.h>
Public Member Functions | |
DisjunctiveEdgeFinding (bool time_direction, SchedulingConstraintHelper *helper, Model *model=nullptr) | |
bool | Propagate () final |
int | RegisterWith (GenericLiteralWatcher *watcher) |
![]() | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
virtual bool | IncrementalPropagate (const std::vector< int > &) |
Definition at line 311 of file disjunctive.h.
|
inline |
Definition at line 313 of file disjunctive.h.
|
finalvirtual |
This will be called after one or more literals that are watched by this propagator changed. It will also always be called on the first propagation cycle after registration.
We need at least 3 tasks for the edge-finding to be different from detectable precedences.
Corner case: The propagation of the previous window might have made the current task absent even if it wasn't at the loop beginning.
Start of the next window.
Implements operations_research::sat::PropagatorInterface.
Definition at line 1552 of file disjunctive.cc.
int operations_research::sat::DisjunctiveEdgeFinding::RegisterWith | ( | GenericLiteralWatcher * | watcher | ) |
Definition at line 1836 of file disjunctive.cc.