Google OR-Tools v9.14
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::sat::ImpliedBoundEntry Struct Reference

Detailed Description

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)

Constructor & Destructor Documentation

◆ ImpliedBoundEntry() [1/2]

operations_research::sat::ImpliedBoundEntry::ImpliedBoundEntry ( IntegerVariable lit,
IntegerValue lb )
inline

These constructors are needed for OR-Tools.

Definition at line 63 of file implied_bounds.h.

◆ ImpliedBoundEntry() [2/2]

operations_research::sat::ImpliedBoundEntry::ImpliedBoundEntry ( )
inline

Definition at line 66 of file implied_bounds.h.

Member Data Documentation

◆ literal_view

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.

◆ lower_bound

IntegerValue operations_research::sat::ImpliedBoundEntry::lower_bound = IntegerValue(0)

Definition at line 60 of file implied_bounds.h.


The documentation for this struct was generated from the following file: