OR-Tools  8.2
IntegerEncoder

Detailed Description

Definition at line 276 of file integer.h.

Classes

struct  ValueLiteralPair
 

Public Member Functions

 IntegerEncoder (Model *model)
 
 ~IntegerEncoder ()
 
void FullyEncodeVariable (IntegerVariable var)
 
bool VariableIsFullyEncoded (IntegerVariable var) const
 
std::vector< ValueLiteralPairFullDomainEncoding (IntegerVariable var) const
 
std::vector< ValueLiteralPairPartialDomainEncoding (IntegerVariable var) const
 
std::pair< IntegerLiteral, IntegerLiteralCanonicalize (IntegerLiteral i_lit) const
 
Literal GetOrCreateAssociatedLiteral (IntegerLiteral i_lit)
 
Literal GetOrCreateLiteralAssociatedToEquality (IntegerVariable var, IntegerValue value)
 
void AssociateToIntegerLiteral (Literal literal, IntegerLiteral i_lit)
 
void AssociateToIntegerEqualValue (Literal literal, IntegerVariable var, IntegerValue value)
 
bool LiteralIsAssociated (IntegerLiteral i_lit) const
 
LiteralIndex GetAssociatedLiteral (IntegerLiteral i_lit) const
 
LiteralIndex GetAssociatedEqualityLiteral (IntegerVariable var, IntegerValue value) const
 
void DisableImplicationBetweenLiteral ()
 
void AddAllImplicationsBetweenAssociatedLiterals ()
 
const InlinedIntegerLiteralVectorGetIntegerLiterals (Literal lit) const
 
const InlinedIntegerLiteralVectorGetAllIntegerLiterals (Literal lit) const
 
const std::vector< IntegerLiteralNewlyFixedIntegerLiterals () const
 
void ClearNewlyFixedIntegerLiterals ()
 
const IntegerVariable GetLiteralView (Literal lit) const
 
const bool LiteralOrNegationHasView (Literal lit) const
 
LiteralIndex SearchForLiteralAtOrBefore (IntegerLiteral i, IntegerValue *bound) const
 
Literal GetTrueLiteral ()
 
Literal GetFalseLiteral ()
 
std::map< IntegerValue, LiteralPartialGreaterThanEncoding (IntegerVariable var) const
 

Constructor & Destructor Documentation

◆ IntegerEncoder()

IntegerEncoder ( Model model)
inlineexplicit

Definition at line 278 of file integer.h.

◆ ~IntegerEncoder()

~IntegerEncoder ( )
inline

Definition at line 283 of file integer.h.

Member Function Documentation

◆ AddAllImplicationsBetweenAssociatedLiterals()

void AddAllImplicationsBetweenAssociatedLiterals ( )

Definition at line 168 of file integer.cc.

◆ AssociateToIntegerEqualValue()

void AssociateToIntegerEqualValue ( Literal  literal,
IntegerVariable  var,
IntegerValue  value 
)

Definition at line 308 of file integer.cc.

◆ AssociateToIntegerLiteral()

void AssociateToIntegerLiteral ( Literal  literal,
IntegerLiteral  i_lit 
)

Definition at line 282 of file integer.cc.

◆ Canonicalize()

std::pair< IntegerLiteral, IntegerLiteral > Canonicalize ( IntegerLiteral  i_lit) const

Definition at line 184 of file integer.cc.

◆ ClearNewlyFixedIntegerLiterals()

void ClearNewlyFixedIntegerLiterals ( )
inline

Definition at line 412 of file integer.h.

◆ DisableImplicationBetweenLiteral()

void DisableImplicationBetweenLiteral ( )
inline

Definition at line 386 of file integer.h.

◆ FullDomainEncoding()

std::vector< IntegerEncoder::ValueLiteralPair > FullDomainEncoding ( IntegerVariable  var) const

Definition at line 106 of file integer.cc.

◆ FullyEncodeVariable()

void FullyEncodeVariable ( IntegerVariable  var)

Definition at line 36 of file integer.cc.

◆ GetAllIntegerLiterals()

const InlinedIntegerLiteralVector& GetAllIntegerLiterals ( Literal  lit) const
inline

Definition at line 400 of file integer.h.

◆ GetAssociatedEqualityLiteral()

LiteralIndex GetAssociatedEqualityLiteral ( IntegerVariable  var,
IntegerValue  value 
) const

Definition at line 238 of file integer.cc.

◆ GetAssociatedLiteral()

LiteralIndex GetAssociatedLiteral ( IntegerLiteral  i_lit) const

Definition at line 452 of file integer.cc.

◆ GetFalseLiteral()

Literal GetFalseLiteral ( )
inline

Definition at line 454 of file integer.h.

◆ GetIntegerLiterals()

const InlinedIntegerLiteralVector& GetIntegerLiterals ( Literal  lit) const
inline

Definition at line 390 of file integer.h.

◆ GetLiteralView()

const IntegerVariable GetLiteralView ( Literal  lit) const
inline

Definition at line 420 of file integer.h.

◆ GetOrCreateAssociatedLiteral()

Literal GetOrCreateAssociatedLiteral ( IntegerLiteral  i_lit)

Definition at line 202 of file integer.cc.

◆ GetOrCreateLiteralAssociatedToEquality()

Literal GetOrCreateLiteralAssociatedToEquality ( IntegerVariable  var,
IntegerValue  value 
)

Definition at line 248 of file integer.cc.

◆ GetTrueLiteral()

Literal GetTrueLiteral ( )
inline

Definition at line 444 of file integer.h.

◆ LiteralIsAssociated()

bool LiteralIsAssociated ( IntegerLiteral  i_lit) const

Definition at line 446 of file integer.cc.

◆ LiteralOrNegationHasView()

const bool LiteralOrNegationHasView ( Literal  lit) const
inline

Definition at line 427 of file integer.h.

◆ NewlyFixedIntegerLiterals()

const std::vector<IntegerLiteral> NewlyFixedIntegerLiterals ( ) const
inline

Definition at line 409 of file integer.h.

◆ PartialDomainEncoding()

std::vector< IntegerEncoder::ValueLiteralPair > PartialDomainEncoding ( IntegerVariable  var) const

Definition at line 112 of file integer.cc.

◆ PartialGreaterThanEncoding()

std::map<IntegerValue, Literal> PartialGreaterThanEncoding ( IntegerVariable  var) const
inline

Definition at line 459 of file integer.h.

◆ SearchForLiteralAtOrBefore()

LiteralIndex SearchForLiteralAtOrBefore ( IntegerLiteral  i,
IntegerValue *  bound 
) const

Definition at line 460 of file integer.cc.

◆ VariableIsFullyEncoded()

bool VariableIsFullyEncoded ( IntegerVariable  var) const

Definition at line 68 of file integer.cc.


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