A New Heuristic for Detecting Non-Hamiltonicity in Cubic Graphs
Jerzy A Filar Michael Haythorpe Serguei Rossomakhine





jf]Jerzy A Filar
jerzy.filar@flinders.edu.au
jf]Michael Haythorpecor1
michael.haythorpe@flinders.edu.au
jf]Serguei Rossomakhine
serguei.rossomakhine@flinders.edu.au
[cor1]Corresponding author: Michael Haythorpe. Ph: +61 8 820 12375.



[jf]Flinders University, Sturt Road, Bedford Park SA 5042, Australia.














































 

We analyse a polyhedron which contains the convex hull of all Hamiltonian cycles of a given undirected connected cubic graph. Our constructed polyhedron is defined by polynomially-many linear constraints in polynomially-many continuous (relaxed) variables. Clearly, the emptiness of the constructed polyhedron implies that the graph is non-Hamiltonian. However, whenever a constructed polyhedron is non-empty, the result is inconclusive. Hence, the following natural question arises: if we assume that a non-empty polyhedron implies Hamiltonicity, how frequently is this diagnosis incorrect? We prove that, in the case of bridge graphs, the constructed polyhedron is always empty. We also demonstrate that some non-bridge non-Hamiltonian cubic graphs induce empty polyhedra as well. We compare our approach to the famous Dantzig-Fulkerson-Johnson relaxation of a TSP, and give empirical evidence which suggests that the latter is infeasible if and only if our constructed polyhedron is also empty. By considering special edge cut sets which are present in most cubic graphs, we describe a heuristic approach, built on our constructed polyhedron, for which incorrect diagnoses of non-Hamiltonian graphs as Hamiltonian appear to be very rare. In particular, for cubic graphs containing up to 18 vertices, only four out of 45,982 undirected connected cubic graphs were so misdiagnosed. By constrast, we demonstrate that an equivalent heuristic, when built on the Dantzig-Fulkerson-Johnson relaxation of a TSP, is mostly unsuccessful in identifying additional non-Hamiltonian graphs. These empirical results suggest that polynomial algorithms based on our constructed polyhedron may be able to correctly identify Hamiltonicity of a cubic graph in all but rare cases.




Hamiltonian cycles Linear Feasibility Traveling Salesman Problem Polyhedra

05C85 90C05 52B12
















§ INTRODUCTION




The Hamiltonian cycle problem (HCP) is a well-known problem that features prominently in
complexity theory because it is NP-complete <cit.>. The HCP can be stated simply: given
a graph Γ containing N vertices, determine whether Γ contains a simple cycle of length N,
or not. Such a cycle is called a Hamiltonian cycle. Graphs containing at least one Hamiltonian cycle are called Hamiltonian graphs, and those containing no Hamiltonian cycles are called non-Hamiltonian graphs. There are many specialised heuristics which attempt to solve HCP, which include rotational transformation algorithms, cycle extension algorithms, long path algorithms, low degree vertices algorithms, multipath search and pruning algorithms. Attempts to solve HCP have also been made by operations research or optimisation communities, such as nonlinear optimisation (e.g. see Filar et al <cit.>) and importance sampling
(e.g. see Eshragh et al <cit.>). The HCP is also closely related to the famous Travelling Salesman Problem (TSP), which is simply the problem of finding the Hamiltonian cycle of optimal length. In the language of the TSP, Hamiltonian cycles are usually called tours.

A cubic graph is one in which every vertex has degree three. The HCP is known to be NP-complete even if only undirected cubic
graphs are considered. By assuming cubicity, there is much inherent graph structure that can be taken advantage of by
algorithms (e.g. see Eppstein <cit.>). Indeed, there is still a lot of interest in special properties of not only all cubic graphs,
but even special classes of cubic graphs (e.g. see Horev et al <cit.>).

More generally, in literature, there have been many approaches towards developing polyhedral sets whose extreme points correspond to solutions of interest. In the case of both TSP and HCP, such a polyhedron is the convex hull of points that are in 1-to-1 correspondence to Hamiltonian cycles (or tours). Let us denote such a polyhedron by Q := Q(Γ) for a given graph Γ. Of course, Q = ∅ when Γ is non-Hamiltonian. In the TSP literature, some of the most successful theories and algorithms have been based on characterisations of facets of Q (e.g. see Grötschel and Padberg <cit.>). In the context of HCP, however, explicit identification of a Hamiltonian cycle is not necessary. Indeed, Hamiltonicity is equivalent to the determination that Q ∅. This paper is motivated by the obvious observation that, if a set 𝒫⊃ Q is empty, then certainly Q is empty as well. Of course, the challenge is to construct a polytope 𝒫 that is so close to Q to increase the chances of successful detection of non-Hamiltonicity. In this paper, we construct such a set 𝒫 – determined by a polynomially-bounded number of linear constraints in continuous (relaxed) variables – that appears to possess the preceding inclusion property for a vast majority of non-Hamiltonian cubic graphs.

The approaches given in this manuscript differ from the more traditional approach of identifying facet-inducing cuts in that we attempt to determine non-Hamiltonicity by forcing 𝒫 to become empty, rather than by seeking to eliminate subtours in an iterative fashion. Although the final approach given in this manuscript is an iterative procedure, none of the iterates are based upon the result of a previous iteration. Rather, for a given graph, we will outline a series of tests that can be identified in advance, and the failure of any of those tests guarantees non-Hamiltonicity.

Cubic graphs represent a natural test laboratory for this methodology, not only because HCP is still NP-complete, but also because of the availability of reliable public-domain generators (e.g. see Meringer <cit.>) that are capable of efficiently enumerating all nonequivalent connected cubic graphs of a given size. Our construction of the polyhedron 𝒫 is achieved in two stages. First, we propose a base model", containing constraints which are generic for all graphs. Secondly, we add in additional constraints in an iterative fashion whenever certain structures are present in the graph. Importantly, however, these structures can be identified by preprocessing requiring only polynomial-time algorithms.

Specifically, the structures that we search for are those that identify brittle points" in the graph. Recently, in Baniasadi et al <cit.>, it was demonstrated that the set of all connected cubic graphs can be separated into two disjoint subsets, namely genes and descendants. The key distinction between these two subsets is the presence (or absence) of special edge cut sets known as cubic crackers. The following two definitions are paraphrased from Baniasadi et al. <cit.>.

In a cubic graph, a k-cracker c_k is an edge cut set of cardinality k containing no adjacent edges, such that no proper subset of c_k is also an edge cut set. A cubic cracker is a cracker with cardinality no greater than 3.

A gene is a connected cubic graph that contains no cubic crackers, and a descendant is a connected cubic graph that contains at least one cubic cracker.

In Baniasadi et al. <cit.>, crackers were used to develop a decomposition theory for cubic graphs that exploits genes and crackers. That theory does not include any algorithmic results for identifying non-Hamiltonicity. However, the results of this manuscript provide strong empirical evidence that cubic crackers contain much information about the Hamiltonicity of a graph. Specifically, consideration
of the cubic crackers can very often be used to detect non-Hamiltonicity, if it is present. The method presented in this manuscript
either finds that a cubic graph is definitely non-Hamiltonian, or returns an inconclusive result. Since the majority of connected cubic graphs are Hamiltonian <cit.>, the latter outcome is obviously the most common, and by itself does not provide certainty that the graph is Hamiltonian. However, we will demonstrate that the number of false positives (that is, the number of non-Hamiltonian graphs returning an inconclusive result) is extremely low whenever our iterative procedure is used. Since determining whether a polyhedron, defined by polynomially-many linear constraints in polynomially-many continuous variables is empty, can be done by linear programming, this is a problem of polynomial complexity. Hence, the results presented in this manuscript serve to suggest that polynomial algorithms may be able to correctly identify non-Hamiltonicity of cubic graphs in the vast majority of cases.

Since non-Hamiltonian genes, by definition, do not contain any cubic crackers, the constraints based on the latter cannot be expected to be successful for these graphs. Indeed, they return an inconclusive result in all cases tested to date. Such non-Hamiltonian genes are called mutants. It was conjectured in <cit.> that mutants are extremely rare - indeed, only three such graphs containing 18 or fewer vertices exist. Despite their rarity, their identification may still be considered important; one justification could be that the set of mutants is a superset to the more famous set of (nontrivial) Snarks <cit.>. For this reason an additional heuristic is suggested at the end of this manuscript that succeeds in correctly identifying two of the three aforementioned graphs as non-Hamiltonian.


A famous related approach is the, now classical, Dantzig-Fulkerson-Johnson relaxation of the TSP with subtour constraints (e.g., see Dantzig et al. <cit.> and Cook et al <cit.>), which we will henceforth refer to as the DFJ relaxation. The constraints of that model, defined in terms of a given graph, also induce a polyhedron 𝒫_c ⊃𝒬. Then, if the polyhedron 𝒫_c is empty, the graph is definitely non-Hamiltonian. Although there are exponentially many subtour constraints, it is possible to determine whether the polyhedron is empty in polynomial time using cutting plane techniques. We will compare the performance of the DFJ relaxation with the method proposed in this manuscript, in terms of the proportion of non-Hamiltonian graphs identified.

Three previous attempts to construct a desirable polyhedron 𝒫⊃ Q were included in the recent PhD theses of Haythorpe <cit.> and Eshragh <cit.>, and in Avrachenkov et al <cit.>. In Haythorpe <cit.>, two of these polyhedra 𝒫 in variables corresponding to arcs were constructed, it was conjectured (based on empirical evidence) that both polyhedra are empty for any cubic bridge graph. Bridge graphs are always non-Hamiltonian, and it was conjectured in <cit.> that, asymptotically, almost all non-Hamiltonian graphs are bridge graphs.
However, no other non-Hamiltonian graphs were detected using either of the polyhedra in Haythorpe <cit.>.

In Eshragh <cit.>, and later in Avrachenkov et al <cit.>, a related but somewhat different polyhedron was constructed. New variables corresponding not only to arcs in a graph, but also to positional information, were introduced. These variables have a probabilistic interpretation - a variable x^k_r,ia can be thought of as the probability that arc (i,a) is selected at the r-th step in a Hamiltonian cycle beginning at vertex k. By convention, if vertex a is the first vertex visited in the Hamiltonian cycle after vertex k, then arc (k,a) is said to be the 0-th step of that Hamiltonian cycle. Clearly, in a solution corresponding to a Hamiltonian cycle, the variables must either take values 0 or 1. However, to retain linearity, this binary requirement was relaxed to allow x^k_r,ia to simply take continuous values in [0,1]. The polyhedron given in these variables was again demonstrated empirically to be empty for any cubic bridge graph. In addition, a small number of non-bridge non-Hamiltonian graphs also generated empty polyhedra. These results motivated the further analysis and development of this approach, detailed in this manuscript.

This paper is structured as follows. In Section <ref> we prove that our constructed polyhedron is empty whenever induced by a cubic bridge graph. We also demonstrate empirically that this polyhedron constitutes an LP relaxation that is at least as strong as the DFJ relaxation when induced by cubic graphs. In Section <ref> we introduce additional constraints based on cubic crackers that permit us to correctly identify the Hamiltonicity of nearly all tested cubic graphs (over 40,000). By contrast, when an equivalent approach based on the DFJ relaxation was applied, very little improvement over their standard model was detected. It thus appears that the variables x^k_r,ia can be used to capture valuable positional information that is not so easily captured by the variables used in the classical models. Finally, in the Appendix, we supply a list of further constraints which did not prove useful in our experimentation but may, nonetheless, be useful in further reducing the constructed polyhedron.



§ BASE HCP FEASIBILITY PROBLEM


Consider a connected undirected cubic graph Γ containing N vertices. For ease of notation, we denote the set of vertices that can be reached from a given vertex i in a single step by 𝒜(i). So if arc (i,a) exists in Γ, we say that a ∈𝒜(i). Similarly to the model introduced in Eshragh <cit.> and Avrachenkov et al <cit.>, we shall work in the space of vectors x = {x^k_r,ia   |    k = 1, , N;  r = 0, , N-1;  i = 1, , N;  a ∈𝒜(i)}. If h is a given Hamiltonian cycle in Γ, it uniquely identifies a vector x_h whose entries x^k_r,ia are equal to 1 whenever (i,a) is the r-th arc on h, assuming k to be the starting vertex, and all other entries x^k_r,ia are equal to 0. The convex hull of such x_h (corresponding to all Hamiltonian cycles of Γ) forms the polytope Q introduced in the previous section. Of course, we do not want to demand that entries of x are binary, and instead work with the relaxation that 0 ≤ x^k_r,ia≤ 1; ∀ k, r, i, a. Hence, if we also demand that ∑_i = 1^N∑_a ∈𝒜(i) x^k_r,ia = 1, then the variable x^k_r,ia can be interpreted as the probability that arc (i,a) is selected as the r-th step in a Hamiltonian cycle beginning at vertex k. Although these variables allow for 0-1 probability corresponding to N different Hamiltonian cycles (one starting from each vertex), the intention is for the probabilities to correspond to a single Hamiltonian cycle N times, with the different starting vertex being the only distinction.

We now introduce the base polyhedron 𝒫_b ⊃ Q, defined as the set of feasible solutions to the following family of linear constraints:


    ∑_a ∈𝒜(i) x^k_r,ia - ∑_a ∈𝒜(i) x^k_r-1,ai    =     0,     ∀ k = 1, , N;   r = 1, , N-1;   i = 1, , N,
          
    ∑_a ∈𝒜(i) x^k_r,ia - ∑_a ∈𝒜(k) x^i_N-r,k,a    =     0,     ∀ k = 1, , N;   r = 1, , N-1;   i = 1, , N,
          
    ∑_r = 0^N-1 x^k_r,ia - ∑_r = 0^N-1 x^j_r,ia    =     0,     ∀ j,k = 1, , N, j ≠ k;   (i,a) ∈Γ,
    ∑_k = 1^N x^k_r,ia - ∑_k = 1^N x^k_s,ia    =     0,     ∀ r,s = 0, , N-1, r ≠ s;   (i,a) ∈Γ,
    ∑_r = 0^N-1∑_a ∈𝒜(i) x^k_r,ia    =     1,     ∀ k = 1, , N;   i = 1, , N,
    ∑_k = 1^N ∑_a ∈𝒜(i) x^k_r,ia    =     1,     ∀ r = 0, , N-1;   i = 1, , N,
    
    x^k_0,ia    =     0,     ∀ k = 1, , N;   i ≠ k;   (i,a) ∈Γ,
    
    x^k_r,ia   ≥    0,     ∀ k = 1, , N;   r = 0, , N-1;   (i,a) ∈Γ.


