Automatic Generation of Polynomial Symmetry Breaking Constraints
Madalina Erascu, Johannes Middeke
TL;DR
Symmetry in integer programming causes redundant search; the paper proposes a method to automatically generate non-linear symmetry-breaking constraints by selecting a base polynomial $h$ and a permutation group $G$ and creating inequalities $h(Px) - h(x) \le 0$. Applied to near half-capacity 0-1 bin packing, quadratic breakers outperform linear breakers and even built-in symmetry handling, especially at small sizes. This work is the first to automatically generate non-linear symmetry breakers and demonstrates a practical, scalable approach with potential applications beyond bin packing. The approach is lightweight to implement and integrates with standard solvers, offering a new avenue for enhancing solver performance on highly symmetric IPs.
Abstract
Symmetry in integer programming causes redundant search and is often handled with symmetry breaking constraints that remove as many equivalent solutions as possible. We propose an algebraic method which allows to generate a random family of polynomial inequalities which can be used as symmetry breakers. The method requires as input an arbitrary base polynomial and a group of permutations which is specific to the integer program. The computations can be easily carried out in any major symbolic computation software. In order to test our approach, we describe a case study on near half-capacity 0-1 bin packing instances which exhibit substantial symmetries. We statically generate random quadratic breakers and add them to a baseline integer programming problem which we then solve with Gurobi. It turns out that simple symmetry breakers, especially combining few variables and permutations, most consistently reduce work time.
