• No results found

Cutting Graphs, Theory and Algorithms

N/A
N/A
Protected

Academic year: 2021

Share "Cutting Graphs, Theory and Algorithms"

Copied!
40
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

Cutting Graphs, Theory and Algorithms

Author: J.M. Jansen, s1557343 Supervisor: Prof. Dr. B. Goldengorin

(2)

Preface

By having written this master thesis, I complete my master program Econometrics, Opera-tions Research and Actuarial Studies with specialization Operation Research at the University of Groningen. Also this thesis is the end of my study period in Groningen.

I would like to thank supervisor B. Goldengorin, for helping me find a subject for my master thesis. Graph theory interests me a lot, because it has nice applications in transportation. I would love to work in the transportation sector when I finished my study. So when my supervisor came up with a subject regarding graphs, I could not wait to start on it. My special gratitude goes to Patrick Jansen and Chris van der Broek for their helpful comments regarding this thesis. Also I would like to thank my supervisor G. Sierksma who helped me a lot to improve the structure of my thesis.

(3)

Contents

1 Introduction 4

2 Theory 6

2.1 Complete graph . . . 6

2.2 Weighted graph . . . 7

2.3 Directed - undirected graph . . . 8

2.4 S-t cut . . . 8

2.5 Multicut . . . 10

2.6 K-cut . . . 11

2.7 Max-flow min-cut theorem . . . 12

3 Algorithms 12 3.1 S-t cut . . . 12

3.1.1 All solutions algorithm . . . 13

3.1.2 Max-flow min-cut algorithm . . . 15

3.2 Multicut . . . 17

3.2.1 LP-algoritm . . . 17

3.2.2 Max-flow min-cut algorithm . . . 21

3.3 K-cut . . . 21

3.3.1 All solutions algorithm . . . 23

3.3.2 Subtraction algorithm . . . 24

3.3.3 Max-flow min-cut algorithm . . . 27

3.3.4 K-cut algorithm for K=2 . . . 28

4 Conclusions 37

References 37

(4)

1

Introduction

All mathematical expressions should be included in A In all day live there is a lot of problems which have to do with flows, for example traffic jams and floods. By studying models we try to find solutions to these problems. In the case of a traffic jam the capacity of the road does not meet the demand. People want to travel from A to B. We have to look at the bottleneck points in our road network. The bottleneck points in a road network are the places where traffic jams occur. An easy way to model a road network is by using a flow network where we have a source point A (starting point), a sink point B (destination) and a road network with capacities. To solve the traffic jam problem we have to find a minimum s-t cut, where in this case s is equal to A and t is equal to B. When we find a minimum s-t cut we know the maximum amount of traffic that can pass through. By increasing the maximum amount of traffic on a certain road segment we can prevent traffic jams. We can increase the maximum amount of traffic on a road segment, by constructing extra roads. In this thesis we look for algorithms that solve the s-t cut problem.

There are also problems which have more source and sink points, for example a telecommu-nications network. In a computer network people want to share resources. People want to chat, mail, search for information on internet, a lot of people use internet at the same time. All those people we can be seen as a source, and the information they are searching as a sink. A way to model this is by using a flow network. We now look for a minimum multicut so that all the people who were searching information no longer are able to do so. The minimum multicut problem also has useful applications in routing and railroad transportation.

We also consider the K-cut problem where we separate a graph into K non-empty subsets. The K-cut problem has useful applications, for example in VLSI (Very-large-scale integration) design, data-mining, finite elements and communication in parallel computing. When we have a very large problem, so a problem that takes months to solve. We can use the K-cut problem to search for independent parts in a large problem. If there exist independent parts we can break down a large problem into smaller problems. Generally smaller problems take less time to solve. By solving the smaller problems, we can find a solution for the large problem. That is why we study the K-cut problem.

The s-t cut problem is a special case of the K-cut problem. In the s-t cut problem we partition the graph into subgraphs S and T where s ∈ S, t ∈ T , in de K-cut problem when K=2 we also partition the graph into subgraphs S and T . In the s-t cut problem s and t are fixed and in the 2-cut problem we consider all s-t pairs.

We could not find a direct relationship between the multicut problem and the K-cut problem. We did find the following. When we have a solution to a multicut problem with k nonempty components, it is always an upper bound for the K-cut problem on the same graph. There might well be a direct relationship between the multicut and K-cut problem, but we could not find such a relation.

(5)
(6)

2

Theory

We start by explaining what a complete graph is. Further we explain a weighted graph. Then we discuss directed and undirected graphs. In the three following sections we discuss the s-t cut, multicut, and K-cut, respectively. We end our theory section with the max-flow min-cut theorem. A graph G is an ordered triple (V (G), E(G), I(G)) consisting out of a nonempty set V (G) of vertices, a set of edges E(G) disjoint from V (G) and an incidence function I(G) that associates with each edge of G an unordered pair of vertices of G. We only consider simple graphs, so graphs without loops and multiple edges.

2.1 Complete graph

A complete graph is a graph where each vertex is connected to each other vertex with an edge. This means that for all i and j where i and j ∈ V (G),i 6= j, there exists an edge from i to j. So every simple complete graph has n2 = n(n−1)2 edges, where n is the number of vertices. For n=10, we have 10(10−1)2 = 45 edges.

Some examples of simple complete graphs are given in figure 1.

(7)

2.2 Weighted graph

A weighted graph is a graph where each edge has a weight. A weight is a number which rep-resents, for example, the cost or capacity of an edge. The graph in figure 2 is a weighted graph.

Figure 2: A weighted graph.

In this paper we only consider positive edge weights. We use the following notation for the weight of the edge between u and v: w(u, v). An example of a positive complete weighted graph is given in figure 3.

(8)

2.3 Directed - undirected graph

A directed graph D is an ordered triple (V (D), A(D), I(D)) consisting of a nonempty set V (D) of vertices, a set of arcs A(D) disjoint from V (D) and an incidence function I(D) that associates with each arc of D an ordered pair of vertices of D. If a is an arc and u and v are vertices such that I(D) = (u, v), then a is said to join u to v, u is the tail of a and v is its head.

The graph G (V (G), E(G), I(G)) is undirected if the graph contains no arcs. An example of a directed and undirected graph is given in figure 4:

Figure 4: A directed and undirected graph.

2.4 S-t cut

A cut is a partition of the vertices of a graph into two disjoint subsets, so that the union of these two disjoint subsets is the whole set V . We define the size of a cut as: the sum of the weight of the edges whose end points are in different subsets of the partition. An s-t cut of a graph G (V (G), E(G), I(G)) is a cut where s ∈ S, t ∈ T , S ∪ T = V and S ∩ T = ∅, where s and t are called the source and the sink of the graph. We are looking for a minimum s-t cut. An s-t cut is a minimum s-t cut if the size of the s-t cut is not larger than the size of any other s-t cut in a given graph. An example of an s-t cut is given in figure 5: In figure 5 the minimum s-t cut consist of the edges (s,3), (s,2), (s,1) with the sum of the weight of the edges that are in the cut equal to 9. We leave it to the reader to verity that this is indeed the minimum s-t cut for this graph. We are interested in finding a minimum s-t cut in a simple complete weighted graph.

We present two examples with a minimum s-t cut, one with four nodes and one with five nodes. In the first example we consider the graph given in figure 6A.

(9)

Figure 5: Graph with an s-t cut.

(10)

We continue with a graph with five nodes. This graph is given in figure 7A.

Figure 7: A: Graph with five nodes. B: Graph where dashed lines represent the edges that are in the cut.

A minimal s-t cut (s=1, t=2) for the graph in figure 7A consists of the edges (1,2), (1,4), (2,3), (2,5), (3,4), and (4,5) with weight 244. It’s left to the reader to prove that there is no s-t cut with a lower value.

2.5 Multicut

Sometime we have more than one warehouse, where we want to ship goods between. This is a multicommodity flow problem, we can solve this problem by finding a minimum multicut. We define the concept multicut in a weighted undirected complete graph G (V (G), E(G), I(G)). We only consider positive weights for all edges e ∈ E(G). We also have a set of k (k ≥ 1) s-t pairs {(s1, t1), (s2, t2), . . . , (sk, tk)}, si and ti are vertices in the graph for all i ∈{1,2,. . . , k}.

A multicut is a set of edges whose removal ’disconnects’ each s-t pair. Formally, a multicut is a set E0 ⊆ E(G) such that for all i = 1,2,. . . ,k si∈ S and ti∈ T , so that S ∩ T = ∅ and S ∪

T = V , in the graph G (V (G), E00,I(G)). Where E00 is a set of edges, with e ∈ E(G), e /∈ E0. The weight of the multicut E0 is givenP

e∈E0w(e), where w(e) is the weight of edge e. So, a

minimum multicut problem is to find a multicut E0 that disconnecteds all s-t pairs,while the sum of the weight of the edges in the multicut, is minimal.

(11)

Figure 8: A graph multicut with two s-t pairs.

2.6 K-cut

A K-cut is a set of edges e ∈ E(G) whose removal separates a graph into K (K ≥ 1) nonempty components. When we have a graph G (V (G), E(G), I(G)), the K-cut problem is to find a set E0 ⊆ E(G), such that after the removal of E0 the graph G consist of K nonempty components. When we would like to find a minimum K-cut, the objective is to minimize theP

e∈E0w(e).

Two examples are given where we find a minimum K-cut. Consider the graph in figure 9. We have to split this graph into K nonempty components. First we will try to find the K-cut for K=2 and then for K=3, we try to find the K-cut by inspection. In the case K=2, the graph is partitioned into two subgraphs: one subgraph which contains node 4, and one sub-graph containing nodes 1,2,3,5 and 6, and all the edges between them. The edges that are in the 2-cut are (1,4), (2,4), (3,4), (4,5) and (4,6) with the sum of the weights of the edges that are in the 2-cut equal to 22. It’s left to the reader to prove that this is an optimal 2-cut for the graph in figure 9.

(12)

Figure 9: Graph with six nodes.

2.7 Max-flow min-cut theorem

In this paper we use the max-flow min-cut theorem. We state the theorem without proof. A proof can be found in Goldengorin [8].

For a network N = (V, E), the maximum flow that can be attained in N is equal to the minimum capacity over all cuts in the network.

3

Algorithms

In this section we discuss algorithms that solve an s-t cut, multicut and K-cut problem. Every subsection starts with an overview of papers that already studied these problems. Then we will discuss each problem with some algorithms. We study algorithms that are important to help us solve the s-t cut, multicut and K-cut problem, or which we found interesting to take a look at.

3.1 S-t cut

(13)

3.1.1 All solutions algorithm

A way to solve a minimum s-t cut problem is to calculate all feasible s-t cuts and pick the one with the lowest value. We study this algorithm, because calculating all feasible solutions gives us the optimal solution for a problem. We start this section with a small example where we calculate all solutions for a graph with five vertices. Then we present an algorithm that calculates all solutions for a given problem. Finally we conclude if this is a good algorithm to solve the s-t cut problem.

We use the graph in figure 7A to calculate all solutions for a graph with five vertices. First note that for a graph with five vertices with s-t pair (1,2), we get the same solution for P k=1,3,4,5w(2, k) + P k=1,2,3,5w(4, k) and P k=2,4w(1, k) + P k=2,4w(3, k) + P k=2,4w(5, k),

because they are transpose to each other. In the rest of this section the weight of all edges from vertex 2 is denoted by d(2), for the other vertices we have the same notation. The s-t cut for d(2) and d(4) separates the graph into subsets {2, 4} and {1, 3, 5}. The s-t cut for d(1), d(3) and d(5) separates the graph into subsets {1, 3, 5} and {2, 4}. They give the same s-t cut, this can be illustrated in a picture, see the graph in figure 10. We can see that they represent the same s-t cut. Only 23=8 solutions need to be calculated, because the other three vertices can be on either side of the s-t cut. The eight solutions are shown in table 1. When we consider a cut with d(2), that are the edges (1,2), (2,3), (2,4) and (2,5), we get a cut with a sum of the weights of the edges that are in the s-t cut of 250. When we consider d(1), that are the edges (1,2), (1,3), (1,4) and (1,5), we get a sum of the weights of the edges that are in the s-t cut of 340. The other solutions are calculated in the same way.

All solutions with five vertices Solution value

d(2) 250 d(1) 340 d(1) + d(3) − 2w(1, 3) 294 d(1) + d(5) − 2w(1, 5) 294 d(1) + d(4) − 2w(1, 4) 354 d(2) + d(3) − 2w(2, 3) 304 d(2) + d(5) − 2w(2, 5) 304 d(2) + d(4) − 2w(2, 4) 244

Table 1: All solutions with five vertices.

We calculated all solutions and we see that minimum s-t cut has a value of 244. The following edges are in the s-t cut: (1,2), (2,3), (2,5), (1,4), (2,4) and (4,5). It’s left to the reader to prove this is indeed the optimal s-t cut for the graph in figure 7A, when the s-t pair is (1,2). We would like to design an algorithm that can solve this problem instance. We name this algorithm: All solutions algorithm.

All solutions algorithm. This is how the algorithm works:

(14)

Figure 10: Same s-t cut. Dashed lines represent d(2) + d(4) and dotted lines represent d(1) + d(3) + d(5).

upper bound to an s-t cut problem, because d(t) and d(s) are solutions to an s-t cut problem. So the solution value will never be greater then the minimum of these two solution values. Step 2. Calculate the lower bound P

i=1,...,n(min(w(t, i), w(s, i))) + w(s, t). This is a lower

bound for the s-t cut problem, because there may not exist a path between s and t, so (s, i) or (t, i) will be in an s-t cut, summing the minimum of the two for i ∈ 1, . . . n, will give a lower bound.