The next proposition shows that constraints (<ref>)–(<ref>) are consistent whenever Γ is Hamiltonian.

If Γ is Hamiltonian, 𝒫_b ≠∅. Indeed, x_h ∈𝒫_b whenever h is a Hamiltonian cycle in Γ.

Consider a Hamiltonian cycle h in the graph. Corresponding to this Hamiltonian cycle is a setting of the variables x_h containing entries x^k_r,ia such that each variable is either 1 or 0. Then, we interpret ∑_a ∈𝒜(i) x^k_r,ia as the probability that vertex i is the r-th vertex in a Hamiltonian cycle starting at vertex k (by convention, we say that vertex k is the 0-th vertex in the cycle). Clearly for the Hamiltonian cycle, this expression will also be either 1 or 0.

We consider each constraint separately:


  ∙ For any given constraint in (<ref>), the first term is either 1 or 0. If it is 1, it implies that vertex i is the r-th step in the Hamiltonian cycle starting at vertex k. Then, it is clear that vertex i must be entered in the previous step, and therefore the second term must also be 1. Using similar reasoning, if the first term is 0, the second term must also be 0. In either case, the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the first term is either 1 or 0. If it is 1, it implies that vertex i is the r-th step in the Hamiltonian cycle starting at vertex k. Then, it is clear that in a further N-r steps vertex k would be departed from again. Therefore, starting from vertex i, the cycle departs from vertex k after N-r steps, and therefore the second term must also be 1. Using similar reasoning, if the first term is 0, the second term must also be 0. Either way, the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the first term corresponds to the probability that an arc (i,a) is chosen at some stage in a Hamiltonian cycle starting at vertex k. Clearly, this term is either 1 or 0. If it is 1, then the same Hamiltonian cycle starting at a different vertex must still travel through this arc, and therefore the second term must also be 1. Using similar reasoning, if the first term is 0, the second term must also be 0. In either case, the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the first term corresponds to the probability that there is some starting vertex such that arc (i,a) is the r-th step in a Hamiltonian cycle starting at that vertex. Clearly, this term is either 1 or 0. If it is 1, then for any other step s there must be some starting vertex such that arc (i,a) is the s-th step, and therefore the second term must also be 1. Using similar reasoning, if the first term is 0, the second term must also be 0. Either way, the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the left hand side corresponds to the sum of probabilities that a particular vertex is selected at each possible step on a Hamiltonian cycle starting at a particular vertex. Since a Hamiltonian cycle passes through every vertex exactly once, this sum of probabilities must be 1, and the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the left hand side corresponds to the sum of probabilities that a particular vertex is selected at a particular step on a Hamiltonian cycle starting at each possible starting vertex. Since the N Hamiltonian cycles are all equivalent, this can only occur from a single starting vertex, but must occur once. Therefore, the sum of probabilities is 1, and the constraint is satisfied.


  ∙ For any given constraint in (<ref>), the left hand side corresponds to the probability that a vertex is departed at the very start of a Hamiltonian cycle starting at a different vertex. Clearly, this cannot happen, and so the probability is 0 and the constraint is satisfied.


  ∙ For any given constraint in (<ref>), we know that all the x^k_r,ia corresponding to a Hamiltonian cycle are either 1 or 0, so they trivially satisfy the nonnegativity constraint.


Therefore, the setting of 0-1 values for x_h corresponding to any Hamiltonian cycle h satisfies all the constraints. Then, any graph containing a Hamiltonian cycle is guaranteed to have feasible solutions.

Constraints (<ref>)–(<ref>) represent obvious requirements of Hamiltonian cycles, however it is possible that 𝒫_b ≠∅ even when Γ does not possess any Hamiltonian cycles. Indeed, for the famous 10-vertex Petersen graph <cit.> this is the case. However, it is natural to ask whether 𝒫_b = ∅ for some natural subclass of non-Hamiltonian graphs. It is well-known that any graph containing a bridge is non-Hamiltonian, and such graphs appears to be the most common cubic non-Hamiltonian graphs <cit.>. The following theorem proves that any graph containing a bridge is unable to satisfy the constraints. Consider a cubic bridge graph Γ with N vertices, containing a bridge (u,v) that separates Γ into two components U and V, as displayed in Figure <ref>. Clearly, |U| + |V| = N.





Consider cubic graph Γ. Then, 𝒫_b = ∅.

Let (u,v) be the bridge in Γ as defined above. Then, suppose there exists a feasible solution to (<ref>)–(<ref>). From (<ref>), selecting k = u, r = 1 and i = v,

    ∑_a ∈𝒜(v) x^u_1,va = ∑_a ∈𝒜(v) x^u_0,av.


From (<ref>), selecting k = u, it is clear that

    x^u_0,av    =     0,     ∀ a ∈𝒜(v),


Then, substituting (<ref>) into (<ref>), we obtain

    ∑_a ∈𝒜(v) x^u_1,va    =     x^u_0,uv.


Now, from (<ref>), selecting r = 0 and i = u,

    ∑_k=1^N∑_a ∈𝒜(u) x^k_0,ua    =     1.


From (<ref>) it is clear that (<ref>) simplifies to

    ∑_a ∈𝒜(u) x^u_0,ua    =     1.


From (<ref>), selecting k = u and i = u,

    ∑_r=0^N-1∑_a ∈𝒜(u) x^u_r,ua    =     1,


and from (<ref>), selecting k = u and i = u,

    x^u_r,ua   ≥    0,     ∀ r,   ∀ a ∈𝒜(u).


Substituting (<ref>) and (<ref>) into (<ref>), we conclude that

    x^u_r,ua    =     0,     ∀ r ≥ 1,   ∀ a ∈𝒜(u).


Using identical arguments to the above, but interchanging u and v, we similarly conclude that

    x^v_r,va    =     0,     ∀ r ≥ 1,   ∀ a ∈𝒜(v).


Now, selecting k = u and i = u in (<ref>) and substituting in (<ref>), we obtain

    ∑_a ∈𝒜(u)x^u_r,au    =     0,     ∀ r ≤ N-2,   ∀ a ∈𝒜(u),


and by the nonnegativity of all variables we conclude that

    x^u_r,au    =     0,     ∀ r ≤ N-2,   ∀ a ∈𝒜(u).


Next, we consider the restricted set of vertices c ∈ V. From (<ref>) we know that, since u ∈ U, x^u_0,ca = 0 for all c ∈ V.

Then, from (<ref>) and (<ref>), selecting k = u, r = 1, and i = c we obtain


    ∑_a ∈𝒜(c) x^u_1,ca    =    ∑_a ∈𝒜(c) x^u_0,ac = x^u_0,uc,   ∀ c ∈ V.


Since the only vertex in V that u connects to is v, we conclude from (<ref>) and the nonnegativity of variables that x^u_1,ca = 0 for all c ∈ V ∖ v. Next, we consider r ≥ 2. Summing (<ref>) over all c ∈ V, and selecting k = u, we obtain

    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r-1,ac,     ∀ r ≥ 2.


The right hand side of (<ref>) considers the sum of probabilities over all arcs that go to vertices in V at a given starting vertex u and stage r-1. However, with the sole exception of the bridge arc (u,v), all arcs going to a vertex in V originate in V. Similarly, with the sole exception of the bridge arc (v,u), all arcs originating in V go to a vertex in V. Therefore, the right hand side of (<ref>) can alternatively be expressed as the sum of all arcs originating at (rather than going to) vertices in V for the same fixed k and r, with the only discrepency occurring at the bridge. Therefore, we can rewrite (<ref>) as

    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =    [∑_c ∈ V∑_a ∈𝒜(c) x^u_r-1,ca] + x^u_r-1,uv - x^u_r-1,vu,     ∀ r ≥ 2.


However, from (<ref>) and (<ref>), we know that both x^u_r-1,uv = x^u_r-1,vu = 0 for r ≥ 2. Therefore, (<ref>) simplifies to

    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r-1,ca,     ∀ r ≥ 2.


Recursively substituting values of r into (<ref>) we obtain


    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =    ∑_c ∈ V∑_a ∈𝒜(c) x^u_1,ca,     ∀ r ≥ 2.


Now, substituting (<ref>) into the right hand side of (<ref>) and recalling that x^u_1,ca = 0 for all c ∈ V ∖ v, we obtain

    ∑_c ∈ V∑_a ∈𝒜(c) x^u_1,ca    =     x^u_0,uv,


and therefore, substituting (<ref>) into (<ref>), gives

    ∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =     x^u_0,uv,     ∀ r ≥ 1.


Recalling that x^u_0,ca = 0 for all c ∈ V, we can sum over all values of r in (<ref>) to obtain

    ∑_r = 0^N-1∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca    =    ∑_c ∈ V∑_a ∈𝒜(c) x^u_0,ca + ∑_r = 1^N-1∑_c ∈ V∑_a ∈𝒜(c) x^u_r,ca = (N-1)x^u_0,uv.


However, rearranging the above equation, we observe from (<ref>) that

    ∑_c ∈ V∑_r = 0^N-1∑_a ∈𝒜(c) x^u_r,ca    =     |V|.


Equating (<ref>) and (<ref>) we see that

    x^u_0,uv = |V|/N-1.


Using identical arguments to the above, but interchanging vertices c ∈ V with vertices b ∈ U, we similarly obtain

    x^v_0,vu    =    |U|/N-1.


Now, from (<ref>), selecting k = u, j = v, i = v and a = u,

    ∑_r = 0^N-1 x^u_r,vu    =    ∑_r = 0^N-1 x^v_r,vu.


Substituting (<ref>) and (<ref>) into (<ref>), we obtain

    ∑_r = 0^N-1 x^u_r,vu    =     x^v_0,vu = |U|/N-1.


Substituting (<ref>) into (<ref>), the latter simplifies to

    x^u_N-1,vu    =    |U|/N-1.


Then, from (<ref>), selecting k = u and i = v,

    ∑_r = 0^N-1∑_a ∈𝒜(v) x^u_r,va    =     1.


However, from (<ref>), (<ref>) and (<ref>), we have

    ∑_r=0^N-1∑_a ∈𝒜(v) x^u_r,va≥[∑_a ∈𝒜(v) x^u_1,va] + x^u_N-1,vu    =    |V|/N-1 + |U|/N-1 = N/N-1.


Finally, substituting (<ref>) into (<ref>) we get 1 ≥N/N-1. Since N ≥ 2 this is a contradiction, and therefore no feasible solution to constraints (<ref>)–(<ref>) exists for any cubic bridge graph Γ.

From Proposition <ref> and Theorem <ref> we know for certain that 𝒫_b ≠∅ for cubic Hamiltonian graphs, and 𝒫_b = ∅ for cubic bridge graphs. However, for other non-Hamiltonian graphs, we have no such definite result. Constraints (<ref>)–(<ref>) were implemented in CPLEX 12.3 and were tested on all non-Hamiltonian cubic graphs containing up to 18 vertices, to see if their non-Hamiltonicity could be identified. The results are given in Table <ref>. Note that, although we only required constraints (<ref>), (<ref>), and (<ref>)–(<ref>) to prove Theorem <ref>, we still included constraints (<ref>) and (<ref>) in the model when computing the following results.



Unsurprisingly, the results in Table <ref> correctly identify precisely the same graphs as those reported in Avrachenkov et al <cit.>. As can be seen in the table, some non-bridge non-Hamiltonian graphs were identified by the condition 𝒫_b = ∅, however the large majority of such graphs remain unidentified, suggesting that 𝒫_b ∖ Q is too large in general. In the following section, we propose a heuristic based on iteratively constructing new polyhedra by augmenting constraints (<ref>)–(<ref>) with additional information in order to obtain vastly improved results.

However, first we compare the above results with the famous Dantzig-Fulkerson-Johnson relaxation of the TSP with subtour constraints, applied to HCP. The following model is paraphrased from Cook et al <cit.>, where variable x_ia corresponds to the flow on the edge (i,a) in a tour.


    ∑_a ∈𝒜(i) x_ia    =     2,     ∀ i = 1, , N,
    ∑_i ∈ S∑_a ∈𝒜(i), a ∉S x_ia   ≥    2,     ∀ 1 ≤ |S| ≤ N-1,
    
    x_ia    =     x_ai,     ∀ i = 1, , N;   a ∈𝒜(i),
    
    x_ia   ≤    1,     ∀ i = 1, , N;   a ∈𝒜(i),
    
    x_ia   ≥    0,     ∀ i = 1, , N;   a ∈𝒜(i),


where S is a proper subset of the vertices of the graph. Let 𝒫_c denote the feasible region defined by (<ref>)–(<ref>). Note that there are 2^N - 2 constraints in (<ref>). Although cutting plane approaches have been successfully utilised in the past to solve (<ref>)–(<ref>) in polynomial time, for the purposes of the following comparison, we included all of the constraints.

Much like for our base polyhedron 𝒫_b, if 𝒫_c is empty, we can conclude that the graph is non-Hamiltonian. Constraints (<ref>)–(<ref>) were implemented in CPLEX 12.3 and tested on the same set of non-Hamiltonian cubic graphs containing up to 18 vertices that were used to produce Table <ref>. The results were quite surprising. Exactly the same set of graphs which were identified as being non-Hamiltonian in Table <ref> were also identified as being non-Hamiltonian via the DFJ relaxation, and no additional graphs were able to be identified as non-Hamiltonian. Although these results were only obtained over relatively small cubic graphs, they are still striking enough to motivate the following conjecture.

For any cubic graph Γ, (<ref>)–(<ref>) are a polynomial-size set of constraints which are equivalent to the exponential-size set of constraints (<ref>)–(<ref>). That is, 𝒫_b = 𝒫_c.

Note that in the above conjecture we assume cubicity, since all of our test graphs were cubic. However, there are no constraints in either model that require or take advantage of cubicity, so it is reasonable to think that the conjecture, if true for cubic graphs, might also be true for a larger set of graphs.



§ CUBIC CRACKER HCP FEASIBILITY HEURISTIC


The results in the previous section came from a generic model that is defined for all graphs. However, it seems sensible to take advantage of the specific structure of a given graph whenever possible. For this reason, we now investigate the use of cubic crackers to augment the set of constraints that define 𝒫_b.

