![]() |
Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
|
Definition at line 92 of file scheduling_helpers.h.
#include <scheduling_helpers.h>
Classes | |
| struct | ProfileEvent |
| struct | TaskInfo |
Public Member Functions | |
| SchedulingConstraintHelper (std::vector< AffineExpression > starts, std::vector< AffineExpression > ends, std::vector< AffineExpression > sizes, std::vector< LiteralIndex > reason_for_presence, Model *model) | |
| SchedulingConstraintHelper (int num_tasks, Model *model) | |
| bool | IsEnforced () const |
| bool | Propagate () final |
| bool | IncrementalPropagate (const std::vector< int > &watch_indices) final |
| void | RegisterWith (GenericLiteralWatcher *watcher, absl::Span< const Literal > enforcement_literals) |
| void | SetEnforcementId (EnforcementId id) |
| ABSL_MUST_USE_RESULT bool | ResetFromSubset (const SchedulingConstraintHelper &other, absl::Span< const int > tasks) |
| int | NumTasks () const |
| 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 | LevelZeroSizeMin (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 |
| bool | IsPresent (LiteralIndex lit) const |
| bool | IsAbsent (LiteralIndex lit) const |
| IntegerValue | GetCurrentMinDistanceBetweenTasks (int a, int b) |
| bool | NotifyLevelZeroPrecedence (int a, int b) |
| IntegerValue | GetMinOverlap (int t, IntegerValue start, IntegerValue end) const |
| bool | TaskIsBeforeOrIsOverlapping (int before, int after) |
| std::string | TaskDebugString (int t) const |
| 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 () |
| absl::Span< const CachedTaskBounds > | TaskByIncreasingNegatedShiftedEndMax () |
| const std::vector< ProfileEvent > & | GetEnergyProfile () |
| void | ResetReason () |
| void | ImportReasonsFromOther (const SchedulingConstraintHelper &other_helper) |
| 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 | AddLiteralReason (Literal l) |
| void | AddIntegerReason (IntegerLiteral l) |
| void | AddReasonForBeingBeforeAssumingNoOverlap (int before, int after) |
| void | AddReasonForUpperBoundLowerThan (LinearExpression2 expr, IntegerValue ub) |
| void | AppendAndResetReason (std::vector< IntegerLiteral > *integer_reason, std::vector< Literal > *literal_reason) |
| 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_MUST_USE_RESULT bool | PushTaskOrderWhenPresent (int t_before, int t_after) |
| absl::Span< const AffineExpression > | Starts () const |
| absl::Span< const AffineExpression > | Ends () const |
| absl::Span< const AffineExpression > | Sizes () const |
| IntervalDefinition | GetIntervalDefinition (int index) const |
| Literal | PresenceLiteral (int index) const |
| void | WatchAllTasks (int id) |
| void | SetExtraExplanationForItemCallback (std::function< void(absl::Span< const int > items, std::vector< Literal > *reason, std::vector< IntegerLiteral > *integer_reason)> extra_explanation_callback) |
| bool | InPropagationLoop () const |
| int | CurrentDecisionLevel () const |
| int64_t | PropagationTimestamp () const |
| FixedCapacityVector< TaskTime > & | GetScratchTaskTimeVector1 () |
| FixedCapacityVector< TaskTime > & | GetScratchTaskTimeVector2 () |
| FixedCapacityVector< TaskInfo > & | GetScratchTaskSet () |
| Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
| PropagatorInterface ()=default | |
| virtual | ~PropagatorInterface ()=default |
| operations_research::sat::SchedulingConstraintHelper::SchedulingConstraintHelper | ( | std::vector< AffineExpression > | starts, |
| std::vector< AffineExpression > | ends, | ||
| std::vector< AffineExpression > | sizes, | ||
| std::vector< LiteralIndex > | reason_for_presence, | ||
| Model * | model ) |
Definition at line 42 of file scheduling_helpers.cc.
| operations_research::sat::SchedulingConstraintHelper::SchedulingConstraintHelper | ( | int | num_tasks, |
| Model * | model ) |
Definition at line 87 of file scheduling_helpers.cc.
|
inline |
Definition at line 745 of file scheduling_helpers.h.
|
inline |
Definition at line 822 of file scheduling_helpers.h.
|
inline |
Definition at line 814 of file scheduling_helpers.h.
|
inline |
Definition at line 834 of file scheduling_helpers.h.
|
inline |
Definition at line 844 of file scheduling_helpers.h.
|
inline |
Definition at line 865 of file scheduling_helpers.h.
|
inline |
Definition at line 861 of file scheduling_helpers.h.
|
inline |
Definition at line 737 of file scheduling_helpers.h.
| void operations_research::sat::SchedulingConstraintHelper::AddReasonForBeingBeforeAssumingNoOverlap | ( | int | before, |
| int | after ) |
Definition at line 522 of file scheduling_helpers.cc.
| void operations_research::sat::SchedulingConstraintHelper::AddReasonForUpperBoundLowerThan | ( | LinearExpression2 | expr, |
| IntegerValue | ub ) |
Definition at line 1146 of file scheduling_helpers.cc.
|
inline |
Definition at line 829 of file scheduling_helpers.h.
|
inline |
Definition at line 793 of file scheduling_helpers.h.
|
inline |
Definition at line 753 of file scheduling_helpers.h.
|
inline |
Definition at line 784 of file scheduling_helpers.h.
|
inline |
Definition at line 807 of file scheduling_helpers.h.
|
inline |
Definition at line 800 of file scheduling_helpers.h.
| void operations_research::sat::SchedulingConstraintHelper::AppendAndResetReason | ( | std::vector< IntegerLiteral > * | integer_reason, |
| std::vector< Literal > * | literal_reason ) |
Definition at line 1152 of file scheduling_helpers.cc.
|
inline |
Definition at line 398 of file scheduling_helpers.h.
|
inline |
Definition at line 140 of file scheduling_helpers.h.
| bool operations_research::sat::SchedulingConstraintHelper::DecreaseEndMax | ( | int | t, |
| IntegerValue | value ) |
Definition at line 688 of file scheduling_helpers.cc.
|
inline |
Definition at line 686 of file scheduling_helpers.h.
|
inline |
Definition at line 164 of file scheduling_helpers.h.
|
inline |
Definition at line 162 of file scheduling_helpers.h.
|
inline |
Definition at line 349 of file scheduling_helpers.h.
| IntegerValue operations_research::sat::SchedulingConstraintHelper::GetCurrentMinDistanceBetweenTasks | ( | int | a, |
| int | b ) |
Definition at line 362 of file scheduling_helpers.cc.
| const std::vector< SchedulingConstraintHelper::ProfileEvent > & operations_research::sat::SchedulingConstraintHelper::GetEnergyProfile | ( | ) |
Definition at line 491 of file scheduling_helpers.cc.
|
inline |
Definition at line 352 of file scheduling_helpers.h.
| IntegerValue operations_research::sat::SchedulingConstraintHelper::GetMinOverlap | ( | int | t, |
| IntegerValue | start, | ||
| IntegerValue | end ) const |
Definition at line 823 of file scheduling_helpers.cc.
|
inline |
Definition at line 424 of file scheduling_helpers.h.
|
inline |
Definition at line 416 of file scheduling_helpers.h.
|
inline |
Definition at line 420 of file scheduling_helpers.h.
| void operations_research::sat::SchedulingConstraintHelper::ImportReasonsFromOther | ( | const SchedulingConstraintHelper & | other_helper | ) |
Definition at line 801 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::IncreaseEndMin | ( | int | t, |
| IntegerValue | value ) |
Definition at line 680 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::IncreaseStartMin | ( | int | t, |
| IntegerValue | value ) |
Definition at line 672 of file scheduling_helpers.cc.
|
finalvirtual |
Reimplemented from operations_research::sat::PropagatorInterface.
Definition at line 122 of file scheduling_helpers.cc.
|
inline |
Definition at line 396 of file scheduling_helpers.h.
|
inline |
Definition at line 708 of file scheduling_helpers.h.
|
inline |
Definition at line 725 of file scheduling_helpers.h.
| bool operations_research::sat::SchedulingConstraintHelper::IsEnforced | ( | ) | const |
Definition at line 110 of file scheduling_helpers.cc.
|
inline |
Definition at line 694 of file scheduling_helpers.h.
|
inline |
Definition at line 716 of file scheduling_helpers.h.
|
inline |
Definition at line 700 of file scheduling_helpers.h.
|
inline |
Definition at line 720 of file scheduling_helpers.h.
|
inline |
Definition at line 178 of file scheduling_helpers.h.
|
inline |
Definition at line 166 of file scheduling_helpers.h.
|
inline |
Definition at line 175 of file scheduling_helpers.h.
|
inline |
Definition at line 172 of file scheduling_helpers.h.
| bool operations_research::sat::SchedulingConstraintHelper::NotifyLevelZeroPrecedence | ( | int | a, |
| int | b ) |
Definition at line 379 of file scheduling_helpers.cc.
|
inline |
Definition at line 133 of file scheduling_helpers.h.
|
inline |
Definition at line 362 of file scheduling_helpers.h.
|
finalvirtual |
Implements operations_research::sat::PropagatorInterface.
Definition at line 115 of file scheduling_helpers.cc.
|
inline |
Definition at line 403 of file scheduling_helpers.h.
| bool operations_research::sat::SchedulingConstraintHelper::PushIntegerLiteral | ( | IntegerLiteral | lit | ) |
Definition at line 645 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::PushIntegerLiteralIfTaskPresent | ( | int | t, |
| IntegerLiteral | lit ) |
Definition at line 650 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::PushLiteral | ( | Literal | l | ) |
Definition at line 696 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::PushTaskAbsence | ( | int | t | ) |
Definition at line 700 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::PushTaskOrderWhenPresent | ( | int | t_before, |
| int | t_after ) |
Definition at line 731 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::PushTaskPresence | ( | int | t | ) |
Definition at line 716 of file scheduling_helpers.cc.
| void operations_research::sat::SchedulingConstraintHelper::RegisterWith | ( | GenericLiteralWatcher * | watcher, |
| absl::Span< const Literal > | enforcement_literals ) |
Definition at line 130 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::ReportConflict | ( | ) |
Definition at line 775 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::ResetFromSubset | ( | const SchedulingConstraintHelper & | other, |
| absl::Span< const int > | tasks ) |
Definition at line 235 of file scheduling_helpers.cc.
|
inline |
Definition at line 730 of file scheduling_helpers.h.
|
inline |
Definition at line 125 of file scheduling_helpers.h.
|
inline |
Definition at line 383 of file scheduling_helpers.h.
| void operations_research::sat::SchedulingConstraintHelper::SetTimeDirection | ( | bool | is_forward | ) |
Definition at line 301 of file scheduling_helpers.cc.
|
inline |
Definition at line 202 of file scheduling_helpers.h.
|
inline |
Definition at line 196 of file scheduling_helpers.h.
|
inline |
Definition at line 690 of file scheduling_helpers.h.
|
inline |
Definition at line 157 of file scheduling_helpers.h.
|
inline |
Definition at line 156 of file scheduling_helpers.h.
|
inline |
Definition at line 350 of file scheduling_helpers.h.
|
inline |
Definition at line 682 of file scheduling_helpers.h.
|
inline |
Definition at line 163 of file scheduling_helpers.h.
|
inline |
Definition at line 161 of file scheduling_helpers.h.
|
inline |
Definition at line 348 of file scheduling_helpers.h.
| bool operations_research::sat::SchedulingConstraintHelper::SynchronizeAndSetTimeDirection | ( | bool | is_forward | ) |
Definition at line 323 of file scheduling_helpers.cc.
| absl::Span< const TaskTime > operations_research::sat::SchedulingConstraintHelper::TaskByDecreasingEndMax | ( | ) |
Definition at line 444 of file scheduling_helpers.cc.
| absl::Span< const TaskTime > operations_research::sat::SchedulingConstraintHelper::TaskByIncreasingEndMin | ( | ) |
Definition at line 420 of file scheduling_helpers.cc.
| absl::Span< const CachedTaskBounds > operations_research::sat::SchedulingConstraintHelper::TaskByIncreasingNegatedShiftedEndMax | ( | ) |
Definition at line 472 of file scheduling_helpers.cc.
| absl::Span< const TaskTime > operations_research::sat::SchedulingConstraintHelper::TaskByIncreasingNegatedStartMax | ( | ) |
Definition at line 432 of file scheduling_helpers.cc.
| absl::Span< const CachedTaskBounds > operations_research::sat::SchedulingConstraintHelper::TaskByIncreasingShiftedStartMin | ( | ) |
Definition at line 454 of file scheduling_helpers.cc.
| absl::Span< const TaskTime > operations_research::sat::SchedulingConstraintHelper::TaskByIncreasingStartMin | ( | ) |
Definition at line 410 of file scheduling_helpers.cc.
| std::string operations_research::sat::SchedulingConstraintHelper::TaskDebugString | ( | int | t | ) | const |
Definition at line 812 of file scheduling_helpers.cc.
| bool operations_research::sat::SchedulingConstraintHelper::TaskIsBeforeOrIsOverlapping | ( | int | before, |
| int | after ) |
Definition at line 515 of file scheduling_helpers.cc.
| void operations_research::sat::SchedulingConstraintHelper::WatchAllTasks | ( | int | id | ) |
Definition at line 781 of file scheduling_helpers.cc.