Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <timetable.h>
Public Member Functions | |
TimeTablingPerTask (AffineExpression capacity, SchedulingConstraintHelper *helper, SchedulingDemandHelper *demands, Model *model) | |
TimeTablingPerTask (const TimeTablingPerTask &)=delete | |
This type is neither copyable nor movable. | |
TimeTablingPerTask & | operator= (const TimeTablingPerTask &)=delete |
bool | Propagate () final |
void | RegisterWith (GenericLiteralWatcher *watcher) |
Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
virtual bool | IncrementalPropagate (const std::vector< int > &) |
A strongly quadratic version of Time Tabling filtering. This propagator is similar to the CumulativeTimeTable propagator of the constraint solver.
Definition at line 109 of file timetable.h.
operations_research::sat::TimeTablingPerTask::TimeTablingPerTask | ( | AffineExpression | capacity, |
SchedulingConstraintHelper * | helper, | ||
SchedulingDemandHelper * | demands, | ||
Model * | model ) |
Each task may create at most two profile rectangles. Such pattern appear if the profile is shaped like the Hanoi tower. The additional space is for both extremities and the sentinels.
Definition at line 309 of file timetable.cc.
|
delete |
This type is neither copyable nor movable.
|
delete |
|
finalvirtual |
This can fail if the profile exceeds the resource capacity.
Update the minimum start times.
We reuse the same profile, but reversed, to update the maximum end times.
Update the maximum end times (reversed problem).
Implements operations_research::sat::PropagatorInterface.
Definition at line 358 of file timetable.cc.
void operations_research::sat::TimeTablingPerTask::RegisterWith | ( | GenericLiteralWatcher * | watcher | ) |
Changing the times or pushing task absence migth have side effects on the other intervals, so we would need to be called again in this case.
Definition at line 343 of file timetable.cc.