Recall from Definition <ref> that a cubic cracker is an edge cut set of cardinality no greater than three, containing no adjacent edges, such that no proper subset of the edges is an edge cut set. Identifying all cubic crackers in a graph is a simple process of considering all sets of up to three non-adjacent edges, and checking if their removal disconnects the graph. For a cubic graph there are 3N/2 edges, so the number of such sets of three non-adjacent edges is bounded above by order O(N^3). Confirming the connectedness of a graph is also a polynomial-time process (e.g. see Siek et al <cit.>). Therefore, the process of identifying all cubic crackers is a polynomial-time process.

If no cubic crackers are identified in a cubic graph (that is, the graph is a gene) then no additional constraints are augmented by the approach outlined in this section. If any 1-crackers are identified in a graph, then by definition that graph is a bridge graph, and therefore non-Hamiltonian. Of course, from Theorem <ref> we know that such graphs will be found to be infeasible by the condition 𝒫_b = ∅, hence there is no need to solve a further feasibility problem for them.

If a cubic graph contains no 1-crackers, but contains some 2-crackers or 3-crackers (e.g. see Figure <ref>), then we can augment constraints (<ref>)–(<ref>) with new constraints. Since a cubic cracker contains no more than 3 edges, and the removal of these edges disconnects the graph, any Hamiltonian cycle must pass through exactly two of these edges. Starting on one side of the cubic cracker, the other side can only be accessed via an edge in the cubic cracker. Eventually, a second edge of the cubic cracker must be traversed in order to leave this second side and return to the starting vertex. However, once the second side has been exited, it is never returned to again (as there are not enough edges remaining to revisit the second side and still return to the starting vertex). Therefore the entirety of this second side must be traversed before a second edge in the cubic cracker is traversed. This knowledge allows us to impose certain structural demands on any Hamiltonian cycle in a cubic graph containing such cubic crackers (that is, a descendant graph). Call the two components either side of the cracker U and V. Then clearly each edge of the cubic cracker joins a vertex in U to a vertex in V.




Each 2-cracker and 3-cracker in the graph is considered separately to see if their individual structural requirements induce infeasibility. For any given 2-cracker or 3-cracker, all possible selections of 2 edges within the cracker are considered. For 2-crackers there is only one choice, whereas for 3-crackers there are three different ways to select two edges. Then, for each selection of 2 edges, we fix them and demand that a Hamiltonian cycle be found that uses these fixed edges. Of course, the constraints in this manuscript are designed to identify directed Hamiltonian cycles, so we must select an orientation along the two edges - one edge will be traversed emanating from U, and the second edge back towards U. However, since all graphs considered in this manuscript are undirected, a directed Hamiltonian cycle in one direction exists if and only if a second directed Hamiltonian cycle traversing the same edges in the opposite direction also exists, and so we can select either orientation over the two selected edges. Since we are selecting orientations of edges, when no confusion is possible, we will simply refer to a selection of two arcs.

The cubic cracker constraints that will be given shortly make use of the following expression,

    ∑_r=0^N-1 r ∑_a ∈𝒜(i) x^k_r,ia,

which has a natural interpretation when the x variables correspond to a Hamiltonian cycle. We know that, for a Hamiltonian cycle starting at vertex k, any given vertex i must be departed from at some stage, and then never departed from again. So, for a Hamiltonian cycle, precisely one of the x^k_r,ia terms in (<ref>) is 1, and the rest are 0. Since the term corresponding to the r-th step is multiplied by r, we can think of (<ref>) as the position of vertex i on the Hamiltonian cycle originating at vertex k.

Suppose now that we have selected arcs (u_1,v_1) and (v_2,u_2) of a cubic cracker to be fixed, where u_1, u_2 ∈ U and v_1, v_2 ∈ V. Then any Hamiltonian cycle that traverses these two arcs must satisfy the following four conditions:


  
  * Vertex v_1 must come directly after u_1, unless v_1 is the starting vertex;
  
  * Vertex u_2 must come directly after vertex v_2, unless u_2 is the starting vertex;
  
  * Vertex v_2 must come exactly |V|-1 positions after v_1, unless v_2 comes before v_1;
  
  * Vertex u_1 must come exactly |U|-1 positions after u_2, unless u_1 comes before u_2.


Of course, there could be many more requirements imposed by the selection of two arcs of a cubic cracker, but we demonstrate shortly that the above four conditions are very powerful even by themselves.

The expression in (<ref>) allows us to augment the constraints that define 𝒫_b in order to define a new polytope 𝒫_c ⊂𝒫_b that captures the above four conditions. Note however that 𝒫_c depends on the particular two fixed arcs of the cubic cracker considered, and so for a given graph there may be many such polyhedra 𝒫_c. The augmenting constraints are:


    ∑_r=0^N-1 r[∑_a ∈𝒜(v_1) x^k_r,v_1a - ∑_a ∈𝒜(u_1) x^k_r,u_1a]     =     1,     ∀ k ≠ v_1
    ∑_r=0^N-1 r[∑_a ∈𝒜(u_2) x^k_r,u_2a - ∑_a ∈𝒜(v_2) x^k_r,v_2a]     =     1,     ∀ k ≠ u_2
    ∑_r=0^N-1 r[∑_a ∈𝒜(v_2) x^k_r,v_2a - ∑_a ∈𝒜(v_1) x^k_r,v_1a]     =     |V|-1,     ∀ k ∈ U
    ∑_r=0^N-1 r[∑_a ∈𝒜(u_1) x^k_r,u_1a - ∑_a ∈𝒜(u_2) x^k_r,u_2a]     =     |U|-1.     ∀ k ∈ V


Note that the conditions on k for constraint (<ref>) ensure that v_2 comes after v_1, and likewise the conditions on k for constraint (<ref>) ensures that u_1 comes after u_2.

If, for a particular selection of two arcs of a cubic cracker, 𝒫_c = ∅, then it is impossible to construct a Hamiltonian cycle that traverses those two arcs of the cubic cracker. If 𝒫_c = ∅ for all possible selections of two arcs of a cubic cracker, then no Hamiltonian cycle can traverse the cubic cracker at all, and the graph is definitely non-Hamiltonian. If, however, 𝒫_c ≠∅ for some selection of 2 arcs of the cubic cracker, the next cubic cracker is considered instead. Only once all cubic crackers present in a graph have been considered, and we have found 𝒫_c ≠∅ for some selection of 2 arcs within each of them, is a final result of feasibility returned. Of course, in such a case, we still cannot be certain that the graph is Hamiltonian; however, as will be shown shortly, the incidence of false positives is extremely low.

