Effiziente Algorithmen

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Polynomial Root Isolation
Suche in Texten (Stringsuche )
Algorithmen und Komplexität
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Approximationsalgorithmen …liefern in polynomieller.
Minimum Spanning Tree: MST
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Information und Kommunikation
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
Information und Kommunikation
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Das Traveling Salesman Problem (TSP)
Stefan Nolting Andreas Goebels Larissa Timajev
Optimierungs- Algorithmen Petra Mutzel Technische Universität Wien Institut für Computergraphik und Algorithmen Algorithmen und Datenstrukturen 2.
Gliederung der Vorlesung
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
 Präsentation transkript:

Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS 06 11.7.

Der Simplex Algorithmus Eingabe A,b,c Bringe das LP in eine slack Form mit zulässiger Basislösung, Basisvariablen in H, Nichtbasisvariablen in N Solange es einen Index j aus N mit c(j)>0 gibt: Wähle ein e mit c(e)>0 für all i aus H: Wenn A(i,e)>0: (i)=b(i)/A(i,e) Sonst (i)=1 Wähle das minimale l l=1: „Zielfunktion unbeschränkt“ Sonst: Pivot Von i=1 bis n: Wenn i aus H: Setze xi=b(i) sonst xi=0 Ausgabe x1,…,xn

Simplex In Zeile 1 wird außerdem getestet ob es überhaupt zulässige Lösungen gibt Wenn alle Koeffizienten der Zielfunktion nichtpositiv sind, kann pivot keine Verbesserung bringen Ansonsten wählen wir eine Basis- und eine Nichtbasisvariable für pivot Konkrete Wahl bei mehreren Möglichkeiten noch zu spezifizieren Wir durchlaufen alle Constraints und sehen, wie weit wir xe erhöhen können, wählen die zugehörige Basisvariable, die die kleinste Erhöhung von xe toleriert Gibt es keine solche Limitierung, so ist die Zielfunktion unbeschränkt Zum Schluss setzen wir die x_i als die Basislösung der letzten slack Form

Noch zu zeigen Korrektheit: Berechnete Lösung ist optimal Laufzeit: Der Algorithmus läuft im worst case nicht in polynomieller Zeit, Terminierung? Berechnung der slack form Wir benötigen eine Prozedur, die testet, ob ein LP lösbar ist und eine slack form berechnet, deren Basislösung zulässig ist

Korrektheit (I) Im folgenden nehmen wir an, wir haben ein korrektes slack form LP mit zulässiger Basislösung Behauptung: Simplex gibt eine zulässige Lösung aus und wenn die Ausgabe „Zielfunktion unbeschränkt“ ist, so ist dies korrekt Ohne Beweis. Idee: Jede der durchlaufenen slack Formen is äquivalent

Terminierung Es ist leicht, zu sehen, daß die Zielfunktion nie sinkt Es kann aber passieren, daß die Zielfunktion durch pivot nicht ansteigt Dies ist ein degenerierter Schritt. Wir nehmen an, e und l werden deterministisch bestimmt Es kann passieren, daß Simplex in eine Schleife gerät

Terminierung Behauptung: Wenn Simplex nicht nach Iterationen terminiert, so ist der Algorithmus in einer Schleife Beweis: Man kann zeigen, daß zu einem LP in Standardform bei gegebener Mengen von Basisvariablen die slack form eindeutig ist Es gibt n+m Varriablen und m Basisvariablen Daher gibt es Wege die Basisvariablen zu bestimmen Wenn es mehr Iterationen gibt, sind wir in einer Schleife Wenn wir nicht in einer Schleife sind, wir irgendwann die „optimale“ slack form erreicht

Vermeidung von Schleifen Schleifen können nur auftreten, wenn sich die Zielfunktion nicht ändert Eine Möglichkeit: Perturbiere die Eingabe leicht, so daß keine gleichen Zielfunktionswerte existieren Bland‘s Regel: Immer die Variable mit kleinstem Index wählen (unter den Kandidaten für xe,xl) Unter Bland‘s Regel gibt es keine Schleifen

Laufzeit Wir erhalten zumindest eine exponentielle Laufzeitschranke über die Anzahl der slack Formen bzw. Polytopecken

Korrektheit (II) Wir wollen zeigen, daß die erreichte Lösung am Ende des Simplex Algorithmus optimal ist Wir gehen ähnlich wie bei MaxFlow vor und verwenden ein duales Problem

Dualität Gegeben sei ein LP A,b,c in Standardform Wir nennen dies das primale LP Das duale LP ist wie folgt definiert: Es gibt m Variablen yi Minimiere i bi Yi Bedingungen i=1m A[i,j] yi¸ cj y ¸ 0

Schwache Dualität Behauptung: Sei x eine zulässige Lösung des primalen und y eine zulässige Lösung des dualen LP, dann gilt

Beweis:

Dualität und Optimalität Behauptung: Wenn  cjxj= bi yi, und x zulässig für das primale, y zulässig für das duale, dann sind beide Lösungen optimal Beweis: Offensichtlich kann keine zulässige Lösung x‘ des primalen einen größeren Zielfunktionswert als x haben, da dies die schwache Dualität verletzen würde; analog für das duale

Starke Dualität Starke Dualität bedeutet, daß zulässige Lösungen x für das primale und y für das duale LP mit gleichem Zielfunktionswert existiere Wir müssen zeigen, daß solche Lösungen existieren, und von Simplex berechnet werden Theorem: Simplex produziere Lösung x1,…,xn H und N seien die Basis und Nichtbasisvariablen der letzten slack form c‘ Koeffizienten der Zielfunktion in der letzten slack form y sei definiert durch: yi=-c‘n+i wenn n+i2 N =0 sonst Dann ist x optimal für das primale und y für das duale LP Die Zielfunktionen des primalen und dualen sind gleich auf x und y

Beweis Es reicht zu zeigen, daß x und y zulässig sind und den gleichen Wert haben x ist zulässig nach vorheriger Beobachtung Letzte slack Form: Zielfunktion max v‘+N c‘j xj Bei Terminierung gilt: c‘j· 0 für alle j aus N Setze c‘j=0 für alle anderen j Damit: Zielfunktion der Lösung x1,…,xn: Wir setzen C_j‘=0 für alle j aus H

Beweis

Beweis Da dies für alle zulässigen Lösungen z gilt, folgt Anhand der letzten Gleichung (für alle j=1…n) und der Setzung der yi folgt die Zulässigkeit, und beide Lösungen haben Wert v‘

Die initiale Basislösung Gegeben ein LP in Standardform A,b,c Die zugehörige slack Form kann eine Basislösung haben, die nicht zulässig ist Wir bestimmen ein Hilfs LP: Maximiere –x0 Bedingungen j A[i,j] xj-x0· bi x¸ 0 Behauptung: Hilfs LP ist immer lösbar und hat Optimum 0 gdw A,b,c lösbar ist Beweis: ausgelassen

Die initiale Basislösung Eingabe : A,b,c Bestimme slack form und teste Basislösung Wenn diese nicht zulässig ist bestimme das Hilfs LP und dessen slack form Bestimme eine optimale Lösun des Hilfs LP mit Simplex Wenn das Optimum 0 ist und die Basislösung x0=0 setzt: Streiche x0 und erhalte Basislösung und slack form für das originale LP Sonst gebe aus „unlösbar“