C++ Reference: class CoverCutHelper
Note: This documentation is automatically generated.
Helper to find knapsack cover cuts.Method | |
---|---|
alt_cut | Return type: |
cut | Return type: |
GenerateLetchfordSouliLifting | Return type: Arguments: Visible for testing. Applies the lifting procedure described in "On Lifted Cover Inequalities: A New Lifting Procedure with Unusual Properties", Adam N. Letchford, Georgia Souli. The algo is pretty simple, given a cover C for a given rhs. We compute a rational weight p/q so that sum_C min(w_i, p/q) = rhs. Note that q is pretty small (lower or equal to the size of C). The generated cut is then of the form sum X_i in C for which w_i <= p / q + sum gamma_i X_i for the other variable <= |C| - 1. gamma_i being the smallest k such that w_i <= sum of the k + 1 largest min(w_i, p/q) for i in C. In particular, it is zero if w_i <= p/q. Note that this accept a general constraint that has been canonicalized to sum coeff_i * X_i <= base_rhs. Each coeff_i >= 0 and each X_i >= 0. |
Info | Return type: Single line of text that we append to the cut log line. |
mutable_alt_cut | Return type: Provides an alternative cut with a different lifting procedure. This one use |
mutable_cut | Return type: If successful, info about the last generated cut. |
TrySimpleKnapsack | Return type: Arguments: Try to find a cut with a knapsack heuristic. If this returns true, you can get the cut via cut(). |