Empirically, we have found that not all constraints (<ref>)–(<ref>) are required for this approach to satisfy the condition 𝒫_c = ∅. In particular, we found constraints (<ref>)–(<ref>) were not required, and their presence in the model did not alter the result once cubic cracker constraints were used in all tested cases. Then, for each selection of 2 arcs (u_1,v_1) and (v_2,u_2) of a cubic cracker, the new feasibility problem solved is:


    ∑_a ∈𝒜(i) x^k_r,ia - ∑_a ∈𝒜(i) x^k_r-1,ai    =     0,     ∀ k = 1, , N; r = 1, , N-1; i = 1, , N,
          
    ∑_a ∈𝒜(i) x^k_r,ia - ∑_a ∈𝒜(k) x^i_N-r,k,a    =     0,     ∀ k = 1, , N; r = 1, , N-1; i = 1, , N,
          
    ∑_r = 0^N-1 x^k_r,ia - ∑_r = 0^N-1 x^j_r,ia    =     0,     ∀ j,k = 1, , N, j ≠ k; (i,a) ∈Γ,
    ∑_k = 1^N x^k_r,ia - ∑_k = 1^N x^k_s,ia    =     0,      r,s = 0, , N-1, r ≠ s; (i,a) ∈Γ,
    
    x^k_0,ia    =     0,     ∀ k = 1, , N; i ≠ k; (i,a) ∈Γ,


    ∑_r=0^N-1 r[∑_a ∈𝒜(v_1) x^k_r,v_1,a - ∑_a ∈𝒜(u_1) x^k_r,u_1a]     =     1,     ∀ k ≠ v_1
    ∑_r=0^N-1 r[∑_a ∈𝒜(u_2) x^k_r,u_2a - ∑_a ∈𝒜(v_2) x^k_r,v_2a]     =     1,     ∀ k ≠ u_2
    ∑_r=0^N-1 r[∑_a ∈𝒜(v_2) x^k_r,v_2a - ∑_a ∈𝒜(v_1) x^k_r,v_1a]     =     |V|-1,     ∀ k ∈ U
    ∑_r=0^N-1 r[∑_a ∈𝒜(u_1) x^k_r,u_1a - ∑_a ∈𝒜(u_2) x^k_r,u_2a]     =     |U|-1,     ∀ k ∈ V


    x^k_r,ia   ≥    0,     ∀ k = 1, , N; r = 0, , N-1; (i,a) ∈Γ.


We refer to this systematic approach to identifying non-Hamiltonicity by testing the condition that 𝒫_c = ∅ over all selections of 2 arcs for each cubic cracker as the cubic cracker HCP feasibility heuristic (CHFH). Although the approach of considering individual crackers in isolation is weaker than considering all cubic crackers in conjunction, it is taken in order to ensure the number of feasibility problems considered remains bounded polynomially. A cubic graph may contain many 3-crackers, and for each of these, three orientations need to be considered. For example, if a graph contained m 3-crackers, considering each selection of 2 arcs of the 3-crackers in conjunction would require 3^m feasibility problems, whereas considering them separately requires only 3m feasibility problems.

CHFH was implemented in CPLEX 12.3 and all non-Hamiltonian cubic graphs containing up to 18 vertices were tested. The results are given in Table <ref>, where the Improvement" column refers to the number of correctly identified non-bridge non-Hamiltonian graphs that were not so identified by the model in Section <ref>.



As can be seen in Table <ref>, almost all non-Hamiltonian graphs are identified by CHFH. In fact, only a single non-Hamiltonian descendant returns feasibility in all the graphs tested. The other non-Hamiltonian graphs that return feasibility are the three mutants (non-Hamiltonian genes) containing up to 18 vertices. This represents only four graphs from the total set of 1,927 non-Hamiltonian connected cubic graphs containing up to 18 vertices that this approach is unable to identify. Although we provide no formal results to prove that this high success rate should continue as larger graphs are considered, the empirical results to this stage are very compelling.

Once again, we chose the Dantzig-Fulkerson-Johnson relaxation of the TSP with subtour constraints to benchmark the above results. In a similar manner to CHFH, we constructed a cubic cracker-based heuristic for constraints (<ref>)–(<ref>). The heuristic was similar to CHFH in that we first identified all cubic crackers in a graph, and then for each one found, we iteratively considered all possible choices of fixing two edges to be traversed. For 2-crackers, the subtour constraints (<ref>) ensure that this occurs anyway, but in the case of 3-crackers, this was achieved by simply removing the unused edge from the model in each iteration. This process is equivalent to enforcing constraints (<ref>)–(<ref>). However, since there is no way to specify at which step vertices are visited in the DFJ relaxation, there are no equivalent constraints to (<ref>)–(<ref>).

This heuristic was also implemented in CPLEX 12.3 and all non-Hamiltonian cubic graphs containing up to 18 vertices were tested. The results are given in Table <ref>.



As can be seen, the cubic cracker-based heuristic built on the DFJ relaxation does identify a few more non-Hamiltonian graphs than the standard DFJ relaxation (specifically, four additional 18-vertex graphs), but the majority of them remain unidentified. It seems that the additional flexibility offered by the variables used in CHFH permits a far greater number of tested non-Hamiltonian graphs to be identified. These results demonstrate that although cubic crackers contain very useful information, how best to take advantage of that information also requires careful consideration.

The one descendant graph that provided a false positive for CHFH can be seen in Figure <ref>. It contains 18 vertices. When generated by GENREG <cit.> using the command  it has the ID #4652. For this reason we refer to it as Γ^18_4652. It contains a single 2-cracker, and no other cubic crackers.




The other three non-Hamiltonian cubic graphs that return feasibility for CHFH are well-known in literature. They are the Petersen graph, and the two Blanus̆a snarks, which are displayed in Figure <ref>. CHFH has little opportunity to identify these graphs as non-Hamiltonian because they contain no cubic crackers. However, there is a logical approach that can be pursued to attempt to identify such graphs as non-Hamiltonian. For any cubic graph Γ, a second graph Γ_2 can be formed by replacing a vertex v ∈Γ by a triangle, such that for each edge in Γ that is adjacent to v, there is an equivalent edge in Γ_2 that is adjacent to one of the vertices of the triangle[The operation of replacing a vertex by a triangle is known in engineering fields as a Y– transform <cit.>.]. Then, Γ_2 is Hamiltonian if and only if Γ is Hamiltonian. However, the introduction of a triangle creates a 3-cracker in Γ_2, and so CHFH can be used for Γ_2. If Γ_2 is found to be non-Hamiltonian by CHFH, then Γ is certainly non-Hamiltonian as well. This approach was tested for the Petersen graph and the two Blanus̆a snarks, with the triangle replacing the first vertex in each graph as produced by GENREG <cit.>. In two of the three cases, specifically those of the Petersen graph and the first Blanus̆a snark, CHFH was able to identify the descendants obtained as non-Hamiltonian. Only for the second Blanus̆a snark did CHFH fail to identify the descendant obtained as non-Hamiltonian via this approach. Therefore, using this systematic approach, the Hamiltonicity of only two graphs (out of 45,982 connected cubic graphs tested) is not correctly identified.




Of course, it is entirely possible that there are additional constraints that could be used in CHFH that may result in the correct identification of these two exceptional cases. In the appendix we list all the additional constraints we have used to date, but note that these constraints did not result in the successful identification of Γ^18_4652 nor the second Blanus̆a snark as non-Hamiltonian graphs by this approach.



§ APPENDIX: ADDITIONAL CONSTRAINTS


We separate the appendix into three smaller sections; extra constraints that could be applied in the base feasibility program, constraints in new variables that represent arcs in a reverse Hamiltonian cycle and arcs not selected in a Hamiltonian cycle, and additional cubic cracker constraints. It should be noted that in all tested graphs, augmenting these constraints to CHFH does not alter the output of CHFH, however it is possible that it would do so for some larger cubic graphs. This appendix is not intended as an exhaustive list of such constraints that could be used, but rather a guide to interested readers as to which constraints have already been tested. Note that some of these constraints may be redundant given other constraints. A short interpretation is given after each constraint.

Also note that in the following additional constraints we occasionally use μ^i_j, defined to be the length of the shortest path from vertex i to vertex j. These can be computed, in advance, in quadratic time using Dijkstra's algorithm.

