Symmetries in Integer Programs

# Symmetries in Integer Programs

Katrin Herr Institut für Mathematik, MA 6-2
TU Berlin
10623 Berlin
Germany
and  Richard Bödi IBM Zurich Research Laboratory
CH-8803 Rüschlikon
Switzerland
July 31, 2019
###### Abstract.

The notion of symmetry is defined in the context of Linear and Integer Programming. Symmetric integer programs are studied from a group theoretical viewpoint. We investigate the structure of integer solutions of integer programs and show that any integer program on variables having an alternating group as a group of symmetries can be solved in linear time in the number of variables.

###### Key words and phrases:
symmetry, symmetry group, orbit, group action, alternating group, linear programming, integer program

## 1. Introduction

This paper continues to investigate symmetries of linear and integer programs which we have started in . For the sake of completeness, we will briefly summarize the definitions and results from our previous paper.

In practice, highly symmetric integer programs often turn out to be particularly hard to solve. The problem is that branch-and-bound or branch-and-cut algorithms, which are commonly used to solve integer programs, work efficiently only if the bulk of the branches of the search tree can be pruned. Since symmetry in integer programs usually entails many equivalent solutions, the branches belonging to these solutions cannot be pruned, which leads to a very poor performance of the algorithm.

Only in the last few years first efforts were made to tackle this irritating problem. In 2002, Margot presented an algorithm that cuts feasible integer points without changing the optimal value of the problem, compare . Improvements and generalizations of this basic idea can be found in [7, 8]. In [9, 10], Linderoth et al. concentrate on improving branching methods for packing and covering integer problems by using information about the symmetries of the integer programs. Another interesting approach to these kind of problems has been developed by Kaibel and Pfetsch. In , the authors introduce special polyhedra, called orbitopes, which they use in  to remove redundant branches of the search tree. Friedman’s fundamental domains in  are also aimed at avoiding the evaluation of redundant solutions. For selected integer programs like generalized bin-packing problems there exists a completely different idea how to deal with symmetries, see e.g. . Instead of eliminating the effects of symmetry during the branch-and-bound process, the authors exclude symmetry already in the formulation of the problem by choosing an appropriate representation for feasible packings.

In this paper we will examine symmetries of integer programs in their natural environment, the field of group theory.

## 2. Preliminaries

The main object of our studies are linear or integer programs, LP or IP for short:

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

where and . We are especially interested in points that are candidates for solutions of an LP.

###### Definition.

A point is feasible for an LP if satisfies all constraints of the LP. The LP itself and any set of points is feasible if it has at least one feasible point.

Hence, the set of feasible points of (1) is given by

 X:={x∈Rn|Ax≤b}.
###### Convention.

We call the feasible region, the utility vector and the dimension of . The map  is called the utility function, and the value of the utility function with respect to a specific  is called the utility value of .

We can interpret the feasible region of an LP in a geometric sense. The following definition is adopted from , p. 87.

###### Definition.

A polyhedron is the intersection of finitely many affine half-spaces, i.e.,

 P:={x∈Rn|Ax≤b},

for a matrix and a vector .

Note that every row of the system  defines an affine half-space. Obviously, the set  is a polyhedron. Since every affine half-space is convex, the intersection of affine half-spaces – hence, any polyhedron – is convex as well. Therefore, we can now state the convexity of .

###### Remark 1.

The feasible region of an LP is convex.

Whenever we consider linear programs, we are particularly interested in points with maximal utility values that satisfy all the constraints.

###### Definition.

A solution of an LP is an element that is feasible and maximizes the utility function.

If we additionally insist on integrality of the solution, we get a so-called integer program, IP for short. According to the LP formulation in (1), the appropriate formulation for the related IP is given by

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

where and .
Analogously, the set of feasible points of (2) is given by

 XI:={x∈Rn|Ax≤b,x∈Zn}=X∩Zn.

## 3. Symmetries

