8.2 Approximation Algorithms 105
an asymptotic FPTAS. In Section 8.3 and Chapter 12 we will discuss lower
bounds for worst-case approximation ratios of polynomial-time algorithms.
Two results for traveling salesperson problems should be briefly men-
tioned. For
Min-TSP
a worst-case approximation ratio of 3/2 can be guar-
anteed by a polynomial-time algorithm (see Hromkoviˇc (1997)), and for
Min-TSP
d-Euclid
there is even a PTAS (Arora (1997)). For Min-VertexCover
and Max-IndependentSet there is also a PTAS if we require that the graphs
be planar (Korte and Schrader (1981)).
We will demonstrate the construction of a PTAS using as an example a
simple scheduling problem for which even an FPTAS is known. The problem
consists of scheduling n tasks on two processors in such a way that the maximal
load of the processors is minimized. The processors are identical and require
time a
i
for the ith task. The basic idea is that the most important thing is
to schedule the “large tasks” (those for which a
i
is large) well, and that there
cannot be all that many large tasks. Let ε>0 be given and let L := a
1
+···+a
n
be the total time required for the n tasks. A task will be considered large if
it requires time at least εL. Then the number of large tasks is bounded by
the constant 1/ε and there are “only” at most c := 2
1/ε
distributions of
these large tasks between the two processors. For each of these c distributions
the remaining tasks are scheduled “greedily”, that is each task is assigned
to the processor with the lightest load. From among the at most c solutions
that result, the best one is chosen. The required computation time of O(nc)
is linear for a constant ε, but it is not a polynomial in n and 1/ε.Wenow
compare the maximal load in an optimal solution with the maximal load from
the approximation algorithm. The optimal solution also distributes the large
tasks between the two processors, and we consider the attempted solution of
the approximation algorithm that begins by distributing the large tasks in
exactly the same way. If all the smaller tasks can be handled by the processor
with the lesser load after assigning the large tasks without increasing its load
beyond the load of the other processor, then the approximation algorithm
provides an optimal solution. Otherwise, the greedy algorithm ensures that
the load of the two processors differs by at most εL. Thus the larger load is at
most εL/2 larger than the load of both processors if they are equally loaded.
If the loads are equally distributed, the load for each processor is L/2. For an
instance x, v
opt
(x) ≥ L/2andv(x, s) ≤ L/2+εL/2 = (1 + ε)L/2. Thus the
solution is ε-optimal and we have designed a PTAS.
Finally, we want to discuss the ideas for an FPTAS for
Max-Knapsack
(see also Hromkoviˇc (1997)). In the proof of Theorem 7.2.3 we presented a
pseudo-polynomial time algorithm for
Knapsack using the method of dynamic
programming. This algorithm was polynomially time-bounded in the case that
the weights were polynomially bounded. In a similar fashion it is possible to
design a pseudo-polynomial time algorithm that is polynomially time-bounded
for polynomially bounded utility values and arbitrary weights. Now consider
an arbitrary instance x of
Max-Knapsack. We can assume that w
i
≤ W
for each object i. If we alter the utility values, we do not change the set of