Definition at line 271 of file implied_bounds.h.
#include <implied_bounds.h>
|
| | 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) |
| void | InitializeBooleanRLTCuts (absl::Span< const IntegerVariable > lp_vars, const util_intops::StrongVector< IntegerVariable, double > &lp_values) |
| const absl::flat_hash_map< IntegerVariable, std::vector< IntegerVariable > > & | BoolRLTCandidates () const |
| IntegerVariable | LiteralProductUpperBound (IntegerVariable a, IntegerVariable b) const |
◆ ProductDetector()
| operations_research::sat::ProductDetector::ProductDetector |
( |
Model * | model | ) |
|
|
explicit |
◆ ~ProductDetector()
| operations_research::sat::ProductDetector::~ProductDetector |
( |
| ) |
|
◆ BoolRLTCandidates()
| const absl::flat_hash_map< IntegerVariable, std::vector< IntegerVariable > > & operations_research::sat::ProductDetector::BoolRLTCandidates |
( |
| ) |
const |
|
inline |
◆ GetProduct() [1/2]
| IntegerVariable operations_research::sat::ProductDetector::GetProduct |
( |
Literal | a, |
|
|
IntegerVariable | b ) const |
◆ GetProduct() [2/2]
| LiteralIndex operations_research::sat::ProductDetector::GetProduct |
( |
Literal | a, |
|
|
Literal | b ) const |
◆ InitializeBooleanRLTCuts()
| void operations_research::sat::ProductDetector::InitializeBooleanRLTCuts |
( |
absl::Span< const IntegerVariable > | lp_vars, |
|
|
const util_intops::StrongVector< IntegerVariable, double > & | lp_values ) |
◆ LinearizeProduct()
| LinearExpression operations_research::sat::ProductDetector::LinearizeProduct |
( |
IntegerVariable | a, |
|
|
IntegerVariable | b ) |
◆ LiteralProductUpperBound()
| IntegerVariable operations_research::sat::ProductDetector::LiteralProductUpperBound |
( |
IntegerVariable | a, |
|
|
IntegerVariable | b ) const |
|
inline |
◆ ProcessBinaryClause()
| void operations_research::sat::ProductDetector::ProcessBinaryClause |
( |
absl::Span< const Literal > | binary_clause | ) |
|
◆ ProcessConditionalEquality()
| void operations_research::sat::ProductDetector::ProcessConditionalEquality |
( |
Literal | l, |
|
|
IntegerVariable | x, |
|
|
IntegerVariable | y ) |
◆ ProcessConditionalZero()
| void operations_research::sat::ProductDetector::ProcessConditionalZero |
( |
Literal | l, |
|
|
IntegerVariable | p ) |
◆ ProcessImplicationGraph()
◆ ProcessTernaryClause()
| void operations_research::sat::ProductDetector::ProcessTernaryClause |
( |
absl::Span< const Literal > | ternary_clause | ) |
|
◆ ProcessTernaryExactlyOne()
| void operations_research::sat::ProductDetector::ProcessTernaryExactlyOne |
( |
absl::Span< const Literal > | ternary_exo | ) |
|
◆ ProcessTrailAtLevelOne()
| void operations_research::sat::ProductDetector::ProcessTrailAtLevelOne |
( |
| ) |
|
◆ ProductIsLinearizable()
| bool operations_research::sat::ProductDetector::ProductIsLinearizable |
( |
IntegerVariable | a, |
|
|
IntegerVariable | b ) const |
◆ ProductLowerBound()
| LinearExpression operations_research::sat::ProductDetector::ProductLowerBound |
( |
IntegerVariable | a, |
|
|
IntegerVariable | b ) |
The documentation for this class was generated from the following files: