Symmetric Linear and Integer Programs

Algorithms for Highly Symmetric Linear and Integer Programs

Richard Bödi School of Engineering, Zürcher Hochschule für Angewandte Wissenschaften, Rosenstr. 2, 8400 Winterthur, Switzerland Katrin Herr Fachbereich Mathematik, TU Darmstadt, Dolivostr. 15, 64293 Darmstadt, Germany  and  Michael Joswig
September 13, 2019
Abstract.

This paper deals with exploiting symmetry for solving linear and integer programming problems. Basic properties of linear representations of finite groups can be used to reduce symmetric linear programming to solving linear programs of lower dimension. Combining this approach with knowledge of the geometry of feasible integer solutions yields 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.

Research by Herr is supported by Studienstiftung des deutschen Volkes. Research by Joswig is partially supported by DFG Research Unit 565 “Polyhedral Surfaces” and DFG Priority Program 1489 “Experimental Methods in Algebra, Geometry, and Number Theory”.

1. Introduction

It is a known fact that many standard (integer) linear programming formulations of relevant problems in optimization show a lot of symmetry. In this situation a standard branch-and-cut framework repeatedly enumerates symmetric solutions, and sometimes this renders such methods useless. To address these issues the last decade saw a number of approaches to devise algorithms specialized to symmetric optimization problems. We mention a few: Margot suggests to solve symmetric integer linear programs (ILPs) via a pruned branch-and-cut approach involving techniques from computational group theory [14, 15]. A recent improvement in this direction is “orbital branching” devised by Ostrowski et al. [17]. Friedman [5] as well as Kaibel and Pfetsch [8] treat symmetric ILPs by shrinking the domain of feasibility by cutting off symmetric solutions. Gatermann and Parrilo apply results from representation theory and invariant theory to semidefinite programming [6], which includes linear programming as a special case. Our approach is close in spirit to this paper. See also the survey of Margot [13] for a general overview of symmetric integer linear programming.

This is how our paper is organized: first we analyze linear programs with an arbitrary finite group of linear automorphisms. Most results in this section are known. A first key observation, Theorem 15, is that symmetric linear programming can be reduced to linear programming over the fixed space of the automorphism group. Sections 3 and 4 translate these results to the context of integer linear programming. In the sequel we concentrate on groups acting as signed permutations on the standard basis of . Section 5 contains our main contribution: our Core Point Algorithm 2 can solve an integer linear program in whose group of linear automorphisms contains the alternating group of degree  (acting as signed permutations) in time, where is the number of constraints. This is in sharp contrast with the known NP-completeness of the general integer linear programming feasibility problem. While our algorithm only works for ILPs with an exceptionally high degree of symmetry we believe that this is a first step towards an entire new class of algorithms dealing with symmetry in ILPs. Suitable generalizations are the subject to ongoing research. In Section 6 we discuss algorithms to determine groups of automorphisms of integer linear programs. This leads to algorithmic problems which turn out to be graph-isomorphism-complete. The final Section 8 contains experimental results. One of the ILP classes that we investigated computationally is motivated by work of Pokutta and Stauffer on lower bounds for Gomory-Chvátal ranks [19]. Section 7 explains the construction.

We are indebted to Tobias Achterberg, Leo Liberti, Marc Pfetsch, Sebastian Pokutta, and Achill Schürmann for valuable discussions on the subject of this paper.

2. Automorphisms of Linear Programs

The purpose of this section is to introduce the notation and to collect basic facts for future reference. The results of this section up to and including Corollary 14 can be found in the literature which is why we skip some of the proofs.

We consider linear programs of the form

 (1) maxctxs.t.Ax≤b, x∈Rn

where , , and . Throughout we will assume that the set of feasible points is not empty, and hence it is a convex polyhedron, which may be bounded or unbounded. We will also assume that an optimal solution exists. This is to say, our linear program is bounded even if the feasible region may be unbounded. In this case the set of optimal solutions forms a non-empty face of . Our final assumption is not essential for the algorithms below, but it allows to simplify the exposition somewhat.

