Das Lastverteilungsproblem



Ähnliche Dokumente
Approximationsalgorithmen

Das Lastverteilungsproblem

Approximationsalgorithmen

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Lernende Suchmaschinen

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Approximation in Batch and Multiprocessor Scheduling

Was meinen die Leute eigentlich mit: Grexit?

Grundbegriffe der Informatik

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

Sie finden im Folgenden drei Anleitungen, wie Sie sich mit dem Server der Schule verbinden können:

WS 2013/14. Diskrete Strukturen

Grundbegriffe der Informatik

4. Dynamische Optimierung

DIE SUCHFUNKTION VON WINDOWS 7

Die Invaliden-Versicherung ändert sich

W-Rechnung und Statistik für Ingenieure Übung 11

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Algorithmische Methoden für schwere Optimierungsprobleme

1. Wie viel Zinsen bekommt man, wenn man 7000,00 1 Jahr lang mit 6 % anlegt?

Alles zu seiner Zeit Projektplanung heute

Guide DynDNS und Portforwarding

Theoretische Grundlagen der Informatik

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Stackelberg Scheduling Strategien

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Die Verbindung von Linearer Programmierung und Graphentheorie

Regeln für das Qualitäts-Siegel

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Die Post hat eine Umfrage gemacht

1 topologisches Sortieren

Konfiguration eines DNS-Servers

Der Zwei-Quadrate-Satz von Fermat

Grundbegriffe der Informatik

Scheduling und Lineare ProgrammierungNach J. K. Lenstra, D. B. Shmoys und É.

Übung 2 Algorithmen II

Linearen Gleichungssysteme Anwendungsaufgaben

Beispiel Shop-Eintrag Ladenlokal & Online-Shop im Verzeichnis 1

Was ist Sozial-Raum-Orientierung?

Statuten in leichter Sprache

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Numerische Verfahren und Grundlagen der Analysis

Vorkurs Mathematik Übungen zu Polynomgleichungen

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

2 Lineare Gleichungen mit zwei Variablen

Grundlagen der Theoretischen Informatik, SoSe 2008

Urlaubsanspruch = Nominale Zahl der Urlaubstage X Pflichtarbeitstage pro Woche / 6 Werktage

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

1. Allgemeines zum tevitel.wq-monitor Seite WQ-Monitor konfigurieren Seite 4

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Beweisbar sichere Verschlüsselung

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Studieren- Erklärungen und Tipps

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Abb. 1 Einstellungen Supervisor Oprionen Gebäude-/Verteilertätigkeit

FL1 Hosting Technische Informationen

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Anleitung für die Teilnahme an den Platzvergaben "Studio II, Studio IV und Studio VI" im Studiengang Bachelor Architektur SS15

System der. Bühnensteckverbind 63A ( System Eberl ) REICHE & VOGEL-B.DELTSCHAFT. Blumenstr.10 D Berlin (Spandau)

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Approximationsalgorithmen

Leistungen der Pflegeversicherung ab

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

TrueCrypt Anleitung: Datenschutz durch Festplattenverschlüsselung

Konzentration auf das. Wesentliche.

Anleitung über den Umgang mit Schildern

So wird s gemacht - Nr. 24

Wo möchten Sie die MIZ-Dokumente (aufbereitete Medikamentenlisten) einsehen?

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Komplexität und Komplexitätsklassen

TYPO3 Super Admin Handbuch

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Bedienungsanleitung zum Anlageinventar in der Buchhaltung Gültig ab Version 3.9, November 2009

Seminar Analyse von Petrinetz-Modellen

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

Wir machen neue Politik für Baden-Württemberg

Anbindung des eibport an das Internet

Erstellen der Barcode-Etiketten:

Einrichten des Filiago-Zugangs mit einer SkyStar2-Karte (oder USB-Box):

Teiltransparente Bilder


teischl.com Software Design & Services e.u. office@teischl.com

2 in 1 Präsenz- & Onlineveranstaltungen mit digitalem Whiteboard und Adobe Connect

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Datenaufbereitung in SPSS. Daten zusammenfügen

Faktura. IT.S FAIR Faktura. Handbuch. Dauner Str.12, D Mönchengladbach, Hotline: 0900/ (1,30 /Min)

Installation und Bedienung von vappx unter ios