In  symmetries of linear and integer programs have been defined as elements of , the group of all orthogonal matrices with integral entries, that leave invariant the inequality system and the utility vector of the problem. Taking into account the usual linear and integer programming constraint , which forces non-negativity of the solutions, the set of possible symmetries shrinks from  to the group of permutation matrices .

We can always think of symmetry groups of linear or integer programs as subgroups of  by

###### Remark 2.

A group  acts on the linear space  via the -equivariant mapping

 β:{1,…,n}→B:i↦ei,

where  is the set of the standard basis vectors  of .

As in  we formulate the definition of symmetries of linear programs and the corresponding integer programs simultaneously. Consider an LP of the form

 (3) maxctxs.t.Ax≤b,x∈Rn≥0, and the corresponding IP given by (4) maxctxs.t.Ax≤b,x∈Rn≥0,x∈Zn,

where and .

Note that the LP (3) and the IP (4) have the additional constraint .

###### Notation.

An LP of the form (3) is denoted by .

Apparently, applying a permutation to the matrix  according to Remark 2 translates into permuting the columns of . Since the ordering of the inequalities does not affect the object they describe, we need to allow for arbitrary row permutations of the matrix . The following definition takes these thoughts into account.

###### Definition.

A symmetry of a matrix  is an element  such that there exists a row permutation  with

 PσAPg=A,

where  and are the permutation matrices corresponding to  and . The full symmetry group of a matrix  is given by

 {g∈Sn∣∣∃σ∈Sm:PσAPg=A}.

A symmetry of a linear inequality system , where , and , is a symmetry  of the matrix  via a row permutation  which satisfies .
A symmetry of an LP  or its corresponding IP is a symmetry of the linear inequality system  that leaves the utility vector  invariant. The full symmetry group of  and the corresponding IP is given by

 {g∈Sn∣∣cg=c,∃σ∈Sm:(bσ=b∧PσAPg=A)}.

This is a definition of symmetry as it can be found in literature as well, see e.g. .

## 4. Symmetries in Integer Programming

Due to , Corollary 19, we notice that in the LP case, transitivity of the group action already implies a one-dimensional set of fixed points, giving rise to a one-dimensional linear program, which is the best possible result we can obtain. In this section, it will turn out that the assumption of transitivity is not strong enough in the IP case to lead to satisfying results. Moreover, we will see that not only the decomposition into orbits but also the detailed structure of the symmetry group influences the complexity of integer programs. The algorithm we are going to develop in this chapter builds on our approach for the linear case.

We start with the consideration of the integer program corresponding to the LP given by

 ctx=x1+x2

subject to

 x1 ≤ 2.5 x2 ≤ 2.5 x1 + x2 ≤ 3.7 ,

Since we only have to handle two dimensions, we can solve this LP in a graphical way. By pushing the blue line towards the feasible region , we continuously decrease the utility value . The first non-empty intersection of the line and then represents the set of all solutions of the LP, marked as a bold line.
Mathematically, the act of ”pushing the dashed utility line” translates into looking at the affine hyperplanes

 Hc,t:=ker(x↦ctx)+t⋅c

for decreasing . For every , there exists a vector

 x′∈ker(y↦cty)

such that

 x=x′+t⋅c.

The computation of

 ctx=ct(x′+t⋅c)=ctx′=0+t⋅ctc=t∥c∥2

proves that all points of an affine hyperplane have the same utility value .

###### Remark 3.

Given and a utility vector , the utility value is constant on the affine hyperplane .

The family consists of all affine hyperplanes that are orthogonal to , thus they are parallel to each other. Therefore, every point is contained in exactly one affine hyperplane for a specific utility vector .

###### Lemma 4.

Given a point and a vector , the point is contained in the affine hyperplane for .

###### Proof.

We define a vector by

 x′=x−tx⋅c.

The computation of yields

 ctx′ =ct(x−ctx∥c∥2⋅c)=ctx(1−ctc∥c∥2)=0.

That is, the vector is an element of . We conclude that the point is contained in

 ker(y↦cty)+tx⋅c=Hc,tx.