Each row of the matrix corresponds to one linear inequality. Suppose that one of these rows is the zero vector. Then the corresponding right hand side must be non-negative, since otherwise the linear program would be infeasible, and this was explicitly excluded above. But then this linear inequality is trivially satisfied. Therefore we will further assume that the matrix does not contain any zero rows. In this case each row defines an affine hyperplane. This way gives rise to an arrangement of labeled affine hyperplanes in .

Definition 1.

An automorphism of the linear program is a linear transformation in which induces a permutation of , which leaves invariant, and which does not change the objective value for any feasible point .

The objective function is linear, and hence it follows that an automorphism of does not change the objective value on the linear span of the feasible points. One could also take more general affine transformations into account. In all what comes below this would require a number of straightforward changes. We refrain from doing so for the sake of a clearer exposition. The following examples show that the three properties to be satisfied by a linear automorphism are mutually independent.

Example 2.

For let , , and . The feasible region is the non-positive ray . Multiplication with any positive real number leaves the feasible region and the hyperplane arrangement (consisting of the origin) invariant. If the objective function is not preserved.

Example 3.

For let

 A = (−100−1),b = 0,c = (−10).

Then is the non-negative quadrant in . Now leaves the coordinate hyperplane arrangement invariant, but it changes the feasible region. For each we have .

Example 4.

For and let

 A = ⎛⎜⎝−100−1−1−2⎞⎟⎠,b = 0,c =−\mathbbm1.

The feasible region is the non-negative quadrant in ; the third inequality is redundant. The linear transformation leaves the feasible region invariant, and it satisfies for all . The hyperplane arrangement is changed.

For more examples see [3]. There it is also shown that each finite (permutation) group occurs as the group of automorphisms of a linear program.

Remark 5.

It is always possible to scale the rows of the extended matrix such that the leftmost non-zero coefficient is . This allows to remove duplicate inequalities from the input by sorting. The complexity of sorting the rows by pair-wise comparison is of order . This can be neglected in the asymptotic analysis of our algorithms below since it is always dominated. This way we can always assume that the hyperplanes in , that is, the inequalities, and the rows of the extended matrix are in a one-to-one correspondence. In the rational case it is more natural to scale the inequalities to integer coefficients which are coprime. This is what we will usually do. For a more sophisticated algorithm to sort out equivalent constraints, see Bixby and Wagner [2].

Since we view points in as column vectors, a matrix representing a linear transformation acts by multiplication on the left. The adjoint action on the row space, and thus on the set of linear inequalities, is by multiplication of the inverse transpose on the right. The set of linear transformations permuting the arrangement forms a closed subgroup of , that is, a linear Lie group. Similarly, the set of linear transformations leaving the feasible region invariant forms a linear Lie group. It follows that the set of automorphisms of the linear program also forms a linear Lie group. For basic facts about (linear) Lie groups, see Rossmann [22].

Remark 6.

Clearly, the value and the set of optimal solutions of a linear program only depend on the non-redundant constraints. At the expense of one linear program per constraint one can get rid of the redundant ones. This obviously does not help to reduce the complexity of solving the linear program given since the linear program for a redundancy check is of the same size. However, for more costly algorithmic problems, like integer programming as is discussed below, this reduction can be useful. In particular, this will be the case when the group of automorphisms becomes larger, see Example 4. Notice that the notion of “invariance” from [6, Definition 3.1], specialized to linear programming, implies that redundant constraints are going to be ignored.

The following result is a consequence of the combinatorial properties of a convex polytope : the faces of are partially ordered by inclusion, and this partially ordered set forms a lattice. The automorphisms of this lattice, the face lattice of , are called combinatorial automorphisms. Each linear (or affine or projective) automorphism of induces a combinatorial automorphism, but, in general, a polytope may have many combinatorial automorphisms which are not linearly induced. See Ziegler [24] for the details.

Lemma 7.

If the feasible region is bounded and full-dimensional, then the automorphism group is finite. Moreover, the objective function satisfies for all and .

Proof.

