Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <disjunctive.h>
Public Member Functions | |
AllIntervalsHelper (Model *model) | |
Public Member Functions inherited from operations_research::sat::SchedulingConstraintHelper | |
SchedulingConstraintHelper (const std::vector< IntervalVariable > &tasks, Model *model) | |
SchedulingConstraintHelper (int num_tasks, Model *model) | |
bool | Propagate () final |
bool | IncrementalPropagate (const std::vector< int > &watch_indices) final |
void | RegisterWith (GenericLiteralWatcher *watcher) |
ABSL_MUST_USE_RESULT bool | ResetFromSubset (const SchedulingConstraintHelper &other, absl::Span< const int > tasks) |
int | NumTasks () const |
Returns the number of task. | |
void | SetTimeDirection (bool is_forward) |
bool | CurrentTimeIsForward () const |
ABSL_MUST_USE_RESULT bool | SynchronizeAndSetTimeDirection (bool is_forward) |
IntegerValue | SizeMin (int t) const |
IntegerValue | SizeMax (int t) const |
IntegerValue | StartMin (int t) const |
IntegerValue | EndMin (int t) const |
IntegerValue | StartMax (int t) const |
IntegerValue | EndMax (int t) const |
IntegerValue | LevelZeroStartMin (int t) const |
IntegerValue | LevelZeroStartMax (int t) const |
IntegerValue | LevelZeroEndMax (int t) const |
IntegerValue | ShiftedStartMin (int t) const |
IntegerValue | ShiftedEndMax (int t) const |
bool | StartIsFixed (int t) const |
bool | EndIsFixed (int t) const |
bool | SizeIsFixed (int t) const |
bool | IsOptional (int t) const |
bool | IsPresent (int t) const |
bool | IsAbsent (int t) const |
bool | IsOptional (LiteralIndex lit) const |
Same if one already have the presence LiteralIndex of a task. | |
bool | IsPresent (LiteralIndex lit) const |
bool | IsAbsent (LiteralIndex lit) const |
IntegerValue | GetCurrentMinDistanceBetweenTasks (int a, int b, bool add_reason_if_after=false) |
bool | PropagatePrecedence (int a, int b) |
IntegerValue | GetMinOverlap (int t, IntegerValue start, IntegerValue end) const |
std::string | TaskDebugString (int t) const |
Returns a string with the current task bounds. | |
absl::Span< const TaskTime > | TaskByIncreasingStartMin () |
absl::Span< const TaskTime > | TaskByDecreasingEndMax () |
absl::Span< const TaskTime > | TaskByIncreasingNegatedStartMax () |
absl::Span< const TaskTime > | TaskByIncreasingEndMin () |
absl::Span< const CachedTaskBounds > | TaskByIncreasingShiftedStartMin () |
const std::vector< ProfileEvent > & | GetEnergyProfile () |
void | ClearReason () |
Functions to clear and then set the current reason. | |
void | AddPresenceReason (int t) |
void | AddAbsenceReason (int t) |
void | AddSizeMinReason (int t) |
void | AddSizeMinReason (int t, IntegerValue lower_bound) |
void | AddSizeMaxReason (int t, IntegerValue upper_bound) |
void | AddStartMinReason (int t, IntegerValue lower_bound) |
void | AddStartMaxReason (int t, IntegerValue upper_bound) |
void | AddEndMinReason (int t, IntegerValue lower_bound) |
void | AddEndMaxReason (int t, IntegerValue upper_bound) |
void | AddShiftedEndMaxReason (int t, IntegerValue upper_bound) |
void | AddEnergyAfterReason (int t, IntegerValue energy_min, IntegerValue time) |
void | AddEnergyMinInIntervalReason (int t, IntegerValue min, IntegerValue max) |
void | AddReasonForBeingBefore (int before, int after) |
Produces a relaxed reason for StartMax(before) < EndMin(after). | |
std::vector< Literal > * | MutableLiteralReason () |
std::vector< IntegerLiteral > * | MutableIntegerReason () |
ABSL_MUST_USE_RESULT bool | IncreaseStartMin (int t, IntegerValue value) |
ABSL_MUST_USE_RESULT bool | IncreaseEndMin (int t, IntegerValue value) |
ABSL_MUST_USE_RESULT bool | DecreaseEndMax (int t, IntegerValue value) |
ABSL_MUST_USE_RESULT bool | PushLiteral (Literal l) |
ABSL_MUST_USE_RESULT bool | PushTaskAbsence (int t) |
ABSL_MUST_USE_RESULT bool | PushTaskPresence (int t) |
ABSL_MUST_USE_RESULT bool | PushIntegerLiteral (IntegerLiteral lit) |
ABSL_MUST_USE_RESULT bool | ReportConflict () |
ABSL_MUST_USE_RESULT bool | PushIntegerLiteralIfTaskPresent (int t, IntegerLiteral lit) |
absl::Span< const IntervalVariable > | IntervalVariables () const |
Returns the underlying affine expressions. | |
absl::Span< const AffineExpression > | Starts () const |
absl::Span< const AffineExpression > | Ends () const |
absl::Span< const AffineExpression > | Sizes () const |
Literal | PresenceLiteral (int index) const |
void | WatchAllTasks (int id, bool watch_max_side=true) |
void | SetOtherHelper (SchedulingConstraintHelper *other_helper, absl::Span< const int > map_to_other_helper, IntegerValue event) |
bool | HasOtherHelper () const |
void | ClearOtherHelper () |
void | ImportOtherReasons (const SchedulingConstraintHelper &other_helper) |
bool | InPropagationLoop () const |
int | CurrentDecisionLevel () const |
Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
Singleton model class which is just a SchedulingConstraintHelper will all the intervals.
Definition at line 260 of file disjunctive.h.
|
inlineexplicit |
Definition at line 262 of file disjunctive.h.