![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include <disjunctive.h>
Public Member Functions | |
DisjunctiveSimplePrecedences (SchedulingConstraintHelper *helper, Model *model=nullptr) | |
bool | Propagate () final |
int | RegisterWith (GenericLiteralWatcher *watcher) |
![]() | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
virtual bool | IncrementalPropagate (const std::vector< int > &) |
This one is a simpler version of DisjunctiveDetectablePrecedences, it detect all implied precedences between TWO tasks and push bounds accordingly. If we created all pairwise precedence Booleans, this would already be propagated and in this case we don't create this propagator.
Otherwise, this generate short reason and is good to do early as it propagates a lot.
Definition at line 219 of file disjunctive.h.
|
inlineexplicit |
Definition at line 221 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.
Implements operations_research::sat::PropagatorInterface.
Definition at line 732 of file disjunctive.cc.
int operations_research::sat::DisjunctiveSimplePrecedences::RegisterWith | ( | GenericLiteralWatcher * | watcher | ) |
Definition at line 725 of file disjunctive.cc.