1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

67
1 Kombinatorische Kombinatorische Algorithmen für Algorithmen für Scheduling- und Scheduling- und Packungsprobleme Packungsprobleme Rob van Stee Rob van Stee 23. Oktober 2006 23. Oktober 2006

Transcript of 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

Page 1: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

11

Kombinatorische Kombinatorische Algorithmen für Algorithmen für Scheduling- und Scheduling- und

PackungsproblemePackungsprobleme

Rob van SteeRob van Stee

23. Oktober 200623. Oktober 2006

Page 2: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

22

ÜbersichtÜbersicht ApproximationsalgorithmenApproximationsalgorithmen Online-AlgorithmenOnline-Algorithmen Unit-ClusteringUnit-Clustering (Epstein, vS, neu)(Epstein, vS, neu) Strip-Packing Strip-Packing

(Epstein, vS, (Epstein, vS, WAOA 2004WAOA 2004; Jansen, vS, ; Jansen, vS, STOC STOC 20052005))

Scheduling auf einer Maschine Scheduling auf einer Maschine (vS und La Poutre, (vS und La Poutre, JAlg 2005JAlg 2005))

Page 3: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

33

ApproximationsalgorithmApproximationsalgorithmenen Viele praktische Probleme sind Viele praktische Probleme sind

nicht in polynomieller Zeit lösbar nicht in polynomieller Zeit lösbar (oder P=NP…) (oder P=NP…)

Was machen wir damit?Was machen wir damit?– Aufgeben, zu schwierigAufgeben, zu schwierig– Exponentielle Zeit benutzen Exponentielle Zeit benutzen

(Heuristiken)(Heuristiken)– ApproximationsalgorithmenApproximationsalgorithmen

Page 4: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

44

ApproximationsalgorithmApproximationsalgorithmenen Arbeiten in polynomieller ZeitArbeiten in polynomieller Zeit Produzieren eine Lösung die Produzieren eine Lösung die

garantiertgarantiert relativ gutrelativ gut ist ist Was bedeutet das?Was bedeutet das? Approximationsverhältnis: Approximationsverhältnis:

Vergleich mit der optimalen Vergleich mit der optimalen LösungLösung

Page 5: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

55

ApproximationsverhältniApproximationsverhältniss Höchstmögliche Verhältnis Höchstmögliche Verhältnis

zwischen den Kosten des zwischen den Kosten des Algorithmus und den optimalen Algorithmus und den optimalen KostenKosten

