effiziente algorithmen (ss2015)

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

Upload: others

Post on 03-Nov-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Effiziente Algorithmen (SS2015)

Effiziente Algorithmen (SS2015)Kapitel 5

Approximation II

Walter Unger

Lehrstuhl für Informatik 1

12.06.2015 07:59

Page 2: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5 Inhaltsverzeichnis < > Walter Unger 15.7.2015 11:04 SS2015 Z

Inhalt I

1 Set CoverEinleitungApproximationGüte der Abschätzung

2 SchedulingEinleitungHeuristik LLHeuristik LPT

3 Bin PackingEinleitungAlgorithmus

4 ApproximationsschemaEinleitungSchemaBeispiel zur SkalierungBeweiseDas Orakel

5 Allgemeine MaschinenEinleitungILPAlgorithmusAllokationsgraph

6 APXAussagen

Page 3: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 1∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 4: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 2∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 5: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 3∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 6: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 4∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 7: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 5∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 8: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 6∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 9: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 7∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 10: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 8∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 11: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 9∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 12: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 10∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 13: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:1 Einleitung 11∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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∈ASi = X undcost(A) = ∑i∈A ci ist minimal.

Grundmenge soll also kostengünstig überdeckt werden.Beispiel: Kostengünstiges Arbeitsteam, welche alle nötigen Fähigkeitenhat.Entspricht dem Vertex-Cover-Problem auf Hypergraphen(Hitting-Set-Problem).

Page 14: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

(Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 15: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

(Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 16: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

(Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 17: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

(Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 18: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

(Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 19: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:2 Einleitung 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Kosten: 5)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 20: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:3 Einleitung 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel nochmal

(Kosten: 3)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 21: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:3 Einleitung 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel nochmal

(Kosten: 3)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 22: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:3 Einleitung 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel nochmal

(Kosten: 3)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 23: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:3 Einleitung 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel nochmal (Kosten: 3)

X ∶

S1: s1 s3 s4

S2: s1 s3 s6 s9

S3: s2 s4 s5

S4: s1 s5 s6 s7

S5: s2 s5 s7

S6: s4 s7 s8

S7: s7 s9

S8: s2 s4 s8

s1 s2 s3 s4 s5 s6 s7 s8 s9

Page 24: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:4 Einleitung 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

TheoremDie Entscheidungsvariante vom Set-Cover-Problem ist in NPC.

Beweis: Einfache Reduktion vom Vertex-Cover-Problem:

a

e

d

b

c

a

e

d

b

c

Σ = 0E ∶

a: s1 s5

b: s1 s2 s6

c: s2 s3 s7

d : s3 s4

e: s4 s5 s6 s7

ab bc cd de ea eb ec

Page 25: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:4 Einleitung 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

TheoremDie Entscheidungsvariante vom Set-Cover-Problem ist in NPC.

Beweis: Einfache Reduktion vom Vertex-Cover-Problem:

a

e

d

b

c

a

e

d

b

c

Σ = 0E ∶

a: s1 s5

b: s1 s2 s6

c: s2 s3 s7

d : s3 s4

e: s4 s5 s6 s7

ab bc cd de ea eb ec

Page 26: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:4 Einleitung 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

TheoremDie Entscheidungsvariante vom Set-Cover-Problem ist in NPC.

Beweis: Einfache Reduktion vom Vertex-Cover-Problem:

a

e

d

b

c

a

e

d

b

c

Σ = 0E ∶

a: s1 s5

b: s1 s2 s6

c: s2 s3 s7

d : s3 s4

e: s4 s5 s6 s7

ab bc cd de ea eb ec

Page 27: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:4 Einleitung 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

TheoremDie Entscheidungsvariante vom Set-Cover-Problem ist in NPC.

Beweis: Einfache Reduktion vom Vertex-Cover-Problem:

a

e

d

b

c

a

e

d

b

c

Σ = 0E ∶

a: s1 s5

b: s1 s2 s6

c: s2 s3 s7

d : s3 s4

e: s4 s5 s6 s7

ab bc cd de ea eb ec

Page 28: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:4 Einleitung 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

TheoremDie Entscheidungsvariante vom Set-Cover-Problem ist in NPC.

Beweis: Einfache Reduktion vom Vertex-Cover-Problem:

a

e

d

b

c

a

e

d

b

c

Σ = 0E ∶

a: s1 s5

b: s1 s2 s6

c: s2 s3 s7

d : s3 s4

e: s4 s5 s6 s7

ab bc cd de ea eb ec

Page 29: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 30: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 31: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 32: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 33: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 34: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:5 Approximation 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 35: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 36: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 37: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 38: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 39: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 40: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:6 Approximation 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Greedy-Algorithmus

1 Eingabe X ,S1,S2, . . .Sm.2 Setze A = ∅.3 Solange ∪j∈ASj /= X wiederhole:

1 Bestimme für alle i ∈ {1,2,⋯,m} ∖A:

rA(i) =ci

∣Si ∖ ∪j∈ASj ∣.

2 Wähle i mit rA(i) minimal.3 Setze A = A ∪ {i}.

Page 41: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 42: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 43: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 44: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 45: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 46: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 47: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:7 Approximation 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Analyse

Verteile die Kosten bei der Wahl einer Menge Si auf die Elemente, diedurch Si neu überdeckt werden.D.h. in jeder Schleife erhält jedes dieser Elemente den folgenden Wertzugeordnet:

ci

∣Si ∖ ∪j∈ASj ∣= rA(i)

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.

LemmaFür k ∈ {1,2,⋯,n} gilt c(xk) ≤ opt/(n − k + 1), wobei opt die Kosten einesoptimalen Set-Covers sind.

Page 48: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 49: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 50: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 51: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 52: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 53: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 54: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 55: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 56: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:8 Approximation 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweisc(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 erstmaligabdeckt.

Nun schätzen wir opt ab:Für j ∈ {1,2,⋯,n} ∖A gilt: rA(j) ≥ rA(i).Setze: X ′

= X ∖ ∪j∈ASj , 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 vonmindestens: (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).

Page 57: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 58: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 59: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 60: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 61: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 62: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:9 Approximation 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximationc(xk) ≤ opt/(n − k + 1)

TheoremDer 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

optn − i + 1

=n∑i=1

opti

= opt ⋅Hn.

Page 63: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 1∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 64: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 2∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 65: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 3∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 66: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 4∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 67: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 5∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 68: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 6∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 69: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 7∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 70: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 8∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 71: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 9∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 72: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 10∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 73: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 11∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 74: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 12∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 75: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 13∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 76: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 14∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 77: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:10 Güte der Abschätzung 15∕15 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1) < 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1n−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2) < 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1n−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3) < 1n−2 .

Zur Vereinfachung wählen wir im Folgenden: cm = 1+ε.

Page 78: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:11 Güte der Abschätzung < > Walter Unger 15.7.2015 11:04 SS2015 Z

Frage: wie gut ist die Abschätzung

Suche ein schlechtes Beispiel für obigen Algorithmus.Erinnerung: rA(i) = ci

∣Si∖∪j∈ASj ∣.

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∈ASi ∣= 1

∣{1,2,...,n}∣ =1+ε

n .

Damit der Algorithmus S1 wählt, muss gelten: r∅(1)≤ 1n .

Damit gilt: r{1}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{2,3,...,n}∣ =

1+εn−1 .

Damit der Algorithmus S2 wählt, muss gelten: r{1}(2)≤ 1n−1 .

Damit gilt: r{1,2}(m) = 1∣Si∖∪i∈ASi ∣

= 1∣{3,4,...,n}∣ =

1+εn−2 .

Damit der Algorithmus S3 wählt, muss gelten: r{1,2}(3)≤ 1n−2 .

Page 79: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 80: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 81: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 82: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 83: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 84: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 85: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 86: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 87: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:12 Güte der Abschätzung 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Abschätzung der Güte

Damit erhalten wir das folgende schlechte Beispiel für obigenAlgorithmus:

X = {1,2, . . . ,n}Sm = {1,2, . . . ,n} mit m = n + 1.Si = {i} für 1 ≤ i ≤ n.Setze cm = 1 + ε.Setze ci =

1n−i+1 .

Damit gilt für dieses Beispiel:Der Greedy Algorithmus wird nacheinander die MengenS1,S2, . . . ,Sn wählen.Die optimale Lösung beinhaltet nur Sm.

Page 88: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 1∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 89: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 2∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 90: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 3∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 91: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 4∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 92: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 5∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 93: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 6∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 94: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 7∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 95: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 8∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 96: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 9∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 97: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 10∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 98: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:13 Güte der Abschätzung 11∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Güte

rA(i) = ci∣Si∖∪i∈ASi ∣

.

rC(i + 1) = 1+εn−∣C ∣ =

1n−∣C ∣ + δ.

r∅(1) = 1/n1 = 1

n

r1(2) = 1/(n−1)1 = 1

n−1

r1,2(3) = 1/(n−2)1 = 1

n−2

r1,2,3(4) = 1/(n−3)1 = 1

n−3

r1,2,...,n−3(n − 2) = 1/31 = 1

3

r1,2,...,n−2(n − 1) = 1/21 = 1

2

r1,2,...,n−1(n) = 11 = 1

X ∶

1n :

1n−1 :

1n−2 :

1n−3 :

⋮:

13 :

12 :

1:

1 + ε:

. . .

Page 99: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:14 Güte der Abschätzung 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximation

TheoremDer Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn.

TheoremEs gibt eine Instanz, worauf der Greedy Algorithmus einenApproximationsfaktor von (1 − ε) ⋅Hn erreicht (für ε > 0).

Theorem (Feige 1995)Es gibt keinen Algorithmus mit Approximationsfaktor (1 − ε) ⋅Hn für dasSet-Cover-Problem, es sei denn NP = TIME(nO(log log n)

).

Folgerung:Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.

Page 100: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:14 Güte der Abschätzung 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximation

TheoremDer Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn.

TheoremEs gibt eine Instanz, worauf der Greedy Algorithmus einenApproximationsfaktor von (1 − ε) ⋅Hn erreicht (für ε > 0).

Theorem (Feige 1995)Es gibt keinen Algorithmus mit Approximationsfaktor (1 − ε) ⋅Hn für dasSet-Cover-Problem, es sei denn NP = TIME(nO(log log n)

).

Folgerung:Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.

Page 101: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:14 Güte der Abschätzung 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximation

TheoremDer Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn.

TheoremEs gibt eine Instanz, worauf der Greedy Algorithmus einenApproximationsfaktor von (1 − ε) ⋅Hn erreicht (für ε > 0).

Theorem (Feige 1995)Es gibt keinen Algorithmus mit Approximationsfaktor (1 − ε) ⋅Hn für dasSet-Cover-Problem, es sei denn NP = TIME(nO(log log n)

).

Folgerung:Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.

Page 102: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:14 Güte der Abschätzung 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Güte der Approximation

TheoremDer Greedy Algorithmus hat einen Approximationsfaktor von höchstens Hn.

TheoremEs gibt eine Instanz, worauf der Greedy Algorithmus einenApproximationsfaktor von (1 − ε) ⋅Hn erreicht (für ε > 0).

Theorem (Feige 1995)Es gibt keinen Algorithmus mit Approximationsfaktor (1 − ε) ⋅Hn für dasSet-Cover-Problem, es sei denn NP = TIME(nO(log log n)

).

Folgerung:Damit ist dieser einfache Greedy Algorithmus der beste, der möglich ist.

Page 103: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 104: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 105: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 106: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 107: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 108: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 109: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:15 Einleitung 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Verteilung von AufgabenAufgaben sind nicht teilbar (ansonsten wäre es zu einfach).Alle Aufgaben sollen möglichst schnell fertig werden.

BeispielVor 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.

Page 110: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 1∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 111: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 2∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 112: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 3∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 113: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 4∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 114: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 5∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 115: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 6∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 116: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 7∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 117: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 8∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 118: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 9∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 119: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:16 Einleitung 10∕10 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 dieAbarbeitungsfolge der Jobs auf einer Maschine beliebig.O.B.d.A.: n > m.

Page 120: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 1∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p2: 4p3: 9p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

0

Page 121: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 2∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p3: 9p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

3

Page 122: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 3∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

4

Page 123: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 4∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p45

p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

5

Page 124: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 5∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

9

Page 125: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 6∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

9

Page 126: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 7∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

19

Page 127: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 8∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

19

Page 128: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 9∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p10: 6p106

p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

19

Page 129: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 10∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p10: 6p106

p11: 5p12: 7

p127

p13: 6p14: 6

m1 m2 m3 m4 m5

19

Page 130: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 11∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6p14: 6

m1 m2 m3 m4 m5

19

Page 131: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 12∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6

p136

p14: 6

m1 m2 m3 m4 m5

19

Page 132: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 13∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6

p136

p14: 6

m1 m2 m3 m4 m5

19

Page 133: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 14∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5p95

p10: 6p106

p11: 5

p115

p12: 7p127

p13: 6

p136

p14: 6

m1 m2 m3 m4 m5

19

Page 134: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 15∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5p95

p10: 6p106

p11: 5

p115

p12: 7p127

p13: 6

p136

p14: 6

p146

m1 m2 m3 m4 m5

19

Page 135: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:17 Einleitung 16∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Einfaches Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5 p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5p95

p10: 6p106

p11: 5

p115

p12: 7p127

p13: 6

p136

p14: 6

p146

m1 m2 m3 m4 m5

19

Page 136: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 1∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p2: 4p3: 9p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

0

Page 137: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 2∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p3: 9p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

3

Page 138: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 3∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

4

Page 139: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 4∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p45

p5: 5p6:10p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

5

Page 140: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 5∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p45

p5: 5p6:10

p610

p7:10p8: 3p9: 5

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

10

Page 141: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 6∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p4: 5p45

p5: 5p6:10

p610

p7:10p8: 3p9: 5

p95

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

10

Page 142: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 7∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10

p610

p7:10p8: 3p9: 5

p95

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

12

Page 143: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 8∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

14

Page 144: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 9∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7p13: 6p14: 6

m1 m2 m3 m4 m5

14

Page 145: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 10∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6p14: 6

m1 m2 m3 m4 m5

17

Page 146: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 11∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6p136

p14: 6

m1 m2 m3 m4 m5

17

Page 147: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 12∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5

p55

p6:10

p610

p7:10

p710

p8: 3p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6p136

p14: 6

m1 m2 m3 m4 m5

17

Page 148: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 13∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5

p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5

p95

p10: 6p106

p11: 5p12: 7

p127

p13: 6p136

p14: 6

m1 m2 m3 m4 m5

17

Page 149: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 14∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5

p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5

p95

p10: 6p106

p11: 5

p115

p12: 7

p127

p13: 6p136

p14: 6

m1 m2 m3 m4 m5

17

Page 150: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 15∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5

p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5

p95

p10: 6p106

p11: 5

p115

p12: 7

p127

p13: 6p136

p14: 6

p146

m1 m2 m3 m4 m5

17

Page 151: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:18 Einleitung 16∕16 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Zweiter Versuch am einfachen Beispiel

p1: 3p13p2: 4

p24p3: 9

p39

p4: 5p45

p5: 5

p55

p6:10

p610

p7:10

p710

p8: 3

p83

p9: 5

p95

p10: 6p106

p11: 5

p115

p12: 7

p127

p13: 6p136

p14: 6

p146

m1 m2 m3 m4 m5

17

Page 152: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:19 Einleitung 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

Das Problem ist in NPC. 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.

Page 153: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:19 Einleitung 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

Das Problem ist in NPC. 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.

Page 154: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:19 Einleitung 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

Das Problem ist in NPC. 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.

Page 155: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:19 Einleitung 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

Das Problem ist in NPC. 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.

Page 156: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:19 Einleitung 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Komplexität

Das Problem ist in NPC. 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.

Page 157: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 1∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 158: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 2∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 159: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 3∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 160: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 4∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 161: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 5∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 162: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 6∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

2133123

m1 m2 m3

0

3332211

m1 m2 m3

0

Page 163: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 7∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221

33123

m1 m2 m3

2

3332211

m1 m2 m3

0

Page 164: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 8∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

33123

m1 m2 m3

2

3332211

m1 m2 m3

0

Page 165: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 9∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

123

m1 m2 m3

3

3332211

m1 m2 m3

0

Page 166: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 10∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

3123

m1 m2 m3

4

3332211

m1 m2 m3

0

Page 167: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 11∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 123

m1 m2 m3

4

3332211

m1 m2 m3

0

Page 168: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 12∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

23

m1 m2 m3

5

3332211

m1 m2 m3

0

Page 169: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 13∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3332211

m1 m2 m3

0

Page 170: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 14∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3332211

m1 m2 m3

0

Page 171: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 15∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

3332211

m1 m2 m3

3

Page 172: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 16∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

332211

m1 m2 m3

3

Page 173: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 17∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32211

m1 m2 m3

3

Page 174: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 18∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32

2211

m1 m2 m3

5

Page 175: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 19∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32

22

211

m1 m2 m3

5

Page 176: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 20∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32

22

21 11

m1 m2 m3

5

Page 177: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 21∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32

22

21 11 1

m1 m2 m3

5

Page 178: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:20 Heuristik LL 22∕22 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

221 1

333

31 12

233

m1 m2 m3

6

3

33

33

32

22

21 11 1

m1 m2 m3

5

Page 179: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 1∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2

,3

Maschinen)

112

m1 m2

0

112

m1 m2

0

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 180: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 2∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2

,3

Maschinen)

1 112

m1 m2

