C++ Reference: class ImpliedBoundsProcessor

This documentation is automatically generated.


Given an upper-bounded linear relation (sum terms <= ub), this algorithm inspects the integer variable appearing in the sum and try to replace each of them by a tight lower bound (>= coeff * binary + lb) using the implied bound repository. By tight, we mean that it will take the same value under the current LP solution.

We use a class to reuse memory of the tmp terms.
Method
AddLpVariable

Return type: void

Arguments: IntegerVariable var

Add a new variable that could be used in the new cuts.

ImpliedBoundsProcessor

Arguments: absl::Span<const IntegerVariable> lp_vars_, IntegerTrail* integer_trail, ImpliedBounds* implied_bounds

We will only replace IntegerVariable appearing in lp_vars_.

ProcessUpperBoundedConstraint

Return type: void

Arguments: const gtl::ITIVector<IntegerVariable, double>& lp_values, LinearConstraint* cut

Processes and updates the given cut.