Step 3. Compare the lower bound and the upper bound. If they are equal we have found a solution, if not go to step 4.

Step 4. Compute lower bounds for all solutions s-i-t where i is the number of other vertices where i ∈ 2,3,. . . , n/2, where n is the number of vertices.

Step 5. Compare lower bounds with the upper bound, if all lower bounds are ≥ then the upper bound we have found an optimal solution, otherwise continue to step 6.

Step 6. Set i=2.

Step 7. Compare the lower bound corresponding to s-i-t with the upper bound, if the lower bound ≥ upper bound go to step 8, else if lower bound ≤ upper bound, compute all solutions for s-i-t where i is the number of other vertices and set lower bound equal to the minimum of these solutions. Compare the new lower bound with the upper bound, if the new lower bound ≥ upper bound go to step 8, else set upper bound = new lower bound and go to step 5.

Step 8. Set i = i + 1 if i + 1 ≤ n/2 go to step 7. How to compute the lower bounds?

Step 1. Calculate for all vertices, except s and t, P

i=1,...,n(d(i)) - 2(s, i)- max(d(i) − (s, i) −

(t, i)).

Step 2. Order all edges for all i, except for (s, i) and (t, i), and store them in a vector. Step 3. Calculate the values for this vector by using the values calculated in step 1.

(15)

Step 5. Repeat steps 1, . . . , 4 but now replace - 2(s, i) by - 2(t, i) and add in step 4 d(t), instead of d(s).

However, when we have a graph with twentyfour vertices it takes three hours to calculate all solutions with twelve vertices. So for graphs with more vertices it takes even longer to calculated all solution. For the calculations we made a program in R see the appendix. This algorithm is not a good way to solve an s-t cut problem, because it takes too much time to come up with a solution. So we are going to look for a way to solve the s-t cut problem more efficiently.

3.1.2 Max-flow min-cut algorithm

There is a much easier way to solve an s-t cut problem. We can use the max-flow min-cut algorithm to solve this problem. There are a lot of papers about the max-flow min-cut prob-lem, for example Padberg and Rinaldi [18] and Hao and Orlin [13] give algorithms to solve the max-flow min-cut problem. In Goldengorin [8] and Chinneck [5] there are also some algo-rithms that solve the max-flow min-cut problem. We start this section with a small example of how the max-flow min-cut algorithm works, then we give a conclusion of how well this algorithm solves an s-t cut problem. We solve an max-flow min-cut problem for the following graph, given in figure 11.

Figure 11: Complete graph with eight vertices.

(16)

to vertex 8. For the other paths with one other vertex we can do the same. We continue to send flow from vertex 1 to vertex 8 through two other vertices. Then we send flow from vertex 1 to vertex 8 through 3 other vertices, then through 4,5, or 6 other vertices, until there is no longer a flow possible between vertex 1 and vertex 8. The total flow is the solution to the s-t cut problem. See also the graph in figure 12 where the total flow is given in part C and the solution after deletion of the edges that are in the s-t cut is given in part D. So the solution is the sum of all the flow and this sum is equal to 33. The following edges are in the s-t cut (1,2), (1,3), (1,4), (1,5), (1,6), (1,7) and (1,8). It’s left to the reader to prove that the total flow is 33 and that there exist no s-t cut which gives us a lower value for the sum of the weights of the edges that are in the s-t cut.

Figure 12: The solution by using max-flow min-cut.

(17)

3.2 Multicut

There are a lot of papers about the minimization of multicuts, for example Kortsarts et al. [17] and Bentz [1] mention these cuts in directed graphs. Klein et al. [16] discuss directed graphs and Steiner multicuts. Guo et al. [11] talks about multicuts in trees and undirected graphs. Bentz et al. [2] discuss the maximum integer multiflow and the minimum multicut problems in rectilinear grid graphs with uniform capacities on the edges. They also study the case where the terminals are located in a two-sided way on the boundary of the outer face and come up with polynomial-time algorithms. Maximum integral multiflow and minimum multicut problems and their subproblems, such as the multiterminal cut and the unsplittable flow problems, are discussed in Costa et al. [6]. They give complexity results and algorithms for this problem. Saks et al. [20] found a lower bound on the integrality gap for minimum multicut in directed networks.

3.2.1 LP-algoritm

We can model an minimum multicut problem as an LP problem, this is also done by Gupta [12]. Since we have the additional requirement that all variables are integer, we have an inte-ger linear programming (ILP) problem. We found it interesting to study an LP algorithm for this problem, because in our studies we used a lot of LP models to solve problems. Maybe we can solve an multicut problem by using an LP model. We start by giving the corresponding ILP model. Then we look for a small graph with five vertices and one s-t pair if we can find a multicut. We then use instead of one s-t pair, two s-t pairs, again we try to find a multicut. We end with a conclusion if it is a good algorithm to solve the multicut problem. The ILP model for the multicut problem is:

min X e∈E W (e)X(e) s.t. X e∈F X(e) ≥ 1

Where X(e) = 1 if e ∈ E0 and X(e) = 0 if e /∈ E0 and F is a subset of E with all directed paths between s and t.

When we have a graph with five vertices and the s-t pair is (1,2), the ILP problem becomes: min P

e∈EW (e)X(e), so that the following constraints are satisfied:

(18)

X(1, 2) = 1; X(1, 5) + X(3, 5) + X(3, 2) ≥ 1; X(1, 3) + X(3, 2) ≥ 1; X(1, 5) + X(4, 5) + X(4, 2) ≥ 1; X(1, 4) + X(4, 2) ≥ 1; X(1, 3) + X(3, 4) + X(4, 5) + X(5, 2) ≥ 1; X(1, 5) + X(5, 2) ≥ 1; X(1, 3) + X(3, 5) + X(4, 5) + X(4, 2) ≥ 1; X(1, 3) + X(3, 4) + X(4, 2) ≥ 1; X(1, 4) + X(4, 3) + X(3, 5) + X(5, 2) ≥ 1; X(1, 3) + X(3, 5) + X(5, 2) ≥ 1; X(1, 4) + X(4, 5) + X(3, 5) + X(3, 2) ≥ 1; X(1, 4) + X(3, 4) + X(3, 2) ≥ 1; X(1, 5) + X(5, 3) + X(3, 4) + X(4, 2) ≥ 1; X(1, 4) + X(5, 4) + X(5, 2) ≥ 1; X(1, 5) + X(4, 5) + X(3, 4) + X(3, 2) ≥ 1

We have sixteen constraints when we have a graph with five vertices. Fortunately we can reduce the number of constraints. Take for example the constraint:

X(1, 3) + X(3, 4) + X(4, 5) + X(5, 2) ≥ 1.

The constraint above is a linear combination of the constraints:

X(1, 3) + X(3, 4) + X(4, 2) ≥ 1 and X(1, 4) + X(4, 5) + X(5, 2) ≥ 1,

since all edges from the constraint with four edges are also in the two constraints with three edges.

If we combine the two constraints above we get:

X(1, 3) + X(3, 4) + X(4, 2) + X(1, 4) + X(5, 4) + X(5, 2) ≥ 2,

sinceX(1, 4) + X(2, 4) has to hold with equality in an optimal solution. We can reduce the number of constraints. We will now prove the following theorem.

Theorem: In the case of an optimal solution every constraint consisting of two edges holds with equality.

Proof: Consider a path s-i-t (i ∈ V ) and suppose the minimum s-t cut E0 includes (s, i) and (i, t). It is enough to show that in G(E \E0) always exists either s-i path or i-t path (but not both). Now by setting E00 = E0 \(s, i), we only add a shortcut in G(E\E0) and have that w(E00)=w(E0)-w(s, i) < w(E0) as all weights are strictly positive, this contradicts the minimality of E0.

(19)

X(1, 3) + X(3, 4) + X(4, 2) + X(1, 4) + X(5, 4) + X(5, 2) ≥ 2 (1) X(1, 4) + X(2, 4) = 1 (2) X(1, 3) + X(3, 4) + X(4, 5) + X(5, 2) ≥ 1 (3)

If we subtract constraint 1 from constraint 2, we get as a result that constraint 3 is now always satisfied, so we can leave it out of the constraints. We are left with all constraints above except for the constraints that consist of four terms, with the purpose to solve this problem by means of excel. We will use the reduced number of constraints. The objective and constraints are put into the solver Excel and we get the answer for the multicut prob-lem, which is given in figure 13. In figure 13 we put in a graph, which is given in the left corner, where the weights are put in. The edges that are in the cut are shown by a 1 in the table under ’edges in the cut’. The objective gives us the solution value and the numbers under ’constraints’ all have to be ≥ 1, so that we know for sure that all constraints are satisfied.

Figure 13: An example in Excel.

This gives us the same solution and the same multicut as when we solved the multicut prob-lem by hand. Excel stops after n=12 vertices, since when n > 12 the probprob-lem is too large for Excel, since there are too many adjustable cells. When n ≤ 12 the problem can be solved to optimality.

We now continue with two s-t pairs. We use a graph with five vertices, the s-t pairs are (1,2) and (4,5). We have to minimizeP

e∈E W (e)X(e), so that the following constraints are

(20)

X(1, 2) = 1; X(4, 5) = 1; X(1, 3) + X(3, 2) ≥ 1; X(4, 1) + X(1, 5) ≥ 1 X(1, 4) + X(4, 2) ≥ 1; X(4, 2) + X(2, 5) ≥ 1 X(1, 5) + X(5, 2) ≥ 1; X(4, 3) + X(3, 5) ≥ 1 X(1, 3) + X(3, 4) + X(4, 2) ≥ 1; X(1, 3) + X(3, 4) + X(4, 5) + X(5, 2) ≥ 1; X(1, 3) + X(3, 5) + X(5, 2) ≥ 1; X(1, 3) + X(3, 5) + X(5, 4) + X(4, 2) ≥ 1; X(4, 1) + X(1, 2) + X(2, 5) ≥ 1; X(1, 4) + X(4, 3) + X(3, 5) + X(5, 2) ≥ 1; X(4, 1) + X(1, 3) + X(3, 5) ≥ 1; X(1, 4) + X(4, 5) + X(5, 3) + X(3, 2) ≥ 1; X(1, 4) + X(4, 3) + X(3, 2) ≥ 1; X(1, 5) + X(5, 4) + X(4, 3) + X(3, 2) ≥ 1; X(1, 4) + X(4, 5) + X(5, 2) ≥ 1; X(1, 5) + X(5, 3) + X(3, 4) + X(4, 2) ≥ 1; X(4, 2) + X(2, 1) + X(1, 5) ≥ 1; X(4, 1) + X(1, 2) + X(2, 3) + X(3, 5) ≥ 1; X(4, 2) + X(2, 3) + X(3, 5) ≥ 1; X(4, 1) + X(1, 3) + X(3, 2) + X(2, 5) ≥ 1; X(1, 5) + X(5, 3) + X(3, 2) ≥ 1; X(4, 2) + X(2, 1) + X(1, 3) + X(3, 5) ≥ 1; X(1, 5) + X(5, 4) + X(4, 2) ≥ 1; X(4, 2) + X(2, 3) + X(3, 1) + X(1, 5) ≥ 1; X(4, 3) + X(3, 1) + X(1, 5) ≥ 1; X(4, 3) + X(3, 1) + X(1, 2) + X(2, 5) ≥ 1; X(4, 3) + X(3, 2) + X(2, 5) ≥ 1; X(4, 3) + X(3, 2) + X(2, 1) + X(1, 5) ≥ 1

After substituting constraints X(1, 2)= 1 and X(4, 5)= 1 into the other constraints, we are left with the following constraints:

X(1, 2) = 1; X(4, 5) = 1; X(1, 3) + X(3, 2) ≥ 1; X(4, 1) + X(1, 5) ≥ 1; X(1, 4) + X(4, 2) ≥ 1; X(4, 2) + X(2, 5) ≥ 1; X(1, 5) + X(5, 2) ≥ 1; X(4, 3) + X(3, 5) ≥ 1; X(1, 3) + X(3, 4) + X(4, 2) ≥ 1; X(4, 1) + X(1, 3) + X(3, 5) ≥ 1; X(1, 3) + X(3, 5) + X(5, 2) ≥ 1; X(1, 4) + X(4, 3) + X(3, 2) ≥ 1; X(4, 2) + X(2, 3) + X(3, 5) ≥ 1; X(1, 5) + X(5, 3) + X(3, 2) ≥ 1 X(4, 3) + X(3, 1) + X(1, 5) ≥ 1; X(4, 3) + X(3, 2) + X(2, 5) ≥ 1

When we have a graph with four vertices, we have an ILP model with six constraints. When we have a graph with five vertices we have an ILP model with sixteen constraints and when we have a graph with six vertices we have an ILP model with thirty constraints. In the table we give the number of constraints we will get for the ILP model, when we have n number of vertices.

(21)

n= 4 5 6 7 8 9 number of constraints 6 16 30 48 70 96

Table 2: Number of constraints.

are NP-hard. NP-hard problems cannot be solved in polynomial time. In the case we want to find a minimum multicut each edge is cut or not cut, so we have to consider 2n(n−1)2 possible

solutions. Since our input is of the form 2lwherel= n(n−1)2 we need exponential time to solve a minumum multicut problem. This problem cannot be solved in polynomial time when we consider all solutions. So other methods need to be found in order to solve this problem. We might consider a LP relaxation to solve this problem, but we continue with the max-flow min-cut algorithm, because it solves the s-t cut problem easily. Since the s-t cut problem is a special case of the multicut problem, we want to know if we can solve an multicut problem as well using the max-flow min-cut algorithm.

3.2.2 Max-flow min-cut algorithm