1

1 112

m1 m2

1

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 181: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 3∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2

,3

Maschinen)

1 11 12

m1 m2

1

1 11 12

m1 m2

2

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 182: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 4∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2

,3

Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 183: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 5∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 184: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 6∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1111113

m1 m2 m3

0

1111113

m1 m2 m3

0

Page 185: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 7∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 1111113

m1 m2 m3

1

1 1111113

m1 m2 m3

1

Page 186: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 8∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 111113

m1 m2 m3

1

1 11 111113

m1 m2 m3

1

Page 187: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 9∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

1113

m1 m2 m3

1

1 11 11 11113

m1 m2 m3

2

Page 188: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 10∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

11

113

m1 m2 m3

2

1 11 11 11

1113

m1 m2 m3

2

Page 189: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 11∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

11

11

13

m1 m2 m3

2

1 11 11 11

11 113

m1 m2 m3

3

Page 190: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 12∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

11

11

1

1

3

m1 m2 m3

2

1 11 11 11

11 11

1

3

m1 m2 m3

3

Page 191: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 13∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

11

11

1

1

3 3

m1 m2 m3

5

1 11 11 11

11 11

1

3

3

m1 m2 m3

3

Page 192: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:21 Heuristik LL 14∕14 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (2,3 Maschinen)

1 11 12

2

m1 m2

3

1 11 12 2

m1 m2

2

1 11 11

1

11

11

1

1

3 3

m1 m2 m3

5

1 11 11 11

11 11

1

3

3

m1 m2 m3

3

Page 193: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1111111111114

m1 m2 m3 m4

0

1111111111114

m1 m2 m3 m4

0

Page 194: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 1111111111114

m1 m2 m3 m4

1

1 1111111111114

m1 m2 m3 m4

1

Page 195: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 111111111114

m1 m2 m3 m4

1

1 11 111111111114

m1 m2 m3 m4

1

Page 196: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1111111114

m1 m2 m3 m4

1

1 11 11

1

1111111114

m1 m2 m3 m4

1

Page 197: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1

1

111111114

m1 m2 m3 m4

1

1 11 11

1

11

111111114

m1 m2 m3 m4

2

Page 198: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1

1

11

11111114

m1 m2 m3 m4

2

1 11 11

1

11

11

11111114

m1 m2 m3 m4

2

Page 199: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

m1 m2 m3 m4

3

1 11 11

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

m1 m2 m3 m4

4

Page 200: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

4

m1 m2 m3 m4

7

1 11 11

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

4

m1 m2 m3 m4

4

Page 201: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:22 Heuristik LL 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 1 (4 Maschinen)

1 11 11

1

1

1

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

4

m1 m2 m3 m4

7

1 11 11

1

11

11

1

1

1

1

1

1

1

1

1

1

1

1

1

1

4

4

m1 m2 m3 m4

4

Page 202: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 1∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 203: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 2∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 204: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 3∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 205: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 4∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 206: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 5∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 207: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 6∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 208: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 7∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 209: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 8∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 210: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 9∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 211: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 10∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 212: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 11∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 213: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:23 Heuristik LL 12∕12 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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:

2 ⋅m − 1m

= 2 − 1m.

Page 214: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:24 Heuristik LL 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1

TheoremDie LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m).

Beweis:

Die folgenden einfachenSchranken gelten:

opt ≥ maxi∈{1,2,...,n}(pi).opt ≥ 1

m ⋅∑i∈{1,2,...,n} pi .

Betrachte nun den Job, der alsletzter fertig wird unddie Situation, bevor er verteiltwurde.

Page 215: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:24 Heuristik LL 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1

TheoremDie LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m).

Beweis:

Die folgenden einfachenSchranken gelten:

opt ≥ maxi∈{1,2,...,n}(pi).opt ≥ 1

m ⋅∑i∈{1,2,...,n} pi .

Betrachte nun den Job, der alsletzter fertig wird unddie Situation, bevor er verteiltwurde.

Page 216: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:24 Heuristik LL 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1

TheoremDie LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m).

Beweis:

Die folgenden einfachenSchranken gelten:

opt ≥ maxi∈{1,2,...,n}(pi).opt ≥ 1

m ⋅∑i∈{1,2,...,n} pi .

Betrachte nun den Job, der alsletzter fertig wird unddie Situation, bevor er verteiltwurde.

Page 217: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:24 Heuristik LL 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1

TheoremDie LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m).

Beweis:

Die folgenden einfachenSchranken gelten:

opt ≥ maxi∈{1,2,...,n}(pi).opt ≥ 1

m ⋅∑i∈{1,2,...,n} pi .

Betrachte nun den Job, der alsletzter fertig wird unddie Situation, bevor er verteiltwurde.

Page 218: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:24 Heuristik LL 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1

TheoremDie LL-Heuristik hat einen Approximationsfaktor von (2 − 1/m).

Beweis:

Die folgenden einfachenSchranken gelten:

opt ≥ maxi∈{1,2,...,n}(pi).opt ≥ 1

m ⋅∑i∈{1,2,...,n} pi .

Betrachte nun den Job, der alsletzter fertig wird unddie Situation, bevor er verteiltwurde.

Page 219: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 220: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 221: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 222: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 223: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 224: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 225: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:25 Heuristik LL 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximationsgüte von Heuristik 1opt ≥ 1

m ⋅∑i∈{1,2,...,n} piopt ≥ maxi∈{1,2,...,n}(pi )

Sei i ′ der Job, der als letzter fertig wird undj ′ = f (i ′).Als der Job i ′ auf j ′ gelegt wurde, war aktuelleLast von j ′ minimal.Die Last war höchstens: 1/m∑i∈{1,2,...,i′−1} pi .Damit kann der Makespan wie folgt abgeschätztwerden:

pi′ +1m ∑i∈{1,2,...,i′−1} pi

= (1 − 1m ) ⋅ pi′ +

1m ⋅∑i∈{1,2,...,i′} pi

≤ (1 − 1m ) ⋅ opt + opt

≤ (2 − 1m ) ⋅ opt.

Page 226: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:26 Heuristik LPT 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Heuristik 2

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

Page 227: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:26 Heuristik LPT 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Heuristik 2

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

Page 228: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:26 Heuristik LPT 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Heuristik 2

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

Page 229: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:26 Heuristik LPT 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Heuristik 2

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

Page 230: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:26 Heuristik LPT 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Heuristik 2

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 Wähle j mit ∑i∈{1,2,...,k−1}∧f (i)=j pi ist minimal.2 Setze f (k) = j.

Page 231: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 1∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

242322212019171514131110874

m1 m2 m3 m4 m5 m6 m7

0

Page 232: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 2∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

2322212019171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 233: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 3∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22212019171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 234: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 4∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

212019171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 235: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 5∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

2019171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 236: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 6∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 237: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 7∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

171514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 238: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 8∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

1514131110874

m1 m2 m3 m4 m5 m6 m7

24

Page 239: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 9∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14131110874

m1 m2 m3 m4 m5 m6 m7

32

Page 240: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 10∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

131110874

m1 m2 m3 m4 m5 m6 m7

33

Page 241: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 11∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

1110874

m1 m2 m3 m4 m5 m6 m7

33

Page 242: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 12∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10874

m1 m2 m3 m4 m5 m6 m7

33

Page 243: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 13∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10

10

874

m1 m2 m3 m4 m5 m6 m7

33

Page 244: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 14∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10

10

8

8

74

m1 m2 m3 m4 m5 m6 m7

33

Page 245: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 15∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10

10

8

8

7

7

4

m1 m2 m3 m4 m5 m6 m7

33

Page 246: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 16∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10

10

8

8

7

7

4

4

m1 m2 m3 m4 m5 m6 m7

35

Page 247: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:27 Heuristik LPT 17∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

10

10

8

8

7

7

4

4

m1 m2 m3 m4 m5 m6 m7

35

Page 248: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

242322212019171514131174

108

m1 m2 m3 m4 m5 m6 m7

0

Page 249: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

1514131174

108

m1 m2 m3 m4 m5 m6 m7

24

Page 250: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

74

108

m1 m2 m3 m4 m5 m6 m7

33

Page 251: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

7

7

4108

m1 m2 m3 m4 m5 m6 m7

33

Page 252: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

7

7

4

4

108

m1 m2 m3 m4 m5 m6 m7

33

Page 253: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

7

7

4

4

10

10

8

m1 m2 m3 m4 m5 m6 m7

33

Page 254: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

7

7

4

4

10

10

8

8

m1 m2 m3 m4 m5 m6 m7

33

Page 255: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:28 Heuristik LPT 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Bessere Lösung des Beispiels

24

24

23

23

22

22

21

21

20

20

19

19

17

17

15

15

14

14

13

13

11

11

7

7

4

4

10

10

8

8

m1 m2 m3 m4 m5 m6 m7

33

