Linear size MIP formulation of Max-Cut: new properties, links with cycle inequalities and computational results

We consider the Max-Cut problem on an undirected graph G=(V,E)\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$G=(V,E)$$\end{document} with |V|=n\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$|V|=n$$\end{document} nodes and |E|=m\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$|E|=m$$\end{document} edges. We investigate a linear size MIP formulation, referred to as (MIP-MaxCut), which can easily be derived via a standard linearization technique. However, the efficiency of the Branch-and-Bound procedure applied to this formulation does not seem to have been investigated so far in the literature. Branch-and-bound based approaches for Max-Cut usually use the semi-metric polytope which has either an exponential size formulation consisting of the cycle inequalities or a compact size formulation consisting of O(mn) triangle inequalities (Barahona and Mahjoub in Math Prog 36:157–173, 1986; Nguyen and Minoux in Networks 69(1):142–150, 2017). However, optimizing over the semi-metric polytope can be computationally demanding due to the slow convergence of cutting-plane algorithms and the high degeneracy of formulations based on the triangle inequalities. In this paper, we exhibit new structural properties of (MIP-MaxCut) that link the binary variables with the cycle inequalities. In particular, we show that fixing a binary variable at 0 or 1 in (MIP-MaxCut) can result in imposing the integrity of several original variables and the satisfaction of a possibly exponential number of cycle inequalities in the semi-metric formulation. Numerical results show that for sparse instances of Max-Cut, our approach exploiting this capability outperforms the branch-and-cut algorithms based on semi-metric polytope when implemented on the same framework; and even without any extra sophistication, the approach is capable of solving hard instances of Max-Cut within acceptable CPU times.


The Max-Cut problem
Let G = (V , E) be an undirected graph with n = |V | and m = |E|. We suppose that the edges of G are weighted by a vector c ∈ R E , the real space of dimension m indexed by the edges in E. In particular, G could be the complete graph K n = (V n , E n ) of n nodes. We denote by i j the edge between the two nodes i and j of V . A cut in G associated with a node subset S ⊂ V , denoted δ(S), is the set of the edges that have exactly one end-node in S. The Max-Cut problem is to find a cut of maximum total weight or equivalently to find a node subset S such that i j∈δ(S) c i j is maximum.
For each cut δ(S), the incidence vector associated with δ(S) is a vector χ(δ(S)) ∈ {0, 1} E where Hence, finding a maximum weight cut is equivalent to optimizing over the cut polytope CUTP(G) which is the convex hull of the incidence vectors associated with the cuts in G.

Cycle inequalities and the semi-metric polytope
A chordless cycle C in G is a cycle whose induced subgraph is the cycle itself. Let C be the set of chordless cycles in G. For a vector x ∈ R E and for any subset F ⊆ E, let x(F) = e∈F x e . As a cut always intersects a cycle C in an even number of edges, the incidence vectors associated with the cuts in G satisfy the following cycle inequalities introduced by Barahona and Mahjoub [2]: The cycle inequalities together with some trivial lower bound and upper bound inequalities define the so-called semi-metric polytope METP(G) associated with G in R E : x satisfies (1), x e ≥ 0 ∀e ∈ E s.t. e does not belong to any triangle x e ≤ 1 ∀e ∈ E s.t. e does not belong to any triangle (2) Hence the semi-metric polytope is a relaxation of CUTP(G). If we replace the trivial inequalities by the 0/1 constraints x ∈ {0, 1} E , we obtain an integer formulation for CUTP(G). Thus, the semi-metric polytope is a linear programming relaxation for the Max-Cut problem. Moreover, Barahona and Mahjoub [2] showed that the semi-metric polytope coincides with the cut polytope when G is no contractible to K 5 .
Note that since there is a priori no known polynomial upper bound (in terms of n and m) on the number of chordless cycles and there may be also an exponential number of possible choices for the set F given a chordless cycle C, the above formulation of METP(G) has a priori an exponential number of inequalities. However, METP(G) has polynomial size extended formulations [1,16], called METP(K n ), which consist of O(n 2 ) variables where additional variables correspond to the additional edges which complete G to K n . These extended formulations involve the following so-called triangle inequalities: x i j + x ik + x jk ≤ 2 for all i, j, k ∈ T . (3) where T is the set of all (unordered) triples of distinct nodes i, j, k ∈ V such that at least i j, ik or jk is an edge in E.
The semi-metric polytope forms the core of the linear programming relaxations in many practical solution procedures for the Max-Cut problem. Moreover, when G is sparse, it is well known that the corresponding relaxation given by the semi-metric polytope is quite good. In this case, for the Max-Cut problem on large sparse graphs, branch-and-cut algorithms based on the integer formulation obtained from the cycle inequalities and the 0/1 constraints remain the best approaches so far (SDP approaches do not take advantage of sparsity and are currently limited to medium-size instances, typically less than 300 nodes see e.g. [17]). Hence, optimizing over the semi-metric polytope appears to be of key importance. This is achieved either via a cutting-plane approach (using the polynomial time separation algorithm for the cycle inequalities given in [2]) or by solving the compact extended formulation involving O(n 2 ) variables and O(nm) constraints. However, solving the latter turns out to be very hard [11] as the linear program to be solved is highly degenerate and its size quickly becomes impractical when n exceeds, say, 150-200.

