Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::TryEdgeRectanglePropagator Class Reference

Detailed Description

Definition at line 44 of file 2d_try_edge_propagator.h.

#include <2d_try_edge_propagator.h>

Inheritance diagram for operations_research::sat::TryEdgeRectanglePropagator:
operations_research::sat::PropagatorInterface

Public Member Functions

 TryEdgeRectanglePropagator (bool x_is_forward_after_swap, bool y_is_forward_after_swap, bool swap_x_and_y, NoOverlap2DConstraintHelper *helper, Model *model)
 ~TryEdgeRectanglePropagator () override
bool Propagate () final
int RegisterWith (GenericLiteralWatcher *watcher)
Public Member Functions inherited from operations_research::sat::PropagatorInterface
 PropagatorInterface ()=default
virtual ~PropagatorInterface ()=default
virtual bool IncrementalPropagate (const std::vector< int > &)

Protected Member Functions

virtual bool ExplainAndPropagate (const std::vector< std::pair< int, std::optional< IntegerValue > > > &found_propagations)
std::vector< int > GetMinimumProblemWithPropagation (int box_index, IntegerValue new_x_min)

Protected Attributes

std::vector< Rectangleplaced_boxes_
std::vector< bool > is_in_cache_
std::vector< Rectanglemandatory_regions_
std::vector< RectangleInRangeactive_box_ranges_
std::vector< bool > is_active_
Bitset64< int > has_mandatory_region_
std::vector< int > changed_item_
std::vector< int > changed_mandatory_

Constructor & Destructor Documentation

◆ TryEdgeRectanglePropagator()

operations_research::sat::TryEdgeRectanglePropagator::TryEdgeRectanglePropagator ( bool x_is_forward_after_swap,
bool y_is_forward_after_swap,
bool swap_x_and_y,
NoOverlap2DConstraintHelper * helper,
Model * model )
inline

Definition at line 46 of file 2d_try_edge_propagator.h.

◆ ~TryEdgeRectanglePropagator()

operations_research::sat::TryEdgeRectanglePropagator::~TryEdgeRectanglePropagator ( )
override

Definition at line 50 of file 2d_try_edge_propagator.cc.

Member Function Documentation

◆ ExplainAndPropagate()

bool operations_research::sat::TryEdgeRectanglePropagator::ExplainAndPropagate ( const std::vector< std::pair< int, std::optional< IntegerValue > > > & found_propagations)
protectedvirtual

Definition at line 367 of file 2d_try_edge_propagator.cc.

◆ GetMinimumProblemWithPropagation()

std::vector< int > operations_research::sat::TryEdgeRectanglePropagator::GetMinimumProblemWithPropagation ( int box_index,
IntegerValue new_x_min )
protected

Definition at line 259 of file 2d_try_edge_propagator.cc.

◆ Propagate()

bool operations_research::sat::TryEdgeRectanglePropagator::Propagate ( )
finalvirtual

◆ RegisterWith()

int operations_research::sat::TryEdgeRectanglePropagator::RegisterWith ( GenericLiteralWatcher * watcher)

Definition at line 43 of file 2d_try_edge_propagator.cc.

Member Data Documentation

◆ active_box_ranges_

std::vector<RectangleInRange> operations_research::sat::TryEdgeRectanglePropagator::active_box_ranges_
protected

Definition at line 72 of file 2d_try_edge_propagator.h.

◆ changed_item_

std::vector<int> operations_research::sat::TryEdgeRectanglePropagator::changed_item_
protected

Definition at line 76 of file 2d_try_edge_propagator.h.

◆ changed_mandatory_

std::vector<int> operations_research::sat::TryEdgeRectanglePropagator::changed_mandatory_
protected

Definition at line 77 of file 2d_try_edge_propagator.h.

◆ has_mandatory_region_

Bitset64<int> operations_research::sat::TryEdgeRectanglePropagator::has_mandatory_region_
protected

Definition at line 74 of file 2d_try_edge_propagator.h.

◆ is_active_

std::vector<bool> operations_research::sat::TryEdgeRectanglePropagator::is_active_
protected

Definition at line 73 of file 2d_try_edge_propagator.h.

◆ is_in_cache_

std::vector<bool> operations_research::sat::TryEdgeRectanglePropagator::is_in_cache_
protected

Definition at line 69 of file 2d_try_edge_propagator.h.

◆ mandatory_regions_

std::vector<Rectangle> operations_research::sat::TryEdgeRectanglePropagator::mandatory_regions_
protected

Definition at line 71 of file 2d_try_edge_propagator.h.

◆ placed_boxes_

std::vector<Rectangle> operations_research::sat::TryEdgeRectanglePropagator::placed_boxes_
protected

Definition at line 68 of file 2d_try_edge_propagator.h.


The documentation for this class was generated from the following files: