Applications of integer programming methods to cages

The aim of this paper is to construct new small regular graphs with girth 7 using integer programming techniques. Over the last two decades solvers for integer programs have become more and more powerful and have proven to be a useful aid for many hard combinatorial problems. Despite successes in many related ﬁelds, these optimisation tools have so far been absent in the quest for small regular graphs with a given girth. Here we illustrate the power of these solvers as an aid to construct small regular girth 7 graphs from girth 8 cages.


Introduction
The girth of a graph is the length of its shortest cycle. For the cage problem one aims to construct regular graphs of degree k with minimum number of vertices required to have girth g. It is known that a regular graph with degree k and girth g can be created for any k 2 and g 3 [3]. The real challenge is to find a regular graph with the least number of vertices which still has girth g. The graphs that are of minimum order for degree k and girth g are referred to as (k, g)-cages. Often, the constructions are not known to be cages and the resulting (k, g)-graphs only provide upper bounds, which we call record graphs. For an overview of the known cages, record graphs and their constructions see the up-to-date dynamic cage survey [5]. Only little appears to be known for the girth 7 case. In this paper we construct new record graphs with girth 7, improving the upper bounds for regular girth 7-graphs with degrees up to 14. This is achieved by a novel approach that uses the power of modern linear programming solvers and combinatoric properties of some known girth 8 graphs.
The only known cages with girth 7 are the McGee graph [11] of order 24 and the more recently discovered (4, 7)-cage of order 67 [5,6]. For all other degrees and girths only record graphs, which give an upper bound on the order of the cages, are known. This paper contributes to the girth 7 case of the cage problem by showing how to use integer programming techniques to construct record graphs with girth 7 for degrees up to 14. Table 1 lists the order of our new record graphs, as well as the previous best-known record graphs. 1  [14] 2 The excision method In this section we show how to construct regular graphs with girth g − 1 from regular graphs with girth g by excision.
In an excision operation one first removes vertices and their adjacent edges from a graph with degree k and girth g. In the second step one has to join the remaining vertices with each other to obtain a regular graph of degree k and girth g − 1. We give results for the size of the set of vertices that can be removed to end up with a regular graph with girth g − 1. For joining up the vertices again, we use integer programming methods. For girth 7 there is a rather standard result that ensures us that for odd k we can remove 2k vertices from a k−regular graph with girth 8. The proof for odd k and even girth g is given in [1]. Another proof can be based on the excision proof for the cubic situation [2]. Typical for those proofs is that the excised set of vertices and edges form a tree and the diameter of the tree is 3. An example of such a tree for degree 5 and girth 7 is given in Figure 1. Joining up the vertices to obtain a regular graph of Figure 1: Subtree consisting of 10 vertices that can be removed from a (5, 8)-graph to obtain a (5, 7)-graph.
degree k can be done in an arbitrary way, as long as the joined vertices shared a common neighbour in the the excised tree. An example that can be obtained in this way is the McGee graph (k = 3) [11]. For the girth 7 case with higher degrees (k 4) we might be able to excise a graph that consists of more than 2k vertices. Examples where this is successful are the cases k = 5 and k = 6 [12]. It is possible to excise 18 vertices in both cases. In the following sections we show how integer programming methods can be used to successfully excise larger sets of vertices for degrees 7 up to 14. We first describe the set of excised vertices and integer programming methods we developed for odd degrees 7, 9, 11 and 13 and after then a similar method for even degrees 8, 10, 12 and 14. Throughout this paper we denote V as the set of vertices in the original graph, S the set of vertices we are going to excise and V \S the vertices that remain after excision.

Odd degree graphs
For odd degree graphs we are going to excise a tree that has diameter 4, instead of a tree with diameter 3 as was done in the more general results [1]. Let us first explain why we can not join the edges from two neighbours in an arbitrary way if the diameter of S is 4. Consider two vertices u and v that are at distance 4 in S. Let {u 1 , . . . , u k−1 } and {v 1 , . . . , v k−1 } be the neighbours of respectively u and v that are still in V − S and therefore have degree k − 1. There is path of length 6 going through S from any u i to any other v j . Hence, there could be a path through V \S of length 2 from u i to v j . Let d(x, y) denote the distance between vertex x and y only using nodes from V \S. If d(u 1 , v 1 ) + d(u 2 , v 2 ) = 4, then we are not allowed to add both edges {u 1 , u 2 } and {v 1 , v 2 } in the excision operation because that would create a 6-cycle. If this is the case, we call ({u 1 , u 2 }, {v 1 , v 2 }) a forbidden combination. LetĒ be the pairs of vertices {x, y} such that both x and y have degree k − 1. We have to choose edges fromĒ to create a regular graph of degree k. The set R ⊂Ē ×Ē that contains all forbidden combination of edges the electronic journal of combinatorics 22(4) (2015), #P4.35 is given by The set R only consists of pairs of edges, so we did not include any forbidden triples, quadruples etc. We do not have to mark any combinations of three of more edges as forbidden because every path through vertices from V \S joining u i and v j has length at least 2. Hence, a cycle with three or more 'new' edges fromĒ has length at least 2 + 2 + 2 + 1 + 1 + 1 = 9.
We use the set of forbidden combination of edges R to determine whether we can join edges after excising the subtree S to obtain another regular graph of degree k. Excision of S is successful if we can determine an edge set X ⊂Ē such that: (i) After adding edges from X, the degree of every vertex is k.
(ii) For every edge pair (e, f ) ∈ R, at most one of the edges e or f is in X.
To model these conditions we introduce decision variables x e for allĒ to decide whether or not to include an edge e ∈Ē: Using these decision variables, we can now translate the degree condition (i) into where δ(u) is the set of edges incident with vertex u and N (S)\S being the set of vertices that have a neighbour in S, but are not in S themselves. Note that the degree of every vertex in N (S)\S is equal to k − 1 before adding edges. So when every one of those vertices is adjacent to exactly one new edge fromĒ, condition (i) is satisfied. The second condition can be modelled as Hence, the resulting integer programming model is We have used program (Excision-ILP) for odd degrees 3 k 13. All solution are obtained using the commercial solver Gurobi 5.6.2 [9] programmed in the YALMIP language [10] in Matlab on a 64-bit Mac OS X 10.9.4 PC with a 1.8 Ghz Intel Core i5 processor and 4GB of RAM. The initial girth 8 graphs were obtained using the labeling process for generalized quadrangles as described in [8] for graphs with degree k = q + 1, where q is a prime power, or the t-good structures from [7] for graphs with k = q. Starting from a (k, 8)-graph where k is odd, we tried to excise different trees with diameter 4. For example, from the (5, 8)-graph we successfully excised the following tree: We have tried to include more vertices, but then the program did not return a feasible solution. This was either because it determined that the program was infeasible, or because we manually aborted it after a certain period of time. The only situations where we had to manually abort the program was for some sets S for degrees 11 and 13, where we stopped the solver after 60 minutes. This is because in all other cases, the solver returned a solution within 16 minutes. The results from our computations are displayed in Table 2. Looking at the total running time, Gurobi clearly has the largest share. The total time depicted further includes: deleting the vertices and edges, calculating distance matrices, determine the forbidden combinations R and setting up the model in YALMIP. Especially calculating the distance matrices might take considerably more time for graphs with more vertices. Note that for degree 9 we could excise a bigger subset of vertices than for degree the electronic journal of combinatorics 22(4) (2015), #P4.35 11 and 13. This is probably due to the fact that the (9, 8)-graph has a particularly nice structure as the incidence graph of a generalized quadrangle.

Even degree graphs
For even degrees, we can do a similar kind of excision to the method for odd degrees as done in Section 3. However, the excised set of vertices can not be a tree as we did in the odd graphs (see Figure 2) because we can only join an even number of neighbours by edges. When degree k is even, one would need to join k − 1 neighbours when excising a tree, which is an odd number. For even degrees 6 k 14 we therefore excise a different set of size 3k − 1. Only for the smallest even degree k = 4 we could not excise more than 3k − 2 = 10 vertices. Note that for that degree the actual cage is known, which is not obtained via excision and contains 13 vertices less than the (4, 8)-cage. For the even degrees 6 k 14 the set of vertices that we remove is constructed as follows: • Select a pair of vertices {u, v} at distance 4 from each other that have exactly k vertices in common at distance 2.
• Remove u, v, their neighbours N (u) and N (v) and all but three of the vertices in is the set of vertices that are at distance 2 from both u and v.
u v An example of such an excised set for degree k = 6 is given in Figure 3. Note that for general even degree, we have no guarantee that there exist vertices u, v with |N 2 (u, v)| = k. However, in case k = q + 1 and q is a prime power, we are guaranteed that every vertex pair {u, v} at distance 4 has |N 2 (u, v)| = k. This is due to the fact that every so-called point-pair in a generalized quadrangle is regular. For a more thorough description on point-pairs we refer the reader to the book by Payne and Thas [13].
The next step is joining up the vertices so that every vertex has degree k again. Let S be the set of vertices consisting of N (v), N (v) and N 2 (u, v). Then every vertex in S has k − 2 neighbours in V \S. Since k is an even number, k − 2 is even as well. The vertices in N 2 (u, v) that are not removed also have degree k − 2 since they have one edge adjacent to N (u) and one to N (v). For all degrees k 6 we have to leave exactly 3 vertices from N 2 (u, v) in the remaining graph.
The constraints we add and the set of forbidden combinations R ⊂Ē ×Ē are similar to the ones in program (Excision-ILP). The paths through V \S that join two vertices in S are of length at least 2. Hence, every path containing three or more edges from R has length 9 again. Therefore, we can use the same definition for R, the set containing these forbidden combinations, as in (1). The only significant difference is that there are now vertices with degree k − 2, which need to be assigned two new edges instead of one.
The computational results are given in Table 3, in the same format as for odd degrees.
In this table we have again |S| as the size of the removed set of vertices and |R| number of forbidden combinations. For all but the degrees 4 and 6 our results give new record graphs that improve the upper bound on the order of the cages previously known in the literature.