Given a symmetry group , we know by Remark 12 of  that the line  through the origin spanned by  is invariant under . Hence, this is also true for its orthogonal complement . Since the line  is even pointwise fixed by , we finally obtain the invariance of the affine hyperplanes  under . Referring to Theorem 5 of , we may add the constraint  without losing symmetry.

###### Remark 5.

Given an LP with utility vector  and a symmetry group , the intersection of the feasible region and an affine hyperplane  is invariant under . In particular, the orbit  is contained in the same affine hyperplane  as .

Back to our example, we now want to find a solution of the corresponding IP. Typically, the set of all solutions of the LP does not contain any integer solutions. Therefore, we have to push the line further on to the closest integer point. In our example, this procedure leads to the following situation.

Obviously, both accentuated points solve the IP. Furthermore, we observe that in this case, hardly any of the affine hyperplanes contain integer points. Therefore, we introduce a special term for affine hyperplanes that contain integer points.

## 5. Integer-Layers

###### Definition.

A -layer is an affine hyperplane that contains at least one integer point.

The definition of -layers immediately raises the following questions:

How many -layers do we find, and what are the corresponding parameters ?

To give a detailed answer to these questions, we need to distinguish two different types of utility vectors .

###### Definition.

A utility vector is called projectively rational if it is a real multiple of a rational vector, and hence also of an integer vector. Otherwise, it is called projectively irrational. The coprime multiple of a projectively rational utility vector is a real multiple of whose entries to are coprime.

We force uniqueness of the coprime multiple by demanding the first non-zero entry of to be positive. For example, the utility vector

 (−2√2,2√2,4√2,6√2)t=√2(−2,2,4,6)t

is projectively rational with coprime multiple , whereas the vector

 (√2,√6,2√2,3√2)t=√2(1,√3,2,3)t

is projectively irrational.

Considering a utility vector and an arbitrary real multiple of , we observe that

 ker(x↦ctx)=ker(x↦(c′)tx).

Therefore the sets and of affine hyperplanes are equal. In particular, this is also true for the corresponding layers.

###### Remark 6.

Given a vector , the set of -layers is equal to the set of -layers for every .

We first want to study the configuration of -layers for projectively rational utility vectors . In this case, the -layers are arranged in a very clear way.

###### Theorem 7.

Given a projectively rational utility vector , the family of -layers is given by , where is the coprime multiple of .

###### Proof.

First, we prove that the family contains every integer point . Let  be an arbitrary integer point. By Lemma 4, we already know that  is contained in the affine hyperplane , where

 tx=c′tx∥c′∥2.

Since the value is integral for any , we get

 x∈Hc′,tx∈(Hc′,k∥c′∥2)k∈Z.

Next, we show that every affine hyperplane actually is a -layer for every by specifying a certain integer point for each . Due to the coprimeness of the entries of the vector , Bézout’s Identity assures the existence of integral coefficients such that

 x1⋅c′1+⋯+xn⋅c′n=gcd(c′1,…,c′n)=1.

Since the left side of the equation is equal to , the integer point  is contained in the affine hyperplane , see Lemma 4. For the same reason, the point is an integer point in

 Hc′,c′t(k⋅x)∥c′∥2=Hc′,k⋅(c′tx)∥c′∥2=Hc′,k∥c′∥2

for every . Referring to Remark 6, we conclude that is a -layer for every . ∎

If the entries of an integral utility vector are coprime, there are no integer points on the line spanned by between the origin and the point . Since the standard lattice  is invariant under translation by integer vectors, the number of -layers and their arrangement are the same between any two points  and  for . Therefore, there are also no integer points on the line spanned by  between any two points  and , where . Applying Theorem 7, we can easily count the -layers between the hyperplane through the point  and the affine hyperplane through .

###### Corollary 8.

Given a projectively rational utility vector  with coprime multiple , the number of -layers between  and  for any  is equal to the squared euclidean norm of the coprime multiple . These -layers are the affine hyperplanes , where

 k∈{m∥c′∥2,…,(m+1)∥c′∥2−1}.

