![]() |
Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
|
#include <diffn.h>
Public Member Functions | |
NonOverlappingRectanglesDisjunctivePropagator (NoOverlap2DConstraintHelper *helper, Model *model) | |
The slow_propagators select which disjunctive algorithms to propagate. | |
~NonOverlappingRectanglesDisjunctivePropagator () override | |
bool | Propagate () final |
void | Register (int fast_priority, int slow_priority) |
![]() | |
PropagatorInterface ()=default | |
virtual | ~PropagatorInterface ()=default |
virtual bool | IncrementalPropagate (const std::vector< int > &) |
Non overlapping rectangles. This includes box with zero-areas. The following is forbidden:
operations_research::sat::NonOverlappingRectanglesDisjunctivePropagator::NonOverlappingRectanglesDisjunctivePropagator | ( | NoOverlap2DConstraintHelper * | helper, |
Model * | model ) |
|
overridedefault |
|
finalvirtual |
If we are "diving" we maintain the set of fixed boxes for which we know that they are not overlapping.
We can actually swap dimensions to propagate vertically.
Implements operations_research::sat::PropagatorInterface.
void operations_research::sat::NonOverlappingRectanglesDisjunctivePropagator::Register | ( | int | fast_priority, |
int | slow_priority ) |