A basic unconstrained binary quadratic formulation for Max-Cut
Let z ∈ {0, 1} V (the node set of the hypercube of dimension n indexed by the nodes in V ), then z can be viewed as an incidence vector associated with a node subset S in G, such that We observe that for any edge i j ∈ E, i j ∈ δ(S) if and only if the sum z i (1 − z j ) + z j (1 − z i ) = 1. Hence the Max-Cut problem can be formulated as the following unconstrained 0-1 quadratic program (UBQP): A simple direct way of linearizing this problem consists in adding m continuous variables x i j defined by and applying RLT reformulation [19] on the constraints 0 ≤ z i ≤ 1, 0 ≤ z j ≤ 1. This leads to adding the inequalities z i z j ≤ z i , z i z j ≤ z j and z i z j ≥ z i + z j − 1 for all i j ∈ E and replacing z i z j by in the above inequalities. We obtain the following mixed integer formulation (MIP-MaxCut) for Max-Cut.
The above **formulation has already been known in the literature, in particular, it has been used to explore the links between the boolean quadric polytope (BQP), which is the convex hull of the solutions of (7) in the space R V +E (with variables y i j for all i j ∈ E replacing the product z i z j ), and the Max-Cut polytope [10]. More precisely, Hammer [12] showed that the Max-Cut polytope defined on G + u (where G + u is the graph obtained by adding to G an universal vertex u) is equivalent under linear transformations to the BQP defined on G. From this result and the result on the Max-Cut polytope on graphs not contractible to K 5 in [2], DeSimone [10] derived a complete description of BQP on graphs not contractible to K 4 . However, the possible use of (MIP-MaxCut) in practical solution procedures for Max-Cut does not appear to have attracted much interest in the literature so far. The main reason probably lies in the fact that its linear programming relaxation is very weak. To be convinced of this, just observe that setting z i = 1 2 for all i ∈ V makes the variables x i j completely free between 0 and 1 for all i j ∈ E.

Contributions and organization of the paper
The main contributions of the paper are the following: -We prove a new property relating the integrity of the variables z i in (MIP-MaxCut) and the cycle inequalities. More precisely, it is shown that for any edge i j ∈ E, the fact that the variables z i and z j are integer could imply simultaneous satisfaction of all (possibly exponentially many) cycle inequalities involving edge i j and the integrity of the variable x i j .
-We analyze the impact of this key property when applying a Branch-and-Bound/Cut procedure to the (MIP-MaxCut) formulation. In particular, we show that branching on a variable z i could have very strong effects such as satisfying a possibly exponential number of cycle inequalities and forcing several variables x i j to be integer valued. -As an experimental confirmation of our analysis, we present and discuss in Sect. 4 a series of computational results on Max-Cut for a set of large size sparse graph instances obtained by applying a standard Branch-and-Bound solver to (MIP-MaxCut) without using any of the sophisticated techniques previously proposed in the existing literature for the exact solution of such large scale problems. It is observed that the results obtained turn out to significantly outperform a branchand-cut algorithm based on cycle inequalities implemented on the same platform.

Polyhedral link between (MIP-MaxCut) and the cycle inequalities and application for solving Max-Cut
In the present section, we first introduce the concept of pointed triangulation and prove a basic equivalence result (Lemma 1) which turns out to be a basic building block for deriving the link between (MIP-MaxCut) and the cycle inequalities. The computational attractiveness of the new formulation in view of solving the Max-Cut problem via branch-and-bound and branch-and-cut algorithms is also analyzed.

