In our algorithm for capacitated domination problem for splittable model, we will also perform a greedy approach. That is, in each iteration the algorithm chooses the vertex of the most efficiency fromV , where the efficiency is defined as in the previous section. In addition, we will take care of the following two cases. First, if the demand assignment indicated by the vertex of the most efficiency is unable to satisfy the residue demand of a single vertex, we will replace the demand assignment by the following: If the vertex of the most efficiency isu, we will assign c(u)·j
rd(vu,1)
See Figure 4.2 and Figure 4.3 as an example. One can easily see that this replaced demand assignment has the same efficiency. The reason we replace the demand assignment is because of the analysis of approximation radio which will be explained in details in the next section.
Second, in each iteration after we assign demand to the vertex of the most efficiency,
d=25 c=10
Figure 4.2: The demand assignment to be replaced
d=25 c=10
Figure 4.3: The demand assignment to replace
we will search for the whole graph. If there exists a vertexu whose residue demand is below half of its original demand, i.e.,0 < rd(u) < 12 · d(u), the algorithm immediately doubles the demand assignment ofu to the set of vertices partially serving u. To do this, during the algorithm we will maintain for each vertexu∈ V a set of vertices, denoted by map(u), which consists of vertices that have been assigned partial demand of u before u is completely satisfied. That is, for eachv ∈ map(u) we have a non-zero demand assign-ment ofu to v. Note that in this way, we can completely satisfy the demand of u. The rea-son is that sinceu’s residue demand is below half of its original demand the assignment in map(u) must have assigned at least half of u’s demand, i.e.,P
v∈map(u)f (u, v) > 12·d(u), doubling the assignment inmap(u) will certainly completely satisfy the residue demand ofu . A high-level description of this algorithm is presented in Figure 4.4 and Figure 4.5 shows a solution computed by our algorithm.
4.4 Analysis
In this section we will analyze the approximation ratio and the time complexity of our algorithm. The modified algorithm provides us some good properties to achieve the afore-mentioned approximation ratio. Together with the processing of the two cases afore-mentioned above, we have the following observation.
Observation 1. After each iteration, the residue demand of each unsatisfied vertex is at least half of its original demand.
Clearly, the observation holds in the beginning when the demand of each vertex is not yet assigned. For later stages, we argue that the algorithm properly maintainsmap so that in our second greedy choice, whenever there exists a vertexu for which 0 < rd(u) <
1
2 · d(u), it’s always sufficient to double the demand assignment f(u, v) of u to v for each v ∈ map(u). If map(u) is only modified under the condition 0 < jv <|Nud[v]|, (line 12 in Figure 4.4), thenmap(u) contains exactly the set of vertices that have partially served u. As mentioned above, since rd(u) < 12 · d(u), it’s sufficient to double the demand
assignment in this case sod(u) is completely satisfied. If map(u) is reassigned through the conditionjv = 0 for some stage, then we have c(v) < rd(u)≤ d(u). Since we assign this amountc(v)· brd(u)/c(v)c of residue demand of u to v, this leaves at most half of the original residue demand andu will be satisfied by doubling this assignment.
The second useful observation is thatnj − nj+1≥ 12, which means the decrease ofnj
is at least a half. This will play a central role in bounding the overall cost.
Observation 2. We havenj − nj+1 ≥ 12 for each1≤ j ≤ m.
Proof. For iterationj, 1≤ j ≤ m, let u be the vertex of the maximum efficiency. Observe thatvu,1will be satisfied after this iteration. By Observation 1, we haverd(vu,1)/d(vu,1) >
1
2. The lemma follows.
To see that the solution achieves the desired approximation guarantee, let’s consider the cost taken by our algorithm which consists of the cost incurred by picking the vertex of the most efficiency replaced by the first case if necessary and the cost incurred by doubling the demand assignment inmap(u) if needed. Let the former part be S1 and the latter part beS2. The important point to note is thatS2 is bounded above byS1, for what we do is merely to satisfy the residue demand of a vertex, if there exists one, by doubling its previous demand assignment, which is incurred by some vertex of the most efficiency in some iteration.
Now we can start to develop a lemma similar to Lemma 3. For each iterationj, let uj
be the vertex of the maximum efficiency andOP Tj be the cost of the optimal solution for the remaining problem instance. Recall thatnj =P
u∈V rd(u)/d(u). Let S1,j be the cost incurred by the vertex of most efficiency in iterationj. Assume that the algorithm repeats form iterations. We have the following lemma.
Lemma 6. For eachj, 1 ≤ j ≤ m, we have S1,j ≤ nj−nnjj+1 · OP Tj, wherenj − nj+1is the effectiveness covered byuj in iterationj.
Proof. This proof is similar to the proof in Lemma 3. The optimality of our choice in each iteration is obvious since we assume that the elements of Nud[u] are sorted according
to their original demands. Note that only in the case c(u) < rd(vu,1), the algorithm could possibly take more than one copy. In this case the efficiency of our choice remains unchanged since the cost and the effectiveness covered by u grows by the same factor.
Therefore the efficiency of our choice,(nj− nj+1)/S1,j, is always no less than that of the optimal solution, which isnj/OP Tj, and the lemma follows.
By Lemma 6 we havePm
Proof. Note that by Observation 1 and Observation 2, we havenj > 1 for all j < m. We will argue that this series together constitutes at most two harmonic series. By expanding the summand we havednj− nj+1e / bnjc ≤ the repetitions only occur at the first term and the last term if we expand the summation.
By Observation 2, the decrease ofnj tonj+1 is at least half. Therefore, the termbnjc − dnj − nj+1e + 1 will never occur more than twice in the expansion. We conclude that Pm−1
j=1 dnj − nj+1e / bnjc ≤ 2 ln n
Since S1 ≤ 2(ln n + 1) · OP T and S2 is bounded above by S1, we conclude the analysis in the following theorem.
Lemma 8. Algorithm Split-Log-Approx returns a (4 ln n + 2)-approximation, where n is the number of vertices, for weighted capacitated domination problem with splittable demands.
Regarding time complexity it takes linear time to compute the efficiency of a vertex.
Therefore it takesO(n2) time for each iteration. Since the number of iterations is bounded above by2n, the time complexity of the algorithm is O(n3). We can conclude this section by the following theorem.
Theorem 9. Algorithm Split-Log-Approx computes a(4 ln n + 2)-approximation, where n is the number of vertices, for weighted capacitated domination problem with splittable demands inO(n3) time.
ALGORITHMSplit-Log-Approx
1: rd(u)←− d(u), and map(u) ←− φ for each u ∈ V .
2: while there exist vertices with non-zero residue demand do
3: // Searching for a vertex of the most efficiency
4: Pick a vertex inV with the most efficiency, say u.
5: // Replace the demand assignment if in need
6: ifju equals0 then
17: // doubling assignment if in need
18: if there is a vertexu with 0 < rd(u) < 12 · d(u) then
19: Satisfyu by doubling the demand assignment of u to vertices in map(u).
20: end if
21: end while
22: compute from the assignment the cost of the dominating set, and return the result.
Figure 4.4: The pseudo-code for the weighted splittable demand model.
d=40 c=30 w=1
d=10 c=1 w=100
d=15 c=1 w=100
d=15 c=1 w=100
d=20 c=1 w=100
Cost = 1 ∗ 4 + 10 ∗ 1 = 14
d=10 c=20 w=10
10
15
15 20
10 40 You can see it’s not an optimal
solution
Figure 4.5: A feasible solution computed by our algorithm in splittable model.
Chapter 5
Unweighted Splittable Demand
In this chapter, we consider the unweighted capacitated domination problem with split-table demand and present a (2 ln n + 1)-approximation. In this special variation, the weightw(v) of each vertex v ∈ V is considered to be uniform and the cost of the ca-pacitated domination multisetD corresponds to the total multiplicity of the vertices in D. First we perform a preprocessing to reduce the demand of each vertex. Second we slightly modify the algorithm to achieve the guarantee ofO(2 ln n + 1).