Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme Präsentation in Rahmen des.

Ähnliche Präsentationen


Präsentation zum Thema: "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme Präsentation in Rahmen des."—  Präsentation transkript:

1 WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme Präsentation in Rahmen des Seminars Parallele Programmierung SS 2003 Referent: Roman Achziger Datum:

2 2 WIRTSCHAFTS INFORMATIK Einleitung: Motivation Anwendungsgebiete ­ Gebiete der Technik, Wirtschafts- und Naturwissenschaften Lösung nichtlinearen Abhängigkeiten ­ Approximation durch lineare Modelle ­ Einsatz numerischen Algorithmen Die Standardform nichtlinearer Gleichungssysteme: = oder kurz F(x)

3 3 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren Fixpunktiteration: Betrachtung des skalaren Falls ­ Transformation der vorliegende Gleichung f(x)=0 in eine äquivalente Fixpunktform (x) = x Definition: Ein Element x* R heißt Fixpunkt der Abbildung : R R falls (x*)=x* gilt. ­ Wähle die Abbildung so, dass x* die Abbildung (x*) = x* und f(x*) = 0 erfüllt ­ Ausgehend vom Startwert x (0) gilt die Rekursion x (k+1) = (x (k) ), ­ Abbildung verkleinert sukzessive den Abstand zwischen x (k+1) und x*

4 4 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren ­ Spinnweb-Diagramm für (x)= exp(-x 2 ) ­ Die Folge oszilliert um den Fixpunkt

5 5 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren ­ Die Wahl einer gute Iterationsfunktion ist entscheidend Definition: Eine auf einer Teilmenge A R definierte Abbildung : A A heißt Kontraktion, wenn eine Lipschitz-Konstante 0

6 6 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren: Beispiel Gesucht ist die Nullstelle von f(x) = x 3 +x-1,5 ­ Einsetzen: f(0,8) = -0,188 und f(0,9) = 0,129 Da die Funktion stetig ist, existiert eine Nullstelle x* mit 0,8

7 7 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren Banachsche Fixpunktsatz: ­ Es sei : A A eine Kontraktion über der abgeschlossenen Menge A R mit der Kontraktionskonstanten L< 1. Dann : 1) existiert ein eindeutiger Fixpunkt x* = (x*) in A; 2) konvergiert die durch x (k+1) = (x (k) ) definierte Folge für jeden Startwert x (0) A gegen den Fixpunkt; 3) gelten die Abschätzungen:

8 8 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren: Einzugsbereich Definition: Die Menge E R heißt Einzugsbereich der Lösung x*, wenn x (k) = x* für alle x (0) E gilt. globale Konvergenz: ­ Ist der gesamte Definitionsbereich von Einzugsbereich Iterationsfolge konvergiert für alle Startwerte lokale Konvergenz: ­ Iterationsfolge konvergiert nur auf einer Umgebung um x*

9 9 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren: Konvergenzgeschwindigkeit ­ Der Fehler (k) := x (k) -x* stellt auf einer kleinen Umgebung von x* das Konvergenzverhalten der Folge dar Lineare Konvergenz: Es gibt eine Konstante q (0; 1), Konvergenzordnung p=1, so dass für alle k=0, 1, 2,... gilt. der Fehler (k+1) nimmt linear mit dem Faktor q ab Quadratische Konvergenz: E s gibt eine Konvergenzfaktor K > 0 und eine Konvergenzordnung p=2, so dass für alle k=0, 1, 2,... gilt. Fehler (k+1) ist proportional zum Quadrat von (k) mit dem Faktor K

10 10 WIRTSCHAFTS INFORMATIK Grundlagen der Iterationsverfahren: Abbruchkriterien Kompromiss zwischen der Genauigkeit und der Effizienz Abbruch der Verfahren beim Erreichen einer geforderten Genauigkeit ­ Fehler-Kriterium: Prozess stoppt, wenn || x (k+1) -x (k) || < abs ­ Residuums-Kriterium: Prozess stoppt, wenn ||F(x)|| < f Abbruch der Verfahren bei Nicht-Konvergenz ­ Kriterien: ||x (k) ||>x max oder || F(x (k) )|| > f max oder ||F(x (k) )|| > ||F(x (k-1) )||> ||F(x (k-2) )|| ­ sicherste Methode: Beschränkung der maximalen Anzahl der Iterationsschritte Verhinderung einer unendlichen Folge

11 11 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungen: Bisektionsverfahren Nullstellensatz für stetige Funktionen ­ Sei eine stetige Funktion f : [a,b] R mit f(a)*f(b) < 0 gegeben. Dann existiert ein x* (a,b), so dass f(x*) = 0 gilt. Algorithmus: Startintervall: I 0 =[x (k-1),x (k) ] mit x (k-1) < x (k) und f(x (k-1) )f(x (k) )< 0 while (Abbruchkriterium nicht erfüllt) { (x (k+1) = x (k-1) + x (k) ) /2 if (f(x (k-1) )f(x (k+1) ) 0 ) x (k) = x (k+1) else x (k-1) = x (k+1) } return x (k) ­ Lineare Konvergenz mit dem Konvergenzfaktor ½ ­ Global konvergent