We start this section with a simple example with two s-t pairs and end again with a conclu-sion. We consider the graph in figure 11 with s-t pairs (1,8) and (2,7). We again use the max-flow min-cut algorithm to find an multicut. First we send a flow from vertex 1 to vertex 8 and a flow from vertex 2 to vertex 7. The maximum flow from vertex 1 to vertex 8 is 5 and the maximum flow from vertex 2 to vertex 7 is 7. Then we continue by sending flow from vertex 1 to vertex 8 through one other vertex (figure 14 part B). We do the same for a flow from vertex 2 to vertex 7 through one other vertex (figure 14 part C). Then we send flow from vertex 1 to vertex 8 and from vertex 2 to vertex 7 through two other vertices in part D. Since there is still a flow possible from vertex 1 to vertex 8 and from vertex 2 to vertex 7, we continue by sending flow from vertex 1 to vertex 8 and from vertex 2 to vertex 7 through 3 other vertices. We continu to send flow until there is now longer a flow possible from vertex 1 to vertex 8 and there is no flow possible from vertex 2 to vertex 7. The final flow scheme is given in part E. In part F the graph is given where the multicut is removed. The max-flow min-cut algorithm gives us a solution of 57 with the following edges in the multicut: (1,2), (2,3), (2,4), (2,5), (2,6), (2,7), (1,8), (3,8), (4,8), (5,8), (6,8) and (7,8). It’s left to the reader to prove that the flow is equal to 57, and there is not another multicut that gives us a lower sum of the weights of the edges that are in the multicut. Again it seems that this is a good algorithm to solve this problem, but both integer multiflow and multicut problems are known to be NP-hard and Max SNP-hard for K≥3 discussed in Costa et al. [6]. We see that vertex 1 is still connected to vertex 7, and vertex 2 is still connected to vertex 8. This is because we only want to separate vertex 1 from vertex 8 and vertex 2 from vertex 7.

3.3 K-cut

(22)
(23)

arbitrary K, is NP-complete, this is shown in Goldschmidt and Hochbaum [9]. However, the K-cut problem is polynomially solvable if K is fixed. The main idea of this algorithm is to separate recursively, using minimum s-t cuts one set of vertices from another set of vertices until you have K sets left. For full detail on this algorithm see Goldschmidt and Hochbaum [9]. This algorithm has a running time of O(nK2−3K/2+2) for K is even. The running time for odd K is O(nK2−3K/2+5/2). We can solve the K-cut problem in polynomial time when K is fixed, because each vertex must be in one of the K subsets. There are nK possible solutions. Our maximum input is bounded by a polynomial, so we can solve this problem in polynomial time. A good approximation of the K-cut problem is given in Saran and Vazirani [21]. They give an approximated solution that is always in 2 −K2 of the optimal solution.

3.3.1 All solutions algorithm

We would like to know what the optimal solution is for a given K-cut problem. We solve a given K-cut problem with an algorithm. First we consider the all solution algorithm from a section before. We already know that this probably is not a good solution method, but we started with this algorithm to get a better insight into a K-cut problem. When we apply the all solutions algorithm to the graph in figure 9, we have the following possible solutions/ partitions for K=2. These solutions/ partitions are given in table 3, where 1-23456 means that in one subgraph we have vertex 1 and in the other subgraph we have the other vertices, for the other values in the table we can do the same. All solutions can also be calculated when K=3. This gives us the following solutions/ partitions which are given in table 4.

1-23456 12-3456 24-1356 45-1236 126-345 156-234 2-13456 13-2456 25-1346 46-1235 134-256 3-12456 14-2356 26-1345 56-1234 135-246 4-12356 15-2346 34-1256 123-456 136-245 5-12346 16-2345 35-1246 124-356 145-236 6-12345 23-1456 36-1245 125-346 146-235

Table 3: All solutions/partitions when K=2.

(24)

1-2-3456 12-4-356 16-3-245 13-24-56 124-5-36 136-5-24 1-3-2456 12-5-346 16-4-235 13-25-46 124-6-35 145-2-36 1-4-2356 12-6-345 16-5-234 13-26-45 125-3-46 145-3-26 1-5-2346 13-2-456 23-1-456 14-23-56 125-4-36 145-6-23 1-6-2345 13-4-256 24-1-356 14-25-36 125-6-34 146-2-35 2-3-1456 13-5-246 25-1-346 14-26-35 126-3-45 146-3-25 2-4-1356 13-6-245 26-1-345 15-23-46 126-4-35 146-5-23 2-5-1346 14-2-356 34-1-256 15-24-36 126-5-34 156-2-34 2-6-1345 14-3-256 35-1-246 15-26-34 134-2-56 156-3-24 3-4-1256 14-5-236 36-1-245 16-23-45 134-5-26 156-4-23 3-5-1246 14-6-235 45-1-236 16-24-35 134-6-25 3-6-1245 15-2-346 46-1-235 16-25-34 135-2-46 4-5-1236 15-3-246 56-1-234 123-4-56 135-4-26 4-6-1235 15-4-236 12-34-56 123-5-46 135-6-24 5-6-1234 15-6-234 12-35-46 123-6-45 136-2-45 12-3-456 16-2-345 12-36-45 124-3-56 136-4-25

Table 4: All solutions/partitions when K=3.

calculating all possible partitions and evaluating their weights will yield an optimal solution. However, the number of such partitions is exponential in n. As a consequence, this solution method takes a lot of time and will not give the optimal solution in polynomial time.

3.3.2 Subtraction algorithm

(25)

Figure 15: Solution for graph in figure 9 by using the subtraction algorithm.

no short cuts. So we also consider a graph where the triangle inequality is satisfied. We did not mention the triangle inequality before, because we also considered graphs which do not satisfy the triangle inequality. We do mention it here because it has usefull properties.

Figure 16: Solution for the graph in 16 by using the subtraction algorithm.

(26)

Figure 17: Another solution for the graph in 16.

Figure 18: A graph that satisfies the triangle inequality, and a solution to this graph by using the subtraction algorithm.

(27)

3.3.3 Max-flow min-cut algorithm

In section 3.1 we solve the s-t cut problem. Until now, we took a fixed s and a fixed t which is a special case of the 2-cut problem, but in the general 2-cut problem s and t are not fixed. We solve the 2-cut problem by considering each s-t pair in the graph and apply the max-flow min-cut algorithm to it. We discuss the max-flow min-cut algorithm, because it solves the s-t cut problem nicely. There are n2 ways to choose the pair s and t, where n is the number of vertices. The number of ways to choose s and t can be reduced from n2 to (n − 1), since each minimum cut separates a fixed vertex s from at least one other vertices t. There are (n − 1) ways to choose t, so the 2 cut problem can be solved in (n − 1) times the time to solve the max-flow min-cut problem. We solve the 2-cut problem for the graph in figure 9 by using the max-flow min-cut algorithm five times. The end results of this algorithm are shown in figure 20.

Figure 20: All solutions for the possible s-t pairs.

(28)

