Dispersing obnoxious facilities on a graph

We study a continuous facility location problem on a graph where all edges have unit length and where the facilities may also be positioned in the interior of the edges. The goal is to position as many facilities as possible subject to the condition that any two facilities have at least distance $\delta$ from each other. We investigate the complexity of this problem in terms of the rational parameter $\delta$. The problem is polynomially solvable, if the numerator of $\delta$ is $1$ or $2$, while all other cases turn out to be NP-hard.


Introduction
A large part of the facility location literature deals with desirable facilities that people like to have nearby, such as service centers, police departments, fire stations, and warehouses. However, there also do exist facilities that are undesirable and obnoxious, such as nuclear reactors, garbage dumps, chemical plants, military installations, and high security penal institutions. A standard goal in location theory is to spread out such obnoxious facilities and to avoid their accumulation and concentration in a small region; see for instance Erkut & Neuman [6] and Cappanera [2] for comprehensive surveys on this topic.
In this paper, we investigate the location of obnoxious facilities in a metric space whose topology is determined by a graph. Formally, let G = (V, E) be an undirected connected graph, where every edge is rectifiable and has unit length. Let P (G) denote the continuum set of points on all the edges in E together with all the vertices in V . For two points p, q ∈ P (G), we denote by d(p, q) the length of a shortest path connecting p and q in the graph. A subset S ⊂ P (G) is said to be δ-dispersed for some positive real number δ, if any two points p, q ∈ S with p = q are at distance d(p, q) ≥ δ from each other. Our goal is to compute for a given graph G = (V, E) and a given positive real number δ a maximum cardinality subset S ⊂ P (G) that is δ-dispersed. Such a set S is called an optimal δ-dispersed set, and |S| is called the δ-dispersion number δ-Disp(G) of the graph G.

Known and related results.
Obnoxious facility location goes back to the seminal articles of Goldman & Dearing [11] from 1975 and Church & Garfinkel [3] from 1978. The area actually covers a wide variety of problem variants and models; some models specify a geometric setting, while other models use a graph-theoretic setting.
For example, Abravaya & Segal [1] consider a purely geometric variant of obnoxious facility location, where a maximum cardinality set of obnoxious facilities has to be placed in a rectangular region, such that their pairwise distance as well as the distance to a fixed set of demand sites is above a given threshold. As another example we mention the graphtheoretic model of Tamir [16], where every edge e ∈ E of the underlying graph G = (V, E) is rectifiable and has a given edge-dependent length ℓ(e). Tamir discusses the complexity and approximability of various optimization problems with various objective functions. One consequence of [16] is that if the graph G is a tree, then the value δ-Disp(G) can be computed in polynomial time. Segal [15] locates a single obnoxious facility on a network under various objective functions, such as maximizing the smallest distance from the facility to the clients on the network or maximizing the total sum of the distances between facility and clients.
Megiddo & Tamir [14] consider the covering problem that is dual to the δ-dispersion packing problem: Given a graph G = (V, E) with rectifiable unit-length edges, find a minimum cardinality subset S ⊂ P (G) such that every point in P (G) is at distance at most δ from one of the facilities in S. Among many other results [14] shows that this covering problem is NP-hard for δ = 2.
Finally, we mention the work of Gawrychowski, Krasnopolsky, Mozes & Weimann [10] who study the problem variant where the points in the dispersed set S must be vertices of the graph G. They show that for a given tree G and a given integer k, one can compute in linear time the largest possible value δ for which there exists a δ-dispersed set S of size |S| = k.