Let be a vertex of the polytope . Since there are vertices each of which shares an edge with and such that the difference vectors form a basis of . This implies that each combinatorial automorphism of is induced by at most one linear automorphism. Hence the group is contained in the group of combinatorial automorphisms of , which is finite. While Definition 1 asks that each feasible point is mapped to a (feasible) point with the same objective value, the additional claim deals with all points, feasible or not. However, this follows from as is linear. ∎

If the polyhedron is not full-dimensional, then the automorphism group is a direct product of the group of automorphisms fixing the linear span of with a full general linear group of the orthogonal complement. In the sequel we will therefore restrict our attention to the full-dimensional case.

Definition 8.

Given a subset and a group acting on , the set of fixed points of with respect to an element is defined by

Therefore, the set of fixed points of with respect to is given by

 FixΓ(Y) := {y∈Yγy=y % for all γ∈Γ∣∣y∈Yγy=y % for all γ∈Γ} = ⋂γ∈ΓFixγ(Y).

The set of fixed points is the (possibly zero-dimensional) eigenspace of the linear transformation with respect to the eigenvalue . This implies that is a linear subspace for any group of linear transformations. More generally, is the intersection of this subspace with the set .

Remark 9.

If the linear group is generated by the set , then

 FixΓ(Rn) = ⋂γ∈GFixγ(Rn) = ⋂γ∈GEig(γ,1).

In particular, if is finite, that is, if the group is finitely generated, this leads to an algorithm to compute (a primal or dual basis of) the fixed space by solving one linear system of equations per transformation in the generating set .

Remark 10.

Let be a group of automorphisms of the linear program such that is bounded and full-dimensional. Then, by Lemma 7, the set of fixed points contains the one-dimensional linear subspace spanned by the objective vector .

For any finite set let

 β(S) := 1|S|∑v∈Sv

be its barycenter. The two subsequent results are basic observations from representation theory, not restricted to applications in (linear) optimization. For a brief proof, for instance, see [23, Lemma 3.5].

Lemma 11.

The map

 Rn→FixΓ(Rn), v↦β(Γv)

which sends a point to the barycenter of its -orbit is a linear projection onto the fixed space.

Let be a finite set which is spanning, that is, we require . Further let be a finite subgroup of acting on . Phrased differently, we are considering a linear representation of an abstract group on the vector space which induces a permutation representation on the set . In this case splits into disjoint orbits . In our applications below, will usually be the set of vertices of some polytope which linearly spans .

Lemma 12.

For the fixed space of we have

 FixΓ(Rn) = lin{β(O1),β(O2),…,β(Ok)}.

In particular, .

Proof.

Since is spanning and since the union of the orbits gives it follows that

 (2) Rn = lin(O1)+lin(O2)+⋯+lin(Ok).

For the linear subspace is -invariant. If we apply the surjective linear map from Lemma 11 to the set , we obtain a generating set for . Applying the same map to a single orbit similarly yields a generating set for . Now the claim follows from the equation . ∎

Notice that the sum decomposition (2) is not necessarily direct. We now apply the results obtained so far to a finite group of automorphisms of a linear program.

Proposition 13.

Let be finite. If is an arbitrary point, the barycenter of its -orbit satisfies . If, moreover, is feasible, then is feasible, too.

Geometrically this means that the points of one orbit are in the same affine hyperplane orthogonal to .

Proof.

As the objective function is constant on the orbit it follows that . If is a feasible point, then is also feasible for all . So the barycenter is a convex combination of feasible points. The claim follows as the feasible region is convex. ∎

Since we assumed that has an optimal solution, the following is an immediate consequence of the preceding result.

Corollary 14.

There exists an optimal solution of which is a fixed point with respect to the entire automorphism group .

Up to minor technical details Theorem 3.3 of [6] generalizes Corollary 14 to semi-definite programming.

Let be a linear program with bounded and full-dimensional, and let be a finite subgroup of . Following Remark 9 we can compute a matrix such that the kernel is the fixed space : for each we determine a dual basis for the eigenspace by solving a square system of linear equations. The total number of operations to do so is of order . Throughout this paper we measure algorithmic complexity in the RAM model; that is, we ignore the encoding lengths of real numbers, and all arithmetic operations are assumed to take constant time. The group acts on the rows of the extended matrix , and we define a new extended matrix by summing the rows of the same -orbit. We have the following general result.

Theorem 15.

The polyhedron

 P′ = {x∈RnA′x≤b′,Ex=0∣∣x∈RnA′x≤b′,Ex=0}

is the set of feasible points which is fixed under the action of . In particular, . Each optimal solution of the linear program

 (3) maxctxs.t.⎛⎜⎝A′E−E⎞⎟⎠x≤⎛⎜⎝b′00⎞⎟⎠, x∈Rn

is an optimal solution of , and the objective values are the same.

Proof.

We constructed the matrix to guarantee that each fixed point in satisfies the equation . Further, each inequality of the system is a positive linear combination of valid inequalities. It follows that is contained in .

To prove the reverse inclusion consider a point which is fixed by each transformation in but which is not contained in . Then for some index we have the strict inequality . Without loss of generality we can assume that the first rows of form the -orbit of the row . It follows that . Moreover, since is a fixed point we have

 a1,⋅x = a2,⋅x = ⋯ = a1,⋅x =ai,⋅x > bi.

This implies that , and hence is not contained in . We conclude that is the set of points in fixed by each transformation of . Now Lemma 11 says that is the image of under the map . The claim about the linear program (3) follows from Corollary 14. ∎

Remark 16.

It has been observed by Scharlau and Schürmann111private communication that the vertices of the polyhedron are barycenters of orbits of vertices of . This is a consequence of the fact that is the image of under the linear map .

Corollary 14 and Theorem 15 yield a direct algorithm for solving a symmetric linear program: instead of solving one can solve the linear program (3). The benefit is the following: The larger the group the smaller the dimension of the fixed space and the number of constraints.

Remark 17.

Formally, the feasible points of the derived linear program live in the same space as the original linear program. However, an algorithm based on the Simplex Method directly benefits if the solutions are contained in a proper subspace: the rows of the matrix describing the fixed space never have to be exchanged in a Simplex tableau. Alternatively, one can project onto a full-dimensional coordinate subspace, solve the projected linear program and lift back.

In the special case where the linear program admits a group of automorphisms acting on the standard basis of (that is, the groups acts by permuting the columns) it is standard optimization practice to identify variables in the same orbit, and to solve the reduced linear program. Theorem 15 generalizes this approach to arbitrary groups of automorphisms.

3. Symmetries of Integer Linear Programs

We now turn to our main focus. Associated with is the integer linear program

 (4) maxctxs.t.Ax≤b, x∈Zn,

which we denote as . Throughout we make the same assumptions as above: the linear program is feasible, the matrix does not have any zero rows, and the inequalities bijectively correspond to the hyperplane arrangement ; see Remark 5.

Definition 18.

A symmetry of the integer linear program is an automorphism of which acts on the signed standard basis of as a signed permutation.

The symmetries of the integer linear program (4) form a group which is a subgroup of the group , the group of all -matrices with exactly one non-zero entry per row and column. We have , and is isomorphic to the Coxeter group of type , the group of automorphisms of the regular -dimensional cube and its polar, the regular -dimensional cross polytope. As a consequence, the group of symmetries of an integer linear program is finite, even if is infinite.

The motivation for our definition is Lie-theoretical: let be any finite subgroup of . Then is a compact subgroup of , hence it is contained in (a conjugate copy of) the maximal compact subgroup . It follows that, up to conjugation in , the group is a subgroup of .

As an abstract group is isomorphic to the wreath product

 Z2≀Sym(n) = (Z2)n⋊Sym(n),

where is the cyclic group of order two and is the symmetric group of degree ; the group acts on the direct product by permuting the factors. Each element of can be written as a product of a sign vector and a permutation. Since a permutation is a product of disjoint cycles, each signed permutation is a product of signed cycles which are disjoint. In terms of notation we write the signs between the indices within a cycle. This is to say, denotes the signed permutation matrix

 ⎛⎜ ⎜ ⎜⎝00−10100000010−100⎞⎟ ⎟ ⎟⎠

which is to be multiplied to column vectors from the left.

Remark 19.

In the optimization literature the authors often restrict their attention to symmetries permuting the standard basis vectors; for instance, see Margot [13] and the references listed there. However, our more general analysis below shows that taking signed permutations into account does not cause any extra effort. Moreover, if the polyhedron is full-dimensional and bounded the group of automorphisms of the linear relaxation is already finite by Lemma 7. Then is already contained in by the Lie-theoretical argument given above. Hence, at least in this case, considering groups of signed permutations is a natural choice.

Before we will inspect groups of symmetries of integer linear programs we need to collect a few basic results on the action of the group on the entire space . Throughout let be a subgroup of . Then acts on the standard basis

 S = {±e1,±e2,…,±en}.

In the sequel we will always consider this particular action of . There are two kinds of orbits to distinguish: the bipolar orbits contain at least one pair , while the unipolar orbits do not. Since is a linear group, a signed permutation with and maps to . Hence, a bipolar orbit only consists of pairs, that is, . On the other hand, for each unipolar orbit the set forms another orbit, and acts equivalently on and .

Proposition 20.

For the fixed space of we have

 FixΓ(Rn) = lin{β(O)O orbit of Γ∣∣β(O)O orbit of Γ} = lin{β(O)O unipolar orbit of Γ∣∣β(O)O unipolar orbit of Γ}.
Proof.

The first equality is a consequence of Lemma 12. The second equality holds as for any bipolar orbit . ∎

Remark 21.

The points in are the vertices of the regular -dimensional cross polytope. If is a unipolar -orbit, then is the barycenter of the non-trivial face of the cross polytope which is spanned by the vertices in . In view of cone polarity the action of on is dual to the induced action on the vertices of the regular cube . That is, the two corresponding representations of , on and its dual space, form a contra-gradient pair.

We call the action of on the set of signed standard basis vectors semi-transitive if there are precisely two opposite orbits of length . Moreover, we call the action sub-transitive if there is no proper coordinate subspace which is invariant under . Clearly, a semi-transitive action is necessarily sub-transitive. The converse does not hold, but we have the following characterization.

Proposition 22.

Suppose that acts sub-transitively. Then either acts semi-transitively with orbits and such that the fixed space

 FixΓ(Rn) = lin(βO) = lin(β−O)

is one-dimensional, or .

Proof.

If has a bipolar orbit , then equals the entire set of signed standard basis vectors because acts sub-transitively. In this case the fixed space reduces to the origin. If, however, each orbit is unipolar, we have exactly one pair of opposite orbits, again due to sub-transitivity. Now the claim follows from Proposition 20. ∎

Corollary 23.

If acts semi-transitively, then is conjugate to a subgroup of in .

Proof.

Let and be the two orbits of , both of which have length . Pick a transformation which maps to the standard basis . Now for each the conjugate transformation leaves the sets and invariant. We conclude that is a subgroup of . ∎

We now interprete the results above for integer linear programming. Consider an integer linear program such that the set of feasible points of the linear relaxation is full-dimensional. Let be a group of automorphisms. We have . The action of on the set can be decomposed into orbits. In this way the most relevant case occurs when acts sub-transitively. From Lemma 7 we know that is contained in the fixed space , and then Proposition 22 says enforces the action of to be semi-transitive. Finally, by Corollary 23 we can conjugate into a subgroup of acting on the standard basis . This is the situation that we will be dealing with in our algorithms below.

4. Layers of Integer Points

Our goal is to describe an algorithm for the efficient solution of a highly symmetric integer linear program. Again we consider with a group of automorphisms as above.

Let us assume that the objective function is projectively rational. This means that we require to be a constant real multiple of a rational vector. For such a vector let be the unique integral vector with coprime coefficients such that for some positive real . If is a multiple of a standard basis vector, the single non-zero coefficient of is defined to be . For an integer the -th -layer is the affine hyperplane

 Hc,k = ker (x↦ctx)+k∥coprime(c)∥2coprime(c).

We have for all , and . All points in attain the same value with respect to the rescaled objective function . We call the number of the -layer . The intersection of with the line is called the center.

