Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::DisjunctiveEdgeFinding Class Reference

#include <disjunctive.h>

Inheritance diagram for operations_research::sat::DisjunctiveEdgeFinding:
operations_research::sat::PropagatorInterface

Public Member Functions

 DisjunctiveEdgeFinding (bool time_direction, SchedulingConstraintHelper *helper, Model *model=nullptr)
 
bool Propagate () final
 
int RegisterWith (GenericLiteralWatcher *watcher)
 
- Public Member Functions inherited from operations_research::sat::PropagatorInterface
 PropagatorInterface ()=default
 
virtual ~PropagatorInterface ()=default
 
virtual bool IncrementalPropagate (const std::vector< int > &)
 

Detailed Description

Definition at line 315 of file disjunctive.h.

Constructor & Destructor Documentation

◆ DisjunctiveEdgeFinding()

operations_research::sat::DisjunctiveEdgeFinding::DisjunctiveEdgeFinding ( bool time_direction,
SchedulingConstraintHelper * helper,
Model * model = nullptr )
inline

Definition at line 317 of file disjunctive.h.

Member Function Documentation

◆ Propagate()

bool operations_research::sat::DisjunctiveEdgeFinding::Propagate ( )
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.

Note
we use the real start min here not the shifted one. This is because we might be able to push it if it is smaller than window end.

We need at least 3 tasks for the edge-finding to be different from detectable precedences.

Start of the next window.

Implements operations_research::sat::PropagatorInterface.

Definition at line 1529 of file disjunctive.cc.

◆ RegisterWith()

int operations_research::sat::DisjunctiveEdgeFinding::RegisterWith ( GenericLiteralWatcher * watcher)

Definition at line 1805 of file disjunctive.cc.


The documentation for this class was generated from the following files: