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

#include <2d_orthogonal_packing.h>

Classes

struct  Item
 

Public Types

enum class  Status { INFEASIBLE , FEASIBLE , UNKNOWN }
 
enum class  Coord { kCoordX , kCoordY }
 

Public Member Functions

 OrthogonalPackingResult ()
 
Status GetResult () const
 
const std::vector< Item > & GetItemsParticipatingOnConflict () const
 
bool HasSlack () const
 
bool TryUseSlackToReduceItemSize (int i, Coord coord, IntegerValue lower_bound=0)
 
bool IsBetterThan (const OrthogonalPackingResult &other) const
 If *this is identical or not easily comparable to other, returns false.
 

Friends

class OrthogonalPackingInfeasibilityDetector
 

Detailed Description

Definition at line 40 of file 2d_orthogonal_packing.h.

Member Enumeration Documentation

◆ Coord

Enumerator
kCoordX 
kCoordY 

Definition at line 66 of file 2d_orthogonal_packing.h.

◆ Status

Enumerator
INFEASIBLE 
FEASIBLE 
UNKNOWN 

Definition at line 43 of file 2d_orthogonal_packing.h.

Constructor & Destructor Documentation

◆ OrthogonalPackingResult()

operations_research::sat::OrthogonalPackingResult::OrthogonalPackingResult ( )
inlineexplicit

Definition at line 42 of file 2d_orthogonal_packing.h.

Member Function Documentation

◆ GetItemsParticipatingOnConflict()

const std::vector< Item > & operations_research::sat::OrthogonalPackingResult::GetItemsParticipatingOnConflict ( ) const
inline

Definition at line 60 of file 2d_orthogonal_packing.h.

◆ GetResult()

Status operations_research::sat::OrthogonalPackingResult::GetResult ( ) const
inline

Definition at line 49 of file 2d_orthogonal_packing.h.

◆ HasSlack()

bool operations_research::sat::OrthogonalPackingResult::HasSlack ( ) const
inline

Definition at line 64 of file 2d_orthogonal_packing.h.

◆ IsBetterThan()

bool operations_research::sat::OrthogonalPackingResult::IsBetterThan ( const OrthogonalPackingResult & other) const
inline

If *this is identical or not easily comparable to other, returns false.

other.result_ == Status::INFEASIBLE

Definition at line 75 of file 2d_orthogonal_packing.h.

◆ TryUseSlackToReduceItemSize()

bool operations_research::sat::OrthogonalPackingResult::TryUseSlackToReduceItemSize ( int i,
Coord coord,
IntegerValue lower_bound = 0 )

Use an eventual slack to reduce the size of item corresponding to the i-th element on GetItemsParticipatingOnConflict(). It will not use any slack to reduce it beyond lower_bound. This is a no-op if HasSlack() is false.

Definition at line 862 of file 2d_orthogonal_packing.cc.

Friends And Related Symbol Documentation

◆ OrthogonalPackingInfeasibilityDetector

Definition at line 113 of file 2d_orthogonal_packing.h.


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