Effiziente Algorithmen und Komplexitätstheorie Vorlesung Ingo Wegener Vertretung Thoms Jnsen 10042006 1 Ws letzten Donnerstg geschh Linere Optimierung Wiederholung der Grundbegriffe und Aussgen M konvex und kompkt ht Extrempunkt Rndpunkt von M konvex und bgeschlossen ht Hyperebene mit M gnz uf einer Seite x M konvex und kompkt ls kl von n + 1 Extrempunkten drstellbr x zulässige Menge M ls kl mit Beteiligung eines Extrempunkts drstellbr minz) M Extrempunkt von M miniml Z ht in M keine nur loklen Minim zwei Beispiele für die Simplex-Methode Simplex-Tbleu im Simplex-Tbleu b 0 Bsispunkt zulässig zusätzlich c 0 zusätzlich optiml äquivlentes Simplex-Tbleu mit nderer Bsis: Hyperebenen der N-BV hben flls zulässig) Extrempunkt der zulässigen Menge ls Schnittpunkt Und ds wr uch schon lles 2 Bsiswechsel m Simplex-Tbleu Z min c T x + δ = Z Ax b = u x 0, u 0 r 1 r 2 r k r n 1,1 1,2 1,k 1,n b 1 s 1 2,1 2,2 2,k 2,n b 2 s 2 i,1 i,2 i,n b i s i m,1 m,2 m,k m,n b m s m c 1 c 2 c k c n δ Z Definition 26 Beim Bsiswechsel r k s i heißt Pivotelement Vorussetzung für Bsiswechsel Pivotelement 0 3 Bsiswechsel m Simplex-Tbleu 2) r 1 r 2 r k r n 1,1 1,2 1,k 1,n b 1 s 1 i,1 i,2 i,n b i s i m,1 m,2 m,k m,n b m s m c 1 c 2 c k c n δ Z Bsiswechsel r k s i i-te Zeile: r k = i,1 r 1 + + 1 r k 1 + 1 s i + +1 r k+1 + + i,n r n b i j-te Zeile j i): j,1 r 1 + + j,k 1 r k 1 + j,k r k + j,k+1 r k+1 + + j,n r n b j = s j r k in j-te Zeile ) eingesetzt j i): i,1 j,1 j,k r 1 + + +1 + j,k+1 j,k ) r k+1 + + j,k 1 j,k 1 j,n j,k i,n ) r k 1 j,k s i ) r n b j j,k b i ) = s j 4
Bsiswechsel m Simplex-Tbleu 3) r 1 r 2 r k r n 1,1 1,2 1,k 1,n b 1 s 1 i,1 i,2 i,n b i s i m,1 m,2 m,k m,n b m s m c 1 c 2 c k c n δ Z Zusmmenfssung Bsiswechsel r k s i Pivotelement 1 Pivotzeile j k i,j i,j, b i b i Pivotsplte i k j,k j,k, c k c k ndere Elemente i j, k l j,l j,l i,l j,k, b b j b j i j,k, c l c l c i,l b k, δ δ c i k zum Merken p = Pivot) [ ] p q r s [ 1 p r p q p s rq p ] Der Simplex-Algorithmus noch offen Whl des Pivot-Elements noch offen Korrektheit = prtielle Korrektheit und Endlichkeit Definition 27 Zeile i gut b i 0 bzw b i 0) Zeile i sonst schlecht G := {l l {1,, m} und l gut} 5 6 Der Simplex Algorithmus 2) 1 Phse Finden eines zulässigen Bsispunkts 1 Wenn G = {1,, m} dnn Ausgbe Zulässiger Bsispunkt gefunden STOP 2 s := min{l b l < 0} oberste schlechte Zeile) 3 Wenn min{ s,1,, s,n } 0 dnn Ausgbe Zulässige Menge leer STOP 4 Wähle k 0 mit s,k0 { < 0 Wähle Pivotzeile p } so, b dss p = min j G und > 0 { } Wenn j G und > 0 =, dnn wähle p := s 5 Führe Bsiswechsel um Pivotelement durch 6 Fhre mit neuem Simplex-Tbleu bei Zeile 1 fort 7 Der Simplex Algorithmus 3) 2 Phse Minimieren von Z uf zulässigen Bsispunkten Vorussetzung G = {1,, m} Bsispunkt zulässig) 1 Wenn min{c 1,, c n } 0 dnn Ausgbe Bsispunkt optiml STOP 2 Wähle k 0 mit c k0 { < 0 Wähle Pivotzeile p so, } b dss p = min j G und > 0 { } Wenn j G und > 0 =, dnn Ausgbe Z STOP 3 Führe Bsiswechsel um Pivotelement durch 4 Fhre mit neuem Simplex-Tbleu bei Zeile 1 fort zu Zeile 2: k 0 -te N-BV Bsis; ndere N-BV bleiben 0 i-te Gleichung 0 r k0 + s i = b i mit b i 0 0 0 r k0 knn beliebig wchsen; mit c k0 < 0 Z 0 > 0 r k0 = b i s i 0 b i 0 stärkste Beschränkung für r k0 8
Noch ein winziges Beispiel 4x 1 x 2 min unter 1 4 x 1 + x 2 18 1 2 x 2 15 x 1 3x 2 3 1 2 x 1 + x 2 13 x 1 x 2 4 x 1 10 x 1 + 3x 2 23 und x 1 0, x 2 0 22 20 18 16 14 12 10 8 6 4 2 Noch ein winziges Beispiel 2) u 7 u 6 0333 0083 11667 u 1 0333 0333 10667 u 2 0000 1000 10000 x 1 0333 0833 13667 u 4 0333 0667 10333 u 5 0333 0333 4333 x 2 1000 2000 6000 u 3 0333 3667 44333 Z Z10, 4333)) = 44333 optiml 22 20 18 16 14 12 10 8 6 4 2 2 4 6 8 10 2 4 6 8 10 9 10 Zwischen-Fzit Simplex-Algorithmus zur 1 Phse zur 2 Phse Ausgbe Zulässiger Bsispunkt gefunden korrekt Ausgbe Zulässige Menge leer korrekt gesmt Ausgbe korrekt Ausgbe Bsispunkt optiml korrekt Ausgbe Z korrekt neuer Bsispunkt zulässig gesmt Ausgbe korrekt Theorem 28 Der Simplex-Algorithmus ist prtiell korrekt Bsiswechsel ist in Zeit Onm) durchführbr Degenerierte Probleme Definition 29 Ein lineres Optimierungsproblem heißt degeneriert, wenn es unter den n + m Hyperebenen n + 1 Hyperebenen mit nicht leerem Schnitt gibt Beobchtungen 0 in b-splte degeneriert degeneriert äquiv Simplex-Tbleu mit 0 in b-splte Endlichkeit fehlt uns noch! 11 12
Ein technisches Lemm Zur Endlichkeit Lemm 30 Wenn Pivotelement gewählt wird, dnn bp 0 { Beweis } j G und > 0 { gute p-zeile wird gewählt, } lso b p 0 mit > 0 j G und > 0 = p = s, s schlecht, lso b p < 0; ußerdem < 0 Theorem 31 Der Simplex-Algorithmus ist für nicht degenerierte Probleme endlich Beweis Teil 1: Phse 1 endet in endlicher Zeit Betrchte einen Bsiswechsel: Simplex-Tbleu Behuptungen: r c b δ s Z b g 0 b g 0 gut bleibt gut) b s > b s schlecht wird besser) r b s c δ Z 13 14 Beweis von Theorem 31 2) Behuptung: b g 0 b g 0 gut bleibt gut) Pivotzeile p: b p = bp gemäß Algorithmus und bp 0 nch Lemm 30 sogr > 0, d nicht degeneriert) lso Pivotzeile uf jeden Fll gut b p ndere Zeile i: b i = b i 0 }{{} i 1 Fll: 0 0 i 0 gemäß Algorithmus b i = b i i b i 0 2 Fll: 0 > 0 bei Berechnung von p uch Zeile i betrchtet drum b i 0 bp ) b i = b i 0 b p = bi i,k0 0 bp 0 15 Beweis von Theorem 31 3) Behuptung: b s > b s schlecht wird besser) Pivotzeile p: wird uf jeden Fll gut gerde gesehen) ndere Zeile i: b i = b i 0 gemäß Algorithmus }{{} i b p 0 < 0 und bp > 0 lso i < 0 und b i > b s D Anzhl Bsispunkte endlich, wird schlechte Zeile in endlicher Zeit gut Also stoppt erste Phse mit zulässigem Bsispunkt oder M = 16
Beweis von Theorem 31 4) Teil 2: Phse 2 endet in endlicher Zeit Strt mit zulässigem Bsispunkt wie in Phse 1: gute Zeile bleiben gut immer zulässiger Bsispunkt Behuptung: δ < δ δ = δ + c k0 b p gemäß Algorithmus c k0 < 0 und > 0 gemäß Whl von k 0 b p > 0, weil nicht degeneriert lso δ < δ D Anzhl Bsispunkte endlich, nch endlichen vielen Schritten optimle Lösung oder Z Endlichkeit des Simplex-Algorithmus Ws ist bei degenerierten Problemen? Wenn wir Glück hben, hält der Algorithmus in endlicher Zeit Dnn ist ds Ergebnis korrekt Wenn wir Pech hben, hält der Algorithmus nicht Knn mn Endlichkeit nicht immer erreichen? Doch! Alle Entscheidungen merken und Wiederholung vermeiden Speicherbedrf für prktische Zwecke zu groß in der Prxis rndomisierte Entscheidungen endliche erwrtete Rechenzeit 17 18 Endliche viele Schritte Heuristische Verbesserungen Wie schnell oder lngsm ist der Simplex-Algorithmus? im Worst Cse exponentielle Rechenzeit Worst Cse Instnzen sind schwierig zu finden in der Prxis sehr schnell Worst Cse Instnzen sind empfindlich : wckeln polynomielle Rechenzeit smoothed complexity) Es gibt eher unprktische) Polynomilzeitlgorithmen Simplex-Algorithmus ist empirisch guter Algorithmus Einige Ideen, um ihn empirisch noch besser zu mchen: Ideen ohne Nchweis Heuristiken) besserer Umgng mit Nebenbedingungen in Gleichungsform besserer Umgng mit unbeschränkten Vriblen besserer Umgng mit nch oben beschränkten Vriblen schnellere Lösung ähnlicher Optimierungsprobleme 19 20
Nebenbedingungen in Gleichungsform bisher i x = b i i x b i und i x b i Nchteil: Problem degeneriert neu Löse Gleichung nch einer Vriblen uf Setze in nderen Ungleichungen ein Benutze Gleichung direkt, mche lso Vrible zur BV Vorteile verhindert Degenertion sprt eine Nebenbedingung sprt zwei Vrible Unbeschränkte Vrible bisher x i R x i x i mit x i, x i 0 Nchteil: eine Vrible mehr neu Lsse unbeschränkte Vrible direkt zu klr Mcht Algorithmus komplizierter Ideen Phse 1: Gleichungen mit unbeschränkten Vriblen bei Whl von Pivotzeile und -splte ignorieren, nsonsten unverändert Phse 2: Optimlitätskriterium c 0 greift nicht mehr unbeschränkte Vrible für c k 0 berücksichtigen optiml, wenn keine Vrible wählbr bei Whl unbeschränkter Vrible ls Pivotzeile uf Zulässigkeit des Bsispunkts chten 21 22 Nch oben beschränkte Vrible bisher x i α i Nebenbedingung Nchteil: eine Nebenbedingung mehr neu Lsse nch oben beschränkte Vrible direkt zu klr Mcht Algorithmus komplizierter Ideen erweitere Definition von Bsispunkt Werte 0 und αi zugelssen optiml, wenn keine erlubte Änderung Zielfunktion vermindert Z nicht von beschränkten x i bhängig Phse 1: x i > α i bei Zulässigkeit bechten Phse 2: Richtung der erlubten Änderung bei Bsiswechsel bechten bei Whl der neuen N-BV stärkste Beschränkung wählen 23 Hinzufügen einer Vriblen Sei Z = c T x min mit Ax = b und x 0 gelöst Lösung x zur Bsis B neues Problem durch Hinzufügen von x n+1 und einer Splte in A Können wir ds schneller lösen? Vermutlich ist x, 0) besserer Strtpunkt Wenn Weg zu B beknnt, ist ds nutzbr Muss mn ds lles speichern? 24
Hinzufügen einer Vriblen 2) Wiederholung: Theorem 26 und sein Beweis Z = c T x min mit Ax = b und x 0 mit Lösung x zur Bsis B beknnt neues Problem durch Hinzufügen von x n+1 und einer Splte in A Wunsch Verwendung von x, 0) ls Strtpunkt Einsicht Weg von Strtbsis B zu B unerheblich kürzester Weg ht Länge min{n, m} Rechenzeit Omn min{m, n}) Mit Hilfe von Theorem 26 geht es sogr noch direkter Theorem 26 Ist Simplex-Tbleu zur Bsis x 1,, x k, u k+1,, u m äquivlent zum zu einem lineren Optimierungsproblem gehörigen Simplex-Tbleu, sind die Hyperebenen u 1 = 0,, u k = 0, x k+1 = 0,, x n = 0 liner unbhängig Der Schnittpunkt der Hyperebenen ist, flls zulässig, Extrempunkt der zulässigen Menge Beweis Schreibe Hyperebenen ls Gleichungen in ursprünglichen x-vriblen: u i = 0 i,1 x 1 + + i,n x n = b i x k+j = 0 bleibt so 25 26 Beweis von Theorem 26 Fortsetzung) Beweis von Theorem 26 Fortsetzung 2)) Betrchte Koeffizientenmtrix: 1,1 1,k 1,k+1 1,n A = k,1 k,k k,k+1 k,n 1 0 0 0 1 klr: Hyperebenen liner unbhängig A invertierbr 1,1 1,k betrchte A k) = k,1 k,k klr: A invertierbr A k) invertierbr Betrchte Koeffizientenmtrix A zum Tbleu zur Bsis x 1,, x k, u k+1,, u m Mit x k+1 = = x n = 0 hben wir x k) = A k) u k) b k) us dem Originltbleu: u k) = A k) x k) b k) Einsetzen liefert: x k) = A k) A k) x k) + b k)) b k) lso: x k) = A k) A k) x k) A k) b k) + b k) Gilt insbesondere für x k) = 0 k), lso A k) b k) + b k) = 0 k) lso x k) = A k) A k) x k) für lle x k) lso A k) = A k)) 1 und A k) invertierbr 27 28
Hinzufügen einer Vriblen Fortsetzung) gesehen Inverse von A k) oben links im Tbleu Ws pssiert dbei mit der n + 1)-ten Splte? Betrchte n+1) k) Anfng der Länge k dieser Splte 1,k+1 1,n 2,k+1 2,n B :=, x = x k+1,, x n ) k,k+1 k,n im Strttbleu A k) x k) + Bx + n+1 ) k) x n+1 b k) = u k) A k)) 1 u k) + A k)) 1 Bx + A k)) 1 n+1 ) k) x n+1 A k) ) 1 b k) = x k) A k) ) 1 blesbr, nur A k) ) 1 n+1 ) k) neu zu berechnen Hinzufügen einer Vriblen Fortsetzung 2)) Ws ist mit restlichen -Elementen und c n+1? Beobchtung niemls in der Pivot-Zeile immer Regel s s rq p k = 1 c neu) n+1 = c n+1 neu n+1 ) 1 c 1 k = 2 c neu) n+1 = c n+1 neu n+1 ) 1 c 1 neu n+1 ) 2 c 2 llgemein Beweis per Induktion) c neu) n+1 = c n+1 k ) n+1 neu nlog für i=1 i c i lso verschiedene effiziente Methoden verfügbr 29 30