Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <implied_bounds.h>
Public Member Functions | |
ImpliedBoundEntry (IntegerVariable lit, IntegerValue lb, bool positive) | |
These constructors are needed for OR-Tools. | |
ImpliedBoundEntry () | |
Public Attributes | |
IntegerVariable | literal_view = kNoIntegerVariable |
IntegerValue | lower_bound = IntegerValue(0) |
bool | is_positive = true |
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.
|
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.
bool operations_research::sat::ImpliedBoundEntry::is_positive = true |
If false, it is when the literal_view is zero that the lower bound is valid.
Definition at line 60 of file implied_bounds.h.
IntegerVariable operations_research::sat::ImpliedBoundEntry::literal_view = kNoIntegerVariable |
An integer variable in [0, 1]. When at 1, then the IntegerVariable corresponding to this entry must be greater or equal to the given lower bound.
Definition at line 55 of file implied_bounds.h.
IntegerValue operations_research::sat::ImpliedBoundEntry::lower_bound = IntegerValue(0) |
Definition at line 56 of file implied_bounds.h.