Pointed triangulation and cycle inequalities
Let us consider any chordless cycle C in G. Let us suppose that the nodes in C are 1, 2, …, k which are numbered clockwise from 1 (see Fig. 1) and its edges are i(i + 1) for i = 1, . . . , k − 1 and k1. Let us take any subset F = { f 1 , . . . , f p } ⊆ C with p odd. The cycle inequality associated with C and F reads: Consider the triangulation θ of C obtained by adding k − 3 distinct edges (chords) 1 j for j = 3, . . . , k − 1 (see the thin solid edges in Fig. 1). As the newly added edges all have 1 as an end node, θ is called pointed triangulation at node 1. Let us callĒ the set of these new added edges and let E = E ∪Ē. The triangle inequalities corresponding to the various triangles thus created read: Proof ⇒ The proof of the first part of the lemma given here closely follows the one given in [16] for deriving a different result, namely the fact that the number of triangle inequalities can be reduced to O(nm) instead of O(n 3 ) in the extension of METP(G) to METP(K n ). Since the purpose of the present lemma is both to prove Theorem 1 and to provide a constructive way of strengthening the new linear size formulation to be discussed in Sect. 3, we provide the full proof in the appendix for self-containedness.
⇐ Let x ∈ [0, 1] E be a vector satisfying all the cycle inequalities associated with C. Let us extend x to x ∈ [0, 1] E by determining the intervals of possible values that the extra variables x 1 j for j = 3, . . . , k−1 in E \E can take. We will compute the intervals in clockwise order, i.e. for x 13 first then for x 14 , …and at the end for x 1(k−1) . Let us consider x 13 and the triangle {1, 2, 3}, we can see that for the validity of the inequalities (a,i), (l,i), (r,i) and (m,i) associated with this triangle, x 13 should belong to the interval Note that if x 12 and x 23 belong to [0, 1] then this interval is not empty. To compute the possible values of x 14 , the triangle {1, 3, 4} and the validity of the inequalities (a,i), (l,i), (r,i) and (m,i) associated with this triangle imply that for each possible fixed value of x 13 (i.e. one of the values in I 3 ), x 14 should belong to the interval, say I x 13 4 where I x 13 Generally, for j = 4, . . . , k − 1, for each possible fixed value of x 1( j−1) previously computed, x 1 j should belong to the interval I by the validity of the inequalities (a,i), (l,i), (r,i) and (m,i) associated with the triangle {1, ( j −1), j}. These intervals are always non-empty as a possible fixed value of x 1( j−1) is always between 0 and 1. In particular, when j = k − 1, for a possible fixed value of should also belong to the following interval as the (a,i), (l,i), (r,i) and (m,i) inequalities associated with the triangle {1, (k − 1), k} should also be satisfied. Hence, for each possible fixed value of x 1(k−2) , the possible values of x 1(k−1) should belong to I We will show that if the opposite happens, i.e. I x violates a cycle inequality associated with C, contradicting the initial assumption on x. Thus, let us suppose that I Then one of following two cases necessarily arises: -The first case is when the lower bound of I 2 k−1 is strictly greater than the upper bound of I This can be viewed as the violation of x on the cycle inequality We can see that replacing with respect to some possible fixed value of x 1(k−3) in the above violated cycle inequality -yields another violated cycle inequality associated with the cycle This can also be viewed as the violation of x on the cycle inequality ) yields another violated cycle inequality associated with the cycle C k−3 .
-The second case is when the lower bound of I In both cases, we can replace ) to obtain another violated cycle inequality associated with the cycle C k−3 . 1) . Similarly as in the previous item, we can replace ) to obtain another violated cycle inequality associated with the cycle C k−3 .
In all cases, one can reiterate the above process, which leads to exhibit violated inequalities associated with cycles C k−3 , C k−4 ,…, C 2 . By remarking that C 2 = C, a contradiction is obtained and the proof for the second part of the lemma is completed.
A major practical and theoretical interest of the pointed triangulation is to provide an alternative compact representation subsuming potentially huge cardinality sets of cycle inequalities as shown in the following corollary.
Corollary 1 Let C be a cycle of size (n) (i.e. not too small compared to n) in G, the number of cycle inequalities associated with C is in (2 n−1 ) while the number of triangle inequalities resulting from a pointed triangulation of C is Another noticeable consequence of Lemma 1 and Corollary 1 is to give linear size extended formulations for the Max-Cut polytope on some special graphs including wheel and cactus graphs.

