• Keine Ergebnisse gefunden

Effiziente Algorithmen (SS2015) Kapitel 5 Approximation II Walter Unger

N/A
N/A
Protected

Academic year: 2022

Aktie "Effiziente Algorithmen (SS2015) Kapitel 5 Approximation II Walter Unger"

Copied!
195
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)Effiziente Algorithmen (SS2015) Kapitel 5 Approximation II. Walter Unger Lehrstuhl für Informatik 1. 12.06.2015 07:59.

(2) Set Cover 5. Scheduling. Inhaltsverzeichnis. Bin Packing <. Approximationsschema. > Walter Unger 15.7.2015 11:13. Inhalt I 1. Set Cover Einleitung Approximation Güte der Abschätzung. 2. Scheduling Einleitung Heuristik LL Heuristik LPT. 3. Bin Packing Einleitung Algorithmus. 4. Approximationsschema Einleitung Schema Beispiel zur Skalierung Beweise Das Orakel. 5. Allgemeine Maschinen Einleitung ILP Algorithmus Allokationsgraph. 6. APX Aussagen. Z. Allgemeine Maschinen SS2015. APX.

(3) Set Cover 5:1. Scheduling. Bin Packing <. Einleitung. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Definition Definition (Set-Cover-Problem) Grundmenge X mit n Elementen. m Teilmengen S1 , S2 , . . . , Sm mit ∪i∈{1,2,...,m} Si = X . Für jede Menge Si einen Kostenwert ci ∈ Q. Gesucht ist: A ⊆ {1, 2, . . . , m} mit ∪i∈A Si = X und cost(A) = ∑i∈A ci ist minimal. Grundmenge soll also kostengünstig überdeckt werden. Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeiten hat. Entspricht dem Vertex-Cover-Problem auf Hypergraphen (Hitting-Set-Problem).. Z. Allgemeine Maschinen. APX.

(4) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 1∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(5) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 2∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(6) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 3∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(7) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 4∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(8) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 5∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(9) Set Cover 5:2. Einleitung. Scheduling. Bin Packing <. 6∕6. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel (Kosten: 5) s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(10) Set Cover 5:3. Einleitung. Scheduling. Bin Packing <. 1∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel nochmal s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(11) Set Cover 5:3. Einleitung. Scheduling. Bin Packing <. 2∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel nochmal s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(12) Set Cover 5:3. Einleitung. Scheduling. Bin Packing <. 3∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel nochmal s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(13) Set Cover 5:3. Einleitung. Scheduling. Bin Packing <. 4∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel nochmal (Kosten: 3) s2. S8 :. s4. s8 s7. S7 : s4. S6 : s2. S5 : S4 :. s5. s1. s5 s2. S3 :. s7. s4. S2 :. s1. s3. S1 :. s1. s3. s4. X ∶. s1. s3. s4. s2. s9 s8. s7 s6. s7. s5 s6. s5. s6. s9. s7. s8. Z. Allgemeine Maschinen. s9. SS2015. APX.

(14) Set Cover 5:4. Einleitung. Scheduling. Bin Packing. Approximationsschema. <. 1∕5. > Walter Unger 15.7.2015 11:13. Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d. s4. e: s3. d:. s5. s6. s7. s4. c s2. c: e. b. a. Σ=0. b:. s1. a:. s1. E ∶. ab. s3. s7. s2. s6 s5. bc. cd. de. ea. eb. Z. Allgemeine Maschinen. ec. SS2015. APX.

(15) Set Cover 5:4. Einleitung. Scheduling. Bin Packing. Approximationsschema. <. 2∕5. > Walter Unger 15.7.2015 11:13. Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d. s4. e: s3. d:. s5. s6. s7. s4. c s2. c: e. b. a. Σ=0. b:. s1. a:. s1. E ∶. ab. s3. s7. s2. s6 s5. bc. cd. de. ea. eb. Z. Allgemeine Maschinen. ec. SS2015. APX.

(16) Set Cover 5:4. Einleitung. Scheduling. Bin Packing. Approximationsschema. <. 3∕5. > Walter Unger 15.7.2015 11:13. Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d. s4. e: s3. d:. s5. s6. s7. s4. c s2. c: e. b. a. Σ=0. b:. s1. a:. s1. E ∶. ab. s3. s7. s2. s6 s5. bc. cd. de. ea. eb. Z. Allgemeine Maschinen. ec. SS2015. APX.

(17) Set Cover 5:4. Einleitung. Scheduling. Bin Packing. Approximationsschema. <. 4∕5. > Walter Unger 15.7.2015 11:13. Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d. s4. e: s3. d:. s5. s6. s7. s4. c s2. c: e. b. a. Σ=0. b:. s1. a:. s1. E ∶. ab. s3. s7. s2. s6 s5. bc. cd. de. ea. eb. Z. Allgemeine Maschinen. ec. SS2015. APX.

(18) Set Cover 5:4. Einleitung. Scheduling. Bin Packing. Approximationsschema. <. 5∕5. > Walter Unger 15.7.2015 11:13. Komplexität Theorem Die Entscheidungsvariante vom Set-Cover-Problem ist in N PC. Beweis: Einfache Reduktion vom Vertex-Cover-Problem: d. s4. e: s3. d:. s5. s6. s7. s4. c s2. c: e. b. a. Σ=0. b:. s1. a:. s1. E ∶. ab. s3. s7. s2. s6 s5. bc. cd. de. ea. eb. Z. Allgemeine Maschinen. ec. SS2015. APX.

