![]() |
Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
|
For each IntegerVariable, the ImpliedBound class allows to list all such entries.
This is meant to be used in the cut generation code when it make sense: if we have BoolVar => X >= bound, we can always lower bound the variable X by (bound - X_lb) * BoolVar + X_lb, and that can lead to stronger cuts.
Definition at line 51 of file implied_bounds.h.
#include <implied_bounds.h>
Public Member Functions | |
ImpliedBoundEntry (IntegerVariable lit, IntegerValue lb) | |
These constructors are needed for OR-Tools. | |
ImpliedBoundEntry () |
Public Attributes | |
IntegerVariable | literal_view = kNoIntegerVariable |
IntegerValue | lower_bound = IntegerValue(0) |
|
inline |
These constructors are needed for OR-Tools.
Definition at line 63 of file implied_bounds.h.
|
inline |
Definition at line 66 of file implied_bounds.h.
IntegerVariable operations_research::sat::ImpliedBoundEntry::literal_view = kNoIntegerVariable |
PositiveVariable(literal_view) is an integer variable in [0, 1]. If VariableIsPositive(literal_view), when at 1, then the IntegerVariable corresponding to this entry must be greater or equal to the given lower bound.
If !VariableIsPositive(literal_view) then it is when PositiveVariable(literal_view) is zero that the lower bound is valid.
Definition at line 59 of file implied_bounds.h.
IntegerValue operations_research::sat::ImpliedBoundEntry::lower_bound = IntegerValue(0) |
Definition at line 60 of file implied_bounds.h.