Our results.
We provide a complete picture of the complexity of computing the δ-dispersion number for connected graphs G = (V, E) and positive rational numbers δ.
If δ = 1/b for some integer b, then the δ-dispersion number of G can be written down without really looking at the structure of the graph: If G is a tree then δ-Disp(G) = b|E| + 1, and if G is not a tree then δ-Disp(G) = b|E|. If δ = 2/b for some integer b, then δ-Disp(G) can be computed in polynomial time. The algorithm uses the Edmonds-Gallai decomposition of G and reformulates the problem as a submodular optimization problem. If δ = a/b for integers a and b with a ≥ 3 and gcd(a, b) = 1, then the computation of δ-Disp(G) is an NP-hard problem. The rest of the paper is organized as follows. Section 2 summarizes the basic notations and states several technical observations. Section 3 presents the NP-hardness results. The reductions are essentially based on routine methods, but need to resolve certain numbertheoretic issues. Our technical main contribution is the polynomial time algorithm for the case δ = 2 as developed in Section 4; this result is heavily based on tools from matching theory. Section 5 summarizes the polynomially solvable special cases and provides additional structural insights.

Notation and technical preliminaries
All graphs in this paper are undirected and connected, and all edges have unit length. Throughout the paper we use the word vertex in the graph-theoretic sense, and we use the word point to denote the elements of the geometric structure P (G). For a graph G = (V, E) and a subset V ′ ⊆ V , we denote by G[V ′ ] the subgraph induced by V ′ . For an integer c ≥ 1, the c-subdivision of G is the graph that results from G by subdividing every edge in E by c − 1 new vertices into c new edges.
For an edge e = {u, v} and a real number λ with 0 ≤ λ ≤ 1, we denote by p(u, v, λ) the point on e that has distance λ from vertex u. Note that p(u, v, 0) = u and p(u, v, 1) = v, and note that point p(u, v, λ) coincides with point p(v, u, 1 − λ); hence we will sometimes assume without loss of generality that λ ≤ 1/2. ◮ Lemma 2.1. Let G be a graph, let c ≥ 1 be an integer, and let G ′ be the c-subdivision of G. Then for every δ > 0, the δ-dispersed sets in G are in one-to-one correspondence with the (c · δ)-dispersed sets in G ′ . In particular, δ-Disp(G) = (c · δ)-Disp(G ′ ).
Proof. Every point p (u, v, λ) in P (G) translates into a corresponding point in P (G ′ ) that lies on the subdivided edge between u and v and is at distance c · λ from vertex u. ◭ Lemma 2.1 has many useful consequences, as for instance the following: ◮ Lemma 2.2. Let δ > 0 and let c ≥ 1 be an integer. If the problem of computing the δ-dispersion number is NP-hard, then also the problem of computing the (c · δ)-dispersion number is NP-hard. If the problem of computing the (c · δ)-dispersion number is polynomially solvable, then also the problem of computing the δ-dispersion number is polynomially solvable.
Proof. By Lemma 2.1 the c-subdivision of a graph yields a polynomial time reduction from computing δ-dispersions to computing (c · δ)-dispersions. ◭ For integers ℓ and k, the rational number ℓ/k is called k-simple. A set S ⊆ P (G) is k-simple, if for every point p (u, v, λ) in S the number λ is k-simple. ◮ Lemma 2.3. Let δ = a/b with integers a and b, and let G = (V, E) be a graph. Then there exists an optimal δ-dispersed set S * that is 2b-simple.
Proof. We first handle the cases with b = 1, so that δ is integer. Consider an optimal δdispersed set S for graph G. Note that for every vertex u, at most one point p (u, v, λ) with v ∈ V and 0 ≤ λ < 1/2 is in S. For every point p = p(u, v, λ) with 0 ≤ λ ≤ 1/2 in S, we put a corresponding point p * into set S * : If 0 ≤ λ < 1/2 then p * = p(u, v, 0), and if λ = 1/2 then p * = p(u, v, 1/2). As all points in the resulting set S * are either vertices or midpoints of edges, we get that S * is 2-simple. We claim that S * is still δ-dispersed: Consider two distinct points p * and q * in S * . Note that d(p, p * ) < 1/2 and d(q, q * ) < 1/2 by construction.
If p * and q * both are vertices in V , then the distance d(p * , q * ) is integer. By the triangle inequality d(p, q) ≤ d(p, p * ) + d(p * , q * ) + d(q * , q). As the left hand side in this inequality is at least the integer δ and as its right hand side is strictly smaller than the integer d(p * , q * ) + 1, we conclude d(p * , q * ) ≥ δ.
If p * and q * both are midpoints of edges, then p = p * and q = q * yields d(p * , q * ) ≥ δ.
If p * is a vertex and q * is the midpoint of some edge, then d(p * , q * ) = D + 1/2 for some integer D. The triangle inequality together with p = p * yields δ ≤ d(p, q) = d(p * , q) ≤ d(p * , q * ) + d(q * , q) < D + 1. This implies D ≥ δ, so that d(p * , q * ) ≥ δ + 1/2. Since S and S * have the same cardinality, we conclude that S * is an optimal δ-dispersed set that is 2-simple, exactly as desired.
In the cases where δ = a/b for some integer b ≥ 2, we consider the b-subdivision G ′ of G. By the above discussion, G ′ possesses an optimal a-dispersed set S ′ that is 2-simple. Then Lemma 2.1 translates S ′ into an optimal δ-dispersed set S for G that is 2b-simple. ◭