Polyhedral link between (MIP-MaxCut) and the cycle inequalities
If we add 0/1 constraints to the linear representation of the semi-metric polytope, we obtain (Metric-IP), an IP formulation for Max-Cut. The latter is the standard IP formulation used in LP-based approaches for solving Max-Cut. In the following theorem, we will show that in fact (MIP-MaxCut) is equivalent to (Metric-IP).

Theorem 1 (MIP-MaxCut) is equivalent to (Metric-IP).
Proof We first show (MIP-MaxCut) ⊆ (Metric-IP). Let x ∈ R E and z ∈ {0, 1} V a feasible solution of (MIP-MaxCut). For any edge i j ∈ E, it is quite easy to verify that when z i = z j = (0 or 1), x i j = 0 and when z i = z j then x i j = 1. Hence x i j ∈ {0, 1} for all i j ∈ E. Moreover, one can observe that x i j = |z i − z j | or equivalently Now, let C be any chordless cycle in G. Let i j be any edge in C and let F ⊆ C such that p = |F| is odd and i j ∈ F. Note that as F is never empty, the case when i j / ∈ F will be covered by the cases when some other edge i j = i j belongs to F. Let us build an extended graph G = (V , E ) deduced from G by adding to G a universal node u (i.e. V = V ∪{u} and E = E ∪{ui | for all i ∈ V }) and think of the variable z i as the variable associated with the edge ui in the extended graph. Let C i j be the cycle obtained by replacing in C the edge i j by the edges ui and u j, i.e. C i j = (C\{i j}) ∪ {ui, u j}.
We can see that C i j is triangulated by a pointed triangulation at u. As all the triangle inequalities corresponding to this triangulation are expressed in (MIP-MaxCut), by Lemma 1, (x, z) satisfies all the cycle inequalities involving C i j . Let F i = (F\{i j}) ∪ {ui} and F j = (F\{i j}) ∪ {u j}. We can observe that F i and F j are two odd subsets of C i j of cardinality p. Hence, the cycle inequalities associated with C i j and respectively F i and F j can be expressed as As x i j = max(z i − z j , z j − z i ), one of the above inequalities gives: As C is any cycle in G and i j is any edge in C, we conclude that x satisfies all the cycle inequalities. Moreover, x is integer as shown above, thus x is a feasible solution of (Metric-IP). Now let us show that (Metric-IP) ⊆ (MIP-MaxCut). Let x ∈ {0, 1} E be any feasible solution of (Metric-IP). Consequently, x is the incidence vector of a cut δ(S) such that S ⊂ V . Let us build z ∈ {0, 1} V as follows. For all nodes i ∈ S, let us set z i = 0 and for all nodes i ∈ V\S, let us set z i = 1. It is then easy to see that x and z form a feasible solution for (MIP-MaxCut).

Efficiency of the new MIP formulation for solving Max-Cut
In this section, we discuss the practical use of (MIP-MaxCut) in branch-and-cut algorithms for exactly solving large scale Max-Cut instances, especially in sparse graphs for which linear programming relaxations containing the cycle inequalities are strong enough.

Properties of (MIP-MaxCut) in a branch-and-bound framework for solving Max-Cut
In particular, we show that using (MIP-MaxCut) could be more efficient than (Metric-IP) in the same branch-and-cut framework. More precisely, a basic branch-and-cut algorithm for solving (Metric-IP) consists of the following tasks: -Solve linear programs consisting of a system of valid inequalities Ax ≤ b which contains a subset of the cycle inequalities and other possible valid inequalities for CUTP(G) at each node of the branch-and-bound search tree and possibly generate violated inequalities including violated cycle inequalities to be added to Ax ≤ b. -Branch on one or several variables x.
A basic branch-and-cut algorithm for solving (MIP-MaxCut) consists of the following tasks: -Solve linear programs consisting of the same system Ax ≤ b together with the inequalities (8)- (11) at each node of the branch-and-bound search tree and possibly generate violated inequalities which may be cycle inequalities to be added to Ax ≤ b. -Branch on one or several variables z.
The difference between the two algorithms is that instead of generating violated cycle inequalities and branching on the x variables as in the first algorithm, the second algorithm branches on the z variables. The fact that this can be more efficient is a consequence of the following proposition which shows that branching on a variable z i is equivalent to branching on several variables x ij and generating a (possibly exponential) number of cycle inequalities.

