Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::LinearConstraintPropagator< use_int128 > Class Template Reference

Detailed Description

template<bool use_int128 = false>
class operations_research::sat::LinearConstraintPropagator< use_int128 >

Definition at line 72 of file integer_expr.h.

#include <integer_expr.h>

Inheritance diagram for operations_research::sat::LinearConstraintPropagator< use_int128 >:
operations_research::sat::PropagatorInterface operations_research::sat::LazyReasonInterface

Public Member Functions

 LinearConstraintPropagator (absl::Span< const Literal > enforcement_literals, absl::Span< const IntegerVariable > vars, absl::Span< const IntegerValue > coeffs, IntegerValue upper_bound, Model *model)
 LinearConstraintPropagator (LinearConstraint ct, Model *model)
std::string LazyReasonName () const override
bool Propagate () final
void RegisterWith (GenericLiteralWatcher *watcher)
bool PropagateAtLevelZero ()
std::pair< IntegerValue, IntegerValue > ConditionalLb (IntegerLiteral integer_literal, IntegerVariable target_var) const
void Explain (int id, IntegerLiteral to_explain, IntegerReason *reason) final
Public Member Functions inherited from operations_research::sat::PropagatorInterface
 PropagatorInterface ()=default
virtual ~PropagatorInterface ()=default
virtual bool IncrementalPropagate (const std::vector< int > &)

Constructor & Destructor Documentation

◆ LinearConstraintPropagator() [1/2]

template<bool use_int128>
operations_research::sat::LinearConstraintPropagator< use_int128 >::LinearConstraintPropagator ( absl::Span< const Literal > enforcement_literals,
absl::Span< const IntegerVariable > vars,
absl::Span< const IntegerValue > coeffs,
IntegerValue upper_bound,
Model * model )

Definition at line 43 of file integer_expr.cc.

◆ LinearConstraintPropagator() [2/2]

template<bool use_int128>
operations_research::sat::LinearConstraintPropagator< use_int128 >::LinearConstraintPropagator ( LinearConstraint ct,
Model * model )

Definition at line 84 of file integer_expr.cc.

Member Function Documentation

◆ ConditionalLb()

template<bool use_int128>
std::pair< IntegerValue, IntegerValue > operations_research::sat::LinearConstraintPropagator< use_int128 >::ConditionalLb ( IntegerLiteral integer_literal,
IntegerVariable target_var ) const

Definition at line 136 of file integer_expr.cc.

◆ Explain()

template<bool use_int128>
void operations_research::sat::LinearConstraintPropagator< use_int128 >::Explain ( int id,
IntegerLiteral to_explain,
IntegerReason * reason )
finalvirtual

Implements operations_research::sat::LazyReasonInterface.

Definition at line 228 of file integer_expr.cc.

◆ LazyReasonName()

template<bool use_int128 = false>
std::string operations_research::sat::LinearConstraintPropagator< use_int128 >::LazyReasonName ( ) const
inlineoverridevirtual

Implements operations_research::sat::LazyReasonInterface.

Definition at line 89 of file integer_expr.h.

◆ Propagate()

template<bool use_int128>
bool operations_research::sat::LinearConstraintPropagator< use_int128 >::Propagate ( )
finalvirtual

Implements operations_research::sat::PropagatorInterface.

Definition at line 236 of file integer_expr.cc.

◆ PropagateAtLevelZero()

template<bool use_int128>
bool operations_research::sat::LinearConstraintPropagator< use_int128 >::PropagateAtLevelZero ( )

Definition at line 374 of file integer_expr.cc.

◆ RegisterWith()

template<bool use_int128>
void operations_research::sat::LinearConstraintPropagator< use_int128 >::RegisterWith ( GenericLiteralWatcher * watcher)

Definition at line 444 of file integer_expr.cc.


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