(19) Set Cover 5:5. Approximation. Scheduling. Bin Packing <. Idee zum Set-Cover-Problem. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Das Set-Cover-Problem ist, wie man sieht, eine Verallgemeinerung des VertexCover Problems. Diesmal gibt es aber kein hilfreiches Analogon zu einem Matching. Daher versuchen wir einen Greedy-Ansatz. Wir werden dabei nur einen Approximationsfaktor von Hn (n-te Harmonische Zahl) erreichen. Aber das ist auch das Beste, was man für das Set-Cover-Problem erreichen kann. Bei dem Greedy-Verfahren wählt man die Menge, die möglichst geringe Kosten pro neu überdecktes Element hat. Eine möglichst schlechte Eingabe für dieses Greedy-Verfahren erhält man, indem man für jedes Element der Grundmenge eine einelementige Überdeckungsmenge wählt und eine Überdeckungsmenge, die gleich der Grundmenge ist. Die einelementigen Überdeckungsmengen haben die folgenden Kosten 1/n, 1/(n − 1), 1/(n − 1), . . . , 1/3, 1/2, 1. Die vollständige Überdeckungsmenge hat Kosten > 1. Damit werden vom Greedy-Verfahren alle einelementigen Überdeckungsmengen gewählt.. APX.

(20) Set Cover 5:6. Scheduling. Bin Packing <. Approximation. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Aufbau der Idee Das Set-Cover-Problem hat wenig Struktur, die man nutzen könnte. Einzige Idee: versuche viele Elemente kostengünstig abzudecken. Oder: versuche die Kosten pro Element klein zu halten. Also werden wir einen Greedy-Algorithmus entwickeln. Auswahl der Menge Si über: Kosten von Si Anzahl der von Si neu überdeckten Elemente Wähle Menge Si , wo obiger Ausdrucke minimal ist.. Z. Allgemeine Maschinen. APX.

(21) Set Cover 5:7. Scheduling. Bin Packing <. Approximation. Approximationsschema. > Walter Unger 15.7.2015 11:13. Greedy-Algorithmus 1. Eingabe X , S1 , S2 , . . . Sm .. 2. Setze A = ∅.. 3. Solange ∪j∈A Sj =/ X wiederhole: 1. Bestimme für alle i ∈ {1, 2, ⋯, m} ∖ A: rA (i) =. 2 3. Wähle i mit rA (i) minimal. Setze A = A ∪ {i}.. ci . ∣Si ∖ ∪j∈A Sj ∣. Z. Allgemeine Maschinen SS2015. APX.

(22) Set Cover 5:8. Scheduling. Approximation. Bin Packing <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Analyse Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, die durch Si neu überdeckt werden. D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wert zugeordnet: ci = rA (i) ∣Si ∖ ∪j∈A Sj ∣ Nun betrachten wir einzeln die hinzugefügten Elemente. Sei also für k ∈ {1, 2, ⋯, n} xk das k-te Element. Seien weiter c(xk ) die relativen Kosten, die xk zugeordnet worden sind. Lemma Für k ∈ {1, 2, ⋯, n} gilt c(xk ) ≤ opt/(n − k + 1), wobei opt die Kosten eines optimalen Set-Covers sind.. APX.

(23) Set Cover 5:9. Scheduling. Bin Packing <. Approximation. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beweis. APX. c(xk ) ≤ opt/(n − k + 1). Sei A die Auswahl, die vorher gewählt wurde. Sei weiter i ∈ {1, 2, ⋯, n} der Index der Menge Si , die xk erstmalig abdeckt. Nun schätzen wir opt ab: Für j ∈ {1, 2, ⋯, n} ∖ A gilt: rA (j) ≥ rA (i). Setze: X ′ = X ∖ ∪j∈A Sj , d.h. X ′ ist noch nicht abgedeckt. Kein Element j ∈ X ′ kann mit relativen Kosten kleiner als rA (i) abgedeckt werden. Damit ist die Summe der relativen Kosten von X ′ mindestens: (n − k + 1) ⋅ rA (i). Jede mögliche Auswahl, die X ′ abdeckt, hat damit Kosten von mindestens: (n − k + 1) ⋅ rA (i). Damit gilt: opt ≥ (n − k + 1) ⋅ rA (i) = (n − k + 1) ⋅ c(xk ) und c(xk ) ≤ opt/(n − k + 1)..

(24) Set Cover 5:10. Scheduling. Bin Packing. Approximationsschema. <. Approximation. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Güte der Approximation. APX. c(xk ) ≤ opt/(n − k + 1). Theorem Der Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn . Hn ist die n-te Harmonische Zahl. Hn = ∑ni=1 1i . Es gilt: log(n + 1) ≤ Hn ≤ log n + 1. Beweis des Theorems: Bilde Summe über alle Elemente. Nutze obiges Lemma: n. ∑ i=1. n opt opt =∑ = opt ⋅ Hn . n − i + 1 i=1 i.