Page 256: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 1∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26p2:25p3:23p4:22p5:20p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

0

Page 257: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 2∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25p3:23p4:22p5:20p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 258: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 3∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23p4:22p5:20p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 259: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 4∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22p5:20p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 260: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 5∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 261: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 6∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 262: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 7∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 263: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 8∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 264: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 9∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14

p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 265: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 10∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

26

Page 266: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 11∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

27

Page 267: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 12∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

27

Page 268: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 13∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10

p1010

p11: 8p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

27

Page 269: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 14∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10

p1010

p11: 8

p118

p10: 7p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

27

Page 270: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 15∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10

p1010

p11: 8

p118

p10: 7

p107

p11: 6

m1 m2 m3 m4 m5 m6 m7 m8 m9

27

Page 271: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 16∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10

p1010

p11: 8

p118

p10: 7

p107

p11: 6

p116

m1 m2 m3 m4 m5 m6 m7 m8 m9

28

Page 272: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:29 Heuristik LPT 17∕17 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zu Heuristik 2 (Nur zwei Jobs pro Maschine)

p1:26

p126

p2:25

p225

p3:23

p323

p4:22

p422

p5:20

p520

p6:19

p619

p7:17

p717

p8:15

p815p9:14 p9

14p10:13

p1013

p11:11

p1111

p10:10

p1010

p11: 8

p118

p10: 7

p107

p11: 6

p116

m1 m2 m3 m4 m5 m6 m7 m8 m9

28

Page 273: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 274: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 275: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 276: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 277: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 278: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:30 Heuristik LPT 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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, miteinem 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:

1m⋅

n−1∑i=1

pi ≤ opt.

Damit nun im nächsten Schritt ein Faktor von τ auftritt muss gelten:

pn > 1/3 ⋅ opt.

Page 279: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 280: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 281: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 282: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 283: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 284: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 285: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 286: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:31 Heuristik LPT 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beweispn > 1

3 ⋅ opt

Wegen der Sortierung der Jobs gilt damit: ∀i ∶ pi >13 ⋅ opt.

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.

Page 287: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:32 Einleitung 1∕3 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation und Definition

Im nächsten Abschnitt soll das Scheduling auf identischen Maschinen miteinem beliebigen konstanten Faktor approximiert werden.Dabei wird die Lösung des folgenden Problems hilfreich sein.Bemerkung vorweg: Bin Packing entspricht einem Scheduling, bei der eseine Schranke b für den Makespan gibt.

Page 288: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:32 Einleitung 2∕3 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation und Definition

Im nächsten Abschnitt soll das Scheduling auf identischen Maschinen miteinem beliebigen konstanten Faktor approximiert werden.Dabei wird die Lösung des folgenden Problems hilfreich sein.Bemerkung vorweg: Bin Packing entspricht einem Scheduling, bei der eseine Schranke b für den Makespan gibt.

Page 289: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:32 Einleitung 3∕3 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation und Definition

Im nächsten Abschnitt soll das Scheduling auf identischen Maschinen miteinem beliebigen konstanten Faktor approximiert werden.Dabei wird die Lösung des folgenden Problems hilfreich sein.Bemerkung vorweg: Bin Packing entspricht einem Scheduling, bei der eseine Schranke b für den Makespan gibt.

Page 290: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 1∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 291: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 2∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 292: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 3∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 293: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 4∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 294: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 5∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 295: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 6∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 296: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 7∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 297: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 8∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 298: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 9∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 299: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 10∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 300: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:33 Einleitung 11∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

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.

Page 301: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 302: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 303: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 304: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 305: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 306: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:34 Algorithmus 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aussage

TheoremDas Bin Packing Problem mit eingeschränkten Gewichten kann in ZeitO((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 vomgleichen Gewicht.Nutze dynamische Programmierung.Untersuche die Anzahl der notwendigen Bins für ni Objekte mit Gewichtwi (1 ≤ i ≤ k).

Page 307: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 308: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 309: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 310: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 311: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 312: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:35 Algorithmus 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Sei f (n1,n2, . . . ,nk) die minimale Anzahl von Bins der Größe b, die niObjekte mit Gewicht wi (1 ≤ i ≤ k) aufnehmen können.Setze Q = {(q1,q2, . . . ,qk) ∣ f (q1,q2, . . . ,qk) = 1}, d.h. dieGewichtskombinationen, 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 eineLösung genau dann, wenn:

f (c1, c2, . . . , ck) ≤ m.

Page 313: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

0

Page 314: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

3

Page 315: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

6

Page 316: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

6

Page 317: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

p34

p44

8

Page 318: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

p34

p44

p55

8

Page 319: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

p34

p44

p55

p13

p34

8

Page 320: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

p34

p44

p55

p13

p34

p13

p55

8

Page 321: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:36 Algorithmus 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) }

Q = { (1,0,0), (2,0,0),(0,1,0), (0,2,0),(0,0,1), (1,1,0),(1,0,1) }

p13

p13

p23

p34

p34

p44

p55

p13

p34

p13

p55

8

Page 322: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 1∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 323: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 2∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 324: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 3∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 325: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 4∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 326: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 5∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 327: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 6∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 328: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 7∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 329: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 8∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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)

⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 330: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 9∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2)

⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 331: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 10∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2)

⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 332: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 11∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2)

⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2

f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 333: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 12∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3

f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 334: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 13∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2)

⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3

f (1,2,1)

⌈(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).

Page 335: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 14∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1)

⌈(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).

Page 336: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 15∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1)

= 3

⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 337: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 16∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1) = 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 338: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 17∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1) = 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 339: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 18∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1) = 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 340: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 19∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1) = 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 341: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:37 Algorithmus 20∕20 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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) ⌈(1 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (0,2,2) ⌈(0 ⋅ 3 + 2 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,1,2) ⌈(2 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (2,0,2) ⌈(2 ⋅ 3 + 0 ⋅ 4 + 2 ⋅ 5)/8⌉ = 2f (2,2,1) = 3 ⌈(2 ⋅ 3 + 2 ⋅ 4 + 1 ⋅ 5)/8⌉ = 3f (1,1,2) ⌈(1 ⋅ 3 + 1 ⋅ 4 + 2 ⋅ 5)/8⌉ = 3f (1,2,1) ⌈(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).

Page 342: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 1∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 343: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 2∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 344: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 3∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 345: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 4∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 346: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 5∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 347: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 6∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 348: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 7∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 349: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 8∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 350: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 9∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2)

⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 351: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 10∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2)

Keine Lösung

f (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 352: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 11∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2)

Keine Lösung

f (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 353: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 12∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1)

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2

f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 354: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 13∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2)

⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2

f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 355: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 14∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1)

= 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 356: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 15∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1)

= 1

⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 357: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 16∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 358: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 17∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 359: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:38 Algorithmus 18∕18 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((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{3, f (2,0,2), f (1,2,1)}

f (2,0,2) = 1 +min

⎧⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎩

f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (0,0,2) ⌈(0 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (2,0,2) Keine Lösungf (2,0,2) Keine Lösungf (2,0,1) ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 2f (1,0,2) ⌈(1 ⋅ 3 + 2 ⋅ 5)/8⌉ = 2f (1,0,1) = 1 ⌈(1 ⋅ 3 + 1 ⋅ 5)/8⌉ = 1

Damit gilt f (2,0,2) = 2.Und damit auch f (2,2,2) = 3.

Page 360: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

m1 m2 m3

0

Page 361: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

m1 m2 m3

0

Page 362: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

m1 m2 m3

3

Page 363: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

p55

m1 m2 m3

8

Page 364: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

p55

p23

m1 m2 m3

8

Page 365: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

p55

p23

p65

m1 m2 m3

8

Page 366: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

p55

p23

p65

p34

p44

m1 m2 m3

8

Page 367: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:39 Algorithmus 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

BeispielO((n + 1)k ⋅ (b + 1)k /k!)

Eingabe: m = 3, b = 8, c3 = 2, c4 = 2, c5 = 2.p1 = 3, p2 = 3, p3 = 4, p4 = 4, p5 = 5, p6 = 5.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{3, f (2,0,2), f (1,2,1)}f (2,0,2) = 1 +min{2, f (1,0,1)}f (1,0,1) = 1

p13

p55

p23

p65

p34

p44

m1 m2 m3

8

Page 368: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 369: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 370: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 371: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 372: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 373: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 374: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 375: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 376: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:40 Algorithmus 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Dynamische ProgrammierungO((n + 1)k ⋅ (b + 1)k /k!)

Parameter für f sind alle Tupel aus {0,1, . . . ,n}k .Speichere Werte für f in einer Tabelle der Größe (n + 1)k .Löse mittels Dynamischer Programmierung.

Laufzeitanalyse:Es sind (n + 1)k viele Tabelleneinträge zu berechnen.Jeder Tabelleneintrag kostet Zeit O(∣Q∣).Falls (q1,q2, . . . ,qk) ∈ Q, dann gilt qi ∈ {0,1, . . . , ⌊b/i⌋} füri ∈ {1,2, . . . k}.Damit passen auch nicht mehr als ⌊b/i⌋ Objekte in dieselbe Box.Daraus folgt: ∣Q∣ ≤ (b + 1)k

/k!.

Page 377: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 378: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 379: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 380: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 381: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 382: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 383: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:41 Einleitung 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Motivation

Bisher zwei gute einfache HeuristikenFrage: wie gut können wir das Scheduling Problem auf identischenMaschinen approximieren?Frage: gibt es da ggf. eine untere Schranke, oder kommen wir beliebignah an das Optimum heran?

Antwort: wir kommen beliebig nah an das Optimum, d.h.:Gegeben sei ein beliebiges kleines konstantes Epsilon ε.Dann gibt es einen Polynomzeit-Algorithmus, der bis auf einenFaktor von 1 + ε approximiert.Wichtig hier: die Laufzeit hängt von ε ab.

Page 384: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:42 Einleitung 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definition

Definition (PTAS)Ein Optimierungsproblem Π hat ein polynomielles Approximationsschema, fallses für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomieller Zeitberechnet werden kann (Bei einem Maximierungsproblem: (1 − ε)).

Definition (FPTAS)Ein Optimierungsproblem Π hat ein voll polynomielles Approximationsschema,falls es für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomiellerZeit in der Eingabegröße und 1/ε berechnet werden kann (Bei einemMaximierungsproblem: (1 − ε)).

Das Makespan Scheduling Problem ist stark NP-hart.Daher kann das Makespan Scheduling Problem kein FPTAS haben.

Page 385: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:42 Einleitung 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definition

Definition (PTAS)Ein Optimierungsproblem Π hat ein polynomielles Approximationsschema, fallses für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomieller Zeitberechnet werden kann (Bei einem Maximierungsproblem: (1 − ε)).

Definition (FPTAS)Ein Optimierungsproblem Π hat ein voll polynomielles Approximationsschema,falls es für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomiellerZeit in der Eingabegröße und 1/ε berechnet werden kann (Bei einemMaximierungsproblem: (1 − ε)).

Das Makespan Scheduling Problem ist stark NP-hart.Daher kann das Makespan Scheduling Problem kein FPTAS haben.

Page 386: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:42 Einleitung 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definition

Definition (PTAS)Ein Optimierungsproblem Π hat ein polynomielles Approximationsschema, fallses für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomieller Zeitberechnet werden kann (Bei einem Maximierungsproblem: (1 − ε)).

Definition (FPTAS)Ein Optimierungsproblem Π hat ein voll polynomielles Approximationsschema,falls es für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomiellerZeit in der Eingabegröße und 1/ε berechnet werden kann (Bei einemMaximierungsproblem: (1 − ε)).

Das Makespan Scheduling Problem ist stark NP-hart.Daher kann das Makespan Scheduling Problem kein FPTAS haben.

Page 387: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:42 Einleitung 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definition

Definition (PTAS)Ein Optimierungsproblem Π hat ein polynomielles Approximationsschema, fallses für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomieller Zeitberechnet werden kann (Bei einem Maximierungsproblem: (1 − ε)).

Definition (FPTAS)Ein Optimierungsproblem Π hat ein voll polynomielles Approximationsschema,falls es für jedes konstante ε > 0 eine (1 + ε)-Approximation in polynomiellerZeit in der Eingabegröße und 1/ε berechnet werden kann (Bei einemMaximierungsproblem: (1 − ε)).

Das Makespan Scheduling Problem ist stark NP-hart.Daher kann das Makespan Scheduling Problem kein FPTAS haben.

Page 388: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 1∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 389: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 2∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 390: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 3∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 391: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 4∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 392: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 5∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 393: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 6∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 394: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 7∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 395: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 8∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 396: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 9∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 397: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 10∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 398: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:43 Schema 11∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Aufbau der Idee

Teile die Jobs in große und kleine Jobs auf: G und K .

Die Gewichte der großen Jobs werden verändert.Herunterskaliert und geringfügig vergrößert.Dabei wird ein Fehler von ε in Kauf genommen.Dadurch wird der obige Algorithmus für Bin Packing anwendbar.

Die kleinen Jobs aus K werden in der zweiten Phase mittels Heuristikverteilt.

Da diese klein sind, werden sie nur einen kleinen Fehler erzeugen.

Problem dabei:Aufteilung nutzt das optimale Makespan.Skalierung nutzt das optimale Makespan.

Lösung: Approximiere das optimale Makespan mittels Binärsuche.

Page 399: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 400: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 401: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 402: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 403: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 404: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 405: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 406: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:44 Schema 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1:

1 Betrachte die großen Jobs: G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}.2 Skaliere die Größe der Jobs aus G :

p′i = ⌈pi

ε2Z⌉

3 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε) 1

ε2 ⌋ .

3 Phase 2:1 Betrachte die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}.2 Verteile die Jobs aus K nach der LL Heuristik.

Page 407: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 408: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 409: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 410: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 411: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 412: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 413: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:45 Beispiel zur Skalierung 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/2)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/2.Skalierung: {0, . . . ,1000}↦ {0, . . . ,4}

0 1000

0 4

0 4

Klein Groß

Page 414: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:46 Beispiel zur Skalierung 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/4)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/4.Skalierung: {0, . . . ,1000}↦ {0, . . . ,16}

0 1000

0 16

0 16

Klein Groß

Page 415: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:46 Beispiel zur Skalierung 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/4)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/4.Skalierung: {0, . . . ,1000}↦ {0, . . . ,16}

0 1000

0 16

0 16

Klein Groß

Page 416: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:46 Beispiel zur Skalierung 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/4)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/4.Skalierung: {0, . . . ,1000}↦ {0, . . . ,16}

0 1000

0 16

0 16

Klein Groß

Page 417: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:46 Beispiel zur Skalierung 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/4)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/4.Skalierung: {0, . . . ,1000}↦ {0, . . . ,16}

0 1000

0 16

0 16

Klein Groß

Page 418: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:46 Beispiel zur Skalierung 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/4)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/4.Skalierung: {0, . . . ,1000}↦ {0, . . . ,16}

0 1000

0 16

0 16

Klein Groß

Page 419: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:47 Beispiel zur Skalierung 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/10)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/10.Skalierung: {0, . . . ,1000}↦ {0, . . . ,100}

0 1000

0 100

0 100

Klein Groß

Page 420: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:47 Beispiel zur Skalierung 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/10)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/10.Skalierung: {0, . . . ,1000}↦ {0, . . . ,100}

0 1000

0 100

0 100

Klein Groß

Page 421: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:47 Beispiel zur Skalierung 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/10)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/10.Skalierung: {0, . . . ,1000}↦ {0, . . . ,100}

0 1000

0 100

0 100

Klein Groß

Page 422: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:47 Beispiel zur Skalierung 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/10)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/10.Skalierung: {0, . . . ,1000}↦ {0, . . . ,100}

0 1000

0 100

0 100

Klein Groß

Page 423: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:47 Beispiel zur Skalierung 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel zur Skalierung (1/10)Klein: pi ≤ εZGroß: pi > εZ

Skalierung: ⌈pi /(ε2Z)⌉Z = 1000 und ε = 1/10.Skalierung: {0, . . . ,1000}↦ {0, . . . ,100}

0 1000

0 100

0 100

Klein Groß

Page 424: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 425: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 426: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 427: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 428: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 429: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 430: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 431: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:48 Beweise 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beispiel zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Sei Z = 1000 und ε = 0.1.Dann ist p′′i =

piε2Z =

piε21000 =

pi10 .

Dann ist p′i = ⌈pi

ε2Z ⌉ = ⌈pi

ε21000 ⌉ = ⌈pi10 ⌉.

Sei beispielsweise pi = 101.Beispiel: p′′i = 101

ε2Z = 10110 = 10.1.

Beispiel: p′i = ⌈ 101ε2Z ⌉ = ⌈ 101

10 ⌉ = ⌈10.1⌉ = 11.

Damit ist für dieses Beispiel der relative Rundungsfehler:

p′i − p′′ip′′i

=11 − 10.110.1

=0.910.1

≤ 0.08911 ≤ ε

Das folgende Lemma zeigt, dass das im Allgemeinen gilt.

Page 432: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 433: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 434: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 435: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 436: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 437: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:49 Beweise 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis zur Skalierung)p′i = ⌈pi /(ε2Z)⌉

Lemma

Der relative Rundungsfehler p′i −p′′ip′′i

ist höchstens ε.

BeweisSei i ∈ G ein großer Job, d.h. pi ≥ εZ .Damit gilt:

p′′i ≥εZε2Z

=1ε.

Daraus und wegen p′i − p′′i ≤ 1 folgt nun:

p′i − p′′ip′′i

≤11/ε

= ε.

Folgerung:Das Aufrunden der skalierten Größen verändert diese um maximal einen Faktorvon 1 + ε.

Page 438: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 439: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 440: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 441: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 442: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 443: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:50 Beweise 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Beweis der Existenz eines Schedule)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaAuch für die veränderten Werte p′i und Z ′ gibt es ein korrektes Schedule.

Beweis:Für pi und Z gibt es ein Schedule.Damit gibt es auch ein Schedule für:

p′′i = pi/(ε2Z) und Z ′′

= Z/(ε2Z) = 1/ε2.

Durch das Aufrunden erhöht sich der Makespan höchstens um einenFaktor von (1 + ε). Also gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′′

= (1 + ε)/ε2.

Durch das Aufrunden p′ = ⌈p′′⌉ ist der Makespan ganzzahlig.Damit gibt es ein Schedule für:

p′i = ⌈pi/(ε2Z)⌉ und Z ′

= ⌊(1 + ε)/ε2⌋.

Page 444: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 445: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 446: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 447: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 448: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 449: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:51 Beweise 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Phase 1 (Anwendung von Bin Packing)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDie Werte k und b für die Anwendung des Bin Packing Algorithmus sind:

k = ⌈1ε2 ⌉ und b = Z ′

= ⌊1 + εε2 ⌋ .

Beweis:Die maximale Jobgröße ist Z .Damit ist die maximale Größe nach der Skalierung: ⌈Z/(ε2Z)⌉ = ⌈1/ε2

⌉.Dass b = Z ′ gilt, ist klar.

Folgerung

Die Laufzeit ist: O((n + 1)k⋅ (b + 1)k

/k!) = O(n⌈1/ε2⌉).

Page 450: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:52 Beweise 1∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:

Betrachte Jobs aus G (Phase 1):Der Makespan Z ′ kann höchstens um einen Faktor von ε2

⋅ Z größersein.Damit ist der Makespan für die Jobs aus G :

Z ′⋅ ε2

⋅ Z = ⌊1 + εε2 ⌋ ⋅ ε2

⋅ Z ≤ (1 + ε)Z .

Das ist eine (1 + ε)-Approximation.

Betrachte Jobs aus K (Phase 2) auf der nächsten Folie.

Page 451: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:52 Beweise 2∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:

Betrachte Jobs aus G (Phase 1):Der Makespan Z ′ kann höchstens um einen Faktor von ε2

⋅ Z größersein.Damit ist der Makespan für die Jobs aus G :

Z ′⋅ ε2

⋅ Z = ⌊1 + εε2 ⌋ ⋅ ε2

⋅ Z ≤ (1 + ε)Z .

Das ist eine (1 + ε)-Approximation.

Betrachte Jobs aus K (Phase 2) auf der nächsten Folie.

Page 452: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:52 Beweise 3∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:

Betrachte Jobs aus G (Phase 1):Der Makespan Z ′ kann höchstens um einen Faktor von ε2

⋅ Z größersein.Damit ist der Makespan für die Jobs aus G :

Z ′⋅ ε2

⋅ Z = ⌊1 + εε2 ⌋ ⋅ ε2

⋅ Z ≤ (1 + ε)Z .

Das ist eine (1 + ε)-Approximation.

Betrachte Jobs aus K (Phase 2) auf der nächsten Folie.

Page 453: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:52 Beweise 4∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:

Betrachte Jobs aus G (Phase 1):Der Makespan Z ′ kann höchstens um einen Faktor von ε2

⋅ Z größersein.Damit ist der Makespan für die Jobs aus G :

Z ′⋅ ε2

⋅ Z = ⌊1 + εε2 ⌋ ⋅ ε2

⋅ Z ≤ (1 + ε)Z .

Das ist eine (1 + ε)-Approximation.

Betrachte Jobs aus K (Phase 2) auf der nächsten Folie.

Page 454: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:52 Beweise 5∕5 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:

Betrachte Jobs aus G (Phase 1):Der Makespan Z ′ kann höchstens um einen Faktor von ε2

⋅ Z größersein.Damit ist der Makespan für die Jobs aus G :

Z ′⋅ ε2

⋅ Z = ⌊1 + εε2 ⌋ ⋅ ε2

⋅ Z ≤ (1 + ε)Z .

Das ist eine (1 + ε)-Approximation.

Betrachte Jobs aus K (Phase 2) auf der nächsten Folie.

Page 455: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 456: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 457: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 458: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 459: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 460: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 461: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:53 Beweise 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ApproximationsfaktorZ ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

LemmaDer obige Algorithmus bestimmt eine (1 + ε)-Approximation für einenminimalen Makespan.

Beweis:Jobs aus G (Phase 1) sind abgeschätzt.

Betrachte Jobs aus K (Phase 2):Falls die Jobs aus K den Makespan nicht erhöhen, gilt dieBehauptung.Sei i der Job, der einen erhöhten Makespan von L erzeugt.Wegen der LL Heuristik haben nach der Platzierung von K alleMaschinen eine Last von mindestens L − pi .Damit gilt für den optimalen Makespan: Z ≥ L − pi .Folglich: L ≤ Z + pi ≤ (1 + ε) ⋅ Z .

Page 462: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:54 Das Orakel 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Erinnerung und Vorüberlegungen)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Kann es das obige Orakel geben?Nein, denn dann könnten wir das Scheduling Problem effizient lösen.Da wir ja schon approximieren, brauchen wir auch Z auch nicht genau zubestimmen.Idee: versuche Halbierungssuche mit Hilfe des obigen Algorithmus.

Page 463: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:54 Das Orakel 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Erinnerung und Vorüberlegungen)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Kann es das obige Orakel geben?Nein, denn dann könnten wir das Scheduling Problem effizient lösen.Da wir ja schon approximieren, brauchen wir auch Z auch nicht genau zubestimmen.Idee: versuche Halbierungssuche mit Hilfe des obigen Algorithmus.

Page 464: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:54 Das Orakel 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Erinnerung und Vorüberlegungen)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Kann es das obige Orakel geben?Nein, denn dann könnten wir das Scheduling Problem effizient lösen.Da wir ja schon approximieren, brauchen wir auch Z auch nicht genau zubestimmen.Idee: versuche Halbierungssuche mit Hilfe des obigen Algorithmus.

Page 465: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:54 Das Orakel 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Erinnerung und Vorüberlegungen)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Kann es das obige Orakel geben?Nein, denn dann könnten wir das Scheduling Problem effizient lösen.Da wir ja schon approximieren, brauchen wir auch Z auch nicht genau zubestimmen.Idee: versuche Halbierungssuche mit Hilfe des obigen Algorithmus.

Page 466: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:55 Das Orakel 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Aufbau der Idee)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Es gibt Z∗≤ opt:

das Bin Packing ist lösbar, falls Z ≥ Z∗ gewählt wurde.

Mehr als m Maschinen Algorithmus nutzt nicht mehr als m Maschinen

opt

Z (1 + ε) ⋅ Z

Modifiziere Algorithmus so, dass er zu kleine Werte für Z erkennt.Falls Z aber zu groß ist, verlieren wir unseren Approximationsfaktor.Für eine (1 + ε)-Approximation muss gelten: Z∗

≤ Z ≤ opt.

Page 467: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:55 Das Orakel 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Aufbau der Idee)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Es gibt Z∗≤ opt:

das Bin Packing ist lösbar, falls Z ≥ Z∗ gewählt wurde.

Mehr als m Maschinen Algorithmus nutzt nicht mehr als m Maschinen

opt

Z (1 + ε) ⋅ Z

Modifiziere Algorithmus so, dass er zu kleine Werte für Z erkennt.Falls Z aber zu groß ist, verlieren wir unseren Approximationsfaktor.Für eine (1 + ε)-Approximation muss gelten: Z∗

≤ Z ≤ opt.

Page 468: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:55 Das Orakel 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Aufbau der Idee)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Es gibt Z∗≤ opt:

das Bin Packing ist lösbar, falls Z ≥ Z∗ gewählt wurde.

Mehr als m Maschinen Algorithmus nutzt nicht mehr als m Maschinen

opt

Z (1 + ε) ⋅ Z

Modifiziere Algorithmus so, dass er zu kleine Werte für Z erkennt.Falls Z aber zu groß ist, verlieren wir unseren Approximationsfaktor.Für eine (1 + ε)-Approximation muss gelten: Z∗

≤ Z ≤ opt.

Page 469: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:55 Das Orakel 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Aufbau der Idee)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

1 Ein Orakel liefert Z , den Wert des optimalen Makespan.2 Phase 1, die großen Jobs G = {i ∈ {1,2, . . . ,n} ∣ pi > εZ}:

1 Skaliere die Größe der Jobs aus G : p′i = ⌈pi/(ε2Z)⌉.

