Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <timetable.h>
Public Member Functions | |
ReservoirTimeTabling (const std::vector< AffineExpression > ×, const std::vector< AffineExpression > &deltas, const std::vector< Literal > &presences, IntegerValue capacity, Model *model) | |
bool | Propagate () final |
Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
virtual bool | IncrementalPropagate (const std::vector< int > &) |
The piecewise constant function must be below the given capacity. The initial function value is zero. Note that a negative capacity will thus be trivially infeasible.
Definition at line 48 of file timetable.h.
operations_research::sat::ReservoirTimeTabling::ReservoirTimeTabling | ( | const std::vector< AffineExpression > & | times, |
const std::vector< AffineExpression > & | deltas, | ||
const std::vector< Literal > & | presences, | ||
IntegerValue | capacity, | ||
Model * | model ) |
Definition at line 54 of file timetable.cc.
|
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.
For positive delta_min, we can maybe increase the min.
For negative delta_min, we can maybe decrease the max.
Implements operations_research::sat::PropagatorInterface.
Definition at line 81 of file timetable.cc.