V-polyhedral disjunctive cuts

We introduce V-polyhedral disjunctive cuts (VPCs) for generating valid inequalities from general disjunctions. Cuts are critical to modern integer programming solvers, but their benefit is only realized when the cuts are applied recursively, causing numerical instability and "tailing off" of cut strength after several rounds. To mitigate these difficulties, the VPC framework offers a practical method for generating strong cuts without resorting to recursion. The framework starts with a disjunction whose terms partition the feasible region into smaller subproblems, then obtains a collection of points and rays from the disjunctive terms, from which we build a linear program whose feasible solutions correspond to valid disjunctive cuts. Though a naïve implementation would result in an exponentially-sized optimization problem, we show how to efficiently construct this linear program, such that it is much smaller than the one from the alternative, the lift-and-project approach. This enables us to test strong multiterm disjunctions that arise from the leaf nodes of a partial branch-and-bound tree. In addition to proving useful theoretical properties of the cuts, we evaluate their performance computationally through an implementation in the open-source COIN-OR framework. In the results, VPCs from a strong disjunction significantly improve the gap closed compared to existing cuts in solvers, and they also decrease solving time when used with branch and bound if the best partial tree per instance is selected.



View V-polyhedral disjunctive cuts