2 Bestimme Schedule mit Jobgrößen p′i mit Makespan

Z ′= ⌊(1 + ε)/ε2

⌋.

3 Phase 2, die kleinen Jobs: K = {i ∈ {1,2, . . . ,n} ∣ pi ≤ εZ}:1 Verteile die Jobs aus K nach der LL Heuristik.

Es gibt Z∗≤ opt:

das Bin Packing ist lösbar, falls Z ≥ Z∗ gewählt wurde.

Mehr als m Maschinen Algorithmus nutzt nicht mehr als m Maschinen

optZ (1 + ε) ⋅ Z

Modifiziere Algorithmus so, dass er zu kleine Werte für Z erkennt.Falls Z aber zu groß ist, verlieren wir unseren Approximationsfaktor.Für eine (1 + ε)-Approximation muss gelten: Z∗

≤ Z ≤ opt.

Page 470: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 1∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 471: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 2∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 472: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 3∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 473: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 4∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 474: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 5∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 475: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 6∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 476: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 7∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 477: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 8∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 478: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:56 Das Orakel 9∕9 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Das Orakel (Halbierungssuche)Z ′ = ⌊(1 + ε)/(ε2)⌋, p′i = ⌈pi /(ε2Z)⌉

Suche Z∗ mit Binärsuche:Starte mit S = ∑

ni=1 pi (Obere Schranke für Makespan).

Damit ist der Wertebereich für die Binärsuche: {1,2, . . . ,S}.Anzahl der Aufrufe vom Algorithmus: O(logS).Sei N die Länge der Eingabe in Bits. Dann gilt: logS ≤ N.Anzahl der Aufrufe vom Algorithmus: O(N).Gesamtlaufzeit: O(N ⋅ n⌈1/ε2⌉

)

TheoremEs gibt ein PTAS für das Makespan-Scheduling-Problem auf identischenMaschinen.

Page 479: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 480: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 481: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 482: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 483: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 484: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 485: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 486: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:57 Einleitung 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf Maschinen mit Geschwindigkeiten)Das Makespan Scheduling Problem auf Maschinen mit Geschwindigkeiten:

Gegeben:p1,p2, . . . ,pn ∈N (d.h. n Jobs der Länge pi).s1, s2, . . . , sm ∈N (d.h. m Maschinen mit Geschwindigkeit si).

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j

pisj

ist minimal.

Bemerkung:Das Scheduling auf Maschinen mit Geschwindigkeiten kann analog wie dasMakespan-Scheduling-Problem auf identischen Maschinen gelöst werden.

Page 487: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 488: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 489: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 490: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 491: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 492: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 493: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:58 Einleitung 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Definitionen

Definition (Scheduling auf allgemeinen Maschinen)Das Makespan Scheduling Problem auf allgemeinen Maschinen:

Gegeben:n Jobs und m Maschinen mit Laufzeiten:pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.D.h. Job i hat auf Maschine j eine Laufzeit von pi,j .

Gesucht:f ∶ {1,2, . . . ,n}↦ {1,2, . . . ,m}, (d.h. Zuweisung der Jobs aufMaschinen).Mit maxj∈{1,2,...,m}∑i∈{1,2,...,n}∧f (i)=j pi,j ist minimal.

Page 494: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 1∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 495: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 2∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 496: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 3∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 497: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 4∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 498: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 5∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 499: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 6∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 500: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 7∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 501: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 8∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 502: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 9∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 503: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 10∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 504: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:59 ILP 11∕11 < > Walter Unger 15.7.2015 11:04 SS2015 Z

ILP FormulierungWir stellen das Problem als Gleichungssystem dar.Die Werte sind aber nicht aus R sondern aus N.So ein Gleichungssystem wird ILP (Integer Linear Programm) genannt.

Variablen xi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.Variable t ∈N.Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j∈{1,2,...,m} xi,j ≥ 1∀j ∈ {1,2, . . . ,m} ∶ ∑i∈{1,2,...,n} xi,j ⋅ pi,j ≤ t∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ xi,j ∈ {0,1}

Ziel: minimiere t.So ein Gleichungssystem kann nicht in Polynomzeit gelöst werden, unterder Annahme P /= NP.Aber ein relaxierte Variante ist in Polynomzeit lösbar:

∀i ∈ {1,2, . . . ,n}, j ∈ {1,2, . . . ,m} ∶ 0 ≤ xi,j ≤ 1.

Diese Variante kann aber schlecht zu einer guten Approximation führen.In der relaxierten Variante gilt: n = 1 ∧ p1,j = 1Ô⇒ t = 1/m.

Page 505: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 506: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 507: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 508: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 509: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 510: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:60 ILP 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Alternative ILP Formulierung

Falls der optimale Makespan T bekannt ist (Idee mit dem Orakel),erhalten wir ein besseres Gleichungssystem.Definiere ST = {(i , j) ∈ {1,2, . . . ,n} × {1,2, . . . ,m} ∣ pi,j ≤ T}.

Damit erhalten wir folgendes relaxiertes Gleichungssystem:Variablen xi,j für (i , j) ∈ ST .Notwendige Bedingungen (Nebenbedingungen)

∀i ∈ {1,2, . . . ,n} ∶ ∑j ∶(i,j)∈STxi,j ≥ 1

∀j ∈ {1,2, . . . ,m} ∶ ∑i ∶(i,j)∈STxi,j ⋅ pi,j ≤ T

∀(i , j) ∈ ST ∶ xi,j ≥ 0

Ziel: finde eine Lösung.

Page 511: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:61 ILP 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4

m5 m6

j1 j2 j3 j4 j5 j6

m1 m2 m3 m4Σ = 0

Ein Job kann aufgespalten und mehreren Maschinen zugeteilt werden(siehe j1).Ein Job kann vollständig auf eine Maschine zugeteilt werden (siehe j2).Eine Maschine kann vollständige und aufgespaltene Jobs bekommen(siehe m6).Im Folgenden müssen diese “halben” Jobs eindeutig auf eine Maschinezugewiesen werden.

Page 512: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:61 ILP 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5

m6

j1

j2

j3 j4 j5 j6

1

m1 m2 m3 m4 m5

j2

Σ = 0

Ein Job kann aufgespalten und mehreren Maschinen zugeteilt werden(siehe j1).Ein Job kann vollständig auf eine Maschine zugeteilt werden (siehe j2).Eine Maschine kann vollständige und aufgespaltene Jobs bekommen(siehe m6).Im Folgenden müssen diese “halben” Jobs eindeutig auf eine Maschinezugewiesen werden.

Page 513: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:61 ILP 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j61 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job kann aufgespalten und mehreren Maschinen zugeteilt werden(siehe j1).Ein Job kann vollständig auf eine Maschine zugeteilt werden (siehe j2).Eine Maschine kann vollständige und aufgespaltene Jobs bekommen(siehe m6).Im Folgenden müssen diese “halben” Jobs eindeutig auf eine Maschinezugewiesen werden.

Page 514: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:61 ILP 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j61 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job kann aufgespalten und mehreren Maschinen zugeteilt werden(siehe j1).Ein Job kann vollständig auf eine Maschine zugeteilt werden (siehe j2).Eine Maschine kann vollständige und aufgespaltene Jobs bekommen(siehe m6).Im Folgenden müssen diese “halben” Jobs eindeutig auf eine Maschinezugewiesen werden.

Page 515: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 516: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 517: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 518: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 519: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 520: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 521: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 522: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:62 Algorithmus 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Algorithmus (Überblick)

1 Eingabe: pi,j für i ∈ {1,2, . . . ,n} und j ∈ {1,2, . . . ,m}.2 Orakel bestimmt T3 Bestimme Alternative ILP Formulierung ILP(T).4 Relaxiere ILP(T) zu LP(T).5 Bestimme eine zulässige Basislösung B für LP(T).6 Aus der Basislösung B bestimme durch geeignetes Auf- und Abrunden

eine Lösung mit Approximationsfaktor 2.

Das Bestimmen der Basislösung B für LP(T) erfolgt in Polymonzeit mitHilfe der so genannten Elliqsoidmethode.

Page 523: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:63 Algorithmus 1∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

1 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job i mit xi,j = 1 kann eindeutig auf mj zugewiesen werden.Ein Job i mit 0 < xi,j < 1 kann ggf. auf mj zugewiesen werden.Wird Job i mit 0 < xi,j < 1 auf mj zugewiesen, so kann i nicht mehr anmj′ /= mj mit 0 < xi,j′ < 1 zugewiesen werden.

Page 524: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:63 Algorithmus 2∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

1 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job i mit xi,j = 1 kann eindeutig auf mj zugewiesen werden.Ein Job i mit 0 < xi,j < 1 kann ggf. auf mj zugewiesen werden.Wird Job i mit 0 < xi,j < 1 auf mj zugewiesen, so kann i nicht mehr anmj′ /= mj mit 0 < xi,j′ < 1 zugewiesen werden.