separeted from vertex 4, in part D vertex 1 is seperated from vertex 5 and in part E vertex 1 is separated from vertex 6. For all the five cases, we look which edges are in the 2-cut. In parts A,B,D and E the 2-cut consist of the edges (1,2), (1,3), (1,4), (1,5) and (1,6) with the sum of the weights of the edges that are in the 2-cut equal to 26. In part C the 2-cut consists of the edges (1,4), (2,4), (3,4), (4,5) and (4,6) with the sum of the weights of the edges that are in the 2-cut equal to 22. The solution to this 2-cut problem is the 2-cut consists of the edges (1,4), (2,4), (3,4), (4,5) and (4,6) with the sum of the weights of the edges that are in the 2-cut equal to 22. It’s left to the reader to prove that this is indeed the optimal solution. We can solve the K-cut problem by using max-flow min-cut algorithm, however when n increases the time to solve the K-cut also increases.

3.3.4 K-cut algorithm for K=2

In this section we come up with an algorithm that solves the K-cut problem for K=2 in a simple complete weighted graph, when the triangle inequality is satisfied.

When n is odd and n> 3 where n is the number of vertices, we have that the 2-cut is equal to min(d(i)) where i= 1,. . . ,n. Now we are going to prove this by mathematical induction. When we have a graph with three vertices, we have as possible solutions the following parti-tions 1-23 or 2-13 or 3-12. We can easily see that the solution satisfies min(d(i)) for the case n=3. Suppose that this is true for n, now we must show that this holds true for n + 2 where n is an odd number of vertices. We show that there is no other cut that gives us a smaller sum of the weights of the edges that are in the 2-cut than the cut min(d(i)).

Suppose that we partition a graph into a subgraph containing vertices i and j where i, j ∈ (1, 2, . . . , n + 1, n + 2), i 6= j, and a subgraph containing all the other vertices. Suppose that this is an optimal solution, then the value of the 2-cut is equal to:

X

k=1,2,...,n+1,n+2

w(i, k) + X

k=1,2,...,n+1,n+2

w(j, k) − w(i, i) − w(j, j) − 2w(i, j). (4)

Where value stands for the sum of the weight of the edges that are in the 2-cut. For all i ∈ 1, 2, . . . , n + 1, n + 2, w(i, i) = 0. For the rest of this proof we leave the term w(i,i) out. For the cut given in equation (4) to be the optimal 2-cut value, this value has to be smaller than the value of any other 2-cut. We must have that value of equation (4) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

(29)

For equation (4) to be an optimal 2-cut the following equation must hold true: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) − 2w(i, j) ≤ X k=1,2,...,n+1,n+2 w(i, k). (6) ⇒ X k=1,2,...,n+1,n+2 w(j, k) − 2w(i, j) ≤ 0 ⇒ X k=1,2,...,n+1,n+2 w(j, k) ≤ 2w(i, j). (7)

Also the value of equation (4) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

w(j, k). (8)

For equation (4) to be an optimal 2-cut the following equation must hold true: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) − 2w(i, j) ≤ X k=1,2,...,n+1,n+2 w(j, k). (9)

Using the result we found in equation (7) we have that: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) − 2w(i, j) ≤ X k=1,2,...,n+1,n+2 w(j, k) ≤ 2w(i, j). (10) ⇒ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) ≤ 4w(i, j). (11)

By the triangle inequality we have w(i, k) + w(k, j) ≥ w(i, j) ∀ k ∈ 1, 2, . . . , n + 1, n + 2.

⇒ X

k=1,2,...,n+1,n+2

w(i, k) + X

k=1,2,...,n+1,n+2

w(j, k) ≥ (n + 2)w(i, j). (12)

Since equation (11) and (12) cannot hold at the same time, we have a contradiction. Hence partition a graph into a subgraph containing vertices i and j and a subgraph containing all the other vertices cannot be an optimal solution to a 2-cut problem.

(30)

Suppose that this is an optimal solution, then the value of the 2-cut is equal to: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) + X k=1,2,...,n+1,n+2 w(l, k) − 2w(i, j) − 2w(i, l) − 2w(j, l). (13)

For equation (13) to be the optimal 2-cut, the value of this 2-cut has to be smaller than the value of any other 2-cut. So the value of equation (13) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

w(i, k) + X

k=1,2,...,n+1,n+2

w(j, k) − 2w(i, j). (14)

For equation (13) to be an optimal 2-cut the following equation must hold true: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) + X k=1,2,...,n+1,n+2 w(l, k) − 2w(i, j) −2w(i, l) − 2w(j, l) ≤ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) − 2w(i, j). (15) ⇒ X k=1,2,...,n+1,n+2 w(l, k) − 2w(i, l) − 2w(j, l) ≤ 0 ⇒ X k=1,2,...,n+1,n+2 w(l, k) ≤ 2w(i, l) + 2w(j, l). (16)

Also the value of equation (13) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

w(l, k). (17)

(31)

Using the result we found in equation (16) we have that: X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) + X k=1,2,...,n+1,n+2 w(l, k) −2w(i, j) − 2w(i, l) − 2w(j, l) ≤ X k=1,2,...,n+1,n+2 w(l, k) ≤ 2w(i, l) + 2w(j, l). (19) ⇒ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) + X k=1,2,...,n+1,n+2 w(l, k) ≤ 2w(i, j) + 4w(i, l) + 4w(j, l). (20) By addingP

k=1,2,...,n+1,n+2w(l, k) to both sides we get:

⇒ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) + 2 X k=1,2,...,n+1,n+2 w(l, k) ≤ 2w(i, j) + 4w(i, l) + 4w(j, l) + X k=1,2,...,n+1,n+2 w(l, k). (21)

By using the result in equation (16) again we get:

⇒ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) +2 X k=1,2,...,n+1,n+2 w(l, k) ≤ 2w(i, j) + 6w(i, l) + 6w(j, l). (22)

By the triangle inequality we have w(i, k) + w(k, l) ≥ w(i, l) ∀k ∈ 1, 2, . . . , n + 1, n + 2, k 6= i, j. By the triangle inequality we also have that w(j, k) + w(k, l) ≥ w(j, l) ∀k ∈ 1, 2, . . . , n + 1, n + 2, k 6= i, j and that w(i, k) + w(k, j) ≥ w(i, j) for k = i, j.

⇒ X k=1,2,...,n+1,n+2 w(i, k) + X k=1,2,...,n+1,n+2 w(j, k) +2 X k=1,2,...,n+1,n+2 w(l, k) ≥ 2w(i, j) + (n)w(i, l) + (n)w(j, l). (23)

(32)

optimal solution to a 2-cut problem.

We also have to proof this for the case when we partition the graph into a subgraph contain-ing vertices i, j, l, h and the other vertices in the other subgraph. Also for the case when we partition the graph into a subgraph containing vertices i, j, l, h, m and the other vertices in the other subgraph. We have to do this until we partition the graph into A and B, where A contains n2+0.5 of the vertices and B the other vertices. Suppose that A consist of the vertices 1,. . . , n2+0.5 and B consist of the vertices n2 + 1.5 , . . . , n+2, then the value of the 2-cut is equal to:

X

i=1,2,...,n2+0.5

X

k=n2+1.5,...,n+1,n+2

w(i, k). (24)

For equation (24) to be the optimal 2-cut. The value of this 2-cut has to be smaller than the value of any other 2-cut. So the value of equation (24) has to be smaller than the value of:

X

i=1,2,...,n2−0.5

X

k=n2+0.5,...,n+1,n+2

w(i, k). (25)

For equation (24) to be an optimal 2-cut the following equation must hold true: X i=1,2,...,n2+0.5 X k=n2+1.5,...,n+1,n+2 w(i, k) ≤ X i=1,2,...,n2−0.5 X k=n2+0.5,...,n+1,n+2 w(i, k). (26) ⇒ X k=n2+1.5,...,n+1,n+2 w(n 2 + 0.5, k) ≤ X i=1,2,...,n2−0.5 w(i,n 2 + 0.5). (27)

Also the value of equation (24) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

w(n

2 + 0.5, k). (28)

(33)

Using the result we found in equation (27) we have that: X i=1,2,...,n2+0.5 X k=n2+1.5,...,n+1,n+2 w(i, k) ≤ 2 X k=1,2,...,n2−0.5 w(n 2 + 0.5, k). (30)

By the triangle inequality we have that w(i, k) + w(k,n2 + 0.5) ≥ w(i,n2 + 0.5) ∀k ∈ n2 + 1.5, . . . , n + 1, n + 2, i ∈ 1, 2, . . . ,n2− 0.5. By adding g times P

k=n

2+1.5,...,n+1,n+2w(

n

2 + 0.5, k)

to both sides we get:

X i=1,2,...,n2+0.5 X k=n2+1.5,...,n+1,n+2 w(i, k) > (2 + g) X k=1,2,...,n2−0.5 w(n 2 + 0.5, k) (31) X i=1,2,...,n2+0.5 X k=n2+1.5,...,n+1,n+2 w(i, k) ≤ (2 + g) X k=1,2,...,n2−0.5 w(n 2 + 0.5, k) (32) Where g = n 2−2.5

2 +  and g is round up to the nearest integer and  is a small positive

num-ber. But equations (31) and (32) cannot hold at the same time, so we have a contradiction. We now have a contradiction in all cases. Hence, when n is odd and the graph satisfies the triangle inequality, the solution of the 2-cut is equal to min(d(i)).

We can also prove that this holds true when n is even and the graph satisfies the triangle inequality. For K=2 it is trivial, for K=4 we have the following possible partitions 1-234, 2-134, 3-124, 4-123, 12-34, 13-24 and 14-23. We have to show that 12-34, 13-24 and 14-23 cannot be optimal partitions. We prove this for 12-34 for the other two partitions the proof is the same. The 2-cut for 12-34 consist of the following edges (2,3), (2,4), (1,4) and (1,3), with a value of:

X

i=1,2k=3,4

w(i, k). (33)

For equation(33) to be an optimal 2-cut the value of equation (33) has to be smaller than any other 2-cut. So equation (33) has to be smaller than the value of:

X

k=2,3,4

w(1, k). (34)

For equation (33) to be an optimal 2-cut the following equation must hold: X

i=1,2k=3,4

w(i, k) ≤ X

k=2,3,4

(34)

⇒ X

k=3,4

w(2, k) ≤ w(1, 2). (36)

For equation (33) to be an optimal solution the following equation also must hold: X i=1,2k=3,4 w(i, k) ≤ X k=1,3,4 w(2, k). (37) ⇒ X k=3,4 w(1, k) ≤ w(1, 2). (38)

Using the results we have found in equations (36) and (38) we have that: X

i=1,2k=3,4

w(i, k) ≤ 2w(1, 2) (39)

By the triangle inequality we have w(1,2) ≤ w(1,4)+w(4,2) and w(1,2) ≤ w(1,3)+w(3,2) so: X

i=1,2k=3,4

w(i, k) ≥ 2w(1, 2) (40)

Combining equations (39) and (40) we get: X

i=1,2k=3,4

w(i, k) = 2w(1, 2) (41)

This can only hold true if the triangle inequality is satisfied with equality so we have w(1, 2) = w(1, 4) + w(4, 2) and w(1, 2) = w(1, 3) + w(3, 2), otherwise condition(43) does not hold. But substituting the edges (1,4) and (1,3) by (1,2) gives the same solution as 2-134. Doing the same for the edges (2,4) and (2,3) gives 1-234. That are the solutions d(1) or d(2) so our minimum 2-cut is d(i).

(35)

and subgraph B consist of vertices n+22 + 1, . . . , n+2. Then the value of the 2-cut is equal to: X i=1,2,...,n2+1 X k=n2+2,...,n+1,n+2 w(i, k). (42)

For equation (42) to be the optimal 2-cut, the value of this 2-cut has to be smaller than the value of any other 2-cut. So the value of equation (42) has to be smaller than the value of:

X

i=1,2,...,n2

X

k=n2+1,...,n+1,n+2

w(i, k). (43)

For equation (42) to be an optimal 2-cut the following equation must hold true: X i=1,2,...,n2+1 X k=n2+2,...,n+1,n+2 w(i, k) ≤ X i=1,2,...,n2 X k=n2+1,...,n+1,n+2 w(i, k). (44) ⇒ X k=n2+2,...,n+1,n+2 w(n 2 + 1, k) ≤ X i=1,2,...,n2 w(i,n 2 + 1). (45)

Also the value of equation (42) has to be smaller than the value of:

X

k=1,2,...,n+1,n+2

w(n

2 + 1, k). (46)

For equation (42) to be an optimal 2-cut the following equation must hold true: X i=1,2,...,n2+1 X k=n2+2,...,n+1,n+2 w(i, k) ≤ X k=1,2,...,n+1,n+2 w(n 2 + 1, k) ≤ X k=1,2,...,n2 w(n 2 + 1, k) + X k=n2+2,...,n+1,n+2 w(n 2 + 1, k). (47)

(36)

By adding n2 − 1 timesP

k=n2+2,...,n+1,n+2w(n2 + 1, k) to both sides we get:

X i=1,2,...,n2+1 X k=n2+2,...,n+1,n+2 w(i, k) + (n 2 − 1) X k=n2+2,...,n+1,n+2 w(n 2 + 1, k) ≥ (n 2 + 1) X k=1,2,...,n2 w(n 2 + 1, k). (49)

By the triangle inequality we have that w(i, k) + w(k,n2+ 1) ≥ w(i,n2+ 1) ∀k ∈ n2+ 2, . . . , n + 1, n + 2, i ∈ 1, 2, . . . ,n2. we now have that

X i=1,2,...,n 2+1 X k=n 2+2,...,n+1,n+2 w(i, k) + (n 2 − 1) X k=n 2+2,...,n+1,n+2 w(n 2 + 1, k) ≤ (n 2 + 1) X k=1,2,...,n2 w(n 2 + 1, k). (50)

