Symmetries in Integer Programs
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 program1. Introduction
This paper continues to investigate symmetries of linear and integer programs which we have started in [3]. 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 branchandbound or branchandcut 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 [6]. 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 [5], the authors introduce special polyhedra,
called orbitopes, which they use in [4] to remove redundant branches of the search tree.
Friedman’s fundamental domains in [2] are also aimed at avoiding the evaluation of
redundant solutions. For selected integer programs like generalized binpacking problems there
exists a completely different idea how to deal with symmetries, see e.g. [1]. Instead of
eliminating the effects of symmetry during the branchandbound 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) 
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
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 [11], p. 87.
Definition.
A polyhedron is the intersection of finitely many affine halfspaces, i.e.,
for a matrix and a vector .
Note that every row of the system defines an affine halfspace. Obviously, the set is a polyhedron. Since every affine halfspace is convex, the intersection of affine halfspaces – 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.
3. Symmetries
In [3] 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 nonnegativity 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
where is the set of the standard basis vectors of .
As in [3] we formulate the definition of symmetries of linear programs and the corresponding integer programs simultaneously. Consider an LP of the form
(3)  
and the corresponding IP given by  
(4) 
where and .
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
where and are the permutation matrices corresponding to and . The full symmetry group of a matrix is given by
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
This is a definition of symmetry as it can be found in literature as well, see e.g. [7].
4. Symmetries in Integer Programming
Due to [3], Corollary 19, we notice that in the LP case, transitivity of the group action already implies a onedimensional set of fixed points, giving rise to a onedimensional 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
subject to
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 nonempty 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
for decreasing . For every , there exists a vector
such that
The computation of
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
The computation of yields
That is, the vector is an element of . We conclude that the point is contained in
∎
Given a symmetry group , we know by Remark 12 of [3] 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 [3], 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. IntegerLayers
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 nonzero entry of to be positive. For example, the utility vector
is projectively rational with coprime multiple , whereas the vector
is projectively irrational.
Considering a utility vector and an arbitrary real multiple of , we observe that
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
Since the value is integral for any , we get
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
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
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
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
where , and for . We define a sequence of integer points by
Since is irrational, the equation
implies and for arbitrary integers . Hence, the utility values
are pairwise distinct for different . Furthermore, we observe that
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
see Corollary 9 of [3]. 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 [3] that the set of fixed points is onedimensional. Hence, it only consists of multiples of the utility vector, compare Remark 12 of [3]. 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
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 NPcomplete, see e.g. [11], 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
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 onedimensional set of fixed points consisting of the line spanned by , compare Remark 12 of [3]. 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 IPfeasibility 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 [3], 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 [3]), 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
Consider two points and on the same hyperplane satisfying
Because of the orthogonality of and the line spanned by , the Pythagorean theorem yields that in this case, we also have
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
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
are in the same layer, compare Remark 5. Furthermore, the feasibility of implies the feasibility of , see Remark 6 of [3], 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
and therefore
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
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:

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
which implies . These assignments do not contradict each other since we assumed that if and only if . Note that we do not require nonemptiness 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
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 .

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
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) (6) (7) (8) 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
is welldefined, 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 [3]. 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
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 [3] 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 IPfeasibility.
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
applicationoriented 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
 [1] Sándor P. Fekete and Jörg Schepers, A combinatorial characterization of higherdimensional orthogonal packing, Mathematics of Operations Research 29 (2004), 353–368.
 [2] Eric J. Friedman, Fundamental domains for integer programs with symmetries, Combinatorial Optimization and Applications, First International Conference, COCOA 2007, Proceedings, 2007, pp. 146–153.
 [3] Katrin Herr and Richard Bödi, Symmetries in linear and integer programs, Available at http://arxiv.org/pdf/0908.3329, 2009.
 [4] 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.
 [5] Volker Kaibel and Marc Pfetsch, Packing and partitioning orbitopes, Math. Program. 114 (2008), no. 1, 1–36.
 [6] François Margot, Pruning by isomorphism in branchandcut, Math. Program. 94 (2002), no. 1, 71–90.
 [7] by same author, Exploiting orbits in symmetric ILP, Math. Program. 98 (2003), no. 13, 3–21.
 [8] by same author, Symmetric ILP: Coloring and small integers, Discrete Optim. 4 (2007), no. 1, 40–62.
 [9] 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.
 [10] by same author, Constraint orbital branching, Integer Programming and Combinatorial Optimization, 13th International Conference, IPCO 2008, Proceedings, 2008, pp. 225–239.
 [11] Alexander Schrijver, Theory of linear and integer programming. Repr., Chichester: John Wiley & Sons. XI, 471 p., 1998.