aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
aktuelle Version des Vorlesungsskripts - ZIB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5 Bäume und Wege<br />
heißt (allgemeines) Rucksack-Problem oder Rucksackproblem.<br />
(b) Fordern wir zusätzlich, dass xj ∈ {0, 1}, j = 1, . . . , n gilt, so heißt (KP) binäres<br />
Rucksack-Problem oder 0/1-Rucksack-Problem. △<br />
Zu dem (so simpel erscheinenden) Rucksackproblem gibt es eine außerordentlich umfangreiche<br />
Literatur. Wir erwähnen hier nur zwei Bücher. Der „Klassiker“ zum Thema<br />
ist Martello and Toth (1990), seine „Fortsetzung“ Kellerer et al. (2004). Dieses Buch mit<br />
546 Seiten enthält so gut wie alles, was man über das Rucksack-Problem wissen will.<br />
Wir untersuchen zwei <strong>Version</strong>en <strong>des</strong> Greedy-Algorithmus für das Rucksack-Problem.<br />
(5.36) Zwei Greedy-Algorithmen für das allgemeine bzw. binäre Rucksack-<br />
Problem.<br />
Eingabe: cj, aj ∈ N, j = 1, . . . , n und b ∈ N.<br />
Ausgabe: Eine zulässige (approximative) Lösung für (KP) bzw. das binäre Rucksackproblem.<br />
1. Zielfunktionsgreedy: Ordne die Indizes, so dass c1 ≥ c2 ≥ . . . ≥ cn gilt.<br />
1’. Gewichtsdichtengreedy: Berechne die Gewichtsdichten ρj := cj/aj, j = 1, 2, . . . , n,<br />
und ordne die Indizes so dass ρ1 ≥ ρ2 ≥ . . . ≥ ρn gilt.<br />
2. DO j = 1 TO n:<br />
allgemeiner Rucksack:<br />
Setze xj := ⌊b/aj⌋ und b := b − ⌊b/aj⌋.<br />
0/1-Rucksack:<br />
Falls aj > b, setze xj := 0.<br />
Falls aj ≤ b, setze xj := 1 und b := b − aj.<br />
END. △<br />
Die Laufzeit der in (5.36) beschriebenen Algorithmen ist offensichtlich O(n log(n)),<br />
wobei das Sortieren die Hauptarbeit erfordert.<br />
Wir nennen einen Algorithmus A ɛ-approximativ, 0 < ɛ ≤ 1, falls er für je<strong>des</strong> Problembeispiel<br />
I eines Maximierungsproblems einen Wert cA(I) liefert, der min<strong>des</strong>tens einen<br />
ɛ-Anteil <strong>des</strong> Optimalwerts copt(I) von I beträgt, in Formeln, falls<br />
cA(I) ≥ ɛcopt(I). (5.37)<br />
(5.38) Bemerkung. Der Zielfunktionsgreedy kann für das allgemeine und auch für<br />
das binäre Rucksack-Problem beliebig schlechte Lösungen liefern, d. h. es gibt kein ɛ,<br />
0 < ɛ ≤ 1, sodass dieser Greedy-Algorithmus ɛ-approximativ ist. △<br />
110