Symmetry in integer programs (IPs) can be exploited in order to reduce solving times. Usually only symmetries of the original IP are handled, but new symmetries may arise at some nodes of the branch-and-bound tree. While symmetry-handling inequalities (SHIs) can easily be used to handle original symmetries, handling sub-symmetries arising later on is more intricate. To handle sub-symmetries, it has recently been proposed to add SHIs that are activated by auxiliary variables. This, however, may increase the size of the IP substantially as all sub-symmetries need to be modeled explicitly. As an alternative, we propose a new framework for generically activating SHIs, so-called activation handlers. This framework allows for a direct implementation of routines that check for active sub-symmetries, eliminating the need for auxiliary variables. In particular, activation handlers can activate symmetry-handling techniques that are more powerful than SHIs. We show that our approach is flexible, with applications in the multiple-knapsack, unit commitment, and graph coloring problems. Numerical results show a substantial performance improvement on the existing sub-symmetry-handling methods.
Article
View Handling Sub-symmetry in Integer Programming using Activation Handlers