Lemma 24.

If is projectively rational, the integral point is contained in the -layer with number .

Proof.

The number is an integer. We abbreviate and compute

Hence is contained in the kernel of the linear form , that is, the point lies in the affine hyperplane . ∎

For the following result it is crucial that the coefficients of are coprime.

Proposition 25.

If is projectively rational, the -layers for partition the set of all integral points.

Proof.

From Lemma 24 is clear that each integral point is contained in some -layer. By construction it is also obvious that the -layers are pairwise disjoint. It remains to show that is non-empty for all .

Let . Since the coefficients are coprime there are integral coefficients such that

 x1d1+x2d2+⋯+xndn = gcd(d1,d2,…,dn) = 1.

However, the left side of this equation equals , whence the point is contained in the first -layer . Now implies that the -th layer contains the integral point  for arbitrary . ∎

Another way of putting the statement above is that is the unique generator of the unique minimal Hilbert basis of the one-dimensional pointed cone .

Remark 26.

An important consequence of Proposition 25 is that for any given bounds there are only finitely many -layers with feasible integral points whose objective values lie between and . This does not hold if the objective function is not projectively rational.

Theorem 27.

For given and such that acts transitively on the standard basis the Algorithm 1 solves the integer linear program .

Proof.

Recall that throughout we assumed that the set of feasible points of the linear relaxation is bounded. Hence it cannot occur that the integer linear program is unbounded.

Let be a transitive group of automorphisms. The fixed space is spanned by . If is an optimal solution of the relaxation , then, by Proposition 13, the barycenter for is also an optimal solution. Now is an integral point in the fixed space with an objective value not exceeding the optimal value of the linear programming relaxation. Each -layer with a feasible integral point meets the one-dimensional polyhedron . We infer that no integral optimal solution of can have an objective value strictly less than .

Due to Proposition 25 the -layers partition , and so the feasible points of are contained in the set

 ⌊nζ⌋⋃k=n⌊ζ⌋H\mathbbm1,k.

The benefit of Algorithm 1 is that it reduces a (symmetric) -dimensional integer linear programming problem to integer feasibility problems in one dimension below. Since the latter is still an NP-complete problem not much is gained, in general. The situation changes, however, if we assume higher degrees of transitivity for the action of the group of automorphisms.

Remark 28.

Searching a family of parallel affine hyperplanes for integer points as in Algorithm 1 also plays a key role in Lenstra’s algorithm for integer linear programming which requires polynomial time in fixed dimension [11].

5. Searching Integer Layers Efficiently

The question remaining is how to test ILP-feasibility of a -layer in an efficient way. Our key observation is that some optimal integral solution is close to the fixed space if the group of symmetries acts sufficiently transitive.

Definition 29.

Given a -layer with center , an integral point in the -layer is a core point if it minimizes the distance to .

Example 30.

For the objective function and an integer with and , the set of core points in the -th layer consists of all integer points with coefficients equal to and coefficients equal to . In particular, the number of core points in this case equals . These core points are the vertices of an -hypersimplex, translated by the vector .

For the algorithms below the geometric structure of the set of core points is very relevant. We therefore make a short digression: the -hypersimplex is the -polytope with vertices

 eS = ∑i∈Sei,

where ranges over all -element subsets of . The hypersimplices are highly regular structures, and this yields the following.

Proposition 31.

Let be a linear group which acts -transitively on the standard basis. Then acts transitively on the set of vertices of the -hypersimplex for any

 r∈{0,1,…,μ}∪{n−μ,n−μ+1,…,n}.
Proof.

By assumption acts transitively on the -element subsets of for . Since is a linear group it thus acts transitively on the set of vertices of . The corresponding claim for the remaining hypersimplices follows since is affinely isomorphic to via the map . ∎

Below we will apply the previous results in the special case where . Then the groups acts transitively on the sets of vertices of all hypersimplices.

Lemma 32.

Let be an LP-feasible point in the -th -layer, and let with . Then any point in the interior of the line segment is LP-feasible and closer to the center of the -th -layer than .

Proof.