To put it precisely, the number of -layers includes the layer through  but excludes the layer through . The representation of the -layers in Corollary 8 allows us not only to count the layers but also to access every single layer directly by its characteristic parameter .

###### Convention.

Given a projectively rational utility vector with coprime multiple , the -layer  is called the -th -layer.

Note that we always refer to the coprime multiple  of a utility vector  when we talk about -layers. Figure 3 and Figure 4 give a graphical impression of the arrangement of -layers for two different utility vectors. In both figures, the outer two -layers contain the two integer points  and  on the line spanned by . In contrast to the situation in Figure 3, we notice that in Figure 4, the two layers between the outer two layers do not cover all integer points.

Compared to the clear structure in the rational case, the arrangement of the -layers for projectively irrational utility vectors is rather complicated. In particular, we lose finiteness of the number of -layers between the origin and the point .

###### Theorem 9.

Given a projectively irrational utility vector , there exist infinitely many -layers between the origin and the point .

###### Proof.

Being projectively irrational, the vector is a real multiple of a vector of the form

 c′=(1,c′2,…,c′j−1,r,c′j+1,…,c′n)t,

where , and for . We define a sequence of integer points by

 (x(k))k∈N:=((x(k)1,…,x(k)n)t)k∈N,x(k)i=⎧⎨⎩−⌊rk⌋ if i=1k if i=j0 otherwise .

Since is irrational, the equation

 y1+ry2=y′1+ry′2

implies and for arbitrary integers . Hence, the utility values

 ctx(k)=−⌊rk⌋+r⋅k

are pairwise distinct for different . Furthermore, we observe that

 0≤rk−⌊rk⌋≤1≤∥c∥2.

Therefore, every integer point of the sequence is contained in a separate -layer , with , see Lemma 4. Referring to Remark 6, this shows that we have infinitely many -layers between the origin and the point . ∎

Apparently, stepwise sifting through -layers is practicable only if the number of -layers is not too large but at least finite. Therefore, we will only follow up this method with respect to projectively rational utility vectors.
The basic idea of our approach is to generalize the graphical method we studied in the beginning of this chapter. By Remark 3, we know that the utility value is constant on every -layer. Hence, we start looking for a feasible integer point on the -layer next to an LP solution, which we can access directly because of the characterization given in Corollary 8. If there is no feasible integer point on this layer, we go on to the -layer with the next smaller utility value, again accessible due to Corollary 8. The first feasible integer point we find by this method then is a solution to the IP problem.
Of course, it is not clear yet how to test feasibility of infinitely many integer points that are contained in every single -layer. Even if the IP has the additional assumption of positive solutions, it is still not practicable to test a possibly exponentially large number of integer points. Furthermore, we would like to detect infeasibility of an IP problem without exhaustive testing of all possible integer points.
We will tackle these problems by means of symmetry. In contrast to the LP case, transitivity of the group action in the IP case is not the end of the line but the initial assumption for our analysis.

## 6. Transitive Actions

Consider an LP with a symmetry group acting transitively on the standard basis. Then the utility vector is a real multiple of the integer vector

 ¯¯c:=(1,…,1)t,

see Corollary 9 of . Since the utility value is constant on any -layer, compare Remark 3, we obtain a useful characterization of the points on the -th -layer by applying Lemma 4.

###### Remark 10.

Given the utility vector , an integer point  is contained in the -th -layer if and only if the sum of its coordinates is equal to .

Further, we proved in Theorem 14 of  that the set of fixed points is one-dimensional. Hence, it only consists of multiples of the utility vector, compare Remark 12 of . If we solve the LP according to the substitution algorithm we discussed in the previous section, we get a solution of the LP of the form

 x∗fix=(a,…,a)t∈FixG(Rn).

Therefore, the -layer to start with in the transitive case is the -layer next to this solution given by , where . If the IP is feasible, we stop as soon as we find a feasible point. But what could be a reasonable stopping criterion if the IP does not have any solutions? In general, the problem to decide whether an IP is feasible or not, is NP-complete, see e.g. , p. 245. We are now going to study this problem for transitive actions.

### Detecting Infeasibility

We start by defining a certain point of reference for every -layer that shows an exceptional property in the transitive case.

###### Definition.

The center of a -layer is the intersection point of the -layer and the line spanned by the utility vector .

Note that in the transitive case, the center  of the -th -layer is given by

 mk=(kn,…,kn)t.

If we consider two feasible points  and , the convexity of the feasible region  guarantees that the segment between  and  is feasible. Conversely, if only  is feasible, then no point beyond  on the ray from  to  can be feasible. In particular, we can apply this reasoning to the solution  of the LP and the center of any -layer. In the transitive case, the line through  and a center is equal to the line generated by the utility vector . Hence, we get the following statement.

###### Remark 11.

Let  be a solution of an LP with a symmetry group acting transitively on the standard basis. If the center of the -th -layer is infeasible for some , then the center of the -th -layer is infeasible for any .

Note that the following statement holds for any affine hyperplane , where  and . However, we are interested in the result only in relation to -layers.

###### Theorem 12.

Given an LP with a symmetry group acting transitively on the standard basis, a -layer is feasible if and only if its center is feasible.

###### Proof.

We cut down the feasible region of the LP to a feasible -layer. The feasibility of the -layer assures that the substitution algorithm yields a solution to the resulting LP. By Remark 5, we know that still is a symmetry group of the resulting LP. Hence, both LP problems share the same one-dimensional set of fixed points consisting of the line spanned by , compare Remark 12 of . Therefore, the solution to the resulting LP provided by the substitution algorithm is the intersection point of and the -layer, i.e., the center. Hence, in particular, the center is feasible for the resulting LP, and therefore also for the original LP. ∎

Conversely, we conclude that there is no feasible point on a -layer whose center is not feasible. Hence, referring to Remark 11, there are no feasible points in -layers that have smaller utility values than the -layer with the first infeasible center. Therefore, we only need to search the layers beginning with the -th -layer down to the -th -layer. If the center of one of the layers is infeasible, we already know that the IP is infeasible. Otherwise, we arrive at the last layer and test the feasibility of the center . Since the center is integral, we then either have found a solution or we conclude that the IP is infeasible. Thus, the algorithm stops after having searched at most  -layers, see Corollary 8.

###### Corollary 13.

Let  be a solution of an LP with a symmetry group acting transitively on the standard basis. Then stepwise sifting through the -th -layer down to the -th -layer either leads to a solution of the corresponding IP or reveals its infeasibility. The algorithm stops after at most  steps.

Corollary 13 discloses that the complexity of the infeasibility problem only depends on the efficiency of the search algorithm that is used to sift through a single -layer. Therefore, we will now focus on the searching of a -layer, i.e., on the problem how to check the IP-feasibility of a -layer without testing every single integer point on the layer.

### Reducing to Neighbors

The main idea is to define an appropriate set of integer points – the set of neighbors – such that the feasibility of any exterior integer point implies the feasibility of an integer point in the same -layer that belongs to the set of neighbors. In this case, it suffices to test the feasibility of the neighbors. Unfortunately, transitivity is not strong enough to be able to reduce the problem to the center which is not necessarily integral. In contrast to the LP case, compare Corollary 19 of , the Purkiss Principle of symmetric solutions of symmetric problems is not suitable for IP problems. Therefore, the following definition leads to the smallest possible set of neighbors with respect to the Euclidean distance.

###### Definition.

Given a -layer, a neighbor is an integer point on the -layer that has minimal Euclidean distance from the center of the -layer.

Due to the simple structure of the utility vector in the transitive case (see  ), we can easily describe the corresponding set of neighbors by using Remark 10.

###### Remark 14.

Given the utility vector , and an integer , where  and , the set of neighbors in the -th -layer consists of all integer points that have entries equal to and entries equal to . The number of neighbors in the -th -layer is given by

 |Nk|=(nr).

Consider two points  and  on the same hyperplane  satisfying

 ∥x∥2≥∥y∥2.

Because of the orthogonality of  and the line spanned by , the Pythagorean theorem yields that in this case, we also have

 ∥x−m∥2≥∥y−m∥2,

where  is the center of . Therefore, we only need to determine the distance between the origin and two different points on the same -layer in order to decide which of them is closer to the center.

###### Remark 15.

Given two points , then  implies

 ∥x−m∥2≥∥y−m∥2,

where  is the center of . In particular, all elements of an orbit with respect to a group  have the same distance to the center.

The following lemma describes a method to approach the set of neighbors without leaving the feasible region. In the proof, Remark 15 helps us to avoid technical difficulties.

###### Lemma 16.

Given an LP with symmetry group and a feasible point in the -th -layer, any interior point of the segment determined by and a point , where , is feasible and closer to the center of the -th -layer than .

###### Proof.

Note that , and – since -layers are affine hyperplanes – any convex combination

 y:=px+(1−p)xg

are in the same -layer, compare Remark 5. Furthermore, the feasibility of  implies the feasibility of , see Remark 6 of , and therefore also the feasibility of  due to the convexity of the feasible region . Hence, referring to Remark 15, we only need to show that the squared Euclidean norm of  is smaller than  for any . Since  is equal to , we can write

 ∥x∥2 =p2∥x∥2+(1−p)2∥x∥2+2p(1−p)∥x∥2= =p2∥x∥2+(1−p)2∥xg∥2+p(1−p)∥x∥2+p(1−p)∥xg∥2,

and therefore

 ∥x∥2−∥y∥2 =(p2∥x∥2+(1−p)2∥xg∥2+p(1−p)∥x∥2+p(1−p)∥xg∥2)− −(p2∥x∥2+2p(1−p)n∑i=1xixig+(1−p)2∥xg∥2)= =p(1−p)∥x∥2+p(1−p)∥xg∥2−2p(1−p)n∑i=1xixig= =p(1−p)(∥x−xg∥2)>0,

since and . ∎

Hence, we can approach the set of neighbors by considering convex combinations of two elements of the same orbit. Since we are interested in solutions to IP problems, the convex combinations should not only be feasible with respect to the LP but also with respect to the corresponding IP, i.e., they should be integral in addition. The next theorem shows that we can find such integral convex combinations for any feasible integer point as long as the degree of transitivity of the symmetry group is large enough.

###### Theorem 17.

Let be a symmetry group of an LP acting -transitively on the standard basis, and . If an integer point  is feasible and not a neighbor, then there exists a feasible integer point in the same -layer that is closer to the center of the -layer than .

###### Proof.

Due to the invariance of the standard lattice  under translation by integer vectors, we only need to prove the statement for -layers between the origin and the point . Let be a feasible integer point on the -th -layer, where . If all coordinates of are equal, the point  is an element of the line spanned by , and therefore the center of the -th -layer, thus a neighbor. Otherwise, there exist at least two different coordinates  of . We split the set of indices into the two sets

 {i|xi≡0 mod 2},{i|xi≡1 mod 2}.

Then one of the two sets – denoted by  – contains at least  indices, while the other set  has at most  elements. Therefore, we will use the -transitivity of  to control , and the additional degree of transitivity to produce two different feasible integer points. We distinguish the following two cases:

1. Suppose that  has two different coordinates  of the same congruence class modulo , that is, the corresponding indices  are contained in the same set  or . Note that this condition is always satisfied if  has more than two different coordinates. By the -transitivity of , we then find a permutation such that

 i′g=i,Jg=J,

which implies . These assignments do not contradict each other since we assumed that  if and only if . Note that we do not require non-emptiness of  in this case. By construction, all pairs of coordinates  are in the same congruence class modulo  for all , but  is different from  due to the assumption . Hence, the convex combination

 y=12(x+xg)

is an interior integer point of the segment determined by  and . Applying Lemma 16 to  and , we conclude that  is a feasible integer point that is closer to the center of the -th -layer than .

2. Otherwise, the point  has exactly two different coordinates , where and , that is, for all , and for all . In this case, transitivity of  is sufficient to guarantee the existence of an appropriate permutation  satisfying . Then  and  are distinct elements of the orbit . Consider an interior point

 y=px+(1−p)xg,p∈(0,1),

