Optimality-Preserving Data Reduction for Maximum k-Cut (Full Version)


Abstract

Preprocessing has become an increasingly important part of solving Maximum Cut to optimality, enabling exact solvers to tackle significantly larger instances. This suggests that exact solvers for the more general problem could also benefit from sophisticated preprocessing. However, to the best of our knowledge, no preprocessing techniques that are effective for \(k > 2\) have been published. In this paper, we introduce structured cut sets, a novel data reduction technique for . We provide criteria under which deleting cut sets is optimality-preserving, yielding a decomposition into connected components that can be solved independently and whose solutions can be combined into an optimal solution for the original graph. Furthermore, we extend several preprocessing techniques from Maximum Cut to . To show that our rules are optimality-preserving, we develop a new proof framework based on the addition of weighted graphs.

We complement our theoretical results by engineering a preprocessing framework for and show its effectiveness in a computational study. The preprocessed instances are typically significantly smaller. Integrating our preprocessing into an exact solver yields significant speed-ups and enables solving more instances to optimality.

1 Introduction↩︎

Graph partitioning problems are a fundamental class of optimization problems. A classic example is the problem ( for short), which asks for a partition of the nodes of a graph into up to \(k\) subsets, maximizing the sum of weights of edges whose endpoints lie in different sets. An example is illustrated in Figure 1. The problem is \(\mathcal{N}\mathcal{P}\)-hard, which can be shown with a reduction from the related \(k\)-Colouring problem, one of Karp’s 21 \(\mathcal{N}\mathcal{P}\)-complete problems [1].

Figure 1: An example of on a unit weight graph with k = 3. All edges have weight 1. Partitions are encoded by colour.

Research into has been motivated by its various applications, e.g., in computing relaxations of frequency assignment problems [2], chip load balancing [3], [4], and image reconstruction [5]. Special attention has been placed on the case \(k = 2\), called Maximum Cut (MaxCut for short). Recent research has shown that preprocessing can significantly reduce the size of real world instances for MaxCut by locating substructures for which the behaviour of the optimum solution can be determined ahead of time [6][9]. This preprocessing enables exact solvers to tackle significantly larger instances, sometimes even solving instances to optimality purely during preprocessing. The only published work on preprocessing for that we know of is [10]. However, in their computational experiments their technique only had an effect for \(k = 2\). The success of preprocessing for MaxCut suggests that could still benefit from sophisticated preprocessing.

Our Contribution↩︎

We extensively study optimality-preserving preprocessing techniques for the problem. In detail:

  • We introduce structured cut sets, a new data separation rule particularly effective for \(k\ge 3\). The rule relies on novel criteria under which the problem reduces to independently solving the connected components obtained by deleting a cut set.

  • Moreover, we generalize several of the MaxCut preprocessing rules from [6][9].

  • In order to prove that preprocessing rules for are optimality-preserving, we introduce a new proof framework based on the addition of weighted graphs.

  • We propose a preprocessing algorithm based on our theoretical findings, equipped with a framework for reconstructing optimal solutions.

  • Our computational study shows that instances preprocessed by our algorithm are typically significantly smaller. When integrated into an exact solver, our preprocessing algorithm leads to substantial speed-ups and more instances solved to optimality.2

2 Preliminaries↩︎

We consider weighted, undirected graphs \(G = (V, E, w)\) with a set of vertices \(V, |V| = n\), edges \(E \subseteq \binom{V}{2}, |E| = m\) and weights \(w: E \rightarrow \mathbb{R}\). We denote by \(\delta_G(v), N_G(v)\) and \(d_G(v)\) the incident edges, neighbourhood and degree of \(v \in V\) in \(G\), by \(w(S) = \sum_{e \in S} w(e)\) the weight of a set \(S \subseteq E\) of edges and by \(\delta_G(S) = \left\{\left\{s, t\right\} \mid s \in S, t \not \in S\right\}, N_G(S) = \bigcup_{v \in S} N(v) \setminus S\) the cut set and neighbourhood of \(S \subseteq V\). If the graph is clear from context, we omit the subscript.

We denote by \(G[V'] = \left(V', \left\{e \in E \mid e \subseteq V'\right\}, w\right)\) the induced subgraph of a vertex set \(V' \subseteq V\) and by \(G[S] = \left(\bigcup_{e \in S} e, S, w\right)\) the induced subgraph of an edge set \(S \subseteq E\). For \(V' \subseteq V\) we denote by \(\partial_G(V') = \left\{v \in V' \mid \exists w \in V \setminus V': \left\{v, w\right\} \in E\right\}\) the boundary of \(V'\).

Definition 1 (\(k\)-Partition). Given a set \(M\) we call a function \(p: M \rightarrow \{1,...,k\}\) a \(k\)-partition of \(M\), which assigns every element \(m \in M\) to group \(p(m)\).
For a subset \(S \subseteq M\) we denote by \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{S}{}}{}{|S}}: S \rightarrow \{1,...,k\}\), \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{S}{}}{}{|S}}: x \mapsto p(x)\) the partition \(p\) constrained to the set \(S\). We denote by \(S_{p = i} = \{s \in S \mid p(s) = i\}\) the set of all elements in \(S\) assigned to group \(i\).

We refer to \(\left\{1,...,k\right\}\) as colours and to \(p(v)\) as the colour assigned to \(v\) by \(p\).

Definition 2 (Permutations of Partitions). Let \(p: M \rightarrow \{1,...,k\}\) be a \(k\)-partition and \(\pi: \{1,...,k\} \rightarrow \{1,...,k\}\) a bijection. We denote by \(p^{\ifthenelse{\equal{\pi}{}}{}{\pi}}_{\ifthenelse{\equal{}{}}{}{|}} = \pi \circ p\) the permutation of \(p\) by \(\pi\) and, for a subset \(S \subseteq M\), by \(p^{\ifthenelse{\equal{\pi(S)}{}}{}{\pi(S)}}_{\ifthenelse{\equal{}{}}{}{|}}\) the partition obtained by permuting \(p\) with \(\pi\) on \(S\), that is \[p^{\ifthenelse{\equal{\pi(S)}{}}{}{\pi(S)}}_{\ifthenelse{\equal{}{}}{}{|}}(x) = \begin{cases} \pi(p(x)) & \text{if } x \in S \\ p(x) & \text{otherwise} \end{cases}\] We say two \(k\)-partitions \(p, p'\) are equivalent and write \(p \cong p'\), iff \(p^{\ifthenelse{\equal{\pi}{}}{}{\pi}}_{\ifthenelse{\equal{}{}}{}{|}} = p'\) for a permutation \(\pi\).

Partial permutations of partitions will play a major role later, as permuting the partition of a subset \(S \subseteq V\) of the nodes only changes how our \(k\)-cut behaves on \(\delta(S)\).

Now that we have formally defined partitions we can define \(k\)-cuts and the considered problem in this work:

Definition 3 (). Given a weighted undirected graph \(G = (V, E, w)\) and a \(k\)-partition \(p: V \rightarrow \{1,...,k\}\) of the vertices we denote by \[\begin{align} \delta_G(p) = \{\{v, w\} \in E \mid p(v) \ne p(w)\} \end{align}\] the \(k\)-cut induced by \(p\), that is the set of all edges such that their endpoints have different colours. We denote by \(w(p) = w(\delta_G(p)) = \sum_{e \in \delta_G(p)} w(e)\) the weight of the \(k\)-cut induced by \(p\). is the problem of finding a \(k\)-partition \(p\) that maximizes \(w(p)\).

Equivalent to is the Minimum \(k\)-Partition problem, in which we minimize the weight of edges for which both endpoints have the same colour.

2.1 Related Work↩︎

As previously mentioned, on general graphs is \(\mathcal{N}\mathcal{P}\)-hard. Even though can likely not be solved in polynomial time, various approaches that can solve real world instances to optimality in reasonable time have been proposed over the years. These are usually based on ILP formalisms [11], [12]. Different techniques to solve the ILP models have been proposed. The orbital fixing algorithm by Kaibel et. al [13] efficiently prunes symmetries in the assignment formulation. To obtain better dual bounds, both cutting planes [11], [14], and semidefinite relaxations [15][20] have been employed. For a recent study on exact solvers, we refer to Rodrigues de Sousa et. al [20].

Several different approaches for preprocessing MaxCut have been developed. Lange et al. [9] introduced criteria that show that certain edges with high weight are cut and certain edges with high negative weight are not cut in an optimum solution. They exploited this knowledge to then contract the endpoints. Rules that enable removing or simplifying substructures, such as unit weight cliques with a small boundary and induced \(3\)-paths, were developed by Ferizovic et al. [6]. Recently, Charfreitag et al. [8] developed a framework than enables exploiting \(2\) and \(3\) separators in preprocessing. To our knowledge the only theoretical work on preprocessing for is by Fakhimi et al. [10]. They introduce a folding techniques that allows contracting vertices under certain circumstances. However in their computational experiments their preprocessing only had an effect for \(k = 2\) and could not reduce any instance for \(k > 2\) beyond what trivial preprocessing could already accomplish.

3 Data Reduction for↩︎

Data reduction for MaxCut and is based on two central components: Data transformations and data separations:

Definition 4 (Data Transformation). A data transformation \(\mathcal{A}\) for transforms a weighted graph \(G = (V, E, w)\) into a weighted graph \(G' = (V', E', w')\) and provides a reconstruction algorithm \(\mathcal{R}_{\mathcal{A}}\) which maps any \(k\)-partition \(p'\) of \(V'\) to a \(k\)-partition \(p\) of \(V\).
We call a data transformation a data reduction iff either \(|V'| < |V|\) or \(|V'| = |V|\) and \(|E'| < |E|\).

Definition 5 (Data Separation). A data separation \(\mathcal{A}\) for transforms a weighted graph \(G = (V, E, w)\) into a number of weighted graphs \(G'_1 = (V_1,E_1,w_1),...,G'_i = (V_i, E_i, w_i)\) and provides a reconstruction algorithm \(\mathcal{R}_{\mathcal{A}}\), which maps \(k\)-partitions \(p_1,...,p_i\) of \(V_1,...,V_i\) to a \(k\)-partition \(p\) of \(V\).

Definition 6 (Optimality-Preserving). We call a data transformation (resp. a separation) optimality-preserving if and only if \(\mathcal{R}_{\mathcal{A}}\) maps any optimum solution \(p'\) (resp. \(p_1,...,p_i\)) for \(G'\)(resp. \(G'_1,...,G'_i\)) to an optimum solution \(p\) for \(G\).

Our definitions build on the notion of data transformations introduced in [8]. However, their definitions require that data transformations produce an offset \(\beta\) between the optimum objective values of \(G\) and \(G'\). We decided to instead require a reconstruction algorithm, as we want to obtain not just the optimum solution value, but also a corresponding \(k\)-partition. Still, all data transformations/separations discussed in this paper also yield a constant offset. This enables computing lower and upper bounds for the original instance from lower and upper bounds of the reduced instance. For an overview of the offsets see Appendix 8.1.

Since our goal is to compute optimum solutions for , all data separations and transformations we consider are optimality-preserving. To reduce the verbosity we will omit specifying that a data separation/reduction rule is optimality-preserving outside of theorems.

3.1 The Data Reduction Framework↩︎

Previous research on MaxCut preprocessing concerned itself with reducing the instances and obtaining the optimum solution value [6][9]. While the preprocessing rules discussed allow for reconstruction of an optimum solution for the original graph, the presented frameworks do not describe how to perform this reconstruction, nor is it clear how new preprocessing rules would be added to the reconstruction.

To this end, we introduce a new preprocessing framework that collects reconstruction algorithms during preprocessing. Our data reduction framework relies on repeatedly applying data transformation/separation rules until we can no longer reduce the graph. For reconstruction, we build a reconstruction rule tree: When applying a data reduction/separation rule to \(G'\), we add its reconstruction algorithm as a child to the reconstruction algorithm of the rule that created \(G'\). Once we cannot reduce anything any more, we solve the remaining graphs using some exact solver. We then apply the reconstruction rules in reverse DFS order, so whenever a reconstruction rule is called we have access to optimum solutions for all graphs that it depends on. A visualization of this can be seen in Figure 2.

Figure 2: The preprocessing framework building the reconstruction tree (left) while applying data separation and reduction rules to the graphs (right).

3.2 Criteria for Preserving Optimality↩︎

As many of the following proofs will use similar techniques, we establish some notation and results that provide a general framework for our later proofs to use.

Definition 7 (Sum of Weighted Graphs). Given two weighted graphs \(G_1 = (V_1, E_1, w_1)\) and \(G_2 = (V_2, E_2, w_2)\), let \(E_1 \cap E_2 = F\). We define their sum \(G = (V, E, w) = G_1 + G_2\) with \(V = V_1 \cup V_2\), \(E = E_1 \cup E_2\) and \[\begin{align} w(e) = \begin{cases} w_1(e) + w_2(e) & \text{if } e \in F \\ w_1(e) & \text{if } e \in E_1 \setminus F \\ w_2(e) & \text{if } e \in E_2 \setminus F \end{cases} \end{align}\]

We note that if we consider graphs that can be transformed into each other only by adding/deleting weight \(0\) edges and degree \(0\) vertices, this notion of \(+\) forms a group. With this, we can now establish an optimality criterion via the addition of weighted graphs.

Theorem 1. Let \(G_1 = (V_1, E_1, w_1)\) and \(G_2 = (V_2, E_2, w_2)\) be weighted graphs and \(G_1 + G_2 = G = (V, E, w)\). Let \(p\) be a \(k\)-partition of \(V\) such that \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}}\) is an optimum solution for \(G_1\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}}\) is an optimum solution for \(G_2\). Then \(p\) is an optimum solution for \(G\).