Since is an orthogonal linear map it preserves distances. The center of the -th -layer is fixed under , and this implies that is an isosceles triangle. We infer that for all points in the interior of . Since is an automorphism of the linear relaxation the point is feasible, too. The feasible region is convex, and hence is feasible. ∎

Theorem 33.

Suppose that acts -transitively on the standard basis of , and . Then either each core point in the -th -layer is feasible or does not contain any feasible point.

Proof.

Let be a feasible integer point in the -th -layer which is not a core point. We will show that there is another feasible integer point which is closer to the center, and this will prove the claim.

Due to the invariance of under translation by integer vectors we may assume that . Since is not a core point, in particular, it is not the center of the -th layer. Hence is not contained in the fixed space , which means that not all coordinates of are the same. We split the set of coordinate directions into two subsets by considering

 {ixi is even∣∣ixi is even}and{ixi is % odd∣∣ixi is odd}.

Then one of the sets — denoted by — contains at least elements, while the other set has at most elements. We will employ the -transitivity of the automorphism group to control , and the additional degree of freedom to produce two distinct feasible integer points. We distinguish two cases.

1. Suppose that has two different coordinates, say and , which are in the same congruence class modulo two. That is, the set is contained in either or . Observe that this condition is satisfied whenever has at least three pairwise distinct coordinates. Due to the -transitivity of there is an automorphism which leaves invariant and which maps to . Since is invariant, its complement is invariant, too. Notice that we do not require the set to be non-empty (if ).

Letting we observe that and are congruent modulo two for all . Since we have , and hence

 y = 12(x+x′) = 12(x+γx)

is an integer point in the interval .

2. Otherwise the point has exactly two different coordinates and , one of them being even, the other one odd. Without loss of generality, for all and for all . Due to the transitivity of there is an automorphism with . Then and are distinct points. Consider an interior point

 (5) y = λx+(1−λ)γxfor 0<λ<1

in the line segment . We want to find a parameter such that is integral. As has only two distinct coordinates the -th coordinate of can attain the following values only:

 (6) yi = λxu+(1−λ)xu = xuor (7) yi = λxv+(1−λ)xv = xvor (8) yi = λxu+(1−λ)xv = λ(xu−xv)+xvor (9) yi = λxv+(1−λ)xu = λ(xv−xu)+xu.

Since is integral coordinates of types (6) and (7) are integers for arbitrary parameters . The coordinates of types (8) and (9) are integral if .

We assumed that is contained in the -th -layer for some and that it is not a core point. In Example 30 it has been observed that the core points in these layers are the vertices of a translated hypersimplex. We learned that some coordinate difference must exceed one. Since all coefficients are equal to either or it follows that . We can now set

 λ = 1|xu−xv|

in the formula (5).

In both cases we obtain an integral point in the interior of the interval . By Lemma 32, such a point is always closer to the center than . This shows that there exists a feasible core point in the same layer as . Applying Proposition 31 with yields that then each core point must be feasible. ∎

Now Algorithm 1 can be modified in Step 1 to check a single core point per layer for feasibility, provided that the group of automorphisms of the ILP acts at least -transitively. This is our Core Point Algorithm 2.

Corollary 34.

For given and such that acts -transitively on the standard basis the Core Point Algorithm 2 solves the integer linear program in time.

Proof.

The correctness follows from Theorems 27 and 33. The main loop of the algorithm is executed at most times. In each step the costs are dominated by checking one point in for feasibility against linear inequalities. ∎

Remark 35.

The linear search in Algorithms 1 and 2 cannot be substituted by a direct bisectional approach. The reason is that the set of all in such that the -th -layer contains a feasible point is not necessarily (the set of integer points of) an interval.

6. Finding All Symmetries

For the algorithms presented it is never necessary to know the entire group of automorphisms of or . Generally, any subgroup will do, the larger the better. Yet here we would like to discuss the question of how to find automorphisms of integer linear programs. From the input data we will construct a labeled graph whose group of labeled automorphisms coincides with .