Proposition 1 When some variable z i is fixed at an integer value by branching in a branch-and-bound framework then for all variables z j fixed at an integer value before z i , the variable x i j is integer valued and the current solution x satisfies all the cycle inequalities such that the set F contains the edge i j.
Proof As we can see from the proof of Theorem 1, when z i and z j are integer, the inequalities (8)-(11) which involve z i , z j and x i j force x i j to be integer. Moreover, x i j = max(z i − z j , z j − z i ). The proof of Theorem 1 uses this fact together with Lemma 1 to prove that all the cycle inequalities such that the set F contains the edge i j are subsequently satisfied. Hence, branching on a variable z i can have very strong effects: -on the one hand, this action forces the integrality of all the variables x i j such that z j is integer valued, -on the other hand, it forces all the cycle inequalities such that the set F contains the edge i j to be satisfied by the forthcoming solutions. The number of such cycle inequalities may obviously be very big and possibly exponential even if G is sparse.
It is then realized that branching in (MIP-MaxCut) can be much more efficient than cut generation and branching in (Metric-IP) where only a small number of cycle inequalities may be added and one variable x i j is fixed at each round of cut generation or branching. This will be confirmed by our numerical results in the next section. Let us call PCUT(G) the system Ax ≤ b used as relaxation for CUTP(G) in a branch-and-cut algorithm based on (Metric-IP). Let us call EPCUT(G) the system defined in R E+V that consists of Ax ≤ b together with the inequalities (8), (9), (10) and (11). We have the following theorem.

Proof It is clear that the projection of EPCUT(G) on R E is contained in PCUT(G) since in every solution (x, z) satisfying EPCUT(G), we have x satisfies
The restriction of EPCUT(G) on the linear variety z i = 1 2 for all i ∈ V is exactly the system Ax ≤ b, i.e. PCUT(G). As the projection of EPCUT(G) on R E contains this restriction, Ax ≤ b is contained in this projection.
Hence, the projection of EPCUT(G) on R E is equal to PCUT(G).
The above theorem states that a system of valid inequalities Ax ≤ b will give the same upper bound regardless of whether the branch-and-cut algorithm is based on (Metric-IP) or (MIP-MaxCut). Moreover, the bounding procedure in branch-and-cut algorithms based on (MIP-MaxCut) is probably more efficient than those based on (Metric-IP) due to the strong effects of the branching on the variables z. Hence, we have the following important corollary.

Corollary 3 Any existing branch-and-cut algorithms based on (Metric-IP) can be readily adapted to work on (MIP-MaxCut) with more efficiency thanks to the properties of branching on the z variables.
Such an adaption simply consists in switching the branching strategy from variables x to variables z and keeping the same strategy of cut generation. Indeed, in the next sections, we will show by numerical results that with the same initial linear programming relaxation and the same cut generation strategy, a branch-and-cut algorithm based on (MIP-MaxCut) is much more efficient than a branch-and-cut algorithm based on (Metric-IP). This suggests that a potentially interesting idea for future developments might be to adapt recent advanced branch-and-cut algorithms based on (Metric-IP) such as [4,7], …to (MIP-MaxCut) to improve their efficiency.

Building an initial linear programming relaxation
One important factor in LP-based branch-and-bound algorithms is the initial LP to be solved at the root node of the branch-and-bound search tree. This LP should be of reduced size and give a good upper bound for Max-Cut. We will show below that for algorithms using (MIP-MaxCut) as well as (Metric-IP), the question is how to build such an LP by choosing a suitable subset of cycle inequalities. Let us consider the linear programming relaxation (R-MIP-MaxCut) of (MIP-MaxCut). Note that when z * i = 1 2 for all i ∈ V , any vector x * ∈ [0, 1] E satisfies the constraints (8), (9), (10) and (11). Such a (z * , x * ) then satisfies (R-MIP-MaxCut). Hence, the upper bound given by (R-MIP-MaxCut) is very weak (all x i j equal to 1) when compared with the one provided by (R-Metric), the linear programming relaxation of (Metric-IP). However, the latter is hard to compute since it is highly degenerate [11]. Moreover, the number of cycle inequalities can be huge for big values of n even with an extended formulation of (Metric-IP). Hence, in practical branch-and-bound algorithms for Max-Cut using (Metric-IP), a small subset of the cycle inequalities is usually chosen to be included in the initial LP relaxation, called (iR-Metric), in order to obtain a reasonably good initial upper bound at the root node of the branch-and-bound tree. We can use the same cycle inequalities in the initial LP relaxation, called (iR-MIP-MaxCut), in a branchand-bound algorithm using (MIP-MaxCut) to obtain the same upper bound as shown in the following theorem.
Proposition 2 (iR-MIP-MaxCut) provides the same upper bound for Max-Cut as (iR-Metric) if both formulations contain the same subset of the cycle inequalities (1).