of the segment defined by  and . We want to determine a parameter  such that  is integral. Obviously, the coordinates  of  can only take the values

 (5) yl =pxi′+ (1−p)xi′ =xi (6) yl =pxi′+ (1−p)xi′ =xi′ (7) yl =pxi′+ (1−p)xi′ =p(xi−xi′)+xi′ (8) yl =pxi′+ (1−p)xi′ =p(xi′−xi)+xi.

Since  is integral, the coordinates of  of type (5) and type (6) are integral for any . The coordinates of type (7) and (8) are integral if  divides the absolute value . We may assume that  is not a neighbor. Since the sum of all coordinates is between  and , compare Remark 10, we therefore conclude that either the coordinates  and  have different signs or one of the coordinates is equal to  and the other one is greater or equal than . In any case, we get . Hence, the choice

 p=1|xi−xi′|

is well-defined, and it guarantees that  is an interior integer point of the segment defined by  and . Again, we apply Lemma 16 to  and  in order to conclude that  is a feasible integer point that is closer to the center of the -th -layer than .

Iterated application of Theorem 17 demonstrates that the set of neighbors is approachable over a sequence of feasible integer points starting from any integer point within the feasible region. Therefore, we deduce the following statement.

###### Corollary 18.

Let  be a symmetry group of an LP acting -transitively on the standard basis. Then the -th -layer is feasible if and only if the set of neighbors  is feasible.

Thus, we may reduce the problem of looking for a feasible integer point on the whole -layer to just testing the set of neighbors, hence at most  points on that layer, given -transitivity of the symmetry group. In this respect, the set of neighbors is representative for its layer. As a last step, we therefore concentrate on how to test the set of neighbors in an efficient way.

### Testing Neighbors

Once more, we want to exploit our knowledge about the symmetries of an IP problem. To this end, we consider the set of neighbors in the transitive case as described in Remark 14. Obviously, this set is invariant under the action of any group . Hence, we can study the action of a symmetry group  of an IP not only on the IP itself but also on the set of neighbors in each layer. In particular, we are interested in the decomposition of the set of neighbors into orbits. Since  leaves invariant the feasible region of the IP, the infeasibility of one neighbor implies the infeasibility of any neighbor in the same orbit, compare Remark 6 of . Hence, we only need to test one neighbor in each orbit. Of course, we would like to have a small number of orbits, preferably one orbit only, which is the more likely the more symmetries we have. Due to the simple structure of neighbors, we can relax assumptions on transitivity to assumptions on homogeneity, which is weaker in principle. The following theorem provides an upper bound on the degree of homogeneity of the action on the standard basis that suffices to guarantee transitivity of  on the set of neighbors.

###### Theorem 19.

Let be a symmetry group of an LP acting -homogeneously on the standard basis, where . Then the group  acts transitively on the set of neighbors  for any integer

 r∈{0,…,k}∪{n−k,…,n−1}.
###### Proof.

Let  and . By Remark 14, we know that any neighbor  has exactly  coordinates of value , and  coordinates of value . We denote the corresponding sets of indices by  and . Due to the -homogeneity of  on the standard basis, there exists a permutation  that maps the  elements of  of a neighbor  to the  coordinates in  of any other neighbor . Since  is a bijection, the remaining set of indices  is automatically mapped to . Hence, we find a permutation  with  for any two neighbors , i.e., the group  acts transitively on the set of neighbors . For , we switch the roles of  and  and apply the same reasoning. ∎

Thus, the assumption of a symmetry group acting -homogeneously on the standard basis is sufficient to assure transitivity on the set of neighbors in every layer. Combining Remark 6 of  and Theorem 19, we conclude that in case of a -transitive action, we only need to test one neighbor in any -layer in order to decide its IP-feasibility.

###### Corollary 20.

Let be a symmetry group of an LP acting -transitively on the standard basis, and . Then the set of neighbors  is feasible if and only if any neighbor  is feasible.