(25) Set Cover 5:11. Scheduling. Bin Packing <. Güte der Abschätzung. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Frage: wie gut ist die Abschätzung Suche ein schlechtes Beispiel für obigen Algorithmus. Erinnerung: rA (i) = ∣Si ∖∪ci Sj ∣ . j∈A. Fehler soll möglichst groß sein: Greedy Lösung: A = {1, 2, . . . , m − 1} Optimale Lösung opt = {m} Daher Sm = {1, 2, . . . , n} und Si = {i} für 1 ≤ i ≤ n (m = n + 1). Nun sind noch die Kosten zu wählen: Setze cm = 1. 1 Damit gilt: r∅ (m) = ∣Si ∖∪1 Si ∣ = ∣{1,2,...,n}∣ = n1 . i∈A. Damit der Algorithmus S1 wählt, muss gelten: r∅ (1) < n1 . 1 1 Damit gilt: r{1} (m) = ∣Si ∖∪1 Si ∣ = ∣{2,3,...,n}∣ = n−1 . i∈A. Damit der Algorithmus S2 wählt, muss gelten: r{1} (2) < 1 1 Damit gilt: r{1,2} (m) = ∣Si ∖∪1 Si ∣ = ∣{3,4,...,n}∣ = n−2 .. Z. Allgemeine Maschinen. 1 . n−1. i∈A. Damit der Algorithmus S3 wählt, muss gelten: r{1,2} (3) < Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.. 1 . n−2. APX.

(26) Set Cover 5:12. Scheduling. Bin Packing. Approximationsschema. <. Güte der Abschätzung. > Walter Unger 15.7.2015 11:13. SS2015. Frage: wie gut ist die Abschätzung Suche ein schlechtes Beispiel für obigen Algorithmus. Erinnerung: rA (i) =. ci . ∣Si ∖∪j∈A Sj ∣. Fehler soll möglichst groß sein: Greedy Lösung: A = {1, 2, . . . , m − 1} Optimale Lösung opt = {m} Daher Sm = {1, 2, . . . , n} und Si = {i} für 1 ≤ i ≤ n (m = n + 1). Nun sind noch die Kosten zu wählen: Setze cm = 1+ε. Damit gilt: r∅ (m) =. 1 ∣Si ∖∪i∈A Si ∣. 1 ∣{1,2,...,n}∣. =. 1+ε . n. =. Damit der Algorithmus S1 wählt, muss gelten: r∅ (1)≤ n1 . Damit gilt: r{1} (m) =. 1 ∣Si ∖∪i∈A Si ∣. =. 1 ∣{2,3,...,n}∣. =. 1+ε . n−1. 1 Damit der Algorithmus S2 wählt, muss gelten: r{1} (2)≤ n−1 .. Damit gilt: r{1,2} (m) =. 1 ∣Si ∖∪i∈A Si ∣. =. 1 ∣{3,4,...,n}∣. =. Z. Allgemeine Maschinen. 1+ε . n−2. 1 Damit der Algorithmus S3 wählt, muss gelten: r{1,2} (3)≤ n−2 .. APX.

(27) Set Cover 5:13. Scheduling. Bin Packing. Güte der Abschätzung. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. Beispiel zur Abschätzung der Güte Damit erhalten wir das folgende schlechte Beispiel für obigen Algorithmus: X = {1, 2, . . . , n} Sm = {1, 2, . . . , n} mit m = n + 1. Si = {i} für 1 ≤ i ≤ n. Setze cm = 1 + ε. 1 Setze ci = n−i+1 . Damit gilt für dieses Beispiel: Der Greedy Algorithmus wird nacheinander die Mengen S1 , S2 , . . . , Sn wählen. Die optimale Lösung beinhaltet nur Sm .. SS2015. APX.

(28) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 1∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(29) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 2∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(30) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 3∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(31) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 4∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(32) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 5∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(33) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 6∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(34) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 7∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(35) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 8∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(36) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 9∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(37) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 10∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(38) Set Cover 5:14. Scheduling. Güte der Abschätzung. Bin Packing <. 11∕11. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zur Güte rA (i) =. 1 + ε:. ci . ∣Si ∖∪i∈A Si ∣ 1+ε n−∣C ∣. rC (i + 1) = r∅ (1) =. 1/n 1. r1 (2) =. 1/(n−1) 1. r1,2 (3) =. =. 1 n−∣C ∣. + δ.. 1 n−1. =. 1: 3. 1 n−2. =. 1/(n−3) 1. =. ⋮:. 1 n−3. 1 : n−3. r1,2,...,n−3 (n − 2) =. 1/3 1. =. 1 3. r1,2,...,n−2 (n − 1) =. 1/2 1. =. 1 2. r1,2,...,n−1 (n) =. 1: 1: 2. 1 n. 1/(n−2) 1. r1,2,3 (4) =. =. 1 1. =1. 1 : n−2 1 : n−1 1: n. X ∶. Z. Allgemeine Maschinen. .... SS2015. APX.

(39) Set Cover 5:15. Scheduling. Güte der Abschätzung. Bin Packing <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Güte der Approximation Theorem Der Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn . Theorem Es gibt eine Instanz, worauf der Greedy Algorithmus einen Approximationsfaktor von (1 − ε) ⋅ Hn erreicht (für ε > 0). Theorem (Feige 1995) Es gibt keinen Algorithmus mit Approximationsfaktor (1 − ε) ⋅ Hn für das Set-Cover-Problem, es sei denn N P = TIME (nO(log log n) ). Folgerung: Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.. APX.

(40) Set Cover 5:16. Scheduling. Bin Packing <. Einleitung. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. Motivation Verteilung von Aufgaben Aufgaben sind nicht teilbar (ansonsten wäre es zu einfach). Alle Aufgaben sollen möglichst schnell fertig werden. Beispiel Vor einer Party gibt es viele Arbeiten zu machen. Wenn jemand eine Arbeit hat, gibt er sie nicht mehr her. Erst wenn alle Arbeiten erledigt sind, fängt die Party an.. SS2015. APX.

