1 6.3 Konstruktion des Bundles Sei Sk = {s1 , ..., sl } ein Bundle. Weiter sei l die aktuelle Größe des Bundles im k-ten Iterationsschritt. Wir werden das Bundle so konstruieren, dass Sk,ε 6= ∅ ist, also so dass die Bedingung ε ≥ min{αik |i = 1, .., l} (6.4) erfüllt ist. Außerdem muss nach einem Abstiegsschritt die Voraussetzung αjk = 0 für ein j ∈ Ik erfüllt sein. Wir haben bisher nur die Tatsache benutzt, dass mit den Linearisierungsfehlern αik := f (x(k) ) − f (y i ) − hsi , x(k) − y i i nach Satz 5.1.9 (6.28) si ∈ ∂αk f (x(k) ) i für i = 1, ...l gilt. Wir werden daher im Folgenden eine Konstruktion des Bundles angeben, bei der Vektoren si und Zahlen αik mit (6.28) und (6.4) ohne Verwendung von Hilfspunkten konstruiert werden. Zum Start des Verfahrens 6.1.4 wählen wir einen Vektor x(0) ∈ Rn und berechnen einen Subgradienten s1 ∈ ∂f (x(0) ). Weiter setzen wir S0 := {s1 }, l := 1 und α10 := 0. Für k = 0 sind beide Bedingungen erfüllt. Im k-ten Iterationsschritt sei das Bundle Sk = {s1 , ..., sl } so berechnet, dass mit den zugehörigen Zahlen αik , i = 1, ..., l die Bedingungen (6.4) und (6.28) erfüllt sind. Zur Konstruktion des neuen, verbesserten Bundles zeigen wir im Folgenden, wie man zwei neue Vektoren sl+1 , sl+2 zum aktuellen Bundle hinzufügt und die zugehörigen Linearisierungsfehler αik+1 , i = 1, ..., l + 2, berechnet, so dass wieder (6.4) und (6.28) für i = 1, ..., l + 2 erfüllt sind. Wird das Bundle dabei zu groß, werden wir anschließend einen oder zwei Vektoren aus dem neuen Bundle löschen. Wir wollen in jedem Iterationsschritt zwei neue Vektoren zu aktuellen Bundle Sk hinzufügen. Da wir ks̃(k) k = kd(k) k ≤ η anstreben, erscheint es sinnvoll, dass der Vektor kleiner Norm von Sk,ε , also s̃(k) , im neuen Bundle Sk+1 enthalten ist. Bei einem Abstiegsschritt ist x(k+1) = y (k,+) , dabei berechnet das Schrittweitenverfahren 6.2.2 eine Schrittweite tk > 0 und Vektoren y (k,+) = x(k) + tk d(k) , s(k,+) ∈ ∂f (y (k,+) )mit d(k) = −s̃(k) sowie den Linearisierungsfehler α(k,+) zu y (k,+) . Es erscheint ebenfalls sinnvoll den Vektor s(k,+) in das neue Bundle hinzufügen. Wir definieren (6.29) sl+1 := s̃(k) , sl+2 := s(k,+) , und definieren als neues Bundle zunächst Sk+1 = {s1 , ..., sl , sl+1 , sl+2 }. Neuberechnung der Zahlen αik+1 : • i = 1, ..., l: Im Fall eines Nullschritts bleiben die Zahlen αik+1 := αik , unverändert da x(k+1) = x(k) sich nicht ändert und damit ist die Bedingung (6.28) erfüllt. 2 • i = l + 1: Für sl+1 = s̃(k) definieren wir mit der Lösung von β̃ von (QS)k,ε k+1 αl+1 (6.30) = α̃k = l X β̃i αik . i=1 k+1 Dann ist αl+1 ≥ 0 und nach (6.6) gilt sl+1 ∈ ∂αk+1 f (x(k) ), d.h. (6.28) ist auch erfüllt. l+1 Aufgrund der Nebenbedingungen des Problems (QS)k,ε gilt k+1 0 ≤ αl+1 = α̃k ≤ ε. Daher ist auch die Bedingung (6.4) erfüllt. • i = l+2: Da im Fall eines Nullschritts das Schrittweitenverfahren 6.2.2 in Schritt LS2 k+1 := α(k,+) mit sl+2 = s(k,+) ∈ ∂ε̃ f (x(k) ) und 0 ≤ α(k,+) ≤ ε̃ < ε stoppt, ist mit αl+2 die Bedingung (6.28) und (6.4) sicher gestellt. Im Fall eines Abstiegsschritts ist sl+2 = s(k,+) ∈ ∂f (y (k,+) ) = ∂f (x(k+1) ) und daher k+1 αl+2 = 0, womit die Bedingungen (6.4) und (6.28) erfüllt sind. Für sl+1 = s̃k definieren wir zunächst mit der Lösung β̃ von (QS)k,ε analog zu (6.30) k αl+1 k = α̃ = l X β̃i αik . i=1 k Dann ist αl+1 ≥ 0 und nach (6.6) (6.31) sl+1 ∈ ∂αk f (x(k) ). l+1 Da sich bei einem Abstiegsschritt der Iterationspunkt ändert, müssen die Zahlen αik+1 , i = 1, ..., l + 1, neu berechnet werden. Als Update-Formel hierzu erhalten wir αik+1 = f (x(k+1) ) − f (y i ) − hsi , x(k+1) − y (i) i = f (x(k) ) − f (y i ) − hsi , x(k) − y (i) i + f (x(k+1) ) − f (x(k) ) − hsi , x(k+1) − x(k) i = αik + f (x(k+1) ) − f (x(k) ) − hsi , x(k+1) − x(k) i. Man könnte die Zahlen αik+1 , i = 1, ..., l + 1, also auch ohne Kenntnis der Hilfspunkte y i durch (6.32) αik+1 = αik + f (x(k+1) ) − f (x(k) ) − tk hsi , d(k) i neu berechnen. Dies ist aber nur sinnvoll, wenn dabei αik+1 ≥ 0 ist. Zunächst ist wegen x(k+1) − x(k) = tk d(k) (6.33) αik+1 = αik + f (x(k+1) ) − f (x(k) ) − hsi , x(k+1) − x(k) i. 3 Nach Konstruktion des Bundles ist si ∈ ∂αk f (x(k) ) für i = 1, ..., l. Wegen (6.31) gilt dies i auch für i = l + 1. Damit folgt (6.34) f (y) ≥ f (x(k) ) + hsi , y − x(k) i − αik ∀y ∈ Rn für i = 1, ..., l + 1. Speziell mit y = x(k+1) folgt f (x(k+1) ) − f (x(k) ) − hsi , x(k+1) − x(k) i + αik ≥ 0, i = 1, ..., l + 1. | {z } =αk+1 i Wir zeigen jetzt,dass mit der Updateformel (6.32) auch in Iterationsschritt k + 1 die Beziehung (6.28) für i = 1, ..., l + 1 gilt. Dazu schreiben wir (6.34) in der Form f (y) ≥ f (x(k+1) ) + hsi , y − x(k+1) i − αik + f (x(k) ) − f (x(k+1) + hsi , x(k+1) − x(k) i. Zusammen mit (6.33) erhalten wir f (y) ≥ f (x(k+1) ) + hsi , y − x(k+1) i − αik+1 ∀y ∈ Rn , also si ∈ ∂αk+1 f (x(k+1) ). i Verfahren 6.3.1: Aktualisierung des Bundles Gegeben seien das Bundle Sk = {s1 , ..., sl }, die Zahlen αik , i = 1, ..., l, und die vom Schrittweitenverfahren 6.2.2 berechnete Schrittweite tk > 0 mit dem Vektor y (k,+) = x(k) + tk d(k) , dem Linearisierungsfehler α(k,+) und einem Subgradienten s(k,+) ∈ ∂f (y (k,+) ). Bu 1: Einfügen von s̃(k) und s(k,+) in das aktuelle Bundle: Setze sl+1 := s̃(k) , sl+2 := s(k,+) und Sk+1 = {s1 , ..., sl+2 }. k+1 k+1 Nullschritt: Definiere αik+1 = αik , i = 1, ..., l, αl+1 = α̃k durch (6.30) und αl+2 := (k,+) α . k+1 Abstiegsschritt: Definiere αl+2 = 0 und berechne αik+1 , i = 1, .., l + 1, nach (6.32). Bu 2: Anpassung der Größe des Bundles: Ist l = ¯l − 1, dann lösche einen Subgradienten si mit i ∈ {1, ..., l} aus Sk+1 ; ist l = ¯l, dann lösche zwei Subgradienten si , sj mit i, j ∈ {1, ..., l} aus Sk+1 . Nummeriere die verbleibenden Vektoren des Bundles und die Linearisierungsfehler wieder mit 1, ..., l. 6.4 6.4.1 Ein implementierbares Abstiegsverfahren Das Verfahren Gegeben seien eine konvexe Funktion f : Rn → R mit der Voraussetzung (S1) aus Abschnitt 3.2 (Erinnerung(S1): zu jedem Vektor x ∈ Rn kann man (mindestens) einen Subgradienten s(x) ∈ ∂f (x) berechnen ) und • die Schrittweitenparameter 0 < m1 < m2 < 1 und 0 < m3 < 1, 4 • ε > 0 und eine Abbruchschranke η > 0, • die maximale Bundel- Größe ¯l ≥ 2. Um für den im Folgenden vorgestellten Algorithmus Konvergenz zeigen zu können, müssen wir das Schrittweitenverfahren 6.2.2 mit einem etwas kleineren ε durchführen. Dazu benutzen wir einen weiteren Parameter 0 < m3 < 1 und führen das Schrittweitenverfahren mit ε̃ = m3 ε durch. Verfahren 6.4.1: Implementierbares ε- Abstiegsverfahren Wähle einen Startpunkt x(0) ∈ Rn . Berechne einen Vektor s1 ∈ ∂f (x(0) ), definiere S0 = {s1 }, l := 1, α10 := 0; setze k := 0. 1. Berechne eine Lösung β̃ des Problems (QS)k,ε , einen Lagrange-Multiplikator µk und setze l l X X s̃(k) = β̃i si , α̃k = β̃i αik . i=1 i=1 2. Abbruchkriterium: Ist ||s̃(k) || ≤ η: Stopp. 3. Setze d(k) := −s̃(k) und vk = −||d(k) ||2 − µk ε oder vk = −||d(k) ||2 . Berechne mit dem Schrittweitenverfahren 6.2.2 mit ε̃ = m3 ε eine Schrittweite tk > 0 und y (k,+) := x(k) + tk d(k) , s(k,+) ∈ ∂f (y (k,+) ). Bei Ausgang (NS): x(k+1) := x(k) (Nullschritt). Bei Ausgang (AS): x(k+1) := y (k,+) (Abstiegsschritt). 4. Aktualisierungdes Bundles mit dem Verfahren 6.3.1; setze k := k + 1 und gehe zu 1. 6.4.2 Konvergenz des Verfahrens Satz 6.4.2: In jedem von dem Verfahren 6.4.1 berechneten Iterationspunkt x(k) gilt f (y) ≥ f (x(k) ) − ε − kd(k) kky − x(k) k ∀y ∈ Rn . Beweis. Wir wählen k ∈ N beliebig. Für i ∈ {1, ..., l} und si ∈ Sk ist nach Konstruktion des Bundles si ∈ ∂αk f (x(k) ), also i (1) f (y) ≥ f (x(k) ) + hsi , y − x(k) i − αik ∀y ∈ Rn . Da s̃(k) Lösung von (QS)Sk,ε ist, gibt es βi ≥ 0, i = 1, ..., l, mit P Pl Pl k (2) s̃(k) = li=1 βi si , i=1 βi = 1, i=1 βi αi ≤ ε. Multipliziert man (1) mit βi für i = 1, ..., l : β1 f (y) ≥ β1 f (x(k) ) + β1 hs1 , y − x(k) i − β1 α1k . . . 5 βl f (y) ≥ βl f (x(k) ) + βl hsl , y − x(k) i − βl αlk und summiert die resultierenden Ungleichungen, so folgt mit (2) l l X X f (y) ≥ f (x(k) ) + h βi si , y − x(k) i − βi αik i=1 i=1 ≥ f (x(k) ) + hs̃(k) , y − x(k) − εi = f (x(k) ) − hd(k) , y − x(k) i − ε ∀y ∈ Rn . Die Ungleichung von Cauchy- Schwarz besagt, dass |hx, yi|2 ≤ kxk2 kyk2 gilt. Somit folgt: hd(k) , y − x(k) i ≤ kd(k) kky − x(k) k. ¥ Dass diese Bedingung wichtig für die Konvergenz des Verfahrens ist, zeigen die folgenden Überlegungen. Gilt nach m Iterationsschritten kd(m) k = ks(m) k ≤ η und ist x∗ Minimalpunkt von f , so folgt aus Satz 6.4.2 mit y = x∗ f (x∗ ) ≥ f (x(m) ) − ε − ηkx∗ − x(m) k und daher für alle y ∈ Rn f (y) ≥ f (x∗ ) ≥ f (x(m) ) − ε − ηkx∗ − x(m) k. Konvergiert die Folge {x(k) } gegen x∗ , dann konvergiert der letzte Term der rechten Seite gegen Null. Die Bedingung für ein ε-Minimum ist dann approximativ erfüllt. Lemma 6.4.3: Gilt f (x(k) ) 9 −∞ für k → ∞, dann werden nur endlich viele Abstiegsschritte durchgeführt. Beweis. Wenn das Verfahren nach endlich vielen Schritten stoppt, ist nichts zu zeigen. Wir betrachten also den Fall, dass das Verfahren nicht nach endlich vielen Schritten stoppt. Wir zeigen, dass f (x(k) ) in diesem Fall nach einem Abstiegsschritt um einen festen Wert ε∗ verkleinert wird. Dazu benötigen wir die Beschränktheit der Folgen {x(k) }, {s(k,+) } und {d(k) }. (i) Wir berechnen zunächst eine Abschätzung für die Abnahme des Funktionswertes. Nach einem Nullschritt ist x(k+1) = x(k) . Damit gilt trivialerweise (1) f (x(k+1) ) − f (x(k) ) ≤ −m1 kx(k+1) − x(k) kkd(k) k. Nach einem Abstiegsschritt ist x(k+1) = x(k) + tk kd(k) k, also tk kd(k) k = kx(k+1) − x(k) k. Wegen vk = −kd(k) k2 − µk ε mit µk ≥ 0 bzw. vk = −kd(k) k2 ist vk ≤ −kd(k) k2 und daher tk vk ≤ −tk kd(k) k2 = −kx(k+1) − x(k) kkd(k) k. Bei einem Abstiegsschritt stoppt das Schrittweitenverfahren 6.2.2 in LS3, und die Abstiegsforderung f (x(k+1) ) − f (x(k) ) ≤ m1 tk vk ist erfüllt, womit (1) folgt. (ii) Zum Beweis der Beschränktheit von {x(k) } schreiben wir (1) in der äquivalenten Form f (x(k) ) − f (x(k+1) ) ≥ m1 kx(k+1) − x(k) kkd(k) k. 6 Da kd(k) k ≥ η in jeder Iteration k ist, folgt k = 1, 2, ... f (x(k) ) − f (x(k+1) ) ≥ m1 kx(k+1) − x(k) kη. (2) Wegen m1 η > 0 erhält man damit für k = 1, 2, ... kx(k+1) − x(k) k ≤ (3) 1 (f (x(k) ) − f (x(k+1) )). m1 η Ist k ∈ N fest gewählt, dann erhalten wir für beliebiges l ∈ N durch Aufsummieren der Ungleichungen (3) (4) kx(k+l) − x(k) k = k l X x(k+i) − x(k+i−1) k ≤ i=1 ≤ l X kx(k+i) − x(k+i−1) k i=1 l X 1 (f (x(k+i−1) ) − f (x(k+i) )) m1 η i=1 = 1 (f (x(k) ) − f (x(k+l) )). m1 η Nach Voraussetzung ist die Folge {f (x(k) )} nach unten beschränkt. Außerdem ist die Folge {f (x(k) )} nach Konstruktion des Schrittweitenverfahrens 6.2.2 monoton fallend (denn nach einem Nullschritt gilt f (x(k+1) ) = f (x(k) ), und nach einem Abstiegsschritt ist f (x(k+1) ) < f (x(k) )), also konvergent und damit eine Cauchy-Folge. Wegen (4) ist dann auch die Folge {x(k) } eine Cauchy-Folge und damit konvergent und beschränkt. (iii) Als nächstes zeigen wir, dass die Folge {s(k,+) }, die im Schrittweitenverfahren 6.2.2 im Schritt LS3 berechnet wird, und die Folge {d(k) } beschränkt sind, d.h. es gibt ein M > 0 mit ks(k,+) k ≤ M, kd(k) k ≤ M ∀k ∈ N. Das Schrittweitenverfahren 6.2.2 berechnet s(k,+) ∈ ∂f (y (k,+) ). Ist k 7→ k + 1 ein Abstiegsschritt, so ist x(k+1) = y (k,+) und wegen ∂f (x(k+1) ) ⊂ ∂m3 ε f (x(k+1) ) folgt (5) s(k,+) ∈ ∂m3 ε f (x(k+1) ) ⊂ ∂ε f (x(k+1) ). Ist k → k + 1 ein Nullschritt, so ist nach LS2 s(k,+) ∈ ∂m3 ε f (x(k) )und wegen x(k+1) = x(k) gilt ebenfalls (5). Da die Folge {x(k) } beschränkt ist, folgt aus Satz 5.1.11, dass die Menge S := {s ∈ Rn |s ∈ ∂ε f (x(k) )f ür ein k ∈ N} beschränkt ist, d.h., es gibt ein M > 0 mit ksk ≤ M für alle s ∈ S. Wegen s(k,+) ∈ S ist insbesondere ks(k,+) k ≤ M für alle k ∈ N. Da d(k) = −s̃(k) und s̃(k) ∈ ∂α̃ f (x(k) ) mit α̃ ≤ ε ist (siehe Abschnitt 6.3), ist auch −d(k) = s̃(k) ∈ S und damit kd(k) k ≤ M für alle k ∈ N. (iv) Wir können jetzt zeigen, dass der Funktionswert f (x(k) ) nach einem Abstiegsschritt um einen festen Wert ε∗ verkleinert wird. Im Fall eines Abstiegsschritts ist α+ > ε̃. (Anmerkung: An dieser Stelle wird die Tatsache benutzt, dass beim Schrittweitenverfahren 6.2.2 Nullschritte Priorität haben). Also ist (6) ε̃ = m3 ε < α+ = f (x(k) ) − f (x(k+1) ) − hs(k,+) , x(k) − x(k+1) i. 7 Da die Folge {x(k) } beschränkt ist, gibt es nach Korollar 2.7.4 ein L > 0 mit f (x(k) ) − f (x(k+1) ) ≤ Lkx(k) − x(k+1) k k = 1, 2, ... Mit der Ungleichung von Cauchy-Schwarz gilt (7) hs(k,+) , x(k) − x(k+1) i ≤ ks(k,+) kkx(k) − x(k+1) k. Zusammen mit (6),(7) und (iii) folgt ε̃ = m3 ε ≤ (L + M )kx(k) − x(k+1) k k = 1, 2, ... Aus (2) erhalten wir damit f (x(k) ) − f (x(k+1) ) ≥ m1 ηm3 ε =: ε∗ (L + M ) Nach jedem Abstiegsschritt wird also ein Abstieg um mindestens ε∗ erzielt. Da die Folge {f (x(k) )} nach Voraussetzung nach unten beschränkt ist, können nur endlich viele Iterationsschritte mit Abstiegsschritt durchgeführt werden. ¥ Lemma 6.4.4: Gilt f (x(k) ) 9 −∞ für k → ∞ und ist m2 + m3 ≤ 1, dann führt das Verfahren nach einem Nullschritt höchstens endlich viele weitere Nullschritte bis zu einem Abstiegsschritt oder zum Stopp des Verfahrens durch. Beweis. In Iterationsschritt k0 werde ein Nullschritt durchgeführt. Wir nehmen an, dass danach nur noch Nullschritte durchgeführt werden und dass das Verfahren nicht stoppt. k+1 Nach jedem Nullschritt ist (siehe Abschnitt 6.3) sl+1 = s̃(k) ∈ Sk+1 , und es gilt αl+1 ≤ ε. (k) (k+1) Daher ist s̃ ∈ Sk+1,ε . Da s̃ die Projektion von 0n auf Sk+1,ε ist muss (1) ks̃(k+1) k ≤ ks̃(k) k ∀k ≥ k0 sein. Aus der Charakterisierung der Projektion (siehe Satz 2.2.1) folgt hs̃(k+1) , y − s̃(k+1) i ≥ 0 ∀y ∈ Sk+1,ε . Setze y = s̃(k) , dann gilt hs̃(k+1) , s̃(k) − s̃(k+1) i ≥ 0 ⇔ ⇔ hs̃(k+1) , s̃(k) i − hs̃(k+1) , s̃(k+1) i ≥ 0 hs̃(k+1) , s̃(k) i ≥ hs̃(k+1) , s̃(k+1) i. (∗) Zusammen mit (∗), der Ungleichung von Cauchy-Schwarz und (1) erhalten wir ks̃(k+1) k2 = hs̃(k+1) , s̃(k+1) i ≤ hs̃(k+1) , s̃(k) i ≤ ks̃(k+1) kks̃(k) k ≤ ks̃(k) k2 . Wegen (1) ist die Folge {ks̃(k) k} monoton fallend. Daher gibt es ein δ ≥ 0, so dass für k → ∞ folgt 8 ks̃(k) k → δ, hs̃(k+1) , s̃(k) i → δ 2 , (2) ks̃(k+1) k2 = ks̃(k+1) k2 − 2hs̃(k+1) , s̃(k) i + ks̃(k) k2 → 0. Da das Verfahren nicht stoppt, ist das Abbruchkriterium nicht erfüllt. Daher muß ks̃(k) k ≥ η für alle k ≥ k0 und damit δ ≥ η > 0 sein. Nach Konstruktion des Bundles (siehe k+1 ≤ m3 ε. Für Abschnitt 6.3) ist nach einem Nullschritt s(k,+) = sl+2 ∈ Sk+1 und αl+2 (k+1) s̃ folgt daher aus der Optimalitätsbedingung (6.12) k+1 ks̃(k+1) k2 + µk+1 ε ≤ hs̃(k+1) , s(k,+) i + µk+1 αl+2 ≤ hs̃(k+1) , s(k,+) i + µk+1 m3 ε, dabei sind die äußeren Terme äquivalent zu (1 − m3 )εµk+1 ≤ hs̃(k+1) , s(k,+) i − ks̃(k+1) k2 . Dieses schreiben wir wiederum in der Form (3) (1 − m3 )εµk+1 ≤ hs̃(k) , s(k,+) i + hs̃(k+1) − s̃(k) , s(k,+) i − ks̃(k+1) k2 . Andererseits gilt nach einem Nullschritt (siehe LS2 im Schrittweitenverfahren 6.2.2) hs̃(k) , s(k,+) i = −hd(k) , s(k,+) i ≤ −m2 vk mit vk = −kd(k) k2 − µk ε, µk ≥ 0 bzw. vk = −kd(k) k2 , also hs̃(k) , s(k,+) i ≤ m2 (ks̃(k) k2 + µk ε) = m2 µk ε + m2 ks̃(k) k2 . Wegen m2 + m3 ≤ 1, also m2 ≤ 1 − m3 , folgt zusammen mit (3) (1 − m3 )εµk+1 ≤ m2 µk ε + m2 ks̃(k) k2 + hs̃(k+1) − s̃(k) , s(k,+) i − ks̃(k+1) k2 | {z } =:δk ≤ (1 − m3 )εµk + δk . Wegen (2) und der Beschränktheit der Folge {s(k,+) } (Beweisteil (iii) von Lemma 6.4.3) gilt δk → (m2 − 1)δ 2 =: δ 0 < 0. Daher ist δk < 12 δ 0 < 0 für hinreichend großes k, und wegen (4) gilt µk+1 ≤ µk + δk δ0 ≤ µk + . (1 − m3 )ε 2(1 − m3 )ε In jedem Iterationsschritt mit Nullschritt wird der Wert µk also um einen festen Wert vermindert. Daher muss nach endlich vielen Nullschritten µk < 0 sein im Widerspruch zu µk ≥ 0. ¥ Satz 6.4.5: Ist m2 + m3 ≤ 1, dann gilt für die Verfahren 6.4.1 berechnete Folge {x(k) } entweder f (x(k) ) → −∞ oder das Abbruchkriterium ist nach endlich vielen Iterationen erfüllt. Weiter ist in jedem Iterationspunkt x(k) die Beziehung aus Satz 6.4.2 erfüllt. 9 Beweis. Gilt f (x(k) ) 9 −∞ für k → ∞, dann wird nach Lemma 6.4.4 nach endlich vielen Nullschritten ein Abstiegsschritt ausgeführt oder das Abbruchkriterium ist erfüllt, und nach Lemma 6.4.3 werden nur endlich viele Abstiegsschritte durchgeführt. Daher muss das Verfahren nach endlich vielen Iterationsschritten stoppen. Die letzte Behauptung wurde im Satz 6.4.2 bewiesen. ¥