aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5.5 Exkurs: Greedy-Heuristiken für das Rucksackproblem und deren Analyse<br />
Beweis. (a) Allgemeines Rucksack-Problem. Wir betrachten das folgende Beispiel mit<br />
α ∈ Z, α ≥ 2:<br />
max αx1 + (α − 1)x2<br />
αx1 + x2 ≤ α<br />
x1, x2 ∈ Z+<br />
Offenbar gilt cgreedy = α und der Wert der Optimallösung ist copt = α(α − 1). Aus<br />
der Forderung cgreedy ≥ ɛcopt folgt dann ɛ ≤ 1/(α − 1); da wir α beliebig wählen<br />
können, kann es kein festes ɛ > 0 mit cgreedy ≥ ɛcopt geben.<br />
(b) 0/1-Rucksack-Problem. Wir betrachten für n ∈ Z, n ≥ 2:<br />
max nx1 + (n − 1)x2 + · · · + (n − 1)xn<br />
nx1 + x2 + · · · + xn ≤ n<br />
xj ∈ {0, 1}.<br />
Trivialerweise gilt cgreedy = n und copt = n(n − 1), und wir können mit demselben<br />
Argument wie oben sehen, dass der Zielfunktionsgreedy nicht ɛ-approximativ ist. ✷<br />
(5.39) Satz. Der Gewichtsdichten-Greedyalgorithmus ist für das allgemeine Rucksackproblem<br />
ein 1/2-approximativer Algorithmus. △<br />
Beweis. O. B. d. A. können wir annehmen, dass ρ1 ≥ ρ2 ≥ . . . ≥ ρn und a1 ≤ b gilt.<br />
Es gilt offensichtlich für den Zielfunktionswert cGgreedy <strong>des</strong> Gewichtsdichten-Greedyalgorithmus<br />
cGgreedy ≥ c1x1 = c1⌊b/a1⌋,<br />
und ebenso<br />
und somit<br />
copt ≤ c1b/a1 ≤ c1(⌊b/a1⌋ + 1) ≤ 2c1⌊b/a1⌋ ≤ 2cGgreedy<br />
cGgreedy ≥ 1<br />
2 copt.<br />
Wir zeigen nun, dass diese Schranke tatsächlich asymptotisch angenommen wird. Dazu<br />
betrachten wir das folgende Rucksackproblem:<br />
max 2αx1 + 2(α − 1)x2<br />
αx1 + (α − 1)x2 ≤ 2(α − 1)<br />
x1, x2 ∈ Z+<br />
Offensichtlich gilt ρ1 ≥ ρ2, cGgreedy = 2α, copt = 4(α − 1) und somit<br />
cGgreedy<br />
copt<br />
=<br />
2α 1<br />
→<br />
4(α − 1) 2 .<br />
✷<br />
111