(41) Set Cover 5:17. Scheduling. Bin Packing <. Einleitung. Approximationsschema. > Walter Unger 15.7.2015 11:13. Definition Definition (Scheduling auf identischen Maschinen) Das Makespan Scheduling Problem auf identischen Maschinen: Gegeben: p1 , p2 , . . . , pn ∈ N (d.h. n Jobs der Länge pi ). m ∈ N (d.h. m identische Maschinen). Gesucht: f ∶ {1, 2, . . . , n} ↦ {1, 2, . . . , m}, (d.h. Zuweisung der Jobs auf Maschinen). Mit maxj∈{1,2,...,m} ∑i∈{1,2,...,n}∧f (i)=j pi ist minimal. Die Funktion f gibt den Ablaufplan (Schedule) an. Da die Jobs keine Fertigstellungszeit (Deadline) haben, ist die Abarbeitungsfolge der Jobs auf einer Maschine beliebig. O.B.d.A.: n > m.. Z. Allgemeine Maschinen SS2015. APX.

(42) Set Cover 5:18. Einleitung. Scheduling. Bin Packing <. 1∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Einfaches Beispiel. p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p3 9. p1 3 m1. p2 4 m2. p4 5 m3. p5 5 m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(43) Set Cover 5:18. Einleitung. Scheduling. Bin Packing <. 2∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Einfaches Beispiel. p6 10 p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p7 10 p10 6. p12 7. p1 3 m1. p2 4 m2. p3 9. p4 5 m3. p9 5 p5 5. m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(44) Set Cover 5:18. Einleitung. Scheduling. Bin Packing <. 3∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Einfaches Beispiel. p14 6 p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p8 3 p7 10. p11 5 p10 6. p12 7. p1 3 m1. p6 10. p2 4 m2. p13 6. p3 9. p4 5 m3. p9 5 p5 5. m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(45) Set Cover 5:18. Einleitung. Scheduling. Bin Packing <. 4∕4. Approximationsschema. > Walter Unger 15.7.2015 11:13. Einfaches Beispiel 19 p14 6 p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p8 3 p7 10. p11 5 p10 6. p12 7. p1 3 m1. p6 10. p2 4 m2. p13 6. p3 9. p4 5 m3. p9 5 p5 5. m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(46) Set Cover 5:19. Einleitung. Scheduling. Bin Packing <. 1∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Zweiter Versuch am einfachen Beispiel. p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p6 10. p1 3 m1. p2 4 m2. p4 5 m3. p9 5 m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(47) Set Cover 5:19. Einleitung. Scheduling. Bin Packing <. 2∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Zweiter Versuch am einfachen Beispiel. p12 7 p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p3 9. p1 3 m1. p7 10 p10 6. p2 4 m2. p6 10. p4 5 m3. p13 6. p9 5 m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(48) Set Cover 5:19. Einleitung. Scheduling. Bin Packing <. 3∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Zweiter Versuch am einfachen Beispiel. 17 p5 5 p14 : 6 p13 : 6 p12 : 7 p11 : 5 p10 : 6 p9 : 5 p8 : 3 p7 :10 p6 :10 p5 : 5 p4 : 5 p3 : 9 p2 : 4 p1 : 3. p3 9. p1 3 m1. p8 3 p7 10. p11 5 p10 6. p2 4 m2. p12 7. p6 10. p4 5 m3. p14 6. p13 6. p9 5 m4. m5. Z. Allgemeine Maschinen SS2015. APX.

(49) Set Cover 5:20. Scheduling. Bin Packing <. Einleitung. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. Komplexität. SS2015. Das Problem ist in N PC. Einfache Reduktion von Subset-Sum-Problem: Gegeben: bi für 1 ≤ i ≤ n. Frage: ∃I ⊂ {1, 2, . . . n} mit: ∑i∈I bi = ∑i∈{1,2,...,n}∖I bi . Das ist das Makespan Scheduling Problem für zwei identische Maschinen. Gesucht ist ein Makespan von ∑i∈{1,2,...,n} bi /2.. APX.

(50) Set Cover 5:21. Heuristik LL. Erste Ideen. Scheduling. Bin Packing <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Wir werden zuerst zwei einfache Ideen zur Approximation des Scheduling Problems betrachten. Dabei werden wir sehen, daß diese schon gute Approximationsfaktoren abliefern. Das erste Verfahren verteilt die Jobs in einer beliebigen Reihenfolge auf die Maschine, die aktuell die jeweils kleinste Last hat. Hier erkennt man recht schnell einen Approximationsfaktor von 2. Dabei wird als untere Schanke die Größe des größten Jobs verwendet. Danach verteilen wir die Jobs absteigend sortiert nach ihrer Größe auf die Maschine mit der aktuell geringsten Last. Hier sieht man recht schnell, daß das Verfahren optimal ist, solange maximal zwei Jobs auf jeder Maschine zugewiesen werden. Hier wird als untere Schranke nun die durchschnittliche Belastung einer Maschine genutzt. Da das Verfahren optimal ist, solange maximal zwei Jobs auf jeder Maschine zugewiesen werden und die Jobs in absteigender Reihenfolge zugewiesen werden, wird der Approximationsfaktor durch einen der großen verbleibenden Jobs bestimmt. Hier erkennt man recht schnell, ein Job der Größe von maximal 1/3 von Optimum bestimmt den maximalen Approximationsfaktor (4/3).. APX.

(51) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 1∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. m1. m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(52) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 2∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 2 m1. m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(53) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 3∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 2 m1. 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(54) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 4∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 3 2 m1. 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(55) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 5∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 3 3 2 m1. 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(56) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 6∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 3 1 2 m1. 3 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(57) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 7∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. 3 2 1 3 3 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 2 3 1 2 m1. 3 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(58) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 8∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 3 3 2 1 3 3 1 2. 2 3 1 2 m1. 3 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(59) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 9∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 6 3 3 2 1 3 3 1 2. 2 3 1 2 m1. 3 1 m2. m3. 1 1 2 2 3 3 3. m1. Z. Allgemeine Maschinen. m2. m3. APX.

(60) Set Cover 5:22. Scheduling. Heuristik LL. Bin Packing <. 10∕10. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Heuristik 1 Heuristik: Least Loaded (LL) 1. Wähle die Maschine, die bisher die kleinste Last hat:. 2. Für k von 1 bis n mache: 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. 6 3 3 2 1 3 3 1 2. 2 3 1 2 m1. 3 1 m2. m3. 1 1 2 2 3 3 3. Z. Allgemeine Maschinen. 5 2. 2. 3. 3. 1 1 3. m1. m2. m3. APX.

(61) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 1∕8. Beispiel zu Heuristik 1 (2. 2 1 1. 3 1 1 1 1 1 1. m1. m1. Approximationsschema. > Walter Unger 15.7.2015 11:13. m2. m2. m3. SS2015. Maschinen). 2 1 1. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. m1. m2. m2. m3. APX.

(62) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 2∕8. Beispiel zu Heuristik 1 (2. 2 1 1. 3 1 1 1 1 1 1. m1. 1 m1. Approximationsschema. > Walter Unger 15.7.2015 11:13. m2. m2. m3. SS2015. Maschinen). 2 1 1. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. 1 m1. m2. m2. m3. APX.

(63) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 3∕8. Beispiel zu Heuristik 1 (2. 2 1 1. 3 1 1 1 1 1 1. m1. 1 m1. Approximationsschema. > Walter Unger 15.7.2015 11:13. m2. 2 1 1. m3. SS2015. Maschinen). 1 m2. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. 1 1 m1. m2. m2. m3. APX.

(64) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 4∕8. Beispiel zu Heuristik 1 (2. 2 1 1. 3 1 1 1 1 1 1. m1. Approximationsschema. > Walter Unger 15.7.2015 11:13. 1 m1. 2 1 1. 1 m2. m2. m3. SS2015. Maschinen). 2. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. 1 1 m1. 2 m2. m2. m3. APX.

(65) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 5∕8. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 1 (2,3 Maschinen). 2 1 1. 3 1 1 1 1 1 1. m1. 3 2 1 m1. 2 1 1. 1 m2. m2. m3. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. 2 1 1 m1. 2 m2. m2. m3. APX.

(66) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 6∕8. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 1 (2,3 Maschinen). 2 1 1. 3 1 1 1 1 1 1. m1. 3 2 1 m1. 2 1 1. 1 m2. m2. m3. 3 1 1 1 1 1 1. m1. Z. Allgemeine Maschinen. 2 1 1 m1. 2 m2. m2. m3. APX.

(67) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 7∕8. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 1 (2,3 Maschinen). 2 1 1. 3 1 1 1 1 1 1. 1 1 m1. 3 2 1 m1. 2 1 1. 1 m2. 1 1 m2. 1 1 m3. 3 1 1 1 1 1 1. 1 1 1 m1. Z. Allgemeine Maschinen. 2 1 1 m1. 2 m2. 1 1 1 m2. m3. APX.

(68) Set Cover 5:23. Scheduling. Heuristik LL. Bin Packing <. 8∕8. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 1 (2,3 Maschinen) 3 2. 2 1 1. 3 1 1 1 1 1 1. 1 m1. 2 1 1. 1 m2. 5 3 1 1 m1. 1 1 m2. 1 1 m3. 3 1 1 1 1 1 1. 3 1 1 1 m1. Z. Allgemeine Maschinen. 2 1 1 m1. 2 m2. 1 1 1 m2. 3 m3. APX.

(69) Set Cover 5:24. Scheduling. Bin Packing <. Heuristik LL. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 1 (4 Maschinen) 4 1 1 1 1 1 1 1 1 1 1 1 1. 7 4. 1 1 1 m1. 1 1 1 m2. 1 1 1 m3. 1 1 1 m4. 4 1 1 1 1 1 1 1 1 1 1 1 1. 4 1 1 1 1 m1. 1 1 1 1 m2. Z. Allgemeine Maschinen. 1 1 1 1 m3. 4. m4. APX.

(70) Set Cover 5:25. Scheduling. Bin Packing <. Heuristik LL. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Das Beispiel formal Konstruiere allgemeines Beispiel: Setze n = m ⋅ (m − 1) + 1. Für i ∈ {1, 2, . . . , m ⋅ (m − 1)} setze: pi = 1. Setze weiter: pm⋅(m−1)+1 = m. Die obigen Beispiele zeigen:. Optimale Makespan ist m. Auf m − 1 Maschinen brauchen Jobs {1, 2, . . . , n − 1} Zeit m. Der Job n braucht auf Maschine m auch m Zeit. Die LL-Heuristik liefert einen Makespan von 2 ⋅ m − 1. Auf m Maschinen brauchen {1, 2, . . . , n − 1} Zeit m − 1. Der Job n braucht auf einer Maschine noch zusätzlich m Zeit. Damit ist der Approximationsfaktor von der LL-Heuristik bestenfalls: 1 2⋅m−1 =2− . m m. APX.

