![]() |
Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
|
Definition at line 40 of file no_overlap_2d_helper.h.
#include <no_overlap_2d_helper.h>
Public Member Functions | |
| NoOverlap2DConstraintHelper (std::vector< AffineExpression > x_starts, std::vector< AffineExpression > x_ends, std::vector< AffineExpression > x_sizes, std::vector< LiteralIndex > x_reason_for_presence, std::vector< AffineExpression > y_starts, std::vector< AffineExpression > y_ends, std::vector< AffineExpression > y_sizes, std::vector< LiteralIndex > y_reason_for_presence, Model *model) | |
| void | RegisterWith (GenericLiteralWatcher *watcher, absl::Span< const Literal > enforcement_literals) |
| bool | SynchronizeAndSetDirection (bool x_is_forward_after_swap=true, bool y_is_forward_after_swap=true, bool swap_x_and_y=false) |
| bool | IsOptional (int index) const |
| bool | IsPresent (int index) const |
| bool | IsAbsent (int index) const |
| Rectangle | GetBoundingRectangle (int index) const |
| Rectangle | GetLevelZeroBoundingRectangle (int index) const |
| bool | IsFixed (int index) const |
| std::pair< IntegerValue, IntegerValue > | GetBoxSizesMax (int index) const |
| std::pair< IntegerValue, IntegerValue > | GetLevelZeroBoxSizesMin (int index) const |
| bool | IsEnforced () const |
| void | ResetReason () |
| void | WatchAllBoxes (int id) |
| bool | PropagateRelativePosition (int first, int second, PairwiseRestriction::PairwiseRestrictionType type) |
| RectangleInRange | GetItemRangeForSizeMin (int index) const |
| ItemWithVariableSize | GetItemWithVariableSize (int index) const |
| bool | ReportConflictFromTwoBoxes (int box1, int box2) |
| bool | ReportConflictFromInfeasibleBoxRanges (absl::Span< const RectangleInRange > ranges) |
| void | AddXSizeMinReason (int index) |
| void | AddYSizeMinReason (int index) |
| void | AddSizeMinReason (int index) |
| void | AddLeftMinReason (int index, IntegerValue lower_bound) |
| void | AddLeftMaxReason (int index, IntegerValue upper_bound) |
| void | AddBottomMinReason (int index, IntegerValue lower_bound) |
| void | AddBottomMaxReason (int index, IntegerValue upper_bound) |
| void | AddPresenceReason (int index) |
| bool | IncreaseLeftMin (int index, IntegerValue new_lower_bound) |
| bool | ReportConflict () |
| int | NumBoxes () const |
| bool | Propagate () override |
| SchedulingConstraintHelper & | x_helper () const |
| SchedulingConstraintHelper & | y_helper () const |
| SchedulingDemandHelper & | x_demands_helper () |
| SchedulingDemandHelper & | y_demands_helper () |
| const CompactVectorVector< int > & | connected_components () const |
| int64_t | InProcessingCount () const |
| int64_t | LastLevelZeroChangeIdx () const |
| Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
| PropagatorInterface ()=default | |
| virtual | ~PropagatorInterface ()=default |
| virtual bool | IncrementalPropagate (const std::vector< int > &) |
|
inline |
Definition at line 42 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 203 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 197 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 191 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 177 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 207 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 163 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 161 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 162 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 234 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 89 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 108 of file no_overlap_2d_helper.h.
| RectangleInRange operations_research::sat::NoOverlap2DConstraintHelper::GetItemRangeForSizeMin | ( | int | index | ) | const |
Definition at line 69 of file no_overlap_2d_helper.cc.
| ItemWithVariableSize operations_research::sat::NoOverlap2DConstraintHelper::GetItemWithVariableSize | ( | int | index | ) | const |
Definition at line 83 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 96 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 112 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 212 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 238 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 85 of file no_overlap_2d_helper.h.
| bool operations_research::sat::NoOverlap2DConstraintHelper::IsEnforced | ( | ) | const |
Definition at line 301 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 103 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 77 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 81 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 239 of file no_overlap_2d_helper.h.
|
inline |
Definition at line 222 of file no_overlap_2d_helper.h.
|
overridevirtual |
Implements operations_research::sat::PropagatorInterface.
Definition at line 306 of file no_overlap_2d_helper.cc.
| bool operations_research::sat::NoOverlap2DConstraintHelper::PropagateRelativePosition | ( | int | first, |
| int | second, | ||
| PairwiseRestriction::PairwiseRestrictionType | type ) |
Definition at line 174 of file no_overlap_2d_helper.cc.
| void operations_research::sat::NoOverlap2DConstraintHelper::RegisterWith | ( | GenericLiteralWatcher * | watcher, |
| absl::Span< const Literal > | enforcement_literals ) |
Definition at line 365 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 217 of file no_overlap_2d_helper.h.
| bool operations_research::sat::NoOverlap2DConstraintHelper::ReportConflictFromInfeasibleBoxRanges | ( | absl::Span< const RectangleInRange > | ranges | ) |
Definition at line 124 of file no_overlap_2d_helper.cc.
| bool operations_research::sat::NoOverlap2DConstraintHelper::ReportConflictFromTwoBoxes | ( | int | box1, |
| int | box2 ) |
Definition at line 107 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 120 of file no_overlap_2d_helper.h.
| bool operations_research::sat::NoOverlap2DConstraintHelper::SynchronizeAndSetDirection | ( | bool | x_is_forward_after_swap = true, |
| bool | y_is_forward_after_swap = true, | ||
| bool | swap_x_and_y = false ) |
Definition at line 38 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 125 of file no_overlap_2d_helper.h.
| SchedulingDemandHelper & operations_research::sat::NoOverlap2DConstraintHelper::x_demands_helper | ( | ) |
Definition at line 53 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 228 of file no_overlap_2d_helper.h.
| SchedulingDemandHelper & operations_research::sat::NoOverlap2DConstraintHelper::y_demands_helper | ( | ) |
Definition at line 61 of file no_overlap_2d_helper.cc.
|
inline |
Definition at line 229 of file no_overlap_2d_helper.h.