Kurzanleitung OOVS. Reseller Interface. Allgemein

Änderung der Sicherheitseinstellungen von konten

Dow Jones am im 1-min Chat

Algorithmen II Vorlesung am

Transkript:

Das Lastverteilungsproblem Approximationsalgorithmen Referent Franz Brauße Veranstaltung Proseminar Theoretische Informatik Universität Trier, FB IV Dozent Prof. Dr. Henning Fernau 23.02.2012

Übersicht 1 Approximation Approximation und Güte 2 Definition des Lastverteilungsproblems Problemstellung Optimierungsproblem 3 Greedy-Algorithmus Approximationsgüte 4 Verbesserter Algorithmus Höhere Approximationsgüte

Übersicht 1 Approximation Approximation und Güte 2 Definition des Lastverteilungsproblems Problemstellung Optimierungsproblem 3 Greedy-Algorithmus Approximationsgüte 4 Verbesserter Algorithmus Höhere Approximationsgüte

Approximation und Güte Approximation exakte Lösung für NP-vollständige Probleme oft zeitraubend vielleicht reicht eine angenäherte Lösung Algorithmus f, x y. Eine Optimallösung mag y sein Gütebegriff für Lösung und Algorithmus Güte der Lsg. durch Metrik d(, ) R auf Lösungsraum, bspw. induziert durch Norm Übliche Gütefunktion sind v(y) = y für y skalar. v(y) = y 2 = y 2 i für y in Vektorraum B k. v(y) = y = max i y i für y B k 4 / 21

Approximation und Güte Güte von Approximationsalgorithmen Güte der Lösung v(y) in Relation zu Güte einer Optimallösung v = v(y ). Mehrere Definitionsmöglichkeiten, teils je nach Problemart: Minimierung v(y) v 1 Maximierung v, auch üblich: max v(y) 1 Güte = 1 Optimallösung erreicht { v v(y), v(y) } v 1 5 / 21

Approximation und Güte Komplexitätsklassen Klassifikation von Optimierungsalgorithmen f, die eine Approximation in polynomieller Zeit liefern: APX approximable Es gibt eine Näherungsschranke δ > 1, die f für jede Eingabe einhält O(n c ), c 1. PTAS polynomial time approximation scheme Für jede Näherungsschranke δ = 1 + ε lässt sich ein f δ angeben, dass δ für jede Eingabe einhält O(n 1/ε ). FPTAS fully polynomial time approximation scheme Für jedes k N liefert f eine Näherung der Güte δ 1 + 1 k und ist polynomiell in Eingabelänge n und k O(k c n d ). FPTAS PTAS APX Weitere Klassen in folgendem Vortrag. 6 / 21

Übersicht 1 Approximation Approximation und Güte 2 Definition des Lastverteilungsproblems Problemstellung Optimierungsproblem 3 Greedy-Algorithmus Approximationsgüte 4 Verbesserter Algorithmus Höhere Approximationsgüte

Problemstellung Problem m verschiedene Maschinen M 1,..., M m n verschiedene Aufgaben zu erfüllen jede Aufgabe j braucht bestimmte Zeit t j (gleich auf allen M i ) Beispiele Webserver: HTTP + Dynamische Inhalte FTP Ämter, Post, Friseur,... (nur am Ende der Öffnungszeit) SMP-Betriebssysteme: Load-Balancer als Teil des Schedulers Allgemein dort, wo m vorhandene, nicht verbrauchbare Resourcen zeitweise allokiert werden. Aufteilung sodass alle Maschinen gleichmäßig ausgelastet sind(?) 8 / 21

Problemstellung Load-Balancing als Entscheidungsproblem Gegeben die Anzahl der Resourcen m N, die Zeiten t 1,..., t n der Aufträge und ein Zeitlimit T. Gibt es eine Verteilung der Aufträge, sodass die maximale Wartezeit ˆT := max i T i T? Gesamtzeit für M i : T i := t j Job j in M i In dieser Allgemeinheit ist Load-Balancing NP-vollständig: Reduktion von PARTITION: m = 2, t j = s j, T = 1 2 n j=1 s j. 9 / 21