Basic constraints:






    ∑_i=1^N∑_a ∈𝒜(i) x^k_r,ia    =     1,     ∀ k = 1, , N; r = 0, , N-1.

Interpretation: For any given starting vertex, at any given stage, exactly one arc must be selected.

    x^k_r,ka    =     0,     ∀ k = 1, , N; r = 1, , N-1; a ∈𝒜(k).

Interpretation: The starting vertex can not be departed from again after the initial step.

    x^k_r,bk    =     0,     ∀ k = 1, , N; r = 0, , N-2; b ∈𝒜(k).

Interpretation: The starting vertex can not be reentered until the final step in the Hamiltonian cycle.

    x^k_r,ia    =     0,     ∀ k = 1, , N; (i,a) ∈Γ, r < μ_i^k r > N - μ_a^k - 1.

Interpretation: An edge (i,a) cannot be traversed in a certain step unless it is both possible to reach the vertex i by that time step, and then possible to return to the starting vertex from vertex a in the remaining time steps.

    ∑_r=0^N-1 r [∑_a ∈𝒜(i) x^k_r,ia + ∑_a ∈𝒜(j) x^k_r,ja]    ≥    2min(μ^k_i,μ^k_j) + μ^i_j,
           ∀ k = 1, , N; i,j = 1, , N ∖ k.

Interpretation: Let vertices i and j be on a Hamiltonian cycle starting at vertex k. One must be reached before the other. Then, once the closer vertex is reached, the further vertex cannot be reached in fewer steps than the shortest path between vertices i and j.

New variables:

In this category we introduce two sets of new variables denoted by y^k_r,ia and s^k_ia. The former, y^k_r,ia are equivalent to the variables in x used so far, except that it corresponds to the reverse Hamiltonian cycle. That is, y^k_r,ia = 1 if arc (i,a) is the r-th step in the reverse Hamiltonian cycle originating at vertex k, and y^k_r,ia = 0 otherwise. The intention is that the Hamiltonian cycles traced out by the variables in x and y are identical except for their direction. Obviously then, x^k_r,ia = y^k_N-r-1,ai. Every constraint given so far for the variables in x should also be applied to the variables in y. In addition, we supply sets of coupling constraints below.

Since we consider cubic graphs in this manuscript, from any given vertex there are three arcs emanating. For a Hamiltonian cycle, one will be selected for the variables in x at some stage r, a second will be selected for the variables in y at stage N-r-1, and a third is not selected at any stage. The new variable s^k_ia corresponds to the arc never selected in the following manner: s^k_ia = 0.5 if arc (i,a) is not selected in the Hamiltonian cycle or the reverse Hamiltonian cycle and either k = i or k = a, and s^k_ia = 0 otherwise. Note that for the s^k_ia variables, no subscript corresponding to a stage is required, however a superscript corresponding to the starting vertex is used to enable the simple construction of coupling constraints between the variables in x, y and s. Note that for a given k, exactly two s^k_ia are non-zero.

The following constraints involve the new (and sometimes old) variables.


    ∑_a ∈𝒜(i) x^k_r,ia - ∑_a ∈𝒜(i) y^k_N-r,ia    =     0,     ∀ k = 1, , N; r = 1, , N-1; i = 1, , N.

Interpretation: If a vertex is departed from at stage r in a Hamiltonian cycle, then it must be entered at stage N-r-1 in the reverse Hamiltonian cycle, and therefore departed from at stage N-r in the reverse Hamiltonian cycle.

    ∑_r=0^N-1 r [∑_a ∈𝒜(i) x^k_r,ia + ∑_a ∈𝒜(i) y^k_r,ia]     =     N,     ∀ k = 1, , N; i = 1, , N; i ≠ k.

Interpretation: If the position of any vertex (other than the starting vertex) on a Hamiltonian cycle is ℓ, then the position of the same vertex on the reverse Hamiltonian cycle must be N-ℓ, and so their sum is N.

    ∑_k=1^N x^k_r,ia + ∑_k=1^N y^k_r,ia   ≤    1,     ∀ r = 0, , N-1; (i,a) ∈Γ.

Interpretation: If an arc (i,a) is used at stage r in a Hamiltonian cycle or reverse Hamiltonian cycle, it can only be so in one of them and for only one starting vertex. Of course, arc (i,a) may be used by neither, in which case the left hand side of (<ref>) is 0.

    ∑_a ∈𝒜(i) s^k_ia - ∑_a ∈𝒜(i) s^k_ai    =     0,     ∀ k = 1, , N; i = 1, , N,
    ∑_k=1^N∑_a ∈𝒜(i) s^k_ia    =     1,     ∀ i = 1, , N,
    ∑_i=1^N∑_a ∈𝒜(i) s^k_ia    =     1,     ∀ k = 1, , N.

Interpretation: For any given starting vertex, there is a single incoming and a single outgoing arc not used in either Hamiltonian cycle.

    s^k_ia    =     0,     ∀ k = 1, , N; (i,a) ∈Γ; μ^k_i > 1.

Interpretation: Ensures that we only consider legal arcs in the s variables.

    ∑_a ∈𝒜(k) s^k_ka    =     0.5,     ∀ k = 1, , N,
    ∑_a ∈𝒜(i) s^k_ia   ≤    0.5,     ∀ k = 1, , N; i = 1, , N; i ≠ k.

Interpretation: For a given vertex, there is a single outgoing arc not used in either the forward or the reverse Hamiltonian cycle.

    x^j_r,ia + y^k_r,ia   ≤    1,     ∀ k = 1, , N; ∀ j = 1, , N; r = 0, , N-1; (i,a) ∈Γ.

Interpretation: A given arc cannot appear in both the Hamiltonian cycle and the reverse Hamiltonian cycle.

    ∑_r=0^N-1 x^k_r,ia - ∑_r=0^N-1 y^k_r,ai    =     0,     ∀ k = 1, , N; (i,a) ∈Γ.

Interpretation: If an arc is selected in a Hamiltonian cycle at some stage, its reverse must be selected in the reverse Hamiltonian cycle at some stage.

    ∑_k=1^N x^k_r,ia + ∑_k=1^N y^k_r,ia + ∑_k=1^N s^k_ia    =     1, r = 0, , N-1;     ∀ (i,a) ∈Γ.

Interpretation: Any arc in the graph is either used in a Hamiltonian cycle, a reverse Hamiltonian cycle, or not at all.

Cracker constraints:

Consider a cubic cracker that divides a graph into two components U and V, containing |U| and |V| vertices respectively. Assume, without loss of generality, that |U| ≤ |V|. Suppose two arcs (u_1,v_1) and (v_2,u_2) from the cubic cracker are selected to be traversed by a Hamiltonian cycle. The following additional cracker constraints can be applied for this selection of two arcs. In the following, δ^i_j is the Kronecker delta that is equal to 1 if i = j, and 0 otherwise.


    ∑_r=0^N-1 r ∑_a ∈𝒜(u_1) x^v_1_r,u_1a    =     N-1,
    ∑_r=0^N-1 r ∑_a ∈𝒜(w_2) x^u_2_r,v_2a    =     N-1.

Interpretation: A Hamiltonian cycle starting at the head vertex of a cracker arc must visit the tail vertex of the cracker after N-1 steps.

    x^k_r,u_1a    =     0,     ∀ k = 1, , N; r = 0, , N-1; a ≠ v_1,
    
    x^k_r,v_2a    =     0,     ∀ k = 1, , N; r = 0, , N-1; a ≠ u_2.