Proof. We note that for any \(k\)-partition \(p'\) we have \(w(p') = w_1(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}}) + w_2(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}})\). Using that \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}}, p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}}\) are optimum solutions for \(G_1\) and \(G_2\), respectively, we get \(w(p) = w_1(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}}) + w_2(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}}) \geq w_1(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}}) + w_2(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}}) = w(p')\). ◻

We note that in general the optimum solution \(p\) for \(G\) is not optimum for \(G_1\) or \(G_2\). However, given optimum solutions \(p', p''\) for \(G_1, G_2\) with \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2 \cap V_2}{}}{}{|V_2 \cap V_2}}\) we can efficiently combine these into an optimum solution for \(G\):

Lemma 1. Given two \(k\)-partitions \(p'\) for \(V_1\) and \(p''\) for \(V_2\) with \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}}\), we can compute a \(k\)-partition \(p\) of \(V_1 \cup V_2\) in \(\mathcal{O}(n)\) time such that \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{}{}}{}{|}}\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{}{}}{}{|}}\).

Proof sketch. To compute \(p\) from \(p'\) and \(p''\), we find a permutation \(\pi\) with \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}} = p''^{\ifthenelse{\equal{\pi}{}}{}{\pi}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}}\) and then permute \(p''\) with \(\pi\). For an algorithm and the full proof see Appendix 8.2. ◻

4 Optimality-Preserving Data Reduction↩︎

In this section we extend several known data reduction rules from MaxCut to .

Before we get to the more advanced rules, we briefly discuss a simple rule: We can remove any vertex \(v \in V\) with \(d(v) < k\) and only positive weight incident edges. In the reconstruction we colour \(v\) with a colour not used in \(N(v)\), of which there must be at least one.

4.1 Cliques with a small Neighbourhood↩︎

Cliques are interesting in the context of -preprocessing. For a clique \(C\) with positive unit weight edges, any \(k\)-partition \(p\) with \(\forall i: \left\lceil \frac{|C|}{k}\right\rceil \geq |V_{p = i}| \geq \left\lfloor \frac{|C|}{k}\right\rfloor\) is an optimum solution. Let \(G = (V, E, w)\) be a graph that is the sum of a unit weight clique \(C = (V_C, E_C, w_C)\) and \(G' = (V', E', w')\). If the intersection \(V_C \cap V'\) is small enough, we can solve \(G'\) to optimality and then colour the remaining vertices in \(V_C\) such that our partition is also optimum for \(C\). This idea has been employed for MaxCut in [6] and was then generalised in [8]. Their results extend to very naturally.

Theorem 2 (Same Neighbourhood Clique (generalises Proposition 4.5 in [8])). Given a weighted undirected graph \(G = (V, E, w)\) and a clique subgraph \(C = (V_C, E_C, w)\) of \(G\). If, for some constant \(c > 0\), we have

  • \(\forall v \in V_C, e \in \delta_G(v): w(e) = c\), i.e. \(C\) is unit weight

  • \(\forall v \in V_C: N(v) \setminus V_C = N(V_C)\), i.e. all \(v \in V_C\) have the same neighbourhood outside \(V_C\)

  • and \(|N(V_C)|\leq \left\lceil \frac{|V_C \cup N(V_C)|}{k} \right\rceil\)

then deleting all vertices in \(V_C\) from \(G\) and reducing the weights of all edges \(\{v, w\}\) with \(v, w \in N(C), v \ne w\) by \(c\) (if two vertices are not connected we insert an edge with weight \(-c\)) is an optimality-preserving data reduction rule for .

The proof for is analogous to the proof for MaxCut in [8]. While finding maximal cliques in general is difficult, cliques with a small neighbourhood can be located efficiently as noted in [6].

4.2 Triconnected Components and 2-Vertex-Separators↩︎

MaxCut can be solved efficiently on graphs with no \(K_{3, 3}\)-minor by exploiting \(2\)-vertex-separators, that is sets of two vertices such that their removal disconnects the graph [21]. These ideas were adapted for MaxCut preprocessing in [8]. They generalise to :

Theorem 3 (Two-Vertex-Separator reduction (Corollary 4.3 in [8])). Given a weighted undirected graph \(G = (V, E, w)\) and an induced subgraph \(G[V']\) with \(\partial_G(V') = \left\{u, v\right\}\). Let \(p'\) be the best solution for \(G[V']\) constrained by \(u\) and \(v\) having the same colour, and \(p''\) the best solution in which they have different colours. Then deleting all vertices in \(V' \setminus \left\{u, v\right\}\) and setting \(w(\{u, v\}) = w_1(p'') - w_1(p')\) is an optimality-preserving data reduction.

Proof sketch. We briefly sketch the proof by [8], which also works for . Let \(G'\) be the graph remaining after the reduction and \(p\) be an ptimum solution for \(G'\). If \(u\) and \(v\) have the same colour \(p\), then we extend \(p\) with \(p'\) and otherwise we extend with \(p''\). The change of \(w(\left\{u, v\right\})\) encodes the trade-off between these. For a full proof using our framework based on graph sums see the Appendix 9.1. ◻

To efficiently identify 2-vertex separators suitable for this reduction, we make use of the decomposition of G into its triconnected components [22], and then attempt to remove the leaves in the resulting tree structure as suggested in [8]. While [8] removed such components only if they contained \(\leq 21\) vertices, we noticed that branch-and-bound could frequently find the optimum solution for larger graphs as well. Due to this we instead opted to run an exact solver with a time limit of \(1\) second. [8] employed similar techniques with \(3\)-vertex-separators. A brief discussion why this is not possible for can be found in Appendix 9.2.

4.3 Negative Weight Dominating Edges↩︎

Another class of data reduction rules are dominating edges introduced by Lange et. al [9]. The key idea is that any edge that is not cut in an optimum solution can be safely contracted without affecting optimality.

Theorem 4 (Negative Dominating Edges (extends Theorem 1 (4) in [9])). Let \(G = (V, E, w)\) be a weighted graph, \(\delta(S)\) be a cut set for some \(S \subseteq V\) and \(e \in \delta(S)\) with \(w(e) < 0\). If \[-w(e) \geq \sum_{e' \in \delta(S) \setminus \{e\}} |w(e')|\] then contracting \(e\) is an optimality-preserving data reduction.

Proof sketch. We adapt the proof by [9]. Let \(e = \left\{u, v\right\}\) such that \(u \in S\). Let \(p\) be an optimum solution. If \(p\) cuts \(e\), then we swap the colours \(p(u), p(v)\) on \(S\). In the worst case we stop cutting all positive weight edges and start cutting all negative weight edges in \(\delta(S)\), except for \(e\). However, due to \(-w(e)\) being disproportionally high, this yields a \(k\)-partition \(p'\) with \(w(p') \geq w(p)\) that does not cut \(e\). Thus, there is an optimum solution that does not cut \(e\) and we can contract \(u\) and \(v\). ◻

Unfortunately, most other dominating edge rules in [7], [9] and [8] rely on specific properties of \(k = 2\). A weaker version of the triangle rule by [6] and a discussion why the other rules do not generalise can be found in Appendix 9.3.

5 Optimality-Preserving Data Separation↩︎

We now move on to data separations. For these, we describe conditions under which we can solve several subgraphs independent of each other, instead of solving the whole graph.

5.1 Separating (Bi)connected Components↩︎

Separating graphs into their (bi)connected components is a well known data separation technique [23] and a standard preprocessing step for MaxCut [7], [8]. We briefly motivate why separating (bi)connected components is optimality-preserving for . As different (bi)connected components \(C_1, C_2\) intersect in at most one vertex, optimum solutions \(p', p''\) of \(C_1, C_2\), respectively, have \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{C_1 \cap C_2}{}}{}{|C_1 \cap C_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{C_1 \cap C_2}{}}{}{|C_1 \cap C_2}}\). Therefore \(p', p''\) can be combined into a \(k\)-partition \(p\) of \(V\) using Lemma 1. By Theorem 1 \(p\) is optimum for \(G\).

5.2 Structured Cut Sets↩︎

Here, we introduce a new separation rule called structured cut sets, which makes use of the combinatorial benefits of larger values of \(k\).

By definition, deleting the edges of a cut set \(C \subseteq E\) from \(G\) decomposes it into at least two disjoint components. In this section we assume w.l.o.g. that deleting the cut set splits \(G\) into exactly two connected components, \(G_1 = \left(V_1, E_1, w_1\right)\) and \(G_2 = \left(V_2, E_2, w_2\right)\). We also consider only cut sets in which all edges have positive edge weights (called positive cut sets). For a discussion why cut sets containing negative edges are disregarded, see Appendix 10.5. Given optimum solutions \(p', p''\) for \(G_1, G_2\), we combine them into a \(k\)-partition \(p\) of \(V\) with \(\forall v \in V_1: p(v) = p'(v)\) and \(\forall v \in V_2: p(v) = p''(v)\). We now want to permute the colours on \(V_2\) such that all edges in \(C\) are cut by \(p\). If this is possible, \(p\) is optimum for \(G\), as it is optimum for \(G_1, G_2\) and \(G[C]\) and \(G = G_1 + G_2 + G[C]\). See Figure 3 for an example.

Figure 3: We cut all edges in the cut set by permuting blue \rightarrow magenta \rightarrow orange \rightarrow blue on V_2

We develop criteria to decide whether such a colour permutation exists, independent of the optimal solutions for \(G_1\) and \(G_2\). This allows us to solve \(G_1\) and \(G_2\) independently, as we can be certain that all edges in \(C\) can be cut. As our criteria work by showing that reconstruction is possible, we first introduce our reconstruction algorithm.

5.2.1 Reconstruction for Structured Cut Sets↩︎

In order to compute an optimum solution \(p\) of \(G\) from partitions \(p'\) and \(p''\) of \(G_1\) and \(G_2\), we introduce the notion of a complement that preserves the bipartition of a graph:

Definition 8 (Bipartite Complement Graph). Given an undirected bipartite graph \(G = (L \sqcup R, E)\) such that \(L, R\) is a bipartition of its vertices, we define the bipartite complement of \(G\) with respect to \(L, R\) as \[\begin{align} \overline{G[L,R]} = \left(L \sqcup R, \left\{\left\{l, r\right\} \mid l \in L, r \in R, \left\{l, r\right\} \not \in E\right\}\right) \end{align}\]

Figure 4: A cut set and its colour relation graph for k = 4 with the partition encoded via colours.

The central idea of our algorithm is to construct a colour relation graph \(G_{CR}\), which has \(2k\) vertices. We have one vertex for every colour \(i \in \left\{1,...,k\right\}\) and each side \(L, R\). Two vertices \((i, L), (j, R)\) are connected in \(G_{CR}\) iff an edge \(\{v, w\} \in C, v \in V_1, w \in V_2\) connects vertices with \(p(v) = i, p(w) = j\). An example can be seen in Figure 4. These edges in \(G_{CR}\) encode that we are not allowed to map \(j\) to \(i\) when permuting the colours on \(V_2\). Correspondingly, edges in the bipartite complement of \(G_{CR}\) encode how we are allowed to permute \(p\) on \(V_2\). Any perfect matching will give us a valid permutation \(\pi\). If we permute \(p\) with \(\pi\) on \(V_2\), all edges in \(C\) will be cut. Correspondingly, given a solution \(p\) for \(G\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p', p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\) that cuts all edges in \(C\), we can derive a perfect matching in the colour relation graph. We do this by determining a permutation \(\pi\) that maps \(p''\) into \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}}\).

From this idea we can derive the following reconstruction algorithm:

Figure 5: ReconstructSCS(G = (V, E, w), C, p', p'', k)

Theorem 5. Given \(G, C, p'\) and \(p''\), ReconstructSCS finds a \(k\)-partition \(p\) of \(V\) that cuts all \(e \in C\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\) if one exists, and returns an error otherwise. Its runtime is in \(\mathcal{O}(n + |C| + k^{2.5})\).

The proof follows the previous outline and can be found in full in Appendix 10.1. By applying Theorem 1 we obtain the following result:

Corollary 1. Let \(C\) be a positive cut set that partitions \(G\) into \(G_1\) and \(G_2\) with optimum solutions \(p'\) and \(p''\), respectively. If ReconstructSCS returns a partition \(p\), then \(p\) is optimum for \(G\).

We now know how to efficiently reconstruct a cut set, provided that reconstruction is possible. However, as seen in Figure 6, there are cut sets for which reconstruction is not guaranteed to succeed.

Figure 6: Let k = 3, p' requires that l_1 and l_2 have different colours and p'' requires that r_1 and r_2 have different colours. Then reconstructing the cut set is impossible.

Therefore, before splitting \(G\) at a positive cut set, we must make sure that ReconstructSCS finds a partition. We present some efficiently checkable criteria that assure that we can reconstruct a solution or prove that this is not possible. They make no assumptions about \(p'\) and \(p''\), and therefore work regardless of the partitions provided for \(V_1\) and \(V_2\).

5.2.2 Criteria for Removing Structured Cut Sets↩︎

We first introduce two criteria showing that sufficiently small cut sets can always be removed.

Theorem 6. Let \(G = (V, E, w)\) be a weighted graph and \(C\) be a positive cut set. If

  • \(G[C]\) has at most \(k\) vertices or

  • \(G[C]\) has at most \(k-1\) edges

then splitting \(G\) into \(G_1, G_2\) by deleting \(C\) is an optimality-preserving data separation.

Proof sketch. If there are at most \(k\) vertices in \(G[C]\), then we can permute the colours on \(G_2\) such that no vertices on the left and right side share a colour. If there are less than \(k\) edges in the cut set and we permute the colours on \(G_2\) uniformly at random, then in expectation there are \(|C| \cdot \frac{1}{k} < 1\) edges in \(C\) we do not cut. Therefore there must be a permutation that cuts all edges in \(C\). For an algorithmic proof see Appendix 10.3. ◻

Both of these criteria can be checked efficiently. However, as we can see in Figure 7, there are cut sets that we can split that satisfy neither criterion.

Figure 7: A cut set. For k = 3, neither criterion from Theorem 6 holds. However, as l_2 and r_1 can have the same colour, we can always reconstruct.

A naive approach to solve this issue would be to simply enumerate all colourings of \(\partial_G(V_1), \partial_G(V_2)\) and check if we can reconstruct. However, this would be very time consuming, even for small \(k\). Instead we present another criterion that can be applied to larger separators and takes their combinatorial structure into account:

Theorem 7. Let \(G = (V, E, w)\) be a weighted graph and \(C\) be a positive cut set that splits \(G\) into \(G_1 = (V_1, E_1, w_1)\) and \(G_2 = (V_2, E_2, w_2)\). We denote \(L = \partial_G(V_1)\) and \(R = \partial_G(V_2)\).
If \(\overline{G[C][L, R]}\) contains a matching \(M\) of size \(\geq 2 \cdot (|V_C| - k) - 1\), then splitting \(G\) into \(G_1\) and \(G_2\) by deleting \(C\) is an optimality-preserving data separation

Proof sketch. Given \(p'\) and \(p''\), we can derive the colour relation graph from \(G[C]\) by repeatedly contracting vertices that have the same colour and side. We then add vertices for the colours that are missing. We call these newly added vertices jokers, as in the complement graph we can match them to any vertex on the other side. An example of this can be seen in Figure 8. If, for an \(e \in M\) one of its endpoints is contracted, then we remove it. Therefore, for each contraction, we lose at most \(2\) edges in \(M\) while gaining a joker. The bound is chosen such that we can match all vertices not covered by the remaining edges in \(M\) with jokers after any contraction sequence. For the full proof see Appendix 10.4. ◻

Figure 8: Obtaining G_{CR} by contracting nodes sharing side and colour, then adding nodes for the missing colours

This criterion can be checked efficiently in time \(\mathcal{O}(|C| + k^{2.5})\) using the algorithm by [24]. Further, if the cut set contains at most \(k\) vertices, we only require \(|M| \geq 0\). Therefore, this criterion implies the first criterion from Theorem 6. Note that this criterion is sufficient, but for \(k > 3\) it is not necessary. For \(k = 4\) an example of a graph for which the criterion does not hold, but that is valid to separate, can be seen in Figure 9.

Figure 9: If k = 4 we can always reconstruct here by assigning l_1 and r_1 to different groups and then assigning the remaining 2 groups to l_2, l_3, r_2, r_3 if necessary. As all edges contain either l_1 or r_1 it is no problem if e.g. l_2, r_3 are assigned to the same group. Note that this structured cut sets fulfils none of our criteria.

To complement the criteria showing that reconstruction is possible, we also show a simple criterion that shows reconstruction is not guaranteed to be possible:

Theorem 8. Given a weighted undirected graph \(G = (V, E, w)\) and a positive cut set \(C\) in \(G\) that splits \(G\) into \(G_1 = (V_1, E_1, w_1)\) and \(G_2 = (V_2, E_2, w_2)\). If \(\max\left\{|\partial_G(V_1)|, |\partial_G(V_2)|\right\} \geq k\), then there exist \(k\)-partitions \(p', p''\) of \(V_1\) and \(V_2\), such that there is no \(k\)-partition \(p\) of \(V\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\) \(p\) that cuts all edges in \(C\).

Proof. Let \(|\partial_G(V_1)| \geq k\). If \(p'\) uses all \(k\) colours vertices in \(\partial_G(V_1)\) and \(p''\) colours all vertices in \(\partial_G(V_2)\) same colour, then at least one edge in \(C\) can not be cut by permuting \(p\) on \(V_2\). ◻

This implies that for \(k = 2\) we can only remove cut sets containing one edge, which are already covered by splitting biconnected components.

5.3 Criteria where one Solution is Known↩︎

So far we assumed that the solutions for \(G_1\) and \(G_2\) are unknown. If we know the optimum solution for w.l.o.g. \(G_2\), we can contract all vertices in \(V_2\) that share a colour. If any criterion from Theorems 6 or 7 is fulfilled, we can delete all vertices in \(V_2\). Knowing the solution for \(G_2\) also enables a new criterion: Let \(v_1,...,v_r\) be the boundary of the contracted \(G_2\). If \(d_{G[C]}(v_i) \leq k - i\), we can delete all vertices in \(V_2\). During reconstruction we permute \(p\) on \(V_2\) such that \(v_i\) gets a colour not used by any vertex in \(N_{G[C]}(v_i)\) or \(v_1,...,v_{i - 1}\).

Given a positive cut set \(C\) we can not split with Theorems 6 or 7. If \(|V_2| \leq 20\) we solve \(G_2\) to optimality and check the criteria above.

5.4 Finding Structured Cut Sets↩︎

As we do not have a nice “if and only if” characterisation of which cut sets we can split, designing an efficient algorithm to find them is difficult. Theorem 8 implies that we can only split structured cut sets with at most \((k-1)^2\) many edges. We therefore propose to find structured cut sets by identifying small cut sets, checking our criteria, and solving one side to optimality if it is sufficiently small. For this we employ a heuristic based on the randomized MinimumCut algorithm FastCut by Karger and Stein [25]. FastCut works by randomly contracting edges to generate large numbers of small cuts, which we take as candidates.

6 Computational Experiments↩︎

For our experiments, we implemented the assignment model for by [11]. To strengthen the model we employ greedy heuristics to separate cycle, general clique, wheel and bicycle wheel inequalities from [11] and \(1, -1\) hypermetric inequalities from [14]. The solver serves both as a baseline to compare against and as the solver for the kernel graphs left over by our preprocessor. To provide a warm start for the solver we implemented a local search algorithm with tabu search based on [26]. We also used this heuristic for experiments on very large instances.

For the order of data separation and reduction rules we chose to first employ rules that maintain local positivity and unit weight of edges, to ensure that rules requiring this can still be applied later. This lead us to the following order:

  1. Remove low degree vertices and split (bi)connected components

  2. Locate and remove structured cut sets using FastCut and Theorems 6 and 7.

  3. Remove unit weight cliques with a small neighbourhood (Theorem 2).

  4. Contract negative-weight dominating edges.

  5. Find two vertex separators yielding at least one small component and apply Theorem 3.

  6. Find cut sets where one side is small, solve it and check if it can be removed.

If any rule successfully reduces the graph, we restart at the top. We use queues and flags to keep track of which vertices are promising candidates for the various rules and to make sure we do not run expensive rules too often. Similar techniques are used in [6], [8]. We decided to forego the preprocessing rule by [10], as they reported no reduction for \(k > 2\).

6.1 Setup↩︎

We implemented everything in C++ 20. For a graph class and fundamental algorithms we relied on NetworKit [27]. To locate biconnectors we use the SPQR-tree implementation of [28] in the Open Graph Drawing Framework [29]. We compiled the code using gcc 14.3.0 with the “-O3” flag. All experiments were run on a machine with 2 Intel Xeon “Sapphire Rapids” 48-core CPUs and 1024 GB RAM running AlmaLinux 9.6. To solve ILPs we used the state of the art solver Gurobi 13 [30] and set it to use as many threads as needed. We also employed parallelism to collect small cuts for separating structured cut setsand in our local search heuristic.

6.2 Instance Selection↩︎

We used the instances by [8], which is the most recent study on MaxCut-preprocessing. These are separated into four sets: easy, medium, big and torus. The first three sets contain instances from image segmentation and VLSI-chip design problems from [31] and biological, co-author and social networks from [32]3. The instances are split into easy, medium and hard based on how challanging they are for MaxCut. As the difficulty for varies strongly depending on \(k\) we decided to keep the grouping of [8]. The torus instances contain \(2\) and \(3\)d toroid grids from statistical physics from [33], originally generated by [34]. We also relaxed the CELAR, GRAPH and DUTtest1 sets of frequency assignment problems from [35], referred to as fap instances. These were originally provided by the CALMA project and [36]. See Appendix 11.2 for more detail on our instance sets.

6.3 Running an Experiment↩︎

We compare runs with no preprocessing, naive preprocessing (only low degree vertex removal and splitting (bi)connected components), and our preprocessing. We evaluate the \(k\)-values \(\left\{3,\ldots,8,10,12\right\}\). On the easy, medium, fap and torus datasets we employ Gurobi with a \(30\) minute time limit to solve the instances to optimality. For the big data set we run a local search heuristic with a two hour time limit. Preprocessing is included in the time limit and reported runtime. To account for variances, we run \(5\) seeds for Gurobi and \(3\) for the heuristic.

Given a combination of instance and \(k\), we determine a winner: The winner is the configuration that found the optimum solution on the largest number of seeded runs. In case of a tie, we first break by the average dual bound on the solutions not solved to optimality and then by runtime on the solved instances.

6.4 Computational Results↩︎

Figure 10 shows the number of optimum solutions found for the instances from [8] and the fap instance set. We observe significant improvements for the challenging fap data set, with the exception for \(k=5\). For \(k = 7\) we solve three additional instances and for \(k = 8\) we solve five more instances. In both cases the additional instances solved are from the real world CELAR data set, while our performance on the synthetic GRAPH and DUTtest1 instances is the same as both naive and no preprocessing. The improvements for larger values of \(k\) are due to the increased effectiveness of our structured cut sets. With increasing \(k\), many of the subgraphs split by our preprocessing are easy to solve, since they can be \(k\)-coloured easily. On the torus instances, the number of solved instances decreases with increasing \(k\), as the size of the search space grows significantly, while the grid structure means very few cutting planes are applicable. Most easy and medium instances can be routinely solved, both with and without preprocessing. Since solution times for the easy instances are below one second even with the naive preprocessing, we do not discuss them further here (see Appendix 11.3).

a

b

Figure 10: Number of optimum solutions found within \(30\) minutes on easy, medium, fap and torus instances. If the optimum was found only for some seeds the instance is counted fractionally..

We now take a closer look into the medium dataset. Table ¿tbl:tab:benchmark95medium? shows the number of wins, the runtimes, and the sizes of the remaining graphs after preprocessing. We observe significant gains over naive preprocessing. Across all \(k\), the average graph kernels remaining after our preprocessing are significantly smaller than those from naive preprocessing. This leads to our preprocessing achieving more wins and lower average runtime for most \(k\). This is especially visible for \(k \geq 8\) where Gurobi with our preprocessing beats pure Gurobi by an order of magnitude and naive preprocessing by a factor of \(6\). The most challenging instances in the medium data set are network instances. These frequently contain small, dense subgraphs that are only sparsely connected to the remaining graph. Our preprocessing splits these off or removes them with the clique, structured cut sets and biconnector rules, making the kernels much easier to solve.

Number of wins, average runtime and average percentage of vertices and edges remaining after naive and our preprocessing algorithm on the medium data set.
Gurobi Naive Our
2-3()4-7()8-11 \(k\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s]
3 2 486 32.55 36.74 4 441 16.75 22.60 11 330
4 5 282 19.77 21.73 6 364 8.34 12.35 8 366
5 2 175 14.47 15.36 8 150 4.98 7.31 9 122
6 1 143 11.62 11.53 9 47 3.36 6.05 11 40
7 1 135 10.18 9.21 9 61 2.29 4.20 9 20
8 1 134 9.02 7.34 8 67 1.55 3.07 13 10
10 1 109 8.14 5.66 10 67 0.91 1.82 10 10
12 1 119 7.40 3.91 11 67 0.21 0.27 10 10

On the fap dataset, preprocessing removes significantly less than on the previous data sets (see Table ¿tbl:tab:benchmark95fap?). This is primarily caused by fap instances being denser than the previous network instances. Still, our preprocessing is able to separate or remove dense subgraphs that are only sparsely connected to the remaining graph. Due to this, we observe more wins and faster runtimes on average, in addition to solving more instances to optimality.

Number of wins, average runtime and average percentage of vertices and edges remaining after naive and our preprocessing algorithm on the fap data set.
Gurobi Naive Our
2-3()4-7()8-11 \(k\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s]
3 11 1,722 99.09 99.74 13 1,722 93.93 96.70 19 1,717
4 13 1,548 95.20 98.05 11 1,535 91.95 95.73 13 1,502
5 9 1,326 87.60 93.02 14 1,238 82.52 89.34 13 1,361
6 5 1,020 63.98 76.38 10 760 56.73 68.66 18 627
7 3 658 59.05 72.03 10 595 46.02 55.94 19 467
8 2 698 48.02 62.83 13 562 34.72 43.75 17 331
10 3 635 35.09 50.01 12 480 17.79 25.92 17 402
12 0 475 27.05 41.25 12 126 11.34 17.59 25 66

The torus instances differ in their structure significantly from the other data sets as their grid structure and the large number of negative edge weights makes almost all our preprocessing rules not applicable. In Table ¿tbl:tab:benchmark95physics? we see that naive preprocessing is able to remove almost nothing, even for higher values of \(k\). Our preprocessing is able to remove significantly more, as contracting negative-weight dominating edges breaks up the grid like structure, enabling other preprocessing rules.

Number of wins, average runtime and average percentage of vertices and edges remaining after naive and our preprocessing algorithm on the torus data set.
Gurobi Naive Our
2-3()4-7()8-11 \(k\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s]
3 1 626 100.00 100.00 3 625 91.40 95.30 15 588
4 2 638 100.00 100.00 5 638 91.38 95.26 12 618
5 5 671 97.27 94.75 6 669 84.41 86.60 10 653
6 8 748 97.27 94.75 4 727 81.60 83.52 8 740
7 3 875 96.25 92.75 5 873 77.14 77.67 10 861
8 5 953 96.25 92.75 4 900 74.92 75.39 9 904
10 7 1,045 96.25 92.75 3 1,014 72.93 73.17 8 944
12 6 1,208 96.25 92.75 3 1,315 72.62 72.71 9 1,029

On the big data set we observe more mixed results. As seen in Table ¿tbl:tab:benchmark95big?, for most instances our preprocessing does not achieve significantly greater reductions than naive preprocessing, while taking much longer. A notable exception is the web-it-2004 instance, on which our preprocessing removes almost 90% of nodes and 65% of edges for all \(k\), while naive preprocessing can not remove more than 12% of nodes and 2% of edges, even for \(k = 10\). Unfortunately our preprocessing usually does not lead to better heuristic values. A significant amount of time is spend to ensure everything is optimality-preserving. This conflicts with finding the best solution within the time limit, as the objective value on the kernels has the greatest impact on the objective for the whole graph.

Best value found by our local search heuristic within \(2\) hours, percentage of vertices and edges remaining, improvement over the straight heuristic (bvi) and time spend preprocessing (pr) of naive and our preprocessing algorithm on the big data set. For the full table see Appenix [sec:appendix:big95full]
Heuristic Naive Our
4-7()8-11 \(k\) instance best value \(|V|[\%]\) \(|E|[\%]\) bvi pr[s] \(|V|[\%]\) \(|E|[\%]\) bvi pr[s]
4 ca-IMDB 3.687.347 39.58 79.82 50.525 3 39.58 79.82 50.589 63
ca-coauthors-dblp 12.070.341 93.80 99.58 3.618 12 84.78 97.13 1.480 1.008
inf-road-central 16.930.983 0.00 0.00 2.430 17 0.00 0.00 2.430 17
web-Stanford 2.213.473 65.49 90.45 4.314 2 63.48 89.19 3.096 178
web-google 4.679.030 56.32 84.80 22.832 8 53.47 82.05 15.212 1.447
web-it-2004 5.727.019 91.44 98.96 5.208 4 11.04 35.92 5.208 44
7 ca-IMDB 3.760.031 26.13 64.50 15.666 3 26.13 64.50 15.719 49
ca-coauthors-dblp 13.612.054 86.50 98.60 4.809 11 82.01 97.24 773 2.286
inf-road-central 16.933.413 0.00 0.00 0 17 0.00 0.00 0 17
web-Stanford 2.282.032 33.52 69.91 1.436 1 33.08 69.48 1.468 118
web-google 4.969.060 36.46 67.09 8.982 6 34.98 65.17 9.412 1.128
web-it-2004 6.434.136 90.01 98.66 3.165 4 10.65 35.82 3.166 41
10 ca-IMDB 3.777.961 16.29 46.38 3.865 2 16.29 46.38 3.858 37
ca-coauthors-dblp 14.192.268 79.89 97.19 4.717 10 77.07 96.21 2.338 1.793
inf-road-central 16.933.413 0.00 0.00 0 16 0.00 0.00 0 16
web-Stanford 2.298.360 23.20 59.40 912 2 22.99 59.13 907 63
web-google 5.051.920 22.09 47.17 4.502 4 21.26 45.79 4.768 561
web-it-2004 6.711.894 88.01 98.02 2.149 4 10.26 35.64 2.150 42

6.5 Ablation Study↩︎

To evaluate the impact of our different preprocessing rules, we benchmarked how the performance changes when a rule is disabled. Table ¿tbl:tab:ablation? shows the results. Across all values of \(k\), disabling the dominating edge rules leads to the largest kernels on the torus set. However, disabling the biconnector, SCS or SCSS rule has a stronger impact on the number of wins. This suggests that these rules remove data that the solver would usually struggle with. On the medium instances, disabling the clique and dominating edge rule causes the greatest loss in the number of removed edges. This is different on the fap instances, where disabling the biconnector and the SCSS rules lead to the lowest number of removed edges. However, on the medium and fap set, none of clique, biconnector or SCS cause significantly fewer wins when removed. This suggests that these rules have comparable impacts on our ability to solve instances to optimality.

Percentage of edges remaining and number of wins comparing full preprocessing except dominating edges (NoDom), cliques (noClq), \(2\) vertex separators (noBicon), (no) and with solving the small side (noS). Naive and full preprocessing for reference, the worst values are highlighted. For the full table see Appendix [sec:appendix:ablation95full]
All Naive NoDom NoClq noBicon No NoS
3-4()5-6()7-8()9-10()11-12()13-14 \(k\) dataset \(|E|[\%]\) \(|E|[\%]\) \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins
4 easy 5.77 5.77 5.77 7 5.77 10 5.77 9 5.77 9 5.77 10
medium 12.35 21.73 14.28 5 16.52 4 13.91 7 12.32 5 12.35 6
torus 95.26 100.00 100.00 6 95.26 3 95.26 4 95.26 2 95.26 3
fap 95.73 98.05 95.73 11 96.22 10 96.60 6 95.09 7 95.82 14
7 easy 0.00 0.00 0.00 11 0.00 12 0.00 11 0.00 12 0.00 12
medium 4.20 9.21 6.60 10 5.48 7 4.71 11 4.20 6 4.20 9
torus 77.67 92.75 87.10 8 77.67 2 78.42 4 77.35 3 79.95 1
fap 55.94 72.03 55.94 5 59.64 6 55.91 6 56.37 7 67.07 12
10 easy 0.00 0.00 0.00 12 0.00 11 0.00 11 0.00 12 0.00 12
medium 1.82 5.66 4.31 10 2.13 9 2.30 10 1.88 9 1.82 11
torus 73.17 92.75 84.18 9 73.17 2 74.12 2 72.68 3 76.63 2
fap 25.92 50.01 25.92 6 37.08 3 25.92 4 23.03 4 40.12 18

7 Conclusion and Outlook↩︎

We introduced new optimality-preserving data reduction and data separation rules for . In particular, we proposed structured cut sets, a new data separation rule that is especially effective for \(k\ge 3\). Our experimental results show that structured cut sets enables the removal of many cut sets, particularly for larger \(k\). Combined with generalisations of MaxCut-preprocessing rules, this allows us to solve significantly more instances than using an exact solver with naive preprocessing only. This holds for instances from different real-world applications and across different values of \(k\).

Future work includes developing additional criteria for cut sets whose removal preserves optimality. It would also be interesting to investigate whether structured cut setscan be used for problems related to . Furthermore, it would be interesting to engineer a preprocessing framework especially suited for running heuristics on very large instances.

8 Preprocessing Framework↩︎

8.1 Offsets↩︎

The constant offsets of the discussed rules are as follows:

  • Low degree: \(\sum_{e \in \delta(v)} w(e)\)

  • Cliques with a small neighbourhood: Let \(c\) be the unit edge weight of \(C\) and \(F = N(V_C) \cup V_C\). Then the offset is \[\begin{align} \frac{c}{2} \cdot \left( |F|^2 - (k - (|F| \mod k)) \cdot \left\lfloor \frac{|F|}{k} \right\rfloor^2 - (|F| \mod k) \cdot \left\lceil \frac{|F|}{k} \right\rceil^2 \right) \end{align}\]

  • \(2\)-Vertex Separators: \(w(p')\)

  • Negative Dominating Edges: \(0\)

  • Negative Dominating Triangles (see Appendix 9.3): \(0\)

  • (Bi)connected Components: \(0\)

  • Structured Cut Sets: \(\sum_{e \in C} w(e)\)

    • If the optimum solution \(p\) for w.l.o.g. \(G_2\) is known, then \(w(p) + \sum_{e \in C} w(e)\).

8.2 Combining Partitions↩︎

Proof of Lemma 1:

Proof. To compute \(p\) from \(p'\) and \(p''\) we use the following algorithm:

Figure 11: CombinePartitions(p': V_1 \rightarrow \{1,...,k\},p'': V_2 \rightarrow \{1,...,k\})

\(p\) clearly satisfies \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\). As \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}}\) we have that the array \(\pi\) we compute stores a permutation such that \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}} = p''^{\ifthenelse{\equal{\pi}{}}{}{\pi}}_{\ifthenelse{\equal{V_1 \cap V_2}{}}{}{|V_1 \cap V_2}}\). We then have for all \(v \in V_2\) that \(p(v) = \pi[p''(v)]\), therefore \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{}{}}{}{|}}\).

By realising partitions such that read and write access to \(p(v)\) is possible in \(\mathcal{O}(1)\) (for example as arrays), this algorithm runs in \(\mathcal{O}(|V_1 \cup V_2|) = \mathcal{O}(n)\). ◻

9 Data Reduction Rules↩︎

9.1 Proof of Theorem 3↩︎

Proof. In [8] this was proven using their framework based on graph separators. Our proof is very similar, but based on our proof framework based on graph addition.

We assume w.l.o.g. that \(\{u, v\} \in E\) (and if not insert it with weight \(0\)). Let \(G[V'] = G' = (V', E', w')\) and \(\Delta = w'(p'') - w'(p')\). We now set \(\hat{w}(\{u, v\}) = w'(\left\{u, v\right\}) - \Delta\) and \(\hat{w}(e) = w'(e) = w(e)\) for all other \(e \in E'\). The graph \(\hat{G} = (V', E', \hat{w})\) is \(G'\), except we subtracted \(\Delta\) from the weight of \(\{u, v\}\). Let \(G''\) be the graph that remains after the rule has been applied. Note that \(G = \hat{G} + G''\).

We begin by claiming that \(p'\) and \(p''\) are both optimum solutions for \(\hat{G}\). To show this, we first show that they are the optimum solution in which \(u, v\) have the same resp. different colours and then show that they have equal cut value.

As changing the weight of \(\{u, v\}\) has no impact on the cut value of any solution that does not cut \(\{u, v\}\), \(p'\) remains an optimum among these. For the solutions that cut \(\{u, v\}\) all of their objective values change by \(-\Delta\), so \(p''\) remains an optimum among them. We then get \[\begin{align} \hat{w}(p'') = w'(p'') - \Delta = w'(p'') - (w'(p'') - w'(p')) = w'(p') \end{align}\]

Therefore, given an optimum solution \(p'\) for \(G'\), we either have \(p'^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{\{u, v\}}{}}{}{|\{u, v\}}} \cong p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{\{u, v\}}{}}{}{|\{u, v\}}}\) or \(p''^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{\{u, v\}}{}}{}{|\{u, v\}}} \cong p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{\{u, v\}}{}}{}{|\{u, v\}}}\). In either case we can combine an optimum solution for \(G''\) with an optimum solution for \(G'\) using Lemma 1. By Theorem 1, the resulting partition \(p\) is optimum for \(G\). ◻

9.2 Larger Vertex Separators↩︎

A natural question that arises is whether or not we can also use \(3\) vertex separators or even larger separators for a similar preprocessing strategy. Our clique based rules work on larger separators, but rely on a very special structure of the graphs on the other side that we can not hope for in general. In [8] the usage of \(3\) vertex cuts was employed for MaxCut. Unfortunately, this can not be generalised to higher values of \(k\).

For MaxCut, given a \(3\) vertex separator \(u, v, w\), the weights of \(\{u, v\},\{u, w\}\) and \(\{v, w\}\) could be modified. Together with the offset, this gives \(4\) degrees of freedom to encode the differences in objective values for the \(4\) different optimum values for “\(u, v, w\) are in the same group”, “\(u, v\) are in the same group, \(w\) is in the other group”, “\(u, w\) are in the same group, \(v\) is in the other group” and “\(v, w\) are in the same group, \(u\) is in the other group”. For with \(k \geq 3\) we would have to encode a fifth optimum value for the case “\(u, v, w\) are all in different groups”, which makes using \(3\) vertex cuts in general not possible.

9.3 Dominating Edges and Triangles↩︎

In MaxCut preprocessing, Lange et. al [9] discussed that an edge \(e = \left\{u, v\right\}\) can be contracted if we know that there is an optimum solution that cuts \(e\). This is achieved by multiplying the edge weights of edges incident to \(u\) before contracting \(u\) into \(v\). This means if \(x\) and \(v\) are on different sides of the cut in the reduced graph, we take a penalty of \(w(\left\{x, u\right\})\), as \(x\) and \(u\) are on the same side after reconstruction. If \(x\) and \(v\) are on the same side, then \(x\) and \(u\) are on different sides after reconstruction and we take no penalty.

For for \(k \geq 3\) this unfortunately does not work, as there is also the configuration \(x, u\) and \(v\) all have different colours. The same issue was noted by Lange et. al [9] with their preprocessing for MultiCut.

9.3.1 Dominating Triangles↩︎

Theorem 9 (Negative Triangle Rule (Corollary 1 (i) from [9])). Given an weighted undirected graph \(G = (V, E, w)\) and vertices \(v_1, v_2, v_3 \in V\) such that \(e_1 = \{v_1, v_2\}, e_2 = \{v_1, v_3\}, e_3 = \{v_2, v_3\} \in E\). Let \(U_1, U_2 \subseteq V\) with \(e_1, e_2 \in \delta(U_1)\) and \(e_1, e_3 \in \delta(U_2)\). If \(w(e_1) < 0\) and the inequalities \[\begin{align} - w(e_1) - w(e_2) &\geq \sum_{e' \in \delta(U_1) \setminus \{e_1, e_2\}} |w(e')| \\ - w(e_1) - w(e_3) &\geq \sum_{e' \in \delta(U_2) \setminus \{e_1, e_3\}} |w(e')| \end{align}\] hold, contracting \(e_1\) is optimality-preserving.

For the proof we refer to [9]. Unfortunately the rule does not immediately extend to . Luckily we can show that a stricter version the rule still holds for .

Theorem 10 (Negative Triangle Rule for ). Given an weighted undirected graph \(G = (V, E, w)\) and vertices \(v_1, v_2, v_3 \in V\) such that \(e_1 = \{v_1, v_2\}, e_2 = \{v_1, v_3\}, e_3 = \{v_2, v_3\} \in E\). Let \(U_1, U_2 \subseteq V\) with \(e_1, e_2 \in \delta(U_1)\) and \(e_1, e_3 \in \delta(U_2)\). If \(w(e_1) < 0\) and the two inequalities \[\begin{align} - w(e_1) &\geq \sum_{e' \in \delta(U_1) \setminus \{e_1, e_2\}} |w(e')| \\ - w(e_1) &\geq \sum_{e' \in \delta(U_2) \setminus \{e_1, e_3\}} |w(e')| \end{align}\] hold, then contracting \(e\) is optimality-preserving.

Proof. Let \(p\) be a \(k\)-partition of \(V\).

If \(p\) cuts \(e_1\) we produce a \(k\)-partition at least as good as \(p\) that does not cut \(e_1\). If \(p\) cuts \(e_1\), then it also cuts \(e_2\) or \(e_3\), w.l.o.g. it cuts \(e_2\). We then permute the colours on \(U_1\) such that \(e_1\) is no longer cut. let \(p'\) be the resulting partition. In the worst case \(p\) cuts all positive and none of the negative edges in \(\delta(U_1) \setminus \left\{e_1, e_2\right\}\) and \(p'\) cuts no positive edges and all negative edges in \(\delta(U_1)\), except for \(e_1\). The difference in objective value is \(-w(e_1) - \sum_{e' \in \delta(U_1) \setminus \{e_1, e_2\}} |w(e')| \geq 0\). Therefore we find a partition at least as good as \(p\) which does not cut \(e_1\). ◻

10 Proofs and Further Notes for Structured Cut Sets↩︎

10.1 Proof of Theorem 5↩︎

Proof. We begin with the runtime, as it is the easiest. Computing \(G_{CR}\) takes \(\mathcal{O}(|C| + k)\) time and its bipartite complement can be computed in time \(\mathcal{O}(k^2)\). A maximum matching can be computed in \(\mathcal{O}(k^{2.5})\) [24] and, if a matching is found, all further steps take time \(\mathcal{O}(n + k)\), leading to a total runtime of \(\mathcal{O}(n + |C| + k^{2.5})\).

With this we now move on to the proof of correctness. We will begin by showing that if we find a perfect matching, we find a \(k\)-partition \(p\) that cuts all \(e \in C\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\). We then go on to show that we find a perfect matching if such a partition \(p\) exists.

If we find a perfect bipartite matching in line \(3\), then \(\pi\) defines a permutation on \(\{1,...,k\}\). By construction the returned partition \(p\) has \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} = p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} = p''\), so we only need to show that \(p\) cuts every edge \(e \in C\).
Let \(\{v, w\} \in C\) be an edge with \(v \in V_1\) and \(w \in V_2\). From this it follows that the edge \(\{(p'(v), L), (p''(w), R)\}\) is in \(G_{CR}\) and therefore not in its bipartite complement, so it can’t be in the matching. Therefore we get \(\pi(p''(w)) \not = p'(v)\), so \(p(v) = p'(v) \not = \pi(p''(w)) = p(w)\), so \(e\) is cut by \(p\).

Now we just have to show that we find a perfect matching if a partition \(p\) that cuts all \(e \in C\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\) exists.
Suppose that such a \(k\)-partition \(p\) of \(V\) exists. W.l.o.g. \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} = p'\) and let \(\pi\) be the permutation such that \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} = p''^{\ifthenelse{\equal{\pi}{}}{}{\pi}}_{\ifthenelse{\equal{}{}}{}{|}}\). For better readability let \(\mathcal{L}= \{(i, L) \mid i \in \{1,...,k\}\}\) and \(\mathcal{R}= \{(i, R) \mid i \in \{1,...,k\}\}\) be the different sides of the colour relation graph and \(H = \overline{G_{CR}[\mathcal{L}, \mathcal{R}]}\) be the bipartite complement of \(G_{CR}\). We claim that \(M = \{\{(i, L), (\pi^{-1}(i), R)\}\}\) is a perfect matching for \(H\). Suppose that there was an edge \(\{(i, L), (\pi^{-1}(i), R)\} \in M\) that is not in \(H\). Then there must be an edge \(e = \{v, w\} \in C\) with \(v \in V_1, w \in V_2\) such that \(p'(v) = i, p''(w) = \pi^{-1}(i)\). But then \(p(v) = i = \pi(\pi^{-1}(i)) = \pi(p''(i)) = p(w)\), so \(p\) does not cut \(e\), a contradiction. Therefore \(M\) must be a perfect matching.

With this we have shown that ReconstructStructured Cut Sets finds a \(k\)-partition \(p\) of \(V\) that cuts all \(e \in C\) with \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p'\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p''\) if one exists in time \(\mathcal{O}(n + |C| + k^{2.5})\). and returns an error otherwise. ◻

10.2 Proof of Theorem 8↩︎

Proof. Let w.l.o.g. \(|\partial_G(V_1)| \geq k\) and let \(v_1,...,v_k \in \partial_G(V_1)\) be distinct vertices. We now define \(p'(v_i) = i\) and assign all other vertices in \(V_1\) to some arbitrary colour. We define \(p''\) with \(p''(v) = 1\) for all \(v \in V_2\).

Suppose now that there was a \(k\)-partition \(p\) of \(V\) such that \(p\) cuts all edges in \(C\), \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} \cong p_1\) and \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_2}{}}{}{|V_2}} \cong p_2\). Then w.l.o.g. we assume that \(p^{\ifthenelse{\equal{}{}}{}{}}_{\ifthenelse{\equal{V_1}{}}{}{|V_1}} = p_1\). Let \(j = p(w)\) for all \(w \in V_2\). Then there exists an edge \(\{v_j, w\}\) for some \(w \in V_2\) (as otherwise \(v_j \not \in \partial_G(V_1)\)), so \(p(v_j) = j = p(w)\). Therefore \(p\) does not cut \(\{v_j, w\}\), a contradiction. ◻

