Prof. Dr. R. Herzog Nichtlineare Optimierung Algorithmen zur Liniensuche Algorithmus 4.11 (Armijo-Liniensuche mit Backtracking). Eingabe: Iterierte xk und Abstiegsrichtung dk ; Parameter β ∈ (0, 1), σ ∈ (0, 1) Ausgabe: Schrittweite αk , die (4.9) erfüllt 1: Setze ` := 0 2: while Armijo-Bedingung (4.9) für α = β ` verletzt do 3: ` := ` + 1 4: end while 5: return αk = β ` Algorithmus 4.15 (Wolfe-Liniensuche). Eingabe: Iterierte xk und Abstiegsrichtung dk ; Parameter γ > 1, γ1,2 ∈ (0, 1/2], 0 < σ < τ < 1, αstart > 0 Ausgabe: Schrittweite αk , die (4.9) und (4.12) erfüllt 1: Setze a := 0 und b := αstart 2: while b erfüllt nicht [(4.9) und (4.12)]; und b erfüllt nicht (4.13b) do 3: Setze a := b und b := γ b 4: end while 5: if b erfüllt (4.9) und (4.12) then 6: return αk = b 7: end if 8: loop 9: Wähle t ∈ [a + γ1 (b − a), b − γ2 (b − a)]. 10: if t erfüllt (4.9) then 11: if t erfüllt (4.12) then 12: return αk = t 13: else if ψ 0 (t) ≤ 0 then 14: Setze a := t 15: else 16: Setze b := t 17: end if 18: else 19: Setze b := t. 20: end if 21: end loop Verwendet man in Algorithmus 4.15 statt (4.12) die Bedingung (4.11), erhält man Schrittweiten, die die (nicht-strenge) Wolfe-Bedingungen erfüllen. http://www.tu-chemnitz.de/mathematik/part_dgl/teaching/WS2015_Nichtlineare_Optimierung/
© Copyright 2024 ExpyDoc