Now we are ready to bring together all the results of this section in order to deduce an applicable algorithm.

### A Linear Algorithm for the Alternating and the Symmetric Group

If the number of dimensions  is greater or equal than , the assumption of -transitivity implies -transitivity. Hence, we can apply our results to any IP corresponding to an LP whose full symmetry group is isomorphic to  or , where . For these problems, Corollary 13 describes which -layers need to be tested and shows that we can stop after at most  layers. Corollary 18 allows for reducing the problem of testing the feasibility of every single point on a layer to simply testing the set of neighbors. Finally, Corollary 20 guarantees that we only need to check the feasibility of one neighbor per layer. Therefore, the following algorithm works correctly, and it is linear in the number of dimensions .

###### Corollary 21.

Let , and  be a solution of an LP with a symmetry group isomorphic to  or . Then testing the feasibility of one neighbor on every -layer beginning with the -th -layer down to the -th -layer either leads to a solution of the corresponding IP or reveals its infeasibility. The algorithm stops after at most  steps.

## 7. Conclusion

At the end of this chapter, we want to summarize the results and insights we gained. From an application-oriented point of view, the most promising result seems to be the knowledge about the existence and the configuration of -layers, as it may contribute to a more systematic search for integral solutions. If we consider also the decline in the utility value for descending -layers, the check for maximality becomes redundant, and the testing of the feasibility of integer points comes to the fore.

Certainly, in practice, we cannot expect symmetry groups of integer programs that act -transitively on the standard basis, not even transitively. Hence, the results of Section 6 should be regarded as an abstract approach to the question which role is played by symmetries in integer programs. On the one hand, we proved that the complexity of integer programs with extremely large symmetry groups like the alternating or the symmetric group is linear. On the other hand, we also notice that the number of orbits of neighbors, thus the number of points to be tested, can get exponentially large as soon as we consider integer problems with smaller symmetry groups. But in any case, knowledge about symmetries helps us to reduce the number of points we need to check. Therefore, symmetry in integer programs should not be demonized but seized in all its potential.

## References

•  Sándor P. Fekete and Jörg Schepers, A combinatorial characterization of higher-dimensional orthogonal packing, Mathematics of Operations Research 29 (2004), 353–368.
•  Eric J. Friedman, Fundamental domains for integer programs with symmetries, Combinatorial Optimization and Applications, First International Conference, COCOA 2007, Proceedings, 2007, pp. 146–153.
•  Katrin Herr and Richard Bödi, Symmetries in linear and integer programs, Available at http://arxiv.org/pdf/0908.3329, 2009.
•  Volker Kaibel, Matthias Peinhardt, and Marc E. Pfetsch, Orbitopal fixing, Integer Programming and Combinatorial Optimization, 12th International Conference, IPCO 2007, Proceedings, 2007, pp. 74–88.
•  Volker Kaibel and Marc Pfetsch, Packing and partitioning orbitopes, Math. Program. 114 (2008), no. 1, 1–36.
•  François Margot, Pruning by isomorphism in branch-and-cut, Math. Program. 94 (2002), no. 1, 71–90.
•  by same author, Exploiting orbits in symmetric ILP, Math. Program. 98 (2003), no. 1-3, 3–21.
•  by same author, Symmetric ILP: Coloring and small integers, Discrete Optim. 4 (2007), no. 1, 40–62.
•  James Ostrowski, Jeff Linderoth, Fabrizio Rossi, and Stefano Smriglio, Orbital branching, Integer Programming and Combinatorial Optimization, 12th International Conference, IPCO 2007, Proceedings, 2007, pp. 104–118.
•  by same author, Constraint orbital branching, Integer Programming and Combinatorial Optimization, 13th International Conference, IPCO 2008, Proceedings, 2008, pp. 225–239.
•  Alexander Schrijver, Theory of linear and integer programming. Repr., Chichester: John Wiley & Sons. XI, 471 p., 1998.
You are adding the first comment!
How to quickly get a good reply:
• Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
• Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
• Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters   