OR-Tools  9.6
ProductDetector

Detailed Description

Definition at line 223 of file implied_bounds.h.

Public Member Functions

 ProductDetector (Model *model)
 
 ~ProductDetector ()
 
void ProcessTernaryClause (absl::Span< const Literal > ternary_clause)
 
void ProcessTernaryExactlyOne (absl::Span< const Literal > ternary_exo)
 
void ProcessBinaryClause (absl::Span< const Literal > binary_clause)
 
void ProcessImplicationGraph (BinaryImplicationGraph *graph)
 
void ProcessTrailAtLevelOne ()
 
void ProcessConditionalEquality (Literal l, IntegerVariable x, IntegerVariable y)
 
void ProcessConditionalZero (Literal l, IntegerVariable p)
 
LiteralIndex GetProduct (Literal a, Literal b) const
 
IntegerVariable GetProduct (Literal a, IntegerVariable b) const
 
bool ProductIsLinearizable (IntegerVariable a, IntegerVariable b) const
 
LinearExpression LinearizeProduct (IntegerVariable a, IntegerVariable b)
 
LinearExpression ProductLowerBound (IntegerVariable a, IntegerVariable b)
 

Constructor & Destructor Documentation

◆ ProductDetector()

ProductDetector ( Model model)
explicit

Definition at line 500 of file implied_bounds.cc.

◆ ~ProductDetector()

Definition at line 508 of file implied_bounds.cc.

Member Function Documentation

◆ GetProduct() [1/2]

IntegerVariable GetProduct ( Literal  a,
IntegerVariable  b 
) const

Definition at line 676 of file implied_bounds.cc.

◆ GetProduct() [2/2]

LiteralIndex GetProduct ( Literal  a,
Literal  b 
) const

Definition at line 625 of file implied_bounds.cc.

◆ LinearizeProduct()

LinearExpression LinearizeProduct ( IntegerVariable  a,
IntegerVariable  b 
)

◆ ProcessBinaryClause()

void ProcessBinaryClause ( absl::Span< const Literal binary_clause)

Definition at line 563 of file implied_bounds.cc.

◆ ProcessConditionalEquality()

void ProcessConditionalEquality ( Literal  l,
IntegerVariable  x,
IntegerVariable  y 
)

Definition at line 695 of file implied_bounds.cc.

◆ ProcessConditionalZero()

void ProcessConditionalZero ( Literal  l,
IntegerVariable  p 
)

Definition at line 729 of file implied_bounds.cc.

◆ ProcessImplicationGraph()

void ProcessImplicationGraph ( BinaryImplicationGraph graph)

Definition at line 595 of file implied_bounds.cc.

◆ ProcessTernaryClause()

void ProcessTernaryClause ( absl::Span< const Literal ternary_clause)

Definition at line 528 of file implied_bounds.cc.

◆ ProcessTernaryExactlyOne()

void ProcessTernaryExactlyOne ( absl::Span< const Literal ternary_exo)

Definition at line 548 of file implied_bounds.cc.

◆ ProcessTrailAtLevelOne()

void ProcessTrailAtLevelOne ( )

Definition at line 607 of file implied_bounds.cc.

◆ ProductIsLinearizable()

bool ProductIsLinearizable ( IntegerVariable  a,
IntegerVariable  b 
) const

Definition at line 650 of file implied_bounds.cc.

◆ ProductLowerBound()

LinearExpression ProductLowerBound ( IntegerVariable  a,
IntegerVariable  b 
)

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