Symmetry Presolving for Mixed-Integer Programs: Binary Structure Preservation and Relations to Orbital Branching

This paper investigates a presolving method for handling symmetries in mixed-integer programs, based on inequalities computed from so-called Schreier-Sims tables. We show that an iterative application of this method together with merging variables produces an instance for which the symmetry group is trivial. We then prove that the problem structure can be preserved for certain monotone binary problems, e.g., packing and covering integer programs, maximum stable set (or clique) problems and set covering. This results in a changed instance of the same type such that existing black-box solvers can directly be applied. In order to relate this method to symmetry handling methods working in the tree, we show that, for a fixed compatible order of the variables, branch-and-bound trees for presolved binary problems are graph minors of the trees produced by orbital branching.

We showcase our presolving approach via three computational use cases. In the first, for the stable set problem on a set of mixed graphs, it outperforms the version without symmetry handling, while being competitive with the symmetry handling methods implemented in SCIP. For Johnson and coding theory graphs, we significantly outperform both. However, orbital branching performs superior to the presolving routine demonstrating the beneficial effect of dynamic symmetry handling for the stable set problem. In the second use case, we demonstrate a significant speed-up when used in conjunction with the maximum clique solver CliSAT on Johnson graphs. The third use case shows that for Steiner triple system set covering instances, using presolving significantly improves upon the other symmetry handling methods.

Article

Download

View PDF