Proof
The proof directly follows from Theorem 2.
The above proposition tells us that building the initial LP provides relaxations with the same strength regardless of whether (MIP-MaxCut) or (Metric-IP) is used but it does not tell us how to choose the subset of the cycle inequalities to be included in this LP. We now describe how we have chosen such a subset, denoted by S, of the cycle inequalities in our experiments involving sparse graphs. We consider the two following criteria for selecting S: -|S| ∈ O(n), i.e. the size of the initial LP should be linear in n, -The upper bound given by S should be "sufficiently good".
In order to meet these two criteria, we use an observation borrowed from previous works on Max-Cut on Ising Spin Glass 2D grid instances, namely that the LP that consists of the cycle inequalities expressed for all the 4-cycles gives a very good bound for Max-Cut [13,15]. Note that the number of 4-cycles in (toroidal) 2D grid graphs is at most n and the number of cycle inequalities expressed on each 4-cycle is 8. Hence the set of the 4-cycles in these graphs satisfies the above two criteria for being selected in S. Notice that for 2D grid graphs, the set of all the 4-cycles forms a cycle basis which generates all the cycles in G by linear combination in the Galois field of two elements G F(2), i.e. based on parity of the intersection of cycles. Hence, for a general sparse graph G, we may take the set of all the cycle inequalities associated with a cycle basis as the set S. Such a set S may be interesting as cycle inequalities also express the parity of the intersection between cuts and cycles. Moreover, as the number of cycles in a cycle basis is m − n + 1, and hence O(n) in sparse graphs and thanks to Lemma 1 and Corollary 1, we can represent such a set S of cycle inequalities by O(n) triangle inequalities. The numerical experiments reported in the next section seem to confirm this analysis.

Numerical results
In this section, we present experiments aimed at computing exact solutions based on (MIP-MaxCut) for Max-Cut on sparse graph instances of various types. For comparison, we also run the same experiments with (Metric-IP) instead of (MIP-MaxCut) in the same computer and branch-and-cut algorithmic framework. To be more precise, we present comparative experiments based on the following three variants of branch-and-cut to solve Max-Cut on sparse graph instances.
-(Metric-IP). The branch-and-cut framework applied to the (Metric-IP) formulation in x variables only with branching on the x variables.
-(MIP-MaxCut). The branch-and-cut framework applied to the (MIP-MaxCut) formulation in both z and x variables with branching on the z variables. -(MIP-MaxCut-SBR). The branch-and-cut framework applied to the (MIP-MaxCut) formulation with a special branching rule (SBR) on the z variables derived from Proposition 1.

Computer framework
All the experiments have been conducted on an Intel i3-8130 CPU 2.20 GHz computer with 8GB of RAM under Linux Ubuntu 18.4. Single thread have been used for all the runs performed.

