![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
Non overlapping rectangles. This includes box with zero-areas. The following is forbidden:
#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) |
| Public Member Functions inherited from operations_research::sat::PropagatorInterface | |
| PropagatorInterface ()=default | |
| virtual | ~PropagatorInterface ()=default |
| virtual bool | IncrementalPropagate (const std::vector< int > &) |
| 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 ) |