Expressing symmetry in optimization via graph automorphisms is not a new idea: the linear automorphism group of a polytope and of a linear program can be obtained by computing the automorphism group of a certain graph as described by Bremner, Dutour Sikirić, and Schürmann [4]. The combinatorial automorphisms of a polytope are the (labeled) graph automorphisms of the bipartite graph encoded by the vertex-edge-incidences. This directly follows from the fact that the face lattice of a polytope is atomic and coatomic; see Kaibel and Schwartz [9]. Liberti studies automorphisms of optimization problems which are more general than integer linear programs [12]. His approach, however, deals with expression trees obtained from a specific encoding of the optimization problem. None of these concepts seems to be directly related to the kind of symmetry studied here. An idea similar to ours, however, has been applied by Berthold and Pfetsch [1] to find symmetries of -ILPs.

The complexity status of the graph isomorphism problem is notoriously open. While the known algorithms for determining the automorphism group of a graph require exponential time, there exist software packages, for instance, nauty [16] or SymPol [21], that can solve this problem very well in practice.

For a given matrix , right hand side , and objective function we will now associate two undirected simple graphs, the ILP graph , and the restricted ILP graph . For the sake of a simplified exposition we start out by describing the restricted ILP graph. Throughout we assume that the rows of the extended matrix are normalized as described in Remark 5. We have one node for each position in the matrix , one node for each row, and one node for each column, that is, , where . Further, we have one node for each distinct coefficient in the matrix , one node for each distinct coefficient of , and one node for each distinct coefficient of . This gives a total of nodes, where , , and denotes the respective number of different entries in , , and . The nodes receive labels in the following way: all positions share the same label, the rows receive a second, and the columns a third label. Each node corresponding to one of the coefficients receives an individual label. This way we arrive at labels altogether. The edges of are defined as follows: the node is adjacent to and as well as to the coefficient node which represents the coefficient of the matrix . Moreover, the row node is adjacent to the node , and the node is adjacent to the node . This totals to edges.

Example 36.

The reduced ILP graph of the integer linear program

 (10) maxx1+x2+x3s.t.x1+2x2≤3x2+2x3≤32x1+x3≤3,xi∈Z

is shown in Figure 1.

Let be an automorphism of which respects all node labels. Since the common label of the column nodes is preserved induces a column permutation . Now acts on the standard basis , and by linear extension we obtain a linear transformation which we denote .

Lemma 37.

The linear transformation is a symmetry of .

Proof.

As above let be a labeled automorphism of with induced column permutation and linear transformation . As for the column nodes the graph automorphism also induces a permutation of the row nodes of . The position nodes form a label class of their own, and so they are permuted by as well. Since each position node is adjacent to precisely one row and one column node we infer that . Each position node is adjacent to precisely one matrix coefficient node, each of which forms a singleton label class. This implies that the coefficient corresponding to the node is the same as the coefficient . Likewise we obtain and . This means that is a symmetry of . ∎

Proposition 38.

The map is an isomorphism from the group of labeled automorphisms of the graph to the group .

Proof.

We describe the inverse map. To this end let be a symmetry of which acts on the standard basis of . Hence induces a permutation of the rows of the extended matrix and a permutation of the columns of . It is obvious how and induce permutations of the row nodes and of the column nodes of . By the same reasoning as in the proof of Lemma 37 the pair uniquely extends to a labeled graph automorphism of the reduced ILP graph.

We omit the straightforward proofs that the equations and both hold. From these it follows that the map is bijective. In both groups the multiplications are given by concatenations of maps. A direct computation yields ; all maps are acting on the left. Hence the group structures are preserved. ∎

We now explain how the full ILP graph differs from the restricted ILP graph . The key to the construction of is the map yielding a linear transformation which acts as a permutation of the standard basis of . In order to allow for signed permutations certain nodes have to be duplicated: each column node in gets a twin node in , each matrix coefficient node corresponding to a non-zero coefficient gets a twin node . Moreover, we add further nodes representing negatives of non-zero coefficients in the matrix and the objective function unless nodes with these labels already exist. This way has less than twice as many nodes as ; it is always strictly less as the nodes corresponding to the coefficients in are never duplicated. We also add edges such that first is adjacent to and for all and , second is adjacent to