LP solver and branch-and-bound search tree handling
CPLEX 12.7.1 has been used as LP solver and for handling the branch-and-bound tree. In particular, for the (Metric-IP) and the (MIP-MaxCut) variants, the default automatic branching rule of CPLEX 12.7.1 has been used for branching on the x variables and on the z variables, respectively. For the (MIP-MaxCut-SBR) variant, we have implemented a special rule for branching (SBR) on the z variables which can be defined as follows: Special branching rule This rule consists in choosing a variable z i such that the number of neighbours j with z j integer in the current solution is greater than the average node degree of the graph. We keep track of b i , which is the number of times a variable z i has been chosen for branching with this rule (in previous steps of the construction of the branch-and-bound search tree). In case several variables z i are eligible, we choose any variable with smallest b i .
According to Proposition 1, branching on such a variable z i would force a number of variables x i j to be integer and would also imply the satisfaction of many of the cycle inequalities. Notice that no other feature of CPLEX has been used, in particular no generic cut generation procedure and no presolve have been activated.
Initial LP The initial LP contains the same subset S of cycle inequalities in all the three cases. Hence, by Proposition 2, the same initial upper bound for Max-Cut is obtained. To build the set S, we generate a cycle basis B of G and with a fixed parameter k, we perform a pointed triangulation of all the cycles of length at most k in B. The associated triangle inequalities are all added to S. Violated cycle inequality generation The separation procedure is based on the exact separation algorithm for cycle inequalities which operates on a graph H of 2n nodes (n original nodes and n copies) as described in [2]. The algorithm consists of n calls of the bidirectional Dijkstra algorithm for finding the shortest paths between every original node i for i = 1, . . . n and its copy in H .
In For the (Metric-IP) variant, the separation procedure is also applied to separate integer solutions if these solutions do not represent cuts.

Toroidal 2D grid instances
Generation of instances We consider instances of toroidal 2D grid graphs which have been generated according to the description in [9]. More precisely, the first and the second half of the edge weights are initialized with −1 and +1, respectively. Then, a random permutation of the edge weights is computed.
Branch-and-cut tuning To set up the initial LP, we generate the set S by taking the cycle basis containing all the 4-cycles and by setting k = 4. We only activate the generation of violated cycle inequalities when the relative gap goes below 0.5% (the relative gap is defined to be the ratio of the difference between the upper bound and the lower bound of the branch-and-bound tree over the lower bound). The separation routine is called every 100 nodes of the branch-and-bound tree.

Numerical results
In Table 1, we compare (Metric-IP) and (MIP-MaxCut). Each entry of the table represents an average taken over ten randomly generated instances. The column CPU is the average CPU time (in seconds) and the column Nodes indicates the average number of nodes of the branch-and-bound search tree. For (Metric-IP), there is an additional column C-Ine which reports the number of violated cycle inequalities generated during the branch-and-cut process. We restrict our experiments to relatively small sizes of toroidal 2D grid instances as (Metric-IP) can not go beyond the size of 50 × 50 within ten CPU hours. We can see that (MIP-MaxCut) significantly outperforms (Metric-IP) in both CPU time and size of the branch-and-bound search tree. Table 2 reports the average results of (MIP-MaxCut) and (MIP-MaxCut-SBR) on ten random instances of larger sizes 55 × 55, 60 × 60 and 65 × 65, respectively. We can see that the special branching rule (SBR) derived from Proposition 1 is more efficient than the default branching rule of CPLEX and helps to improve the results of (MIP-MaxCut).

Rudy instances
Generation of instances We consider 10 instances generated using rudy [18] with n = 100 and an edge density of 0.1 (series of instances with prefix pm1s). The edge weights are chosen uniformly from {−1, 0, 1}.
Branch-and-cut tuning To set up the initial LP, the set S is built by generating a cycle basis of G and by setting k = 5. The separation procedure for cycle inequalities is called every ten nodes of the branch-and-bound tree. Table 3 reports the performance of (Metric-IP), (MIP-MaxCut) and (MIP-MaxCut-SBR) on 10 rudy instances. In general, (Metric-IP) generates the largest number of cycle inequalities and has the least size of the branch-and-bound search tree but requires more CPU time. (MIP-MaxCut) needs fewer cycle inequalities and features more nodes in the branch-and-bound search tree than (Metric-IP) but spends significantly less CPU time. Finally, (MIP-MaxCut-SBR) achieves the best CPU time on average with a slight increase in the number of generated cycle inequalities and a slight decrease in the size of the branch-and-bound search tree compared to (MIP-MaxCut). Getting into more detail, (MIP-MaxCut-SBR) achieves the best CPU time for seven out of ten instances. (Metric-IP) may give the best CPU time for easy instances but the difference of CPU time as compared to (MIP-MaxCut) and (MIP-MaxCut-SBR) is tiny. Note that we have also run (MIP-MaxCut-SBR) for solving one instance g05_60.0 with n = 60 of the series with prefix g05 (i.e. unweighted graphs with an edge probability of 0.5) which are known to be difficult to solve for LP-based approaches for Max-Cut. The instance is solved optimally with a CPU time of 18627 seconds. The size of the branch-and-bound search tree is 199457 nodes and only 2356 violated cycle inequalities have been generated. Note that (Metric-IP) and (MIP-MaxCut) are unable to solve this instance within 10 CPU hours.

