Die Ellipsoidmethode
|
|
- Max Brodbeck
- vor 6 Jahren
- Abrufe
Transkript
1 Die Ellipsoidmethode Thorben Römer Abstract Mit der Ellipsoidmethode wies Leonid Khachiyan erstmals nach, dass lineare Programme in polynomieller Zeit lösbar sind. Neben einer Einführung in die grundlegende lineare Optimierung sollen in dieser Arbeit die Ansätze der Ellipsoidmethode vorgestellt, sowie die Laufzeit und die einzelnen Bestandteile genauer untersucht werden. Danach folgt ein Vergleich mit den, in der Praxis deutlich schnelleren, Simplex-Verfahren und Innere- Punkte-Verfahren, die in der Zwischenzeit entwickelt wurden. Abschließend demonstriert ein Beispiel aus der Netzwerk- und Graphentheorie, wie ein Problem mit exponentiell vielen Nebenbedingungen mit Hilfe der Ellipsoidmethode gelöst werden kann. 1 Einleitung In dieser Arbeit soll ein umfangreicher Überblick über die Ellipsoidmethode geschaffen werden. Hierzu folgt zunächst eine Einführung in die lineare Optimierung, um die Probleme, die von der Ellipsoidmethode gelöst werden können, besser zu verstehen. Danach folgt der grundsätzliche Ablauf des Verfahrens in Textform sowie in Pseudocode. Anschließend wird das Verfahren in Bestandteile aufgeteilt, die einzeln erläutert und untersucht werden. Nachdem zunächst die Korrektheit der Ellipsoidmethode untersucht und nachgewiesen wird, sollen danach die Laufzeiten der Bestandteile analysiert und somit die polynomielle Laufzeit des gesamten Verfahrens bewiesen werden. Da seit der Entwicklung der Ellipsoidmethode weitere Optimierungsverfahren entwickelt wurden, sollen auch diese hier kurz vorgestellt und verglichen werden. Abschließend folgt ein Beispiel aus der Netzwerk- und Graphentheorie, mit dem ein weiterer Aspekt der Ellipsoidmethode vorgestellt werden kann, nämlich die Möglichkeit, polynomielle Laufzeit auch für Probleme in anderen Formen herzuleiten. 2 Vorbetrachtungen Zunächst folgen eine kurze Einführung in die lineare Optimierung sowie einige weitere Vorbetrachtungen, die für die Ellipsoidmethode benötigt werden. 2.1 Lineare Optimierung Ein Lineares Optimierungsproblem hat im Allgemeinen die Form max{c T x Ax b, x 0}. Dabei bezeichnet c R m den Koeffizientenvektor der Zielfunktion, x R n die zulässigen Lösungen des Optimierungsproblems und 1
2 Ax b mit A R m,n, b R m die Nebenbedingungen in Form eines linearen Ungleichungssystems in Matrixnotation Anders ausgedrückt suchen wir (für die Zielfunktion c T x) einen Vektor x, so dass jede der m Ungleichungen a i x b i (i = 1...m) erfüllt ist. Geometrisch wird durch Ax b ein Polyeder (oder gar ein Polytop, also ein beschränkter Polyeder) im R n beschrieben. Da die lineare Optimierung ein Spezialfall der konvexen Optimierung ist, ist dieser Polyeder immer konvex. Unter allen zulässigen Punkten, also allen Punkten, die in diesem Polyeder liegen, wird nun derjenige Punkt x gesucht, der die Funktion c T x maximiert. Optimierungsprobleme anderer Formen (zum Beispiel min statt max, statt oder ohne Beschränkung von x) können leicht in die oben genannte Form gebracht werden Dualität Zu jedem Linearen Optimierungsproblem (welches auch als primales Optimierungsproblem bezeichnet wird) gibt es ein sogenanntes duales Problem. Das zum primalen Problem gehörende duale Problem lautet max{c T x Ax b, x 0} min{y T b : y T A c T, y 0}. Mit Hilfe des dualen Problems können unter Anderem Schranken für den Wert der Optimallösung angegeben werden. Insbesondere besagt der starke Dualitätssatz, dass, wenn für eines der beiden Optimierungsprobleme eine Optimallösung existiert, es dann auch eine Optimallösung für das andere Problem gibt. Zudem sind dann die Zielfunktionswerte beider Probleme gleich, es gilt also c T x = (y ) T b für x, y optimale Lösungen des primalen beziehungsweise dualen Problems. Der schwache Dualitätssatz garantiert hingegen für eine zulässige Lösung des primalen Problems x beziehungsweise des dualen Problems y c T x y T Ax y T b Lemma von Farkas Mit dem Lemma von Farkas lassen sich Aussagen über die Lösbarkeit von Systemen machen. Für eine Matrix A und einen Vektor b ist genau eines der folgenden Systeme lösbar: Ax = b, x 0 A T y 0, b T y < Ellipsoide Für einen Mittelpunkt a R n und eine positiv definite Matrix A R n,n ist das Ellipsoid E(a, A) definiert als {x R n : (x a) T A 1 (x a) 1}. Aus der positiven Definitheit von A folgt A = B T B und damit auch A 1 = B 1 (B 1 ) T. 2
3 Ellipsoide sind affine Transformationen der n-dimensionalen Einheitssphäre E(0, I) (I sei der n-dimensionale Einheitsvektor). Man betrachte die Transformation aus [Goem09] T transformiert T : x y = (B 1 ) T (x a). E(a, A) = {x R n : (x a) T A 1 (x a) 1} = {x R n : (x a) T B 1 (B 1 ) T (x a) 1} zu {y R n : y T y 1} = {y R n : (y 0) T I(y 0) 1} = E(0, I). Zudem ist T bijektiv. 2.3 Sonstiges Ist P R n ein konvexer Polyeder und p R n ein Punkt, so gilt entweder (i) p P oder (ii) Es gibt eine Hyperebene H, die p und P trennt Dies ist intuitiv klar und bedarf keines Beweises. 3 Ellipsoidmethode Die Ellipsoidmethode ist ein Lösungsverfahren in der Linearen Optimierung mit polynomieller Laufzeit. Arkadi Nemirovski und David Yudin entwickelten die Methode 1977 zur Lösung konvexer Optimierungsprobleme. Unabhängig davon veröffentlichte Naum Schor bereits früher ein verallgemeinertes Gradientenverfahren zur Lösung solcher Probleme, dessen Spezialfall die Ellipsoidmethode ist. Leonid Khachiyan wandte das Verfahren 1979 auf lineare Programme an und entwickelte so den ersten polynomiellen Algorithmus zur Lösung linearer Programme. In der Praxis ist die Ellipsoidmethode trotz polynomieller Laufzeit langsamer als zum Beispiel der Simplex-Algorithmus, welcher exponentielle Laufzeit im worst-case besitzt. Auch sogenannte Innere-Punkte-Verfahren (interior-point-methods), die später entwickelt wurden und ebenfalls polynomielle Laufzeit besitzen, sind schneller als die Ellipsoidmethode. Aufgrund ihrer Bestandteile und ihrer Laufzeit hat die Ellipsoidmethode allerdings große Bedeutung in der kombinatorischen Optimierung. Zum Beispiel kann die Ellipsoidmethode auch auf implizit gegebene Optimierungsprobleme angewandt werden. 3.1 Ablauf des Algorithmus Die Lösung eines linearen Optimierungsproblems ist die Menge der Punkte x, die Ax b erfüllen und die Funktion c T x maximieren. Mithilfe der Ellipsoidmethode kann jedoch nur festgestellt werden, ob die Menge P = { x Ax b} leer ist oder nicht. Es wird später gezeigt werden, dass das Finden eines Punktes in einer passenden Menge äquivalent ist zum Finden einer Optimallösung für das Optimierungsproblem. Wir gehen von einem beschränkten Polyeder P als zulässige Menge des Optimierungsproblems aus. Der Algorithmus wird initialisiert, indem ein Ellipsoid E gebildet wird, das alle Ecken von P und damit ganz P enthält (Konvexität). Als nächstes wird getestet, ob der Mittelpunkt 3
4 z von E in P liegt. Ist dies der Fall, so haben wir einen Punkt in P gefunden und der Algorithmus wird beendet. Liegt z nicht in P, so muss eine Hyperebene H gefunden werden, die z von P trennt (diese Hyperebene existiert, wie in den Vorbetrachtungen erläutert). Nun wird das kleinste Ellipsoid E gesucht, das den Schnitt von E und H + enthält. Frage nun ob der Mittelpunkt z von E in P liegt - hier beginnt die Iteration von Vorne. In wird gezeigt, dass P ein Mindestvolumen besitzt. Aus diesem Mindestvolumen ergibt sich eine maximale Anzahl von Iterationen, nach deren Durchlauf P leer sein muss, wenn bis dahin kein Punkt gefunden wurde. Figure 1: Ein Schritt des Algorithmus: Aus E k und H wird E k+1 berechnet Pseudocode Der folgende Pseudocode wurde in [Aror05] verwendet. Input: E 0 Ellipsoid, das P enthält, V l untere Schranke für Volumen von P Output: ja, falls P einen Punkt enthält, nein sonst Algorithmus: i = 0; while V ol(e i ) V l do p =Mittelpunkt von E i ; (ans, H) = SepOracle(p); if ans = ja then return ja else Mithilfe der trennenden Hyperebene H finde E i+1 = kleinstes Ellipsoid, das E i H + enthält i = i + 1 end if end while return nein 4
5 3.2 Bestandteile Der Aufbau des Algorithmus ist also nicht sehr kompliziert. Der Algorithmus besteht aus einer Iterationsschleife und einer Fallunterscheidung. Interessant sind zwei Prozeduren: Trennorakel Das Trennorakel (engl. Separation Oracle ) hat die Aufgabe zu entscheiden, ob ein Punkt (in diesem Fall der Mittelpunkt des aktuell betrachteten Ellipsoids) zu P gehört. Ist dies der Fall, gibt es das Tupel ( ja, ) zurück. Gehört der Punkt nicht zu P, so muss das Orakel eine Hyperebene H finden, die den Punkt und P trennt. Dann wird das Tupel ( nein, H) zurückgegeben. Im Fall eines vollständigen Optimierungsproblems mit beschränktem Polyeder als zulässige Menge ist das Orakel einfach zu implementieren. Für jede Ungleichung a i x b i (i = 1...m) wird geprüft, ob a i z b i (z Mittelpunkt des Ellipsoids) gilt. Gelten diese für alle i = 1...m, so liegt z in P, andernfalls kann die von z verletzte Ungleichung a k z b k als Hyperebene a k x = b k zurückgegeben werden. Falls das Optimierungsproblem implizite Form hat kann durch ein geschickt gewähltes Trennorakel oft die polynomielle Lösbarkeit des Problems nachgewiesen werden Finden eines kleinsten Ellipsoiden In jeder Iteration des Algorithmus muss ein neues, kleinstes Ellipsoid E k+1 gefunden werden, das E k H + enthält. Die Herleitung für das Finden eines solchen Ellipsoids erfolgt in mehreren Schritten. Wie in [Goem09] wird zu Beginn E k als die Einheitssphäre angenommen, die Hyperebene sei o.b.d.a. {x : x 1 0}. Dann ist E k+1 = {x : ( n + 1 n )2 (x 1 1 n + 1 )2 + n2 1 n 2 n x 2 i 1} das kleinste Ellipsoid, das E k H + enthält. Betrachte nun ein x E k {x : x1 0}: Die Ungleichung folgt aus 0 x 1 1. ( n + 1 n )2 (x 1 1 n + 1 )2 + n2 1 n 2 n i=2 x 2 i i=2 = n2 + 2n + 1 n 2 x 2 1 ( n + 1 2x n )2 1 n n 2 + n2 1 n 2 = 2n + 2 n 2 x 2 1 2n + 2 n 2 x n 2 + n2 1 n 2 = 2n + 2 n 2 x 1 (x 1 1) + 1 n 2 + n2 1 n 2 1 n 2 + n2 1 n 2 1 n i=1 n i=1 n i=1 x 2 i x 2 i 1 (da E k die Einheitssphäre ist) und x 1 (x 1 1) 0 für Die explizite Form lautet also E k+1 = E( 1 n+1 e 1, n 2 n 2 1 (I 2 n+1 e 1e T 1 )). x 2 i n i=2 x 2 i 5
6 Wenn E k nicht die Einheitssphäre ist, so transformiere E k mit der in den Vorbetrachtungen eingeführten Transformation T zur Einheitssphäre. Leite dann aus dieser Einheitssphäre das neue Ellipsoid E k+1 her und transformiere es mittels T 1 zurück. Die Idee wird in Bild 2 dargestellt. Figure 2: Finden des neuen Ellipsoids mittels Transformation T. In diesem Schritt findet der Algorithmus sogar einen Punkt in P. Mit der oben genannten Transformation kann man also Ellipsoide behandeln, die nicht der Einheitssphäre entsprechen. Es bleibt zu zeigen, dass auch für verallgemeinerte Trennebenen H auf den Basisfall zurückgegriffen werden kann. Die verallgemeinerte Trennebene sei c T x 0. O.B.d.A. kann c = 1 angenommen werden, also gilt auch c T c = 1. Nun verwenden wir eine Rotation y = R(x) mit e 1 = R(c) (dies entspricht der Trennebene aus dem Basisfall). Die Rotation hat die Form y = R(x) = Ux mit der orthogonalen Matrix U (d.h. U T = U 1 ). Erreicht werden soll also nun Uc = e 1, daraus ergibt sich c = U 1 e 1 = U T e 1. Mit U T U = I hat das transformierte Ellipsoid die Form {x R n : (Ux a) T UU T A 1 UU T (Ux a) 1}. Nun gilt und (Ux a) T U = ((Ux) T a T )U = (x T U T a T )U = x T a T U = (x U T a) T U T (Ux a) = x U T a. Um den neuen Mittelpunkt wie weiter oben beschrieben zu erhalten definiert man U T a = U T 1 ( n + 1 e 1) = 1 c =: â. n + 1 6
7 Wählt man nun  1 = U T A 1 U, erhält man die gewünschte Form  = (U T A 1 U) 1 = U 1 A(U 1 ) T = n2 n 2 1 U T (I 2 n + 1 e 1e T 1 )U = n2 n 2 1 (I 2 n + 1 (U T e 1 )(e T 1 U)) = n2 n 2 1 (I 2 n + 1 ( c)( ct )) = n2 n 2 1 (I 2 n + 1 cct ). Somit ergibt sich für das transformierte Ellipsoid {x R n : (R(x) a) T A 1 (R(x) a)} nach Einsetzen der Transformation die Form E = {x R n : (x â) T  1 (x â) 1}. Durch die Rotation wird das Volumen ebenfalls nicht beeinflusst. Das heißt, dass die Annahmen über den Basisfall sich auch auf den Fall anwenden lassen, wenn eine beliebige Trennebene vorliegt. Insgesamt gibt [Goem09] folgende Prozedur an, um E k+1 aus E k = E(a k, A k ) zu berechnen: Sei c T x d die Ungleichung zu H +, d.h. c T a k > d. Setze b = A kc c T A k c Setze a k+1 = a k 1 n+1 b Setze A k+1 = n2 n 2 1 (A k 2 n+1 bbt ) Dann ist E(a k+1, A k+1 ) = E k Korrektheit Mit der Ellipsoidmethode kann bestimmt werden, ob eine konvexe Menge P nichtleer ist. Terminiert der Algorithmus mit ja, existiert ein Punkt in P, die Menge ist demnach nicht leer. Dies folgt unmittelbar aus dem Ablauf des Algorithmus, siehe 3.1. Terminiert der Algorithmus mit nein, so ist P leer. Um dies zu zeigen muss zunächst gezeigt werden, dass das betrachtete Ellipsoid in jeder Iteration des Algorithmus kleiner wird. Danach kann gezeigt werden, dass P leer sein muss, wenn das Volumen des Ellipsoids eine Grenze unterschreitet Volumenquotient der Ellipsoiden Das Volumen eines Ellipsoids ist proportional zum Produkt der Länge seiner Achsen. Das n in iterierte Ellipsoid E k+1 hat eine Achse der Länge n+1 und n 1 Achsen der Länge n 2 n
8 Daraus ergibt sich für E k = E(0, I): V ol(e k+1 ) V ol(e k ) = n n+1 ( n 2 n 2 1 )(n 1) 1 = e ln(1 1 n 1 )+ n+1 2 ln(1+ 1 n 2 ) 1 e 1 n+1 + n n 2 1 = e 1 n (n+1) = e 1 (2n+2) < 1 = n n + 1 ( n 2 n 2 1 ) (n 1) 2 Die Ungleichung folgt hier aus ln(1 + s) s für 1 < s. Für den Fall, dass E k nicht die Einheitssphäre ist, ist die Argumentation wie in Bei affinen Transformationen verändert sich zwar das Volumen der Ellipsoiden, jedoch bleibt das Volumenverhältnis von zwei Ellipsoiden, auf die die selbe Transformation angewendet wird, erhalten. Ebenso verändert sich das Volumen nicht, wenn das Ellipsoid rotiert wird. E k wird also auf die Einheitssphäre transformiert und dann so rotiert, dass die Hyperebene H auf x 1 = 0 abgebildet wird. Dadurch ergibt sich genau die in beschriebene Situation und das obige Volumenverhältnis gilt. Bei der Rücktransformation bleibt dieses Verhältnis erhalten Volumenschranke für P Es soll gezeigt werden, dass, wenn die Menge der zulässigen Punkte P eines Optimierungsproblems nicht leer ist, diese ein Mindestvolumen besitzt. Hierzu wird zunächst das Problem modifiziert. Für ein System Ax b kann über die Cramer sche Regel gezeigt werden, dass x 2 L für jeden Punkt x gilt. Also kann das Problem um diese Nebenbedingung erweitert werden: Ax b x 2 L e x 2 L e wobei e der Vektor ist, der nur aus Einsen besteht. Zentral für den Beweis ist das folgende Lemma: Lemma. Für ein Ungleichungssystem Ax b gilt Wenn es für Ax b keine zulässigen Punkte gibt, dann gibt es auch keine zulässigen Punkte für Ax b + 2 L n+2 e. Wenn Ax b zulässige Punkte besitzt, dann gibt es ein ˆx mit B(ˆx, 2 2L 2 L ) {x : Ax b + n + 2 n + 2 e}, wobei B(x, r) die Sphäre mit Mittelpunkt x und Radius r ist. Die Idee ist, die Ellipsoidmethode auf dem neuen System Ax b + 2 L n+2e laufen zu lassen, da die Menge der zulässigen Lösungen dieses Systems mindestens das Volumen von B(ˆx, 2 2L n+2 ) hat. Das System hat zudem nur zulässige Punkte, wenn Ax b zulässige Punkte besitzt. 8
9 Beweis des Lemmas: 1. Wenn Ax b unzulässig ist, also keine zulässigen Punkte existieren, so folgt aus einer Variante des Lemmas von Farkas, dass A T y = 0, b T y = 1, y 0 zulässig ist. Wie bereits zuvor gilt auch für jede Lösung ŷ die Ungleichung ŷ 2 L e. Außerdem sind höchstens n + 1 Einträge von ŷ ungleich 0. Daher gilt (b + 2 L n + 2 e)t ŷ = b T ŷ + 2 L n + 2 < b T ŷ + 1 = = 0 i ŷ i ŷ erfüllt dann die Bedingungen (b + 2 L n + 2 )T ŷ < 0 A T ŷ = 0 ŷ 0. Damit folgt nach dem Lemma von Farkas, dass Ax b + 2 L n + 2 e unzulässig ist, was (1) aus dem Lemma beweist. 2. Sei ˆx eine zulässige Lösung für das modifizierte System Ax b x 2 L e x 2 L e. Sei nun x B(ˆx, 2 2L n+2 ) beliebig. Für A j als j-te Spalte von A und damit j-te Nebenbedingung gilt dann: A j x = A j ˆx + A j (x ˆx) b j + A j x ˆx b j + 2 L 2 2L n + 2 = b j + 2 L n + 2. Also ist x zulässig für das System Ax b + 2 L n+2e. Da x frei gewählt war, muss auch gelten, wodurch (2) des Lemmas bewiesen ist. B(ˆx, 2 2L 2 L ) {x : Ax b + n + 2 n + 2 e} 9
10 Hinweis: Es kann der Fall eintreten, dass zwar ein zulässiger Punkt ˆx {x : Ax b + 2 L n+2 e} gefunden wird, dieser jedoch kein zulässiger Punkt für das Ursprungssystem ist, also Aˆx b gilt. Für diesen Fall kann aus dem zulässigen Punkt ein neuer Punkt x berechnet werden, für den A x b gilt. Wir können also nun davon ausgehen, dass, wenn P zulässige Punkte enthält, P mindestens das Volumen einer Sphäre B(x, 2 2L n+2 ) besitzt. Anders ausgedrückt gilt: V ol(p ) < π n 2 n! ( 2 2L n+2 )n < V ol(b(x, 2 2L n+2 )) P ist leer Äquivalenz von Zulässigkeitsproblem und Finden einer optimalen Lösung Die Ellipsoidmethode löst für ein lineares Optimierungsproblem das Zulässigkeitsproblem, also die Frage, ob ein x existiert mit Ax b. Dieses x ist aber nicht zwangsweise ein Maximum der Zielfunktion c T x. Dennoch kann gezeigt werden, dass das Finden einer optimalen Lösung äquivalent zur Lösung des Zulässigkeitsproblems ist. Dafür kann man zum Beispiel die Dualität von linearen Optimierungsproblemen verwenden. Die Idee ist, die Lösungen des primalen und des dualen Problems mit den Erkenntnissen aus dem schwachen und dem starken Dualitätssatz zu kombinieren. Durch das Zusammensetzen der beiden Probleme entsteht der Polyeder ( ) x { R m+n Ax b, x 0, y T A c T, y 0, c T x y T b} y Die Bedingungen stellen zum einen sicher, dass es sich bei x und y um zulässige Lösungen der einzelnen Probleme handelt, zum anderen wird die letzte Bedingung nur erfüllt, wenn x und y Optimallösungen sind (siehe 2.1.1). Gibt es also einen Punkt in diesem Polyeder, so hat das primale Problem auch eine Lösung. Um nun mit der Ellipsoidmethode zu einer Aussage zu kommen, muss man den Polyeder als Nebenbedingung in einem Linearen Optimierungsproblem verwenden. Da der Wert der Optimallösung hier nicht von Bedeutung ist kann als Zielfunktion zum Beispiel die Nullfunktion gewählt werden. Eine andere Möglichkeit besteht darin, eine Art binärer Suche mit Hilfe der Ellipsoidmethode durchzuführen, um sich dem Zielwert beliebig genau zu nähern. 3.4 Laufzeit Die Laufzeit der Ellipsoidmethode ist für lineare Optimierungsprobleme polynomiell. Um dies zu zeigen benötigen wir die Anzahl der Iterationen (Anzahl der Hauptschleifendurchläufe) sowie die Komplexität des Trennorakels und der Berechnung von E k Anzahl der Iterationen Wie in gezeigt, können wir annehmen, dass P leer ist, wenn V ol(p ) < π n 2 n! ( 2 2L n+2 )n gilt. Sei L = n(1 + logn + logc), mit C als betragsmäßig größter Zahl aus A und b (diese Zahl steht in Abhängigkeit zu der Anzahl an Bits, die benötigt werden um C und n darzustellen). Nach [SpvS12] liegt P dann in einer Sphäre mit Radius 4 nl. Das Volumen dieser Sphäre ist von dem eines Würfels mit der Seitenlänge 2 4 nl beschränkt. Eine obere Schranke für das Volumen ist also (8 nl ) n = 8 n2l. Nun sei f = e 1 2n+2 < 1 wie in gezeigt der Faktor, um den das Volumen des betrachteten Ellipsoids in jeder Runde des Algorithmus mindestens sinkt. 10
11 Das bedeutet, dass nach k Runden des Algorithmus das Volumen des betrachteten Ellipsoiden maximal f k 8 n2l sein kann. Der Algorithmus kann abgebrochen werden, wenn das Volumen des Ellipsoids unter die Volumenschranke von P fällt. Um den Beweis zu vereinfachen kann man die Volumenschranke noch weiter nach unten abschätzen: Daraus folgt nach dem k-ten Schritt: f k 8 n2l π n 2 n n ( 2 2L n + 2 )n f k 8 n2l π n 2 2 2nL n n (n + 2) n π n 2 n! ( 2 2L n + 2 )n π n 2 n n ( 2 2L n + 2 )n log(f k ) + log(8 n2l ) log( π n 2 2 2nL ) + log( nn (n + 1) 2 ) k log(f) + 3n 2 L log(π n 2 ) log(n n ) + log(2 2nL ) log((n + 2) n ) k log(f) n 2 log(π) n log(n) 2nL n log(n + 2) 3n2 L k Die Anzahl der Iterationen ist also polynomiell. n 2 log(π) n log(n) 2nL n log(n + 2) 3n2 L = O(n 3 L) logf Komplexität des Trennorakels Für lineare Programme mit einer polynomiellen Anzahl von Nebenbedingungen besitzt dass Trennorakel eine Laufzeit von O(mn). Dies folgt daraus, dass jede Ungleichung der Nebenbedingungen höchstens einmal überprüft (und wenn nötig als trennende Hyperebene ausgegeben) werden muss. Die Laufzeit des Trennorakels ist also polynomiell. Für manche Optimierungsprobleme mit exponentiell vielen Nebenbedingungen können auch Trennorakel mit polynomieller Laufzeit bestimmt werden. Ein Beispiel hierfür wird im Kapitel 4 vorgestellt Komplexität der Berechnung von E k+1 Für die Berechnung von E k+1 wurden in explizite Berechnungsvorschriften angegeben. Die Berechnungen bestehen aus einer polynomiellen Anzahl von Operationen. Damit ist die Berechnung von E k+1 polynomiell. Es erfolgen polynomiell viele Aufrufe des Trennorakels und der Berechnung des nächsten Ellipsoids, die beide wieder polynomiell sind. Also können lineare Programme von der Ellipsoidmethode in Polynomialzeit gelöst werden. 3.5 Vergleich mit anderen Verfahren Trotz ihrer polynomiellen Laufzeit ist die Ellipsoidmethode in der Praxis anderen Verfahren unterlegen. Zwei dieser Verfahren sollen hier kurz vorgestellt werden. 11
12 3.5.1 Simplex-Verfahren Das wohl bekannteste Verfahren zum Lösen linearer Probleme ist das Simplex-Verfahren. Die Grundidee des Algorithmus ist es, in jedem Schritt von einer Ecke des Polytops zu einer anderen zu laufen, und dabei den Zielfunktionswert weiter zu verbessern, bis das Maximum (oder Minimum) erreicht wurde. Dazu sei gesagt, dass garantiert werden kann, dass eine Ecke des Polytops eine Optimallösung des Problems sein muss. Weiterhin löst der Simplex- Algorithmus zu jedem Problem P auch sein duales Problem D (hier nicht weiter betrachtet), was bei der Lösung von ganzzahligen Optimierungsproblemen von Bedeutung ist. Das Verfahren bietet zudem einen starken Vorteil, wenn ein bereits gelöstes Problem abgeändert wird, zum Beispiel durch Hinzufügen oder Entfernen einer Nebenbedingung. In diesem Fall kann der Simplex-Algorithmus von der vorher verwendeten Lösung ausgehen und muss nicht, wie die meisten Verfahren, wieder ganz von vorn beginnen. Auch diese Eigenschaft macht ihn attraktiv zur Lösung von nichtlinearen oder ganzzahligen Optimierungsproblemen. Obwohl bisher für jede Abwandlung des Simplex-Algorithmus ein lineares Optimierungsproblem angegeben werden konnte, bei dem das Verfahren eine exponentielle Laufzeit hat, ist der Simplex-Algorithmus im durchschnittlichen Fall deutlich schneller als die Ellipsoidmethode Innere-Punkte-Verfahren Im Gegensatz zum Simplex-Verfahren, welches grundsätzlich Ecken des Polyeders abläuft, versuchen Innere-Punkte-Verfahren (engl. interior-point-methods) vom Inneren des Polyeders zu einer Optimallösung zu laufen. Dabei bewegen die Verfahren sich auf dem sogenannten Zentralen Pfad. In jeder Runde wird eine neue Richtung bestimmt, die den Zentralen Pfad näher an eine Optimallösung führt. Dabei entsteht durch sogenannte Logarithmische Barrieren ein nichtlineares Gleichungssystem, welches mit dem Newton-Verfahren annäherungsweise gelöst werden kann. Wird dies oft genug getan, konvergiert der Zentrale Pfad gegen die Optimallösung. Das Verfahren besitzt polynomielle Laufzeit, und ist daher besonders für sehr große Optimierungsprobleme geeignet. Allerdings sind Innere-Punkte-Verfahren ungeeignet zum Lösen ganzzahliger Optimierungsprobleme, da dort mehrere ähnliche Probleme hintereinander gelöst werden müssen und kein Schnellstart wie beim Simplex-Algorithmus möglich ist. 4 Beispiel: Netzwerk- und Graphentheorie Das folgende Beispiel aus [EFKK + 12] zeigt, wie auch Optimierungsprobleme mit exponentiell vielen Nebenbedingungen mit der Ellipsoidmethode in polynomieller Zeit gelöst werden können. 4.1 Das Problemmodell Grundsätzlich sollen in einem Netzwerk mit einem Overlay verschiedene Werte untersucht werden, mit denen Aussagen über die Konnektivität des Netzes gemacht werden können. Dabei wird das Netzwerk durch einen einfachen, ungerichteten Graphen G dargestellt, wobei die Ecken des Graphen V (G) die Kommunikationsknoten des Netzwerkes und die Kanten E(G) direkte Verbindungen zwischen den Knoten modellieren. Die Menge P V (G) sei eine Teilmenge der Knoten des Graphen, deren Elemente Peers genannt werden. Auf dem Netzwerk existiert ein weiterer Graph H mit V (H) = P und E(H) P P. H soll ein Overlay darstellen, also ein virtuelles Netzwerk mit Knoten aus G. Dabei ist zu beachten, 12
13 dass eine Kante (u, v) E(H) nicht immer direkt auf eine einzelne Kante aus E(G) abgebildet wird. Hierfür gibt es ein Routing Schema ρ : P P 2 E(G), welches eine Kante (u, v) E(H) auf einen Weg in G abbildet. Der Einfachheit halber sei ρ symmetrisch, also ρ(u, v) = ρ(v, u). Wird auf H eine Nachricht von einem Knoten s P zu einem Knoten t P geschickt, der kein direkter Nachbarknoten von s ist, geschieht dies über einen Weg π = (x 0, x 1,..., x k ) mit x 0 = 0, x k = t und (x i, x i+1 ) E(H) i = 1...k 1. Der Weg, den die Nachricht in G nimmt, ist dann ρ(x 0, x 1 )ρ(x 1, x 2 )...ρ(x k 1, x k ). 4.2 flow deep connectivity - Definition und Lösung Der Wert, der hier untersucht und errechnet werden soll, ist die flow deep connectivity, kurz FDC. Die FDC für zwei Knoten s, t H ist definiert als der maximale Fluss, der in H von der Quelle s zur Senke t fließen kann, wobei über keine Kante in G ein Fluss > 1 fließen darf. Zudem wird eine einheitliche Kapazität für die einzelnen Kanten in G angenommen. Für Knoten s, t V (H), einen Graphen G und ein Routing ρ schreibt man dann F DC G,ρ (s, t, H). Intuitiv ist der FDC-Wert für zwei Knoten hoch, wenn diese gut verbunden sind. Sei also nun G ein Netzwerkgraph, H ein Overlay auf G, ρ ein Routing Schema auf G und H und s, t V (H). P 2 V (H) sei nun die Menge aller einfachen (s, t)-wege in H. Für jeden Weg p P und jede Kante e E(G) sei ψ(p, e) die Anzahl der Vorkommen von e in ρ(p). F DC G,ρ (s, t, H) ist dann das Ergebnis des folgenden Optimierungsproblems: max p P x p unter den Nebenbedingungen ψ(p, e) x p 1 p P x p 0 e E(G) p P Die Variable x p repräsentiert hierbei den Fluss, der durch den gerouteten Weg ρ(p) fließt, für jeden Weg p P. Ziel ist es, den Gesamtfluss über die (s, t)-pfade in H zu maximieren, während die Nebenbedingungen sicherstellen, dass die Summe aller Flüsse über eine einzelne Kante von G höchstens 1 betragen kann. Da dieses Problem unter Umständen exponentiell viele Variablen besitzt, betrachtet man das dazugehörige duale Problem: min y e unter den Nebenbedingungen e E(G) e E(G) y e 0 ψ(p, e) y e 1 p P e E(G) Die Variable y e repräsentiert hierbei das Gewicht der Kante e E(G). Im dualen Problem wird nun ein minimales Gesamtgewicht der Kanten gesucht, wobei gleichzeitig das Gewicht jedes gerouteten (s, t)-pfades mindestens 1 betragen muss. Dieses Problem kann exponentiell viele Nebenbedingungen enthalten, allerdings kann das Problem in polynomieller Zeit gelöst werden, wenn wir ein passendes Trennorakel mit polynomieller Laufzeit finden können. Das Trennorakel muss also überprüfen, ob ein Pfad p P existiert mit e E(G) ψ(p, e) y e < 1. Hierzu führt man nun eine Gewichtsfunktion w(e) = e ρ(e) y e ein, welche jeder Overlay- Kante e E(H) die Summe aller Gewichte der Kanten aus ρ(e) zuweist. Der Graph H 13
14 entsteht aus H wenn man jeder Kante e E(H) das Gewicht w(e) zuordnet. Die zugrundeliegende Überlegung ist, dass die Länge des gewichteten (s, t)-weges p in H gleich e E(G) ψ(p, e) y e ist, wobei der Weg p der Weg in H ist, der zu p aus H gehört. Das Trennorakel muss somit nur den kürzesten (s, t)-weg p in H finden. Ist die gewichtete Länge von p kleiner als 1, dann wurde eine verletzte Nebenbedingung gefunden und kann vom Trennorakel zurückgegeben werden. Ist die Länge von p mindestens 1, so ist der Vektor y, bestehend aus allen y e mit e E(G), eine Lösung des Systems. Da kürzeste Wege in den oben vorliegenden Graphen bekanntlich in polynomieller Zeit bestimmt werden können, hat dieses Trennorakel eine polynomielle Laufzeit. Somit kann F DC G,ρ (s, t, H) auch in polynomieller Zeit berechnet werden. 5 Zusammenfassung Die Ellipsoidmethode war der erste Algorithmus, mit dem die polynomielle Laufzeit für lineare Probleme gezeigt werden konnte. In der Praxis hat sie sich allerdings als unbrauchbar herausgestellt. Zum einen sind weitere Verfahren entwickelt worden, die Lineare Programme effizient lösen können, wie zum Beispiel der Simplex-Algorithmus, mit dem auch Ganzzahlprobleme schnell gelöst werden können, oder Innere-Punkte-Verfahren. Zum anderen ist die Ellipsoidmethode in höheren Dimensionen numerisch instabil, wodurch sie sich höchstens für einen praktischen Einsatz im zwei- oder dreidimensionalen Raum eignet. Allerdings hat die Ellipsoidmethode wichtige theoretische Eigenschaften. Ihr Aufbau erlaubt es, für Probleme aus anderen mathematischen Gebieten, wie zum Beispiel der Kombinatorik, eine polynomielle Lösbarkeit nachzuweisen. Hierzu muss ein Trennorakel angegeben werden, welches eine polynomielle Laufzeit besitzt. 14
15 References [Aror05] Sanjeev Arora. The Ellipsoid Algorithm for Linear Programming, Scribe Notes: Siddhartha Brahma. [EFKK + 12] Yuval Emek, Pierre Fraigniaud, Amos Korman, Shay Kutton und David Peleg. Notions of Connectivity in Overlay Networks, [Eise09] Friedrich Eisenbrand. Lecture Notes: OptIn Finance, [Goem09] Michel X. Goemans. Lecture notes on the ellipsoid algorithm, [KoVy08] Bernhard Korte und Jens Vygen. Kombinatorische Optimierung. Springer Berlin Heidelberg [SpvS12] Reto Spöhel und Rob van Stee. The ellipsoid method, [Will08] David P. Williamson. Lecture Notes: Mathematical Programming I, Scribe: Amy Cochran. 15
Dualitätssätze der linearen Optimierung
Kapitel 9 Dualitätssätze der linearen Optimierung Sei z = c T x min! Ax = b 9.1 x 0 mit c, x R n, b R m, A R m n ein lineares Programm. Definition 9.1 Duales lineares Programm. Das lineare Programm z =
MehrTheoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme
Theoretische Informatik Exkurs Rainer Schrader Exkurs: Komplexität von n Institut für Informatik 13. Mai 2009 1 / 34 2 / 34 Gliederung Entscheidungs- und Approximationen und Gütegarantien zwei Greedy-Strategien
MehrPerlen der Informatik I Wintersemester 2012 Aufgabenblatt 7
Technische Universität München WS 2012 Institut für Informatik Prof. Dr. H.-J. Bungartz Prof. Dr. T. Huckle Prof. Dr. M. Bader Kristof Unterweger Perlen der Informatik I Wintersemester 2012 Aufgabenblatt
MehrEffiziente Algorithmen Lineares Programmieren 216. Schwache Dualität
Effiziente Algorithmen Lineares Programmieren 216 Schwache Dualität Sei wieder z = max{ c T x Ax b, x 0 } (P ) und w = min{ b T u A T u c, u 0 }. (D) x ist primal zulässig, wenn x { x Ax b, x 0 }. u ist
MehrInnere-Punkt-Methoden
Innere-Punkt-Methoden Johannes Stemick 26.01.2010 Johannes Stemick () Innere-Punkt-Methoden 26.01.2010 1 / 28 Übersicht 1 Lineare Optimierung 2 Innere-Punkt-Methoden Path-following methods Potential reduction
MehrOptimierung. Optimierung. Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus Fabian Kuhn
Optimierung Vorlesung 8 Lineare Programmierung III: Simplex Algorithmus 1 Resource Allocation Beispiel aus Vorlesung 6 Primales LP: Duales LP: max 3 4 2 2 4 2 8 3 6 0, 0, 0 min 4 8 6 2 3 3 4 2 2 0, 0,
MehrLineare Optimierung und Simplex-Algorithmus
Lineare Optimierung und Simplex-Algorithmus Problemstellung Beispiel : Unser Unternehmen verfügt über drei Maschinen A, B, C, mit denen zwei verschiedene Produkte P, P2 hergestellt werden. Die Maschinen
MehrOptimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung
Optimierung für Wirtschaftsinformatiker: Dualität, Ganzzahlige lineare Optimierung Dr. Nico Düvelmeyer Freitag, 24. Juni 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Dualität Motivation Duales LP Dualitätssätze
MehrÜbungsblatt 6 Lösungsvorschläge
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Lösungsvorschläge Vorlesung Algorithmentechnik im WS 09/10 Problem 1: Größter Kreis in konvexem Polygon [vgl. Kapitel 6
MehrOptimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn
Optimierung Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung 1 Assignment Problem (Zuordnungsproblem) Gewichtetes Perfektes Bipartites Matching agents Costs tasks Weise jedem Agenten genau
MehrKap. 4: Lineare Programmierung
Kap. 4: Lineare Programmierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 13./14. VO A&D WS 08/09 27.11./2.12.2008 Petra Mutzel Alg. & Dat.
MehrÜbung zur Vorlesung Berechenbarkeit und Komplexität
RWTH Aachen Lehrgebiet Theoretische Informatik Reidl Ries Rossmanith Sanchez Tönnis WS 2012/13 Übungsblatt 7 26.11.2012 Übung zur Vorlesung Berechenbarkeit und Komplexität Aufgabe T15 Entwickeln Sie ein
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester
MehrInhalt. 1. Flußprobleme. 2. Matching. 3. Lineares Programmieren. 4. Ganzzahliges Programmieren. 5. NP-Vollständigkeit. 6. Approximationsalgorithmen
Effiziente Algorithmen Einführung 1 Inhalt 1. Flußprobleme 2. Matching. Lineares Programmieren 4. Ganzzahliges Programmieren 5. NP-Vollständigkeit 6. Approximationsalgorithmen 7. Backtracking und Branch-and-Bound
Mehr1 Lineare Optimierung, Simplex-Verfahren
1 Lineare Optimierung, Simplex-Verfahren 1.1 Einführung Beispiel: In einer Fabrik werden n Produkte A 1, A 2,..., A n hergestellt. Dazu werden m Rohstoffe B 1, B 2,..., B m (inklusive Arbeitskräfte und
MehrLineare Programmierung
Lineare Programmierung WS 2003/04 Rolle der Linearen Programmierung für das TSP 1954: Dantzig, Fulkerson & Johnson lösen das TSP für 49 US-Städte (ca. 6.2 10 60 mögliche Touren) 1998: 13.509 Städte in
MehrKombinatorische Optimierung
Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke PARALLELES RECHNEN INSTITUT FÜR THEORETISCHE INFORMATIK, FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales
MehrOperations Research. Flüsse in Netzwerken. Flüsse in Netzwerken. Unimodularität. Rainer Schrader. 2. Juli Gliederung.
Operations Research Rainer Schrader Flüsse in Netzwerken Zentrum für Angewandte Informatik Köln 2. Juli 2007 1 / 53 2 / 53 Flüsse in Netzwerken Unimodularität Gliederung Netzwerke und Flüsse bipartite
MehrAlgorithmik WS 07/ Vorlesung, Andreas Jakoby Universität zu Lübeck
Lemma 15 KLP 1 ist genau dann lösbar, wenn das dazugehörige LP KLP 2 eine Lösung mit dem Wert Z = 0 besitzt. Ist Z = 0 für x 0, x 0, dann ist x eine zulässige Lösung von KLP 1. Beweis von Lemma 15: Nach
MehrEinführung in die Mathematik des Operations Research
Universität zu Köln Mathematisches Institut Prof. Dr. F. Vallentin Einführung in die Mathematik des Operations Research Sommersemester 3 en zur Klausur (7. Oktober 3) Aufgabe ( + 3 + 5 = Punkte). Es sei
MehrDas Lagrange-duale Problem
Das Lagrange-duale Problem Tobias Kulke 29. April 2010 1 Einführung Für jedes Paar (λ, ν) mit λ 0 liefert die Langrange-duale Funktion ( ) p g(λ, ν) = inf L(x, λ, ν) = inf f 0 (x) + λ i f i (x) + ν i h
MehrComputer Science Department - High Performance and Web Computing Group. Optimierungsprobleme
Optimierungsprobleme Häufig in Alltagssituationen anzutreffen (z.b. Kauf eines Gerätes) Optimierungsprobleme (OPs) sind Probleme, die i.a. viele zulässige Lösungen besitzen Jeder Lösung ist ein bestimmter
Mehr8. Konvexe Polytope. Tobias Boelter. Mittwoch, 5. März TopMath Frühlingsschule
1 / 31 8. Konvexe Tobias Boelter TopMath Frühlingsschule Mittwoch, 5. März 2014 2 / 31 Es können auch nicht konvexe untersucht werden, wir beschränken uns hier aber auf konvexe. Mit einem Polytop ist hier
MehrEffiziente Algorithmen I
H 10. Präsenzaufgabenblatt, Wintersemester 2015/16 Übungstunde am 18.01.2015 Aufgabe Q Ein Reiseveranstalter besitzt ein Flugzeug, das maximal p Personen aufnehmen kann. Der Veranstalter bietet einen Flug
Mehr1 Der Simplex Algorithmus I
1 Nicoletta Andri 1 Der Simplex Algorithmus I 1.1 Einführungsbeispiel In einer Papiermühle wird aus Altpapier und anderen Vorstoffen feines und grobes Papier hergestellt. Der Erlös pro Tonne feines Papier
Mehr2. Optimierungsprobleme 6
6 2. Beispiele... 7... 8 2.3 Konvexe Mengen und Funktionen... 9 2.4 Konvexe Optimierungsprobleme... 0 2. Beispiele 7- Ein (NP-)Optimierungsproblem P 0 ist wie folgt definiert Jede Instanz I P 0 hat einen
MehrÜberblick. Kap. 1.4: Minimum Weight Perfect Matching. 1.3 Blüten-Schrumpf Algorithmus für Maximum Matching
Kap. 1.4: Minimum Weight Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 4. VO 6. November 2006 Überblick kurze Wiederholung: 1.2 Blüten-Schrumpf-Algorithmus für Perfektes Matching
MehrProbleme aus NP und die polynomielle Reduktion
Probleme aus NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 15. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrLineares Programmieren
Vorlesung Algorithmische Geometrie LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.05.2011 Nachtrag Art Gallery Problem Lässt sich der Triangulierungs-Algorithmus
Mehr3.1. Existenzsatz und Struktur der Lösungsmenge
3. EXISTENZ UND DUALITÄT 3.1. Existenzsatz und Struktur der Lösungsmenge Nach dem Satz von Weierstraß besitzt eine lineare Funktion auf einem Polytop stets ein Minimum und ein Maximum. Im allgemeinen Fall
MehrApproximationsklassen für Optimierungsprobleme
Approximationsklassen für Optimierungsprobleme Matthias Erbar 19. September 2007 Inhaltsverzeichnis 1 Einleitung 1 2 Approximationsalgorithmen mit garantierter Güte 2 2.1 Terminologie......................................
MehrAlgorithmische Geometrie: Lineare Optimierung (I)
Algorithmische Geometrie: Lineare Optimierung (I) Nico Düvelmeyer WS 2009/2010, 17.11.2009 Überblick 1 Geometrie von Gießformen 2 Durchschnitte von Halbebenen 3 Inkrementeller Algorithmus Überblick 1 Geometrie
Mehr3.2.5 Dualität der linearen Optimierung I
3..5 Dualität der linearen Optimierung I Jedem linearen Programm in Standardform kann ein sogenanntes duales Programm zugeordnet werden. Es entsteht dadurch, daß man von einem Minimierungsproblem zu einem
Mehrmit. Wir definieren (Skalarprodukt = Winkel).
1 Grundidee des Simplexverfahrens (von George Dantzig): Man bestimmt eine beliebige Ecke (Extremalpunkt) einer Lösungsmenge eines Ungleichungssystems. Nun geht man an den Kanten vom Punkt entlang und kontrolliert
MehrAlle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)).
8. Untere Schranken für Sortieren Alle bislang betrachteten Sortieralgorithmen hatten (worst-case) Laufzeit Ω(nlog(n)). Werden nun gemeinsame Eigenschaften dieser Algorithmen untersuchen. Fassen gemeinsame
MehrKonvexe Mengen und Funktionen
Konvexe Mengen und Funktionen von Corinna Alber Seminararbeit Leiter: Prof. Jarre im Rahmen des Seminars Optimierung III am Lehrstuhl für Mathematische Optimierung an der Heinrich-Heine-Universität Düsseldorf
MehrKap. 4.3: Das Dualitätstheorem der linearen Optimierung
Kap. 4.3: Das Dualitätstheorem der linearen Optimierung Professor Dr. Petra Mutzel Lehrstuhl für Algorithm Engineering, LS11 Fakultät für Informatik, TU Dortmund 18. VO A&D WS 08/09 18.12.2008 1 Literatur
MehrAlgorithmische Graphentheorie
Algorithmische Graphentheorie Vorlesung 13: Flüsse und Zuordnungen Babeş-Bolyai Universität, Department für Informatik, Cluj-Napoca csacarea@cs.ubbcluj.ro 9. Juni 2017 DURCHSATZ D(e) ist die maximale Flussmenge,
MehrDie Klasse NP und die polynomielle Reduktion
Die Klasse NP und die polynomielle Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Dezember 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit
MehrAlgo&Komp. - Wichtige Begriffe Mattia Bergomi Woche 6 7
1 Kürzeste Pfade Woche 6 7 Hier arbeiten wir mit gewichteten Graphen, d.h. Graphen, deren Kanten mit einer Zahl gewichtet werden. Wir bezeichnen die Gewichtsfunktion mit l : E R. Wir wollen einen kürzesten
MehrVorlesung Lineare Optimierung (Sommersemester 2010)
1 Vorlesung Lineare Optimierung (Sommersemester 2010) Kapitel 6: Die Geometrie der Linearen Optimierung Volker Kaibel Otto-von-Guericke Universität Magdeburg (Version vom 15. Juni 2010) Gliederung 2 Das
MehrInsbesondere sind nach dieser Definition also auch die leere Menge und einpunktige Teilmengen konvex.
Konvexe Mengen 2 Wie am Ende des vorigen Kapitels bereits erwähnt, ist die notwendige Gradientenbedingung aus Satz 1.4.6 für konvexe Zielfunktionen auch hinreichend. Diese Tatsache mag als erste Motivation
MehrTeil I. Lineare Optimierung
Teil I Lineare Optimierung 5 Kapitel 1 Grundlagen Definition 1.1 Lineares Optimierungsproblem, lineares Programm. Eine Aufgabenstellung wird lineares Optimierungsproblem oder lineares Programm genannt,
MehrH. Meyerhenke: Kombinatorische Optimierung. Paralleles Rechnen, Institut für Theoretische Informatik, Fakultät für Informatik
VORLESUNG 13 Smoothed Analysis des Simplex-Algorithmus Nach Heiko Röglin, Universität Bonn, Vorlesungsskript Introduction to Smoothed Analysis vom 9. Januar 2012 78 Wiederholung Simplex-Algorithmus! Korrektheit:!
MehrDas Linear Ordering Problem Exakte Lösungsverfahren. für NP-schwierige. VO Algorithm Engineering
Das Linear Ordering Problem Exakte Lösungsverfahren VO Algorithm Engineering für NP-schwierige Professor Dr. Petra Mutzel kombinatorische Lehrstuhl für Algorithm Engineering, LS11 Optimierungsprobleme
Mehr9 Lineare Gleichungssysteme
9 Lineare Gleichungssysteme Eine der häufigsten mathematischen Aufgaben ist die Lösung linearer Gleichungssysteme In diesem Abschnitt beschäftigen wir uns zunächst mit Lösbarkeitsbedingungen und mit der
MehrApproximationsalgorithmen für NP-harte Optimierungsprobleme
Approximationsalgorithmen für NP-harte Optimierungsprobleme Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 18 Was tun mit NP-harten Problemen? Viele praxisrelevante
MehrDie duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme
Kapitel 11 Die duale Simplexmethode zur Lösung rein ganzzahliger linearer Programme Wir betrachten folgendes Optimierungsproblem z = c T x min! Ax = b (11.1) (11.2) x j ganz für j = 1,..., n 1 n, (11.3)
MehrGrundlagen der Optimierung. Übung 6
Technische Universität Chemnitz Chemnitz, 2. November 24 Prof. Dr. R. Herzog, J. Blechschmidt, A. Schäfer Abgabe am 28. November 24 Grundlagen der Optimierung Übung 6 Aufgabe 2: Verschiedene Verfahren
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrApproximationsalgorithmen
Approximationsalgorithmen 1. Vorlesung Joachim Spoerhase Alexander Wolff Lehrstuhl für Informatik I Wintersemester 2017/18 Bücher zur Vorlesung Vijay V. Vazirani Approximation Algorithms Springer-Verlag
MehrVORLESUNG 11 Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)
VORLESUNG Lineare Optimierung (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 3 Wiederholung! Lineare Programme häufig geeignete Modellierung von Optimierungsproblemen! Verschiedene Darstellungen sind
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 20. November 2014 INSTITUT FÜR THEORETISCHE 0 KIT 20.11.2014 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der
MehrSystems of Distinct Representatives
Systems of Distinct Representatives Seminar: Extremal Combinatorics Peter Fritz Lehr- und Forschungsgebiet Theoretische Informatik RWTH Aachen Systems of Distinct Representatives p. 1/41 Gliederung Einführung
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrDas Trust-Region-Verfahren
Das Trust-Region-Verfahren Nadine Erath 13. Mai 2013... ist eine Methode der Nichtlinearen Optimierung Ziel ist es, das Minimum der Funktion f : R n R zu bestimmen. 1 Prinzip 1. Ersetzen f(x) durch ein
MehrKapitel 5. Peter Becker (H-BRS) Operations Research I Sommersemester / 298
Kapitel 5 Dualität Peter Becker (H-BRS) Operations Research I Sommersemester 2014 241 / 298 Inhalt 5 Dualität Dualitätssätze Zweiphasen-Simplexalgorithmus Peter Becker (H-BRS) Operations Research I Sommersemester
MehrInhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung
8. Optimierung Inhalt 8.1 Motivation 8.2 Optimierung ohne Nebenbedingungen 8.3 Optimierung unter Nebenbedingungen 8.4 Lineare Programmierung 8.5 Kombinatorische Optimierung 2 8.1 Motivation Viele Anwendungen
MehrVORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt)
VORLESUNG 14 Lineare Optimierung, Dualität (Viele Folien nach Ulf Lorenz, jetzt TU Darmstadt) 96 H. Meyerhenke: Kombinatorische Optimierung Dualität bei linearen Programmen Def.: Es sei (L): c T x max
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 5. Dezember 2017 INSTITUT FÜR THEORETISCHE 0 05.12.2017 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität
MehrKlausur zum Modul Einführung in die Diskrete Mathematik
Klausur zum Modul Einführung in die Diskrete Mathematik 11.2.2014 Aufgabe 1 [10 Punkte] Sei G ein ungerichteter Graph, k N und x, y, z V (G). Zeigen Sie: Gibt es k paarweise kantendisjunkte x-y-wege und
MehrFlüsse in Netzwerken
Proseminar Theoretische Informatik, Prof. Wolfgang Mulzer, SS 17 Flüsse in Netzwerken Zusammenfassung Gesa Behrends 24.06.2017 1 Einleitung Unterschiedliche technische Phänomene wie der Flüssigkeitsdurchfluss
MehrOptimalitätskriterien
Kapitel 4 Optimalitätskriterien Als Optimalitätskriterien bezeichnet man notwendige oder hinreichende Bedingungen dafür, dass ein x 0 Ω R n Lösung eines Optimierungsproblems ist. Diese Kriterien besitzen
MehrP, NP und NP -Vollständigkeit
P, NP und NP -Vollständigkeit Mit der Turing-Maschine haben wir einen Formalismus kennengelernt, um über das Berechenbare nachdenken und argumentieren zu können. Wie unsere bisherigen Automatenmodelle
MehrLösungsskizzen zu den Klausuraufgaben zum Kurs 1142 Algorithmische Mathematik. a 0 = 0 =
Lösungsskizzen zu den Klausuraufgaben zum Kurs 4 Algorithmische Mathematik 4KSL3 6 Punkte Aufgabe. Die Folge (a n ) n N natürlicher Zahlen a n sei rekursiv definiert durch a 0 = 0, a n = a n + n falls
MehrFortgeschrittene Netzwerk- und Graph-Algorithmen
Fortgeschrittene Netzwerk- und Graph-Algorithmen Dr. Hanjo Täubig Lehrstuhl für Eziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Wintersemester 2007/08
MehrOptimierung für Wirtschaftsinformatiker: Lineare Programme
Optimierung für Wirtschaftsinformatiker: Lineare Programme Dr. Nico Düvelmeyer Dienstag, 31. Mai 2011 1: 1 [1,1] Inhaltsübersicht für heute 1 Lineare Programme Allgemeine Form 2 Spezielle Darstellungen
MehrDer folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre 1990.
Ein polynomieller Algorithmus für das N-Damen Problem 1 Einführung Der folgende Vortrag basiert auf dem Text A Polynomial Time Algorithm for the N-Queens Problem von Rok Sosic und Jun Gu aus dem Jahre
MehrEntscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?
Entscheidungsbäume Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen? Definition Entscheidungsbaum Sei T ein Binärbaum und A = {a 1,..., a n } eine zu sortierenden Menge. T ist ein Entscheidungsbaum
MehrNumerische Lineare Algebra
Numerische Lineare Algebra Vorlesung 7 Prof. Dr. Klaus Höllig Institut für Mathematischen Methoden in den Ingenieurwissenschaften, Numerik und Geometrische Modellierung SS 200 Prof. Dr. Klaus Höllig (IMNG)
MehrAlgorithmen und Datenstrukturen Kapitel 10
Algorithmen und Datenstrukturen Kapitel 10 Flüsse Frank Heitmann heitmann@informatik.uni-hamburg.de 6. Januar 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/8 Flüsse Graphen Grundlagen Definition
MehrKARL-FRANZENS-UNIVERSITÄT GRAZ. Seminar aus Reiner Mathematik. Die Museumswächter. Krupic Mustafa Wintersemester 2013/14
KARL-FRANZENS-UNIVERSITÄT GRAZ Seminar aus Reiner Mathematik Die Museumswächter Krupic Mustafa Wintersemester 2013/14 Inhaltsverzeichnis 2 Inhaltsverzeichnis 1 Einleitung 3 2 Museumswächter-Satz 6 2.1
MehrBipartite Graphen. Beispiele
Bipartite Graphen Ein Graph G = (V, E) heiÿt bipartit (oder paar), wenn die Knotenmenge in zwei disjunkte Teilmengen zerfällt (V = S T mit S T = ), sodass jede Kante einen Knoten aus S mit einem Knoten
MehrTheoretische Informatik 1
Theoretische Informatik 1 Approximierbarkeit David Kappel Institut für Grundlagen der Informationsverarbeitung Technische Universität Graz 10.06.2016 Übersicht Das Problem des Handelsreisenden TSP EUCLIDEAN-TSP
MehrGeometrische Interpretation
Geometrische Interpretation Stefanie Riedel 10. Mai 2010 1 Starke und schwache Dualität über Wertemengen Wir betrachten eine einfache geometrische Interpretation dualer Funktionen aus der Menge G: G =
MehrMinimumproblem. Definition 4.7. Ein LP der Form. unter den Nebenbedingungen. d ij x j b i (i =1,...,m)
Minimumproblem Definition 4.7 Ein LP der Form nx Minimiere Z = c j x j j=1 unter den Nebenbedingungen nx d ij x j b i (i =1,...,m) j=1 und den Vorzeichenbedingungen x j 0(j =1,...,n) heißt Minimumproblem.
MehrKapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung
Gliederung der Vorlesung 1. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege 4. Minimale spannende Bäume 5. Färbungen und Cliquen 6. Traveling Salesman Problem 7. Flüsse in Netzwerken
MehrFlüsse, Schnitte, Bipartite Graphen
Flüsse, Schnitte, Bipartite Graphen Sebastian Hahn 4. Juni 2013 Sebastian Hahn Flüsse, Schnitte, Bipartite Graphen 4. Juni 2013 1 / 48 Überblick Flussnetzwerke Ford-Fulkerson-Methode Edmonds-Karp-Strategie
MehrKombinatorische Optimierung
Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesungen 5 und 6 Programm
MehrOperations Research. Konvexe Funktionen. konvexe Funktionen. konvexe Funktionen. Rainer Schrader. 4. Juni Gliederung
Operations Research Rainer Schrader Konvexe Funktionen Zentrum für Angewandte Informatik Köln 4. Juni 2007 1 / 84 2 / 84 wir haben uns bereits mit linearen Optimierungsproblemen beschäftigt wir werden
MehrOptimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis
Optimierungsprobleme Instanz eines Optimierungsproblems zulässiger Bereich (meist implizit definiert) Zielfunktion Optimierungsrichtung opt {max, min} Optimierungsproblem Menge von Instanzen meist implizit
MehrHamiltonsche Graphen
Hamiltonsche Graphen Definition 3.2. Es sei G = (V, E) ein Graph. Ein Weg, der jeden Knoten von G genau einmal enthält, heißt hamiltonscher Weg. Ein Kreis, der jeden Knoten von G genau einmal enthält,
MehrSeminar Gewöhnliche Differentialgleichungen
Seminar Gewöhnliche Differentialgleichungen Dynamische Systeme I 1 Einleitung 1.1 Nichtlineare Systeme In den vorigen Vorträgen haben wir uns mit linearen Differentialgleichungen beschäftigt. Nun werden
MehrKomplexität von Algorithmen Musterlösungen zu ausgewählten Übungsaufgaben
Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekte mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten
MehrTeil III. Komplexitätstheorie
Teil III Komplexitätstheorie 125 / 160 Übersicht Die Klassen P und NP Die Klasse P Die Klassen NP NP-Vollständigkeit NP-Vollständige Probleme Weitere NP-vollständige Probleme 127 / 160 Die Klasse P Ein
MehrLaufzeit. Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode.
Effiziente Algorithmen Flußprobleme 81 Laufzeit Finden eines Matchings maximaler Kardinalität dauert nur O( E min{ V 1, V 2 }) mit der Ford Fulkerson Methode. Der Fluß ist höchstens f = min{ V 1, V 2 }.
MehrEinführung in die Lineare Programmierung
Einführung in die Lineare Programmierung Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 RWTH Aachen 28. Mai 2008 Elementares Beispiel Die kanonische Form Die algebraische Gleichungsform Gegeben seien
MehrBestimmung einer ersten
Kapitel 6 Bestimmung einer ersten zulässigen Basislösung Ein Problem, was man für die Durchführung der Simplexmethode lösen muss, ist die Bestimmung einer ersten zulässigen Basislösung. Wie gut das geht,
Mehr1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme. Duales Problem. a i u i + i=1. j=1
1. Transport- und Zuordnungsprobleme Optimierungsalgorithmus für Transportprobleme Duales Problem Lemma 1.4. Das zum Transportproblem duale Problem lautet: max unter den Nebenbedingungen m a i u i + i=1
Mehr5. Bäume und Minimalgerüste
5. Bäume und Minimalgerüste Charakterisierung von Minimalgerüsten 5. Bäume und Minimalgerüste Definition 5.1. Es ein G = (V, E) ein zusammenhängender Graph. H = (V,E ) heißt Gerüst von G gdw. wenn H ein
MehrLineare Programmierung (2)
Inhalt Rückblick Motivation - linearen Programmierung Flussprobleme Multiple Warenflüsse Fortsetzung Simplex Algorithmus Initialisierung Fundamentalsatz der linearen Programmierung schwache Dualität Dualität
MehrAlgorithmen II Vorlesung am
Algorithmen II Vorlesung am 0..0 Minimale Schnitte in Graphen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales Forschungszentrum
MehrDer n-dimensionale Raum
Der n-dimensionale Raum Mittels R kann nur eine Größe beschrieben werden. Um den Ort eines Teilchens im Raum festzulegen, werden schon drei Größen benötigt. Interessiert man sich für den Bewegungszustand
MehrHauptachsentransformation: Eigenwerte und Eigenvektoren
Hauptachsentransformation: Eigenwerte und Eigenvektoren die bisherigen Betrachtungen beziehen sich im Wesentlichen auf die Standardbasis des R n Nun soll aufgezeigt werden, wie man sich von dieser Einschränkung
MehrSatz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...
Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,..., k, so dass gilt M = k c i P i i=1 k c i = r. i=1 Diskrete Strukturen 7.1 Matchings
MehrWiederholung zu Flüssen
Universität Konstanz Methoden der Netzwerkanalyse Fachbereich Informatik & Informationswissenschaft SS 2008 Prof. Dr. Ulrik Brandes / Melanie Badent Wiederholung zu Flüssen Wir untersuchen Flüsse in Netzwerken:
MehrDer Dreyfus-Wagner Algorithmus für das Steiner Baum Problem
Der Dreyfus-Wagner Algorithmus für das Steiner Baum Problem Andreas Moser Dietmar Ebner Christian Schauer Markus Bauer 9. Dezember 2003 1 Einführung Der in der Vorlesung gezeigte Algorithmus für das Steiner
Mehr4.4 Quadratische Optimierungsprobleme
4.4 Quadratische Optimierungsprobleme 1. Quadratische Programme (QP) 1 2 xt P x + q T x + r s.t. Gx h (4.34) wobei P S n +, G R (m n) und A R (p n) Zielfunktion (ZF) ist (konvex) quadratisch Nebenbedingungen
MehrAlgorithmen & Komplexität
Algorithmen & Komplexität Angelika Steger Institut für Theoretische Informatik steger@inf.ethz.ch Kürzeste Pfade Problem Gegeben Netzwerk: Graph G = (V, E), Gewichtsfunktion w: E N Zwei Knoten: s, t Kantenzug/Weg
MehrNichtlineare Optimierung ohne Nebenbedingungen
Kapitel 2 Nichtlineare Optimierung ohne Nebenbedingungen In diesem Abschnitt sollen im wesentlichen Verfahren zur Bestimmung des Minimums von nichtglatten Funktionen in einer Variablen im Detail vorgestellt
Mehr