Schlimmster Fall bestimmt Schlimmster Fall bestimmt Verhältnis, deshalb Verhältnis, deshalb GarantieGarantie

)()(

OPTALG

sup

Page 6: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

66

Online-AlgorithmenOnline-Algorithmen Auch hat man in der Praxis oft Auch hat man in der Praxis oft keine keine

vollständige Informationvollständige Information Beispiel:Beispiel:

– Aufträge kommen während des Aufträge kommen während des Arbeitstages anArbeitstages an

– Sollten Maschinen oder Mitarbeitern Sollten Maschinen oder Mitarbeitern zugewiesen werdenzugewiesen werden

– Kann nicht warten bis der Tag vorbei Kann nicht warten bis der Tag vorbei ist…ist…

Page 7: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

77

Online-AlgorithmenOnline-Algorithmen Arbeiten ohne vollständige Arbeiten ohne vollständige

KenntnisseKenntnisse Produzieren Produzieren TeillösungenTeillösungen während während

Information bekannt wirdInformation bekannt wird Dürfen evtl. Dürfen evtl. exponentielleexponentielle Zeit Zeit

benutzen (lieber nicht natürlich)benutzen (lieber nicht natürlich) Wie gute Lösungen kann man finden Wie gute Lösungen kann man finden

im Vergleich zur optimalen Lösung?im Vergleich zur optimalen Lösung?

Page 8: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

88

KompetitivitätsverhältKompetitivitätsverhältnisnis Genauso definiert wie Genauso definiert wie

Approximationsverhältnis:Approximationsverhältnis: Vergleich ist mit der optimalen Vergleich ist mit der optimalen

Lösung, die nur mit vollständiger Lösung, die nur mit vollständiger Kenntnis gefunden werden kannKenntnis gefunden werden kann

Nicht die Laufzeit, sondern der Nicht die Laufzeit, sondern der Mangel an InformationenMangel an Informationen ist das ist das ProblemProblem

)()(

OPTALG

sup

Page 9: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

99

ÜbersichtÜbersicht ApproximationsalgorithmenApproximationsalgorithmen Online-AlgorithmenOnline-Algorithmen Unit-ClusteringUnit-Clustering

– AlgorithmusAlgorithmus– Untere SchrankeUntere Schranke

Strip-Packing Strip-Packing Scheduling auf einer MaschineScheduling auf einer Maschine

Page 10: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1010

Clustering-ProblemeClustering-Probleme Allgemein: verteile eine Menge Allgemein: verteile eine Menge

von Punkten in Gruppen, damit von Punkten in Gruppen, damit eine Funktion optimiert wirdeine Funktion optimiert wird

Fundamentales ProblemFundamentales Problem Viele Anwendungen:Viele Anwendungen:

– Data miningData mining– Facility location Facility location – ……

Page 11: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1111

Clustering-ProblemeClustering-Probleme k-Zentrenk-Zentren: decke n Punkte mit : decke n Punkte mit

höchstens k Bällen ab, minimiere höchstens k Bällen ab, minimiere Durchmesser des größten BallesDurchmesser des größten Balles

Unit-CoveringUnit-Covering: decke n Punkte mit : decke n Punkte mit Einheitsbällen ab, minimiere Anzahl Einheitsbällen ab, minimiere Anzahl der Bälle (der Bälle (Charikar et al.Charikar et al. [SICOMP 2004][SICOMP 2004] ) )

Beide Probleme sind NP-hart auf Beide Probleme sind NP-hart auf der Ebeneder Ebene

Page 12: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1212

Unit-Unit-ClusteringClustering Chan und Zadeh Chan und Zadeh [WAOA 2006][WAOA 2006] Decke n Punkte mit Bällen abDecke n Punkte mit Bällen ab Jeder Ball hat einen Durchmesser Jeder Ball hat einen Durchmesser

von von höchstenshöchstens 1 1 Minimiere die Anzahl der BälleMinimiere die Anzahl der Bälle Offline: identisch mit Unit-CoveringOffline: identisch mit Unit-Covering Online: Online: PositionPosition von Bällen liegt von Bällen liegt

nicht sofort fest!nicht sofort fest!

Page 13: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1313

Unit-ClusteringUnit-Clustering Wir betrachten nur eine DimensionWir betrachten nur eine Dimension Problem ist äquivalent mit Problem ist äquivalent mit dualen dualen

ProblemProblem: finde größte Teilmenge : finde größte Teilmenge disjunkter Intervallen in einer Menge disjunkter Intervallen in einer Menge von Einheitsintervallenvon Einheitsintervallen

Oder: finde Oder: finde maximale unabhängige maximale unabhängige MengeMenge in Einheitsintervallgraphen in Einheitsintervallgraphen

Page 14: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1414

Definition des Definition des ProblemsProblems Eingaben sind Punkte auf der Eingaben sind Punkte auf der

GeradenGeraden Jeder Punkt sollte Jeder Punkt sollte einemeinem Cluster Cluster

zugewiesen werdenzugewiesen werden Zuweisung kann nicht mehr geändert Zuweisung kann nicht mehr geändert

werdenwerden Ein Cluster hat eine Größe von Ein Cluster hat eine Größe von

höchstens 1höchstens 1 Ziel: minimiere Anzahl der ClusterZiel: minimiere Anzahl der Cluster

Page 15: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1515

Offline Unit ClusteringOffline Unit Clustering Fange links an, definiere ein Fange links an, definiere ein

ClusterCluster Falls noch ein Punkt unbedeckt, Falls noch ein Punkt unbedeckt,

definiere neues Cluster usw.definiere neues Cluster usw. Gibt optimale LösungGibt optimale Lösung

Page 16: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1616

OnlineOnline Unit-Clustering Unit-Clustering Chan und Zadeh [WAOA 2006]:Chan und Zadeh [WAOA 2006]:

– Einfache Algorithmen haben Einfache Algorithmen haben Kompetitivitätsverhältnis 2Kompetitivitätsverhältnis 2

– Randomisierter Algorithmus mit Randomisierter Algorithmus mit 1,8751,875– Untere Schranken:Untere Schranken:

Randomisiert Randomisiert 4/34/3 Deterministisch Deterministisch 3/23/2

Wir verbessern Wir verbessern diesediese Ergebnisse Ergebnisse

Page 17: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1717

OnlineOnline Unit-Clustering Unit-Clustering Unsere Ergebnisse:Unsere Ergebnisse:

– Randomisierter Algorithmus mit Randomisierter Algorithmus mit 1,8751,875

– Untere Schranken:Untere Schranken: Randomisiert Randomisiert 4/34/3 Deterministisch Deterministisch 3/23/2

Deterministischer1,75 ------

---- 3/2---- 1,6

Page 18: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1818

Einfache AlgorithmenEinfache Algorithmen

Wenn neuer Punkt p nicht in ein Wenn neuer Punkt p nicht in ein bereits definiertes Cluster passt:bereits definiertes Cluster passt:

ZentriertZentriert: p ist Mittelpunkt des : p ist Mittelpunkt des neuen Clustersneuen Clusters

GridGrid: Alle Cluster sind von der : Alle Cluster sind von der Form [i, i+1)Form [i, i+1)

GreedyGreedy: definiere neues Cluster: definiere neues Cluster

Page 19: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

1919

Untere SchrankenUntere Schranken ZentriertZentriert::

Diese untere Schranke Diese untere Schranke funktioniert auch für funktioniert auch für GridGrid (Punkte (Punkte sind 1/2, 3/2, 5/2,…)sind 1/2, 3/2, 5/2,…)

Page 20: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2020

Untere SchrankenUntere Schranken GreedyGreedy::

Page 21: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2121

VerbesserungVerbesserung Wie kommt man unter 2?Wie kommt man unter 2? Chan und Zadeh benutzen Chan und Zadeh benutzen

RandomisierungRandomisierung Geht es auch ohne?Geht es auch ohne? Die untere Schranke für Greedy Die untere Schranke für Greedy

zeigt, dass diese Situation zeigt, dass diese Situation schlecht ist:schlecht ist:

Page 22: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2222

Paare von ClusternPaare von Clustern

Wir vermeiden diese Lage, damit Wir vermeiden diese Lage, damit wir Cluster wir Cluster zusammenschmiedenzusammenschmieden falls möglichfalls möglich

- Mindestens ein optimales Cluster muss ganz im Paar erhalten sein

- Beide Cluster haben jetzt Größe 1

Page 23: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2323

AnalyseAnalyse Höchstens an Höchstens an einereiner Seite von einem Seite von einem

Paar kann ein optimales Cluster Paar kann ein optimales Cluster herausstehenherausstehen

Punkt in der Mitte muss bedeckt Punkt in der Mitte muss bedeckt sein!sein!

OPT 1OPT 2

Page 24: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2424

AnalyseAnalyse Eine Eine GruppeGruppe ist eine Serie von ist eine Serie von

Online-Clustern Online-Clustern verbundenverbunden durch durch Offline-ClusternOffline-Clustern

Page 25: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2525

AnalyseAnalyse Jedes Jedes PaarPaar ist das rechte oder das ist das rechte oder das

linke Ende einer Gruppelinke Ende einer Gruppe Auf jede Gruppe ist das Auf jede Gruppe ist das

Kompetitivi-tätsverhältnis Kompetitivi-tätsverhältnis höchstens höchstens 7/47/4

Page 26: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2626

Untere Schranke: 1,6Untere Schranke: 1,6

Sonst Kompetitivitätsverhältnis25/3 Kompetitivitätsverhältnis

X

Page 27: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2727

Untere Schranke: 1,6Untere Schranke: 1,6

Kompetitivitätsverhältnis5/3

Page 28: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2828

Untere Schranke: 1,6Untere Schranke: 1,6

OPT = 4Sonst Kompetitivitätsverhältnis7/4

OPT = 5 Kompetitivitätsverhältnis 8/5

Page 29: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

2929

Zusammenfassung Zusammenfassung Unit- ClusteringUnit- Clustering 1,751,75-kompetitiver Algorithmus-kompetitiver Algorithmus Untere Schranke Untere Schranke 1,61,6 Randomisierte untere Schranke Randomisierte untere Schranke 3/23/2 Geht es noch besser? Vielleicht mit Geht es noch besser? Vielleicht mit

Randomisierung?Randomisierung? Vermutung: echte Vermutung: echte

(deterministische) Schranke ist (deterministische) Schranke ist 5/35/3..

Page 30: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3030

ÜbersichtÜbersicht ApproximationsalgorithmenApproximationsalgorithmen Online algorithmenOnline algorithmen Unit ClusteringUnit Clustering Strip-PackingStrip-Packing

– 3/2 – Approximation 3/2 – Approximation [Epstein, vS, [Epstein, vS, WAOA2004WAOA2004]]

– APTAS APTAS [Jansen, vS, [Jansen, vS, STOC2005STOC2005]] Scheduling auf einer MaschineScheduling auf einer Maschine

Page 31: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3131

Asymptotisches Asymptotisches LeistungsverhältnisLeistungsverhältnis Leistungsmaß für Bin- und Strip-Leistungsmaß für Bin- und Strip-

Packing-AlgorithmenPacking-Algorithmen Idee: vergleiche Anzahl der benutzten Idee: vergleiche Anzahl der benutzten

Behälter zur optimalen Anzahl, für Behälter zur optimalen Anzahl, für große Eingabengroße Eingaben

Worst-case LeistungsgarantieWorst-case Leistungsgarantie

)()(

OPTALG

sup

nOPTRn

A )(suplim

Page 32: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3232

Strip-PackingStrip-Packing Packe Rechtecke auf einen Packe Rechtecke auf einen

StripStrip Nur orthogonale PackungenNur orthogonale Packungen Keine ÜberschneidungenKeine Überschneidungen Ziel: minimiere max. HöheZiel: minimiere max. Höhe Kenyon und Rémila Kenyon und Rémila [FOCS’96, [FOCS’96,

Math OR 2000]Math OR 2000] geben AFPTAS geben AFPTAS

Page 33: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3333

DrehungeDrehungenn Jetzt nehmen wir an, dass Objekte Jetzt nehmen wir an, dass Objekte

über 90 Grad gedreht werden über 90 Grad gedreht werden könnenkönnen

Wie können wir sie effizient Wie können wir sie effizient packen?packen?

Für jedes Objekt müssen wir eine Für jedes Objekt müssen wir eine Orientierung bestimmenOrientierung bestimmen

Viele Möglichkeiten...Viele Möglichkeiten...

Page 34: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3434

Drehbare Objekte (2-d)Drehbare Objekte (2-d) Wir können auswählen, welche Wir können auswählen, welche

Dimension vertikal gepackt wirdDimension vertikal gepackt wird Objekt Objekt ii wird notiert mit wird notiert mit Höhe und Breite sind Zahlen Höhe und Breite sind Zahlen

zwischen 0 und 1zwischen 0 und 1

iiii hwhw ),,(

Page 35: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3535

Eine einfache 3/2-Eine einfache 3/2-approximation approximation [EvS, WAOA [EvS, WAOA 2004]2004]

Algorithmus:• Stapele große ObjekteAlgorithmus:• Stapele große Objekte• Füge kleine Objekte an

rechte Seite hinzu

Algorithmus:• Stapele große Objekte• Füge kleine Objekte an

rechte Seite hinzu• Stelle weitere mittlere

und kleine Objekte darauf

)2/1( iw

)3/1( iw1h

Page 36: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3636

Die Approximierung Die Approximierung verbessernverbessern Wie können wir unter 3/2 geraten?Wie können wir unter 3/2 geraten? Der einfache Algorithmus hat nur Der einfache Algorithmus hat nur

die Objekte > ½ optimal gepacktdie Objekte > ½ optimal gepackt Wir werden jetzt mehr Objekte Wir werden jetzt mehr Objekte

optimal packen müssenoptimal packen müssen Z.B., wie finden wir die optimale Z.B., wie finden wir die optimale

Packung für Objekte breiter als 1/3?Packung für Objekte breiter als 1/3?

Page 37: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3737

Ein einfacher FallEin einfacher Fall Es gibt Es gibt aa unterschiedliche Höhen und unterschiedliche Höhen und

bb unterschiedliche Breiten unterschiedliche Breiten Deshalb höchstens Deshalb höchstens abab Gruppen Gruppen In einer Gruppe der Größe In einer Gruppe der Größe gibt es gibt es

Möglichkeiten für Drehungen: Möglichkeiten für Drehungen:

drehe drehe der Objekte der Objekte Insgesamt MöglichkeitenInsgesamt Möglichkeiten

ab

i in1 )1(

in1in

in,,0

Page 38: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3838

Ein einfacher FallEin einfacher Fall Für jede mögliche Orientierung Für jede mögliche Orientierung

können wir Kenyon & Rémila können wir Kenyon & Rémila benutzen für eine gute benutzen für eine gute ApproximierungApproximierung

Weil , haben wirWeil , haben wir

Polynomiell in Polynomiell in nn für konstante für konstante aa and and bb

ab

i i nn1

abab

i i abnn

1)1(1

Page 39: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

3939

Wie erreichen wir Wie erreichen wir diesen Fall?diesen Fall? Wir müssen vorsichtig sein beim Wir müssen vorsichtig sein beim

AufrundenAufrunden Kann eine große Auswirkung habenKann eine große Auswirkung haben BeispielBeispiel: viele Objekte mit Breite : viele Objekte mit Breite

gerade unter ½gerade unter ½ Bei Aufrundung auf einen Wert Bei Aufrundung auf einen Wert

größer als ½ passen sie nicht mehr größer als ½ passen sie nicht mehr nebeneinandernebeneinander

Page 40: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4040

Lösung von Kenyon & Lösung von Kenyon & RémilaRémila Wenn Drehungen nicht erlaubt sind, Wenn Drehungen nicht erlaubt sind,

können wir die können wir die BreitenBreiten aufrunden aufrunden Höhen bleiben ungeändert und wir Höhen bleiben ungeändert und wir

machen Gruppen gleicher Höhemachen Gruppen gleicher Höhe Eine Eine horizontalehorizontale Aufrundung kann so Aufrundung kann so

zu einer zu einer vertikalenvertikalen Anpassung der Anpassung der Eingabe führenEingabe führen

Page 41: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4141

Fraktionales Strip-Fraktionales Strip-PackingPacking Erlaube horizontale Schnitte durch Erlaube horizontale Schnitte durch

die Rechteckedie Rechtecke Das macht das Problem einfacherDas macht das Problem einfacher Ein fraktionales Strip-Packing kann Ein fraktionales Strip-Packing kann

in ein normales Packing verwandelt in ein normales Packing verwandelt werdenwerden

Lösungswert ändert sich “nicht viel” Lösungswert ändert sich “nicht viel” und ist einfacher zu finden (LP)und ist einfacher zu finden (LP)

Page 42: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4242

Auf- und abrundenAuf- und abrunden

Page 43: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4343

Auf- und abrundenAuf- und abrunden Der Unterschied zwischen L und R Der Unterschied zwischen L und R

ist ein Stapel der Breite 1 und ist ein Stapel der Breite 1 und Höhe Höhe h/mh/m

Dies trägt Dies trägt h/mh/m extra zum extra zum Lösungswert beiLösungswert bei

Wir können dies beliebig klein Wir können dies beliebig klein machen indem wir machen indem wir mm größer größer machenmachen

Page 44: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4444

Probleme mit Probleme mit DrehungenDrehungen Wir möchten aufrunden und Wir möchten aufrunden und

gruppieren und K&R benutzengruppieren und K&R benutzen Jetzt wird in 2 Dimensionen gerundetJetzt wird in 2 Dimensionen gerundet Bedingungen:Bedingungen:

– ““Höhen” sollten nicht zu weit von Höhen” sollten nicht zu weit von Originalhöhen entfernt seinOriginalhöhen entfernt sein

– Lösungswert sollte nicht zu weit entfernt Lösungswert sollte nicht zu weit entfernt vom ursprünglichen Lösungswert seinvom ursprünglichen Lösungswert sein

Page 45: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4545

Probleme mit Probleme mit DrehungenDrehungen Wir können nicht einfach das Wir können nicht einfach das

Gruppieren und Aufrunden von K&R Gruppieren und Aufrunden von K&R benutzen, weil manche Dimensionen benutzen, weil manche Dimensionen sich stark ändern können sich stark ändern können

Geometrisches Aufrunden geht auch Geometrisches Aufrunden geht auch nicht weil der Lösungswert sich nicht weil der Lösungswert sich vielleicht zuviel ändertvielleicht zuviel ändert

Lösung: kombiniere beide Lösung: kombiniere beide Methoden!Methoden!

Page 46: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4646

Die AufrundungDie Aufrundung Mache eine Liste die jedes Objekt Mache eine Liste die jedes Objekt

zweimal enthält (einmal quer)zweimal enthält (einmal quer) Mache einen Stapel wie vorherMache einen Stapel wie vorher Definiere GrenzrechteckeDefiniere Grenzrechtecke Runde jede “Breite” auf auf Runde jede “Breite” auf auf

Minimum von der Breite derMinimum von der Breite der– Ersten Grenzrechtecke darunterErsten Grenzrechtecke darunter– Ersten Potenz von über orig. BreiteErsten Potenz von über orig. Breite

11

Page 47: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4747

DiskussionDiskussion So finden wir eine Lösung die So finden wir eine Lösung die

beliebig nah an der optimalen beliebig nah an der optimalen Lösung istLösung ist

Den Beweis werde ich Den Beweis werde ich überspringen…überspringen…

Page 48: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4848

ÜbersichtÜbersicht ApproximationsalgorithmenApproximationsalgorithmen Online-AlgorithmenOnline-Algorithmen Unit ClusteringUnit Clustering Strip-PackingStrip-Packing Scheduling auf einer MaschineScheduling auf einer Maschine

Page 49: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

4949

Das ProblemDas Problem Jobs kommen online anJobs kommen online an Job Job JJjj hat Freigabezeit hat Freigabezeit rrjj, Größe , Größe ppjj Die Maschine kann nur einen Job Die Maschine kann nur einen Job

gleichzeitig ausführengleichzeitig ausführen Keine Informationen über die ZukunftKeine Informationen über die Zukunft CCjj = Zeitpunkt an dem = Zeitpunkt an dem JJjj beendet wird beendet wirdZiel: minimiere Ziel: minimiere Summe der CSumme der Cjj

Page 50: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5050

Bekannte ErgebnisseBekannte Ergebnisse Deterministisch: R = 2Deterministisch: R = 2

– Obere Schranke Obere Schranke [Phillips, Stein & Wein 95, [Phillips, Stein & Wein 95, Stougie 95, Hoogeveen & Vestjens 96]Stougie 95, Hoogeveen & Vestjens 96]

– Untere Schranke Untere Schranke [Hoogeveen & Vestjens [Hoogeveen & Vestjens 96]96]

Randomisiert: R = e/(e-1) = 1,58…Randomisiert: R = e/(e-1) = 1,58…– Obere Schranke Obere Schranke [Chekuri, Motwani, [Chekuri, Motwani,

Natarajan & Stein 97]Natarajan & Stein 97]– Untere Schranke Untere Schranke [Vestjens 97][Vestjens 97]

Page 51: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5151

NeustartsNeustarts Es ist erlaubt, einen Job abzubrechenEs ist erlaubt, einen Job abzubrechen Er sollte dann wieder Er sollte dann wieder vom Anfangvom Anfang

ausgeführt werdenausgeführt werden Macht nur Sinn im Online-ProblemMacht nur Sinn im Online-Problem ((PreemptionsPreemptions: SRPT hat Kompetitivi-: SRPT hat Kompetitivi-

tätsverhältnis 1)tätsverhältnis 1) Untere Schranke 1,211 Untere Schranke 1,211 [Epstein, vS 01][Epstein, vS 01]

Page 52: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5252

NeustartsNeustarts Jobs „sollten“ sortiert nach Größe Jobs „sollten“ sortiert nach Größe

ausgeführt werden ausgeführt werden (das ist optimal (das ist optimal wenn alle Jobs Freigabezeit 0 haben)wenn alle Jobs Freigabezeit 0 haben)

Falls es Jobs gibt, führen wir Falls es Jobs gibt, führen wir immer den Kleinsten ausimmer den Kleinsten aus

Frage:Frage: wann sollten wir einen Job J wann sollten wir einen Job J abbrechen für einen neuen Job J´ ?abbrechen für einen neuen Job J´ ?

Page 53: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5353

Wann Job J abbrechen?Wann Job J abbrechen?

Verschiedene Parameter könnten Verschiedene Parameter könnten betrachtet werden:betrachtet werden:

Aktuelle Fertigstellungszeit von JAktuelle Fertigstellungszeit von J Potenzielle Fertigstellungszeit von J´Potenzielle Fertigstellungszeit von J´ Größe von J, Größe von J´Größe von J, Größe von J´ Anfangszeit von J und von J´Anfangszeit von J und von J´ Anzahl wartender Jobs…Anzahl wartender Jobs…

Page 54: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5454

RSPT (restarting SPT)RSPT (restarting SPT) Führt Jobs aus Führt Jobs aus wie SPTwie SPT, aber , aber

bricht manchmal Jobs abbricht manchmal Jobs ab J hat Größe x, fängt an am J hat Größe x, fängt an am

Zeitpunkt sZeitpunkt s J´ hat Größe w, hat Freigabezeit rJ´ hat Größe w, hat Freigabezeit r RSPT bricht J ab und fängt J´ an RSPT bricht J ab und fängt J´ an

fallsfalls 32

xswr

s+xr r+w

2(s+x)/3

0 s

Page 55: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

5555

RSPTRSPT Dieser Algorithmus ist sehr einfachDieser Algorithmus ist sehr einfach Wieso die Zahl Wieso die Zahl 2/32/3?? Betrachten wir RSPT(a) mit Betrachten wir RSPT(a) mit

AbbruchbedingungAbbruchbedingung

Kann nicht besser sein als 1,48Kann nicht besser sein als 1,48

axswr

Page 56: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6060

AnalyseAnalyse KrediteKredite: „um wieviel darf ein Job : „um wieviel darf ein Job

noch verzögert werden“noch verzögert werden“ InvariantInvariant: alle Jobs haben : alle Jobs haben

genügend Kredit (mindestens 0)genügend Kredit (mindestens 0) EreignisEreignis: RSPT fängt einen Job an: RSPT fängt einen Job an Klassifiziere Ereignisse nach Klassifiziere Ereignisse nach

Entscheidung von OPTEntscheidung von OPT

Page 57: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6161

Optimale KostenOptimale Kosten Wir führen eine Schätzung Wir führen eine Schätzung

(untere Schranke) s*(J) für die (untere Schranke) s*(J) für die optimale Anfangszeit von Joptimale Anfangszeit von J

Bei jedem Jobanfang wird s*(J) für Bei jedem Jobanfang wird s*(J) für alle Jobs angepasstalle Jobs angepasst

Kredit des neuen Jobs basiert zum Kredit des neuen Jobs basiert zum Teil auf s*(J)Teil auf s*(J)

Page 58: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6262

KrediteKredite IdeeIdee: wenn OPT einen Job am : wenn OPT einen Job am

Zeitpunkt Zeitpunkt tt fertig stellt, „sollte“ RSPT fertig stellt, „sollte“ RSPT diesen Job am Zeitpunkt diesen Job am Zeitpunkt 33t t /2/2 fertig fertig gestellt habengestellt haben– Eigentlich gilt das nur im DurchschnittEigentlich gilt das nur im Durchschnitt

Wenn neuer Job J ankommt, berechne Wenn neuer Job J ankommt, berechne Anfangszeit s(J) in Schedule von RSPT Anfangszeit s(J) in Schedule von RSPT (Annahme: keine weitere Jobs)(Annahme: keine weitere Jobs)

Page 59: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6363

AbbrücheAbbrüche

gibt Kredit anverliert Kredit

0 1 2

0 1 2 3 4

verliert Kredit

Page 60: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6464

AbbrücheAbbrüche Ein neuer Job kann nicht für Ein neuer Job kann nicht für allealle

Jobs zahlen die er vielleicht Jobs zahlen die er vielleicht verzögertverzögert

Deshalb sollten Jobs teilweise für Deshalb sollten Jobs teilweise für Abbrüche von Abbrüche von kleinerenkleineren Jobs Jobs zahlen / Kredit haben:zahlen / Kredit haben:– Weißer Job im ersten BeispielWeißer Job im ersten Beispiel– Brauner Job im zweiten BeispielBrauner Job im zweiten Beispiel

Page 61: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6565

Fertigstellungen: Fertigstellungen: was macht OPT?was macht OPT?

0 1

OPT

Hat mehr Kredit als vorher berechnet!

Haben negativen Kredit

s*(J) wurde zuletzt berechnet als angefangen hat

Page 62: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6666

Fertigstellungen: Fertigstellungen: was macht OPT?was macht OPT?

0 1 2

0 1 2

OPT

Wir benutzen nur: s*(J) ist mindestens 0

Page 63: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6767

KrediteKredite Beispiele zeigen: ein Job sollte zahlenBeispiele zeigen: ein Job sollte zahlen

– für seinen für seinen eigeneneigenen Fertigstellung Fertigstellung– für Abbrüche von Jobs für Abbrüche von Jobs vorvor ihm ihm

Invariante (Idee):Invariante (Idee):– Jeder Job hat genügend Kredit, um für Jeder Job hat genügend Kredit, um für

alle möglichen zukünftigen Abbrüche alle möglichen zukünftigen Abbrüche von von kleinerenkleineren Jobs und für seinen Jobs und für seinen eigeneneigenen Fertigstellung zu zahlen Fertigstellung zu zahlen

Page 64: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6868

BeweisBeweis Für jedes mögliche Ereignis sollten Für jedes mögliche Ereignis sollten

wir zeigen, dass wir Kredite umordnen wir zeigen, dass wir Kredite umordnen können damit die Invariante giltkönnen damit die Invariante gilt

Ereignisse unterscheiden sich durchEreignisse unterscheiden sich durch– AnfangszeitAnfangszeit des aktuellen Jobs (im des aktuellen Jobs (im

Verhältnis zu seiner Größe)Verhältnis zu seiner Größe)– Zeitpunkt an dem Zeitpunkt an dem OPTOPT diesen Job diesen Job

anfängtanfängt– welchenwelchen neuen Job OPT zuerst anfängt neuen Job OPT zuerst anfängt

Page 65: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

6969

BeweisBeweis Der Rest ist Algebra.Der Rest ist Algebra.

Page 66: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

7070

ZusammenfassungZusammenfassung Eleganter Algorithmus mit guter Eleganter Algorithmus mit guter

LeistungLeistung Lücke zwischen unterer und oberer Lücke zwischen unterer und oberer

Schranke kleiner als Schranke kleiner als 0,30,3 Zur Verbesserung werden wir einen Zur Verbesserung werden wir einen

komplizierteren Algorithmus komplizierteren Algorithmus brauchenbrauchen

Neustarts effizient benutzen ist Neustarts effizient benutzen ist nicht trivialnicht trivial

Page 67: 1 Kombinatorische Algorithmen für Scheduling- und Packungsprobleme Rob van Stee 23. Oktober 2006.

7171

Danke schön!Danke schön!