Symmetry in Integer Linear Programming

  title={Symmetry in Integer Linear Programming},
  author={François Margot},
  booktitle={50 Years of Integer Programming},
  • F. Margot
  • Published in
    50 Years of Integer…
  • Mathematics
An integer linear program (ILP) is symmetric if its variables can be permuted without changing the structure of the problem. Areas where symmetric ILPs arise range from applied settings (scheduling on identical machines), to combinatorics (code construction), and to statistics (statistical designs construction). Relatively small symmetric ILPs are extremely difficult to solve using branch-and-cut codes oblivious to the symmetry in the problem. This paper reviews techniques developed to take… 

Reformulations in mathematical programming: automatic symmetry detection and exploitation

This work proposes a method for automatically finding the formulation group of any given Mixed-Integer Nonlinear Program, and for reformulating the problem by means of static symmetry breaking constraints.

Symmetry Detection in Integer Linear Programs

The approach of this thesis is to detect the group of an edge-colored graph generated by the IP, which avoids the need for additional nodes to track coefficients, reducing the search space.

Breaking symmetries to rescue Sum of Squares: The case of makespan scheduling

The results suggest that the presence of symmetries were the main barrier preventing the SoS hierarchy to give tight relaxations, and it is suggested that ad-hoc techniques give significantly better approximation factors.

2 . 1 Integer Quadratically Constrained Programming Formulation

This work examines symmetric optimization problems and applies new techniques to find solutions, which will be used to find or prove nonexistence of discrete objects whose existence is currently unknown.

Algorithms for highly symmetric linear and integer programs

An algorithm for solving highly symmetric integer linear programs which only takes time which is linear in the number of constraints and quadratic in the dimension is proposed.

Symmetry in Mathematical Programming

A method for automatically detecting symmetries of general (nonconvex) Nonlinear and Mixed-Integer Nonlinear Programming problems and a reformulation based on adjoining symmetry breaking constraints to the original formulation of the Kissing Number Problem are discussed.

Modified orbital branching for structured symmetry with an application to unit commitment

The proposed technique, to which it is referred as modified orbital branching, is able to solve problems with structured symmetry groups more efficiently and is effective when the solution variables can be expressed as 0/1 matrices where the problem’s symmetry group contains all permutations of the columns.

Polytopes associated with symmetry handling

An integer programming formulation with ternary coefficients, based on knapsack polytopes arising from a single lexicographic order enforcing inequality, is developed, showing that it is competitive with state-of-the-art methods and is considerably faster for specific problem classes.

Efficient Propagation Techniques for Handling Cyclic Symmetries in Binary Programs

This article derives efficient variable variable fixing algorithms to discard symmetric solutions from the search space based on propagation techniques for cyclic groups that can be used to handle symmetries in any symmetric binary program.

A computational comparison of symmetry handling methods for mixed integer programs

Tests on the MIPLIB instances show that isomorphism pruning, orbital fixing, or adding symmetry breaking inequalities allow to speed-up the solution process by about 15% and more instances can be solved within the time limit.



Symmetry Breaking in Constraint Programming

This work describes a method for symmetry breaking during search (SBDS) in constraint programming that guarantees to return a unique solution from each set of symmetrically equivalent ones, which is the one found first by the variable and value ordering heuristics.

Exploiting orbits in symmetric ILP

An isomorphism pruning algorithm and variable setting procedures using orbits of the symmetry group are described and applications to hard set covering problems, generation of covering designs and error correcting codes are given.

Fundamental Domains for Integer Programs with Symmetries

The construction of the polytope of a fundamental domain defined by the maximization of a linear function is provided, closely related to the constructions of orbitopes by Kaibel and Pfetch, but are simpler and more general, at a cost of creating new non-integral extreme points.

Classification of Orthogonal Arrays by Integer Programming

Symmetry Breaking Using Stabilizers

STAB is a method that adds some symmetry breaking constraints during the search for solution to matrix problems where rows and columns can be permuted and is more than one order of magnitude more efficient than best published techniques so far.

Expressing combinatorial optimization problems by linear programs

It is shown that expressing the matching and the Traveling Salesman Problem by a symmetric linear program requires exponential size, and the minimum size needed by a LP to express a polytope to a combinatorial parameter is related.

Detecting symmetries by branch & cut

This paper presents an exact algorithm for automorphism and symmetry detection based on the branch & cut technique and introduces IP-models for these problems and investigates the structure of the corresponding polytopes.

Orbitopal fixing

Packing and partitioning orbitopes

We introduce orbitopes as the convex hulls of 0/1-matrices that are lexicographically maximal subject to a group acting on the columns. Special cases are packing and partitioning orbitopes, which

Constraint Orbital Branching

The orbital branching methodology is extended so that the branching disjunction can be based on an arbitrary constraint, demonstrated by computing the optimal incidence width of Steiner Triple Systems and minimum cardinality covering designs.