(71) Set Cover 5:26. Scheduling. Bin Packing <. Heuristik LL. Approximationsschema. > Walter Unger 15.7.2015 11:13. Approximationsgüte von Heuristik 1 Theorem Die LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m). Beweis: Die folgenden einfachen Schranken gelten: opt ≥ maxi∈{1,2,...,n} (pi ). opt ≥ m1 ⋅ ∑i∈{1,2,...,n} pi . Betrachte nun den Job, der als letzter fertig wird und die Situation, bevor er verteilt wurde.. Z. Allgemeine Maschinen SS2015. APX.

(72) Set Cover 5:27. Scheduling. Bin Packing. Approximationsschema. <. Heuristik LL. > Walter Unger 15.7.2015 11:13. Approximationsgüte von Heuristik 1. Z. Allgemeine Maschinen SS2015. APX. 1 ⋅ opt ≥ m ∑i∈{1,2,...,n} pi opt ≥ maxi∈{1,2,...,n} (pi ). Sei i ′ der Job, der als letzter fertig wird und j ′ = f (i ′ ). Als der Job i ′ auf j ′ gelegt wurde, war aktuelle Last von j ′ minimal. Die Last war höchstens: 1/m ∑i∈{1,2,...,i ′ −1} pi . Damit kann der Makespan wie folgt abgeschätzt werden: = ≤ ≤. pi ′ + m1 ∑i∈{1,2,...,i ′ −1} pi (1 − m1 ) ⋅ pi ′ + m1 ⋅ ∑i∈{1,2,...,i ′ } pi (1 − m1 ) ⋅ opt + opt (2 − m1 ) ⋅ opt..

(73) Set Cover 5:28. Scheduling. Bin Packing <. Heuristik LPT. Approximationsschema. > Walter Unger 15.7.2015 11:13. Heuristik 2. Z. Allgemeine Maschinen SS2015. Heuristik: Longest Processing Time (LPT) 1. Wähle für den längsten Job die Maschine, die bisher die kleinste Last hat:. 2. Sei p1 ≥ p2 ≥ . . . ≥ pn .. 3. Für k von 1 bis n mache: 1 2. Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal. Setze f (k) = j.. APX.

(74) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 1∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(75) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 2∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(76) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 3∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(77) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 4∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. m1. 23. 22. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(78) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 5∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. m1. 23. m2. 22. 21. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(79) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 6∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. m1. 23. m2. 22. m3. 21. 20. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(80) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 7∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. m1. 23. m2. 22. m3. 21. m4. 20. 19. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(81) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 8∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 21. 20. 19 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(82) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 9∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 15. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 21. 20. 19 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(83) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 10∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2 14. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 21. 20. 15. 19 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(84) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 11∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 21. 13. 14. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(85) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 12∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 11. 13. 14. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(86) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 13∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 10. 11. 13. 14. 22. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(87) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 14∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 24. 10. 11. 13. 14. 8. 23. 22. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(88) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 15∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 11. 14. 8. 10. 13. 7 24. 23. 22. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(89) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 16∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2 4. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 11. 14. 8. 10. 13. 7 24. 23. 22. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(90) Set Cover 5:29. Heuristik LPT. Scheduling. Bin Packing <. 17∕17. Approximationsschema. > Walter Unger 15.7.2015 11:13. Beispiel zu Heuristik 2 35 4. 4 7 8 10 11 13 14 15 17 19 20 21 22 23 24. 11. 14. 8. 10. 13. 7 24. 23. 22. 21. 20. 19. 15. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(91) Set Cover 5:30. Heuristik LPT. Scheduling. Bin Packing <. 1∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Bessere Lösung des Beispiels. 11. 13. 14. 21. 20. 19. 15. 7 8 10 4 7 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(92) Set Cover 5:30. Heuristik LPT. Scheduling. Bin Packing <. 2∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Bessere Lösung des Beispiels 4. 11. 13. 14. 21. 20. 19. 15. 7 8 10 4 7 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(93) Set Cover 5:30. Heuristik LPT. Scheduling. Bin Packing <. 3∕3. Approximationsschema. > Walter Unger 15.7.2015 11:13. Bessere Lösung des Beispiels 33 8. 10. 4. 11. 13. 14. 21. 20. 19. 15. 7 8 10 4 7 11 13 14 15 17 19 20 21 22 23 24. 24. 23. 22. 17. m1. m2. m3. m4. m5. m6. Z. Allgemeine Maschinen. m7. SS2015. APX.

(94) Set Cover 5:31. Heuristik LPT. Scheduling. Bin Packing <. 1∕2. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine). p1 26 p11 : 6 p10 : 7 p11 : 8 p10 :10 p11 :11 p10 :13 p9 :14 p8 :15 p7 :17 p6 :19 p5 :20 p4 :22 p3 :23 p2 :25 p1 :26. m1. p2 25. m2. p3 23. m3. p4 22. m4. p5 20. m5. p6 19. m6. p7 17. m7. Z. Allgemeine Maschinen. p8 15. m8. p9 14. m9. APX.

(95) Set Cover 5:31. Heuristik LPT. Scheduling. Bin Packing <. 2∕2. Approximationsschema. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine) 28 p1 26 p11 : 6 p10 : 7 p11 : 8 p10 :10 p11 :11 p10 :13 p9 :14 p8 :15 p7 :17 p6 :19 p5 :20 p4 :22 p3 :23 p2 :25 p1 :26. m1. p2 25. m2. p11 6 p3 23. m3. p4 22. m4. p10 7 p5 20. m5. p11 8 p6 19. m6. p10 10. p7 17. m7. Z. Allgemeine Maschinen. p11 11. p8 15. m8. p10 13. p9 14. m9. APX.