12 12 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungen: Bisektionsverfahren Parallelen Realisierung ­ Unterteilung des Intervalls in in p+1 Teilintervalle ­ parallelen Berechnung der p Funktionswerte ­ Dasjenige mit einen Vorzeichenwechsel wird aus den p+1 Teilintervallen ausgewählt ­ wiederhole bis Abbruchkriterium erfüllt ­ Nach k-Schritt wird das Anfangsintervall auf das ( p+1) -k –fache reduziert speed-up von S p = O(log 2 p)

13 13 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungen: Linearisiertes Newton-Verfahren ­ Ersetzung der Funktion durch eine lineare Modellfunktion ­ Geometrisch: Der Schnittpunkt der Tangente mit der x-Achse gilt als Näherungswert für die Nullstelle x* ­ Iterationsvorschrift: x (k+1) = x (k) -, k =0,1,2,..., ­ Fixpunktiterationen: (x (k) )= x (k) - ­ Newton-Iteration: x (k+1) = (x (k) ), k = 0, 1, 2,...., Eigenschaften: ­ quadratische Konvergenz ­ lokale Konvergenz ­ selbstkorrigierend

14 14 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Fixpunktiteration ­ Übertragung des skalaren Falls der Fixpunktiteration auf ein n-dimensionales Problem vorliegende Problem: sind : R n R n und F: R n R n gegeben, finde x* R n, so dass (x*) = x*. Für einen Fixpunkt x* von gilt F(x*) = 0 ­ Ausgehend von x (0) R n konvergiert die Iterationsvorschrift x (k+1) = ( x (k) ), für k = 0, 1, gegen x*

15 15 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Fixpunktiteration parallele Realisierung ­ vergleichbar zur der parallelen Realisierung eines Iterations- verfahrens zur Lösung linearer Gleichungssysteme ­ Aufteilung der Komponenten i (x (k) ) der Kontraktionsabbildung auf n Prozessoren ­ blockweise Aufteilung Fixpunktabbildung auf die Prozessoren jeder einzelne Prozessor berechnet n/p Spalten des nächsten Iterationsvektors ­ Verteilung des Iterationsvektor per Multi-Broadcastoperation

16 16 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Newton-Verfahren ­ Linearisierung der Funktion F: R n R n ­ Iterationsvorschrift: x (k+1) = x (k) -[DF(x (k) )] -1 F(x (k) ) für k=0, 1, 2,.... ­ Fixpunktproblem: (x) = x (k) -[DF(x (k) )] -1 F(x (k) ) ­ Fixpunktiteration x (k+1) = (x (k) ) DF(x)= Eigenschaften: ­ quadratische Konvergenz ­ lokale Konvergenz

17 17 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Newton-Verfahren Einführung eines Korrekturterms (k) : 1) x (k+1) = x (k) + (k) 2) DF(x (k) )* (k) = - F(x (k) ) Überführung des Problem des Lösens eines Systems nichtlinearer Gleichungen in das Problem des Lösens eines linearen Gleichungs- systems Rechenaufwand pro Iterationsschritt: ­ n 2 +nKomponenten-Funktionsauswertung ­ 2n 3 /3+O(n 2 )arithmetischen Operationen ­ n 2 + O(n)Speicheroperationen

18 18 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Modifiziertes Newton-Verfahren Zyklisches Aktualisieren der Jacobimatrix ­ LU-Faktorisierung der Jakobimatrix nur alle n Iterationsschritte Differenzenapproximation der Jacobimatrix ­ Bestimmung einer Näherung der Jacobimatrix durch n-dimensionale Differenzen ­ Berechne für jeden Eintrag aus DF(x (k) ): (x (k) ) Möglichkeit der Wahl für r j und e j : ||F(x (k) + r j e j )- F(x (k) )|| F(x (k) )

19 19 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele Implementierung des Newton-Verfahrens ­ Verwendung des Ergebnisvektors des k-ten Iterationsschrittes als Datum bei der Berechnung des nächsten Iterationsschrittes die Iterationen müssen nacheinender durchgeführt werden Teilaufgaben pro Schritt: ­ Auswertung der Funktion F ­ Berechnung der Jacobimatrix ­ Durchführung der Gauß-Elimination ­ Berechnung des nächsten Approximationsvektors ­ Kontrolle der Konvergenz des Verfahrens mit Bestimmung der Norm des Korrekturterms

20 20 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele Implementierung des Newton-Verfahrens ­ Parallelisierung der Teilaufgaben des Iterationsschrittes unter Beachtung der Datenabhängigkeiten Datenabhängigkeit in der Newton-Iteration:

21 21 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele Implementierung des Newton-Verfahrens Bei der parallelen Ausführung auf eine gemeinsame Datenverteilung achten Gauß-Elimination verursacht den meisten Rechenaufwand Datenverteilung bzgl. Gauß-Elimination optimieren Durchführung der Gauß-Elimination auf mehreren Prozessoren: ­ zeilenzyklische Berechnung ­ gesamtzyklische Berechnung

22 22 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele zeilenzyklische Implementierung ­ Verteilung der Jacobimatrix zyklisch auf die vorhandenen Prozessoren Berechnung der Jacobimatrix in der entsprechenden Verteilung ­ Approximation der Jacobimatrix durch: (x (k) ) Berechnung der Jacobimatrix: ­ Ein Prozessor P q speichert und berechnet alle Zeilen i mit q = ((i-1) mod p) +1 maximal Zeilen ­ Vektor x (k) wird repliziert gehalten keine Kommunikation ­ Gesamtaufwand: T 1 (n,p)= (n+1) T eval (F)

23 23 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele zeilenzyklische Implementierung Durchführung der Gauß-Elimination ­ Zeilenzyklische Ablage der Jacobimatrix ­ Zeilenzyklische Ablage der rechten Seite des zu lösenden Gleichungssystems zeilenzyklischen Variante der Gauß-Elimination ohne Umverteilung der Daten ­ Ein Prozessor speichert die benötigten Zeilen der Jacobimatrix und den entsprechenden Funktionswert ab

24 24 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele zeilenzyklische Implementierung Berechnung des neuen Iterationsvektors: ­ Replizierte Ablage des Iterationsvektors x (k) der Newton-Iteration die Prozessoren führen die Berechnung ohne Kommunikation durch Jeder Prozessor p berechnet: ­ Werte der gespeicherten Funktion ­ Zugehörige Zeilen der Jacobimatrix ­ Zugehörige Werte des Vektors (k) ­ Zugehörige Werte des Vektors x (k+1) ­ Zugehörige Komponenten der Norm || (k) ||

25 25 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele zeilenzyklische Implementierung double *newton_zyklisch (double *F( )){ double *x_neu, *x_alt, *temp, *y, f[MAX_SIZE], fg[MIN_SIZE] ; int i, j ; x_neu = x_buf1; x_old= x_buf2; initialize (x_neu); do { temp=x_neu ; x_neu= x_alt ; x_alt=temp ; for (i=me; i (1-L) /L ); Überprüfung des Abbruchkriteriums return x_neu ; }

26 26 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele gesamtzyklische Implementierung Berechnung der Jacobimatrix: ­ Blockzyklische schachbrettartige Datenverteilung der Matrix Bei gleichen Anzahl der Prozessoren in jeder Dimension berechnet ein Prozessor etwa Einträge ­ Der benötigte Iterationsvektor wird repliziert abgelegt lokales Arbeiten mit der Funktion F

27 27 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme: Parallele gesamtzyklische Implementierung ­ Vermeidung von Kommunikation bei der Berechnung der Jacobimatrix zwischen den Prozessoren F i (x (k) ) mindestens Mal errechnen, da sich an der Berechnung einer Zeile der Jacobimatrix Prozessoren beteiligen ­ Es ergibt sich der Gesamtaufwand von: T 2 (n,p) = n/p( )T eval (F) Durchführung der Gauß-Elimination: ­ Allokierung der Jacobimatrix DF vergleichbar mit der zeilenzyklischen Variante ­ Eine allokierte Zeile enthält nur noch +1 Einträge

28 28 WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme : Vergleich der beiden Varianten Zeilenzyklische Implementierung: ­ geringere Anzahl der Funktionsauswertungen Gesamtzyklische Implementierung: ­ besseres Kommunikationsverhalten der Gauß-Elimination Wahl abhängig davon, welcher der beiden Aspekte überwiegt ­ Auswertungsaufwand der Funktion F Zeilenzyklische Implementierung ­ Kommunikationsverhalten der Zielmaschine Gesamtzyklische Implementierung

29 29 WIRTSCHAFTS INFORMATIKZusammenfassung Vielzahl von unterschiedlichen Iterationsverfahren Beurteilung anhand des Effizienzvergleich ­ Anzahl der Iterationsschritte ­ Rechenaufwand pro Iterationsschritt Bisektionsverfahren: ­ für skalaren Fall ­ einfaches Verfahren mit globaler, lineare Konvergenz Newton-Verfahren: ­ für skalaren und auch mehrdimensionalen Fall ­ quadratische, lokale Konvergenz Parallele Realisierung: ­ Verteilung des Berechnungsaufwands auf mehrere Prozessoren

30 30 WIRTSCHAFTS INFORMATIK Herzlichen Dank für Ihre Aufmerksamkeit! Noch Fragen?


Herunterladen ppt "WIRTSCHAFTSINFORMATIK Westfälische Wilhelms-Universität Münster WIRTSCHAFTS INFORMATIK Lösung nichtlinearer Gleichungssysteme Präsentation in Rahmen des."

Ähnliche Präsentationen


Google-Anzeigen