Optimierungsproblem Passendes Optimierungsproblem? Gegeben #Maschinen m N, Zeiten t j (j = 1,..., n) Gesucht Aufteilung Jobs j auf Maschinen i Zeiten T i Ziel Minimiere v(y), y = (T i ) i Wie gut ist eine Lösung für das Problem? gleichmäßige Auslastung: T = 1 m j t j v(y) = max T T i i=1,...,m! 0 kürzeste Gesamtzeit v(y) = ˆT = max i=1,...,m T i! T Gütefunktion v hat Auswirkungen auf Faktor bei Approximation. 10 / 21

Optimierungsproblem Güte w(y) = max i T T i statt v(y) = max T i i im speziellen Fall n = m, t 1 t 2 =... = t m : ˆT T = v(y) = T = w(y) M 1 M 2 M 2 M m Abbildung: ˆT versus T 11 / 21

Optimierungsproblem LB als Optimierungsproblem Eingabe m, t 1,..., t n. Ausgabe T i für i = 1,..., m, sodass ˆT möglichst klein ist. Triviale Einschränkungen für Optimalwert T : Nicht mehr als alle Elemente auf eine Maschine aufgeteilt. Auch größtes Elements muss (am Stück) bearbeitet werden. n max t j T t j j j=1 12 / 21

Übersicht 1 Approximation Approximation und Güte 2 Definition des Lastverteilungsproblems Problemstellung Optimierungsproblem 3 Greedy-Algorithmus Approximationsgüte 4 Verbesserter Algorithmus Höhere Approximationsgüte

Greedy-Algorithmus Approximation: benutze Job-Reihenfolge wie gegeben (Online-Verfahren) Zielmaschine ist die mit bisher kleinster Warteschlange 1 for i = 1 to m do 2 T i 0 3 A i /* assigned Jobs */ 4 end 5 6 for j = 1 to n do 7 i arg min T k /* lowest workload so far */ k=1,...,m 8 A i A i {j} /* assign job j to M i */ 9 T i T i + t j 10 end 14 / 21

Approximationsgüte Algorithmus macht größten Fehler, wenn t 1 =... = t n 1 = 1 t n, dann: Abbildung: Links: Greedy ( ˆT = 7); rechts: optimal (T = 4). 15 / 21

Approximationsgüte Abschätzung max. Zeit ˆT bzgl. T Bekannt: t j T j = 1,..., n Außerdem müssen die m Maschinen auch wirklich die gesamte Arbeit erledigen, d.h. 1 t j T m j 16 / 21

Approximationsgüte Greedy-Algorithmus hat Güte 2 Beweis. Betrachte Maschine M i mit längster Dauer T i = ˆT und ihren letzten Job j. M i hatte vorher minimale Last T i t j = k T k m(t i t j ) T i t j 1 T k T m k Dann bekommt M i letzten Job j zugewiesen, also t j T = T i = (T i t j ) + t j T + T = 2T M i braucht maximale Zeit ˆT 2T, also Güte 2. 17 / 21

Übersicht 1 Approximation Approximation und Güte 2 Definition des Lastverteilungsproblems Problemstellung Optimierungsproblem 3 Greedy-Algorithmus Approximationsgüte 4 Verbesserter Algorithmus Höhere Approximationsgüte

Sorted-Balance Ausreißer störend Eingabe sortieren t 1 t 2 t 3... t n 1 t n anschließend gleicher Algorithmus: 1 for i = 1 to m do 2 T i 0 3 A i /* assigned Jobs */ 4 end 5 6 for j = 1 to n do 7 i arg min T k /* lowest workload so far */ k=1,...,m 8 A i A i {j} /* assign job j to M i */ 9 T i T i + t j 10 end 19 / 21

Höhere Approximationsgüte Neue untere Schranke für T Betrachte die m + 1 ersten sortierten Jobs: = t m+1 = T 2t m+1 t m+1 M 1 M 2 M m 20 / 21

Höhere Approximationsgüte Sorted-Balance hat Güte 1,5 Beweis. n m = alle Jobs auf eigener Maschine, ˆT = T. n > m = Maschine M i mit T i = ˆT. M i hat nur einen Job = optimal, ˆT = T. sonst wie im letzten Beweis sei j der letzte M i zugewiesene Job und genauso T i t j T und t j t m+1 1 2 T damit T i = (T i t j ) + t j T + 1 2 T Absteigende Sortierung ˆT 3 2 T. 21 / 21