This paper presents two-set inequalities, a class of valid inequalities for knapsack and multiple knapsack problems. Two-set inequalities are generated from two arbitrary sets of variables from a knapsack constraint. This class of cutting planes is not a traditional type of lifting since a valid inequality over a restricted space is not required to start. Furthermore, they cannot be derived using any existing lifting technique. The paper presents a quadratic algorithm to efficiently generate many two-set inequalities. Conditions for facet-defining two-set inequalities are also derived. Computational experiments tested these inequalities as pre-processing cuts versus CPLEX, a high-performance mathematical programming solver, at default settings. Overall, two-set inequalities reduced the time to solve some benchmark multiple knapsack instances to up to 80%. Computational results also showed the potential of this new class of cutting planes to solve computationally challenging binary integer programs.
Read full abstract