10.3 Proof of Theorem 6↩︎

Proof. Let \(p', p''\) be optimum solutions for \(G_1 = (V_1, E_1, w_1), G_2 = (V_2, E_2, w_2)\) respectively.

If \(G[C]\) has at most \(k\) vertices, then we can permute \(p''\) such that no two vertices \(v \in \partial_G(V_1), w \in \partial_G(V_2)\) have the same colour and therefore all edges in \(C\) are cut.

For the case that \(G[C]\) has at most \(k-1\) edges we show that algorithm 12 always computes a perfect matching, despite only guaranteeing a \(\frac{1}{2}\) approximation on general bipartite graphs.

Figure 12: ByDegreeAscending(G = (L \sqcup R, E))

Lemma 2. Given a bipartite graph \(G = \left(L \sqcup R, E\right), |L| = |R| = k\) with \(|E| \geq k^2 - k + 1\) the ByDegereeAscending algorithm 12 computes a perfect matching.

Proof. To show that the algorithm produces a perfect matching it suffices to show that we can always find an edge \(e\) in line [algorithm:byDegreeAscending:line:pickEdge]. Suppose that in iteration \(i\) vertex \(v_i\) has no more incident edges. As every iteration before has reduced the degree of \(v_i\) by at most \(1\) we can conclude that \(d_G(v) \leq i - 1\). As every previous iteration selected a different vertex than \(v_i\) we can conclude that there at least \(i\) vertices in \(L\) with degree \(\leq i - 1\). Therefore we have that \(|E| \leq k^2 - i \cdot (k - i + 1)\) and therefore \[\begin{align} i \cdot (k - i + 1) \leq k - 1 \Leftrightarrow (k - i) \cdot (i - 1) + 1 \leq 0 \end{align}\] However, \(k \geq i\) and \(i \geq 1\), therefore \((k - i) \cdot (i - 1) + 1 \geq 1\), a contradiction. Therefore we always find an edge in line [algorithm:byDegreeAscending:line:pickEdge] and compute a perfect matching. ◻

Algorithm 12 is very similar to the GreedyMin algorithm [37], which selects a vertex of minimum degree in the remaining graph uniformly at random, matches it to a random neighbour and then removes both vertices. The question arises if GreedyMin also always finds a perfect matching if we are at most \(k-1\) edges from a complete bipartite graph. We answer the question in the positive:

Corollary 2. Given a bipartite graph \(G = \left(L \sqcup R, E\right), |L| = |R| = k\) with \(|E| \geq k^2 - k + 1\) the GreedyMin algorithm [37] computes a perfect matching.

Proof. Let \(G_i = \left(L_i \sqcup R_i, E_i\right)\) be the graph after the \(i\)th iteration, \(G_0 = G\). We show that \(G_i\) always contains \(\geq (k - i)^2 - (k - i - 1)\) edges and therefore by Theorem 2 a perfect matching. This implies that in no iteration the minimum degree vertex has degree \(0\). Hence we compute a perfect matching. We show this via induction over \(i\).
For \(i = 0\) it immediately holds. From \(i\) to \(i + 1\) we distinguish two cases: If \(G_i\) is complete, then \(G_{i + 1}\) is also complete and therefore has \(\geq (k - i - 1^2 - (k - i - 2)\) edges. Otherwise the minimum degree vertex in \(G_i\) has degree \(\leq k - i - 1\) and by deleting it and the other endpoint of the edge we add to the matching we remove at most \(2k - 2i - 2\) edges. We therefore have \[\begin{align} |E_{i + 1}| &\geq |E_i| - 2k + 2i + 2 \geq (k - i)^2 - k + i + 1 -2k +2i + 2 \\ &= k^2 - 2k(i-1) + (i+1)^2 - k + i + 2 = (k - (i + 1))^2 -k + (i + 1) + 1 \end{align}\] Therefore \(G_i\) always contains a perfect matching and so in every iteration \(1,...,k\) an edge is added to \(M\), giving us a perfect matching. ◻

As we are guaranteed to find a perfect matching, reconstruction is possible. ◻

10.4 Proof of Theorem 7↩︎

Proof. We begin by noting that this criterion can only hold if \(|L|, |R| \leq k - 1\).

The key idea of our proof is that we can construct \(G_{CR}\) from \(G[C]\) by repeatedly contracting two vertices that are on the same side and are assigned to the same group by \(p'\) or \(p''\), then adding vertices to both sides of the bipartition until each side has \(k\) vertices. We call these newly added vertices jokers, as in the bipartite complement they can be matched to any vertex on the other side. Let \(L_c, R_c\) be \(L\) and \(R\) after these contractions have taken place and let \(i\) be the number of contractions.

When contracting two vertices \(v, v'\) it may happen that one or both of them are endpoints of edges in \(M\). In this case we remove the edges with one endpoint \(v\) or \(v'\) from \(M\). We note that in each contraction we can loose at most \(2\) edges in \(M\). Let \(M_c\) denote the matching after the contractions.

We now distinguish two cases based on the number of contractions necessary to obtain \(G_{CR}\) from \(G[C]\):

Figure 13: The choice of perfect matching on the bipartite complement of a colour relation graph for k = 4

Case 1: \(i \geq |V_C| - k\). In this case \(M_c\) may be empty. However, we have \(|L_c| + |R_c| \leq k\) and therefore the right side of \(G_{CR}\) contains at least \(|L_c|\) jokers and the left side contains at least \(|R_c|\) jokers. We can then find a perfect matching by matching all vertices in \(L_c\) with jokers on the right side, matching all vertices in \(R_c\) with jokers on the left side and matching any remaining vertices. A visualization can be seen in Figure [figure:reconstruction95case951].

Case 2: \(i < |V_C| - k\). In this case \(M_c\) still contains \(\geq 2 \cdot (|V_H| - k) - 1 - 2 \cdot i = 2 \cdot (|L_c| + |R_c| - k) - 1\) edges. We construct our perfect matching by taking all edges in \(M_c\), matching all unmatched vertices in \(L_c\) to jokers on the right side and vice versa and then match any remaining jokers. A visualization can be seen in Figure [figure:reconstruction95case952].
For this to work we must show that there are enough jokers on the right side to match to the remaining vertices in \(L_c\) (the proof for \(R_c\) is symmetric). For this we show that \(L_c\) contains fewer vertices than the matching has edges + the number of jokers on the right. \[\begin{align} && 0 &\leq |L_c| + |R_c| - k - 1 \\ \Leftrightarrow && |L_c| &\leq 2 \cdot (|L_c| + |R_c| - k) - 1 + k - |R_c| \\ \Rightarrow && |L_c| &\leq |M_c| + k - |R_c| \end{align}\] As \(i < |V_C| - k\) we must have \(|L_c| + |R_c| \geq k + 1\), so the first inequality holds, implying the last. ◻

10.5 Further Notes on Structured Cut Sets↩︎

A natural question is if we can also split structured cut setsthat contain negative weight edges. Unfortunately that is not the case. Given a cut set \(C \subseteq E\) and \(\{u, v\} = e \in C\) with \(w(e) < 0\), we distinguish two cases:

Case 1: \(|C| = 1\). In this case either the connected component containing \(e\) contains only two vertices, or at least one endpoint of \(e\) is a separating vertex and we can simply apply the rule for splitting biconnected components. Therefore, there is no need to consider the algorithms we developed around structured cut sets.

Case 2: \(|C| \geq 2\). In this case let \(\{u', v'\} = e' \in C, e \not = e'\) and we assume that w.l.o.g. \(u \not = u'\), \(u, u'\) are on one side of the cut set and \(v, v'\) are on the other. If \(w(e') < 0\), then if our solutions for \(G_1, G_2\) require that \(p(u) \not = p(u')\) and \(p(v) = p(v')\), we must cut one of \(e\) and \(e'\). If instead the solutions require \(p(u) = p(u')\) and \(p(v) = p(v')\) it is possible to cut neither.

As such we would somehow have to encode the trade off between cutting neither of \(e, e'\) and performing better on \(G_1\) and \(G_2\), which makes the techniques we developed unusable. If \(w(e') > 0\) a similar argument can be made.

11 Computational Experiments↩︎

11.1 Detailed Overview of our Preprocessing Order↩︎

We chose the order, in which the rules are applied, based on the following criteria:

  • Does a rule require and/or maintain local positivity and/or unit weight?

  • Can applicability of the rule be checked locally around a single vertex or do we have to observe the whole graph?

  • How fast is it to check and apply a rule?

Our core idea is that all rules that require local unit weight and positivity should be applied to exhaustion before any rules that may break either property. We then run rules that may break local unit weight, but not local positivity and finally we run all remaining rules. This is to ensure that no rule causes problems with the prerequisites of another rule.

Within each group of rules, we first applied those that can be checked locally. For each such rule, we maintain a queue of candidate vertices where the rule may be applicable. If, for a vertex \(v\), an incident edge changes, we add \(v\) back to the queues for locally checkable rules again. For rules that run on the whole graph, once applied once, we mark them as blocked and only unblock them once all other rules have run to exhaustion. The only exception to this is the separator rules, which we unblock before moving from unit weight relying rules to rules that break unit weight and again when moving from rules that require local positivity to rules that break local positivity.

After some experimenting, we arrived at this order for the data separation/reduction rules:

  1. Splitting into connected and biconnected components

  2. Removal of locally positive low degree nodes

  3. Splitting at structured cut sets(see Section 5.2)

  4. When reaching this point for the first time, reactivate all data separation rules and start from the top

  5. Removing unit weight cliques (see Theorem 2)

  6. Rules requiring and maintaining local positivity

    1. Contracting negative dominating edges (see Theorem 4)

    2. Contracting negative triangles (see Theorem 10)

  7. When reaching this point for the first time, reactivate all data separation rules and start from the top

  8. Remaining rules

    1. Removing small leafs of SPQR-trees (see Theorem 3)

    2. Split SCSs where one side is small and can be solved during preprocessing.

  9. When reaching this point for the first time, reactivate all rules and start from the top

Any time a rule shrinks or splits the graph, we start again from the top.

11.2 Instance Selection↩︎

See Table 1 for on overview over all instances.

For the frequency assignment instances we removed the frequency constraints on the nodes and relaxed all edge constraints to “the endpoints must have different colours”. If the instances came with costs for breaking an edge constraint, we used that as the edge weight. Otherwise we set all edge weights to \(0\). The instances that come with their own costs assign one of \(4\) levels of importance to the edges. These correspond with costs \(1, 10, 100, 10.00\), \(1, 100, 10.000, 1.000.000\) or \(1, 1.000, 1.000.000, 1.000.000.000\), depending on the instance.

Table 1: Overview of Instances used. \(\underline{d}, \overline{d}, \underline{w}\) and \(\overline{w}\) are the minimum and maximum degree and weight respectively. If an instance contained parallel edges, we replaced them by a single edge with the sum of their edge weights as the weight. This leads to some of our graphs having lower edge counts and higher maximum weights than reported by their original source. The table continues in table [tbl:tab:instance95overview952]
Group Instance \(n\) \(m\) \(\underline{d}\) \(\overline{d}\) \(\underline{w}\) \(\overline{w}\)
easy soc-firm 33 91 1 16 1 2
g001207 84 149 1 5 1 100.000
g000981 110 188 2 6 1 100.000
ENZYMES295 123 139 1 5 1 1
g000292 212 381 2 4 5 13
g000302 317 476 1 4 5 13
rt-twitter-copen 761 1,029 1 37 1 1
g001918 777 1,239 1 4 5 13
imgseg_271031 900 1,027 1 518 93 285,968
imgseg_106025 1,565 2,629 1 902 93 136,834
g000677 17,127 27,352 1 4 1 126
g001075 27,019 39,407 1 4 1 228.668
g000087 38,418 71,657 2 4 1 198
medium ca-netscience 379 914 1 34 1 1
bio-celegans 453 2,025 1 237 1 1
bio-diseasome 516 1,188 1 50 1 1
bio-DM-LC 658 1,129 1 50 1 1
road-euroroad 1,174 1,417 1 10 1 1
imgseg_35058 1,274 1,806 1 587 -55,510 112,271
bio-yeast 1,458 1,948 1 56 1 1
ca-CSphd 1,882 1,740 1 46 1 1
ego-facebook 2,888 2,981 1 769 1 1
imgseg_105019 3,548 4,325 1 2,753 109 236,593
inf-power 4,941 6,594 1 19 1 1
ca-Erdos992 5,094 7,515 1 61 1 1
imgseg_374020 5,735 8,722 1 2,213 -46,639 407,957
imgseg_147062 28,552 65,453 1 925 -1,567 67,209
road-luxembourg-osm 114,599 119,666 1 6 1 1
hard web-Stanford 281,903 1,992,636 1 38,625 1 2
web-it-2004 509,338 7,178,413 1 469 1 1
ca-coauthors-dblp 540,486 15,245,729 1 3,299 1 1
web-google 870,204 4,258,481 1 6,332 1 2
ca-IMDB 896,305 3,782,447 1 1,590 1 2
inf-road-central 14,081,816 16,933,413 1 8 1 1
Table 2: Continuation of table [tbl:tab:instance95overview]. Overview of Instances used, \(\underline{d}, \overline{d}, \underline{w}\) and \(\overline{w}\) are the minimum and maximum degree and weight respectively. If an instance contained parallel edges, we replaced them by a single edge with the sum of their edge weights as the weight. This leads to some of our graphs having lower edge counts and higher maximum weights than reported by their original source.
Group Instance \(n\) \(m\) \(\underline{d}\) \(\overline{d}\) \(\underline{w}\) \(\overline{w}\)
torus t2g10_5555 100 200 4 4 -294.541 290.339
t2g10_6666 100 200 4 4 -239.344 238.268
t2g10_7777 100 200 4 4 -238.936 301.004
t2g15_5555 225 450 4 4 -294.541 290.339
t2g15_6666 225 450 4 4 -240.195 268.055
t2g15_7777 225 450 4 4 -247.819 375.001
t2g20_5555 400 800 4 4 -294.541 308.059
t2g20_6666 400 800 4 4 -271.149 315.291
t2g20_7777 400 800 4 4 -288.410 375.001
t3g5_5555 125 375 6 6 -294.541 290.339
t3g5_6666 125 375 6 6 -240.195 268.055
t3g5_7777 125 375 6 6 -238.936 375.001
t3g6_5555 216 648 6 6 -294.541 308.059
t3g6_6666 216 648 6 6 -265.601 271.240
t3g6_7777 216 648 6 6 -288.410 375.001
t3g7_5555 343 1,029 6 6 -294.541 308.059
t3g7_6666 343 1,029 6 6 -271.149 315.291
t3g7_7777 343 1,029 6 6 -298.103 375.001
fap DUTtest1_200 200 1,171 6 21 1 1
DUTtest1_200 200 1,143 5 24 1 1
DUTtest1_200 200 1,160 7 19 1 1
DUTtest1_200 200 1,142 5 17 1 1
DUTtest1_200 200 1,125 2 23 1 1
DUTtest1_916 916 5,177 1 39 1 1
DUTtest1_916 916 5,173 1 24 1 1
DUTtest1_916 916 5,262 2 23 1 1
DUTtest1_916 916 5,183 2 24 1 1
DUTtest1_916 916 5,213 1 24 1 1
SURPRISE_01 200 1,134 1 22 1 1
SURPRISE_02 400 2,245 3 31 1 1
SURPRISE_03 200 1,134 6 18 1 1
SURPRISE_04 400 2,244 4 20 1 1
SURPRISE_05 200 1,134 1 22 1 1
SURPRISE_06 400 2,170 1 24 1 1
SURPRISE_07 400 2,170 1 24 1 1
SURPRISE_08 680 3,757 1 22 1 1
SURPRISE_09 916 5,246 1 37 1 1
SURPRISE_10 680 3,907 3 24 1 1
SURPRISE_11 680 3,757 1 22 1 1
CELAR_01 916 5,548 1 61 1 1
CELAR_02 200 1,235 1 44 1 1
CELAR_03 400 2,760 3 61 1 1
CELAR_04 680 3,967 1 62 100.000 100.000
CELAR_05 400 2,598 1 59 100.000 100.000
CELAR_06 200 1,322 1 44 1 100.000
CELAR_07 400 2,865 3 62 1 100.000.000
CELAR_08 916 5,744 1 62 1 400
CELAR_09 680 4,103 1 62 1 100.000
CELAR_10 680 4,103 1 62 1 100.000
CELAR_11 680 4,103 1 62 100.000 100.000

11.3 Results on the Easy Instance Set↩︎

See Table ¿tbl:tab:benchmark95easy?.

Number of wins, average runtime and average percentage of vertices and edges remaining after naive and our preprocessing algorithm on the easy data set.
Gurobi Naive Our
2-3()4-7()8-11 \(k\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s] \(|V|[\%]\) \(|E|[\%]\) wins t[s]
3 0 195 15.27 18.50 10 123 14.24 16.98 9 64
4 0 77 4.69 5.77 11 0 4.69 5.77 10 0
5 0 75 1.40 1.27 10 0 1.40 1.27 12 0
6 0 79 0.00 0.00 13 0 0.00 0.00 11 0
7 0 84 0.00 0.00 13 0 0.00 0.00 10 0
8 0 87 0.00 0.00 13 0 0.00 0.00 11 0
10 0 94 0.00 0.00 12 0 0.00 0.00 11 0
12 0 97 0.00 0.00 12 0 0.00 0.00 12 0

11.4 Heuristic Experiments↩︎

See Table ¿tbl:tab:benchmark95big95full?.

Best value found by our local search heuristic within \(2\) hours, percentage of vertices and edges remaining, improvement over the straight heuristic (bvi) and time spend preprocessing (pr) of naive and our preprocessing algorithm on the big data set.
Heuristic Naive Our
4-7()8-11 \(k\) instance best value \(|V|[\%]\) \(|E|[\%]\) bvi pr[s] \(|V|[\%]\) \(|E|[\%]\) bvi pr[s]
3 ca-IMDB 3.618.918 46.43 84.61 56.689 3 46.43 84.61 58.046 65
ca-coauthors-dblp 10.812.538 96.45 99.79 4.386 15 82.95 95.83 6.554 839
inf-road-central 16.698.657 0.02 0.02 234.703 19 0.01 0.02 234.703 19
web-Stanford 2.121.484 77.01 94.97 10.234 2 73.96 93.38 10.642 175
web-google 4.382.696 66.56 90.52 31.780 8 62.28 87.14 34.608 1.176
web-it-2004 5.171.402 92.00 99.05 6.583 4 11.26 35.92 6.583 43
4 ca-IMDB 3.687.347 39.58 79.82 50.525 3 39.58 79.82 50.589 63
ca-coauthors-dblp 12.070.341 93.80 99.58 3.618 12 84.78 97.13 1.480 1.008
inf-road-central 16.930.983 0.00 0.00 2.430 17 0.00 0.00 2.430 17
web-Stanford 2.213.473 65.49 90.45 4.314 2 63.48 89.19 3.096 178
web-google 4.679.030 56.32 84.80 22.832 8 53.47 82.05 15.212 1.447
web-it-2004 5.727.019 91.44 98.96 5.208 4 11.04 35.92 5.208 44
5 ca-IMDB 3.720.314 34.44 75.04 38.148 3 34.44 75.04 37.480 58
ca-coauthors-dblp 12.802.326 91.25 99.30 4.130 12 84.43 97.32 2.916 1.696
inf-road-central 16.933.413 0.00 0.00 0 16 0.00 0.00 0 16
web-Stanford 2.250.780 57.19 86.13 2.702 2 55.78 85.15 2.869 178
web-google 4.826.044 48.47 78.98 17.623 7 46.26 76.59 7.947 1.269
web-it-2004 6.058.523 90.96 98.87 4.370 4 10.88 35.88 4.371 47
6 ca-IMDB 3.743.987 30.07 69.98 24.978 3 30.07 69.98 25.065 55
ca-coauthors-dblp 13.278.589 88.81 98.98 4.449 11 83.35 97.32 1.241 1.772
inf-road-central 16.933.413 0.00 0.00 0 16 0.00 0.00 0 16
web-Stanford 2.270.156 40.99 75.84 1.941 1 40.11 75.14 1.993 140
web-google 4.914.053 41.97 73.02 11.713 7 40.24 70.97 12.162 1.223
web-it-2004 6.279.822 90.36 98.74 3.884 4 10.71 35.84 3.886 43
7 ca-IMDB 3.760.031 26.13 64.50 15.666 3 26.13 64.50 15.719 49
ca-coauthors-dblp 13.612.054 86.50 98.60 4.809 11 82.01 97.24 773 2.286
inf-road-central 16.933.413 0.00 0.00 0 17 0.00 0.00 0 17
web-Stanford 2.282.032 33.52 69.91 1.436 1 33.08 69.48 1.468 118
web-google 4.969.060 36.46 67.09 8.982 6 34.98 65.17 9.412 1.128
web-it-2004 6.434.136 90.01 98.66 3.165 4 10.65 35.82 3.166 41
8 ca-IMDB 3.769.745 22.62 58.81 9.385 3 22.62 58.81 9.437 44
ca-coauthors-dblp 13.857.795 84.22 98.17 3.982 11 80.41 96.93 131 1.855
inf-road-central 16.933.413 0.00 0.00 0 17 0.00 0.00 0 16
web-Stanford 2.289.432 29.56 66.31 1.152 2 29.21 65.93 1.192 100
web-google 5.007.504 31.35 60.78 5.939 6 30.12 59.05 6.241 970
web-it-2004 6.554.618 89.39 98.48 2.809 4 10.54 35.77 2.812 42
10 ca-IMDB 3.777.961 16.29 46.38 3.865 2 16.29 46.38 3.858 37
ca-coauthors-dblp 14.192.268 79.89 97.19 4.717 10 77.07 96.21 2.338 1.793
inf-road-central 16.933.413 0.00 0.00 0 16 0.00 0.00 0 16
web-Stanford 2.298.360 23.20 59.40 912 2 22.99 59.13 907 63
web-google 5.051.920 22.09 47.17 4.502 4 21.26 45.79 4.768 561
web-it-2004 6.711.894 88.01 98.02 2.149 4 10.26 35.64 2.150 42
12 ca-IMDB 3.780.756 9.94 31.03 1.636 2 9.94 31.03 1.636 24
ca-coauthors-dblp 14.409.950 75.93 96.08 4.927 10 73.83 95.30 3.079 1.371
inf-road-central 16.933.413 0.00 0.00 0 16 0.00 0.00 0 16
web-Stanford 2.303.794 18.70 53.02 791 1 18.54 52.78 855 51
web-google 5.075.045 15.00 34.68 3.711 4 14.44 33.59 3.878 377
web-it-2004 6.812.023 87.38 97.78 1.649 4 10.22 35.62 1.652 44

11.5 Ablation Experiments↩︎

See Table ¿tbl:tab:ablation95full?.

Percentage of edges remaining and number of wins comparing full preprocessing except dominating edges (NoDom), cliques (noClq), biconnectors (noBicon), (no) and with solving the small side (noS). Naive and full preprocessing for reference, the worst values are highlighted.
All Naive NoDom NoClq noBicon No NoS
3-4()5-6()7-8()9-10()11-12()13-14 \(k\) dataset \(|E|[\%]\) \(|E|[\%]\) \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins \(|E|[\%]\) wins
3 easy 16.98 18.50 16.98 6 17.03 6 18.37 8 16.98 7 16.98 8
medium 22.60 36.74 24.59 3 27.26 1 26.86 3 22.53 6 22.67 6
torus 95.30 100.00 100.00 3 95.30 1 95.30 4 95.30 5 95.30 5
fap 96.70 99.74 96.72 11 97.55 11 98.08 12 96.70 17 96.70 14
4 easy 5.77 5.77 5.77 7 5.77 10 5.77 9 5.77 9 5.77 10
medium 12.35 21.73 14.28 5 16.52 4 13.91 7 12.32 5 12.35 6
torus 95.26 100.00 100.00 6 95.26 3 95.26 4 95.26 2 95.26 3
fap 95.73 98.05 95.73 11 96.22 10 96.60 6 95.09 7 95.82 14
5 easy 1.27 1.27 1.27 12 1.27 11 1.27 11 1.27 10 1.27 11
medium 7.31 15.36 9.42 4 8.48 5 9.78 7 7.34 6 7.31 8
torus 86.60 94.75 93.83 7 86.60 2 86.80 1 86.67 1 87.10 7
fap 89.34 93.02 89.34 12 90.25 11 90.69 8 89.71 11 90.02 16
6 easy 0.00 0.00 0.00 13 0.00 11 0.00 11 0.00 11 0.00 11
medium 6.05 11.53 8.40 8 7.88 7 6.56 6 6.06 8 6.05 6
torus 83.52 94.75 91.85 8 83.52 1 83.94 3 82.98 4 85.06 2
fap 68.66 76.38 68.58 5 70.49 6 69.08 7 68.86 4 73.22 14
7 easy 0.00 0.00 0.00 11 0.00 12 0.00 11 0.00 12 0.00 12
medium 4.20 9.21 6.60 10 5.48 7 4.71 11 4.20 6 4.20 9
torus 77.67 92.75 87.10 8 77.67 2 78.42 4 77.35 3 79.95 1
fap 55.94 72.03 55.94 5 59.64 6 55.91 6 56.37 7 67.07 12
8 easy 0.00 0.00 0.00 11 0.00 11 0.00 12 0.00 12 0.00 11
medium 3.07 7.34 5.54 10 3.82 8 3.60 10 3.09 8 3.07 8
torus 75.39 92.75 85.98 9 75.39 3 76.08 3 74.48 2 78.40 1
fap 43.75 62.83 44.13 3 48.12 4 44.05 3 39.12 6 59.04 16
10 easy 0.00 0.00 0.00 12 0.00 11 0.00 11 0.00 12 0.00 12
medium 1.82 5.66 4.31 10 2.13 9 2.30 10 1.88 9 1.82 11
torus 73.17 92.75 84.18 9 73.17 2 74.12 2 72.68 3 76.63 2
fap 25.92 50.01 25.92 6 37.08 3 25.92 4 23.03 4 40.12 18
12 easy 0.00 0.00 0.00 13 0.00 11 0.00 11 0.00 11 0.00 11
medium 0.27 3.91 2.87 11 0.27 11 0.75 10 0.29 8 0.27 12
torus 72.71 92.75 84.30 9 72.71 3 74.13 2 72.28 2 75.78 2
fap 17.59 41.25 17.64 18 37.59 5 17.62 11 18.87 7 20.67 11

References↩︎

[1]
R. M. Karp, Reducibility Among Combinatorial Problems,” in Proceedings of a symposium on the complexity of computer computations, held march 20-22, 1972, at the IBM thomas j. Watson research center, yorktown heights, new york, USA, 1972, pp. 85–103, doi: 10.1007/978-1-4684-2001-2\_9.
[2]
[3]
B. Hendrickson and R. Leland, An improved spectral graph partitioning algorithm for mapping parallel computations,” SIAM Journal on Scientific Computing, vol. 16, no. 2, pp. 452–469, 1995, doi: 10.1137/0916028.
[4]
C. Walshaw, M. Cross, and M. G. Everett, Parallel dynamic graph partitioning for adaptive unstructured meshes,” Journal of Parallel and Distributed Computing, vol. 47, no. 2, pp. 102–108, 1997, doi: 10.1006/jpdc.1997.1407.
[5]
G. Dahl and T. Flatberg, An integer programming approach to image segmentation and reconstruction problems,” Geometric Modelling, Numerical Simulation, and Optimization: Applied Mathematics at SINTEF, pp. 475–496, 2007, doi: 10.1007/978-3-540-68783-2_14.
[6]
D. Ferizovic, D. Hespe, S. Lamm, M. Mnich, C. Schulz, and D. Strash, Engineering kernelization for maximum cut,” in 2020 proceedings of the twenty-second workshop on algorithm engineering and experiments (ALENEX), 2020, pp. 27–41, doi: 10.1137/1.9781611976007.3.
[7]
D. Rehfeldt, T. Koch, and Y. Shinano, Faster exact solution of sparse MaxCut and QUBO problems,” Mathematical Programming Computation, vol. 15, no. 3, pp. 445–470, 2023, doi: 10.1007/s12532-023-00236-6.
[8]
J. Charfreitag, C. Dahn, M. Kaibel, P. Mayer, P. Mutzel, and L. Schürmann, Separator Based Data Reduction for the Maximum Cut Problem,” in 22nd international symposium on experimental algorithms (SEA 2024), 2024, pp. 4–1, doi: 10.4230/LIPIcs.SEA.2024.4.
[9]
J.-H. Lange, B. Andres, and P. Swoboda, Combinatorial persistency criteria for multicut and max-cut,” in Proceedings of the IEEE/CVF conference on computer vision and pattern recognition, 2019, pp. 6093–6102, doi: 10.1109/CVPR.2019.00625.
[10]
R. Fakhimi, H. Validi, I. V. Hicks, T. Terlaky, and L. F. Zuluaga, “A folding preprocess for the max k-cut problem,” Optimization Letters, vol. 19, no. 5, pp. 899–917, 2025, doi: 10.1007/s11590-025-02199-0.
[11]
S. Chopra and M. R. Rao, The partition problem,” Mathematical programming, vol. 59, no. 1, pp. 87–115, 1993, doi: 10.1007/BF01581239.
[12]
Z. Ales and A. Knippel, An extended edge-representative formulation for the k-partitioning problem,” Electronic Notes in Discrete Mathematics, vol. 52, pp. 333–342, 2016, doi: 10.1016/j.endm.2016.03.044.
[13]
V. Kaibel, M. Peinhardt, and M. E. Pfetsch, Orbitopal fixing,” Discrete Optimization, vol. 8, no. 4, pp. 595–610, 2011, doi: 10.1016/j.disopt.2011.07.001.
[14]
S. Chopra and M. R. Rao, Facets of the k-partition polytope,” Discrete applied mathematics, vol. 61, no. 1, pp. 27–48, 1995, doi: 10.1016/0166-218X(93)E0175-X.
[15]
B. Ghaddar, M. F. Anjos, and F. Liers, A branch-and-cut algorithm based on semidefinite programming for the minimum k-partition problem,” Annals of Operations Research, vol. 188, no. 1, pp. 155–174, 2011, doi: 10.1007/s10479-008-0481-4.
[16]
M. F. Anjos, B. Ghaddar, L. Hupp, F. Liers, and A. Wiegele, Solving k-way graph partitioning problems to optimality: The impact of semidefinite relaxations and the bundle method,” in Facets of combinatorial optimization: Festschrift for martin grötschel, Springer, 2013, pp. 355–386.
[17]
E. R. van Dam and R. Sotirov, New bounds for the max-k-cut and chromatic number of a graph,” Linear Algebra and its Applications, vol. 488, pp. 216–234, 2016, doi: 10.1016/j.laa.2015.09.043.
[18]
V. J. Rodrigues de Sousa, M. F. Anjos, and S. Le Digabel, Computational study of valid inequalities for the maximum k-cut problem,” Annals of Operations Research, vol. 265, no. 1, pp. 5–27, 2018, doi: 10.1007/s10479-017-2448-9.
[19]
V. J. Rodrigues de Sousa, M. Anjos, and S. Le Digabel, Improving the linear relaxation of maximum k-cut with semidefinite-based constraints,” EURO Journal on Computational Optimization, vol. 7, no. 2, pp. 123–151, 2019, doi: 10.1007/s13675-019-00110-y.
[20]
V. J. Rodrigues de Sousa, M. F. Anjos, and S. Le Digabel, Computational study of a branching algorithm for the maximum k-cut problem,” Discrete Optimization, vol. 44, p. 100656, 2022, doi: 10.1016/j.disopt.2021.100656.
[21]
M. Chimani, M. Juhnke-Kubitzke, A. Nover, and T. Römer, Cut polytopes of minor-free graphs,” arXiv preprint arXiv:1903.01817, 2019, doi: 10.48550/arXiv.1903.01817.
[22]
J. E. Hopcroft and R. E. Tarjan, Dividing a graph into triconnected components,” SIAM Journal on computing, vol. 2, no. 3, pp. 135–158, 1973, doi: 10.1137/0202012.
[23]
D. S. Hochbaum, Why should biconnected components be identified first,” Discrete applied mathematics, vol. 42, no. 2–3, pp. 203–210, 1993, doi: 10.1016/0166-218X(93)90046-Q.
[24]
J. E. Hopcroft and R. M. Karp, An n^5/2 algorithm for maximum matchings in bipartite graphs,” SIAM Journal on computing, vol. 2, no. 4, pp. 225–231, 1973, doi: 10.1137/0202019.
[25]
D. R. Karger and C. Stein, A new approach to the minimum cut problem,” Journal of the ACM (JACM), vol. 43, no. 4, pp. 601–640, 1996, doi: 10.1145/234533.234534.
[26]
F. Ma and J.-K. Hao, A multiple search operator heuristic for the max-k-cut problem,” Annals of Operations Research, vol. 248, no. 1, pp. 365–403, 2017, doi: 10.1007/s10479-016-2234-0.
[27]
C. L. Staudt, A. Sazonovs, and H. Meyerhenke, NetworKit: A tool suite for large-scale complex network analysis,” Network Science, vol. 4, no. 4, pp. 508–530, 2016, doi: 10.1017/nws.2016.20.
[28]
C. Gutwenger and P. Mutzel, A linear time implementation of SPQR-trees,” in International symposium on graph drawing, 2000, pp. 77–90, doi: 10.1007/3-540-44541-2_8.
[29]
M. Chimani, C. Gutwenger, M. Jünger, G. W. Klau, K. Klein, and P. Mutzel, The Open Graph Drawing Framework (OGDF). Handbook of graph drawing and visualization, vol. 2011, pp. 543–569, 2014.
[30]
Gurobi Optimization, LLC, Gurobi Optimizer Reference Manual.” 2024, [Online]. Available: https://www.gurobi.com.
[31]
I. Dunning, S. Gupta, and J. Silberholz, What works best when? A systematic evaluation of heuristics for Max-Cut and QUBO,” INFORMS Journal on Computing, vol. 30, no. 3, pp. 608–624, 2018, doi: 10.1287/ijoc.2017.0798.
[32]
R. A. Rossi and N. K. Ahmed, The Network Data Repository with Interactive Graph Analytics and Visualization,” in AAAI, 2015, [Online]. Available: https://networkrepository.com.
[33]
A. Wiegele, “Biq Mac Library – a collection of Max-Cut and quadratic 0-1 programming instances of medium size.” http://biqmac.aau.at/biqmaclib.html, 2009.
[34]
F. Liers, M. Jünger, G. Reinelt, and G. Rinaldi, Computing exact ground states of hard Ising spin glass problems by branch-and-cut,” New optimization algorithms in physics, pp. 47–69, 2004, doi: 10.1002/3527603794.ch4.
[35]
A. Eisenblätter and A. Koster, FAP web,” 2000. https://fap.zib.de/ (accessed Apr. 08, 2026).
[36]
H. P. van Benthem, GRAPH Generating Radio Link Frequency Assignment Problems Heuristically,” Master’s thesis, Delft University of Technology, 1995.
[37]
G. Tinhofer, A probabilistic analysis of some greedy cardinality matching algorithms,” Annals of Operations Research, vol. 1, no. 3, pp. 239–254, 1984, doi: 10.1007/BF01874391.

  1. Corresponding author↩︎

  2. The code is publicly available under https://github.com/mkaibel/MaxKCutPreprocessing↩︎

  3. We removed the web-google instance used in [8], as it no longer appears to be on the network repository. We instead added a larger instance called web-google to the big set.↩︎