Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include <cuts.h>
Public Attributes | |
IntegerValue | max_scaling = IntegerValue(60) |
bool | use_ib_before_heuristic = true |
bool | prefer_positive_ib = true |
Given an upper bounded linear constraint, this function tries to transform it to a valid cut that violate the given LP solution using integer rounding.
What this does is basically take the integer division of the constraint by an integer. If the coefficients where doubles, this would be the same as scaling the constraint and then rounding. We choose the coefficient of the most fractional variable (rescaled by its coefficient) as the divisor, but there are other possible alternatives.
Precondition:
The IntegerVariable of the cuts are not used here. We assumes that the first three vectors are in one to one correspondence with the initial order of the variable in the cut.
IntegerValue operations_research::sat::RoundingOptions::max_scaling = IntegerValue(60) |
bool operations_research::sat::RoundingOptions::prefer_positive_ib = true |
bool operations_research::sat::RoundingOptions::use_ib_before_heuristic = true |