Combining equations (49) and (50) we get: X i=1,2,...,n2+1 X k=n2+2,...,n+1,n+2 w(i, k) + (n 2 − 1) X k=n2+2,...,n+1,n+2 w(n 2 + 1, k) = (n 2 + 1) X k=1,2,...,n2 w(n 2 + 1, k). (51)

By using equations (48) and (51) we get:

X k=n2+2,...,n+1,n+2 w(n 2 + 1, k) ≥ X i=1,2,...,n2 w(i,n 2 + 1). (52)

By equations (45) and (52) we now have that:

X k=n 2+2,...,n+1,n+2 w(n 2 + 1, k) = X i=1,2,...,n 2 w(i,n 2 + 1). (53)

By using equations (51) and (53) we get:

(37)

We see that this partition gives us the same solution as d(n+22 ). A similar result is achieved when the subsets of A and B are changed. When a graph satisfies the triangle inequality, the 2-cut can be easily found by calculating min(d(i)) where i=1,. . . ,n. As far as we are aware this is a new result, no literature could be found where this is proven of mentioned.

4

Conclusions

In this paper we looked at three different cuts. Namely the s-t cut, multicut and K-cut. For the s-t cut problem we have seen that calculating all solutions is not a good way to solve this problem. Solving the s-t cut problem with max-flow min-cut goes very well. A good algorithm to solve the s-t cut problem is given in Reif [19]. For the multicut problem we have tried an ILP approach, we saw that it does not solve the problem for large n. So we suggest for future research to use an LP relaxation to solve the multicut problem. We also tried the max-flow min-cut algorithm for 2 s-t pairs it solves the problem. However for K ≥ 3 the problem becomes Max SNP-hard, because both integer multiflow and multicut problems are known to be NP-hard and Max SNP-hard for K≥3 discussed in Costa et al. [6]. Finally we studied the K-cut problem. The all solution algorithm and subtraction algorithm where not able to solve this problem. Max-flow min-cut solves the 2-cut problem, but in section 3.3.4 we come up with an algorithm that solves the 2-cut very fast. The solution to the 2-cut problem becomes min(d(i)) where i=1,. . . ,n. For the K-cut problem when K is fixed we have found an algo-rithm by Goldschmidt and Hochbaum [9]. For the general K-cut problem where K is also part of the input, Saran and Vazirani [21] give a good 2 −K2 approximation of the optimal solution. For further research we might find a way to improve the approximation of Saran and Vazirani.

References

[1] C. Bentz, New results on planar and directed multicuts, Electronic Notes in Discrete Mathematics 34, 207-211.

[2] C. Bentz, M.C. Costa and F. Roupin, Maximum integer multiflow and minimum multicut problems in two-sided uniform grid graphs, Journal of Discrete Algorithms 5(1), 2007, 36-54.

[3] J.A. Bondy and U.S.R. Murty, Graph theory with applications Elsevier Science Publish-ing Co. Inc, 1976.

[4] G. Cheston, R. Probert, and C. Saxton, Fast algorithms for determination of connectivity sets for planar graphs, Department Computer Science, Univ. Saskatchewan, 1977. [5] J.W. Chinneck, Practical optimization: a gentle introduction,

http://www.sce.carleton.ca/faculty/chinneck/po.html , 2000, Chapter 9.

(38)

[7] E. Dahlhaus, D.S. Johnson, C.H. Papadimitriu, P. Seymour, and M.Yanakakis, The complexity of the multiway cuts, STOC ’92 Proceedings of the Twenty-Fourth Annual ACM Symposium on theory of Computing, 241-251.

[8] B. Goldengorin, Quantitative Logistics (20 lectures in Combinatorail Optimization), Uni-versity of Groningen, lecture notes, 2008-2009.

[9] O. Goldschmidt, D.S. Hochbaum, Polynomial algorithm for the k-cut problem, Proceed-ings of the 29th Annual Symposium on Foundations of Computer Science, 1988, 444-451. [10] R. E. Gomory and T. C. Hu, Multi-terminal network flows, Journal of SIAM, 9(4), 1961,

551-570.

[11] J. Guo, F. Huffner, E. Kenar, R. Niedermeier, and J. Uhlmann, Complexity and ex-act algorithms for vertex multicut in interval and bounded treewidth graphs, European Journal of Operational Research 186(2), 542-553.

[12] A. Gupta, Advanced approximation algorithms, Lecture 18: Multicut, CMU 15-854B, Spring 2008.

[13] J. Hao and J.B. Orlin, A faster algorithm for finding the minimum cut in a graph, SODA: Symposium on Discrete Algorithms, 1992, 165-174.

[14] D.S. Hochbaum and D.B. Shmoys, An O(|V |2) algorithm for the planar 3-cut problem, SIAM J. on algebraic and Discrete Methods, 6(4), 1985, 707-712.

[15] A. Itai and Y. Shiloach, Maximum flow in planar networks, SIAM J. Comput. 8(2), 1979, 135-150.

[16] P.N. Klein, S.A. Plotkin, S. Rao, and E. Tardos, Approximation algorithms for steiner and directed multicuts, Journal of Algorithms 22, 1997, 241-269.

[17] Y. Kortsarts, G. Kortsarz, and Z. Nutov, Approximation algorithm for directed multi-cuts, Springer-Verlag, Berlin-Heidelberg, 2005.

[18] M. Padberg and G. Rinaldi, An efficient algorithm for the minimum capacity cut problem, Mathematical Programming 47, 1990, 19-36.

[19] J.H. Reif, Minimum s-t cut of a planar undirected network in o(nlog2(n)) time, Lecture Notes in Computer Science, 115, 1981, 56-67.

[20] M. Saks, A. Samorodnitsky, and L. Zosin, Lower bound on the integrality gap for mini-mum multicut in directed networks, Combinatorica 24(3), 2004, 525-530.

(39)

Appendix

(40)

Referenties

GERELATEERDE DOCUMENTEN

For both instances in Table 2.1, we even need fewer stable sets than branch-and-bound nodes after solving the root node; this means many branch-and-bound nodes are immediately solved

In a representation matrix the rows are indexed by the spanning tree edges of a graph and the columns are indexed by the remaining edges.. The 1s in a column show which spanning

In fact, we can even give an explicit expression for the number of s-moves required for configuration c to reach the zero-weight configuration.. We will do so by defin- ing a mapping

If some subset of discs are initially more massive or extended, then they could exhibit greater mass loss rates at the present day and may contribute to the number of bright and

The Participation Agreement creates a framework contract between the Allocation Platform and the Registered Participant for the allocation of Long Term

Note that as we continue processing, these macros will change from time to time (i.e. changing \mfx@build@skip to actually doing something once we find a note, rather than gobbling

Based on the outcomes of the literature review in which different data valuation methods are compared using assessment criteria, the ACE framework was selected to use as a

The main part of the thesis is section 4 which shows that the master equation approach, often used in quantum optics, can be embedded in Belavkin’s theory.. The constructive way we