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

#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
 

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.

Constructor & Destructor Documentation

◆ ImpliedBoundEntry() [1/2]

operations_research::sat::ImpliedBoundEntry::ImpliedBoundEntry ( IntegerVariable lit,
IntegerValue lb,
bool positive )
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

◆ is_positive

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.

◆ literal_view

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.

◆ lower_bound

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

Definition at line 56 of file implied_bounds.h.


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