(96) Set Cover 5:32. Scheduling. Bin Packing. Heuristik LPT. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Approximation Heuristik 2 Theorem (Graham 1969) Die LPT Heuristik hat einen Approximationsfaktor von 4/3. Beweis durch Widerspruch:. Angenommen, es gibt Eingabeinstanz p1 , p2 , . . . , pn auf m Maschinen, mit einem Makespan von τ > 4/3 ⋅ opt und n minimal gewählt. Seien p1 ≥ p2 ≥ . . . ≥ pn . Da n minimal gewählt wurde, ist n der Job, der als letzter fertig wird. Der Job n wurde auf die am wenigsten belastete Maschine platziert. Zu diesem Zeitpunkt war die Last der Maschine höchstens: 1 n−1 ⋅ ∑ pi ≤ opt. m i=1 Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten: pn > 1/3 ⋅ opt.. APX.

(97) Set Cover 5:33. Scheduling. Heuristik LPT. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. Beweis. SS2015. APX. pn > 13 ⋅ opt. Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >. 1 3. Also passen höchstens zwei Jobs auf jede Maschine. Es gibt daher auch höchstens n ≤ 2 ⋅ m Jobs. Damit ist aber folgende Platzierung optimal: Platziere Job i für i ≤ m auf Maschine i. Platziere Job i für i > m auf Maschine 2 ⋅ m − i + 1. Das ist aber die Platzierung von der LPT Heuristik. Widerspruch.. ⋅ opt..

(98) Set Cover 5:34. Scheduling. Einleitung. Überblick zur Idee. Bin Packing <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Unser Ziel ist es, für das Scheduling auf identischen Maschinen einen besseren Approximationsfaktor zu erzielen. Die Idee wird sein, die Anzahl möglicher Joblängen zu reduzieren. Dazu werden einige Jobs künstlich länger gemacht. Damit wir nach dem Vereinheitlichen der Joblängen eine optimale Lösung effizient berechnen können, betrachten wir als Zwischenproblem das Bin Packing. Hier ist eine endliche Anzahl von Joblängen in der Eingabe. Weiterhin ist die maximale Laufzeit auch bekannt. Und wir bestimmen nun die minimale Anzahl von Maschinen, für die es eine Lösung gibt. Da wir nur eine endliche Anzahl von Joblängen in der Eingabe haben, können wir die Eingabe und die Lösungen auf einer Maschine durch einen endlichen Vektor modellieren. Eine minimale Anzahl von Maschinen zum Scheduling der Jobs wird nun mittels dynamischer Programierung bestimmt.. APX.

(99) Set Cover 5:35. Scheduling. Bin Packing. Einleitung. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. Motivation und Definition. SS2015. Im nächsten Abschnitt soll das Scheduling auf identischen Maschinen mit einem beliebigen konstanten Faktor approximiert werden. Dabei wird die Lösung des folgenden Problems hilfreich sein. Bemerkung vorweg: Bin Packing entspricht einem Scheduling, bei der es eine Schranke b für den Makespan gibt.. APX.

(100) Set Cover 5:36. Scheduling. Bin Packing. Approximationsschema. <. Einleitung. > Walter Unger 15.7.2015 11:13. Motivation und Definition Definition (Bin Packing mit eingeschränkten Gewichten) Gegeben: n Objekte: {1, 2, . . . , n}. w1 , w2 , . . . , wn mit {w1 , w2 , . . . , wn } ⊆ {1, 2, . . . , k}. Zwei Zahlen m, b ∈ N mit: m ≥ 1 und b ≥ k. Gesucht: z ∶ {1, 2, . . . , n} ↦ {1, 2, . . . , m} mit: ∀i ∈ {1, 2, . . . , m} ∶ ∑j∈{1,2,...,n}∶z(j)=i wj ≤ b. Die wi sind die Gewichte der Objekte. Die Funktion z ist die Verteilung der Objekte auf m Bins. Jeder Bin kann maximal b aufnehmen.. Z. Allgemeine Maschinen SS2015. APX.

(101) Set Cover 5:37. Scheduling. Algorithmus. Bin Packing <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Aussage Theorem Das Bin Packing Problem mit eingeschränkten Gewichten kann in Zeit O((n + 1)k ⋅ (b + 1)k /k!) gelöst werden. Die k möglichen Gewichte schränken das Problem ein. Zwei Objekte mit dem gleichen Gewicht sind austauschbar. Daher untersuche nur Lösungen nach der Anzahl der Objekte vom gleichen Gewicht. Nutze dynamische Programmierung.. Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewicht wi (1 ≤ i ≤ k).. APX.

(102) Set Cover 5:38. Scheduling. Bin Packing <. Algorithmus. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Dynamische Programmierung. APX. O((n + 1)k ⋅ (b + 1)k /k!). Sei f (n1 , n2 , . . . , nk ) die minimale Anzahl von Bins der Größe b, die ni Objekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können. Setze Q = {(q1 , q2 , . . . , qk ) ∣ f (q1 , q2 , . . . , qk ) = 1}, d.h. die Gewichtskombinationen, die in einen Bin passen. Damit kann f rekursiv beschrieben werden: f (n1 , n2 , . . . , nk ) = 1 +. min. (q1 ,q2 ,...,qk )∈Q. f (n1 − q1 , n2 − q2 , . . . , nk − qk ).. Im Weiteren wird gezeigt, wie diese Werte bestimmt werden. Sei vorher: ci = ∣{j ∣ j ∈ {1, 2, . . . , n} ∧ w (j) = i}∣. D.h. ci ist die Anzahl der Objekte mit Gewicht i. Das Bin Packing Problem mit eingeschränkten Gewichten hat eine Lösung genau dann, wenn: f (c1 , c2 , . . . , ck ) ≤ m..

