Google OR-Tools v9.12
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
2d_rectangle_presolve.h File Reference
#include <tuple>
#include <utility>
#include <vector>
#include "absl/algorithm/container.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/inlined_vector.h"
#include "absl/types/span.h"
#include "ortools/sat/diffn_util.h"
#include "ortools/sat/integer_base.h"

Go to the source code of this file.

Classes

struct  operations_research::sat::Disjoint2dPackingResult
 
struct  operations_research::sat::Disjoint2dPackingResult::Bin
 
class  operations_research::sat::Neighbours
 
class  operations_research::sat::Neighbours::CompareClockwise
 
struct  operations_research::sat::ShapePath
 
struct  operations_research::sat::SingleShape
 

Namespaces

namespace  operations_research
 In SWIG mode, we don't want anything besides these top-level includes.
 
namespace  operations_research::sat
 

Enumerations

enum  operations_research::sat::EdgePosition { operations_research::sat::TOP = 0 , operations_research::sat::RIGHT = 1 , operations_research::sat::BOTTOM = 2 , operations_research::sat::LEFT = 3 }
 

Functions

bool operations_research::sat::PresolveFixed2dRectangles (absl::Span< const RectangleInRange > non_fixed_boxes, std::vector< Rectangle > *fixed_boxes)
 
Disjoint2dPackingResult operations_research::sat::DetectDisjointRegionIn2dPacking (absl::Span< const RectangleInRange > non_fixed_boxes, absl::Span< const Rectangle > fixed_boxes, int max_num_components)
 
bool operations_research::sat::ReduceNumberofBoxesGreedy (std::vector< Rectangle > *mandatory_rectangles, std::vector< Rectangle > *optional_rectangles)
 
bool operations_research::sat::ReduceNumberOfBoxesExactMandatory (std::vector< Rectangle > *mandatory_rectangles, std::vector< Rectangle > *optional_rectangles)
 
template<typename Sink>
void operations_research::sat::AbslStringify (Sink &sink, EdgePosition e)
 
Neighbours operations_research::sat::BuildNeighboursGraph (absl::Span< const Rectangle > rectangles)
 
std::vector< std::vector< int > > operations_research::sat::SplitInConnectedComponents (const Neighbours &neighbours)
 
std::vector< SingleShapeoperations_research::sat::BoxesToShapes (absl::Span< const Rectangle > rectangles, const Neighbours &neighbours)
 
std::vector< Rectangleoperations_research::sat::CutShapeIntoRectangles (SingleShape shape)