Interpretation: The tail vertex of a cracker arc must be followed by the head vertex of the cracker arc.

    x^k_r,v_1u_1    =     0,     ∀ k = 1, , N; r = 0, , N-1,
    
    x^k_r,u_2v_2    =     0,     ∀ k = 1, , N; r = 0, , N-1.

Interpretation: A forward Hamiltonian cycle is not permitted to travel backwards over a fixed cracker arc.

    x^u_1_r,u_1v_1    =    δ^r_0,     ∀ r = 0, , N-1,
    
    x^v_2_r,v_2u_2    =    δ^r_0,     ∀ r = 0, , N-1.

Interpretation: Starting at the head vertex of a cracker arc, the first step must be to cross the cracker, and then that cracker arc should not be crossed again.

    x^u_1_r,v_1a    =    δ^r_1,     ∀ r = 0, , N-1; a ∈𝒜(v_1),
    
    x^v_2_r,u_2a    =    δ^r_1,     ∀ r = 0, , N-1; a ∈𝒜(u_2).

Interpretation: Starting at the tail vertex of a cracker arc, the head vertex of the cracker arc should only be departed from at stage 1.

    x^v_1_r,u_1v_1    =    δ^r_N-1,     ∀ r = 0, , N-1,
    
    x^u_2_r,v_2u_2    =    δ^r_N-1,     ∀ r = 0, , N-1.

Interpretation: Starting at the head vertex of a cracker arc, the tail vertex of the cracker arc should only be departed from at stage N-1.

    x^u_1_r,v_2u_2    =    δ^r_|V|,     ∀ r = 0, , N-1,
    
    x^v_2_r,u_1v_1    =    δ^r_|U|,     ∀ r = 0, , N-1,
    ∑_r=0^N-1 r [∑_a ∈𝒜(u_1) x^k_r,u_1a - ∑_a ∈𝒜(v_2) x^k_r,v_2a]     =     |U|,     ∀ k ∈ V,
    ∑_r=0^N-1 r [∑_a ∈𝒜(u_1) x^k_r,u_1a - ∑_a ∈𝒜(v_2) x^k_r,v_2a]     =     -|V|,     ∀ k ∈ U,
    
    x^k_r,u_1v_1 - x^k_r+|V|,v_2u_2    =     0,     ∀ k ∈ U; r = 0, , N-1-|V|,
          
    
    x^k_r,v_2u_2 - x^k_r+|U|,u_1v_1    =     0,     ∀ k ∈ V; r = 0, , N-1-|U|.

Interpretation: The distance between the two head vertices of the two selected cracker arcs should be equal to the number of vertices in the component that must be traversed.

    ∑_r=0^N-1 r [∑_i ∈ U∑_a ∈𝒜(i) x^k_r,ia - |U|∑_a ∈𝒜(u_2) x^k_r,u_2a]     =    |U|(|U|-1)/2,     ∀ k ∈ V,
    ∑_r=0^N-1 r [∑_i ∈ V∑_a ∈𝒜(i) x^k_r,ia - |V|∑_a ∈𝒜(v_1) x^k_r,v_1a]     =    |V|(|V|-1)/2,     ∀ k ∈ U.

Interpretation: Starting from any vertex in one component, a Hamiltonian cycle must first go to the cracker arc that exits the component, then visit every vertex in the other component before reaching the other cracker arc.

    x^k_r,ia    =     0,     ∀ k ∈ U; i ∈ U; |U| ≤ r ≤ |V|.

Interpretation: If a Hamiltonian cycle originates in the smaller component, there must be some number of stages in the middle of the cycle when it cannot inhabit the
smaller component in order to visit all the vertices in the larger component.





99
avrachenkov Avrachenkov, K.E., Eshragh, A. and Filar, J.A. On transition matrices of Markov chains corresponding to Hamiltonian cycles", Ann. Oper. Res., to appear.
genetictheory Baniasadi, P., Ejov, V., Filar, J.A. and Haythorpe, M. Genetic theory for cubic graphs", http://arxiv.org/abs/1209.5514, submitted, 2012.
genetictheory2 Baniasadi, P., Ejov, V., Filar, J.A. and Haythorpe, M. Genetic theory for cubic graphs", Springer, submitted, 2014.
dijkstra Dijkstra, E.W. A note on two problems in connexion with graphs", Numer. Math., 1:269–271, 1959.
cook Cook, W.J., Cunningham, W.H., Pulleyblank, W.R. and Schrijver, A. Combinatorial Optimization", John Wiley and Sons, 257–268, 1998.
dantzig Dantzig, G., Fulkerson, R. and Johnson, S. Solution of a large-scale traveling-salesman problem", Journal of the Operations Research Society of America, 2(4):393-410, 1954.
eppstein Eppstein, D. The traveling salesman problem for cubic graphs", J. Graph Algorithms Appl., 11(1):61–81, 2007.
alithesis Eshragh, A. Hamiltonian cycles and the space of discounted occupational measures", Ph.D Thesis, University of South Australia, 2011.
ali Eshragh, A., Filar, J.A. and Haythorpe, M. A hybrid simulation-optimization algorithm for the Hamiltonian cycle problem", Ann. Oper. Res., 189(1):103–125, 2009.
walter Filar, J.A., Haythorpe, M. and Murray, M. On the Determinant and its Derivatives of the Rank-one Corrected Generator of a Markov Chain on a Graph", J. Glob. Optim., 56(4):1425–1440, 2013.
conjecturepaper Filar, J.A., Haythorpe, M. and Nguyen, G.T. A conjecture on the prevalence of cubic bridge graphs", Discuss. Math. Graph Theory, 30(1):175–179, 2010.
gardner Gardner, M. Mathematical Games: Snarks, Boojums, and Other Conjectures Related to the Four-Color-Map Theorem", Sci. Am., 234(4):126–130, 1976.
gareyjohnson Garey, M.R. and Johnson, D.S. Computers and Intractability: A Guide to the Theory of NP-Completeness", W.H. Freeman, 1979.
groetschel Grötschel, M. and Padberg, M.W., Polyhedral theory", in: The Travelling Salesman Problem, Edited by: E.L. Lawler, J.K. Lenstra, A.H.G Rinnooy Kan, D.B. Shmoys, John Wiley & Sons Ltd., 1985.
mikethesis Haythorpe, M. Markov Chain Based Algorithms for the Hamiltonian Cycle Problem", Ph.D Thesis, University of South Australia, 2010.
holton Holton, D.A. and Sheehan, J. The Petersen Graph", Cambridge, England: Cambridge University Press, 1993.
horev Horev, E., Katz, M.J., Krokovski, R. and Nakamoto, A. Polychromatic 4-coloring of cubic bipartite plane graphs"', Discret. Math., 312:715–719, 2012.
kennelly Kennelly, A.E. Equivalence of triangles and stars in conducting networks", Electr. World Eng., 34:413-414, 1899.
genreg Meringer, M. Fast Generation of Regular Graphs and Constructions of Cages", J. Graph Theory, 30:137–146, 1999.
robinson Robinson, R.W. and Wormald, N.C. Almost all cubic graphs are hamiltonian", Random Struct. Algorithms, 3:117–125, 1992.
bgl Siek, J., Lee, L-Q. and Lumsdaine, A. The Boost Graph Library", Addison-Wesley, 2002.