(103) Set Cover 5:39. Scheduling. Algorithmus. 1∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {.

(104) Set Cover 5:39. Scheduling. Algorithmus. 2∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0),. p1 3.

(105) Set Cover 5:39. Scheduling. Algorithmus. 3∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0),. p2 3. p1 3. p1 3.

(106) Set Cover 5:39. Scheduling. Algorithmus. 4∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0),. p2 3. p1 3. p1 3. p3 4.

(107) Set Cover 5:39. Scheduling. Algorithmus. 5∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0),. p4 4 p2 3. p1 3. p1 3. p3 4. p3 4.

(108) Set Cover 5:39. Scheduling. Algorithmus. 6∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, 1),. p4 4 p2 3. p1 3. p1 3. p3 4. p3 4. p5 5.

(109) Set Cover 5:39. Scheduling. Algorithmus. 7∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, 1), (0, 0, 1, 1, 0),. p4 4 p2 3. p1 3. p1 3. p3 4. p3 4. p3 4 p5 5 p1 3.

(110) Set Cover 5:39. Scheduling. Algorithmus. Bin Packing. Approximationsschema. <. 8∕9. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. {. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, 1), (0, 0, 1, 1, 0), (0, 0, 1, 0, 1). p4 4 p2 3. }. p1 3. p1 3. p3 4. p3 4. p3 4. p5 5. p5 5 p1 3. p1 3.

(111) Set Cover 5:39. Scheduling. Algorithmus. 9∕9. Bin Packing. Approximationsschema. <. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5. D.h. c1 = 0, c2 = 0, c3 = 2, c4 = 2, c5 = 2. Q′. =. Q={. (0, 0, 1, 0, 0), (0, 0, 2, 0, 0), (0, 0, 0, 1, 0), (0, 0, 0, 2, 0), (0, 0, 0, 0, 1), (0, 0, 1, 1, 0), (0, 0, 1, 0, 1) } (1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1) } {. 8 p4 4 p2 3. p1 3. p1 3. p3 4. p3 4. p3 4. p5 5. p5 5 p1 3. p1 3.

(112) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing. 1∕20. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(113) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing. 2∕20. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ f (1, 2, 2) ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(114) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing. 3∕20. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ f (1, 2, 2) ⎪ ⎪ ⎪ ⎪ f (0, 2, 2) ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(115) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing. 4∕20. <. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ f (1, 2, 2) ⎪ ⎪ ⎪ ⎪ f (0, 2, 2) ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 1, 2) ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩ Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(116) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 5∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2). Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(117) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 6∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1). Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(118) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 7∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2). Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(119) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 8∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(120) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 9∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(121) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 10∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(122) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 11∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(123) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 12∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(124) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 13∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(125) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 14∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(126) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 15∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(127) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 16∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) = 3 f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(128) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 17∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) = 3 f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(129) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 18∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) = 3 f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

(130) Set Cover 5:40. Scheduling. Algorithmus. Bin Packing <. 19∕20. Approximationsschema. Z. Allgemeine Maschinen. > Walter Unger 15.7.2015 11:13. SS2015. Beispiel. APX. O((n + 1)k ⋅ (b + 1)k /k!). Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2. Q = {(1, 0, 0), (2, 0, 0), (0, 1, 0), (0, 2, 0), (0, 0, 1), (1, 1, 0), (1, 0, 1)}. ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ f (2, 2, 2) = 1 + min ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩. f (1, 2, 2) f (0, 2, 2) f (2, 1, 2) f (2, 0, 2) f (2, 2, 1) = 3 f (1, 1, 2) f (1, 2, 1). ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3 ⌈(1 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 2. Damit gilt f (2, 2, 2) ≤ 4. Und weiter 3 ≤ f (2, 2, 2) ≤ 4. Untersuche nun ob f (2, 0, 2) = 2 gilt. Nur wenn f (2, 0, 2) ≥ 3 gilt, dann untersuche auch f (1, 2, 1)..

Referenzen

ÄHNLICHE DOKUMENTE

Wie bestimmt man Flüsse mit einem Mindestfluss auf den Kanten, wo aber auch ein leerer Fluss erlaubt ist?. Wie ist die Idee der Algorithmen zu

Man sieht aber auch im Folgenden, daß bei einer Suche nach beliebigen Kreisen eine pseudopolynomielle Laufzeit erhalten.... Spezielle Flüsse

Dazu muss das Durchlaufen der ungeraden Kreise bei der Suche nach alternierenden Pfade betrachtet werden: Wird bei der Suche ein gematcher Knoten über eine Kanten, die nicht im

Oder noch besser: Erhöhe den Knotengrad der ungeraden Knoten um eins.. jeder ungerade Knoten bekommt eine

Da das Verfahren optimal ist, solange maximal zwei Jobs auf jeder Maschine zugewiesen werden und die Jobs in absteigender Reihenfolge zugewiesen werden, wird der

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit

Damit ist eine zufällig gewählte Kante mit hoher Wahrscheinlichkeit nicht im Schnitt.. Damit sind die inzidenten Knoten einer zufällig gewählten Kante mit hoher Wahrscheinlichkeit

Daher unterscheiden wir: Offline: Der Algorithmus bekommt die komplette Eingabe und löst dann das Problem.. Online: Der Algorithmus bekommt die Eingabe