Quadratic 0/1 programming instances
Generation of instances We consider several instances of the quadratic 0/1 programming problem from the BiqMac library [20]. These instances are rather well solved by SDP-based solvers such as BiqMac [17] and BiqCrunch [14] but known to be difficult for LP-based Max-Cut solvers. We particularly experiment on two series of instances: bqp250 (n = 250) of density 0.1 generated by Beasley [5]; be120 and be250 (n = 120 and 250) of densities respectively 0.3 and 0.1 generated by Billionnet and Elloumi [6]. Branch-and-Cut tuning To set up the initial LP, the set S only contains the triangle inequalities involving the binary variables z. Violated cycle inequalities are generated every ten nodes of the branch-and-bound tree. Numerical results The results are reported in Table 4. When the program has not been able to solve the instance to optimality within ten CPU hours, all the column values are represented by Table 4 Numerical results on quadratic 0/1 programming sparse instances. Entries featuring '-' indicate that no exact solution could be obtained within 10  discussed. When the formulation is used for solving Max-Cut via branch-and-bound, a detailed analysis has been carried out which reveals that each step of branching amounts to implicitly imposing simultaneous satisfaction of many cycle inequalities (those inequalities defining the metric polyhedron). Numerical experiments on a series of large size instances involving sparse graphs have confirmed the efficiency of a standard branch-and-bound procedure when applied to the formulation, even without resorting to any of the advanced techniques usually required to cope with large size Max-Cut instances. Among the perspectives thus opened to future investigations, it is clear that further significant improvements in efficiency can be expected from the combined use of the (MIP-MaxCut) formulation with some of the advanced techniques available in the literature, such as: the use of the Volume Algorithm in line with [3], [4] or the contraction-lifting approach from [9]. Implementing such combined procedures can easily be achieved as suggested by Corollary 3. that x 1 j appears only in two chosen inequalities which correspond respectively to the triangles j − 1 and j. There are four possible cases: -( j − 1) j and j( j + 1) / ∈ F, hence the two chosen inequalities for the triangles j − 1 and j are of the same type: either (l,j-1) and (l,j) or (r,j-1) and (r,j). In both cases, the signs of x 1 j in these two inequalites are opposite.
-( j − 1) j is an edge f q ∈ F and j( j + 1) ∈ C\F. If q is even, then the two chosen inequalities are (a,j-1) and (r,j) in which the signs of x 1 j are opposite. If q is odd, then the two chosen inequalities are (m,j-1) and (l,j) in which the signs of x 1 j are also opposite. -( j − 1) j ∈ C\F and j( j + 1) is an edge f q ∈ F. If q is even, then the two chosen inequalities are (l,j-1) and (a,j) in which the signs of x 1 j are opposite. If q is odd, then the two chosen inequalities are (r,j-1) and (m,j) in which the sign of x 1 j are also opposite. -both ( j − 1) j and j( j + 1) are in F. Let ( j − 1) j = f q ∈ F. If q is even, then the two chosen inequalities are (a,j-1) and (m,j) in which the signs of x 1 j are opposite. Similarly, if q is odd, then the two chosen inequalities are (m,j-1) and (a,j) in which the signs of x 1 j are opposite.
In all cases, the signs of x 1 j in the two chosen inequalities containing it are opposite, thus x 1 j vanishes in the sum.
For any edge e ∈ C\{12, (k −1)k}, x e appears only in one of the chosen inequalities which corresponds to the triangle having e as the middle edge. The edges 12 and (k − 1)k also appear only once, respectively in the inequalities corresponding to the triangles 2 and k − 1. It is then clear that for any edge e ∈ C the coefficient of x e in the sum is 1 if e ∈ F and −1 if e ∈ C\F.
It remains to show that the sum of the right hand sides is p − 1. We can see that the only chosen inequalities with non-zero right hand side are of type (a,i), i.e., the ones corresponding to the triangles having f q ∈ F with q even as the middle edge. There are clearly p−1 2 such inequalities with 2 as the right hand side. The proof of the first part of the lemma is then done.