NP-completeness results
In this section we present our NP-hardness proofs for computing the δ-dispersion number. All proofs are done through polynomial time reductions from the following NP-hard variant of the independent set problem; see Garey & Johnson [9].
Problem: Independent Set in Cubic Graphs (Cubic-Ind-Set) Instance: An undirected, connected graph H = (V H , E H ) in which every vertex is adjacent to exactly three other vertices; an integer bound k.
Question: Does H contain an independent set I with |I| ≥ k vertices?
Throughout this section we consider a fixed rational number δ = a/b, where a and b are positive integers that satisfy gcd(a, b) = 1 and a ≥ 3. Section 3.1 the cases with odd numerators a ≥ 3, and Section 3.2 the cases with even numerators a ≥ 4. It is instructive to verify that our arguments do not work for the cases with a = 1 and a = 2, as our gadgets and our arguments break down at various places.

NP-hard cases with odd numerator
Throughout this section we consider a fixed rational number δ = a/b where gcd(a, b) = 1 and where a ≥ 3 is an odd integer. For the NP-hardness proof, we first determine four path on x 1 edges path on x 1 edges cycle C(e) on x2 edges Figure 1 The edge e = {u, v} in the instance of Cubic-Ind-Set translates into three vertices u * , e * , v * in the dispersion instance, together with two paths and one cycle.
Note that the value a − 1 on the right hand side of equation (1) is even, and hence is divisible by the greatest common divisor gcd(2b, 2a) = 2 of the coefficients in the left hand side. With this, Bézout's lemma yields the existence of positive integers x 1 and y 1 that satisfy (1). Bézout's lemma also yields the existence of positive integers x 2 and y 2 in equation (2), as the coefficients in the left hand are relatively prime. Our reduction now starts from an arbitrary instance H = (V H , E H ) and k of Cubic-Ind-Set, and constructs a corresponding dispersion instance For every edge e = {u, v} ∈ E H , we create a corresponding vertex e * in V G . For every edge e = {u, v} ∈ E H , we create (i) a path with x 1 edges that connects vertex u * to vertex e * , (ii) another path with x 1 edges that connects v * to e * , and (iii) a cycle C(e) with x 2 edges that runs through vertex e * . This completes the description of the graph G = (V G , E G ); see Figure 1 for an illustration. We claim that graph H contains an independent set of size k, if and only if ( Proof. Let I be an independent set of size k in graph H = (V H , E H ). We construct from I a δ-dispersed set S ⊂ P (G) as follows. Let u ∈ V H be a vertex, and let e 1 , e 2 , e 3 be the three edges in E H that are incident to u.
If u ∈ I, then we put point u * into S. On each of the three paths that connect vertex u * respectively to vertex e * i (i = 1, 2, 3), we select y 1 further points for S. The first selected point is at distance δ from u * , and every further selected point is at distance δ = a/b from the preceding selected point. By equation (1), on each of the three paths the distance from the final selected point to point e * i (i = 1, 2, 3) then equals (a − 1)/(2b).
If u / ∈ I, then on each of the three paths between u * and e * i (i = 1, 2, 3) we select y 1 points for S. The first selected point is at distance δ/2 = a/(2b) from u * , and every further selected point is at distance δ from the preceding selected point. By equation (1), the distance from the final selected point to point e * then equals (2a − 1)/(2b). Furthermore, for every edge e ∈ E H we select y 2 points from the cycle C(e) for S: We start in point e * and traverse C(e) in clockwise direction. The first selected point is at distance (a + 1)/(2b) from point e * , and every further selected point is at distance δ from the preceding selected point. By equation (2), the distance from the final selected point to point e * then equals (a + 1)/(2b). This completes the construction of set S. Now let us count the points in S. First, there are the k points u * ∈ S for which u ∈ I. Furthermore, for every edge e = {u, v} ∈ E H there are 2y 1 points in S that lie on the two paths from u * to e * and from e * to v * . Finally, for every edge e ∈ E H there are y 2 points that lie on the cycle C(e). Altogether, this yields the desired size k + (2y 1 + y 2 )|E H | for S.
It remains to verify that the point set S is δ-dispersed. By construction, the points selected from each path are at distance at least δ from each other, and the same holds for the points selected from each cycle. If vertex u * is in S, then all selected points on the three incident paths are at distance at least δ from u * . If vertex u * is not in S, then the first selected point on every path is at distance δ/2 from u * , so that these points are pairwise at distance at least δ from each other. Hence the only potential trouble could arise in the neighborhood of point e * , where paths and cycles are glued together. Every selected point on C(e) is at distance at least (a + 1)/(2b) from point e * . Every selected point on some path from u * to e * is at distance at least (a − 1)/(2b) from e * if u ∈ I and is at distance at least (2a − 1)/(2b) if u / ∈ I. Since for any edge e = {u, v} ∈ E H at most one of the end vertices u and v is in I, at most one selected point can be at distance (a − 1)/(2b) from e * , and all other points are at distance at least (a + 1)/(2b) from e * . Hence S is indeed δ-dispersed. ◭ ◮ Lemma 3.2. If the (a/b)-dispersion number of graph G is at least k + (2y 1 + y 2 )|E H |, then graph H contains an independent set of size k.
Proof. Let S be an (a/b)-dispersed set of size k + (2y 1 + y 2 )|E H |. By Lemma 2.3 we assume that for every point p (u, v, λ) in S, the denominator of the rational number λ is 2b.
For an edge e = {u, v} ∈ E H , let us consider its corresponding path π on x 1 edges that connects vertex u * to vertex e * . Suppose that there is some point p in S ∩ π with d(p, e * ) ≤ (a − 2)/(2b). Then by Equation (2), set S will contain at most y 2 − 1 points from the cycle C(e). In this case we restructure S as follows: We remove point p together with the at most y 2 − 1 points on cycle C(e) from S, and instead insert y 2 points into S that are δ-dispersed on C(e) and that all are at distance at least (a + 1)/(2b) from e * . As this restructuring does not decrease the size of S, we will from now on assume without loss of generality that d(p, e * ) ≥ (a − 1)/(2b) holds for every point p ∈ S ∩ π. Now let us take a closer look at the points in S ∩ π. Equation (1) can be rewritten into x 1 = y 1 δ + (a − 1)/(2b), which yields |S ∩ π| ≤ y 1 + 1.
In the equality case |S ∩ π| = y 1 + 1, we must have u * ∈ S and also the point on π at distance (a − 1)/(2b) from e * must be in S.
In case |S ∩π| ≤ y 1 , there is ample space for picking y 1 points from π that are δ-dispersed and that are at distance at least δ/2 from u * and at distance at least δ/2 from e * . Hence we will from now on assume |S ∩ π| = y 1 in these cases. Now let us count: Set S contains exactly y 1 interior points from every path π, and altogether there are 2|E H | such paths. Set S contains exactly y 2 points from every cycle C(e), and altogether there are |E H | such cycles. Since |S| ≥ k + (2y 1 + y 2 )|E H |, this means that S must contain at least k further points on vertices u * with u ∈ V H . The corresponding subset of V H is called I.
Finally, we claim that this set I with |I| ≥ k forms an independent set in graph H. Suppose for the sake of contradiction that there is an edge e = {u, v} ∈ E H with u * ∈ I and v * ∈ I. Consider the two paths that connect u * to e * and v * to E * . By the above discussion, S then contains two points at distance (a − 1)/(2b) from e * . As these two points are then at distance at most (a − 1)/b < δ from each other, we arrive at the desired contradiction. ◭ The statements in Lemma 3.1 and in 3.2 yield the following theorem.

NP-hard cases with even numerator
In this section we consider a fixed rational number δ = a/b where gcd(a, b) = 1 and where a ≥ 4 is an even integer. The NP-hardness argument is essentially a minor variation of the argument in Section 3.1 for the cases with odd numerators. Therefore, we will only explain the modifications, and leave all further details to the reader.
The NP-hardness proof in Section 3.1 is centered around the four positive integers x 1 , y 1 , x 2 , y 2 introduced in equations (1) and (2). We perform the same reduction from Cubic-Ind-Set as in Section 3.1 but with positive integers x 1 , y 1 , x 2 , y 2 that satisfy the following equations (3) and (4).
In (3), the right hand side a − 2 is even and divisible by the greatest common divisor of the coefficients in the left hand side. In (4), the coefficients in the left hand are relatively prime. Therefore Bézout's lemma can be applied to both equations. The graph G = (V G , E G ) is defined as before, with a vertex v * for every v ∈ V H and a vertex e * for every e ∈ E H , with paths on x 1 edges and cycles C(e) on x 2 edges. The arguments in Lemma 3.1 and 3.2 can easily be adapted and yield the following theorem.

Containment in NP
In this section we consider the decision version of δ-dispersion: "For a given graph G = (V, E), a positive real δ, and a bound k, decide whether δ-Disp(G) ≤ k." Our NP-certificate specifies the following partial information on a δ-dispersed set S in a graph G = (V, E): The certificate specifies the set W := V ∩ S * . For every edge e ∈ E, the certificate specifies the number n e of facilities that are located in the interior of e. As every edge accommodates at most 1/δ points from S, the encoding length of our certificate is polynomially bounded in the instance size. For verifying the certificate, we introduce for every vertex u and for every incident edge e = {u, v} ∈ E with n e > 0 a corresponding real variable x(u, e), which models the distance between vertex u and the closest point from S in the interior of edge e. Finally, we introduce the following linear constraints:

Dispersing obnoxious facilities on a graph
The non-negativity constraints x(u, e) ≥ 0. For every edge e = {u, v} ∈ E, the inequality x(u, e) + (n e − 1)δ + x(v, e) ≤ 1. For all u, v ∈ W with u = v, the inequality d(u, v) ≥ δ. For all w ∈ W and e = {u, v} ∈ E, the inequality x(u, e) + d(u, w) ≥ δ. For all e = {u, v} ∈ E and e ′ = {u ′ , v ′ } ∈ E, the inequality x(u, e)+d(u, u ′ )+x(u ′ , e ′ ) ≥ δ. These inequalities enforce that on every edge the variables properly work together, and that the underlying point set indeed is δ-dispersed. For verifying the certificate, we simply check in polynomial time whether the resulting linear program has a feasible solution, and whether |W | + e∈E n e ≥ k holds. This section derives a polynomial time algorithm for computing the 2-dispersion number of a graph. This algorithm is heavily based on tools from matching theory, as for instance developed in the book by Lovász & Plummer [13]. As usual, the size of a maximum cardinality matching in graph G is denoted by ν(G).
Proof. The midpoints of the edges in every matching form a 2-dispersed set. ◭ A 2-dispersed set is in canonical form, if it entirely consists of vertices and of midpoints of edges. Recall that by Lemma 2.3 every graph G = (V, E) possesses an optimal 2-dispersed set in canonical form. Throughout this section, we will consider 2-dispersed (but not necessarily optimal) sets S * in canonical form; we always let V * denote the set of vertices in S * , and we let E * denote the set of edges whose midpoints are in S * . Finally, N * ⊆ V denotes the set of vertices in V − V * that have a neighbor in V * . As S * is 2-dispersed, the vertex set V * forms an independent set in G, and the edge set E * forms a matching in G. Furthermore, the vertex set N * separates the vertices in V * from the edges in E * ; in particular, no edge in E * covers any vertex in N * . We start with two technical lemmas that will be useful in later arguments. Proof. Let M ⊆ E denote a perfect matching in G, and for every vertex v ∈ V let e(v) denote its incident edge in matching M . Consider the vertex set V * and the edge set E * that correspond to set S * . Then E * together with the edges e(v) with v ∈ V * forms another matching M ′ of cardinality A graph G is factor-critical [13], if for every vertex x ∈ V there exists a matching that covers all vertices except x. A near-perfect matching in a graph covers all vertices in V except one. Note that the statement in the following lemma cannot be extended to graphs that consist of a single vertex. Proof. Without loss of generality we assume that S * is in canonical form, and we let V * and E * denote the underlying vertex set and edge set, respectively. If V * is empty, we have |S * | = |E * | ≤ ν(G) since E * is a matching. If V * is non-empty, then also N * is nonempty (here we use the condition |V | ≥ 3) and we pick some vertex x ∈ N * . We consider a near-perfect matching M that covers all vertices except x, and we let e(v) denote the edge incident to v ∈ V in matching M . Then E * together with the edges e(v) with v ∈ V * forms another matching M ′ of cardinality |E * | + |V * | = |S * | in G. The claim follows from |S * | = |M ′ | ≤ ν(G). ◭ The following theorem goes back to Edmonds [5] and Gallai [7, 8]; see also Lovász & Plummer [13]. Figure 2 gives an illustration.
The Edmonds-Gallai decomposition has the following properties: Set X is the union of the odd-sized components of G−Y ; every such odd-sized component is factor-critical. Set Z is the union of the even-sized components of G − Y . Every maximum matching in G induces a perfect matching on every (even-sized) component of Z and a near-perfect matching on every (odd-sized) component of X. Furthermore, the matching matches the vertices in Y to vertices that belong to |Y | different components of X. ◭ We further subdivide the set X in the Edmonds-Gallai decomposition into two parts: Set X 1 contains the vertices of X that belong to components of size 1, and set X ≥3 contains the vertices that belong to (odd-sized) components of size at least 3. The vicinity vic(v) of a vertex v ∈ V consists of vertex v itself and of the midpoints of all edges incident to v. ◮ Lemma 4.5. There exists an optimal 2-dispersed set S * in canonical form (with underlying edge set E * ) that additionally satisfies the following three properties. P1. In every component of X ≥3 , the set E * induces a near-perfect matching. P2. For every vertex y ∈ Y , the set vic(y) ∩ S * is either empty or consists of the midpoint of some edge between X and Y . P3. In every component of Z, the set E * induces a perfect matching.
Proof. We start from an arbitrary optimal 2-dispersed set S * (in canonical form, with corresponding sets V * and E * ) and transform it in two steps into an optimal 2-dispersed set of the desired form.
In the first transformation step, we exploit a matching M between sets Y and X that matches every vertex y ∈ Y to some vertex M (y), so that for y 1 = y 2 the vertices M (y 1 ) and M (y 2 ) belong to different components of X; see Theorem 4.4. A vertex y ∈ Y is called blocked, if it is adjacent to some x ∈ X 1 ∩ S * . As for a blocked vertex the set vic(y) ∩ S * is already empty (and hence already satisfies property P2), we will not touch it at the moment. We transform S * in the following way.
For every non-blocked vertex y ∈ Y , the set vic(y) ∩ S * contains at most one point. We remove this point from S * , and we insert instead the midpoint of the edge between y and M (y) into S * . These operations cannot decrease the size of S * . Every (odd-sized) component C of X ≥3 contains at most one point M (y) with y ∈ Y . We compute a near-perfect matching M C for C that misses this vertex M (y) (and if no such vertex is in C, matching M C misses an arbitrary vertex of C). We remove all points in C from S * , and we insert instead the midpoints of the edges in M C . As by Lemma 4.3 we remove at most ν(C) points and as we insert exactly ν(C) points, these operations will not decrease the size of S * . The resulting set S * is of course again in canonical form, and it is also easy to see that S * is still 2-dispersed. Furthermore, S * now satisfies properties P1 and P2.
In the second transformation step, we note that the current S * does neither contain vertices from Y nor midpoints of edges between Y and Z. For every (even-sized) component C of Z, we compute a perfect matching M C . We remove all points in C from S * , and we insert instead the midpoints of the edges in M C . As by Lemma 4.3 we remove at most ν(C) points and as we insert exactly ν(C) points, these operations will not decrease the size of S * . The resulting set S * is 2-dispersed and satisfies properties P1, P2, and P3. ◭ The optimal 2-dispersed sets in Lemma 4.5 are strongly structured and fairly easy to understand: The perfect matchings in set Z contribute exactly |Z|/2 points to S * . Every (odd-sized) component C in X ≥3 contributes exactly (|C| − 1)/2 points to S * . The only remaining open decisions concern the points in X 1 and the midpoints of the edges {y, M (y)} for y ∈ Y . So let us consider the set T := S * ∩ X 1 , and let Γ(T ) ⊂ Y denote the vertices in Y that are adjacent to some vertex in T . Then every vertex y in Y − Γ(T ) contributes the midpoint of {y, M (y)} to S * , and every vertex x ∈ T contributes itself to S * .
Hence the remaining optimization problem boils down to finding a subset T ⊆ X 1 that maximizes the function value f (T ) := |Y − Γ(T )| + |T |, which is equivalent to minimizing the function value The set function g(T ) in (5) is a submodular function, as it satisfies g(A)+g(B) ≥ g(A∪B)+ g(A ∩ B) for all A, B ⊆ X 1 ; see for instance Grötschel, Lovász & Schrijver [12]. Therefore, the minimum value of g(T ) can be determined in polynomial time by the ellipsoid method [12], or by Cunningham's combinatorial algorithm [4]. We also describe another way of minimizing the function g(T ) in polynomial time, that avoids the heavy machinery of submodular optimization and that formulates the problem as a minimum s-t-cut computation in a weighted directed auxiliary graph. The auxiliary graph is defined as follows.
Its vertex set contains a source s and a sink t, together with all the vertices in X 1 and all the vertices in Y .
For every x ∈ X 1 , there is an arc (s, x) of weight w(s, x) = 1 from the source to x. For every y ∈ Y , there is an arc (y, t) of weight w(y, t) = 1 from y to the sink. Whenever the vertices x ∈ X 1 and y ∈ Y are adjacent in the original graph G, the auxiliary graph contains the arc (x, y) of weight w(x, y) = +∞. Now let us consider some s-t-cut of finite weight, which is induced by some vertex set U in the auxiliary graph with s ∈ U and t / ∈ U . As all arcs from set X 1 to set Y have infinite weights, whenever U contains some vertex x ∈ X 1 then U must also contain all the neighbors of x in Y . By setting T := X 1 ∩ U , we get that the value of the cut equals |X 1 − T | + |Γ(T )|; hence the minimizer for (5) can be read off the minimizing cut in the auxiliary graph.
We finally summarize all our insights and formulate the main result of this section.
◮ Theorem 4.6. The 2-dispersion number of a graph G can be computed in polynomial time. ◭

5
The polynomially solvable cases Theorem 4.6 and Lemma 2.2 together imply that for every rational number δ = a/b with numerator a ≤ 2, the δ-dispersion number of a graph can be computed in polynomial time. We now present some results that provide additional structural insights into these cases. The cases where the numerator is a = 1 are structurally trivial, and the value of the corresponding δ-dispersion number can be written down with the sole knowledge of |V | and |E|. It remains to show that there are no δ-dispersed sets of larger cardinality. If G is a tree, we root it at an arbitrary vertex so that it becomes an out-tree. We partition P (G) into |E| + 1 regions: One region consists of the root, and all other regions consist of the interior points on some edge together with the source vertex of that edge. A δ-dispersed set contains at most b points from every edge-region and at most one point from the root region. If G is not a tree, we similarly partition P (G) into |E| regions: Every region either consists of the interior points of some edge, or of the interior points of an edge together with one of its incident vertices. A δ-dispersed set contains at most b points from every such region. ◭ The following lemma derives an explicit (and very simple) connection between the 2dispersion number and the (2/b)-dispersion number (with odd denominator b) of a graph. The lemma also implies directly that for every odd b, the computation of (2/b)-dispersion numbers is polynomial time equivalent to the computation of 2-dispersion numbers.
Proof. We first show that δ-Disp(G) ≥ 2-Disp(G) + z|E|. Indeed, let S 2 denote an optimal 2-dispersed set for G. By Lemma 2.3 we assume that S 2 is in canonical form and hence entirely consists of vertices and of midpoints of edges. We partition the edge set E into three parts: Part E 1 contains the edges, for which one end vertex is in S 2 . Part E 1/2 contains the edges whose midpoint lies in S 2 . Part E 0 contains the remaining edges (which hence are disjoint from S 2 ). We construct a point set S δ ⊂ P (G) as follows: For every edge {u, v} ∈ E 1 with u ∈ S 2 , we put point u together with the z points p(u, v, iδ) with i = 1, . . . , z into S δ . For every edge {u, v} ∈ E 1/2 , we put the z + 1 points p(u, v, (4i − 3)δ/4) with i = 1, . . . , z + 1 into S δ . For every {u, v} ∈ E 0 , we put the z points p(u, v, (4i − 1)δ/4) with i = 1, . . . , z into S δ . It is easily verified that the resulting set S δ is δ-dispersed and contains |S 2 | + z|E| points.
Next, we show that δ-Disp(G) ≤ 2-Disp(G) + z|E|. Let S δ denote an optimal δ-dispersed set for G. By Lemma 2.3 we assume that for every point p (u, v, λ) in S δ , the denominator of the rational number λ is 2(2z + 1). Our first goal is to bring the points in S δ into a particularly simple constellation.
As long as there exist edges e = {u, v} ∈ E with u, v ∈ S δ , we remove all points on e from S δ and replace them by the z + 1 points p(u, v, (4i − 3)δ/4) with i = 1, . . . , z + 1.
Next, for every edge e = {u, v} ∈ E with u ∈ S δ and v / ∈ S δ , we remove all points on e from S δ and replace them by the z + 1 points p(u, v, iδ) with i = 1, . . . , z. Finally, for every edge e = {u, v} ∈ E with u, v / ∈ S δ we remove all points on e from S δ and replace them by the z points p(u, v, (4i − 1)δ/4) with i = 1, . . . , z. It can be seen that these transformations do not decrease the cardinality of S δ , and that the resulting set is still δ-dispersed. Finally, we construct the following set S 2 from S δ : First, S 2 contains all points in V ∩S δ , Secondly, whenever S δ contains z + 1 points from the interior of some edge e ∈ E, then we put the midpoint of e into S 2 . It can be shown that the resulting set S 2 is 2-dispersed and has the desired cardinality. ◭