Page 525: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:63 Algorithmus 3∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

1 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job i mit xi,j = 1 kann eindeutig auf mj zugewiesen werden.Ein Job i mit 0 < xi,j < 1 kann ggf. auf mj zugewiesen werden.Wird Job i mit 0 < xi,j < 1 auf mj zugewiesen, so kann i nicht mehr anmj′ /= mj mit 0 < xi,j′ < 1 zugewiesen werden.

Page 526: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:63 Algorithmus 4∕4 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Situation

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

1 1 1 1 1 1 1 1 1

m1 m2 m3 m4 m5 m6

j1 j2 j3 j4 j5 j6

Σ = 0

Ein Job i mit xi,j = 1 kann eindeutig auf mj zugewiesen werden.Ein Job i mit 0 < xi,j < 1 kann ggf. auf mj zugewiesen werden.Wird Job i mit 0 < xi,j < 1 auf mj zugewiesen, so kann i nicht mehr anmj′ /= mj mit 0 < xi,j′ < 1 zugewiesen werden.

Page 527: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 1∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 528: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 2∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 529: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 3∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 530: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 4∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 531: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 5∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 532: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 6∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 533: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 7∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 534: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:64 Algorithmus 8∕8 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Anzahl der Variablen xi ,j mit xi ,j = 0

LemmaIn der Basislösung B für LP(T) haben höchstens n +m Variablen xi,j einenWert xi,j > 0.

Beweis:Sei D die Anzahl der Variablen in LP(T).Sei C die Anzahl der Nebenbedingungen (Ungleichungen) in LP(T).Dann gilt:

D = ∣ST ∣ ≤ m ⋅ n und C = D + n +m.

In der Basislösung B sind mindestens D der Nebenbedingungen exakterfüllt.Also sind C −D = n +m viele Nebenbedingungen nicht exakt erfüllt.Also sind höchsten n +m der Nebenbedingungen der Form xi,j ≥ 0 nichtexakt erfüllt.Damit haben alle, bis auf höchstens n +m Variablen, den Wert 0.

Page 535: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 536: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 537: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 538: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 539: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 540: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 541: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:65 Allokationsgraph 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

Definition (Allokationsgraph)Seien xi,j die Werte der Lösung für das ILP(T). Dann ist G = (J ,M,E) derAllokationsgraph für ILP(T), falls:

J = {vi ∣ i ∈ {1,2, . . . ,n}},M = {wj ∣ j ∈ {1,2, . . . ,m}} undE = {(vi ,wj) ∣ xi,j > 0}.

LemmaSei G der Allokationsgraph für ILP(T) und sei G zusammenhängend. Dann istG ein Baum oder G − e ist ein Baum für geeignetes e.

Beweis:G hat m + n viele Knoten und höchstens m + n viele Kanten.Ein Baum mit k Knoten hat höchstens k − 1 viele Kanten.D.h. G enthält höchstens einen Kreis.

Page 542: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:66 Allokationsgraph 1∕2 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

a b c d

e

f

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

e

f

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Page 543: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:66 Allokationsgraph 2∕2 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel

a b c d

e

f

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

e

f

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Page 544: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 545: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 546: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 547: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 548: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 549: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:67 Allokationsgraph 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Allokationsgraph

LemmaSei G = (V , J ,M) der Allokationsgraph für ILP(T) und sei G ′

Zusammenhangskomponente von G. Dann ist G ′ ein Baum oder G ′− e ist ein

Baum für ein geeignetes e.

Beweis:Sei G ′

= (V ′,W ′,E ′) eine beliebige Zusammenhangskomponente von G .

Das Tupel (V ′,W ′) definiert ein eingeschränktes Scheduling Problem.

Sei nun LP ′(T) die Relaxierung dieses eingeschränkten Problems.

Wird Basislösung B auf die Variablen aus V ′∪W ′ eingeschränkt, so

erhalten wir eine Lösung für LP ′(T).

Nach obigen Lemma gilt nun:

G ′ ein Baum oder G ′− e ist eine Baum für geeignetes e.

Page 550: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 1∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 551: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 2∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → m

s → mz → yr → qc → if → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1

Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 552: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 3∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → m

z → yr → qc → if → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1

Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 553: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 4∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → y

r → qc → if → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1

Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 554: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 5∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → q

c → if → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1

Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 555: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 6∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → i

f → mw → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1

Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 556: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 7∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → m

w → yn → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1

Cyan: 0 < xi,j < 1

Page 557: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 8∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → y

n → gh → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1

Cyan: 0 < xi,j < 1

Page 558: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 9∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → g

h → ij → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 559: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 10∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → gh → i

j → qp → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 560: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 11∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → gh → ij → q

p → ou → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 561: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 12∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → gh → ij → qp → o

u → t

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 562: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:68 Allokationsgraph 13∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Beispiel (Jobs sind die rot markierten Knoten)

l → ms → mz → yr → qc → if → mw → yn → gh → ij → qp → ou → t a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

a b c d

ef

g h

i

j k

m n

o

p

q r

l

s t u v w

x

y z

Σ = 0

Rot: xi,j = 1 Blau: 0 < xi,j < 1 Cyan: 0 < xi,j < 1

Page 563: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 1∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 564: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 2∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 565: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 3∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 566: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 4∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 567: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 5∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 568: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 6∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 569: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 7∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 570: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 8∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 571: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 9∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 572: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 10∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 573: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 11∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 574: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 12∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 575: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:69 Allokationsgraph 13∕13 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Runden mit Hilfe des Allokationsgraphen

Gegeben sei G = (J ,M,E) der Allokationsgraph für ILP(T) undVariablenwerte xi,j aus der Basislösung.Betrachte ungeteilte Jobs, d.h. xi,j = 1:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪M.

Nachdem alle ungeteilten Jobs zugewiesen worden sind, hat derverbleibende Graph G keine Blätter aus J .Betrachte geteilte Jobs, d.h. 0 < xi,j < 1:

Berechne einseitig perfektes Matching für M.Falls wj ein isolierter Knoten ist, entferne ihn aus G .Falls wj ∈ M ein Blatt (Knoten vom Grad 1) ist und vi dereindeutige Nachbar von wj , dann setze:

Setze f (i) = j undsetze G = G ∣(J ∖ {vi}) ∪ (M ∖ {wj}).

Falls G = (J ,M,E) einen Kreis C von Knoten vom Grad 2 enthält,dann bestimme perfektes Matching M auf C .Setze für (vi ,wj) ∈ M ∶ f (i) = j und entferne C aus G .

Page 576: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 577: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 578: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 579: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 580: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 581: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 582: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:70 Allokationsgraph 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Approximation

TheoremDer obige Algorithmus bestimmt eine 2-Approximation für das allgemeineMakespan Scheduling Problem.

Beweis:Die Verteilung der ungeteilten Jobs erzeugt auf jeder Maschine eine Lastvon höchstens T .

Für die geteilten Jobs gilt:xi,j > 0 und damit (i , j) ∈ ST .Damit gilt: pi,j ≤ T .Jede Maschine erhält höchstens einen ungeteilten Job zugewiesen.Damit ergibt sich eine maximale Lastzunahme von T für jedeMaschine.

Page 583: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 1∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 584: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 2∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 585: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 3∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 586: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 4∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 587: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 5∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 588: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:71 Aussagen 6∕6 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Nichtapproximierbarkeit

Die folgenden Probleme sind MAX-SNP schwer:Vertex CoverZentrumsproblem∆-TSPSteiner-Baum

D.h. für diese gibt es kein PTAS.

Page 589: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 1∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 590: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 2∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 591: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 3∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 592: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 4∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 593: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 5∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 594: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 6∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 595: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:72 Aussagen 7∕7 < > Walter Unger 15.7.2015 11:04 SS2015 Z

Fragen

Wie kann das Problem Set-Cover approximiert werden? Welche untereSchranken sind dazu bekannt?Wie arbeitet die LL Heuristik?Wie arbeitet die LPT Heuristik?Wie ist die Güte der LL Heuristik? Wie ist der Beweis?Wie ist die Güte der LPT Heuristik? Wie ist der Beweis?Wie arbeitet das Approximationsschema für Makespan Scheduling? Wieist die Beweisidee?Wie kann des Makespan Problem auf allgemeinen Maschinenapproximiert werden? Wie ist die Beweisidee?

Page 596: Effiziente Algorithmen (SS2015)

Set Cover Scheduling Bin Packing Approximationsschema Allgemeine Maschinen APX

5:73 Aussagen < > Walter Unger 15.7.2015 11:04 SS2015 Z

Legende

: Nicht relevant: Grundlagen, die implizit genutzt werden: Idee des Beweises oder des Vorgehens: Struktur des Beweises oder des Vorgehens: Vollständiges Wissen