ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΡΙΘΜΗΤΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΑΙ ΕΠΙΛΥΣΗΣ ΓΡΑΜΜΙΚΩΝ ΚΑΙ ΜΗ-ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ: ΧΡΗΣΗ ΤΟΥ MATLAB

Σχετικά έγγραφα
Αριθμητική Ανάλυση και Εφαρμογές

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ

Πιο συγκεκριμένα, η χρήση του MATLAB προσφέρει τα ακόλουθα πλεονεκτήματα.

Επίλυση Γραµµικών Συστηµάτων

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

5269: Υπολογιστικές Μέθοδοι για Μηχανικούς Συστήματα Γραμμικών Αλγεβρικών Εξισώσεων

ΘΕΩΡΙΑ Β ΓΥΜΝΑΣΙΟΥ. Μια παράσταση που περιέχει πράξεις με μεταβλητές (γράμματα) και αριθμούς καλείται αλγεβρική, όπως για παράδειγμα η : 2x+3y-8

A Τελική Εξέταση του μαθήματος «Αριθμητική Ανάλυση» Σχολή Θετικών Επιστημών, Τμήμα Μαθηματικών, Πανεπιστήμιο Αιγαίου

ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΣΤΑ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι. Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

Εφαρμοσμένα Μαθηματικά ΙΙ

ΜΑΘΗΜΑΤΑ ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΟΥ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (Εξ. Ιουνίου - 02/07/08) ΕΠΙΛΕΓΜΕΝΕΣ ΑΠΑΝΤΗΣΕΙΣ

ΚΕΦΑΛΑΙΟ 3 ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. nn n n

Κεφ. 2: Επίλυση συστημάτων εξισώσεων. 2.1 Επίλυση εξισώσεων

ΜΕΜ251 Αριθμητική Ανάλυση

Περιεχόμενα. Πρόλογος 3

Μαθηματικά Γ Γυμνασίου

Παναγιώτης Ψαρράκος Αν. Καθηγητής

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

Αριθμητική Ανάλυση και Εφαρμογές

Διανύσµατα στο επίπεδο

Αριθμητική Ανάλυση και Εφαρμογές

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

Εισαγωγικές έννοιες. Κατηγορίες προβλημάτων (σε μια διάσταση) Προβλήματα εύρεσης μεγίστου. Συμβολισμοί

3. Γραμμικά Συστήματα

Γ. Ν. Π Α Π Α Δ Α Κ Η Σ Μ Α Θ Η Μ Α Τ Ι Κ Ο Σ ( M S C ) ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΛΥΜΕΝΕΣ ΑΣΚΗΣΕΙΣ. ΠΡΟΓΡΑΜΜΑ: Σπουδές στις Φυσικές Επιστήμες

ΓΥΜΝΑΣΙΟ ΚΑΣΤΕΛΛΑΝΩΝ ΜΕΣΗΣ ΑΛΓΕΒΡΑ

ΜΑΣ 371: Αριθμητική Ανάλυση ΙI ΑΣΚΗΣΕΙΣ. 1. Να βρεθεί το πολυώνυμο Lagrange για τα σημεία (0, 1), (1, 2) και (4, 2).

Εφαρμοσμένα Μαθηματικά ΙΙ

Κεφ. 2: Επίλυση συστημάτων αλγεβρικών εξισώσεων. 2.1 Επίλυση απλών εξισώσεων

Σημειώσεις διαλέξεων: Βελτιστοποίηση πολυδιάστατων συνεχών συναρτήσεων 1 / 20

Αριθμητική Ανάλυση & Εφαρμογές

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

ΜΑΘΗΜΑΤΙΚΑ Γ Γυμνασίου

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

ΜΑΘΗΜΑΤΙΚΑ ΘΕΤΙΚΗΣ & ΤΕΧΝΟΛΟΓΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ

Εφαρμοσμένα Μαθηματικά ΙΙ

ΘΕΩΡΙΑ ΜΑΘΗΜΑΤΙΚΑ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Β ΛΥΚΕΙΟΥ

0 + a = a + 0 = a, a k, a + ( a) = ( a) + a = 0, 1 a = a 1 = a, a k, a a 1 = a 1 a = 1,

Τετραγωνικά μοντέλα. Τετραγωνικό μοντέλο συνάρτησης. Παράδειγμα τετραγωνικού μοντέλου #1. Παράδειγμα τετραγωνικού μοντέλου #1

= 7. Στο σημείο αυτό θα υπενθυμίσουμε κάποιες βασικές ιδιότητες του μετασχηματισμού Laplace, δηλαδή τις

Μέθοδοι μονοδιάστατης ελαχιστοποίησης

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Κεφάλαιο 3 ΠΑΡΑΓΩΓΟΣ. 3.1 Η έννοια της παραγώγου. y = f(x) f(x 0 ), = f(x 0 + x) f(x 0 )

Αριθμητική Ανάλυση και Εφαρμογές

3 η ΕΝΟΤΗΤΑ ΜΗ ΓΡΑΜΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΕΝΟΣ ΚΡΙΤΗΡΙΟΥ

Ιδιάζουσες τιμές πίνακα. y έχουμε αντίστοιχα τις σχέσεις : Αυτές οι παρατηρήσεις συμβάλλουν στην παραγοντοποίηση ενός πίνακα

Πεπερασμένες Διαφορές.

1 Επανάληψη εννοιών από τον Απειροστικό Λογισμό

Αριθμητική εύρεση ριζών μη γραμμικών εξισώσεων

Ποσοτικές Μέθοδοι στη Διοίκηση Επιχειρήσεων ΙΙ Σύνολο- Περιεχόμενο Μαθήματος

2.1 Αριθμητική επίλυση εξισώσεων

Φίλη μαθήτρια, φίλε μαθητή,

Αριθμητική Ανάλυση και Εφαρμογές

f(x) = και στην συνέχεια

ΜΕΘΟΔΟΙ ΑΕΡΟΔΥΝΑΜΙΚΗΣ

Γραμμικός Προγραμματισμός Μέθοδος Simplex

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

Μαθηματικά. Ενότητα 2: Διαφορικός Λογισμός. Σαριαννίδης Νικόλαος Τμήμα Διοίκησης Επιχειρήσεων (Κοζάνη)

Ειδικά θέματα στην επίλυση

ΕΠΑΝΑΛΗΨΗ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΕΥΘΥΝΣΗΣ Β ΛΥΚΕΙΟΥ ( α μέρος )

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΕΝΤΡΙΚΗΣ ΜΑΚΕΔΟΝΙΑΣ ΣΧΟΛΗ ΤΜΗΜΑ. Μαθηματικά 1. Σταύρος Παπαϊωάννου

ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ ΜΑΘΗΜΑΤΙΚΑ Β ΓΥΜΝΑΣΙΟΥ. ΜΕΡΟΣ 1ο ΑΛΓΕΒΡΑ

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Αριθμητική Ανάλυση και Εφαρμογές

Α ΜΕΡΟΣ - ΑΛΓΕΒΡΑ. Α. Οι πραγματικοί αριθμοί και οι πράξεις τους

ΦΥΕ 14 Διανύσματα. 1 Περιγραφή διανυσμάτων στο χώρο Γεωμετρική περιγραφή: Τα διανύσματα περιγράφονται σαν προσανατολισμένα ευθύγραμμα

[A I 3 ] [I 3 A 1 ].

Μ Α Θ Η Μ Α Τ Α Γ Λ Υ Κ Ε Ι Ο Υ

Παντελής Μπουμπούλης, M.Sc., Ph.D. σελ. 2 math-gr.blogspot.com, bouboulis.mysch.gr

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

1 ΘΕΩΡΙΑΣ...με απάντηση

Εφαρμοσμένα Μαθηματικά ΙΙ

ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΑΚ. ΕΤΟΣ Μαθηματικά για Οικονομολόγους ΙI-Μάθημα 4 Γραμμικά Συστήματα

Εφαρμοσμένα Μαθηματικά ΙΙ

ΓΡΑΜΜΙΚΗ ΑΛΓΕΒΡΑ (ΗΥ-119)

Επαναληπτικές μέθοδοι για την επίλυση γραμμικών συστημάτων. Μιχάλης Δρακόπουλος

Κεφάλαιο 5. Το Συμπτωτικό Πολυώνυμο

Ιωάννης Σ. Μιχέλης Μαθηματικός

Matrix Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Γ. Καούρη Β. Μήτσου

(a + b) + c = a + (b + c), (ab)c = a(bc) a + b = b + a, ab = ba. a(b + c) = ab + ac

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥΔΩΝ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΜΑΘΗΜΑΤΙΚΑ Ι (ΘΕ ΠΛΗ 12) ΕΡΓΑΣΙΑ 1 η Ημερομηνία Αποστολής στον Φοιτητή: 17 Οκτωβρίου 2011

x 2 = b 1 2x 1 + 4x 2 + x 3 = b 2. x 1 + 2x 2 + x 3 = b 3

Κεφάλαιο 2: Διανυσματικός λογισμός συστήματα αναφοράς

ΑΡΙΘΜΗΤΙΚΕΣ ΜΕΘΟΔΟΙ, 5 Ο ΕΞΑΜΗΝΟ, ΠΕΡΙΕΧΟΜΕΝΑ ΠΑΡΑΔΟΣΕΩΝ. Κεφ. 1: Εισαγωγή (διάρκεια: 0.5 εβδομάδες)

Παραδείγματα Ιδιοτιμές Ιδιοδιανύσματα

ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 8. Πότε το γινόμενο δύο ή περισσοτέρων αριθμών παραγόντων είναι ίσο με το μηδέν ;

Παραδείγματα Απαλοιφή Gauss Απαλοιφή Gauss-Jordan Παραγοντοποίηση LU, LDU

2ογελ ΣΥΚΕΩΝ 2ογελ ΣΥΚΕΩΝ ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ Β Λυκει(ου ΠΟΛΥΩΝΥΜΙΚΕΣ ΣΥΝΑΡΤΗΣΕΙΣ

Τάξη B. Μάθημα: Η Θεωρία σε Ερωτήσεις. Επαναληπτικά Θέματα. Επαναληπτικά Διαγωνίσματα. Επιμέλεια: Κώστας Κουτσοβασίλης. α Ε

1ο Κεφάλαιο: Συστήματα

Σημειώσεις για το μάθημα: «Βασικές Αρχές Θεωρίας Συστημάτων» (Μέρος Α )

Εφαρμοσμένα Μαθηματικά ΙΙ

2018 Φάση 2 ιαγωνίσµατα Επανάληψης ΑΛΓΕΒΡΑ. Α' Γενικού Λυκείου. Σάββατο 21 Απριλίου 2018 ιάρκεια Εξέτασης:3 ώρες ΘΕΜΑΤΑ

Transcript:

Π Π Σ Θ Ε Δ Π Μ Σ Μ Υ Α ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΡΙΘΜΗΤΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΑΙ ΕΠΙΛΥΣΗΣ ΓΡΑΜΜΙΚΩΝ ΚΑΙ ΜΗ-ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ: ΧΡΗΣΗ ΤΟΥ MATLAB Δ Ε Γ Κ. Ζ Ε Θ Γ Α Κ ΑΥΓΟΥΣΤΟΣ 07, ΠΑΤΡΑ

Π Π Σ Θ Ε Δ Π Μ Σ Μ Υ Α ΣΥΓΚΡΙΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΡΙΘΜΗΤΙΚΗΣ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ΚΑΙ ΕΠΙΛΥΣΗΣ ΓΡΑΜΜΙΚΩΝ ΚΑΙ ΜΗ-ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ: ΧΡΗΣΗ ΤΟΥ MATLAB Δ Ε Γ Κ. Ζ Εγκρίθηκε από την τριμελή εξεταστική επιτροπή την................................. (Υπογραφή) (Υπογραφή) (Υπογραφή).............................................. Θ.Ν.Γράψα Γ.Σ.Ανδρουλάκης Σ.Β.Κωτσιαντής Αναπληρώτρια Αναπληρωτής Λέκτορας Καθηγήτρια Καθηγητής ΑΥΓΟΥΣΤΟΣ 07, ΠΑΤΡΑ

Πανεπιστήμιο Πατρών, Τμήμα Μαθηματικών Γεώργιος Κ. Ζαφειράκης 07 - Με την επιφύλαξη παντός δικαιώματος.

ΠΕΡΙΛΗΨΗ Το πρόβλημα της επίλυσης ενός συστήματος γραμμικών ή μη γραμμικών εξισώσεων, έχει απασχολήσει έντονα την επιστημονική κοινότητα. Αυτό συμβαίνει γιατί πολλά από τα προβλήματα του πραγματικού κόσμου καταλήγουν στην επίλυση ενός τέτοιου συστήματος. Τέτοια προβλήματα συναντώνται σε διάφορους τομείς όπως στην μηχανολογία, στην ιατρική και στην οικονομία. Ένα εξίσου σημαντικό πρόβλημα με τεράστιο αντίκτυπο σε πολλούς επιστημονικούς κλάδους, όπως στη χημεία και στη φυσική, είναι αυτό της βελτιστοποίησης. Στη βελτιστοποίηση αναζητούμε τη βέλτιστη λύση ενός προβλήματος. Στα μαθηματικά βελτιστοποίηση εννοούμε την εύρεση τοπικών ή/και ολικών ελαχίστων μιας συνάρτησης, της λεγόμενης αντικειμενικής συνάρτησης. Στην παρούσα διπλωματική εργασία παρουσιάζονται οι βασικότερες μέθοδοι για τα παραπάνω προβλήματα δίνοντας και αριθμητικά παραδείγματα σε καθεμία από αυτές. Από το πρόβλημα των συστημάτων, παρουσιάζουμε τις μεθόδους Jacobi, Gauss- Seidel, SOR, Newton, Broyden και από τη βελτιστοποίηση τη Steepest Descent και την οικογένεια των μεθόδων Conjugate Gradient. Υλοποιήσαμε τις παραπάνω μεθόδους στο Matlab (Matrix Laboratory), ένα λογισμικό ιδιαίτερα διαδεδομένο που χρησιμοποιείται για εκπαιδευτικούς αλλά και για ερευνητικούς σκοπούς. Επιλέξαμε κατάλληλα προβλήματα και εκτελέσαμε τις παραπάνω μεθόδους δίνοντας και συγκριτικούς πίνακες, όπου καταγράψαμε το πλήθος των επαναλήψεων, το πλήθος των συναρτησιακών υπολογισμών και τον cpu χρόνο που απαιτεί η καθεμία από αυτές. Τέλος, δώσαμε ένα συνοπτικό εκπαιδευτικό πακέτο το οποίο εστιάζει στην καταγραφή εντολών του Matlab με σκοπό να εξοικειωθούν με το λογισμικό αυτό κυρίως οι αρχάριοι χρήστες. ΛΕΞΕΙΣ ΚΛΕΙΔΙΑ Αριθμητική βελτιστοποίηση, γραμμικά ή/και μη-γραμμικά συστήματα εξισώσεων, Matlab i

ABSTRACT The problem of solving a system of linear or non-linear equations has been a matter of great concern to the scientific community. The reason is that many problems of the real world could easily solved by using such systems. Such problems are encountered in diverse scientific fields, such as engineering, medicine and economy. An equally important problem with a huge impact on many scientific areas, such as chemistry and physics, is the problem of Optimization. In Optimization problem we look for the best solution to a given problem. In mathematics we use Optimization to find local and / or global minimum of a function, the so-called objective function. In this thesis, we present the most well-known methods for the above problems, giving also numerical examples in each of them. Especially, for the problem of solving a system of linear or non-linear equations we present the Jacobi, Gauss-Seidel, SOR, Newton, Broyden. For numerical optimization we present the Steepest Descent and Conjugate Gradient methods. We have implemented the above methods in MATLAB, a widespread software that is used both for educational and research purposes. We chose appropriate problems and performed the above methods by providing tables, where we recorded the number of iterations, the number of functional evaluations and the CPU time required by each of them. Finally, we provide a summary training package that focuses on MATLAB s commands to get familiar with this language, especially novice users. KEY WORDS Numerical oprimization, linear/non linear systems, Matlab ii

ΕΥΧΑΡΙΣΤΙΕΣ Στο σημείο αυτό θα ήθελα να ευχαριστήσω τα άτομα που συνέβαλλαν στην ολοκλήρωση αυτής της διπλωματικής εργασίας. Αρχικά, θα ήθελα να ευχαριστήσω την επιβλέπουσα καθηγήτριά μου και Αναπληρώτρια Καθηγήτρια κα Θεοδούλα Ν. Γράψα, για την στήριξη και υποστήριξη της καθ όλη την διάρκεια των μεταπτυχιακών μου σπουδών. Η διεκπεραίωση της παρούσας εργασίας θα ήταν αδύνατη χωρίς την βοήθεια και την καθοδήγησή της. Θα ήταν παράλειψή μου να μην ευχαριστήσω τους Σ. Κωτσιαντή και Γ. Σ. Ανδρουλάκη που μου έκαναν την τιμή να είναι τα άλλα δύο μέλη της Τριμελούς Συμβουλευτικής Επιτροπής μου. Όποτε χρειάστηκε, ήταν διαθέσιμοι να με βοηθήσουν σε διαφόρων ειδών προβλήματα. Θερμές ευχαριστίες θα ήθελα να εκφράσω στην μεταπτυχιακή φοιτήτρια Ελένης Κιρκή και στον Υπ. διδάκτορα Σταματάγγελο Αλεξανδρόπουλο. Η συνεισφορά τους σε όλη την εργασία ήταν καταλυτική. Θα ήθελα επίσης να ευχαριστήσω όλα τα άτομα που έδωσαν ένα χέρι βοηθείας και αποτέλεσαν την ολοκλήρωση αυτής της εργασίας, όπως την Αθανασία Παπανικολάου, την Γεωργία Κουτσιούρη, τον Σταμάτη Κάρλο και την Α- ντρούλα Δημητρίου. Τέλος, θα ήθελα να εκφράσω ιδιαίτερες ευχαριστίες στην οικογένειά μου για την υ- ποστήριξη, την αγάπη και την υπομονή που μου έδειξαν όλο αυτό το διάστημα. Ιδιαίτερες ευχαριστίες στην σύζυγό μου Μαρία Ν. Καραμάνη και και στους γονείς μου Κωνσταντίνο Κ. Ζαφειράκη και Αναστασία Γ. Παπασταύρου, στους οποίους οφείλω αυτό που έχω γίνει σήμερα. iii

Κατάλογος Σχημάτων. Γραφική παράσταση συνάρτησης μίας μεταβλητής............. 6. Γραφική παράσταση συνάρτησης δύο μεταβλητών............. 6.3 Γραφική παράσταση καμπύλης στον R 3................... 7.4 Γεωμετρική ερμηνεία παραγώγου συνάρτησης σε κάποιο σημείο του πεδίου ορισμού της................................ 7.5 Γεωμετρική ερμηνεία μερικής παραγώγου σε συνάρτηση μεταβλητών. 9.6 Γεωμετρική ερμηνεία κλίσης συνάρτησης σε κάποιο σημείο (x 0, y 0 ) του πεδίου ορισμού της.............................. 9.7 Γεωμετρική ερμηνεία ολικού ελαχίστου και μεγίστου.............8 Γεωμετρική ερμηνεία ισοϋψών καμπυλών...................9 Γραφική απεικόνιση των πρώτων εφτά όρων της σειράς Taylor μία μεταβλητής (κόκκινη γραμμή) για την προσέγγιση της συνάρτησης f (x) = e x (μπλε γραμμή)................................. 9. Γεωμετρική ερμηνεία της γραμμικής Jacobi................. 3. Γραφική παράσταση συστήματος 3 3.................... 35.3 Γεωμετρική ερμηνεία της γραμμικής Gauss-Seidel............. 46.4 Γεωμετρική ερμηνεία της γραμμικής sor για ω = 0.7 (αριστερά) και ω =.3 (δεξιά)...................................... 58 3. Γεωμετρική ερμηνεία της μεθόδου Newton-Raphson για n =....... 73 3. Γεωμετρική ερμηνεία της μεθόδου Newton για n =............ 74 3.3 Γεωμετρική ερμηνεία της μη γραμμικής μεθόδου Jacobi.......... 9 3.4 Γεωμετρική ερμηνεία της μη γραμμικής μεθόδου Gauss-Seidel...... 99 4. Γεωμετρική ερμηνεία ελαχιστοποιητή..................... 06 4. Μεγάλο-μικρό μήκος βήματος........................ 08 v

4.3 Υπολογισμός βέλτιστου μήκους βήματος.................. 09 4.4 Γεωμετρική ερμηνεία συνθήκης Armijo.................... 4.5 Γεωμετρική ερμηνεία συνθήκης Καμπυλότητας............... 3 4.6 Γεωμετρική ερμηνεία συνδυασμού συνθηκών Armijo και Καμπυλότητας. 3 4.7 Γεωμετρική ερμηνεία των συνθηκών Goldstein............... 5 4.8 Γεωμετρική ερμηνεία της μεθόδου Απότομης Κατάβασης......... 8 6. Γραφική απεικόνιση του γραμμικού συστήματος ()............. 86 6. Γραφική απεικόνιση του γραμμικού συστήματος ()............. 88 6.3 Γραφική απεικόνιση του μη γραμμικού συστήματος ()........... 89 6.4 Γραφική απεικόνιση του μη γραμμικού συστήματος ()........... 90 6.5 Γραφική απεικόνιση της πρώτης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3........................... 9 6.6 Γραφική απεικόνιση της δεύτερης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3.......................... 9 6.7 Γραφική απεικόνιση της τρίτης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3........................... 93 6.8 Γραφική απεικόνιση του μη γραμμικού συστήματος (3)........... 93 6.9 Γραφική απεικόνιση της συνάρτησης ()................... 95 6.0 Γραφική απεικόνιση της συνάρτησης ()................... 95 vi

Κατάλογος Πινάκων 4. Οι μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient)............. 3 6. Εκτέλεση των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το γραμμικό σύστημα ()............................. 86 6. Εκτελέσεις των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το σύστημα ()................................. 86 6.3 Εκτέλεση των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το γραμμικό σύστημα ()............................. 87 6.4 Εκτελέσεις των γραμμικών Jacobi, Gauss-Seidel για το σύστημα ()... 88 6.5 Εκτέλεση των μη-γραμμικών Newton, Broyden για το μη-γραμμικό σύστημα ().................................... 89 6.6 Εκτέλεση των μη-γραμμικών Jacobi, Gauss-Seidel για το μη-γραμμικό σύστημα ()................................... 90 6.7 Εκτελέσεις των μη-γραμμικών Newton, Broyden για το σύστημα (3).... 9 6.8 Εκτελέσεις των μη-γραμμικών Jacobi, Gauss-Seidel για το σύστημα (3). 9 6.9 Εκτέλεση των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης ()................... 94 6.0 Εκτελέσεις των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης ()................... 94 6. Εκτελέσεις των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης ()................... 95 vii

Κατάλογος Αλγορίθμων Γραμμικής Jacobi................................ 34 Γραμμικής Gauss-Seidel............................ 46 3 Γραμμικής Μεθόδου Συζυγών Κλίσεων.................... 63 4 Μη-γραμμικής Newton............................. 76 5 Μη-γραμμικής Broyden............................ 84 6 Μη-γραμμικής Jacobi............................. 93 7 Μη-γραμμικής Gauss-Seidel......................... 00 8 Steepest Descent............................... 7 9 Fletcher-Reeves (Conjugate Gradient).................... 5 ix

Περιεχόμενα ΠΕΡΙΛΗΨΗ ABSTRACT ΕΥΧΑΡΙΣΤΙΕΣ Κατάλογος Σχημάτων Κατάλογος Πινάκων Κατάλογος Αλγορίθμων Περιεχόμενα i ii iii v vii ix xi Θεωρητικό Υπόβαθρο 3. Μαθηματικές έννοιες.............................. 3. Αριθμητική ανάλυση.............................. 9 Αριθμητική Επίλυση Γραμμικών Συστημάτων 3. Εισαγωγή.................................... 3. Επαναληπτικές Μέθοδοι για επίλυση Γραμμικών Συστημάτων....... 6.3 Η Γραμμική Μέθοδος Jacobi......................... 7.3. Ανάπτυξη της γραμμικής μεθόδου Jacobi.............. 8.3. Κριτήρια Τερματισμού......................... 30.3.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου Jacobi........ 3.3.4 Αλγόριθμος της γραμμικής μεθόδου Jacobi............. 33.3.5 Εφαρμογή της γραμμικής μεθόδου Jacobi.............. 34.4 Η Γραμμική Μέθοδος Gauss-Seidel..................... 40 xi

xii ΠΕΡΙΕΧΟΜΕΝΑ.4. Ανάπτυξη της γραμμικής μεθόδου Gauss-Seidel.......... 4.4. Κριτήρια Τερματισμού......................... 43.4.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου Gauss-Seidel.... 43.4.4 Αλγόριθμος της γραμμικής μεθόδου Gauss Seidel......... 45.4.5 Εφαρμογές της γραμμικής μεθόδου Gauss-Seidel......... 47.5 Η γραμμική μέθοδος Διαδοχικής Υπερχαλάρωσης (SOR)......... 54.5. Ανάπτυξη της γραμμικής μεθόδου SOR............... 54.5. Κριτήρια Τερματισμού......................... 56.5.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου SOR......... 56.5.4 Εφαρμογή της γραμμικής μεθόδου SOR............... 57.6 Η Γραμμική Μέθοδος Συζυγών Κλίσεων................... 60.6. Ανάπτυξη της γραμμικής μεθόδου Συζυγών Κλίσεων........ 6.6. Αλγόριθμος της γραμμικής μεθόδου Συζυγών Κλίσεων....... 6.6.3 Εφαρμογή της γραμμικής μεθόδου Συζυγών Κλίσεων....... 63 3 Αριθμητική Επίλυση Μη Γραμμικών Συστημάτων 67 3. Εισαγωγή.................................... 67 3. Μέθοδος Newton................................ 69 3.. Ανάπτυξη της μεθόδου Newton.................... 69 3.. Κριτήρια Τερματισμού......................... 7 3..3 Γεωμετρική Ερμηνεία της μεθόδου.................. 7 3..4 Αλγόριθμος μεθόδου Newton..................... 75 3..5 Εφαρμογές............................... 76 3.3 Μέθοδος Broyden............................... 79 3.3. Ανάπτυξη της μεθόδου Broyden................... 79 3.3. Κριτήρια Τερματισμού......................... 83 3.3.3 Αλγόριθμος μεθόδου Broyden.................... 83 3.3.4 Εφαρμογή................................ 85 3.4 Σύγκριση των μεθόδων Newton - Broyden.................. 89 3.5 Μη γραμμική Jacobi.............................. 89 3.5. Ανάπτυξη της μη γραμμικής μεθόδου Jacobi............ 90 3.5. Κριτήρια Τερματισμού......................... 9 3.5.3 Γεωμετρική Ερμηνεία της μεθόδου.................. 9 3.5.4 Αλγόριθμος μεθόδου Jacobi...................... 93

ΠΕΡΙΕΧΟΜΕΝΑ xiii 3.5.5 Εφαρμογή................................ 94 3.6 Μη γραμμική Gauss-Seidel.......................... 97 3.6. Ανάπτυξη της μη γραμμικής μεθόδου Gauss-Seidel........ 97 3.6. Κριτήρια Τερματισμού......................... 98 3.6.3 Γεωμετρική Ερμηνεία της μεθόδου.................. 98 3.6.4 Αλγόριθμος μεθόδου Gauss-Seidel.................. 00 3.6.5 Εφαρμογή................................ 0 3.7 Σύγκριση των μη-γραμμικών μεθόδων Jacobi - Gauss-Seidel....... 04 4 Αριθμητική Επίλυση Προβλημάτων Βελτιστοποίησης 05 4. Εισαγωγή.................................... 05 4. Αναγωγή γραμμικών συστημάτων σε πρόβλημα ελαχιστοποίησης.... 09 4.3 Υπολογισμός του μήκους βήματος...................... 0 4.3. Ακριβής υπολογισμός του μήκους βήματος............. 0 4.3. Μη ακριβείς μέθοδοι για τον υπολογισμό του μήκους βήματος... 4.4 Μέθοδος Απότομης Κατάβασης (Steepest Descent) ή Cauchy...... 5 4.4. Ανάπτυξη της μεθόδου........................ 6 4.4. Κριτήρια Τερματισμού......................... 6 4.4.3 Αλγόριθμος μεθόδου.......................... 7 4.4.4 Γεωμετρική ερμηνεία.......................... 8 4.4.5 Εφαρμογή................................ 8 4.5 Οι Μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient)............ 4.5. Ανάπτυξη των μεθόδων........................ 4.5. Κριτήρια Τερματισμού......................... 3 4.5.3 Αλγόριθμος της μεθόδου Fletcher-Reeves.............. 4 4.5.4 Εφαρμογή................................ 5 5 Υλοποίηση στο Matlab 3 5. Οδηγός Χρήσης του Matlab.......................... 3 5.. Το περιβάλλον του Matlab....................... 3 5.. Οι κανόνες του Matlab......................... 33 5..3 Οι βασικές πράξεις στο Matlab.................... 33 5..4 Σταθερές και Μεταβλητές στο Matlab................. 34 5..5 Εσωτερικές συναρτήσεις στο Matlab................. 35 5..6 Λίστες στο Matlab........................... 35

xiv ΠΕΡΙΕΧΟΜΕΝΑ 5..7 Προγραμματισμός με Matlab..................... 39 5..8 Συναρτήσεις στο Matlab........................ 43 5..9 Γραφικές Παραστάσεις στο Matlab.................. 49 5. Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Γραμμικών Συστημάτων.. 55 5.. Η Γραμμική Μέθοδος Jacobi..................... 55 5.. Η Γραμμική Μέθοδος Gauss-Seidel................. 59 5..3 Η Γραμμική Μέθοδος Συζυγών Κλίσεων............... 6 5.3 Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Μη Γραμμικών Συστημάτων 64 5.3. Μέθοδος Newton............................ 64 5.3. Μέθοδος Broyden........................... 67 5.3.3 Μη Γραμμική μέθοδος Jacobbi.................... 69 5.3.4 Μη Γραμμική μέθοδος Gauss-Seidel................. 73 5.4 Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Προβλημάτων Βελτιστοποίησης....................................... 76 5.4. Μέθοδος Απότομης Κατάβασης (Steepest Descent)........ 76 5.4. Οι μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient)........ 79 6 Αριθμητικά Αποτελέσματα 85 6. Αριθμητική Επίλυση Γραμμικών Συστημάτων................ 85 6. Αριθμητική Επίλυση Μη Γραμμικών Συστημάτων.............. 87 6.3 Αριθμητική Επίλυση Προβλημάτων Βελτιστοποίησης............ 9 7 Συμπεράσματα 97 Βιβλιογραφία 99

ΕΙΣΑΓΩΓΗ Στην παρούσα διπλωματική εργασία ασχολούμαστε με την αριθμητική επίλυση γραμμικών και μη γραμμικών συστημάτων. Τα προβλήματα αυτά παρουσιάζουν πολλές εφαρμογές στην επιστήμη, αλλά και στην καθημερινότητα μας. Ένα παράδειγμα είναι ο τρόπος με τον οποίο μπορεί να μοιράσει ένας πατέρας χαρτζιλίκι στα παιδιά του. Στα μαθηματικά η επίλυση τέτοιων συστημάτων είναι ζωτικής σημασίας. Επειδή όμως υ- πάρχουν περιπτώσεις που τα προβλήματα αυτά λύνονται πολύ δύσκολα, η αριθμητική επίλυση τους κρίνεται απαραίτητη. Στην παρούσα εργασία χρησιμοποιήσαμε τις μεθόδους Jacobi, Gauss Seidel και γραμμική μέθοδο Συζυγών Κλίσεων στην περίπτωση των γραμμικών συστημάτων, ενώ για την επίλυση μη-γραμμικών συστημάτων, εκτελέσαμε τις μεθόδους Newton, Broyden, μη γραμμική Jacobi και μη γραμμική SOR. Επιπρόσθετα, ασχολούμαστε με την αριθμητική βελτιστοποίηση, η οποία αφορά την εύρεση ελαχίστων ή μεγίστων μίας συνάρτησης. Παρουσιάζει, επίσης, πολλές ε- φαρμογές σε διάφορες επιστήμες, όπως για παράδειγμα στην Ιατρική, για την ελαχιστοποίηση της ακτινοβολίας που μπορεί να προσληφθεί από τον ανθρώπινο οργανισμό, κατά τη διάρκεια μιας αξονικής τομογραφίας. Όπως για τα συστήματα, έτσι και για το πρόβλημα της βελτιστοποίησης, έχουν αναπτυχθεί διάφορες αριθμητικές μέθοδοι. Στην εργασία μας παρουσιάζουμε τις μεθόδους Steepest Descent και Fletcher - Reeves από την οικογένεια των μεθόδων Συζυγών κλίσεων, για την εύρεση σημείων με τη μικρότερη τιμή. Σκοπός της παρούσας εργασίας είναι η δημιουργία ενός εκπαιδευτικού πακέτου που θα μπορεί να γίνουν κατανοητές όλες οι παραπάνω έννοιες. Για την επίτευξη αυτού του στόχου, χρησιμοποιούμε το λογισμικό MatLab, για το οποίο παραθέτουμε έναν συνοπτικό οδηγό χρήσης του.

Κεφάλαιο Θεωρητικό Υπόβαθρο Στο κεφάλαιο αυτό παραθέτουμε [5, 6, 7, 0, 6, 3, 6, 7, 48, 49, 50, 5] τις βασικότερες μαθηματικές έννοιες οι οποίες είναι απαραίτητες για να κατανοήσει ο α- ναγνώστης το βασικό μαθηματικό υπόβαθρο της παρούσας εργασίας καθώς και τους βασικότερους ορισμούς για την αριθμητική επίλυση μαθηματικών προβλημάτων.. Μαθηματικές έννοιες Ορισμός... Διάνυσμα καλείται ένα προσανατολισμένο ευθύγραμμο τμήμα, δηλαδή ένα ευθύγραμμο τμήμα του οποίου τα άκρα θεωρούνται διατεταγμένα. Το πρώτο άκρο λέγεται αρχή του διανύσματος και το δεύτερο άκρο λέγεται πέρας του διανύσματος. Ένα διάνυσμα με αρχή το σημείο A και πέρας το σημείο B συμβολίζεται με AB. Ένα διάνυσμα του οποίου δεν γνωρίζουμε την αρχή και το πέρας του καλείται ελεύθερο και συμβολίζεται με ένα πεζό γράμμα a. Ορισμός... Μέτρο διανύσματος καλείται η απόσταση μεταξύ των δύο άκρων του. Το μέτρο ενός διανύσματος AB συμβολίζεται με AB. Επιπλέον αν a = (x, y) τότε το μέτρο του υπολογίζεται από την σχέση: a = x + y Ένα διάνυσμα καλείται μοναδιαίο αν έχει μέτρο. Ορισμός..3. Παράλληλα ή συγγραμμικά λέγονται δύο διανύσματα που βρίσκονται πάνω στην ίδια ή σε παράλληλες ευθείες. Στην περίπτωση αυτή λέμε ότι τα διανύσματα 3

4 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ έχουν την ίδια διεύθυνση. Ορισμός..4. Ομόρροπα λέγονται δύο διανύσματα που έχουν την ίδια διεύθυνση και την ίδια φορά. Στην περίπτωση αυτή λέμε ότι τα διανύσματα έχουν την ίδια κατεύθυνση. Αντίρροπα λέγονται δύο διανύσματα που έχουν την ίδια διεύθυνση και αντίθετη φορά. Ορισμός..5. Δύο διανύσματα λέγονται ίσα όταν έχουν ίσο μέτρο και αντίθετη κατεύθυνση, ενώ λέγονται αντίθετα όταν έχουν ίσο μέτρο και αντίθετη κατεύθυνση. Ορισμός..6. Έστω δύο διανύσματα a και ϐ. Με αρχή ένα σημείο O παίρνουμε το διάνυσμα OA = a και με αρχή το σημείο Α παίρνουμε το διάνυσμα AB = ϐ (βλέπε σχήμα ). Το διάνυσμα OB καλείται άθροισμα των δύο διανυσμάτων a και ϐ και συμβολίζεται a + ϐ. Επιπλέον αν a = (x, y ) και ϐ = (x, y ), τότε το άθροισμα των δύο διανυσμάτων υπολογίζεται ως a + ϐ = (x + x, y + y ). Ορισμός..7. Έστω δύο διανύσματα a και ϐ. Η διαφορά των δύο διανυσμάτων είναι το άθροισμα των διανυσμάτων a και ϐ δηλαδή: a ϐ = a + ( ϐ ). Επιπλέον αν a = (x, y ) και ϐ = (x, y ), τότε η διαφορά των δύο διανυσμάτων υπολογίζεται ως a ϐ = (x x, y y ). Ορισμός..8. Έστω a ένα διάνυσμα και λ R ένας αριθμός. Το γινόμενο του λ με το a είναι ένα διάνυσμα που έχει μέτρο λ a και κατεύθυνση ίδια με το a εάν λ > 0 ή αντίθετη με το a εάν λ < 0. Συμβολίζεται με λ a. Εάν λ = 0 ή a = 0 τότε λ a = 0. Ορισμός..9. Έστω δύο διανύσματα a και ϐ. Το εσωτερικό γινόμενο των δύο διανυσμάτων είναι ένας αριθμός ο οποίος συμβολίζεται με a ϐ ή a, ϐ και δίνεται από την σχέση: a ϐ = a ( ) ϐ cos a, ϐ

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 5 ( ) όπου a, ϐ η γωνία που σχηματίζουν τα δύο διανύσματα. Επιπλέον αν a = (x, y ) και ϐ = (x, y ), τότε το εσωτερικό γινόμενο των δύο διανυσμάτων δίνεται υπολογίζεται ως: a ϐ = x x + y y. Ορισμός..0. Μητρώο (ή πίνακας) καλείται μια δομή η οποία χαρακτηρίζεται από δύο φυσικούς αριθμούς m, n, όπου ο m εκφράζει τον αριθμό των γραμμών και ο n τον αριθμό τον στηλών. Η διάσταση του μητρώου είναι ο αριθμός m n. Ένα μητρώο συμβολίζεται με ένα κεφαλαίο γράμμα, έστω A, ενώ κάθε στοιχείο του συμβολίζεται με πεζά γράμματα και έχει δύο δείκτες i και j που εκφράζουν την γραμμή και την στήλη που βρίσκεται αντίστοιχα. Για παράδειγμα, ένα μητρώο A διάστασης m n είναι: a a a n A = a a a n........ a m a m a mn Ορισμός... Συνάρτηση μιας μεταβλητής f ονομάζουμε μια απεικόνιση που α- ντιστοιχεί κάθε στοιχείο x ενός συνόλου A σε ακριβώς ένα στοιχείο y ενός συνόλου B. Συμβολίζεται με f : A B και για κάθε y ισχύει η σχέση y = f (x). Το x καλείται ανεξάρτητη μεταβλητή, ενώ το y εξαρτημένη μεταβλητή ή τιμή της f στο x. Το σύνολο A καλείται πεδίο ορισμού της συνάρτησης, ενώ το B πεδίο τιμών της συνάρτησης. Τέλος, ορίζουμε ως σύνολο τιμών της συνάρτησης το σύνολο f (A) = {f (x) : x A}, για το οποίο ισχύει ότι f (A) B. Ορισμός... Συνάρτηση n μεταβλητών f ονομάζουμε μια απεικόνιση από ένα σύνολο A σε κάποιο σύνολο B, όπου κάθε στοιχείο της x δεν είναι μία απλή μεταβλητή, αλλά ένα διάνυσμα με n στοιχεία x = (x,..., x n ). Συμβολίζεται με f : A R n B. Ορισμός..3. Καμπύλη στον R n ονομάζουμε μια απεικόνιση h : [a, ϐ] R n. Τα σημεία h(a) και h(ϐ) καλούνται άκρα της καμπύλης. Ορισμός..4. Μια συνάρτηση f : A B λέμε ότι στο x 0 συγκλίνει σε κάποιο πραγματικό αριθμό λ, εάν για κάθε αριθμό ε > 0 υπάρχει κάποιο δ > 0 τέτοιο ώστε, για κάθε x A, αν 0 < x x 0 < δ, τότε f (x) λ < ε. Ο αριθμός λ καλείται όριο της f στο x 0 και συμβολίζεται με lim x x0 f (x).

6 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Σχήμα.: Γραφική παράσταση συνάρτησης μίας μεταβλητής Σχήμα.: Γραφική παράσταση συνάρτησης δύο μεταβλητών Ορισμός..5. Μια συνάρτηση f : A B καλείται παραγωγίσιμη στο σημείο x 0 A εάν υπάρχει το όριο f (x) f (x 0 ) lim x x 0 x x 0 και είναι πραγματικός αριθμός. Το όριο αυτό καλείται παράγωγος της f στο x 0 και συμβολίζεται με f (x 0 ). Η παράγωγος μιας συνάρτησης εκφράζει την μεταβολή της τιμής της συνάρτησης. Ορισμός..6. Έστω μια συνάρτηση f : U R n R παραγωγίσιμη. Η παράγωγος της συνάρτησης f ως προς μια μεταβλητή x i, i =,,..., n καλείται μερική παράγωγος

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 7 Σχήμα.3: Γραφική παράσταση καμπύλης στον R 3 Σχήμα.4: Γεωμετρική ερμηνεία παραγώγου συνάρτησης σε κάποιο σημείο του πεδίου ορισμού της της f ως προς x i και συμβολίζεται: f x i

8 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Γεωμετρική ερμηνεία μερικής παραγώγου σε συναρτήσεις δύο μεταβλητών: Θεωρούμε μια συνάρτηση f (x, y), της οποίας η γραφική παράσταση είναι μία επιφάνεια στον χώρο. Για να σχεδιάσουμε την μερική παράγωγο της f ως προς x εκτελούμε με την σειρά τα παρακάτω βήματα: Βήμα Παίρνουμε ένα τυχαίο σημείο πάνω στην f, έστω P. Βήμα Παίρνουμε την προβολή του P στο xy-επίπεδο, έστω A. Βήμα 3 Φέρνουμε μία ευθεία ϸ που διέρχεται από το A και είναι παράλληλη στον άξονα x x. Βήμα 4 Φέρνουμε ένα επίπεδο Π το οποίο διέρχεται από την ευθεία ϸ και είναι παράλληλο στο xz-επίπεδο. Βήμα 5 Η τομή του επιπέδου Π με την συνάρτηση f είναι μία καμπύλη C, στην οποία ανήκει το σημείο P. Βήμα 6 Φέρνουμε την εφαπτόμενη της καμπύλης C που διέρχεται από το P και βρίσκεται πάνω στο επίπεδο Π. Βήμα 7 Έστω K το σημείο τομής της εφαπτόμενης με το xy-επίπεδο. Βήμα 8 Η tan(a ˆKP) ισούται με την μερική παράγωγο της f ως προς x, δηλαδή tan(a ˆKP) = f x Ορισμός..7. Κλίση (gradient) μιας παραγωγίσιμης συνάρτησης f : U R n R καλούμε το διάνυσμα που ισοδυναμεί με την πρώτη παράγωγο της συνάρτησης. Συμβολίζεται με f και x R υπολογίζεται από την σχέση: gradf = f = f x f x.. f x n

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 9 Σχήμα.5: Γεωμετρική ερμηνεία μερικής παραγώγου σε συνάρτηση μεταβλητών Σχήμα.6: Γεωμετρική ερμηνεία κλίσης συνάρτησης σε κάποιο σημείο (x 0, y 0 ) του πεδίου ορισμού της

0 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Ορισμός..8. Ιακωβιανό μητρώο μιας παραγωγίσιμης συνάρτησης F(x) = (f (x), f (x),..., f m (x)), F : U R n R m καλούμε το μητρώο που ισοδυναμεί με την πρώτη παράγωγο της συνάρτησης. Συμβολίζεται με J(F(x)) και x R m υπολογίζεται από την σχέση: J(F(x)) = f f f x x x n f f f x x x n........ f m f m f m x x x n Ορισμός..9. Εσσιανό μητρώο μια δύο φορές παραγωγίσιμης συνάρτησης f : U R n R καλούμε το μητρώο που ισοδυναμεί με την δεύτερη παράγωγο της συνάρτησης. Συμβολίζεται με H(f (x)) και x R υπολογίζεται από την σχέση: f f f x x x x n x f f f H(f (x)) = x x x x n x........ f f f x x n x x n Ορισμός..0. Κρίσιμο ή στάσιμο σημείο x 0 μιας συνάρτησης f καλείται το σημείο το οποίο μηδενίζει την πρώτη παράγωγο της συνάρτησης, δηλαδή ισχύει η σχέση x n f (x 0 ) = 0 Η τιμή της f στο κρίσιμο σημείο x 0 καλείται κρίσιμη τιμή. Ορισμός... Έστω μια συνάρτηση f : R n R και στοιχείο x 0 R n. Αν ισχύει f (x 0 ) f (x), x R n, τότε το x 0 καλείται ολικός ελαχιστοποιητής και η τιμή f (x 0 ) καλείται ολικό ελάχιστο της συνάρτησης f. Επιπλέον, αν x x 0 < ε, όπου ε είναι κάποιος πολύ μικρός θετικός αριθμός, τότε το x 0 καλείται τοπικός ελαχιστοποιητής και η τιμή f (x 0 ) καλείται τοπικό ελάχιστο της συνάρτησης f. Ορισμός... Έστω μια συνάρτηση f : R n R και στοιχείο x 0 R n. Αν ισχύει f (x 0 ) f (x), x R n, τότε το x 0 καλείται ολικός μεγιστοποιητής και η τιμή f (x 0 ) καλείται ολικό μέγιστο της συνάρτησης f. Επιπλέον, αν x x 0 < ε, όπου ε είναι κάποιος πολύ

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ μικρός θετικός αριθμός, τότε το x 0 καλείται τοπικός μεγιστοποιητής και η τιμή f (x 0 ) καλείται τοπικό μέγιστο της συνάρτησης f. Σχήμα.7: Γεωμετρική ερμηνεία ολικού ελαχίστου και μεγίστου Ορισμός..3. Ισοϋψής Καμπύλη στον R n με ύψος c καλείται η καμπύλη που αποτελείται από όλα τα σημεία (x,..., x n, c) με k = (x,..., x n ). Παράδειγμα: Έστω μια συνάρτηση z = f (x, y). Θεωρούμε ένα επίπεδο Π, με εξίσωση z = c, το οποίο τέμνει την γραφική παράσταση της f. (Προφανώς το Π είναι παράλληλο προς το xyεπίπεδο και ο αριθμός c προσδιορίζει την απόσταση του Π απ αυτό.) Η τομή του Π με την επιφάνεια z = f (x, y), θα είναι μια καμπύλη στο χώρο, η οποία έχει για σημεία της, όλα τα σημεία (x, y, z) για τα οποία ισχύει: z = f (x, y) και z = c. Δηλαδή θα είναι όλα τα σημεία (x, y, c) για τα οποία f (x, y) = c. Το σύνολο των σημείων αυτών λέγεται ισοϋψής καμπύλη με ύψος c της συνάρτησης f. Ορισμός..4. Έστω ένα μητρώο A. Ανάστροφο μητρώο του A καλείται το μητρώο που έχει για γραμμές τις στήλες του A και για στήλες τις γραμμές του A και συμβολίζεται με A T. Ορισμός..5. Ένα μητρώο καλείται τετραγωνικό μητρώο αν το πλήθος των γραμμών του είναι ίσο με το πλήθος των στηλών του, δηλαδή a a a n A = a a a n........ a n a n a nn

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Σχήμα.8: Γεωμετρική ερμηνεία ισοϋψών καμπυλών Ορισμός..6. Ένα τετραγωνικό μητρώο A καλείται συμμετρικό μητρώο αν είναι το ίδιο με το ανάστροφο του, δηλαδή A = A T. Ορισμός..7. Ένα τετραγωνικό μητρώο καλείται μοναδιαίο μητρώο αν όλα τα στοιχεία της κύριας διαγωνίου είναι ίσα με τη μονάδα και όλα τα υπόλοιπα στοιχεία είναι 0, δηλαδή 0 0 0 0 I n =........ 0 0 Ορισμός..8. Ένα τετραγωνικό μητρώο καλείται διαγώνιο μητρώο αν όλα τα στοιχεία του, εκτός από αυτά της κύριας διαγωνίου, είναι ίσα με 0, δηλαδή a 0 0 0 a 0 A n =........ 0 0 a nn

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 3 Ορισμός..9. Ένα τετραγωνικό μητρώο καλείται άνω τριγωνικό μητρώο αν όλα τα στοιχεία που βρίσκονται κάτω από τα στοιχεία της κύριας διαγωνίου είναι ίσα με 0, δηλαδή a a a n A n = 0 a a n........ 0 0 a nn Ορισμός..30. Ένα τετραγωνικό μητρώο καλείται κάτω τριγωνικό μητρώο αν όλα τα στοιχεία που βρίσκονται πάνω από τα στοιχεία της κύριας διαγωνίου είναι ίσα με 0, δηλαδή a 0 0 a a 0 A n =........ a n a n a nn Ορισμός..3. Έστω δύο μητρώα A και B. Αν τα δύο μητρώα έχουν την ίδια διάσταση m n ορίζουμε ως πρόσθεση μητρώων την πράξη: a a a n ϐ ϐ ϐ n A + B = a a a n ϐ ϐ ϐ n...... +.......... a m a m a mn ϐ m ϐ m ϐ mn a + ϐ a + ϐ a n + ϐ n = a + ϐ a + ϐ a n + ϐ n........ a m + ϐ m a m + ϐ m a mn + ϐ mn Ορισμός..3. Έστω δύο μητρώα A και B. Αν τα δύο μητρώα έχουν την ίδια διάσταση

4 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ m n ορίζουμε ως αφαίρεση μητρώων την πράξη: a a a n ϐ ϐ ϐ n A B = a a a n ϐ ϐ ϐ n................ a m a m a mn ϐ m ϐ m ϐ mn a ϐ a ϐ a n ϐ n = a ϐ a ϐ a n ϐ n........ a m ϐ m a m ϐ m a mn ϐ mn Ορισμός..33. Έστω ένα μητρώο A και ένας αριθμός λ R. Ορίζουμε ως πολλαπλασιασμό αριθμού με μητρώο την πράξη: λa λa λa n λ A = λa λa λa n........ λa m λa m λa mn Ορισμός..34. Έστω δύο μητρώα A και B. Αν το πλήθος των στηλών του A είναι ίσο με το πλήθος των γραμμών του B, δηλαδή το A έχει διάσταση m n και το B έχει διάσταση n k ορίζουμε ως πολλαπλασιασμό μητρώων την πράξη: a a a n ϐ ϐ ϐ k A B = = a a a n........ ϐ ϐ ϐ k........ a m a m a mn ϐ n ϐ n ϐ nk n n n a i ϐ i a i ϐ i a i ϐ ik i= i= i= n n n a i ϐ i a i ϐ i a i ϐ ik i=. n a mi ϐ i i= i= i=....... n n a mi ϐ i a mi ϐ ik i= i=

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 5 Ο πολλαπλασιασμός μητρώων μπορεί να γραφεί και ως εξής: n Γ = A B, όπου: γ ij = a ik ϐ kj k= Ορισμός..35. Ένα τετραγωνικό μητρώο A καλείται αντιστρέψιμο μητρώο αν υπάρχει κάποιο άλλο μητρώο B τέτοιο ώστε να ισχύει η σχέση: A B = B A = I n Ορισμός..36. Ορίζουσα ενός τετραγωνικού μητρώου A διάστασης n n ορίζουμε τον αριθμό: Ο αριθμός αυτός υπολογίζεται ως εξής: a a a n A = det(a) = a a a n........ a n a n a nn Βήμα : Επιλέγουμε μία γραμμή i (ή μία στήλη). Βήμα : Παίρνουμε το πρώτο στοιχείο της a i και διαγράφουμε την γραμμή και την στήλη στην οποία ανήκει. Πολλαπλασιάζουμε το στοιχείο αυτό με ( ) i+ και με την ο- ρίζουσα του μητρώου που μένει ύστερα από την διαγραφή, το οποίο είναι διάστασης (n ) (n ). Έπειτα, παίρνουμε το δεύτερο στοιχείο a i της γραμμής που επιλέξαμε και εκτελώντας την ίδια διαδικασία το πολλαπλασιάζουμε με ( ) i+ και με την ορίζουσα του μητρώου που μένει ύστερα από την διαγραφή. Ακολουθούμε την ίδια διαδικασία για όλα τα στοιχεία της γραμμής που επιλέξαμε και προσθέτουμε τους αριθμούς που προκύπτουν. Έτσι, έχουμε δημιουργήσει ένα άθροισμα n όρων όπου κάθε όρος του περιέχει μία ορίζουσα ενός μητρώου (n ) (n ). Αν για παράδειγμα επιλέξουμε στο βήμα την πρώτη γραμμή (δηλαδή θέσουμε i = )

6 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ έχουμε: ( ) +j a j a a 3 a n a a 3 a n a 3 a 33 a 3n........ a 3 a 33 a 3n a........ +... + a n a n3 a nn a n a n3 a nn a a a (j ) a (j+) a n a a a (n ) a 3 a 3(j ) a 3(j+) a 3n................ +...+( ) +n a 3 a 3 a 3(n ) a n........ a n a n(j ) a n(j+) a nn a n a n a n(n ) Βήμα 3: Για κάθε μία από τις ορίζουσες αυτές εκτελούμε τα βήματα και μέχρι να δημιουργηθούν ορίζουσες μητρώων τάξης, τις οποίες μπορούμε να υπολογίσουμε εύκολα με τον τύπο του παρακάτω ορισμού. Ορισμός..37. Ορίζουσα ενός τετραγωνικού μητρώου A διάστασης ορίζουμε τον αριθμό: A = det(a) = a a a a = a a a a Παράδειγμα... Για τον υπολογισμό της ορίζουσας ενός τετραγωνικού μητρώου A διάστασης 3 3 έχουμε: a a a 3 A = a a a 3 = a a a 3 a 3 a 33 a a a 3 a 3 a 33 + a 3 a a a 3 a 3 a 3 a 3 a 33 = a (a a 33 a 3 a 3 ) a (a a 33 a 3 a 3 ) + a 3 (a a 3 a a 3 ) = a a a 33 a a 3 a 3 a a a 33 + a a 3 a 3 + a 3 a a 3 a 3 a a 3 Ορισμός..38. Ορίζουμε ως τετραγωνική μορφή δύο αριθμών x και y ένα πολυώνυμο δευτέρου βαθμού της μορφής ax + byx + cy, το οποίο μπορούμε να το εκφράσουμε ως: ax + byx + cy = ( ) a b x x y = b c y zt Az όπου z ένα μητρώο στήλη και A ένα συμμετρικό μητρώο.

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 7 Ορισμός..39. Ορίζουμε ως τετραγωνική μορφή (quadric form) ενός διανύσματος x κάθε βαθμωτή συνάρτηση της μορφής f ( x ) = x T A x b T x + c όπου A ένα τετραγωνικό μητρώο, b ένα διάνυσμα-στήλη και c μια βαθμωτή σταθερά. Ορισμός..40. Έστω ένα τετραγωνικό μητρώο διάστασης n n, ένας αριθμός λ R και ένα μη-μηδενικό διάνυσμα x. Καλούμε ιδιοτιμές του μητρώου A όλες τις τιμές του λ που ικανοποιούν την σχέση det(λi n A) = 0 Για κάθε ιδιοτιμή λ, καλούμε ιδιοδιάνυσμα του μητρώου A που αντιστοιχεί στην ιδιοτιμή αυτή, ένα διάνυσμα που ικανοποιεί την σχέση Ax = λx Ορισμός..4. Έστω ένα τετραγωνικό μητρώο διάστασης n n και λ i οι ιδιοτιμές του A. Καλούμε φασματική ακτίνα του μητρώου A την μεγαλύτερη κατ απόλυτο τιμή ιδιοτιμή του A. Ορισμός..4. Έστω A ένα τετραγωνικό μητρώο διάστασης n n και x ένα μη μηδενικό διάνυσμα. Το μητρώο A καλείται θετικά ορισμένο αν ισχύει η σχέση x T A x > 0 ενώ το μητρώο A καλείται θετικά ημιορισμένο αν ισχύει η σχέση x T A x 0 Αντίστοιχα, το μητρώο A καλείται αρνητικά ορισμένο αν ισχύει η σχέση x T A x < 0 ενώ το μητρώο A καλείται αρνητικά ημιορισμένο αν ισχύει η σχέση x T A x 0

8 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Ορισμός..43. Έστω ένα τετραγωνικό μητρώο διάστασης n n. Αν η ορίζουσα του μητρώου A είναι διάφορη του μηδενός, ορίζουμε ως αντίστροφο μητρώο του A και το συμβολίζουμε A, το μητρώο που ικανοποιεί την σχέση: A A = A A = I n Ορισμός..44. Ακολουθία καλείται μια συνάρτηση με την οποία κάθε ακέραιος αριθμός n αντιστοιχίζεται σε έναν πραγματικό αριθμό a n. Ορισμός..45. Έστω μια ακολουθία a n, n =,,.... Το άθροισμα όλων των όρων της ακολουθίας a + a +... + a καλείται Σειρά και συμβολίζεται: n= Όταν το άθροισμα αυτό ισούται με έναν πραγματικό αριθμό, τότε θα λέμε ότι η σειρά συγκλίνει στον αριθμό αυτό. Αντίθετα, όταν το άθροισμα αυτό θα τείνει στο άπειρο, τότε θα λέμε ότι η σειρά αποκλίνει. Ορισμός..46. Έστω συνάρτηση f : R R παραγωγίσιμη στο R. Το ανάπτυγμα (ή σειρά) Taylor μίας μεταβλητής της συνάρτησης f σε ένα σημείο a R είναι: f (x) = f (a) + f (a)! (x a) + f (a)! a n (x a) + f (3) (a) (x a) 3 +... 3! ή ισοδύναμα f (x) = i=0 f (i) (a) (x a) i i! Ορισμός..47. Έστω συνάρτηση f : R n R παραγωγίσιμη. Το ανάπτυγμα (ή σειρά) Taylor πολλών μεταβλητών της συνάρτησης f σε ένα διάνυσμα a R n είναι. i n f (x,..., x n ) = i! (x k a k ) f (a,..., a n ) i=0 j=

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ 9 Σχήμα.9: Γραφική απεικόνιση των πρώτων εφτά όρων της σειράς Taylor μία μεταβλητής (κόκκινη γραμμή) για την προσέγγιση της συνάρτησης f (x) = e x (μπλε γραμμή). Αριθμητική ανάλυση Η Αριθμητική Ανάλυση είναι ο κλάδος της επιστήμης που ασχολείται με τους αριθμούς. Η ανάπτυξη της είναι συνυφασμένη με τους υπολογιστές. Ένας από τους σκοπούς της είναι η μετατροπή μαθηματικών προβλημάτων σε ισοδύναμα τα οποία μπορούν να επεξεργαστούν και να επιλυθούν από έναν υπολογιστή. Στα μαθηματικά συναντούμε πολλές φορές προβλήματα, όπως αυτό της επίλυσης εξισώσεων, συστημάτων, διαφορικών εξισώσεων, της εύρεσης μεγίστου ή ελαχίστου κ.λ.π. τα οποία δεν λύνονται αναλυτικά, δηλαδή δεν υπάρχει κάποια αλγεβρική διαδικασία με την οποία να καταλήγουμε στην εύρεση της λύσης τους. Στις περιπτώσεις αυτές αναζητούμε προσεγγιστικές λύσεις, δηλαδή τιμές που βρίσκονται πολύ κοντά στην πραγματική λύση. Η Αριθμητική Ανάλυση αποτελεί πολλές φορές μονόδρομο για την επίλυση τέτοιων προβλημάτων. Για την μετατροπή των μαθηματικών προβλημάτων σε αντίστοιχα επιλύσιμα από έναν υπολογιστή, η Αριθμητική Ανάλυση αναπτύσσει κάποιες μεθόδους, τις οποίες διατυπώνει με χρήση αλγορίθμων.

0 ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Ορισμός... Αλγόριθμος καλείται μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Ορισμός... Πολυπλοκότητα αλγορίθμου καλείται το σύνολο των πόρων ενός υ- πολογιστή που χρησιμοποιεί ένας αλγόριθμος για την επίλυση ενός προβλήματος. Ως πόροι ενός υπολογιστή θεωρούνται:. Ο υπολογιστικός χρόνος εκτέλεσης του αλγορίθμου, δηλαδή χρήση της CPU μίας υπολογιστικής μηχανής.. Η χρήση αποθηκευτικών χώρων (μνήμη) Σκοπός της Αριθμητικής Ανάλυσης είναι οι μέθοδοι που αναπτύσσει να μας παρέχουν μία προσεγγιστική λύση του προβλήματος που καλούνται να επιλύσουν, με μεγάλη ακρίβεια, χρησιμοποιώντας παράλληλα όσο τον δυνατόν λιγότερους πόρους του υπολογιστή. Στην συνέχεια παραθέτουμε [6] έναν ορισμό που χρησιμοποιείται στην μέτρηση των πόρων που χρησιμοποιεί ένας αλγόριθμος. Ορισμός..3. Έστω συνάρτηση g από το σύνολο των θετικών ακεραίων στο σύνολο των θετικών ακεραίων.. Ορίζουμε O(g(n)) το σύνολο των συναρτήσεων: O(g(n)) = f (n) : υπάρχουν θετικές σταθερές c και n 0 έτσι ώστε 0 f (n) c g(n) για κάθε n n 0. Ορίζουμε Θ(g(n)) το σύνολο των συναρτήσεων: f (n) : υπάρχουν θετικές σταθερές c, c και n 0 έτσι ώστε Θ(g(n)) = 0 c g(n) f (n) c g(n) για κάθε n n 0

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Παράδειγμα... Έστω ένα μητρώο A μεγέθους m n. Η αναζήτηση ενός συγκεκριμένου στοιχείου μέσα στο μητρώο αυτό απαιτεί, στην χειρότερη περίπτωση, m n βήματα. Με βάση τον παραπάνω ορισμό θα λέμε ότι η αναζήτηση στο μητρώο αυτό απαιτεί βήματα της τάξης O(m n). Αντίστοιχα, η αποθήκευση του μητρώου στον υπολογιστή απαιτεί ακριβώς m n θέσεις μνήμης. Με βάση τον παραπάνω ορισμό θα λέμε ότι η αποθήκευση του μητρώου απαιτεί μνήμη της τάξης Θ(m n). Η υλοποίηση των μεθόδων που αναπτύσσονται από την Αριθμητική Ανάλυση γίνεται μέσω προγραμματισμού σε μία γλώσσα υψηλού επιπέδου, όπως FORTRAN, C, Pascal κ.λ.π. ή σε κάποια περιβάλλοντα όπως Mathematica, R Studio ή Matlab. Ορισμός..4. Έστω x η πραγματική λύση ενός μαθηματικού προβλήματος και x μια προσεγγιστική του λύση, η οποία έχει προέλθει από κάποια αριθμητική μέθοδο. Ορίζουμε ως σφάλμα της προσεγγιστικής λύσης την ποσότητα: e = πραγματική τιμή προσεγγιστική τιμή ή ισοδύναμα e = x x Το σφάλμα αυτό προκύπτει για δύο λόγους:. Διότι η μέθοδος είναι προσεγγιστική, που σημαίνει ότι η λύση που βρίσκει διαφέρει από την πραγματική.. Διότι οι προσεγγιστικές λύσεις μπορεί να είναι άρρητοι αριθμοί, που σημαίνει ότι απαιτείται στρογγυλοποίηση. Έτσι, προκύπτουν τα λεγόμενα σφάλματα στρογγυλοποίησης. Ορισμός..5. Η απόλυτη τιμή του σφάλματος e e = x x ονομάζεται απόλυτο σφάλμα. Ορισμός..6. Η ποσότητα που εκφράζει τον λόγο του σφάλματος προς την πραγματική τιμή λέγεται σχετικό σφάλμα και υπολογίζεται από τον τύπο: δ = e x

ΚΕΦΑΛΑΙΟ. ΘΕΩΡΗΤΙΚΟ ΥΠΟΒΑΘΡΟ Η απόλυτη τιμή της ποσότητας αυτής ονομάζεται απόλυτο σχετικό σφάλμα και υπολογίζεται από τον τύπο: δ = e x

Κεφάλαιο Αριθμητική Επίλυση Γραμμικών Συστημάτων. Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με την αριθμητική επίλυση συστημάτων γραμμικών αλγεβρικών εξισώσεων. Συστήματα γραμμικών εξισώσεων συναντάμε σε πολλά προβλήματα της επιστήμης και της τεχνολογίας [7, 8, 9], γι αυτό η εύρεση αριθμητικών μεθόδων για την επίλυσή τους παίζει πολύ σημαντικό ρόλο. Παρακάτω βλέπουμε ένα απλό παράδειγμα ενός μαθηματικού προβλήματος που για την επίλυσή του χρειάζεται γνώση γραμμικών συστημάτων. Παράδειγμα... Ο Γιώργος έχει διπλάσια χρήματα από τον Νίκο και μαζί έχουν συνολικά 75. Πόσα χρήματα έχει ο καθένας; Το πρόβλημα αυτό εκφράζεται από το παρακάτω σύστημα: x = x x + x = 75 όπου x είναι τα χρήματα που έχει ο Γιώργος και x τα χρήματα που έχει ο Νίκος. Η ε- πίλυση του γραμμικού συστήματος μπορεί να πραγματοποιηθεί με διάφορες μεθόδους, μερικές από τις οποίες έχουμε διδαχθεί από το Γυμνάσιο και το Λύκειο, όπως η μέθοδος 3

4 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ αντικατάστασης, η μέθοδος αντίθετων συντελεστών και η μέθοδος Cramer. Τι γίνεται όμως στην περίπτωση όπου το πλήθος των εξισώσεων και των αγνώστων είναι μεγαλύτερο; Θα μπορούσε να επιλυθεί ένα τέτοιο σύστημα από έναν άνθρωπο με κάποια από τις παραπάνω μεθόδους και αν ναι σε πόσο χρόνο; Προς απάντηση των ερωτημάτων αυτών, στην συνέχεια θα παρουσιάσουμε κάποιες αριθμητικές μεθόδους, οι οποίες χρησιμοποιούνται για την επίλυση τέτοιου είδους γραμμικών συστημάτων. γνώστους. Αρχικά, δίνουμε τον ορισμό [] του γραμμικού συστήματος n εξισώσεων με n α- Ορισμός... Η γενική μορφή ενός γραμμικού συστήματος n εξισώσεων με n αγνώστους x, x,, x n είναι: α x + α x + + α n x n = b α x + α x + + α n x n = b. α n x + α n x + + α nn x n = b n όπου οι πραγματικοί αριθμοί α ij είναι οι συντελεστές των αγνώστων x i και οι πραγματικοί αριθμοί b i είναι τα δεύτερα μέλη του συστήματος. Το παραπάνω γραμμικό σύστημα μπορεί να γραφεί επίσης και με χρήση μητρώων ως A x = b όπου α α a n x b A = α α a n........ α n α n a nn, x = x. x n, b = b. b n Οι αριθμητικές μέθοδοι για την αριθμητική επίλυση συστημάτων γραμμικών αλγεβρικών εξισώσεων διαιρούνται σε δύο μεγάλες κατηγορίες μεθόδων.. Άμεσες μέθοδοι (Direct methods) [, 5, 4]

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 5. Eπαναληπτικές μέθοδοι (Iterative methods) [5, 37, 45, 46] Στις άμεσες μεθόδους η λύση βρίσκεται, χρησιμοποιώντας ακριβή αριθμητική, μετά από ένα πεπερασμένο πλήθος πράξεων. Το πλήθος των πράξεων αυτών είναι αρκετά μεγάλο, της τάξης O(N 3 ), όπου N ο αριθμός των εξισώσεων. Η βασική ιδέα για την λύση του συστήματος A x = b είναι η μετατροπή του μητρώου A σε ισοδύναμο άνω ή κάτω τριγωνικό, το οποίο επιλύεται ευκολότερα. Μερικές από τις πιο γνωστές άμεσες μέθοδοι είναι:. Απαλοιφή Gauss [, 5, 4]. Απαλοιφή Gauss-Jordan [, 5, 4] 3. Αλγόριθμος Thomas [38, 4] 4. Παραγοντοποιήσεις LU και LDU [4] 5. Αλγόριθμος Cholesky [4] Οι άμεσες μέθοδοι υπολογίζουν πολλές φορές κάποια λύση που, λόγω των σφαλμάτων στρογγυλοποίησης, διαφέρει αρκετά από την ακριβή λύση του συστήματος, με αποτέλεσμα να οδηγούν σε μη ικανοποιητικά αποτελέσματα. Στις επαναληπτικές μεθόδους ξεκινάμε από μία αρχική προσέγγιση της λύσης x (0) και δημιουργούμε μία ακολουθία προσεγγίσεων x (), x (),... η οποία συγκλίνει στη λύση. Στις μεθόδους αυτές ο αριθμός των πράξεων που γίνονται είναι της τάξης O(N ) σε κάθε επανάληψη. Για να προτιμήσουμε τις μεθόδους αυτές από τις άμεσες (στις οποίες το πλήθος των πράξεων είναι O(N 3 )), πρέπει οι επαναλήψεις k που θα χρειαστούν για να βρεθεί μία καλή προσέγγιση της λύσης να είναι λιγότερες από N (k < N), διότι: k N < N N = N 3 Γενικά, στην επίλυση μεγάλων συστημάτων οι επαναληπτικές μέθοδοι φαίνεται να είναι πιο αποτελεσματικές από τις άμεσες. Στην παρούσα εργασία θα ασχοληθούμε με τις επαναληπτικές μεθόδους επίλυσης γραμμικών συστημάτων, χωρίς αυτό να σημαίνει ότι οι άμεσες μέθοδοι δεν παρουσιάζουν ανάλογο ενδιαφέρον.

6 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ. Επαναληπτικές Μέθοδοι για επίλυση Γραμμικών Συστημάτων Στην ενότητα αυτή θα αναπτύξουμε ένα γενικό επαναληπτικό σχήμα [,, 4], το οποίο παράγει κάποιες προσεγγιστικές λύσεις που συγκλίνουν στην λύση ενός συστήματος της μορφής: Ax = b όπου το μητρώο των συντελεστών των αγνώστων A έχει ορίζουσα διάφορη του μηδενός και κάποια από τα στοιχεία του διανύσματος b είναι μη μηδενικά. Στην συνέχεια της παρούσας εργασίας, παρουσιάζουμε τις γραμμικές μεθόδους Jacobi, Gauss-Seidel και Διαδοχικής υπερχαλάρωσης (SOR), οι οποίες χρησιμοποιούν το σχήμα αυτό. Αρχικά, θεωρούμε μία διάσπαση του μητρώου A σε δύο άλλα μητρώα M και N: A = M N Το μητρώο M ονομάζεται μητρώο ρυθμιστής και πρέπει να πληροί τους παρακάτω περιορισμούς:. Να είναι αντιστρέψιμο (δηλαδή det(m) 0). Να είναι τέτοιο ώστε ένα οποιοδήποτε γραμμικό σύστημα της μορφής Mx = b να λύνεται με λιγότερες πράξεις από το Ax = b. Έτσι, με χρήση της παραπάνω διάσπασης, η εξίσωση Ax = b μπορεί να γραφτεί ως ακολούθως: Ax = b (M N)x = b Mx Nx = b Mx = Nx + b M Mx = M Nx + M b x = M ( ) Nx + M ( ) b Αν θεωρήσουμε μία αρχική προσέγγιση της λύσης x (0), τότε το παρακάτω επαναληπτικό σχήμα παράγει κάποια σημεία x (), x (), x (3),..., τα οποία συγκλίνουν στην λύση του συστήματος. x (k+) = M Nx (k) + M b, k = 0,,,...

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 7 Στην συνέχεια παραθέτουμε ένα θεώρημα [], το οποίο αφορά την σύγκλιση του παραπάνω επαναληπτικού σχήματος. Θεώρημα... Έστω ένα γραμμικό σύστημα της μορφής Ax = b και έστω ένα μητρώο T = M N. Αν η φασματική ακτίνα του μητρώου T είναι μικρότερη της μονάδας, τότε ο παραπάνω επαναληπτικός τύπος συγκλίνει στην λύση του γραμμικού συστήματος. Για την εύρεση της φασματικής ακτίνας, απαιτείται ο υπολογισμός των ιδιοτιμών του μητρώου T. Επειδή, όμως, η διαδικασία αυτή απαιτεί κάποιο υπολογιστικό κόστος, υπάρχει μία ικανή (αλλά όχι αναγκαία) συνθήκη [] με την οποία αποφεύγουμε τον υπολογισμό των ιδιοτιμών του μητρώου T για να αποδείξουμε ότι ο παραπάνω επαναληπτικός τύπος συγκλίνει. Σε περίπτωση που δεν ισχύει η συνθήκη αυτή δεν σημαίνει ότι ο παραπάνω επαναληπτικός τύπος δεν συγκλίνει, αλλά ότι πρέπει να υπολογίσουμε τις ιδιοτιμές του μητρώου T και ύστερα να αποφανθούμε για το αν τελικά συγκλίνει ή όχι. Πόρισμα... Αν T < τότε ο επαναληπτικός τύπος συγκλίνει. Οι στάθμες που χρησιμοποιούνται πιο συχνά για ένα μητρώο A διαστάσεων n n είναι: n. A = max a, ij δηλαδή υπολογίζουμε το άθροισμα των απολύτων τιμών των j i= στοιχείων κάθε στήλης του μητρώου A και παίρνουμε ως αποτέλεσμα το πιο μεγάλο από τα αθροίσματα αυτά. n. A = max a, ij δηλαδή υπολογίζουμε το άθροισμα των απολύτων τιμών των i j= στοιχείων κάθε γραμμής του μητρώου A και παίρνουμε ως αποτέλεσμα το πιο μεγάλο από τα αθροίσματα αυτά. Έτσι, αν ισχύει κάποια από τις δύο συνθήκες που αναφέρθηκαν παραπάνω, επιλέγουμε ένα αυθαίρετο x (0) και εφαρμόζουμε τον επαναληπτικό τύπο. Στην συνέχεια θα παρουσιάσουμε την Γραμμική μέθοδο Jacobi, η οποία χρησιμοποιεί τον επαναληπτικό τύπο που αναπτύξαμε στην ενότητα αυτή..3 Η Γραμμική Μέθοδος Jacobi Στην ενότητα αυτή θα παρουσιάσουμε την Γραμμική μέθοδο Jacobi [, 5] για την επίλυση γραμμικών συστημάτων. Στην συνέχεια θα δώσουμε τον αλγόριθμο της μεθόδου, την γεωμετρική της ερμηνεία και μία αριθμητική της εφαρμογή.

8 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ.3. Ανάπτυξη της γραμμικής μεθόδου Jacobi Παρακάτω παρουσιάζουμε την ανάπτυξη της γραμμικής μεθόδου Jacobi για την επίλυση ενός γραμμικού συστήματος Ax = b. Η μέθοδος βασίζεται στην διάσπαση του μητρώου συντελεστών των αγνώστων A = M N, που αναφέραμε στην προηγούμενη ενότητα. Το μητρώο ρυθμιστής M ισούται με M = D και το μητρώο N με N = L + U, όπου a 0... 0 0 0 a... a n 0 a... 0 a 0 0... a n D =......, L =...., U =......... 0... 0 a nn a n a n... 0 0 Αποδεικνύεται [] ότι αν το μητρώο A έχει αυστηρά διαγώνια κυριαρχία κατά γραμμές ή κατά στήλες, δηλαδή ισχύει: a ii > n a ij, i =,,..., n ή aii > j= j i n a ji, i =,,..., n j= j i τότε η μέθοδος του Jacobi συγκλίνει. Σημείωση: Διαγώνια κυριαρχία κατά γραμμές σημαίνει ότι σε κάθε γραμμή το στοιχείο της κύριας διαγωνίου είναι κατ απόλυτη τιμή μεγαλύτερο από όλα τα στοιχεία της γραμμής, ενώ διαγώνια κυριαρχία κατά στήλες σημαίνει ότι σε κάθε στήλη το στοιχείο της κύριας διαγωνίου είναι κατ απόλυτη τιμή μεγαλύτερο από τα υπόλοιπα στοιχεία της στήλης. Για το μητρώο ρυθμιστή M = D πρέπει να ισχύουν οι δύο περιορισμοί που αναφέραμε στην προηγούμενη ενότητα. Έτσι έχουμε:. det(m) det(d) = a a... a nn 0. Ισχύει πάντα, διότι το γραμμικό σύστημα Dx = b για να λυθεί απαιτεί το πολύ n διαιρέσεις, που είναι σίγουρα λιγότερες από τις πράξεις που χρειάζεται για να λυθεί ένα οποιοδήποτε γραμμικό σύστημα Ax = b.

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 9 Έτσι, θεωρώντας μία αρχική προσέγγιση x (0) R n, δημιουργούμε το επαναληπτικό σχήμα της μεθόδου: x (k+) = D (L + U)x (k) + D b, k = 0,,,... Στην συνέχεια, θα αναπτύξουμε την γραμμική μέθοδο Jacobi για την επίλυση του γραμμικού συστήματος Ax = b, βλέποντας το σύστημα στην μορφή: n a ij x j = b i, j= i =,,..., n ή ισοδύναμα α x + α x +... + α n x n = b α x + α x +... + α n x n = b. α n x + α n x +... + α nn x n = b n όπου x, x,..., x n οι συνιστώσες του x. Αν κρατήσουμε τα στοιχεία της κύριας διαγωνίου a ii x i στο πρώτο μέλος των εξισώσεων, παίρνουμε: i n a ii x i = b i a ij x j a ij x j, j= j=i+ i =,,..., n ή ισοδύναμα a x = b a x... a n x n a x = b a x a 3 x 3... a n x n. a nn x n = b n a n x... a n(n ) x n Τέλος, επιλύοντας την σχέση ως προς x i έχουμε: x i = i n a b i a ij x j a ij x j, ii k= k=i+ i =,,..., n

30 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ή ισοδύναμα x = (b a x... a n x n ) a x = (b a x a 3 x 3... a n x n ) a.. x n = a nn (b n a n x... a n(n ) x n ) Έτσι, το επαναληπτικό σχήμα της Jacobi μπορεί να γραφεί και ως ακολούθως: x (k+) i = i n a ii b i a ij x (k) j a ij x (k) j, i =,,..., n και k = 0,,,... j= j=i+ x (k+) = (b a x (k)... a n x (k) n ) a x (k+) = (b a x (k) a 3 x (k) 3 a... a nx (k) n ).. x (k+) n = a nn (b n a n x (k)... a n(n ) x (k) n ) ή, k = 0,,,... όπου x (0) i, i =,,..., n αυθαίρετοι αριθμοί που απαιτούνται για την εκκίνηση της μεθόδου. Στην μέθοδο αυτή χρησιμοποιούμε εξ ολοκλήρου την γνώση που έχουμε από την k-οστή επανάληψη για τον υπολογισμό της k + προσέγγισης της λύσης. Στην συνέχεια παραθέτουμε τα κριτήρια τερματισμού της μεθόδου..3. Κριτήρια Τερματισμού Η Γραμμική Μέθοδος Jacobi είναι επαναληπτική μέθοδος, η οποία όπως αναφέραμε σε κάθε επανάληψη υπολογίζει μία προσεγγιστική λύση του συστήματος που επιλύει. Αυτές οι επαναλήψεις όμως πρέπει κάποια στιγμή να σταματήσουν, ώστε να τερματίσει ο αλγόριθμος και να μας επιστρέψει κάποια λύση. Για να το πετύχουμε αυτό χρησιμοποιούμε κάποια κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη η οποία μας δείχνει ότι έχει υπολογιστεί η λύση του συστήματος με την ακρίβεια που θέλουμε. Μερικά από τα κριτήρια που χρησιμοποιούνται είναι:

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3. x (k+) x (k) ε, δηλαδή δύο διαδοχικές προσεγγίσεις της λύσης να βρίσκονται πολύ κοντά μεταξύ τους.. k < MIT, δηλαδή το μέγιστο πλήθος των επαναλήψεων (ΜΙΤ) που θα επιτρέψουμε στον αλγόριθμο να κάνει, να μην ξεπερνάει κάποιο άνω όριο. όπου το ε είναι ένας πολύ μικρός θετικός αριθμός..3.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου Jacobi Στην ενότητα αυτή παραθέτουμε την γεωμετρική ερμηνεία της μεθόδου, μέσα από ένα παράδειγμα. Παράδειγμα.3.. Δίνεται το παρακάτω γραμμικό σύστημα εξισώσεων με αγνώστους. 3x x = 5 x + x = 4 Αρχικά, ελέγχουμε αν η μέθοδος συγκλίνει στην λύση του συστήματος. Αν μετατρέψουμε το σύστημα στο αντίστοιχο της μορφής Ax = b: 3 x = 5 4 παρατηρούμε ότι τα στοιχεία της κύριας διαγωνίου του μητρώου A (δηλαδή το 3 και το ) είναι κατ απόλυτη τιμή τα μεγαλύτερα στοιχεία της γραμμής που ανήκουν. Αυτό σημαίνει ότι το μητρώο A έχει αυστηρά διαγώνια κυριαρχία κατά γραμμές, επομένως η μέθοδος Jacobi συγκλίνει για το σύστημα αυτό. x Στην συνέχεια, αφού έχουμε αποδείξει ότι η μέθοδος θα συγκλίνει ύστερα από μερικές επαναλήψεις στην λύση του συστήματος, ξεκινάμε την εφαρμογή της μεθόδου: Λύνουμε την πρώτη εξίσωση ως προς x και την δεύτερη ως προς x : x = 5 + x 3 x = 4 x

3 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σχήμα.: Γεωμετρική ερμηνεία της γραμμικής Jacobi Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου Jacobi: = 5 + x(k) 3 x (k+) = 4 x(k) x (k+) Αν στις παραπάνω σχέσεις θεωρήσουμε μία αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = 4

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 33 μπορούμε να πάρουμε διαδοχικά τις παρακάτω προσεγγίσεις της λύσης: x () x () 5 + x (0) 5 = x () = 3 4 x (0) = 3 4 4 = 0 x () x () 5 + x () 5 + 0.667 = x () = 3 4 x () = 3 4 =.5 x (3) x (3) 5 + x () 5 +.5.67 = x (3) = 3 4 x () = 3 4.667 =.67 x (4) x (4) 5 + x (3) 5 +.67.056 = x (4) = 3 4 x (3) = 3 4.67 = 0.97 Στο σχήμα (.) [] βλέπουμε τις δύο ευθείες f, f καθώς και το σημείο τομής τους, που είναι η λύση του συστήματος των δύο εξισώσεων. Παίρνουμε την τομή της προσεγγιστικής λύσης και με την f και με την f. Φέρνουμε παράλληλη προς την f και κάθετη προς την f. Η τομή των δύο νέων αυτών γραμμών είναι η νέα προσέγγιση. Το σημείο x (0) είναι η αρχική προσέγγιση της λύσης και τα x (), x (), x (3), x (4) είναι οι διαδοχικές προσεγγίσεις της λύσης που δίνει η μέθοδος Jacobi..3.4 Αλγόριθμος της γραμμικής μεθόδου Jacobi Στην συνέχεια θα δώσουμε τον αλγόριθμο της γραμμικής μεθόδου Jacobi σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων A: Το τετραγωνικό μητρώο A b: Το διάνυσμα-στήλη b x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει.

34 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ε: Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση. Αλγόριθμος Γραμμικής Jacobi ΒΗΜΑ Είσοδος δεδομένων: {n, A, b, x (0), MIT, ε} ΒΗΜΑ Κάνε την διάσπαση A = D L U ΒΗΜΑ 3 Όρισε το επαναληπτικό μητρώο: T = D (L + U) ΒΗΜΑ 4 Θέσε k =, x ( ) = μία τιμή διάφορη του x (0) ώστε να περάσει την πρώτη φορά από την συνθήκη του Βήματος 5) ΒΗΜΑ 5 Όσο (k MIT και x (k+) x (k) ε) επανάλαβε το Βήμα 6, Αλλιώς (πήγαινε στο Βήμα 7) ΒΗΜΑ 6 Θέσε k = k +, x (k+) = D (L + U) x (k) + D b ΒΗΜΑ 7 Έξοδος αποτελεσμάτων: {k, x (k) } Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x (k) : Την λύση του συστήματος που βρήκε η μέθοδος Jacobi.3.5 Εφαρμογή της γραμμικής μεθόδου Jacobi Στην συνέχεια παρουσιάζουμε μία αριθμητική εφαρμογή της μεθόδου. Παράδειγμα.3.. Θα εφαρμόσουμε τη μέθοδο Jacobi για να επιλύσουμε το παρακάτω σύστημα γραμμικών εξισώσεων: x x + x 3 = x + x x 3 = 0 x x + x 3 =

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 35 χρησιμοποιώντας ως αρχική εκτίμηση της λύσης την x (0) = με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005. Σχήμα.: Γραφική παράσταση συστήματος 3 3 Λύση: Το σύστημα με μορφή μητρώων γράφεται ως ακολούθως: Ax = b όπου A =, x = x x x 3, b = 0 Αρχικά, κάνουμε την διάσπαση του μητρώου A στα μητρώα D, L και U: A = D (L + U)

36 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ όπου: D = 0 0 0 0 0 0, L = 0 0 0 0 0 0, U = 0 0 0 0 0 0 Στην συνέχεια, υπολογίζουμε το επαναληπτικό μητρώο της T της μεθόδου: T = D (L + U) = 0 0 0 Πριν να χρησιμοποιήσουμε το επαναληπτικό σχήμα της μεθόδου, πρέπει να εξετάσουμε αν η μέθοδος συγκλίνει: Πρώτο στάδιο: Ελέγχουμε εάν το μητρώο A έχει διαγώνια κυριαρχία κατά γραμμές ή κατά στήλες. Παρατηρούμε πως κάτι τέτοιο δεν ισχύει ούτε κατά γραμμές, αφού στην πρώτη γραμμή υπάρχει το στοιχείο, που είναι μεγαλύτερο από το στοιχείο της διαγωνίου, ούτε κατά στήλες, αφού στην πρώτη στήλη υπάρχει στοιχείο, που είναι, κατ απόλυτη τιμή, μεγαλύτερο από το στοιχείο της διαγωνίου. Δεύτερο στάδιο: Εξετάζουμε αν για κάποια στάθμη του επαναληπτικού μητρώου T ισχύει ότι T <. Έχουμε: T = max {(0 + + ), ( + 0 + ), ( + + 0)} = max {3, 4, 3} = 4 > T = max {(0 + + ), ( + 0 + ), ( + + 0)} = max {4,, 4} = 4 > Επομένως, δεν μπορούμε να ξέρουμε αν συγκλίνει. Τρίτο στάδιο: Υπολογίζουμε τις ιδιοτιμές του μητρώου T και ελέγχουμε αν η μεγαλύτερη από αυτές είναι μικρότερη του. Έχουμε, λοιπόν, την παρακάτω εξίσωση, την οποία πρέπει να λύσουμε ως προς λ: det(t λ) = 0

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 37 ( λ) λ 0 λ 0 λ = 0 0 λ λ λ = 0 λ λ + λ + λ = 0 ( λ)(λ ) + (λ ) + ( λ) = 0 λ 3 + λ + λ 4 + 4 4λ = 0 λ 3 = 0 λ = λ = λ 3 = 0 Άρα, ϱ(t) = max{ λ, λ, λ 3 } = max{0, 0, 0} = 0 <. Επομένως, η μέθοδος του Jacobi συγκλίνει για το σύστημα αυτό. Στην συνέχεια, αφού έχουμε αποδείξει ότι η μέθοδος θα συγκλίνει στην λύση του συστήματος, ξεκινάμε την εφαρμογή της μεθόδου με τρόπους: Τρόπος Α: Με χρήση του επαναληπτικού σχήματος x (k+) = D (L + U)x (k) + D b: Στην περίπτωση αυτή, αν θέσουμε την αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = x (0) 3

38 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η πρώτη προσέγγισης της λύσης προκύπτει ως ακολούθως: x () x () x () 3 = = = = = 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 8 4 9 x (0) x (0) x (0) 3 + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Με αντίστοιχο τρόπο προκύπτουν και οι επόμενες προσεγγίσεις της λύσης: x () x () x () 3 x (3) x (3) x (3) 3 x (4) x (4) x (4) 3 = = = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x () x () x () 3 x () x () x () 3 x (3) x (3) x (3) 3 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = = = 8 3 5 7 5 7

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 39 Τρόπος Β: Βλέποντας το σύστημα στην μορφή: όπου x, x,..., x n οι συνιστώσες του x. α x + α x +... + α n x n = b α x + α x +... + α n x n = b. α n x + α n x +... + α nn x n = b n Λύνουμε την πρώτη εξίσωση ως προς x, την δεύτερη ως προς x και την τρίτη ως προς x 3 : x = x x 3 + x = x + x 3 x 3 = x + x + Αν θεωρήσουμε τις επαναλήψεις, το σύστημα γράφεται ως ακολούθως: x (k+) = x (k) x (k) 3 + x (k+) = x (k) + x (k) 3 x (k+) 3 = x (k) + x (k) + Αν θέσουμε την αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = x (0) 3 παίρνουμε διαδοχικά τις παρακάτω προσεγγίσεις της λύσης:

40 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ x () = x () = x (3) = x (4) = x () x () x () 3 x () x () x () 3 x (3) x (3) x (3) 3 x (4) x (4) x (4) 3 = = = = x (0) x (0) 3 + x (0) + x (0) 3 x (0) + x (0) + x () x () 3 + x () + x () 3 x () + x ()+ x () x () 3 + x () + x () 3 x () + x ()+ x (3) x (3) 3 + x (3) + x (3) 3 x (3) + x (3)+ = = = = 4 4 + + + 4 + 8 8 + + 9 4 + 8 + 6 + 8 + 3 6 + + 0 4 + + 7 4 + 0 + = = = = 4 9 8 3 5 7 5 7 Παρατηρούμε ότι και με τους δύο τρόπους οι προσεγγιστικές λύσεις που προκύπτουν είναι ίδιες και ότι οι δύο τελευταίες προσεγγίσεις ταυτίζονται, που σημαίνει ότι ικανοποιούν το κριτήριο τερματισμού: x (4) x (3) = 0 0.005 πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: x = 5 7 Πράγματι, αν αντικαταστήσουμε την λύση αυτή στο σύστημα, θα δούμε ότι το επαληθεύει, δηλαδή ότι είναι η ζητούμενη λύση του συστήματος..4 Η Γραμμική Μέθοδος Gauss-Seidel Στην ενότητα αυτή θα παρουσιάσουμε την Γραμμική μέθοδο Gauss-Seidel [, 5] για την επίλυση γραμμικών συστημάτων. Στην συνέχεια θα δώσουμε τον αλγόριθμο της μεθόδου, την γεωμετρική της ερμηνεία και δύο αριθμητικές της εφαρμογές.

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 4.4. Ανάπτυξη της γραμμικής μεθόδου Gauss-Seidel Παρακάτω παρουσιάζουμε την ανάπτυξη της γραμμικής μεθόδου Gauss-Seidel για την επίλυση ενός γραμμικού συστήματος Ax = b. Η μέθοδος αυτή, όπως και η Jacobi, βασίζεται στην διάσπαση του μητρώου συντελεστών των αγνώστων A = M N. Το μητρώο ρυθμιστής M ισούται με M = D L και το μητρώο N ισούται με N = U όπου: a 0... 0 0 0 a... a n 0 a... 0 a 0 0... a n D =......, L =...., U =......... 0... 0 a nn a n a n... 0 0 Αποδεικνύεται [] ότι αν το μητρώο A έχει αυστηρά διαγώνια κυριαρχία κατά γραμμές ή κατά στήλες, δηλαδή ισχύει: a ii > n a ij, i =,,..., n ή aii > j= j i n a ji, i =,,..., n j= j i τότε η μέθοδος των Gauss-Seidel συγκλίνει. Για το μητρώο ρυθμιστή M = D L πρέπει να ισχύουν οι δύο περιορισμοί που αναφέραμε στην προηγούμενη ενότητα. Έτσι έχουμε:. det(m) det(d L) 0, που ισχύει όταν τα στοιχεία της κύριας διαγωνίου του μητρώου A να είναι μη μηδενικά.. Ισχύει πάντα, διότι το γραμμικό σύστημα (D L)x = b μπορεί να λυθεί εύκολα με την διαδικασία της προς τα πίσω αντικατάστασης [, ], η οποία απαιτεί πράξεις πλήθους O(n ), που είναι λιγότερες από τις πράξεις που χρειάζεται για να λυθεί ένα οποιοδήποτε γραμμικό σύστημα Ax = b με την μέθοδο απαλοιφής του Gauss (πράξεις πλήθους O(n 3 )). Έτσι, θεωρώντας μία αρχική προσέγγιση x (0) R n, δημιουργούμε το επαναληπτικό σχήμα της μεθόδου: x (k+) = (D L) Ux (k) + (D L) b, k = 0,,,...

4 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Στην συνέχεια, θα αναπτύξουμε την γραμμική μέθοδο Gauss-Seidel για την επίλυση του γραμμικού συστήματος Ax = b, βλέποντας το σύστημα στην μορφή: n a ij x j = b i, j= i =,,..., n ή ισοδύναμα α x + α x +... + α n x n = b α x + α x +... + α n x n = b. α n x + α n x +... + α nn x n = b n όπου x, x,..., x n οι συνιστώσες του x. Θεωρούμε ότι έχουμε προσεγγίσει όλες τις λύσεις, μέχρι την k-οστή επανάληψη: x (k) = (x (k),..., x(k) n ) και από την k + επανάληψη, έχουμε προσεγγίσει μέχρι και την i συνιστώσα, δηλαδή από την λύση: οι συνιστώσες x (k+),..., x (k+) i x (k+) = (x (k+),..., x (k+) i, x(k+) i,..., x (k+) n ) είναι γνωστές και οι συνιστώσες x (k+) i,..., x (k+) n άγνωστες. Για να βελτιώσουμε την προσέγγιση της i συνιστώσας xi k+, χρησιμοποιούμε τις γνωστές συνιστώσες της k + επανάληψης και θεωρούμε ότι οι επόμενες συνιστώσες (που δεν έχουμε υπολογίσει ακόμα στην k + επανάληψη) παραμένουν ίδιες με την προηγούμενη επανάληψη, δηλαδή: x (k+) i+ = x (k) i+. x (k+) n = x (k) n Έτσι, έχουμε δημιουργήσει τον επαναληπτικό τύπο της γραμμικής μεθόδου Gauss-Seidel []: x (k+) i = i a ii b i j= a ij x (k+) j n a ij x (k) j, i =,,..., n και k = 0,,,... j=i+ ή

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 43 x (k+) = (b a x (k)... a n x (k) n ) a x (k+) = (b a x (k+) a 3 x (k) 3 a... a nx (k) n ).. x (k+) n = a nn (b n a n x (k+)... a n(n ) x (k+) n ), k = 0,,,... όπου x (0) i, i =,,..., n αυθαίρετοι αριθμοί που απαιτούνται για την εκκίνηση της μεθόδου. Στην μέθοδο αυτή χρησιμοποιούμε όση γνώση έχουμε από την k + επανάληψη και την υπόλοιπη γνώση την παίρνουμε από την k-οστή επανάληψη, σε αντίθεση με την Jacobi που χρησιμοποιούμε μόνο την γνώση από την k-οστή επανάληψη. Αυτό το χαρακτηριστικό της Gauss-Seidel μπορεί να δημιουργήσει την λανθασμένη εντύπωση ότι πλεονεκτεί της Jacobi. Κάτι τέτοιο μπορεί να συμβαίνει σε κάποια παραδείγματα [36], δεν αποτελεί όμως κανόνα. Συγκεκριμένα υπάρχουν περιπτώσεις όπου η Jacobi συγκλίνει, ενώ η Gauss-Seidel αποκλίνει. Ένα μειονέκτημα, επίσης, που έχει η μέθοδος Gauss-Seidel είναι ότι οι εξισώσεις της πρέπει να επιλυθούν με μια συγκεκριμένη σειρά, ενώ της Jacobi μπορούν να επιλυθούν με οποιαδήποτε σειρά..4. Κριτήρια Τερματισμού Η Γραμμική Μέθοδος Gauss-Seidel, όπως και η Jacobi, χρησιμοποιεί κάποια κριτήρια, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη, η οποία μας δείχνει ότι έχει υπολογιστεί η λύση του συστήματος με την ακρίβεια που θέλουμε. Τα κριτήρια αυτά είναι ίδια με της μεθόδου Jacobi..4.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου Gauss-Seidel Στην ενότητα αυτή παραθέτουμε την γεωμετρική ερμηνεία της μεθόδου, μέσα από ένα παράδειγμα. Παράδειγμα.4.. Δίνεται το παρακάτω γραμμικό σύστημα εξισώσεων με αγνώστους. 3x x = 5 x + x = 4

44 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αρχικά, ελέγχουμε αν η μέθοδος συγκλίνει στην λύση του συστήματος. Αν μετατρέψουμε το σύστημα στο αντίστοιχο της μορφής Ax = b: 3 x x = 5 4 παρατηρούμε ότι τα στοιχεία της κύριας διαγωνίου του μητρώου A (δηλαδή το 3 και το ) είναι κατ απόλυτη τιμή τα μεγαλύτερα στοιχεία της γραμμής που ανήκουν. Αυτό σημαίνει ότι το μητρώο A έχει αυστηρά διαγώνια κυριαρχία κατά γραμμές, επομένως η μέθοδος Gauss-Seidel συγκλίνει για το σύστημα αυτό. Στην συνέχεια, αφού έχουμε αποδείξει ότι η μέθοδος θα συγκλίνει ύστερα από μερικές επαναλήψεις στην λύση του συστήματος, ξεκινάμε την εφαρμογή της μεθόδου: Έτσι, λύνουμε την πρώτη εξίσωση ως προς x και την δεύτερη ως προς x : x = 5 + x 3 x = 4 x Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου Jacobi: = 5 + x(k) 3 x (k+) = 4 x(k+) x (k+) Αν στις παραπάνω σχέσεις θεωρήσουμε μία αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = 4

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 45 μπορούμε να πάρουμε διαδοχικά τις παρακάτω προσεγγίσεις της λύσης: x () x () 5 + x (0) 5 = x () = 3 4 x () = 3 4 =.5 x () x () 5 + x () 5 +.5.67 = x () = 3 4 x () = 3 4.67 = 0.97 x (3) x (3) 5 + x () 5 + 0.97.97 = x (3) = 3 4 x (3) = 3 4.97 =.04 Στο σχήμα (.3) [] βλέπουμε τις δύο ευθείες f, f, καθώς και το σημείο τομής τους, που είναι η λύση του συστήματος των δύο εξισώσεων. Από την παλιά προσέγγιση φέρνουμε οριζόντια γραμμή για να δούμε πού τέμνει την f. Έπειτα, από το σημείο αυτό φέρνουμε κάθετη γραμμή για να δούμε που συναντά την f. Το σημείο αυτό, το οποίο ανήκει στην f, είναι η νέα προσέγγιση. Το σημείο x (0) είναι η αρχική προσέγγιση της λύσης και τα x (), x (), x (3) είναι οι διαδοχικές προσεγγίσεις της λύσης που δίνει η μέθοδος Gauss- Seidel..4.4 Αλγόριθμος της γραμμικής μεθόδου Gauss Seidel Στην συνέχεια θα δώσουμε τον αλγόριθμο της γραμμικής μεθόδου Gauss Seidel σε φυσική γλώσσα: Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων A: Το τετραγωνικό μητρώο A b: Το διάνυσμα-στήλη b x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού).

46 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σχήμα.3: Γεωμετρική ερμηνεία της γραμμικής Gauss-Seidel ε: Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). Αλγόριθμος Γραμμικής Gauss-Seidel ΒΗΜΑ Είσοδος δεδομένων: {n, A, b, x (0), MIT, ε} ΒΗΜΑ Κάνε την διάσπαση A = D L U ΒΗΜΑ 3 Όρισε το επαναληπτικό μητρώο: T = D (L + U) ΒΗΜΑ 4 Θέσε k =, x ( ) = μία τιμή διάφορη του x (0) ώστε να περάσει την πρώτη φορά από την συνθήκη του Βήματος 5) ΒΗΜΑ 5 Όσο (k MIT και x (k+) x (k) ε) επανάλαβε το Βήμα 6, Αλλιώς (πήγαινε στο Βήμα 7) ΒΗΜΑ 6 Θέσε k = k +, x (k+) = (D L) U x (k) + (D L) b ΒΗΜΑ 7 Έξοδος αποτελεσμάτων: {k, x (k) } Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 47 ακρίβεια που του ορίσαμε. x (k) : Την λύση του συστήματος που βρήκε η μέθοδος Gauss Seidel.4.5 Εφαρμογές της γραμμικής μεθόδου Gauss-Seidel Στην συνέχεια παρουσιάζουμε δύο αριθμητικές εφαρμογές της μεθόδου. Παράδειγμα.4.. Θα εφαρμόσουμε τη μέθοδο Gauss-Seidel για να επιλύσουμε το παρακάτω σύστημα γραμμικών εξισώσεων: x x + x 3 = x + x x 3 = 0 x x + x 3 = χρησιμοποιώντας ως αρχική εκτίμηση της λύσης την x (0) = με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005. Λύση: Το σύστημα με μορφή μητρώων γράφεται ως ακολούθως: Ax = b όπου A =, x = x x x 3, b = 0 Αρχικά, κάνουμε την διάσπαση του μητρώου A στα μητρώα D, L και U: A = (D L) U

48 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ όπου D = 0 0 0 0 0 0, L = 0 0 0 0 0 0, U = 0 0 0 0 0 0 Στην συνέχεια, υπολογίζουμε το επαναληπτικό μητρώο της T της μεθόδου: 0 0 0 0 T = (D L) U = 0 0 0 0 = 0 0 0 0 0 8 6 Πριν να χρησιμοποιήσουμε το επαναληπτικό σχήμα της μεθόδου, πρέπει να εξετάσουμε αν η μέθοδος συγκλίνει: Πρώτο στάδιο: Ελέγχουμε εάν το μητρώο A έχει διαγώνια κυριαρχία κατά γραμμές ή κατά στήλες. Παρατηρούμε πως κάτι τέτοιο δεν ισχύει ούτε κατά γραμμές, αφού στην πρώτη γραμμή υπάρχει το στοιχείο, που είναι μεγαλύτερο από το στοιχείο της διαγωνίου, ούτε κατά στήλες, αφού στην πρώτη στήλη υπάρχει στοιχείο, που είναι, κατ απόλυτη τιμή, μεγαλύτερο από το στοιχείο της διαγωνίου. Δεύτερο στάδιο: Εξετάζουμε αν για κάποια στάθμη του επαναληπτικού μητρώου T ισχύει ότι T <. Έχουμε: T = max {(0 + 0 + 0), ( + + 8), ( + + 6)} = max {0,, 9} = > T = max {(0 + + ), (0 + + ), (0 + 8 + 6)} = max {4, 3, 4} = 4 > Επομένως, δεν μπορούμε να ξέρουμε αν συγκλίνει. Τρίτο στάδιο: Υπολογίζουμε τις ιδιοτιμές του μητρώου T και ελέγχουμε αν η μεγαλύτερη από αυτές είναι μικρότερη του. Έχουμε, λοιπόν, την παρακάτω εξίσωση την οποία πρέπει να λύσουμε ως προς λ: det(t λ) = 0

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 49 0 λ 0 λ = 0 0 8 6 λ λ 0 λ 3 = 0 0 8 6 λ ( λ) λ 3 8 6 λ = 0 ( λ)(λ 4λ 36) = 0 λ = 0, λ = 8.3, λ 3 = 4.3 Άρα, ϱ(t) = max{ λ, λ, λ 3 } = max{0, 8.3, 4.3} = 8.3 >. Επομένως, η μέθοδος Gauss-Seidel δεν συγκλίνει για το σύστημα αυτό. Παρατήρηση: Στο σύστημα αυτό η μέθοδος Jacobi συγκλίνει (όπως είδαμε στην προηγούμενη ενότητα), ενώ η μέθοδος Gauss-Seidel δεν συγκλίνει. Καταλήγουμε, έτσι, στο συμπέρασμα ότι η Gauss-Seidel δεν είναι πάντα προτιμότερη μέθοδος από την Jacobi. Παράδειγμα.4.3. Θα εφαρμόσουμε τη μέθοδο Gauss-Seidel για να επιλύσουμε το παρακάτω σύστημα γραμμικών εξισώσεων: 3x + x = 5 x + x 3 = 3 x + x 3 = 3 χρησιμοποιώντας ως αρχική εκτίμηση της λύσης την 0 x (0) = 0 0 με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005.

50 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Λύση: Το σύστημα με μορφή μητρώων γράφεται ως ακολούθως: Ax = b όπου A = 3 0 0 0, x = x x x 3, b = 5 3 3 Αρχικά, κάνουμε την διάσπαση του μητρώου A στα μητρώα D, L και U: A = (D L) U όπου: D = 3 0 0 0 0 0 0, L = 0 0 0 0 0 0 0 0, U = 0 0 0 0 0 0 0 Στην συνέχεια, υπολογίζουμε το επαναληπτικό μητρώο της T της μεθόδου: T = (D L) U = 0 0 3 0 0 0 6 0 0 0 0 0 0 0 = 0 0 3 0 0 0 0 3 Πριν να χρησιμοποιήσουμε το επαναληπτικό σχήμα της μεθόδου, πρέπει να εξετάσουμε αν η μέθοδος συγκλίνει: Πρώτο στάδιο: είναι να ελέγξουμε μήπως το μητρώο A έχει διαγώνια κυριαρχία κατά γραμμές ή κατά στήλες. Παρατηρούμε πως το στοιχείο της πρώτης γραμμής a = 3 είναι μεγαλύτερο από τα υπόλοιπα στοιχεία της γραμμής ( και 0), το δεύτερο στοιχείο της δεύτερης γραμμής a = είναι μεγαλύτερο από τα υπόλοιπα στοιχεία της γραμμής (0 και ) και το τρίτο στοιχείο της τρίτης γραμμής a 33 = είναι επίσης το μεγαλύτερο στοιχείο από τα υπόλοιπα στοιχεία της γραμμής ( και 0). Επομένως, για το μητρώο A ισχύει αυστηρά η διαγώνια κυριαρχία κατά γραμμές, με αποτέλεσμα η μέθοδος των Gauss-Seidel να συγκλίνει. Στην συνέχεια, αφού έχουμε αποδείξει ότι η μέθοδος θα συγκλίνει στην λύση του

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 5 συστήματος, ξεκινάμε την εφαρμογή της μεθόδου με τρόπους: Τρόπος Α: Με χρήση του επαναληπτικού σχήματος x (k+) = (D L) Ux (k) + (D L) b: Στην περίπτωση αυτή, αν θέσουμε την αρχική προσέγγιση της λύσης: x (0) 0 x (0) = x (0) = 0 x (0) 3 0 Η πρώτη προσέγγισης της λύσης προκύπτει ως ακολούθως: x () = 3 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 3 3 x (0) x (0) x (0) 3 + = = = = 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 6 0 0 0 5 3 3 0 0 0 + + + = 3 0 0 5 0 0 3 0 3 0 0 3 5 0 0 3 0 0 3 3 5 3 3, 667.5 0, 667

5 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Με αντίστοιχο τρόπο προκύπτουν και οι επόμενες προσεγγίσεις της λύσης. Τρόπος Β: Βλέποντας το σύστημα στην μορφή: όπου x, x,..., x n οι συνιστώσες του x. α x + α x +... + α n x n = b α x + α x +... + α n x n = b. α n x + α n x +... + α nn x n = b n Λύνουμε την πρώτη εξίσωση ως προς x, την δεύτερη ως προς x και την τρίτη ως προς x 3 : x = 3 (5 x ) x = (3 x 3) x 3 = (3 x ) Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου Gauss- Seidel: x (k+) = ( 5 x (k) 3 ( ) x (k+) = x (k+) 3 = ( 3 x (k) 3 ) 3 x (k+) Αντικαθιστώντας τα x (k+) που υπάρχουν στο δεύτερο μέλος με τα ίσα τους, εχουμε: x (k+) = ( 5 x (k) 3 ( ) x (k+) = x (k+) 3 = 3 x (k) 3 ( ( 3 3 ) ) 5 x (k) ))

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 53 από τις οποίες τελικά έχουμε: x (k+) = ( 5 x (k) 3 ( ) x (k+) = 3 x (k) 3 x (k+) 3 = 3 + 3 x(k) Αν στις παραπάνω σχέσεις θέσουμε την αρχική προσέγγιση: x (0) 0 x (0) = x (0) = 0 x (0) 3 0 μπορούμε να πάρουμε διαδοχικά τις παρακάτω προσεγγίσεις της λύσης: ) x () = x () x () x () 3 = ( 5 x (0) ) 3 ( 3 x (0) ) = 3 3 + 3 x(0).6667.5 0.6667 x () = x () x () x () 3 = ( 5 x () ) 3 ( 3 x () ) = 3 3 + 3 x() 0.6667.667.667 x (3) = x (3) x (3) x (3) 3 = ( 5 x () ) 3 ( 3 x () ) = 3 3 + 3 x() 0.8889 0.967.0556 x (4) = x (4) x (4) x (4) 3 = ( 5 x (3) ) 3 ( 3 x (3) ) = 3 3 + 3 x(3).0556 0.97 0.97

54 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ x (5) =.085.039 0.9907, x (6) = 0.9907.0046.0046, x (7) = 0.9969 0.9977.005, x (8) =.005 0.999 0.999, x (9) =.0005.0004 0.9997 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (9) x (8) 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση:.00 x.00.00 Πράγματι, αν αντικαταστήσουμε την λύση αυτή στο σύστημα, θα δούμε ότι το επαληθεύει, δηλαδή ότι είναι η ζητούμενη λύση του συστήματος..5 Η γραμμική μέθοδος Διαδοχικής Υπερχαλάρωσης (SOR) Στην ενότητα αυτή θα παρουσιάσουμε την Γραμμική μέθοδο SOR για την επίλυση γραμμικών συστημάτων. Η μέθοδος αυτή αποτελεί παραλλαγή της μεθόδου Gauss- Seidel. Στην συνέχεια θα δώσουμε μία αριθμητική της εφαρμογή, για την καλύτερη κατανόησή της..5. Ανάπτυξη της γραμμικής μεθόδου SOR Παρακάτω, παρουσιάζουμε την ανάπτυξη της γραμμικής μεθόδου SOR (Successive Over Relaxion) [6] για την επίλυση ενός γραμμικού συστήματος Ax = b. Η μέθοδος αυτή,βασίζεται στην διάσπαση του μητρώου συντελεστών των αγνώστων A = M N. Το μητρώο ρυθμιστής M ισούται με M = D L και το μητρώο N ισούται

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 55 με N = U όπου: a 0... 0 0 0 a... a n D = 0 a... 0........ 0... 0 a nn, L = a 0..... a n a n... 0, U = 0... a n...... 0 Αν αντικαταστήσουμε στο σύστημα Ax = b την διάσπαση A = (D L) U έχουμε: ((D L) U)x = b ή ισοδύναμα: (D L U)x = b Αν θεωρήσουμε μια θετική σταθερά ω και την πολλαπλασιάσουμε στην παραπάνω σχέση, παίρνουμε: (ωd ωl ωu)x = ωb ωdx ωlx ωux = ωb Αν προσθέσουμε στην σχέση το Dx παίρνουμε: Dx + ωdx ωlx ωux = Dx + ωb Dx ωlx = ωb + ωux + Dx ωdx (D ωl)x = ω(b + Ux) + ( ω)dx Αν θεωρήσουμε ότι το μητρώο D ωl αντιστρέφεται, τότε από την παραπάνω σχέση προκύπτει: x = ω(d ωl) (b + Ux) + ( ω)(d ωl) Dx Έτσι, δημιουργούμε το επαναληπτικό σχήμα της μεθόδου: x (k+) = ω(d ωl) (b + Ux (k) ) + ( ω)(d ωl) Dx (k)

56 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Το επαναληπτικό σχήμα της SOR με την μορφή εξισώσεων είναι: x (k+) i = ω i n a ii b i a ij x (k+) j a ij x (k) j + ( ω) x(k) i, i =,,..., n ή ισοδύναμα j= j=i+ x (k+) = ω (b a x (k) a x (k+) = ω (b a x (k+) a 3 x (k) a. x (k+) n = ω (b n a n x (k+) a nn... a n x (k) n ) + ( ω)x (k) 3... a nx (k) n ) + ( ω)x (k)... a n(n ) x (k+) n ) + ( ω)x(k) n Η παράμετρος ω επιλέγεται με σκοπό την συντομότερη σύγκλιση της μεθόδου:. Αν 0 < ω < η μέθοδος ονομάζεται μέθοδος διαδοχικής υποχαλάρωσης.. Αν < ω < ονομάζεται μέθοδος διαδοχικής υπερχαλάρωσης. 3. Αν ω = τότε η μέθοδος ανάγεται στην Gauss-Seidel..5. Κριτήρια Τερματισμού Η Γραμμική Μέθοδος SOR, όπως και οι μέθοδοι Jacobi και Gauss-Seidel, χρησιμοποιεί κάποια κριτήρια, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη, η οποία μας δείχνει ότι έχει υπολογιστεί η λύση του συστήματος με την ακρίβεια που θέλουμε. Τα κριτήρια αυτά είναι ίδια με τις άλλες μεθόδους..5.3 Γεωμετρική Ερμηνεία της γραμμικής μεθόδου SOR Στην ενότητα αυτή παραθέτουμε την γεωμετρική ερμηνεία της μεθόδου για δύο διαφορετικές τιμές της παραμέτρου ω, μέσα από ένα παράδειγμα. Παράδειγμα.5.. Δίνεται το παρακάτω γραμμικό σύστημα εξισώσεων με αγνώστους. 3x x = 5 x + x = 4 και μία αρχική προσέγγιση της λύσης του x (0) 4 =.

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 57 Αρχικά, ελέγχουμε αν η μέθοδος συγκλίνει στην λύση του συστήματος. Αν μετατρέψουμε το σύστημα στο αντίστοιχο της μορφής Ax = b: 3 x x = 5 4 παρατηρούμε ότι τα στοιχεία της κύριας διαγωνίου του μητρώου A (δηλαδή το 3 και το ) είναι κατ απόλυτη τιμή τα μεγαλύτερα στοιχεία της γραμμής που ανήκουν. Αυτό σημαίνει ότι το μητρώο A έχει αυστηρά διαγώνια κυριαρχία κατά γραμμές, επομένως η μέθοδος SOR συγκλίνει για το σύστημα αυτό. Στην συνέχεια, αφού έχουμε αποδείξει ότι η μέθοδος θα συγκλίνει ύστερα από μερικές επαναλήψεις στην λύση του συστήματος, εκτελούμε μερικές επαναλήψεις τις μεθόδου για ω = 0.7 και ύστερα για ω =.3. Για ω = 0.7 παίρνουμε διαδοχικά τις παρακάτω προσεγγιστικές λύσεις: x ().9 =,.768 0.35 x() =,.8888 0.86 x(3) =,.963 0.9854 x(4) =.0057 Για ω =.3 παίρνουμε διαδοχικά τις παρακάτω προσεγγιστικές λύσεις: x () = 0.000 3.350, x() = 3.495 0.64, x(3) = 0.858.94, x(4) =.8769 0.06 x (5).8769 =,.330 0.06 x(6) =,.57.77 x(7) =,.609 0.453 x(8) =.484 x (9).986 =,.770 0.6804 x(0) =,.8669 0.835 x() =,.06.44 x() = 0.89 Παρατηρούμε ότι και στις δύο περιπτώσεις η μέθοδος συγκλίνει στην λύση του συστήματος (, ), αλλά στην πρώτη περίπτωση αυτό επιτυγχάνεται σε πολύ λιγότερες επαναλήψεις σε σχέση με την δεύτερη..5.4 Εφαρμογή της γραμμικής μεθόδου SOR Στην συνέχεια παρουσιάζουμε μία αριθμητική εφαρμογή της μεθόδου. Παράδειγμα.5.. Θα εφαρμόσουμε τη μέθοδο Gauss-Seidel για να επιλύσουμε το

58 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σχήμα.4: Γεωμετρική ερμηνεία της γραμμικής sor για ω = 0.7 (αριστερά) και ω =.3 (δεξιά) παρακάτω σύστημα γραμμικών εξισώσεων: 3x + x = 5 x + x 3 = 3 x + x 3 = 3 χρησιμοποιώντας ως αρχική εκτίμηση της λύσης την 0 x (0) = 0 0 με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005. Λύση: Λύνουμε την πρώτη εξίσωση ως προς x, την δεύτερη ως προς x και την τρίτη ως προς x 3 : x = 3 (5 x ) x = (3 x 3) x 3 = ( 3 x )

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 59 Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου SOR: x (k+) = ω 3 (5 x ) + ( ω)x (k) x (k+) = ω (3 x 3) + ( ω)x (k) x (k+) 3 = ω ( 3 x ) + ( ω)x (k) 3 Αν στις παραπάνω σχέσεις θέσουμε την αρχική προσέγγιση: x (0) 0 x (0) = x (0) = 0 x (0) 3 0 και επιλέξουμε τυχαία κάποια τιμή για το ω (0, ), έστω για παράδειγμα ω = 0.8, μπορούμε να πάρουμε διαδοχικά τις παρακάτω προσεγγίσεις της λύσης:.3333 0.96 0.8996 0.9506 x () =., x () =.733, x (3) =.0549, x (4) = 0.999 0.6667 0.9493.03.058 x (5) = 0.9907 0.9895.0089, x (6) =.0037 0.9943.0003, x (7) =.0038 0.9888 0.9986 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (7) x (6) 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: x = Πράγματι, αν αντικαταστήσουμε την λύση αυτή στο σύστημα, θα δούμε ότι το επαληθεύει, δηλαδή ότι είναι η ζητούμενη λύση του συστήματος.

60 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ.6 Η Γραμμική Μέθοδος Συζυγών Κλίσεων Οι μέθοδοι των Συζυγών Κλίσεων (Conjugate Gradient) χρησιμοποιούνται για την αντιμετώπιση δύο ειδών προβλημάτων [5, 38, 44]. Το ένα πρόβλημα είναι η επίλυση μη γραμμικών προβλημάτων βελτιστοποίησης χωρίς περιορισμούς, το οποίο θα μελετήσουμε σε επόμενο κεφάλαιο. Το άλλο πρόβλημα είναι η επίλυση συστημάτων γραμμικών εξισώσεων, που είναι το αντικείμενο που μελετάμε στο κεφάλαιο αυτό. Φυσικά, όπως κάθε μέθοδος, έτσι και αυτές των Συζυγών Κλίσεων, παρουσιάζουν κάποια πλεονεκτήματα, με τα σημαντικότερα να επικεντρώνονται στα εξής:. Μπορούν να επιλύσουν τετραγωνικά συστήματα με n αγνώστους σε n βήματα.. Η υλοποίησή τους δεν απαιτεί τον υπολογισμό του Εσσιανού μητρώου. 3. Δεν χρησιμοποιούν αντίστροφα μητρώα και δεν αποθηκεύουν μητρώα διάστασης n n. Στην συνέχεια θα ασχοληθούμε με την γραμμική μέθοδο συζυγών κλίσεων (Linear Conjugate Gradient) ή γραμμική μέθοδο συζευγμένης κατεύθυνσης για την επίλυση ενός γραμμικού συστήματος της μορφής Ax = b. Η μέθοδος αυτή υλοποιήθηκε από τους Hestenes και Stiefel, σαν μία επαναληπτική μέθοδος για την επίλυση μεγάλων γραμμικών συστημάτων, της μορφής Ax = b, με θετικά ορισμένο μητρώο συντελεστών των αγνώστων A. Στην μέθοδο αυτή, και συγκεκριμένα στην σύγκλιση της μεθόδου, αυτή παίζει σημαντικό ρόλο η κατανομή των ιδιοτιμών του μητρώου A. Αυτό έχει ως αποτέλεσμα, οι μετασχηματισμοί στο μητρώο A να μπορούν να βελτιώσουν σημαντικά την ταχύτητα σύγκλισης της μεθόδου. Μια πολύ βασική ιδιότητα των μεθόδων Συζευγμένης Κλίσης είναι η ικανότητά τους να δημιουργούν ένα σύνολο διανυσμάτων με την ιδιότητα της σύζευξης, δηλαδή, ένα σύνολο μη μηδενικών διανυσμάτων {p 0, p,..., p n } τα οποία σε σχέση με το συμμετρικό, θετικά ορισμένο μητρώο A ικανοποιούν την σχέση: p T i Ap j = 0, για κάθε i j Εύκολα αποδεικνύεται, πως κάθε σύνολο που ικανοποιεί την παραπάνω σχέση είναι

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 6 γραμμικά ανεξάρτητο [44]. Στην συνέχεια, θα αναπτύξουμε την γραμμική μέθοδο συζυγών κλίσεων [44], θα παρουσιάσουμε τον αλγόριθμο της μεθόδου σε φυσική γλώσσα καθώς και μία αριθμητική της εφαρμογή..6. Ανάπτυξη της γραμμικής μεθόδου Συζυγών Κλίσεων Δοθέντος ενός συστήματος της μορφής Ax = b, ενός αρχικού σημείου x 0 και ενός συνόλου συζευγμένων διανυσμάτων {p 0, p,..., p n }, ορίζουμε την ποσότητα: r 0 = b Ax 0 και δημιουργούμε την ακολουθία {x k } ως εξής: x k+ = x k + a k p k όπου το a k δίνεται από την σχέση: a k = rt k r k p T k Ap, k = 0,,,... k και το r k δίνεται από την σχέση: r k = r k a k Ap k, k =,,... Στην συνέχεια παραθέτουμε ένα θεώρημα [44] που αφορά την σύγκλιση της μεθόδου: Θεώρημα.6.. Για κάθε x 0 R n η ακολουθία {x k } που δημιουργείται από την αναδρομική σχέση x k+ = x k + a k p k συγκλίνει στην λύση του γραμμικού συστήματος Ax = b το πολύ σε n βήματα. Αυτό που μένει είναι να βρούμε τα συζευγμένα διανύσματα {p 0, p,..., p n } που θα χρησιμοποιήσουμε. Στην πραγματικότητα υπάρχουν πολλοί τρόποι για να αποκτήσουμε διανύσματα με την ιδιότητα αυτή. Ένας τρόπος είναι να υπολογίσουμε τα ιδιοδιανύσματα του μητρώου A, όμως στην περίπτωση που το μητρώο είναι πολύ μεγάλο απαιτεί κοστοβόρους υπολογισμούς. Οι Hestenes-Stiefel πρότειναν [44] τον παρακάτω επαναληπτικό τύπο για τον υπολογισμό των {p 0, p,..., p n }:

6 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ϐ k = (r T k r k)/(r T k r k ) p k = r k + ϐ k p k για k =,,... όπου r k = r k + ϐ k p k και p 0 = r 0 = b Ax 0. Η μέθοδος αυτή για να επιλύσει το γραμμικό σύστημα Ax = b υπολογίζει το ελάχιστο της συνάρτησης f ( x ) = x T A x b T x + c δηλαδή της τετραγωνικής μορφής του x. Για τον λόγο αυτό, θα αναλυθεί περισσότερο σε επόμενο κεφάλαιο, στο οποίο ασχολούμαστε με την ελαχιστοποίηση συναρτήσεων..6. Αλγόριθμος της γραμμικής μεθόδου Συζυγών Κλίσεων Στην συνέχεια θα δώσουμε τον αλγόριθμο της γραμμικής μεθόδου Συζυγών Κλίσεων σε φυσική γλώσσα και θα χρησιμοποιήσουμε τα συζευγμένα διανύσματα που πρότειναν οι Hestens - Stiefel: Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων A: Το τετραγωνικό μητρώο A b: Το διάνυσμα-στήλη b x 0 : Την αρχική προσέγγιση της λύσης του συστήματος

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 63 Αλγόριθμος 3 Γραμμικής Μεθόδου Συζυγών Κλίσεων ΒΗΜΑ Είσοδος δεδομένων: {n, A, b, x (0) } ΒΗΜΑ Θέτουμε k = 0 και υπολογίζουμε την αρχική ποσότητα: r (k) = b Ax (k), την αρχική τιμή του p (k) = r (k) ΒΗΜΑ 3 Όσο k n επανάλαβε το Βήμα 4, Αλλιώς (πήγαινε στο Βήμα 5) ΒΗΜΑ 4 Υπολόγισε (. το a (k) r (k)) T r (k) = ( p (k) ) T Ap (k). την νέα προσέγγιση της λύσης: x (k+) = x (k) + a (k) p (k) 3. την νέα τιμή της r (k+) = r (k) a (k) Ap (k) ( 4. τον συντελεστή: ϐ (k+) r (k+)) T r (k+) = ( r (k) )T και r (k) 5. το νέο συζευγμένο διάνυσμα: p (k+) = r (k+) + ϐ (k+) p (k) και θέσε k = k + ΒΗΜΑ 5 Έξοδος αποτελεσμάτων: {k, x k } Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x k : Την λύση του γραμμικού συστήματος που βρήκε η μέθοδος Στην συνέχεια, δίνουμε ένα παράδειγμα εφαρμογής της μεθόδου για την επίλυση ενός γραμμικού συστήματος με δύο εξισώσεις και δύο αγνώστους..6.3 Εφαρμογή της γραμμικής μεθόδου Συζυγών Κλίσεων Παράδειγμα.6.. Θα εφαρμόσουμε τη μέθοδο Συζυγών Κλίσεων για να επιλύσουμε το παρακάτω σύστημα γραμμικών εξισώσεων: 4x + x = x + 3x =

64 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ χρησιμοποιώντας ως αρχική εκτίμηση της λύσης την x (0) = Λύση: Το σύστημα μπορεί να γραφεί με την μορφή μητρώων ως Ax = b όπου 4 A = 3, x = x x, b = η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε το διάνυσμα r 0 σύμφωνα με τον τύπο r 0 = b Ax 0 : r 0 = 4 = 8 + 3 + = 9 = 8 3 5 3 Βήμα : Υπολογίζουμε το συζευγμένο διάνυσμα p 0, το οποίο θα ταυτίζεται με το r 0 καθώς βρισκόμαστε στην πρώτη επανάληψη. (Το p k στις επόμενες επαναλήψεις θα είναι διαφορετικό.) Έτσι, λοιπόν, έχουμε: 8 p 0 = 3 Βήμα 3: Υπολογίζουμε τον συντελεστή a 0 : ( ) 8 8 3 a 0 = rt 0 r 0 3 p T 0 Ap = 0 ( ) 4 8 8 3 3 3 = = 64 + 9 ( 3 3 8 9 ) 8 3 = 73 ( 35 7 ) 8 3 = 73 80 + 5 = 73 33 Βήμα 4: Υπολογίζουμε την πρώτη προσέγγιση της λύσης x : 73 x = x 0 + a 0 p 0 = + 73 8 33 = + 8 33 3 73 3 33 = 0.356 0.3384

ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 65 η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε το διάνυσμα r : r = r 0 a 0 Ap 0 = 8 3 73 33 4 3 8 3 = 73 8 = 73 35 3 33 = 8 35 33 3 73 = 0.80 0.749 33 Βήμα : Υπολογίζουμε την ποσότητα ϐ 0 και έπειτα το συζευγμένο διάνυσμα p. ( ) 0.80 0.80 0.749 ϐ 0 = rt r 0.749 r T 0 r = 0 ( ) = 0.0088 8 8 3 3 Έτσι, υπολογίζουμε το p : p = r + ϐ 0 p 0 = 0.80 0.749 + 0.0088 8 3 = 0.35 0.79 Βήμα 3: Υπολογίζουμε το στοιχείο a : ( ) 0.80 0.80 0.749 a = rt r 0.749 p T Ap = ( ) 4 0.35 0.35 0.79 3 0.79 = 0.4 Βήμα 4: Υπολογίζουμε την δεύτερη προσέγγιση της λύσης x : 0.356 x = x + a p = + 0.3384 0.4 0.35 = 0.79 Έχουμε υπολογίσει τις δύο πρώτες προσεγγίσεις της λύσης: 0.356 x = 0.3384, x 0.0909 = 0.6364 0.0909 0.6364

66 ΚΕΦΑΛΑΙΟ. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Παρατηρούμε ότι η x είναι αρκετά κοντά στην πραγματική λύση του συστήματος: x = 6 0.0909 0.5455 Έτσι, με δύο επαναλήψεις έχουμε βρει μία καλή προσέγγιση της λύσης.

Κεφάλαιο 3 Αριθμητική Επίλυση Μη Γραμμικών Συστημάτων 3. Εισαγωγή Στο κεφάλαιο αυτό θα ασχοληθούμε με την αριθμητική επίλυση συστημάτων μη γραμμικών αλγεβρικών εξισώσεων. Τα συστήματα αυτά είναι εξίσου σημαντικά με τα γραμμικά, αφού τα συναντούμε σε πολλά επιστημονικά προβλήματα. Παρακάτω βλέπουμε ένα απλό παράδειγμα ενός μαθηματικού προβλήματος που για την επίλυσή του χρειάζεται γνώση μη γραμμικών συστημάτων. Παράδειγμα 3... Το εμβαδόν ενός ορθογωνίου είναι 0cm. Αν η μία διάσταση του ορθογωνίου αυξηθεί κατά 3cm, ενώ η άλλη μειωθεί κατά cm, το εμβαδόν του δεν μεταβάλλεται. Να βρεθούν οι διαστάσεις του αρχικού ορθογωνίου. Το πρόβλημα αυτό εκφράζεται από το παρακάτω σύστημα μη γραμμικών εξισώσεων: x x = 0 (x + 3) (x ) = 0 όπου x και x οι διαστάσεις του ορθογωνίου. Η επίλυση αυτού του μη γραμμικού συστήματος μπορεί να πραγματοποιηθεί με την μέθοδο της αντικατάστασης. Παίρνουμε δηλαδή την πιο απλή εξίσωση και την λύνουμε ως προς την μια μεταβλητή (έστω x ) και αντικαθιστούμε την σχέση αυτή στην άλλη εξίσωση. Έτσι, δημιουργούμε μια εξίσωση μίας μεταβλητής (την x ) την οποία και λύνουμε. Κάθε τιμή της x που βρήκαμε επιλύοντας 67

68 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ την εξίσωση, την αντικαθιστούμε στην σχέση που έχουμε λύσει ως προς την μεταβλητή x και βρίσκουμε έτσι ένα ζευγάρι λύσεων (x, x ) το οποίο ικανοποιεί το σύστημα. Έτσι έχουμε λύσει αλγεβρικά το μη γραμμικό σύστημα. Τι γίνεται όμως στην περίπτωση όπου το πλήθος των εξισώσεων και των αγνώστων είναι μεγαλύτερο; Θα μπορούσαμε να επιλύσουμε ένα τέτοιο σύστημα με την μέθοδο της αντικατάστασης και αν ναι σε πόσο χρόνο; Προς απάντηση των ερωτημάτων αυτών, στο κεφάλαιο αυτό θα αναπτύξουμε αριθμητικές μεθόδους, οι οποίες χρησιμοποιούνται για την επίλυση τέτοιου είδους μη γραμμικών συστημάτων. Αρχικά, δίνουμε τον ορισμό [3] του μη γραμμικού συστήματος n εξισώσεων με n αγνώστους. Ορισμός 3... Η γενική μορφή ενός μη γραμμικού συστήματος n εξισώσεων με n αγνώστους x, x,, x n είναι: f (x,..., x n ) = 0 f (x,..., x n ) = 0. f n (x,..., x n ) = 0 η οποία μπορεί να γραφεί και ως ακολούθως (3.) F n (x) = Θ n όπου F n = [f, f,..., f n ] T, x = [x, x,..., x n ] T, και Θ n = [0, 0,..., 0] T. Έτσι, το πρόβλημα επίλυσης ενός μη γραμμικού συστήματος εκφράζεται ως εξής: Ορισμός 3... Δεδομένης της F n = (f, f,...f n ) : D n R R να βρεθεί κάποιο σημείο x D n, τέτοιο ώστε F n (x ) = Θ n, όπου Θ n = (0, 0,..., 0). Στην συνέχεια, θα περιγράψουμε μερικές επαναληπτικές αριθμητικές μεθόδους για την επίλυση του προβλήματος αυτού. Οι μέθοδοι αυτοί ξεκινούν από μια αρχική προσέγγιση της λύσης x (0) και δημιουργούν μία ακολουθία προσεγγίσεων x (), x (),..., η οποία συγκλίνει στην λύση του συστήματος.

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 69 3. Μέθοδος Newton Στην ενότητα αυτή θα παρουσιάσουμε μία μέθοδο που αναπτύχθηκε από τον Isaac Newton [43] για την επίλυση μη γραμμικών εξισώσεων μίας μεταβλητής, αλλά και την επίλυση μη γραμμικών συστημάτων n εξισώσεων με n μεταβλητές. Η μέθοδος αυτή είναι μέχρι και σήμερα από τις πιο γνωστές και ευρέως χρησιμοποιούμενες μεθόδους, διότι καταφέρνει να επιλύσει ένα μη γραμμικό σύστημα, λύνοντας επαναληπτικά κατάλληλα γραμμικά συστήματα. Στην συνέχεια θα παρουσιάσουμε την ανάπτυξη της μεθόδου, θα δούμε μερικές αριθμητικές εφαρμογές της, θα περιγράψουμε την γεωμετρική της ερμηνεία και θα εξετάσουμε την σύγκλισή της. 3.. Ανάπτυξη της μεθόδου Newton Στην παράγραφο αυτή θα παρουσιάσουμε την απόδειξη [3] της μεθόδου του Newton. Αρχικά, θεωρούμε ότι γνωρίζουμε τις προσεγγιστικές λύσεις x (),x (),...,x (k) και θέλουμε να υπολογίσουμε την επόμενη προσεγγιστική λύση: x (k+) = (x (k+), x (k+),..., x (k+) n Ορίζουμε το διάνυσμα s (k) = ( s (k) ) T, s(k),..., s(k) n ως τη διαφορά των δύο διαδοχικών προσεγγίσεων x (k+), x (k), δηλαδή: ) T s (k) = x (k+) x (k) Το s (k) καλείται διόρθωση της προσεγγιστικής λύσης x (k), διότι αν το προσθέσουμε σ αυτήν, προκύπτει η νέα προσεγγιστική λύση x (k+), δηλαδή: x (x+) = x (k) + s (k) ή ισοδύναμα x (k+) x (k+)... = x (k) x (k)... + s (k) s (k)... x (k+) n x (k) n s (k) n

70 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αν θέσουμε F συστήματος, έχουμε: ( x (k+)) = (0, 0,..., 0) T, δηλαδή ότι η k + προσέγγιση είναι η λύση του f (x (k+) ) = 0 f (x (k+) ) = 0. f n (x (k+) ) = 0 ή ισοδύναμα f (x (k) + s (k) ) = 0 f (x (k) + s (k) ) = 0. f n (x (k) + s (k) ) = 0 Αναπτύσσοντας τις f i, i =,,..., n κατά Taylor n μεταβλητών παίρνουμε τις σχέσεις: f (x (k+), x (k+),..., x (k+) n ) = f (x (k) ) + s (k) f (x (k) ) +... + s (k) f (x (k) ) n +... x x n f (x (k+), x (k+),..., x (k+) n ) = f (x (k) ) + s (k) f (x (k) ) +... + s (k) f (x (k) ) n +... x x n. f n (x (k+), x (k+),..., x (k+) n ) = f n (x (k) ) + s (k) f n (x (k) ) +... + s (k) f n (x (k) ) n +... x x n Αν κρατήσουμε τους πρώτους n όρους της σειράς Taylor και εξισώσουμε κάθε ισότητα με το 0, αφού θεωρούμε ότι η x (k+) είναι η λύση του συστήματος, έχουμε: f (x (k+), x (k+),..., x (k+) n ) f (x (k) ) + s (k) f (x (k) ) +... + s (k) f (x (k) ) n = 0 x x n f (x (k+), x (k+),..., x (k+) n ) f (x (k) ) + s (k) f (x (k) ) +... + s (k) f (x (k) ) n = 0 x x n. f n (x (k+), x (k+),..., x (k+) n ) f n (x (k) ) + s (k) f n (x (k) ) +... + s (k) f n (x (k) ) n = 0 x x n ή ισοδύναμα

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 7 s (k) f (x (k) ) x s (k) f (x (k) ) x s (k) f n (x (k) ) x +... + s (k) f (x (k) ) n +... + s (k) n. +... + s (k) n = f (x (k) ) x n f (x (k) ) = f (x (k) ) x n f n (x (k) ) x n = f n (x (k) ) Στις σχέσεις αυτές, αφού γνωρίζουμε τις συνιστώσες ( x (k) i, i =,..., n, γνωρίζουμε και τις συνιστώσες f i (x (k)) f i x (k)), i =,..., n και, i =,..., n, j =,..., n. Οι μόνες x j συνιστώσες που είναι άγνωστες είναι οι s (k) i, i =,..., n. Έχουμε δηλαδή δημιουργήσει ένα γραμμικό σύστημα n εξισώσεων με n αγνώστους, το οποίο μπορούμε να λύσουμε και να υπολογίσουμε τις συνιστώσες s (k) i, i =,..., n. Το σύστημα αυτό μπορεί να γραφεί και στην μορφή: J Fn (x (k) ) s (k) = F n (x (k) ), k = 0,,,... (3.) f (x (k) ) f (x (k) )... x x n όπου J Fn (x (k) ) =....... το Ιακωβιανό Μητρώο της F n. f n (x (k) ) f n (x (k) )... x x n Επιλύοντας το παραπάνω γραμμικό σύστημα (3.) ως προς s (k) = (s (k),..., s(k) n ) παίρνουμε την διόρθωση s (k), η οποία αν προστεθεί στην προσέγγιση x (k) μας δίνει την νέα προσέγγιση της λύσης x (k+), δηλαδή: x (k+) = x (k) + s (k) (3.3) Οι εξισώσεις (3.) και (3.3) αποτελούν το επαναληπτικό σχήμα της μεθόδου Newton, το οποίο μπορεί να γραφτεί και ως ακολούθως: x (k+) = x (k) ( J Fn ( x (k))) Fn (x (k)), k = 0,,,... (3.4) όπου (J Fn ( x (k))) : το αντίστροφο μητρώο του Ιακωβιανού Πίνακα Παρατήρηση: Για τον υπολογισμό της x (k+) προσέγγισης με τον επαναληπτικό τύπο (3.4) απαιτείται ο υπολογισμός του αντίστροφου μητρώου ( J Fn (x (k))). Αυτό συνεπάγεται ότι η ορίζουσα του μητρώου ( J Fn (x (k))) πρέπει να είναι μη μηδενική.

7 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3.. Κριτήρια Τερματισμού Η μέθοδος Newton είναι επαναληπτική μέθοδος, η οποία όπως αναφέραμε σε κάθε επανάληψη υπολογίζει μία προσεγγιστική λύση του δοθέντος συστήματος. Αυτές οι επαναλήψεις όμως, πρέπει κάποια στιγμή να σταματήσουν, ώστε να τερματίσει ο αλγόριθμος και να μας επιστρέψει κάποια λύση. Για να το πετύχουμε αυτό χρησιμοποιούμε κάποια κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη η οποία μας δείχνει ότι έχει υπολογιστεί η λύση του συστήματος με την ακρίβεια που θέλουμε. Μερικά από τα κριτήρια τερματισμού [3] που χρησιμοποιούνται ευρέως είναι:. x (k+) x (k) ε, δηλαδή δύο διαδοχικές προσεγγίσεις της λύσης να βρίσκονται πολύ κοντά μεταξύ τους.. Fn (x (k+) ) ε, δηλαδή η τιμή της συνάρτησης στην νέα προσέγγιση x (k+) να είναι πολύ κοντά στο μηδέν. 3. s (k+) s (k) ε, δηλαδή δύο διαδοχικές διορθώσεις προσεγγίσεων της λύσης να βρίσκονται πολύ κοντά μεταξύ τους. x (k+) x (k) 4. x (k) ε, δηλαδή δύο διαδοχικές προσεγγίσεις της λύσης να βρίσκονται πολύ κοντά μεταξύ τους. 5. k < MIT, δηλαδή το μέγιστο πλήθος των επαναλήψεων (ΜΙΤ) που θα επιτρέψουμε στην μέθοδο να κάνει, να μην ξεπερνάει κάποιο άνω όριο. όπου το ε είναι ένας πολύ μικρός θετικός αριθμός. Τα κριτήρια αυτά, δυστυχώς, δεν λειτουργούν πάντα σωστά. Μπορεί δηλαδή να ικανοποιηθεί κάποιο κριτήριο (που σημαίνει ότι ο αλγόριθμος θα τερματίσει και θα μας επιστρέψει κάποια λύση), ενώ στην πραγματικότητα δεν συγκλίνει. Έτσι, πολλές φορές συνδυάζουμε δύο ή και περισσότερα κριτήρια, ώστε να έχουμε μεγαλύτερη επιτυχία. 3..3 Γεωμετρική Ερμηνεία της μεθόδου Η γεωμετρική ερμηνεία της μεθόδου για n αγνώστους και n μεταβλητές δεν μπορεί να αποτυπωθεί σε κάποιο σχήμα. Για τον λόγο αυτό θα παρουσιάσουμε:

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 73. την γεωμετρική ερμηνεία της μεθόδου για n = (όπου η μέθοδος καλείται Newton- Raphson [3] και υπολογίζει την λύση μιας εξίσωσης μίας μεταβλητής). την γεωμετρική ερμηνεία της μεθόδου για n = και στην συνέχεια θα βγάλουμε τα συμπεράσματά μας για την γενική περίπτωση της μεθόδου Newton. Περίπτωση : n = Στην περίπτωση που έχουμε μία συνάρτηση f (x) μίας μεταβλητής, η κάθε νέα προσέγγιση της λύσης της x k+ προκύπτει από την τομή του άξονα x x με την ευθεία η οποία εφάπτεται στην καμπύλη της συνάρτησης f στο σημείο f (x k ). Πιο συγκεκριμένα, όπως φαίνεται στο σχήμα (3.) για την προσέγγιση της x, φέρνουμε την εφαπτόμενη της καμπύλης f στο σημείο f (x 0 ) και εκεί που τέμνει τον άξονα x x είναι το x. Ομοίως, φέρνουμε την εφαπτόμενη της καμπύλης f στο σημείο f (x ) και εκεί που τέμνει τον άξονα x x είναι το x, κ.ο.κ. Σχήμα 3.: Γεωμετρική ερμηνεία της μεθόδου Newton-Raphson για n = Περίπτωση : n = Στην περίπτωση που έχουμε δύο συναρτήσεις f (x, y), f (x, y) δύο μεταβλητών, δεν έ- χουμε μία ευθεία στον χώρο R που εφάπτεται στην καμπύλη f (x) στο σημείο f (x k ),

74 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σχήμα 3.: Γεωμετρική ερμηνεία της μεθόδου Newton για n = αλλά επίπεδα στον χώρο R 3 που εφάπτονται στις επιφάνειες f (x, y), f (x, y) στα σημεία (x, y, f (x, y)), (x, y, f (x, y)) αντίστοιχα. Έτσι, η νέα προσέγγιση της λύσης είναι το

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 75 σημείο τομής των αυτών επιπέδων με το επίπεδο xy. Στο σχήμα (3.) βλέπουμε αρχικά τις δύο συναρτήσεις f, f και το σημείο με κίτρινο χρώμα που εκφράζει την λύση συστήματος, δηλαδή το κοινό σημείο της τομής των δύο επιφανειών με το επίπεδο xy. Δίπλα, βλέπουμε το αρχικό σημείο x0 = (x 0, y 0 ) που δίνουμε στην μέθοδο Newton, και τα σημεία (x 0, y 0, f (x0)), (x 0, y 0, f (x0)). Από κάτω βλέπουμε με κόκκινο χρώμα τα εφαπτόμενα επίπεδα C, C στις επιφάνειες f, f στα σημεία (x 0, y 0, f (x0)), (x 0, y 0, f (x0)) αντίστοιχα. Δίπλα, βλέπουμε την πρώτη προσεγγιστική λύση της μεθόδου x με κόκκινο χρώμα, που προκύπτει από το κοινό σημείο της τομής των δύο επιπέδων C, C με το επίπεδο xy. Στην τελευταία εικόνα φαίνεται συνοπτικά η γεωμετρική ερμηνεία της μεθόδου Newton για n =. Γενικό συμπέρασμα: Στην περίπτωση όπου το πλήθος των εξισώσεων και των α- γνώστων είναι n, δεν έχουμε μία ευθεία στον χώρο R που εφάπτεται στην καμπύλη f (x) στο σημείο f (x k ), αλλά n επίπεδα στον χώρο R n+ που εφάπτονται στις επιφάνειες f i (x), i =,,..., n στα σημεία f i (x (k), x(k),..., x(k) n ), i =,,..., n αντίστοιχα. Η νέα προσέγγιση της λύσης είναι το σημείο τομής των n αυτών επιπέδων με το επίπεδο x n+. 3..4 Αλγόριθμος μεθόδου Newton Στην συνέχεια θα δώσουμε τον αλγόριθμο [3] της μεθόδου Newton σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων F n : Την συνάρτηση F n = (f, f,..., f n ) J Fn : Το Ιακωβιανό μητρώο του F n x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού). ε : Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). ε : Μία ακόμα τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (τρίτο κριτήριο τερματισμού).

76 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αλγόριθμος 4 Μη-γραμμικής Newton ΒΗΜΑ Είσοδος δεδομένων: {n, F n, x (0), MIT, ε} ΒΗΜΑ Θέσε k = και x ( ) = μία τυχαία τιμή, διάφορη του x (0), ώστε να περάσει από την συνθήκη στο Βήμα 3 ΒΗΜΑ 3 Όσο (k < MIT και Fn (x (k) ) ε και x (k+) x (k) ε ) επανάλαβε τα Βήματα 4,5, αλλιώς (πήγαινε στο Βήμα 6) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Λύσε J Fn (x (k) )s (k) = F n (x (k) ) ως προς s (k) και θέσε x (k+) = x (k) + s (k) ΒΗΜΑ 6 Έξοδος αποτελεσμάτων: {k, x (k), F n (x (k) )} Ο αλγόριθμος δίνει στην έξοδό του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x (k) : Την λύση που βρήκε η μέθοδος Newton F n (x (k) ): Την τιμή που έχει η συνάρτηση F n στην λύση που βρέθηκε (η οποία θα είναι πάρα πολύ κοντά στο μηδέν) 3..5 Εφαρμογές Στην συνέχεια θα παρουσιάσουμε μία αριθμητική εφαρμογή της μεθόδου για την καλύτερη κατανόηση του τρόπου λειτουργίας της μεθόδου. Παράδειγμα 3... Να εφαρμοστεί η μέθοδος Newton για να προσεγγιστεί μία λύση του συστήματος f (x, x ) = 3x + x x + 3x 8 f (x, x ) = 5x + x 6x με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005. Δίνεται η αρχική εκτίμηση: x 0 = (, 0) T. Λύση: Η συνάρτηση σε μορφή μητρώου είναι: f F (x) = = 3x + x x + 3x 8 5x + x 6x f

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 77 και το Ιακωβιανό μητρώο J F (x) της συνάρτησης υπολογίζεται ως ακολούθως: f f (3x J F (x) = x x f f = x + x x + 3x 8) (3x x + x x + 3x 8) (5x x x x + x 6x ) (5x x + x 6x ) ή ισοδύναμα J F (x) = 6x + x x + 6x 0x x 6 η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την τιμή της συνάρτησης F στο x (0) : F (x (0) (3x (0) ) = ) + x (0) x(0) + 3(x (0) ) 8 (5x (0) ) + (x (0) ) 6x (0) = 5 Βήμα : Υπολογίζουμε την τιμή του Ιακωβιανού μητρώου στο x (0), J F (x (0) ): J F (x (0) ) = 6x (0) + x (0) x (0) + 6x (0) 0x (0) x (0) 6 = 4 0 0 4 Βήμα 3: Χρησιμοποιούμε τον τύπο (3.) για να υπολογίσουμε την διόρθωση s (0) : J F (x (0) ) s (0) = F (x (0) ) 4 0 0 4 s (0) s (0) = 5 Υπολογίζουμε την ορίζουσα του μητρώου J F (x (0) ) για να εξετάσουμε αν αντιστρέφεται: det ( J F (x (0) ) ) = 4 0 = 56 0 0 4 Άρα, το μητρώο αντιστρέφεται. Έτσι, για τον υπολογισμό της διόρθωσης έχουμε: s (0) s (0) = 4 0 0 4 5

78 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Υπολογίζουμε το αντίστροφο μητρώο ( J F (x (0) ) ) με χρήση του τύπου: A = a c b d = det(a) d c b a Έχουμε: ( J F (x (0) ) ) = 4 0 0 4 = J F (x (0) ) 4 0 0 4 = 56 4 0 0 4 Έτσι, για τον υπολογισμό της διόρθωσης s (0) έχουμε: s (0) s (0) = 56 4 0 0 4 5 = 0, 7578 0, 039 Βήμα 4: Χρησιμοποιούμε τον επαναληπτικό τύπο της μεθόδου Newton (3.3) για να υπολογίσουμε την πρώτη προσέγγιση της λύσης x () : x () = x (0) + s (0) x () x () = x (0) x (0) + s (0) s (0) = + 0, 7578 =, 4 0 0, 039 0, 9606 Συνεχίζοντας τις επαναλήψεις με τον ίδιο τρόπο βρίσκουμε και τις επόμενες προσεγγίσεις της λύσης: x (), 00 = 0.9946,.000 x(3) = 0.9999 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (3) x () 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: x = 0 Πράγματι, αν αντικαταστήσουμε την λύση αυτή στο σύστημα, θα δούμε ότι το επαληθεύει, δηλαδή ότι είναι η ζητούμενη λύση του συστήματος.

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 79 3.3 Μέθοδος Broyden Στην ενότητα αυτή θα παρουσιάσουμε μια μέθοδο που αναπτύχθηκε από τον Charles Broyden για την επίλυση μη γραμμικών συστημάτων n εξισώσεων με n μεταβλητές. Η μέθοδος αυτή, όπως και η μέθοδος του Newton, καταφέρνει να επιλύσει ένα μη γραμμικό σύστημα, λύνοντας επαναληπτικά κατάλληλα γραμμικά συστήματα. Η βασική διαφορά της από την μέθοδο του Newton είναι ότι δεν υπολογίζει σε κάθε επανάληψη το Ιακωβιανό μητρώο, αλλά χρησιμοποιεί ένα άλλο μητρώο το οποίο υπολογίζει επαναληπτικά. Λόγω αυτής της διαφοράς, η Broyden κάνει λιγότερες πράξεις από την Newton σε κάθε επανάληψη, αλλά συγκλίνει και πιο αργά από αυτήν. Στην συνέχεια, θα παρουσιάσουμε την ανάπτυξη της μεθόδου του Broyden και τον αλγόριθμό της, θα περιγράψουμε την γεωμετρική της ερμηνεία, θα εξετάσουμε την σύγκλισή της και θα δώσουμε ένα αριθμητικό παράδειγμα εφαρμογής της. 3.3. Ανάπτυξη της μεθόδου Broyden Στην παράγραφο αυτή παρουσιάζουμε την απόδειξη του επαναληπτικού σχήματος της μεθόδου του Broyden [3, 8, 30, 3]. Σύμφωνα με το ανάπτυγμα Taylor για μία συνάρτηση πολλών μεταβλητών, θεωρούμε το πρότυπο: L k (x) = F n (x (k) ) + B k (x x (k) ), B k R n n (3.5) το οποίο για κάθε B k R n n πληροί την σχέση: L k (x (k) ) = F n (x (k) ) Η μέθοδος Newton είναι υποπερίπτωση της σχέσης (3.5). Απόδειξη: Αν στο πρότυπο L k (x) θέσουμε B k = J Fn (x (k) ) (δηλαδή το Ιακωβιανό μητρώο της F n ) παίρνουμε: L k (x) = F n (x (k) ) + J Fn (x (k) )(x x (k) )

80 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Θέτοντας επίσης όπου x = x (k+) παίρνουμε L k (x (k+) ) = F n (x (k) ) + J Fn (x (k) )(x (k+) x (k) ) και θεωρώντας L k (x (k+) ) = F n (x (k+) ) παίρνουμε: F n (x (k+) ) = F n (x (k) ) + J Fn (x (k) )(x (k+) x (k) ) Αν αντικαταστήσουμε το F n (x (k+) ) = Θ n = (0,..., 0) T (επειδή θέλουμε η νέα προσέγγιση της λύσης να είναι η πραγματική λύση της εξίσωσης) έχουμε: 0 = F n (x (k) ) + J Fn (x (k) )(x (k+) x (k) ) Πολλαπλασιάζοντας από αριστερά την σχέση με το αντίστροφο μητρώο ( J Fn (x (k) ) ) παίρνουμε: 0 = ( J Fn (x (k) ) ) Fn (x (k) ) + (x (k+) x (k) ) ή ισοδύναμα x (k+) = x (k) ( J Fn (x (k) ) ) Fn (x (k) ) που είναι το επαναληπτικό σχήμα της μεθόδου Newton για συστήματα n εξισώσεων με n μεταβλητές. Ο υπολογισμός του Ιακωβιανού μητρώου J Fn σε κάθε επανάληψη, απαιτεί μεγάλο υπολογιστικό κόστος. Η μέθοδος Broyden υπολογίζει σε κάθε επανάληψη ένα μητρώο B k, το οποίο δεν απαιτεί το ίδιο υπολογιστικό κόστος με το J Fn. Για να σχηματίσουμε την μέθοδο Broyden, απαιτούμε το πρότυπο (3.5) να πληροί την παρακάτω σχέση: L k (x (k+) ) = F n (x (k+) ) Αν θέσουμε στην (3.5), όπου x = x (k+) παίρνουμε: L k (x (k+) ) = F n (x (k) ) + B k (x (k+) x (k) ) ή ισοδύναμα F n (x (k+) ) = F n (x (k) ) + B k (x (k+) x (k) )

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 8 Θεωρούμε ότι F n (x (k+) ) = Θ n δηλαδή η νέα προσεγγιστική τιμή της λύσης είναι η ακριβής λύση του συστήματος, οπότε έχουμε: Θ n = F n (x (k) ) + B k (x (k+) x (k) ) (3.6) Ορίζουμε την διόρθωση: Οπότε έχουμε ισοδύναμα: ή ισοδύναμα: s (k) = x (k+) x (k) Θ n = F n (x (k) ) + B k s (k) B k s (k) = F n (x (k) ) Έτσι, προκύπτει το επαναληπτικό σχήμα της μεθόδου Broyden: B k s (k) = F n (x (k) ) x (k+) = x (k) + s (k), k = 0,,,... (3.7) Για τον υπολογισμό του μητρώου B k, απαιτούμε το πρότυπο (3.5) να πληροί την παρακάτω σχέση: L k (x (k ) ) = F n (x (k ) ) Αν θέσουμε στην (3.5), όπου x = x (k+) παίρνουμε: L k (x (k ) ) = F n (x (k) ) + B k (x (k ) x (k) ) ή ισοδύναμα F n (x (k ) ) = F n (x (k) ) + B k (x (k ) x (k) ) Η σχέση γράφεται ισοδύναμα ως: B k (x (k ) x (k) ) = F n (x (k ) ) F n (x (k) ) ή B k (x (k) x (k ) ) = F n (x (k) ) F n (x (k ) )

8 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αν θέσουμε k = k + παίρνουμε: B k+ (x (k+) x (k) ) = F n (x (k+) ) F n (x (k) ) Η σχέση αυτή λέγεται εξίσωση της τέμνουσας για συναρτήσεις πολλών μεταβλητών (ή συνθήκη Quasi - Newton). Από την εξίσωση της τέμνουσας, που στην πραγματικότητα είναι ένα σύστημα n εξισώσεων, μπορούμε να υπολογίσουμε τα n στοιχεία του μητρώου B k+. Επειδή, ό- μως, τα άγνωστα στοιχεία είναι πολύ περισσότερα από τις εξισώσεις, υπάρχουν άπειρες λύσεις για το σύστημα αυτό. Επομένως, για το μητρώο B k+ υπάρχουν άπειρες επιλογές. Μια καλή επιλογή είναι να προσπαθήσουμε να τροποποιήσουμε όσο το δυνατόν λιγότερο το μητρώο B k, έτσι ώστε για κάποιο διάνυσμα t με την ιδιότητα: (x (k+) x (k) ) T t = 0 (3.8) να ισχύει η παρακάτω σχέση: B k+ t = B k t η οποία μπορεί να γραφεί ισοδύναμα ως B k+ t B k t = 0 ή (B k+ B k ) t = 0 (3.9) Από τις σχέσεις (3.8) και (3.9) προκύπτει ότι υπάρχει κάποιο διάνυσμα u R για το οποίο ισχύει: B k+ B k = u (x (k+) x (k) ) T (3.0) Το διάνυσμα αυτό υπολογίστηκε από τον Broyden ώστε rank (B k+ B k ) = : u = y(k) B k s (k) (s (k) ) T s (k) (3.) όπου y (k) = ( F n (x (k+) ) F n (x (k) ) ) και s (k) = ( x (k+) x (k)) Αν αντικαταστήσουμε την τιμή του u στην (3.0), καταλήγουμε στο συμπέρασμα ότι η

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 83 μέθοδος του Broyden υπολογίζει το μητρώο B k+ σύμφωνα με τον τύπο: Αν θέσουμε s (k) = x (k+) x (k) παίρνουμε ή ισοδύναμα Με χρήση της σχέσης (3.6) έχουμε: B k+ = B k + y(k) B k s (k) (s (k) ) T s (k) (x(k+) x (k) ) T B k+ = B k + y(k) B k s (k) (s (k) ) T s (k) (s(k) ) T B k+ = B k + (y(k) B k s (k) )(s (k) ) T (s (k) ) T s (k) y (k) B k s (k) = (y (k) + F n (x (k) ) = F n (x (k+) F n (x (k) ) + F n (x (k) ) = F n (x (k+) ) Οπότε αντικαθιστώντας το (y (k) B k s (k) ) με F n (x (k+) ) παίρνουμε: B k+ = B k + F n(x (k+) )(s (k) ) T (s (k) ) T s (k) (3.) Έτσι, το επαναληπτικό σχήμα της μεθόδου Broyden είναι:. Λύνουμε B k s (k) = F n (x (k) ) ως προς s (k). x (k+) = x (k) + s (k) 3. B k+ = B k + F n(x (k+) )(s (k) ) T (s (k) ) T s (k), k = 0,,,... (3.3) 3.3. Κριτήρια Τερματισμού Η μέθοδος του Broyden, όπως και του Newton, χρησιμοποιεί κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο ύστερα από κάποιες επαναλήψεις. Τα κριτήρια αυτά είναι τα ίδια με της μεθόδου του Newton. 3.3.3 Αλγόριθμος μεθόδου Broyden Στην συνέχεια, θα δώσουμε έναν αλγόριθμο της μεθόδου Broyden σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα:

84 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ n: Το πλήθος των εξισώσεων και των αγνώστων F n : Την συνάρτηση F n = (f, f,..., f n ) B 0 : Μία αρχική τιμή για το μητρώο B k, οποία συνήθως είναι η τιμή του Ιακωβιανού μητρώου στο x (0), δηλαδή η J Fn (x (0) ) x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (τρίτο κριτήριο τερματισμού). ε : Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). ε : Μία ακόμα τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (τρίτο κριτήριο τερματισμού). Αλγόριθμος 5 Μη-γραμμικής Broyden ΒΗΜΑ Είσοδος δεδομένων: {n, F n, B 0, x (0), MIT, ε, ε } ΒΗΜΑ Θέσε k = και x ( ) = μία τυχαία τιμή, διάφορη του x (0), ώστε να περάσει από την συνθήκη στο Βήμα 3 ΒΗΜΑ 3 Όσο (k < MIT και Fn (x (k) ) ε και x (k+) x (k) ε ) επανάλαβε τα Βήματα 4,5,6,7, αλλιώς (πήγαινε στο Βήμα 8) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Λύσε B k s (k) = F n (x (k) ) ως προς s (k) ΒΗΜΑ 6 Θέσε x (k+) = x (k) + s (k) ΒΗΜΑ 7 Θέσε B k+ = B k + F n(x (k+) )(s (k) ) T (s (k) ) T s (k) ΒΗΜΑ 8 Έξοδος αποτελεσμάτων: {k, x (k), F n (x (k) )} Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε.

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 85 x (k) : Την λύση που βρήκε η μέθοδος Broyden F n (x (k) ): Την τιμή που έχει η συνάρτηση F n στην λύση που βρέθηκε (η οποία θα είναι πάρα πολύ κοντά στο μηδέν) 3.3.4 Εφαρμογή Στην συνέχεια, θα δούμε ένα παράδειγμα για την καλύτερη κατανόηση του τρόπου λειτουργίας της μεθόδου. Παράδειγμα 3.3.. Να εφαρμοστεί η μέθοδος Broyden για να προσεγγιστεί μία λύση του συστήματος f (x, x ) = 3x + x x + 3x 8 f (x, x ) = 5x + x 6x με ακρίβεια δύο δεκαδικών ψηφίων, δηλαδή e = 0.5 0 = 0.005. Δίνεται η αρχική εκτίμηση: x 0 = (, 0) T. Λύση: Η συνάρτηση σε μορφή μητρώου είναι: f F (x) = = 3x + x x + 3x 8 f 5x + x 6x και το Ιακωβιανό μητρώο J F (x) της συνάρτησης υπολογίζεται ως ακολούθως: f f (3x J F (x) = x x f f = x + x x + 3x 8) (3x x + x x + 3x 8) (5x x x x + x 6x ) (5x x + x 6x ) ή ισοδύναμα J F (x) = 6x + x x + 6x 0x x 6 η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την τιμή της συνάρτησης F στο x (0) : F (x (0) (3x (0) ) = ) + x (0) x(0) + 3(x (0) ) 8 (5x (0) ) + (x (0) ) 6x (0) = 5

86 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Βήμα : Υπολογίζουμε την τιμή του Ιακωβιανού μητρώου στο x (0), J F (x (0) ): J F (x (0) ) = 6x (0) + x (0) x (0) + 6x (0) 0x (0) x (0) 6 = 4 0 0 4 Βήμα : Υπολογίζουμε την τιμή του μητρώου B k. Επειδή βρισκόμαστε στην πρώτη επανάληψη δίνουμε στο B 0 την τιμή του Ιακωβιανού μητρώου στο x (0), δηλαδή B 0 = J F (x (0) ): B 0 = J F (x (0) 6x (0) + x (0) x (0) + 6x (0) ) = 0x (0) x (0) = 4 0 6 0 4 Βήμα 3: Υπολογίζουμε την διόρθωση s (0) : B 0 s (0) = F (x (0) ) 4 0 s (0) 0 4 s (0) = 5 Υπολογίζουμε την ορίζουσα του μητρώου B 0 για να εξετάσουμε αν αντιστρέφεται: det (B 0 ) = 4 0 = 56 0 0 4 Άρα, το μητρώο αντιστρέφεται. Έτσι, για τον υπολογισμό της διόρθωσης έχουμε: s (0) s (0) = 4 0 0 4 5 Υπολογίζουμε το αντίστροφο μητρώο (B 0 ) με χρήση του τύπου: A = a c b d = det(a) d c b a Έχουμε: (B 0 ) = 4 0 0 4 = B 0 4 0 0 4 = 56 4 0 0 4

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 87 Έτσι, για τον υπολογισμό της διόρθωσης s (0) έχουμε: s 0 s 0 = 56 4 0 0 4 5 = 0, 7578 0, 039 Βήμα 4: Χρησιμοποιούμε τον επαναληπτικό τύπο της μεθόδου Broyden για να υπολογίσουμε την πρώτη προσέγγιση της λύσης x () : x () x () η ΕΠΑΝΑΛΗΨΗ = x (0) x (0) x () = x (0) + s (0) + s (0) s (0) = + 0, 7578 = 0 0, 039 Βήμα : Υπολογίζουμε την τιμή της συνάρτησης F στο x () : F (x (), 7866 ) =, 879, 4 0, 9606 Βήμα : Υπολογίζουμε την τιμή του μητρώου B k σύμφωνα με τον τύπο (3.): B = B 0 + F (x () )(s (0) ) T (s (0) ) T s (0) B = = =, 7866 ( ) 0, 7578 0, 039 4 0 +, 879 0 4 ( ) 0, 7578 0, 7578 0, 039 0, 039, 3539 0, 0698 4 0 +, 77 0, 0 4 0, 5758, 6486 9, 8788 6, 90 4, 949

88 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Βήμα 3: Υπολογίζουμε την διόρθωση s () : B s () = F (x () ), 6486 9, 8788 s () 6, 90 4, 949 s () =, 7866, 879 Υπολογίζουμε την ορίζουσα του μητρώου B για να εξετάσουμε αν αντιστρέφεται: det (B ) =, 6486 9, 8788 = 09, 0888 0 6, 90 4, 949 Άρα, το μητρώο αντιστρέφεται. Έτσι, για τον υπολογισμό της διόρθωσης έχουμε: s () s () =, 6486 9, 8788 6, 90 4, 949, 7866, 879 = 0, 76 0, 05 Βήμα 4: Χρησιμοποιούμε τον επαναληπτικό τύπο της μεθόδου Broyden για να υπολογίσουμε την πρώτη προσέγγιση της λύσης x () : x () x () = x () x () + s () s () x () = x () + s () =, 4 + 0, 76 =, 0706 0, 9609 0, 05 0, 984 Συνεχίζοντας με τον ίδιο τρόπο τις επαναλήψεις της μεθόδου παίρνουμε τις παρακάτω προσεγγιστικές λύσεις: x (3), 006 =,, 000 0, 997 x(4) = 0, 9998 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (4) x (3) 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: x =

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 89 3.4 Σύγκριση των μεθόδων Newton - Broyden Η μέθοδος Broyden, σε αντίθεση με την Newton, δεν υπολογίζει σε κάθε επανάληψη τις μερικές παραγώγους που απαιτούνται για τον υπολογισμό του Ιακωβιανού μητρώου. Αυτό έχει ως αποτέλεσμα η Broyden να υπερέχει της Newton σε υπολογιστικό κόστος, αλλά να υστερεί αυτής στην ταχύτητα σύγκλισης. Παρακάτω βλέπουμε το πλήθος των συναρτησιακών υπολογισμών που εκτελεί η κάθε μέθοδος ύστερα από k το πλήθος επαναλήψεις: Newton: (n + n) k Broyden: n + n k Το n έχει να κάνει με τον υπολογισμό του Ιακωβιανού μητρώου, διότι αν το σύστημα έχει n εξισώσεις με n αγνώστους, τότε το Ιακωβιανό μητρώο έχει n στοιχεία. Η Newton υπολογίζει το Ιακωβιανό μητρώο σε κάθε επανάληψη (γι αυτό το πολλαπλασιάζεται με το πλήθος των επαναλήψεων k), ενώ η Broyden υπολογίζει το Ιακωβιανό μητρώο μόνο στην πρώτη επανάληψη για το υπολογισμό του μητρώου B 0. Το n έχει να κάνει με τον υπολογισμό της F n (x (k) ) στο σημείο x (k), η οποία υπολογίζεται και από τις δύο μεθόδους σε κάθε επανάληψη. Για τον λόγο αυτό πολλαπλασιάζεται με το πλήθος επαναλήψεων k και στις δύο μεθόδους. 3.5 Μη γραμμική Jacobi Στην ενότητα αυτή θα παρουσιάσουμε την μέθοδο Jacobi [3] για επίλυση μη γραμμικών συστημάτων, η οποία αποτελεί γενίκευση της γραμμικής μεθόδου που παρουσιάσαμε σε προηγούμενο κεφάλαιο. Η μέθοδος αυτή ανήκει στην κατηγορία μεθόδων, οι οποίες ανάγουν το πρόβλημα επίλυσης ενός συστήματος n μεταβλητών σε πρόβλημα επίλυσης εξισώσεων μίας μεταβλητής. Στην συνέχεια, θα παρουσιάσουμε την ανάπτυξη της μεθόδου, την γεωμετρική της ερμηνεία και μία αριθμητική της εφαρμογή.

90 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3.5. Ανάπτυξη της μη γραμμικής μεθόδου Jacobi Έχουμε το παρακάτω μη γραμμικό σύστημα: f (x,..., x n ) = 0 f (x,..., x n ) = 0. f n (x,..., x n ) = 0 Θεωρούμε ότι έχουμε υπολογίσει μία προσέγγιση της λύσης: x (k) = Θεωρούμε επίσης ότι έχουμε υπολογίσει τις πρώτες i συνιστώσες της (k + )-οστής επανάληψης: x (k+),..., x (k+) i ενώ οι υπόλοιπες συνιστώσες x (k+) i,..., x (k+) n μας είναι άγνωστες. Για τον υπολογισμό της νέας προσέγγισης της i συνιστώσας x (k+) i, επιλύουμε την παρακάτω μη γραμμική εξίσωση ως προς x: x (k)... x (k) n f i (x (k),..., x(k) i, x, x(k) i+,..., x(k) n ) = 0 Αφού λύσουμε την εξίσωση και βρούμε την συνιστώσα x (k+) i, συνεχίζουμε στον υπολογισμό της επόμενης συνιστώσας x (k+) i+, επιλύοντας την παρακάτω μη γραμμική εξίσωση ως προς x: f i (x (k),..., x(k) i, x(k) i, x, x (k) i+,..., x(k) n ) = 0 Η διαδικασία συνεχίζεται με τον ίδιο τρόπο και για τις υπόλοιπες συνιστώσες, οπότε επιλύοντας συνολικά n μη γραμμικές εξισώσεις μίας μεταβλητής, έχουμε υπολογίσει την νέα προσέγγιση x (k+) του αρχικού συστήματος. Η μέθοδος ξεκινάει από κάποια αρχική προσέγγιση x (0) και υπολογίζει τις νέες προσεγγίσεις x (), x (),... επιλύοντας για κάθε μία απ αυτές n μη γραμμικές εξισώσεις. Παρατηρούμε ότι η μη γραμμική μέθοδος Jacobi, όπως είχαμε αναφέρει και για την αντίστοιχη γραμμική, για τον υπολογισμό της k + προσέγγισης της λύσης χρησιμοποιεί

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 9 εξ ολοκλήρου την γνώση που έχουμε από την k-οστή επανάληψη. 3.5. Κριτήρια Τερματισμού Η μη γραμμική μέθοδος Jacobi είναι επαναληπτική μέθοδος, η οποία όπως αναφέραμε, σε κάθε επανάληψη υπολογίζει την προσεγγιστική λύση του δοθέντος συστήματος. Αυτές οι επαναλήψεις, όμως, πρέπει κάποια στιγμή να σταματήσουν, ώστε να τερματίσει ο αλγόριθμος και να μας επιστρέψει κάποια λύση. Για να το πετύχουμε αυτό χρησιμοποιούμε κάποια κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη, η οποία μας δείχνει ότι έχει υπολογιστεί η λύση του συστήματος με την ακρίβεια που θέλουμε. Μερικά από τα κριτήρια που χρησιμοποιούνται είναι:. Fn (x k+ ) ε, δηλαδή η τιμή της συνάρτησης στην νέα προσέγγιση x (k+) να είναι πολύ κοντά στο μηδέν.. x k+ x k ε, δηλαδή δύο διαδοχικές προσεγγίσεις της λύσης να βρίσκονται πολύ κοντά μεταξύ τους. 3. k < MIT, δηλαδή το μέγιστο πλήθος των επαναλήψεων (ΜΙΤ) που θα επιτρέψουμε στον αλγόριθμο να κάνει, να μην ξεπερνάει κάποιο άνω όριο. όπου το ε είναι ένας πολύ μικρός θετικός αριθμός. 3.5.3 Γεωμετρική Ερμηνεία της μεθόδου Στην ενότητα αυτή θα περιγράψουμε την μη-γραμμική μέθοδο Jacobi για την επίλυση ενός συστήματος εξισώσεων με αγνώστους και στην συνέχεια θα δούμε την γεωμετρική ερμηνεία της μεθόδου. Έχουμε το παρακάτω γραμμικό σύστημα : f (x, x ) = 0 f (x, x ) = 0 Θεωρούμε μία αρχική προσέγγιση της λύσης x (0) = (x (0), x(0) )T. Για τον υπολογισμό της επόμενης προσέγγισης x () = (x (), x() )T επιλύουμε πρώτα την παρακάτω εξίσωση ως

9 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ προς x: f (x, x (0) ) = 0 Το x που θα βρούμε είναι η προσέγγιση της πρώτης συνιστώσας x (). Έπειτα επιλύουμε την παρακάτω εξίσωση ως προς x: f (x (0), x) = 0 Το x που θα βρούμε είναι η προσέγγιση της δεύτερης συνιστώσας x (). Με τον ίδιο τρόπο υπολογίζουμε και τις επόμενες προσεγγίσεις x (), x (3), x (4),... μέχρι κάποια από τις προσεγγίσεις να πλησιάσει στην πραγματική λύση του συστήματος, σύμφωνα με την ακρίβεια που έχουμε θέσει. Σχήμα 3.3: Γεωμετρική ερμηνεία της μη γραμμικής μεθόδου Jacobi Στο σχήμα (3.3) βλέπουμε τις ισοϋψείς καμπύλες των δύο συναρτήσεων f (x, x ) και f (x, x ), οι οποίες τέμνονται σε κάποιο σημείο το οποίο είναι η λύση του συστήματος. Για την προσέγγιση της λύσης αυτής με την μη-γραμμική μέθοδο Jacobi, παίρνουμε την τομή της προσεγγιστικής λύσης x (0) με την f και την f. Φέρνουμε παράλληλη γραμμή προς την f και κάθετη γραμμή προς την f. Η τομή των δύο αυτών γραμμών είναι η νέα προσέγγιση x (). Με τον ίδιο τρόπο υπολογίζουμε και τα υπόλοιπα σημεία x (), x (3), x (4), x (5),..., τα οποία συγκλίνουν στο σημείο τομής των δύο καμπυλών, δηλαδή στην λύση του συστήματος.

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 93 3.5.4 Αλγόριθμος μεθόδου Jacobi Στην συνέχεια θα δώσουμε τον αλγόριθμο της μη-γραμμικής Jacobi σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων F n : Την συνάρτηση F n = (f, f,..., f n ) x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού). ε : Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). ε : Μία ακόμα τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (τρίτο κριτήριο τερματισμού). Αλγόριθμος 6 Μη-γραμμικής Jacobi ΒΗΜΑ Είσοδος δεδομένων: {n, F n, x (0), MIT, ε} ΒΗΜΑ Θέσε k = και x ( ) = μία τυχαία τιμή, διάφορη του x (0), ώστε να περάσει από την συνθήκη στο Βήμα 3 ΒΗΜΑ 3 Όσο (k < MIT και Fn (x (k) ) ε και x (k+) x (k) ε ) επανάλαβε τα Βήματα 4,5, αλλιώς (πήγαινε στο Βήμα 6) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Για i από μέχρι n με βήμα κάνε: x (k+) i = λύση της f i (x (k),..., x(k) i, x, x(k) i+,..., x(k) n ) = 0 ως προς x ΒΗΜΑ 6 Έξοδος αποτελεσμάτων: {k, x (k), F n (x (k) )} Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα:

94 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x (k) : Την λύση που βρήκε η μέθοδος F n (x (k) ): Την τιμή που έχει η συνάρτηση F n στην λύση που βρέθηκε 3.5.5 Εφαρμογή Στην συνέχεια, θα δούμε ένα παράδειγμα για την καλύτερη κατανόηση του τρόπου λειτουργίας της μεθόδου. Παράδειγμα 3.5.. Να εφαρμοστεί η μη γραμμική μέθοδος Jacobi για να προσεγγιστεί μία λύση του συστήματος f (x, x ) = x + x 3 f (x, x ) = x + x 9 με ακρίβεια δεκαδικών ψηφίων, δηλαδή e = 0.005. Δίνεται η αρχική εκτίμηση: x (0) = (, 5) T Λύση: Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου Jacobi: x (k+) + x (k) 3 = 0, λύνουμε ως προς x (k+) ( ) ( ) + 9 = 0, λύνουμε ως προς (k+) x x (k) x (k+) Αν στις παραπάνω σχέσεις θεωρήσουμε μία αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = 5 μπορούμε να πάρουμε διαδοχικά τις παρακάτω επαναλήψεις: η ΕΠΑΝΑΛΗΨΗ Οι εξισώσεις μπορούν να γραφούν ως: ( x () + x (0) x (0) 3 = 0 ) ( ) + 9 = 0 x ()

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 95 ή ισοδύναμα: κάνοντας τις πράξεις παίρνουμε: x () + 5 3 = 0 + ( x () ) 9 = 0 x () x () ( + = 0 ) 8 = 0 Επιλύοντας καθεμία από τις δύο εξισώσεις με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρχική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική τους λύση: x () = και x () =, 884 Οι τιμές αυτές αποτελούν την πρώτη προσέγγιση της λύσης του συστήματος με την μη γραμμική μέθοδο Jacobi: η ΕΠΑΝΑΛΗΨΗ Οι εξισώσεις μπορούν να γραφούν ως: ( x () =, 884 x () + x () x () 3 = 0 ) ( ) + 9 = 0 x () ή ισοδύναμα: x () +, 884 3 = 0 ( ) + ( x () ) 9 = 0 κάνοντας τις πράξεις παίρνουμε: x () 0, 76 = 0 ( ) 5 = 0 x () Επιλύοντας καθεμία από τις δύο εξισώσεις με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρ-

96 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ χική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική τους λύση: x () = 0, 76 και x () =, 36 Οι τιμές αυτές αποτελούν την δεύτερη προσέγγιση της λύσης του συστήματος με την μη γραμμική μέθοδο Jacobi: x () 0, 76 =, 36 Συνεχίζοντας τις επαναλήψεις με τον ίδιο τρόπο παίρνουμε και τις επόμενες προσεγγίσεις της λύσης: x (3) 0, 7639 =, x (4) 0, 0049 =, x (5) 0, 0989 =, 995, 90 3, 0000 x (6) = 0, 9984, x(7) = 0.006 3 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (7) x (6) 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: 0 x = 3 Το σύστημα αυτό αν το λύσουμε αλγεβρικά θα βρούμε ότι οι λύσεις του είναι: x = 3 και 0 x = 0 3 Παρατηρούμε λοιπόν ότι με αρχική προσέγγιση την x (0) = (, 5) T η μέθοδος συγκλίνει στην δεύτερη λύση του συστήματος x = (0, 3)T.

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 97 3.6 Μη γραμμική Gauss-Seidel Στην ενότητα αυτή θα παρουσιάσουμε την μέθοδο Gauss-Seidel [3] για επίλυση μη-γραμμικών συστημάτων, η οποία αποτελεί γενίκευση της γραμμικής μεθόδου Gauss- Seidel που παρουσιάστηκε σε προηγούμενο κεφάλαιο. Η μέθοδος αυτή, όπως και η μη-γραμμική Jacobi, ανήκει στην κατηγορία μεθόδων, οι οποίες ανάγουν το πρόβλημα επίλυσης ενός συστήματος n μεταβλητών σε πρόβλημα επίλυσης εξισώσεων μίας μεταβλητής. Στην συνέχεια, θα παρουσιάσουμε την ανάπτυξη της μεθόδου, την γεωμετρική της ερμηνεία και μία αριθμητική της εφαρμογές. 3.6. Ανάπτυξη της μη γραμμικής μεθόδου Gauss-Seidel Έχουμε το παρακάτω μη γραμμικό σύστημα: f (x,..., x n ) = 0 f (x,..., x n ) = 0. f n (x,..., x n ) = 0 Θεωρούμε ότι έχουμε υπολογίσει μία προσέγγιση της λύσης: x (k) = Θεωρούμε επίσης ότι έχουμε υπολογίσει τις πρώτες i συνιστώσες της επόμενης k + επανάληψης: x (k+),..., x (k+) i ενώ οι υπόλοιπες συνιστώσες x (k+) i,..., x (k+) n μας είναι άγνωστες. Για τον υπολογισμό της νέας προσέγγισης της i συνιστώσας x (k+) i, επιλύουμε την παρακάτω μη γραμμική εξίσωση ως προς x: x (k)... x (k) n f i (x (k+),..., x (k+) i, x, x(k) i+,..., x(k) n ) = 0 Αφού λύσουμε την εξίσωση και βρούμε την συνιστώσα x (k+) i, συνεχίζουμε στον υπολο-

98 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ γισμό της επόμενης συνιστώσας x (k+) i+ επιλύοντας την παρακάτω μη γραμμική εξίσωση ως προς x: f i (x (k+),..., x (k+) i, x(k+) i, x, x (k) i+,..., x(k) n ) = 0 Η διαδικασία συνεχίζεται με τον ίδιο τρόπο και για τις υπόλοιπες συνιστώσες, οπότε επιλύοντας συνολικά n μη γραμμικές εξισώσεις μίας μεταβλητής, έχουμε υπολογίσει την νέα προσέγγιση x (k+) του αρχικού συστήματος. Η μέθοδος ξεκινάει από κάποια αρχική προσέγγιση x (0) και υπολογίζει τις νέες προσεγγίσεις x (), x (),... επιλύοντας για κάθε μία απ αυτές n μη γραμμικές εξισώσεις. Παρατηρούμε ότι η μη γραμμική μέθοδος Gauss-Seidel, όπως είχαμε αναφέρει και για την γραμμική Gauss-Seidel, για τον υπολογισμό της i-οστής συνιστώσας της k + προσέγγισης της λύσης χρησιμοποιεί όση γνώση έχουμε από την k + επανάληψη, δηλαδή τις τιμές x (k+),..., x (k+) i και από την k-οστή επανάληψη χρησιμοποιεί τις υπόλοιπες συνιστώσες x (k) i+,..., x(k) n. 3.6. Κριτήρια Τερματισμού Η μη-γραμμική μέθοδος Gauss-Seidel, όπως και η Jacobi, χρησιμοποιεί κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο ύστερα από κάποιες επαναλήψεις. Τα κριτήρια αυτά είναι τα ίδια με της μεθόδου του Jacobi. 3.6.3 Γεωμετρική Ερμηνεία της μεθόδου Στην ενότητα αυτή θα περιγράψουμε την μη-γραμμική μέθοδο Gauss-Seidel για την επίλυση ενός συστήματος εξισώσεων με αγνώστους και στην συνέχεια θα δούμε την γεωμετρική ερμηνεία της μεθόδου. Έχουμε το παρακάτω γραμμικό σύστημα : f (x, x ) = 0 f (x, x ) = 0 Θεωρούμε μία αρχική προσέγγιση της λύσης x (0) = (x (0), x(0) )T. Για τον υπολογισμό της επόμενης προσέγγισης x () = (x (), x() )T επιλύουμε πρώτα την παρακάτω εξίσωση ως προς x: f (x, x (0) ) = 0

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 99 Το x που θα βρούμε είναι η προσέγγιση της πρώτης συνιστώσας x (). Έπειτα επιλύουμε την παρακάτω εξίσωση ως προς x: f (x (), x) = 0 Το x που θα βρούμε είναι η προσέγγιση της δεύτερης συνιστώσας x (). Με τον ίδιο τρόπο υπολογίζουμε και τις επόμενες προσεγγίσεις x (), x (3), x (4),... μέχρι να κάποια από τις προσεγγίσεις να πλησιάσει στην πραγματική λύση του συστήματος. Σχήμα 3.4: Γεωμετρική ερμηνεία της μη γραμμικής μεθόδου Gauss-Seidel Στο σχήμα (3.4) βλέπουμε τις ισοϋψείς καμπύλες των δύο συναρτήσεων f (x, x ) και f (x, x ) οι οποίες τέμνονται σε κάποιο σημείο το οποίο είναι η λύση του συστήματος. Για την προσέγγιση της λύσης αυτής με την μη-γραμμική μέθοδο Gauss-Seidel λειτουργούμε ως εξής. Από την παλιά προσέγγιση φέρνουμε οριζόντια γραμμή για να δούμε που τέμνει την f. Έπειτα από το σημείο αυτό φέρνουμε κάθετη γραμμή για να δούμε που συναντά την f. Το σημείο αυτό, το οποίο ανήκει στην f, είναι η νέα προσέγγιση. Το σημείο x (0) είναι η αρχική προσέγγιση της λύσης και τα x (), x (), x (3) είναι οι διαδοχικές προσεγγίσεις της λύσης που δίνει η μέθοδος, τα οποία συγκλίνουν στο σημείο τομής των δύο καμπυλών, δηλαδή στην λύση του συστήματος.

00 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 3.6.4 Αλγόριθμος μεθόδου Gauss-Seidel Στην συνέχεια θα δώσουμε τον αλγόριθμο της μη γραμμικής μεθόδου Jacobi σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: n: Το πλήθος των εξισώσεων και των αγνώστων F n : Την συνάρτηση F n = (f, f,..., f n ) x (0) : Την αρχική προσέγγιση της λύσης MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού). ε : Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). ε : Μία ακόμα τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (τρίτο κριτήριο τερματισμού). Αλγόριθμος 7 Μη-γραμμικής Gauss-Seidel ΒΗΜΑ Είσοδος δεδομένων: {n, F n, x (0), MIT, ε} ΒΗΜΑ Θέσε k = και x ( ) = μία τυχαία τιμή, διάφορη του x (0), ώστε να περάσει από την συνθήκη στο Βήμα 3 ΒΗΜΑ 3 Όσο (k < MIT και Fn (x (k) ) ε και x (k+) x (k) ε ) επανάλαβε τα Βήματα 4,5, αλλιώς (πήγαινε στο Βήμα 6) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Για i από μέχρι n με βήμα κάνε: x (k+) i = λύση της f i (x (k+),..., x (k+) i, x, x(k) i+,..., x(k) n ) = 0 ως προς x ΒΗΜΑ 6 Έξοδος αποτελεσμάτων: {k, x (k), F n (x (k) )} Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα:

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 0 k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x (k) : Την λύση που βρήκε η μέθοδος F n (x (k) ): Την τιμή που έχει η συνάρτηση F n στην λύση που βρέθηκε (η οποία θα είναι πάρα πολύ κοντά στο μηδέν) 3.6.5 Εφαρμογή Στην συνέχεια, θα δούμε ένα παράδειγμα για την καλύτερη κατανόηση του τρόπου λειτουργίας της μεθόδου. Παράδειγμα 3.6.. Να εφαρμοστεί η μη γραμμική μέθοδος Gauss-Seidel για να προσεγγιστεί μία λύση του συστήματος f (x, x ) = x + x 3 f (x, x ) = x + x 9 με ακρίβεια δεκαδικών ψηφίων, δηλαδή e = 0.005. Δίνεται η αρχική εκτίμηση: x 0 = (, 5) T Λύση: Αν θεωρήσουμε τις επαναλήψεις, έχουμε την παρακάτω μορφή της μεθόδου Gauss-Seidel: ( x (k+) + x (k) x (k+) 3 = 0 λύνουμε ως προς x (k+) ) ( ) + 9 = 0 λύνουμε ως προς (k+) x x (k+) Αν στις παραπάνω σχέσεις θεωρήσουμε μία αρχική προσέγγιση της λύσης: x (0) x (0) = x (0) = 5 μπορούμε να πάρουμε διαδοχικά τις παρακάτω επαναλήψεις: η ΕΠΑΝΑΛΗΨΗ Οι εξισώσεις μπορούν να γραφούν ως: ( x () + x (0) x () 3 = 0 ) ( ) + 9 = 0 x ()

0 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η πρώτη εξίσωση μπορεί να γραφεί ισοδύναμα: x () + 5 3 = 0 κάνοντας τις πράξεις παίρνουμε: x () + = 0 Επιλύοντας την με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρχική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική της λύση: x () = Η δεύτερη εξίσωση μπορεί να γραφεί ισοδύναμα: κάνοντας τις πράξεις παίρνουμε: ( ) + ( x () ) 9 = 0 ( x () ) 5 = 0 Επιλύοντας την με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρχική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική της λύση: x () =, 36 Οι τιμές αυτές αποτελούν την πρώτη προσέγγιση της λύσης του συστήματος με την μη γραμμική μέθοδο Gauss-Seidel: x () =, 36 η ΕΠΑΝΑΛΗΨΗ

ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 03 Οι εξισώσεις μπορούν να γραφούν ως: ( x () + x () x () 3 = 0 ) ( ) + 9 = 0 x () Η πρώτη εξίσωση μπορεί να γραφεί ισοδύναμα: κάνοντας τις πράξεις παίρνουμε: x () +, 36 3 = 0 x () 0, 7639 = 0 Επιλύοντας την με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρχική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική της λύση: x () = 0, 7639 Η δεύτερη εξίσωση μπορεί να γραφεί ισοδύναμα: κάνοντας τις πράξεις παίρνουμε: 0, 7639 + ( x () ) 9 = 0 ( x () ) 8, 465 = 0 Επιλύοντας την με κάποια αριθμητική μέθοδο επίλυσης μη γραμμικών εξισώσεων (στο παράδειγμα χρησιμοποιήσαμε την Newton-Raphson με αρχική προσέγγιση x (0) = 8) υπολογίζουμε μία προσεγγιστική της λύση: x () =, 90 Οι τιμές αυτές αποτελούν την δεύτερη προσέγγιση της λύσης του συστήματος με την μη

04 ΚΕΦΑΛΑΙΟ 3. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΜΗ ΓΡΑΜΜΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ γραμμική μέθοδο Gauss-Seidel: x () = 0, 7639, 90 Συνεχίζοντας τις επαναλήψεις με τον ίδιο τρόπο παίρνουμε και τις επόμενες προσεγγίσεις της λύσης: x (3) 0, 0989 =, x (4) 0, 006 =, x (5) 0, 0000 =, 9984 3, 0000 3, 0000 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (5) x (4) 0.005 για την προσέγγιση της λύσης με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στην λύση: 0 x = 3 Το σύστημα αυτό αν το λύσουμε αλγεβρικά θα βρούμε ότι οι λύσεις του είναι: x = 3 και 0 x = 0 3 Παρατηρούμε λοιπόν ότι με αρχική προσέγγιση την x (0) = (, 5) T η μέθοδος συγκλίνει στην δεύτερη λύση του συστήματος x = (0, 3)T. 3.7 Σύγκριση των μη-γραμμικών μεθόδων Jacobi - Gauss- Seidel Στην μη-γραμμική μέθοδο Gauss-Seidel χρησιμοποιούμε όση γνώση έχουμε από την k + επανάληψη και την υπόλοιπη γνώση την παίρνουμε από την k-οστή επανάληψη, σε αντίθεση με την Jacobi που χρησιμοποιούμε μόνο την γνώση από την k-οστή επανάληψη. Επίσης, οι εξισώσεις της Gauss-Seidel πρέπει να επιλυθούν με μια συγκεκριμένη σειρά, ενώ της Jacobi μπορούν να επιλυθούν με οποιαδήποτε σειρά.

Κεφάλαιο 4 Αριθμητική Επίλυση Προβλημάτων Βελτιστοποίησης 4. Εισαγωγή Το πρόβλημα της βελτιστοποίησης [7, 9, 0,,, 44] μία συνάρτησης έγκειται στην εύρεση τοπικών ή/και ολικών ελαχίστων ή/και μεγίστων της συνάρτησης. Είναι ένα πρόβλημα μεγάλης σημασίας λόγω της πληθώρας των εφαρμογών της [0,, 9, 33, 35, 4]. Η συνάρτηση με την οποία ασχολούμαστε καλείται αντικειμενική συνάρτηση και το πρόβλημα μας περιγράφεται όπως ακολούθως: min f (x), f : x R Rn R n Σκοπός μας επομένως, είναι η εύρεση της τιμής x που ελαχιστοποιεί την αντικειμενική συνάρτηση f (x). Με άλλα λόγια, θέλουμε να ικανοποιείται η σχέση: f (x ) f (x), x R n Παρατήρηση 4... Το αντίστοιχο πρόβλημα εύρεσης μεγίστων μιας συνάρτησης f ι- σοδυναμεί με αυτό της ελαχιστοποίησης της f. Παράδειγμα 4... Έστω η συνάρτηση μίας μεταβλητής f (x) = x 4x. Ο ελαχιστοποιητής της συνάρτησης είναι το σημείο εκείνο με την πιο μικρή συναρτησιακή τιμή. Στο σχήμα (4.) βλέπουμε τον ελαχιστοποιητή της συνάρτησης. Στην βελτιστοποίηση διακρίνουμε δύο βασικές κατηγορίες: 05

06 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Σχήμα 4.: Γεωμετρική ερμηνεία ελαχιστοποιητή. Βελτιστοποίηση χωρίς περιορισμούς [3], όπου έχουμε μία αντικειμενική συνάρτηση της οποίας ψάχνουμε ελάχιστα στο πεδίο ορισμού της.. Βελτιστοποίηση με περιορισμούς, στην οποία μαζί με την αντικειμενική συνάρτηση έχουμε και κάποιες συνθήκες. Ανάλογα με το είδος της αντικειμενικής συνάρτησης τα προβλήματα χωρίζονται σε άλλες δύο κατηγορίες:. Προβλήματα γραμμικής βελτιστοποίησης, στα οποία η αντικειμενική συνάρτηση είναι γραμμική.. Προβλήματα μη-γραμμικής βελτιστοποίησης, στα οποία η αντικειμενική συνάρτηση είναι μη-γραμμική. Οι αριθμητικές μέθοδοι βελτιστοποίησης διακρίνονται σε δύο βασικές κατηγορίες:. Μέθοδοι γραμμικής αναζήτησης (Line Search methods). Η βασική φιλοσοφία τους είναι ότι πρώτα προσδιορίζεται η κατεύθυνση πάνω στην οποία θα κινηθούμε για την μετάβαση από την μία προσεγγιστική τιμή στην επόμενη και έπειτα καθορίζεται το βήμα που θα κάνουμε πάνω στην κατεύθυνση αυτή.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 07. Μέθοδοι που χρησιμοποιούν διαστήματα εμπιστοσύνης (True Region Methods). Η βασική φιλοσοφία τους είναι ότι πρώτα υπολογίζεται ένα διάστημα στο οποίο θεωρούμε ότι υπάρχει η πιθανή λύση και έπειτα προσδιορίζεται η κατεύθυνση πάνω στην οποία θα κινηθούμε. Στη παρούσα διπλωματική εργασία ασχολούμαστε με προβλήματα μη-γραμμικής ελαχιστοποίησης, στα οποία εφαρμόζουμε μεθόδους γραμμικής αναζήτησης, με σκοπό να την εύρεση ενός τοπικού ελαχίστου της εκάστοτε αντικειμενική συνάρτησης. Ο επαναληπτικός τύπος που αντιπροσωπεύει τις μεθόδους αυτές είναι ο εξής: x k+ = x k + a k p k όπου a k είναι το μήκος βήματος, p k είναι η κατεύθυνση πάνω στην οποία θα κινηθούμε και x k, x k+ δύο διαδοχικές προσεγγίσεις. Κάθε μέθοδος χρησιμοποιεί την δική της κατεύθυνση και σε κάθε επανάληψη η κατεύθυνση παραμένει σταθερή, ενώ το βήμα μπορεί και να αλλάζει. Αλλαγή κατεύθυνσης σημαίνει και αλλαγή της μεθόδου. Οι πιο γνωστές μέθοδοι γραμμικής αναζήτησης είναι:. Απότομης Κατάβασης (Steepest Descent) με κατεύθυνση την p k = f (x k ).. Newton με κατεύθυνση p k = H (x k ) f (x k ), όπου H(x k ) είναι το εσσιανό μητρώο. 3. Quasi - Newton με κατεύθυνση p k = B (x k ) f (x k ), όπου B (x k ) είναι μία προσέγγιση του αντίστροφου του εσσιανού μητρώου. 4. Συζυγών Κλίσεων (Conjugate Gradient) με κατεύθυνση p k+ = g k+ + ϐp k με g k+ = f (x k ) και ϐ είναι ένας συντελεστής. Διαφορετική τιμή του ϐ δίνει διαφορετική μέθοδο αυτής της οικογένειας μεθόδων. Ύστερα από τον προσδιορισμό της κατεύθυνσης, καλούμαστε να προσδιορίσουμε το μήκος του βήματος που θα κάνουμε πάνω στην κατεύθυνση αυτή. Αν επιλέξουμε να κάνουμε ένα μεγάλο βήμα, υπάρχει περίπτωση να απομακρυνθούμε από το ακρότατο σημείο που θέλουμε να προσεγγίσουμε. Αντίθετα, αν επιλέξουμε να κάνουμε ένα πολύ μικρό βήμα, μπορεί μεν να υπολογίσουμε το ζητούμενο σημείο, αλλά να χρειαστούν πολλές επαναλήψεις για να επιτευχθεί αυτό, κάτι που δεν είναι επιθυμητό. Σε κάποιες επαναλήψεις της μεθόδου μπορεί να εξυπηρετεί ένα μικρό βήμα και σε κάποιες άλλες,

08 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ ένα μεγάλο. Για τον λόγο αυτό βολεύει σε κάθε επανάληψη να χρησιμοποιούμε διαφορετικό βήμα, το οποίο να είναι το κατάλληλο για την επανάληψη αυτή. Στην συνέχεια θα παρουσιάσουμε τρόπους υπολογισμού του μήκους βήματος [0, ]. Σχήμα 4.: Μεγάλο-μικρό μήκος βήματος Θεωρούμε την συνάρτηση ϕ(a) = f (x k + ap k ), με a > 0 η οποία εκφράζει την μεταβολή του μήκους βήματος a επάνω στην κατεύθυνση p k. Δίνοντας διάφορες τιμές στην μεταβλητή a, παίρνουμε αντίστοιχες τιμές της αντικειμενικής συνάρτησης, οι οποίες προκύπτουν, αν κινηθούμε από την προσεγγιστική τιμή x k κατά μήκος της κατεύθυνσης p k, κατά a μονάδες. Σκοπός είναι να βρούμε την τιμή a που θα μας δώσει την μικρότερη συναρτησιακή τιμή της f επάνω στην κατεύθυνση p k. Ψάχνουμε δηλαδή την τιμή a που ελαχιστοποιεί την συνάρτηση ϕ, η οποία φαίνεται στο σχήμα (4.3). Για τον υπολογισμό του βήματος a διακρίνουμε τις εξής μεθόδους:. Μη ακριβείς μέθοδοι, οι οποίοι προσεγγίζουν το μήκος βήματος με καλή ακρίβεια, χωρίς να κάνουν πολλούς υπολογισμούς.. Ακριβείς μέθοδοι, οι οποίοι υπολογίζουν ακριβώς το μήκος βήματος, κάτι βέβαια που απαιτεί μεγάλο υπολογιστικό κόστος. Στην εργασία μας, θα αναφέρουμε αρχικά κάποιες μεθόδους για τον υπολογισμό του μήκους βήματος και ύστερα θα παρουσιάσουμε από τις μεθόδους γραμμικής αναζήτησης την μέθοδο Απότομης Κατάβασης και την οικογένεια μεθόδων Συζυγών Κλίσεων.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 09 Σχήμα 4.3: Υπολογισμός βέλτιστου μήκους βήματος 4. Αναγωγή γραμμικών συστημάτων σε πρόβλημα ελαχιστοποίησης Στην ενότητα αυτή δίνουμε ένα θεώρημα που αποδεικνύει ότι κάθε γραμμικό σύστημα που πληροί κάποιες συνθήκες μπορεί να μετατραπεί σε μία συνάρτηση, της οποία το ελάχιστο συμπίπτει με την λύση του γραμμικού συστήματος. Θεώρημα 4... Έστω A ένα τετραγωνικό, συμμετρικό και θετικά ορισμένο μητρώο, b ένα διάνυσμα, c βαθμωτή σταθερά και F( x) η συνάρτηση F( x) = xt A x b T x + c Το ολικό ελάχιστο της F( x) ταυτίζεται με την λύση του γραμμικού συστήματος A x = b Απόδειξη: Έχουμε: F( x) = xt A x b T x + c

0 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Η κλίση της F( x) είναι: F( x) = A x + A x b F( x) = A x b Αν F( x ) = 0 τότε το x είναι το ελάχιστο σημείο της F( x). Ταυτόχρονα όμως ισχύει F( x ) = 0 A x b = 0 A x = b που σημαίνει ότι το x είναι και λύση του συστήματος A x = b. Με βάση το παραπάνω θεώρημα, όταν μας δίνεται ένα γραμμικό σύστημα της μορφής Ax = b και μας ζητείται να λυθεί με κάποια μέθοδο βελτιστοποίησης, θέτουμε μία συνάρτηση της μορφής F(x) = xt Ax b T x + c όπου c ένας τυχαίος αριθμός και εφαρμόζουμε σ αυτήν την μέθοδο εύρεσης ελαχίστου της επιλογής μας. Το ελάχιστο που θα βρούμε είναι η λύση του γραμμικού συστήματος. 4.3 Υπολογισμός του μήκους βήματος 4.3. Ακριβής υπολογισμός του μήκους βήματος Ο ακριβής υπολογισμός του μήκος βήματος a k γίνεται ως ακολούθως []: Θεωρούμε μια συνάρτηση ϕ ως προς a k : ϕ(a k ) = f (x k + a k p k ) Υπολογίζουμε τα κρίσιμα σημεία (ή τοπικά ακρότατα) της ϕ, επιλύοντας την εξίσωση: ϕ(a k ) = 0 Το ζητούμενο μήκος βήματος ταυτίζεται με το κρίσιμο σημείο a της ϕ, δηλαδή a k = a.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 4.3. Μη ακριβείς μέθοδοι για τον υπολογισμό του μήκους βήματος Ο ακριβής υπολογισμός του μήκους βήματος που ελαχιστοποιεί την συνάρτηση ϕ απαιτεί, όπως αναφέραμε, έχει μεγάλο υπολογιστικό κόστος. Για τον λόγο αυτό, προτιμάμε πολλές φορές να μην υπολογίσουμε ακριβώς το μήκος βήματος, αλλά να προσδιορίσουμε κάποια προσεγγιστική του τιμή με μεθόδους που απαιτούν πολύ λιγότερες πράξεις. Στην συνέχεια περιγράφουμε κάποιες συνθήκες [0,, 35, 40] που εξυπηρετούν αυτόν τον σκοπό και τον τρόπο χρήσης τους για τον υπολογισμού του μήκους βήματος. Συνθήκες του Wolfe Η συνθήκη του Armijo Η συνθήκη επαρκούς ελάττωσης ή συνθήκη του Armijo εκφράζεται από την σχέση: f (x k + ap k ) f (x k ) + c a f (x k ) T p k, όπου c (0, ) Το δεξί μέλος της ανίσωσης αυτής είναι μια γραμμική συνάρτηση ως προς το a. Αν θέσουμε δηλαδή: l(a) = f (x k ) + c a f (x k ) T p k έχουμε δημιουργήσει μια γραμμική συνάρτηση ως προς την μεταβλητή a, με κλίση c f (x k ) T p k < 0, διότι c > 0, f (x k ) T > 0 και p k < 0. Αν θέσουμε και το πρώτο μέλος της συνθήκης Armijo ως: ϕ(a) = f (x k + ap k ) έχουμε δημιουργήσει την πρώτη συνθήκη Wolfe: ϕ(a) l(a) Στο σχήμα (4.4) βλέπουμε την γεωμετρική ερμηνεία της συνθήκης Armijo. Η συνάρτηση ϕ(a) τέμνεται με την γραμμική συνάρτηση l(a). Τα αποδεκτά διαστήματα είναι αυτά όπου η γραφική παράσταση της ϕ βρίσκεται κάτω από την γραφική παράσταση της l.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Σχήμα 4.4: Γεωμετρική ερμηνεία συνθήκης Armijo Η συνθήκη της Καμπυλότητας Η συνθήκη της Καμπυλότητας εκφράζεται από την σχέση: f (x k + ap k ) T p k c f (x k ) T p k, όπου c (c, ) Το αριστερό μέλος της ανίσωσης είναι η παράγωγος της συνάρτησης ϕ(a) και το δεξί μέλος της είναι η παράγωγος της συνάρτησης ϕ στο 0, επί μία σταθερά c. Έτσι,έχουμε δημιουργήσει την δεύτερη συνθήκη Wolfe: ϕ (a) c ϕ (0) Στο σχήμα (4.5) βλέπουμε την γεωμετρική ερμηνεία της συνθήκης της καμπυλότητας [0]. Τα διαστήματα που αποδεχόμαστε περιέχουν τις τετμημένες των σημείων στα οποία η κλίση της συνάρτησης ϕ(a) είναι μεγαλύτερη ή ίση από την κλίση της ϕ στο σημείο 0, επί την σταθερά c. Η κλίση, όμως, στο 0 είναι αρνητική, επομένως το δεύτερο μέλος της συνθήκης είναι αρνητικό. Άρα, το αριστερό μέλος της συνθήκης, δηλαδή η κλίση της ϕ(a) ή θα είναι θετική, ή θα είναι αρνητική, αλλά πιο μεγάλη από την ϕ, δηλαδή πιο κοντά στο μηδέν.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 3 Σχήμα 4.5: Γεωμετρική ερμηνεία συνθήκης Καμπυλότητας Συνδυασμός των συνθηκών Armijo και Καμπυλότητας Πολλές φορές χρησιμοποιούμε και τις δύο συνθήκες ταυτόχρονα, ώστε να έχουμε καλύτερα αποτελέσματα στην εύρεση του μήκους βήματος. Στο σχήμα (4.6) βλέπουμε την γεωμετρική ερμηνεία του συνδυασμού των δύο συνθηκών. Σχήμα 4.6: Γεωμετρική ερμηνεία συνδυασμού συνθηκών Armijo και Καμπυλότητας

4 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Συνθήκες του Goldstein Οι συνθήκες του Goldstein περιγράφονται από την παρακάτω διπλή ανίσωση: f (x k ) + ( c)a f (x k ) T p k f (x k + ap k ) f (x k ) + ca f (x k ) T p k, όπου c (0, 0.5) Το πρώτο και το τρίτο μέλος της ανίσωσης αυτής είναι γραμμικές συναρτήσεις ως προς το a, ενώ το δεύτερο μέλος είναι η συνάρτηση που είδαμε και στις συνθήκες Wolfe: ϕ(a) = f (x k + ap k ) Αν θέσουμε το πρώτο μέλος ως: h(a) = f (x k ) + ( c)a f (x k ) T p k και το τρίτο μέλος (όπως και στην συνθήκη Armijo) ως: l(a) = f (x k ) + ca f (x k ) T p k έχουμε δημιουργήσει δύο γραμμικές συναρτήσεις h και l ως προς a, με κλίση ( c) f (x k ) T p k < 0 και c f (x k ) T p k < 0 αντίστοιχα. Έτσι, έχουμε δημιουργήσει τις συνθήκες Goldstein: h(a) ϕ(a) l(a) Στο σχήμα (4.7) βλέπουμε την γεωμετρική ερμηνεία των συνθηκών Goldstein. Παρατηρούμε ότι η συνάρτηση ϕ φράσσεται από τις δύο ευθείες l(a) και h(a). Τα διαστήματα που αποδεχόμαστε περιέχουν τις τετμημένες των σημείων της ϕ που βρίσκονται ανάμεσα στις δύο ευθείες l(a) και h(a). Αλγόριθμος χρήσης των συνθηκών Για να υπολογίσουμε το μήκος βήματος με μη-ακριβή μέθοδο, χρησιμοποιούμε κάποια ή και κάποιες από τις συνθήκες που περιγράψαμε παραπάνω, ως εξής: Βήμα : Δίνουμε μία τυχαία τιμή στο μήκος βήματος a, έστω a = a 0. Βήμα : Όσο δεν ισχύουν οι συνθήκες που έχουμε επιλέξει, κάνε a = a.

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 5 Σχήμα 4.7: Γεωμετρική ερμηνεία των συνθηκών Goldstein Βήμα 3: Αν για κάποιο a ισχύσουν ταυτόχρονα όλες οι συνθήκες που έχουμε επιλέξει, τότε δώσε ως αποτέλεσμα το a αυτό. 4.4 Μέθοδος Απότομης Κατάβασης (Steepest Descent) ή Cauchy Στην ενότητα αυτή θα παρουσιάσουμε μια μέθοδο γραμμικής αναζήτησης, την μέθοδο απότομης κατάβασης (Steepest Descent), ή αλλιώς μέθοδο Cauchy [35, 39, 44]. Ο επαναληπτικός τύπος των μεθόδων γραμμικής αναζήτησης είναι: x k+ = x k + a k p k όπου a k είναι το μήκος βήματος που θα κάνουμε πάνω στην κατεύθυνση p k. Στην συνέχεια θα παρουσιάσουμε την ανάπτυξη της μεθόδου [9, 0, ] και τον αλγόριθμό της σε φυσισή γλώσσα, θα περιγράψουμε την γεωμετρική της ερμηνεία και θα δούμε μία αριθμητική της εφαρμογή.

6 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 4.4. Ανάπτυξη της μεθόδου Θεωρούμε μια συνάρτηση f : R n R και έστω x το ζητούμενο ελάχιστο σημείο της. Έστω, επίσης, ένα προσεγγιστικό σημείο x k του ελαχίστου. Αν κινηθούμε κατά μήκος της κατεύθυνσης της κλίσης της f στο σημείο x k, συναντάμε σημεία όπου η τιμή της f είναι μεγαλύτερη από την τιμή της στο x k. Επομένως, αν κινηθούμε κατά μήκος της αντίθετης κλίσης της f στο x k, η τιμή της f μειώνεται, κάτι που σημαίνει ότι πλησιάζει το ελάχιστο x. Έτσι, για την καινούργια προσέγγιση του ελαχίστου x k+, για την οποία ισχύει: x k+ = x k + a k p k μπορούμε να επιλέξουμε για κατεύθυνση p k την αντίθετη κλίση f της συνάρτησης f, δηλαδή p k = f (x k ) Η κατεύθυνση αυτή δεν μειώνει απλά την τιμή της συνάρτησης, αλλά προκαλεί την μεγαλύτερη μείωση της συνάρτησης από κάθε άλλη κατεύθυνση. Στην συνέχεια, πρέπει να βρούμε πόσο θα κινηθούμε επάνω στην κατεύθυνση p k = f (x k ), δηλαδή το μήκος βήματος a k. Την λύση στο πρόβλημα αυτό μπορεί να μας την δώσει κάποια από τις μεθόδους που αναφέραμε στην προηγούμενη ενότητα (ακριβής ή μη ακριβής). 4.4. Κριτήρια Τερματισμού Η μέθοδος Απότομης Κατάβασης είναι επαναληπτική μέθοδος, η οποία σε κάθε επανάληψη υπολογίζει μία προσεγγιστική τιμή του ελαχιστοποιητή της συνάρτησης πάνω στην οποία εφαρμόζεται. Αυτές οι επαναλήψεις όμως πρέπει κάποια στιγμή να σταματήσουν, ώστε να τερματίσει ο αλγόριθμος και να μας επιστρέψει κάποια λύση. Για να το πετύχουμε αυτό χρησιμοποιούμε κάποια κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη, η οποία μας δείχνει ότι έχει βρεθεί ο ελαχιστοποιητής της συνάρτησης με την ακρίβεια που θέλουμε. Μερικά από τα κριτήρια που χρησιμοποιούνται είναι:. F n (x k+ ) ε, δηλαδή η κλίση της συνάρτησης στην νέα προσέγγιση x (k+) να είναι πολύ κοντά στο μηδέν.. k < MIT, δηλαδή το μέγιστο πλήθος των επαναλήψεων (ΜΙΤ) που θα επιτρέψουμε

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 7 στον αλγόριθμο να κάνει, να μην ξεπερνάει κάποιο άνω όριο. όπου το ε είναι ένας πολύ μικρός θετικός αριθμός. 4.4.3 Αλγόριθμος μεθόδου Στην συνέχεια θα δώσουμε τον αλγόριθμο της μεθόδου Απότομης Κατάβασης σε φυσική γλώσσα. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: f : Την συνάρτηση f (x) x 0 : Την αρχική προσέγγιση του ελαχιστοποιητή MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού). ε: Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού). Αλγόριθμος 8 Steepest Descent ΒΗΜΑ Είσοδος δεδομένων: {f, x 0, MIT, ε} ΒΗΜΑ Θέσε k = ΒΗΜΑ 3 Όσο (k < MIT και f (x k+ ) ε) επανάλαβε τα Βήματα 4,5,6, αλλιώς (πήγαινε στο Βήμα 7) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Όρισε κάποιο μήκος βήματος a k ΒΗΜΑ 6 Θέσε x k+ = x k a k f (x k ) ΒΗΜΑ 7 Έξοδος αποτελεσμάτων: {k, x k, f (x k )} Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x k : Τον ελαχιστοποιητή που βρήκε η μέθοδος

8 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ f (x k ): Την τιμή που έχει η συνάρτηση f στον ελαχιστοποιητή που βρέθηκε (η οποία θα είναι πάρα πολύ κοντά στο ελάχιστο) 4.4.4 Γεωμετρική ερμηνεία Στην εικόνα (4.8) βλέπουμε την γεωμετρική ερμηνεία [3] της μεθόδου Απότομης Κατάβασης. Παρατηρούμε ότι ξεκινώντας από το x 0 κινούμαστε πάνω στην ευθεία που είναι κάθετη στην εφαπτομένη της ισοϋψούς καμπύλης c 0. Η κατεύθυνση αυτή είναι η f. Το σημείο x έχει την πιο μικρή συναρτησιακή τιμή από όλα τα σημεία πάνω στην κατεύθυνση που κινούμαστε. Το σημείο αυτό είναι η πρώτη προσέγγιση του ελαχιστοποιητή με την μέθοδο Απότομης Κατάβασης. Η διαδικασία συνεχίζεται με τον ίδιο τρόπο, μέχρι να καταλήξουμε κοντά στο σημείο x που είναι ο ελαχιστοποιητής της συνάρτησης f. Σχήμα 4.8: Γεωμετρική ερμηνεία της μεθόδου Απότομης Κατάβασης 4.4.5 Εφαρμογή Στην συνέχεια παρουσιάζουμε μία αριθμητική εφαρμογή της μεθόδου. Παράδειγμα 4.4.. Να εφαρμοστεί η μέθοδος Steepest Descent για τον υπολογισμό του ελαχιστοποιητή της συνάρτησης: f (x, y) = 4x 4xy + y

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 9 με ακρίβεια δεκαδικών ψηφίων, δηλαδή e = 0.005. Δίνεται η αρχική εκτίμηση: x 0 = (, 3). Λύση: Η κλίση της συνάρτησης f (x, y) είναι: f (x, y) = (8x 4y, 4x + 4y) η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την κατεύθυνση στην οποία θα κινηθούμε: p 0 = f (x 0 ) = f (, 3) = (8 4 3, 4 + 4 3) = (4, 4) Βήμα : Υπολογίζουμε το μήκος βήματος a 0 ελαχιστοποιώντας την συνάρτηση: φ(a 0 ) = f (x 0 a 0 f (x 0 )) Έχουμε: φ(a 0 ) = f (x 0 a 0 f (x 0 )) φ(a 0 ) = f ((, 3) a 0 (4, 4) φ(a 0 ) = f ( 4a 0, 3 4a 0 ) Παραγωγίζοντας την σχέση παίρνουμε: φ (a 0 ) = f (x 0 a 0 f (x 0 )) (x 0 a 0 f (x 0 )) a 0 φ (a 0 ) = f (x 0 a 0 f (x 0 )) ( f (x 0 )) φ (a 0 ) = f ( 4a 0, 3 4a 0 ) (4, 4) φ (a 0 ) = (8( 4a 0 ) 4(3 4a 0 ), 4(3 4a 0 ) 4( 4a 0 )) (4, 4) φ (a 0 ) = (6 3a 0 + 6a 0, 6a 0 8 + 6a 0 ) (4, 4) φ (a 0 ) = ( 6a 0 + 4, 4) (4, 4) φ (a 0 ) = 64a 0 3 Επιλύοντας την εξίσωση φ (a 0 ) = 0

0 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ παίρνουμε 64a 0 3 = 0 64a 0 = 3 a 0 = Κάνουμε έλεγχο του ελαχίστου με την δεύτερη παράγωγο: φ (a 0 ) = (64a 0 3) = 64 > 0 Άρα, το a 0 = είναι το μήκος βήματος που θα χρησιμοποιήσουμε. Βήμα 3: Εφαρμόζουμε τον επαναληπτικό τύπο της μεθόδου για να εντοπίσουμε την νέα προσέγγιση: x = x 0 a 0 f (x 0 ) ή ισοδύναμα x = x 0 f (x 0) = (, 3) (4, 4) = (0, ) η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την κατεύθυνση στην οποία θα κινηθούμε: p = f (x ) = f (0, ) = (8 0 4, 4 0 + 4 ) = ( 4, 4) Βήμα : Υπολογίζουμε το μήκος βήματος a ελαχιστοποιώντας την συνάρτηση: φ(a ) = f (x a f (x )) Έχουμε: φ(a ) = f (x a f (x )) φ(a ) = f ((0, ) a ( 4, 4) φ(a ) = f (4a, 4a )

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Παραγωγίζοντας την σχέση παίρνουμε: φ (a ) = f (x a f (x )) ( f (x )) φ (a ) = f (4a, 4a ) ( 4, 4) φ (a ) = (8(4a ) 4( 4a ), 4(4a ) 4( 4a )) ( 4, 4) φ (a ) = (3a 4 + 6a, 6a + 4 6a ) ( 4, 4) φ (a ) = ( 48a 4, 3a + 4) ( 4, 4) φ (a ) = ( 9a + 6 8a + 6) φ (a ) = 9a 6 + 8a 6 φ (a ) = 30a 3 Επιλύοντας την εξίσωση φ (a ) = 0 παίρνουμε 30a 3 = 0 30a = 3 a = 0 Κάνουμε έλεγχο του ελαχίστου με την δεύτερη παράγωγο: φ (a ) = (30a 3) = 30 > 0 Άρα, το a = είναι το μήκος βήματος που θα χρησιμοποιήσουμε. 0 Βήμα 3: Εφαρμόζουμε τον επαναληπτικό τύπο της μεθόδου για να εντοπίσουμε την νέα προσέγγιση: x = x a f (x ) ή ισοδύναμα ) x = x 0 f (x ) = (0, ) ( 0 ( 4, 4) = 5, 3 5 Συνεχίζοντας με τον ίδιο τρόπο τις επαναλήψεις της μεθόδου παίρνουμε τις παρακάτω προσεγγιστικές λύσεις: x (3) 0 =, 0.08 0. x(4) =, 0. x(5) = 0 0.04

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ x (6) 0.06 =, 0 0.04 x(7) =, 0.003 0.008 x(8) = 0.0048 x (9) 0 =, 0.00064 0.006 x(0) = 0.00096 Παρατηρούμε ότι οι δύο τελευταίες προσεγγίσεις ικανοποιούν το κριτήριο τερματισμού: x (0) x (9) 0.005 για την προσέγγιση του ελαχίστου με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στον ελαχιστοποιητή: 0 x = 0 4.5 Οι Μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient) Στην ενότητα αυτή θα παρουσιάσουμε μια οικογένεια μεθόδων γραμμικής αναζήτησης, τις μεθόδους Συζυγών Κλίσεων (Conjugate Gradient) [9, 0,, 4, 34, 44, 47]. Οι μέθοδοι συζυγών κλίσεων αποτελούν μια χρήσιμη, αποδοτική και ευρέως χρησιμοποιούμενη οικογένεια μεθόδων ελαχιστοποίησης χωρίς περιορισμούς. Βασικό τους πλεονέκτημα είναι ότι δεν απαιτούν μεγάλη μνήμη. Θυμίζουμε ότι ο επαναληπτικός τύπος των μεθόδων γραμμικής αναζήτησης είναι x k+ = x k + a k p k όπου a k είναι το μήκος βήματος που θα κάνουμε πάνω στην κατεύθυνση p k. Η επιλογή της κατεύθυνσης p k ισοδυναμεί με επιλογή μεθόδου. Κάθε μέθοδος που ανήκει στην οικογένεια αυτών των μεθόδων χρησιμοποιεί μία διαφορετική κατεύθυνση. Στην συνέχεια θα παρουσιάσουμε την ανάπτυξη των μεθόδων αυτών, τον αλγόριθμο τους σε φυσική γλώσσα και θα δούμε μία αριθμητική τους εφαρμογή. 4.5. Ανάπτυξη των μεθόδων Οι μέθοδοι συζυγών κλίσεων, ξεκινούν από μια αρχική προσέγγιση x 0 και παράγουν μια ακολουθία σημείων x k, η οποία τείνει να προσεγγίσει έναν τοπικό ελαχιστοποι-

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 3 ϐ C = 0 Cauchy (847) k ϐ HS = g k, y k Hestenes-Stiefel (95) k p k, y k ϐ FR = g k Fletcher-Reeves (964) k g k ϐ PR k = g k, y k g k Polak-Ribiere (969) ϐ P k = g k, (y k y k ) p k, y k ϐ F k = g k p k, g k ϐ LS = gk, y k k p k, g k ϐ DY k = ϐ HZ k = g k p k, y k y k (y k p k p k, y k ) g k p k, y k Perry (978) Fletcher (987) Liu-Storey (99) Dai-Yuan (000) Hager-Zhang (005) Πίνακας 4.: Οι μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient) ητή x της αντικειμενικής συνάρτησης f (x). Η κατεύθυνση που χρησιμοποιεί η οικογένεια μεθόδων αυτή είναι: p k = g k, k = 0 g k + ϐ X k p k, k όπου g k = f (x k ) και ϐ X ένας συντελεστής που καθορίζει ποια μέθοδο από την οικογένεια μεθόδων συζυγών κλίσεων επιλέγουμε. Στον πίνακα (4.) παραθέτουμε [3, 0, ] k τις μεθόδους συζυγών κλίσεων και τον αντίστοιχο συντελεστή τους ϐ X, όπου k s k = x k x k και y k = g k g k. Αφού επιλέξουμε ποια από τις παραπάνω μεθόδους θα χρησιμοποιήσουμε (δηλαδή ποια κατεύθυνση p k ), πρέπει να υπολογίσουμε το μήκος βήματος a k που θα κάνουμε πάνω στην κατεύθυνση αυτή. Έπειτα, εκτελούμε τον τύπο x k+ = x k + a k p k και υπολογίζουμε την νέα προσέγγιση του ελαχιστοποιητή. Στην παρούσα διπλωματική εργασία θα ασχοληθούμε με την μέθοδο των Fletcher - Reeves. 4.5. Κριτήρια Τερματισμού Η μέθοδος Συζυγών Κλίσεων είναι επαναληπτική μέθοδος, η οποία σε κάθε επανάληψη υπολογίζει μία προσεγγιστική τιμή του ελαχιστοποιητή της συνάρτησης πάνω

4 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ στην οποία εφαρμόζεται. Αυτές οι επαναλήψεις όμως πρέπει κάποια στιγμή να σταματήσουν, ώστε να τερματίσει ο αλγόριθμος και να μας επιστρέψει κάποια λύση. Για να το πετύχουμε αυτό χρησιμοποιούμε κάποια κριτήρια τερματισμού, τα οποία τερματίζουν τον αλγόριθμο όταν ικανοποιηθεί κάποια συνθήκη, η οποία μας δείχνει ότι έχει βρεθεί ο ελαχιστοποιητής της συνάρτησης με την ακρίβεια που θέλουμε. Μερικά από τα κριτήρια που χρησιμοποιούνται είναι:. F n (x k+ ) ε, δηλαδή η κλίση της συνάρτησης στην νέα προσέγγιση x (k+) να είναι πολύ κοντά στο μηδέν.. k < MIT, δηλαδή το μέγιστο πλήθος των επαναλήψεων (ΜΙΤ) που θα επιτρέψουμε στον αλγόριθμο να κάνει, να μην ξεπερνάει κάποιο άνω όριο. όπου το ε είναι ένας πολύ μικρός θετικός αριθμός. 4.5.3 Αλγόριθμος της μεθόδου Fletcher-Reeves Στην συνέχεια, δίνουμε τον αλγόριθμο των μεθόδων Conjugate Gradient σε φυσική γλώσσα και θα χρησιμοποιήσουμε την κατεύθυνση που έδωσαν οι Fletcher - Reeves. Ο αλγόριθμος δέχεται στην είσοδο του τα παρακάτω δεδομένα: f : Την συνάρτηση f (x) x 0 : Την αρχική προσέγγιση του ελαχιστοποιητή MIT: Το μέγιστο πλήθος των επαναλήψεων που θα επιτρέψουμε στον αλγόριθμο να κάνει. Σε περίπτωση που υπερβεί το πλήθος αυτό, θεωρούμε ότι η μέθοδος αποκλίνει (πρώτο κριτήριο τερματισμού). ε: Μία τιμή που εκφράζει την ακρίβεια με την οποία θέλουμε να προσεγγίσουμε την λύση (δεύτερο κριτήριο τερματισμού).

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 5 Αλγόριθμος 9 Fletcher-Reeves (Conjugate Gradient) ΒΗΜΑ Είσοδος δεδομένων: {f, x 0, MIT, ε} ΒΗΜΑ Θέσε k = 0 και υπολόγισε:. την κλίση της f στο x 0 : g k = f (x k ). την αρχική κατεύθυνση: p k = f (x k ) 3. το μήκος βήματος a k ελαχιστοποιώντας την συνάρτηση ϕ(a k ) = f (x k + a k p k ) 4. την πρώτη προσέγγιση του ελαχιστοποιητή: x k+ = x k + a k p k ΒΗΜΑ 3 Όσο (k MIT και f (x k+ ) ε) επανάλαβε τα βήματα 4,5, αλλιώς (πήγαινε στο Βήμα 6) ΒΗΜΑ 4 Θέσε k = k + ΒΗΜΑ 5 Υπολόγισε:. την κλίση στην νέα προσέγγιση της λύσης: g k = f (x k ). τον συντελεστή: ϐ FR k = g k g k και 3. την νέα κατεύθυνση: p k = g k + ϐ k p k 4. το μήκος βήματος a k, ελαχιστοποιώντας την συνάρτηση: ϕ(a k ) = f (x k + a k p k ) 5. την νέα προσέγγιση του ελαχιστοποιητή: x k+ = x k + a k p k ΒΗΜΑ 6 Έξοδος αποτελεσμάτων: {k, x k, f (x k )} Ο αλγόριθμος δίνει στην έξοδο του τα παρακάτω αποτελέσματα: k: Το πλήθος των επαναλήψεων που χρειάστηκε για να υπολογίσει την λύση με την ακρίβεια που του ορίσαμε. x k : Τον ελαχιστοποιητή που βρήκε η μέθοδος f (x k ): Την τιμή που έχει η συνάρτηση f στον ελαχιστοποιητή που βρέθηκε (η οποία θα είναι πάρα πολύ κοντά στο ελάχιστο) 4.5.4 Εφαρμογή Στην συνέχεια παρουσιάζουμε μία αριθμητική εφαρμογή της μεθόδου.

6 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Παράδειγμα 4.5.. Να εφαρμοστεί η μέθοδος Fletcher - Reeves για τον υπολογισμό του ελαχιστοποιητή της συνάρτησης: F(x, y) = x + xy + y + 3x 3y + 4 με ακρίβεια δεκαδικών ψηφίων, δηλαδή e = 0.005. Δίνεται η αρχική εκτίμηση: x 0 =. Λύση: Η κλίση της συνάρτησης f (x, y) είναι: F(x, y) = F x F y = x + y + 3 x + y 3 η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την κλίση F στο x0: g 0 = F(x 0 ) = F(, ) = 3 9 Βήμα : Υπολογίζουμε την κατεύθυνση στην οποία θα κινηθούμε: 3 p 0 = F(x 0 ) = 9 Βήμα 3: Υπολογίζουμε το μήκος βήματος a 0 ελαχιστοποιώντας την συνάρτηση: φ(a 0 ) = F(x 0 a 0 F(x 0 )) Έχουμε: φ(a 0 ) = F(x 0 a 0 f (x 0 )) φ(a 0 ) = F((, ) a 0 ( 3, 9) φ(a 0 ) = F((, ) ( 3a 0, 9a 0 )) φ(a 0 ) = F( + 3a 0, + 9a 0 ) φ(a 0 ) = 7a 0 90a 0 + 6

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 7 Παραγωγίζοντας την σχέση παίρνουμε: φ (a 0 ) = 34a 0 90 Επιλύοντας την εξίσωση παίρνουμε φ (a 0 ) = 0 34a 0 90 = 0 34a 0 = 90 a 0 = 90 34 a 0 = 0.3846 Κάνουμε έλεγχο του ελαχίστου με την δεύτερη παράγωγο: φ (a 0 ) = (34a 0 90) = 34 > 0 Άρα, το a 0 = 0.3846 είναι το μήκος βήματος που θα χρησιμοποιήσουμε. Βήμα 4: Εφαρμόζουμε τον επαναληπτικό τύπο της μεθόδου για να εντοπίσουμε την νέα προσέγγιση: x = x 0 + a 0 p 0 ή ισοδύναμα x = + 0.3846 3 9 = +.538 3.464 = 0.846.464 η ΕΠΑΝΑΛΗΨΗ Βήμα : Υπολογίζουμε την κλίση της F στην νέα προσέγγιση της λύσης x : g = F(x ) = F( 0.846,.464) =.769 0.93 Βήμα : Υπολογίζουμε την νέα κατεύθυνση στην οποία θα κινηθούμε, σύμφωνα με την

8 ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ μέθοδο των Fletcher - Reeves: ϐ FR = g g 0 =.769 0.93 = (.769 + ( 0.93) ) 3 ( = 0.0947 ( 3) + ( 9) ) 9 p = g + ϐ FR p 0.769 = + 0.93 0.0947.769 = + 0.84 0.93 0.853.485 =.7754 3 9 Βήμα 3: Υπολογίζουμε το μήκος βήματος a ελαχιστοποιώντας την συνάρτηση: φ(a ) = f (x + a p ) Κάνοντας τις πράξεις καταλήγουμε στο αποτέλεσμα: a = 0.743 Βήμα 4: Εφαρμόζουμε τον επαναληπτικό τύπο της μεθόδου για να εντοπίσουμε την νέα προσέγγιση: x = x + a p ή ισοδύναμα x = 0.846.464 + 0.743.485.7754 =.63.795 Συνεχίζοντας την ίδια διαδικασία παίρνουμε τις νέες προσεγγίσεις του ελαχιστοποιητή της F(x): 3.040 x 3 =,.8846 x 3.035 4 =,.998 x 3.005 5 = 3.004

ΚΕΦΑΛΑΙΟ 4. ΑΡΙΘΜΗΤΙΚΗ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΩΝ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ 9 x 6 = 3.0053 3.0093, x 7 = 3.0035.9996, x 8 = 3.0004.9986 Παρατηρούμε ότι για την τελευταία προσέγγιση ισχύει το κριτήριο τερματισμού: F(x 8 ) = 0.003 = 0.004 < 0.005 0.0033 για την προσέγγιση του ελαχιστοποιητή με δύο σημαντικά ψηφία, πράγμα που σημαίνει ότι η μέθοδος συγκλίνει στον ελαχιστοποιητή: 3 x = 3

Κεφάλαιο 5 Υλοποίηση στο Matlab Το MATLAB (matrix laboratory) είναι ένα περιβάλλον αριθμητικής υπολογιστικής και μια προγραμματιστική γλώσσα τέταρτης γενιάς. Αποθηκεύει και κάνει τις πράξεις με βάση την άλγεβρα μητρών. Χρησιμοποιείται κατά κύριο λόγο για την επίλυση μαθηματικών προβλημάτων, ωστόσο μπορεί να χρησιμοποιηθεί και για προγραμματισμό. Στον τομέα των γραφικών όσον αφορά τον μαθηματικό κλάδο μπορεί να υλοποιήσει συναρτήσεις πραγματικές, μιγαδικές, πεπλεγμένες συναρτήσεις δύο μεταβλητών και άλλες. Το Matlab παρέχεται δωρεάν από το Πανεπιστήμιο Πατρών, για το λόγο αυτό, παρουσιάζουμε αρχικά έναν συνοπτικό οδηγό χρήσης του [8, 5] και στην συνέχεια υλοποιούμε τις μεθόδους που περιγράψαμε στα προηγούμενα κεφάλαια. 3

3 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 5. Οδηγός Χρήσης του Matlab 5.. Το περιβάλλον του Matlab Όταν ανοίγουμε το Matlab, στην οθόνη μας εμφανίζεται η εικόνα: Στο παράθυρο Command Window στο κέντρο της οθόνης μας δίνουμε τις εντολές στο Matlab και πατώντας το Enter εκτελούνται. Κάτω δεξιά βλέπουμε το παράθυρο Command History, στο οποίο εμφανίζονται οι εντολές που έχουμε εκτελέσει πρόσφατα. Πάνω δεξιά υπάρχει το παράθυρο Workspace στο οποίο βλέπουμε τις μεταβλητές που χρησιμοποιούμε και την τιμή που περιέχουν. Τέλος, αριστερά βλέπουμε το παράθυρο Current Folder ο οποίος μας δείχνει σε ποιο φάκελο κοιτάει το Matlab. Μπορούμε να επιλέξουμε όποιον φάκελο θέλουμε χρησιμοποιώντας τα εικονίδια ακριβώς από πάνω. Στο Matlab έχουμε την δυνατότητα να δημιουργήσουμε ένα αρχείο με πολλές ε- ντολές και να το εκτελέσουμε όλο μαζί, αντί να γράφουμε και να εκτελούμε τις εντολές μία μία στο Workspace. Ένα τέτοιο αρχείο λέγεται Πρόγραμμα (script). Για την δημιουργία του πατάμε στο μενού πάνω αριστερά New Script ή New Script.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 33 5.. Οι κανόνες του Matlab Στο Matlab υπάρχουν κάποιοι κανόνες που ελέγχουν την σωστή λειτουργία του προγράμματος. Μερικοί από αυτούς είναι. Όλες οι ποσότητες θεωρούνται πίνακες και αποθηκεύονται κατά στήλες στην μνήμη του υπολογιστή. Ακόμα και οι αριθμοί θεωρούνται πίνακες.. Η χρήση του ; στο τέλος μίας εντολής έχει ως αποτέλεσμα να γίνει ο υπολογισμός, αλλά να μην εμφανιστεί το αποτέλεσμα στην οθόνη. 3. Η πληκτρολόγηση μίας μεταβλητής και Enter εμφανίζει το περιεχόμενο της μεταβλητής στην οθόνη. 4. Οι παρενθέσεις ( ) και οι αγκύλες [ ] έχουν διαφορετική σημασία. 5. Στα ονόματα δεν βάζουμε κενά ή σύμβολα. 6. Με τα βέλη πάνω και κάτω μπορούμε να βρούμε πρόσφατα χρησιμοποιούμενες εντολές. 7. Αν θέλουμε να διακόψουμε μία γραμμή και να την συνεχίσουμε από κάτω, βάζουμε στο τέλος της προηγούμενης γραμμής τρεις τελείες (...). 8. Το σύμβολο της υποδιαστολής είναι η τελεία (.) και όχι το κόμμα (,). 5..3 Οι βασικές πράξεις στο Matlab Οι βασικές πράξεις στο Matlab και οι τελεστές που χρησιμοποιούνται για την εκτέλεση τους είναι οι γνωστές μας πράξεις από τα μαθηματικά και φαίνονται στους παρακάτω δύο πίνακες.

34 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 5..4 Σταθερές και Μεταβλητές στο Matlab Το Matlab, όπως και οι περισσότερες γλώσσες προγραμματισμού, χρησιμοποιεί μεταβλητές. Όταν ζητάμε από το Matlab να κάνει μία πράξη, δημιουργεί αυτόματα μία μεταβλητή με όνομα ans (από το anser) και αποθηκεύει σε αυτήν το αποτέλεσμα της πράξης. Αν θέλουμε να δημιουργήσουμε μία δική μας μεταβλητή και να καταχωρήσουμε σε αυτή μία τιμή, ή το αποτέλεσμα μίας πράξης, χρησιμοποιούμε τον τελεστή =, όπως παρακάτω: 3 4 5 Προσοχή στους τελεστές = και ==. Ο αριθμητικός τελεστής = χρησιμοποιείται για να καταχωρούμε τιμές σε μεταβλητές. Ο συγκριτικός τελεστής == χρησιμοποιείται για να κάνουμε έλεγχο αν τιμές είναι ίσες. Στο Matlab υπάρχουν κάποιες μεταβλητές στις οποίες έχουν καταχωρηθεί κάποιες σταθερές τιμές. Οι μεταβλητές αυτές καλούνται σταθερές και στην συνέχεια βλέπουμε μερικές από αυτές:. Το π 3.459, το οποίο το καλούμε γράφοντας pi.. Το άπειρο ( ), το οποίο το καλούμε γράφοντας Inf.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 35 3. Το NaN (Not a Number), το οποίο χρησιμοποιείται για να μας πει ότι το αποτέλεσμα κάποιας πράξης δεν είναι αριθμός. 5..5 Εσωτερικές συναρτήσεις στο Matlab Εκτός από τις σταθερές που είναι αποθηκευμένες μέσα στο Matlab, υπάρχουν και πολλές συναρτήσεις αποθηκευμένες σ αυτό, που μπορούμε να χρησιμοποιήσουμε γράφοντας απλά το όνομα τους και μέσα σε παρένθεση το όρισμά τους. Στο παρακάτω πίνακα δίνουμε τις ποιο χρήσιμες από αυτές: 5..6 Λίστες στο Matlab Οι λίστες είναι ένα από τα πιο βασικά εργαλεία του Matlab. Χρησιμοποιούνται αντί για τους πίνακες, που έχουμε δει σε άλλες γλώσσες προγραμματισμού, που σημαίνει ότι μας δίνουν την δυνατότητα να αποθηκεύουμε πολλά δεδομένα στην μορφή μονοδιάστατου ή και πολυδιάστατου πίνακα. Επίσης, μπορούμε να κάνουμε πράξεις μεταξύ των πινάκων, όπως ορίζονται στην Γραμμική Άλγεβρα. Δημιουργία και χειρισμός Λιστών Για να ορίσουμε μία λίστα χρησιμοποιούμε τετραγωνικές αγκύλες [ ], μέσα στις οποίες βάζουμε τα στοιχεία της. Για την δημιουργία μονοδιάστατου πίνακα χωρίζουμε τα

36 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB στοιχεία με κόμμα (,) ή κενό ( ), ενώ για την δημιουργία δισδιάστατου πίνακα, χωρίζουμε τις στήλες με κόμμα (,) ή κενό ( ) και τις γραμμές με ελληνικό ερωτηματικό (;) ή πατώντας Enter και γράφοντας στην από κάτω γραμμή. Τα στοιχεία μίας λίστας χαρακτηρίζονται από δείκτες που δηλώνουν την θέση του κάθε στοιχείου, όπως την γραμμή και την στήλη. Αν για παράδειγμα θέλουμε να αναφερθούμε στο τρίτο στοιχείο της μονοδιάστατης λίστας L, γράφουμε L(3), ενώ αν θέλουμε να αναφερθούμε στο στοιχείο της δισδιάστατης λίστας L4 που βρίσκεται στην η γραμμη και στην 3η στήλη, γράφουμε L4(,3). Η διαγραφή μιας γραμμής ή στήλης κάποιας λίστας γίνεται με την εκχώρηση της κενής λίστας [] στην θέση της. Η ένωση δύο ή περισσότερων λιστών γίνεται με την εντολή L3=[L,L]. Συναρτήσεις για Λίστες Το Matlab έχει αρκετές ενσωματωμένες συναρτήσεις για λίστες, μερικές από τις οποίες βλέπουμε στον παρακάτω πίνακα: Ειδικές εντολές δημιουργίας Λίστας Στο Matlab υπάρχουν κάποιες ακόμα συναρτήσεις που δημιουργούν κάποιες λίστες που χρησιμοποιούνται συχνά στην Γραμμική Άλγεβρα. Στον πίνακα παρακάτω βλέπουμε μερικές από αυτές.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 37 Πράξεις με Λίστες Οι πράξεις μεταξύ λιστών που μπορούμε να κάνουμε στο Matlab είναι οι ακόλουθες:. Πρόσθεση ή αφαίρεση αριθμού σε λίστα. Ο αριθμός προστίθεται ή αφαιρείται αντίστοιχα σε όλα τα στοιχεία της λίστας.. Πολλαπλασιασμός ή διαίρεση λίστας με αριθμό. Ο αριθμός πολλαπλασιάζεται ή διαιρείται αντίστοιχα με όλα τα στοιχεία της λίστας. 3. Πρόσθεση και αφαίρεση μεταξύ λιστών ίδιας διάστασης. Η πράξη γίνεται ό- πως η πρόσθεση και η αφαίρεση μητρώων στην γραμμική άλγεβρα. 4. Πολλαπλασιασμός και διαίρεση μεταξύ λιστών ίδιας διάστασης. Η λίστα που προκύπτει είναι ίδιας διάστασης με τις αρχικές και κάθε στοιχείο της προκύπτει από το γινόμενο (ή το πηλίκο αντίστοιχα) των αντίστοιχων στοιχείων των αρχικών λιστών. Οι πράξεις αυτές δεν έχουν καμία σχέση με τον πολλαπλασιασμό μητρώων από την Γραμμική Άλγεβρα. Για τον λόγο αυτό, όταν θέλουμε να κάνουμε την πράξη αυτή, βάζουμε μία τελεία (.) πριν από τον τελεστή του πολλαπλασιασμού (*) ή της διαίρεσης (/) αντίστοιχα.

38 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 5. Δύναμη λίστας. Η λίστα που προκύπτει είναι ίδιας διάστασης με την αρχική και κάθε της στοιχείο είναι υψωμένο στην δύναμη. Η πράξη αυτή δεν έχει καμία σχέση με την δύναμη μητρώου από την Γραμμική Άλγεβρα. Για τον λόγο αυτό, βάζουμε μία τελεία (.) πριν τον τελεστή δύναμης όταν θέλουμε να εκτελέσουμε την πράξη αυτή. 6. Πολλαπλασιασμός λιστών ως μητρώα Γραμμικής Άλγεβρας. Ο πολλαπλασιασμός εκτελείται μόνο όταν το πλήθος των στηλών της πρώτης λίστας ισούται με το πλήθος των γραμμών της δεύτερης και το αποτέλεσμα προκύπτει όπως ο- ρίζεται ο πολλαπλασιασμός μητρώων στην Γραμμική Άλγεβρα. 7. Δύναμη λίστας ως μητρώο Γραμμικής Άλγεβρας. Η πράξη αυτή εκτελείται μόνο σε τετραγωνική λίστα και το αποτέλεσμα είναι όπως ορίζεται στην Γραμμική Άλγεβρα. 8. Ανάστροφη λίστα. Η λίστα που προκύπτει από την πράξη αυτή έχει ως γραμμές τις στήλες της αρχική λίστας και ως στήλες τις γραμμές της αρχικής. Ο τελεστής της είναι ο τόνος ( ) για πραγματικούς αριθμούς, ενώ τελεία και τόνος μαζί (. ) όταν έχουμε μιγαδικούς (άρα και πραγματικούς) αριθμούς. 9. Μέτρο διανύσματος. Ορίζεται σε μονοδιάστατη λίστα και υπολογίζει το μέτρο του διανύσματος που αυτή εκφράζει. Η πράξη αυτή εκτελείται με την χρήση της συνάρτησης norm(l). 0. Εσωτερικό γινόμενο δύο διανυσμάτων. Ορίζεται σε δύο μονοδιάστατες λίστες και υπολογίζει το εσωτερικό τους γινόμενο όπως αυτό ορίζεται από την Γραμμική Άλγεβρα. Πραγματοποιείται με τη χρήση της συνάρτησης dot(l,l).. Εξωτερικό γινόμενο δύο διανυσμάτων. Ορίζεται σε δύο μονοδιάστατες λίστες και υπολογίζει το εξωτερικό τους γινόμενο όπως αυτό ορίζεται από την Γραμμική Άλγεβρα. Πραγματοποιείται με τη χρήση της συνάρτησης cross(l,l).. Ορίζουσα μητρώου. Ορίζεται μόνο σε τετραγωνικές λίστες. Πραγματοποιείται με τη χρήση της συνάρτησης det(l). 3. Αντίστροφο μητρώου. Ορίζεται μόνο σε τετραγωνικές λίστες με ορίζουσα διάφορη του μηδενός. Πραγματοποιείται με τη χρήση της συνάρτησης inv(l).

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 39 4. Ιδιοτιμές-Ιδιοδιανύσματα μητρώου. Ορίζεται μόνο σε τετραγωνικές λίστες και πραγματοποιείται με την συνάρτηση eig(l). Η συνάρτηση αυτή επιστρέφει δύο τετραγωνικές λίστες. Η διαγώνιος της δεύτερης λίστας εκφράζει τις ιδιοτιμές της L, ενώ οι στήλες της πρώτης λίστας εκφράζουν τα ιδιοδιανύσματα της L. 5. Διάφορες συναρτήσεις επάνω σε λίστα. Εστω μία συνάρτηση f : R R. Η πράξη f(l) επιστρέφει μία λίστα ίδιας διάστασης με την L, όπου κάθε στοιχείο της έχει για τιμή την τιμή της f στο αντίστοιχο στοιχείο της L. Παρακάτω δίνουμε μερικά παραδείγματα στα οποία εφαρμόζουμε κάποιες από τις εσωτερικές συναρτήσεις του Matlab στις λίστες L, L, L3, L4 των προηγούμενων παραδειγμάτων. 5..7 Προγραμματισμός με Matlab Όπως αναφέραμε παραπάνω, στο Matlab έχουμε την δυνατότητα, εκτός από το να δίνουμε μεμονωμένες εντολές, να συντάξουμε ένα πρόγραμμα, όπως κάνουμε σε μία γλώσσα προγραμματισμού. Στην ενότητα αυτή θα κάνουμε μία εισαγωγή στον προγραμματισμό με Matlab. Σύνταξη και εκτέλεση ενός προγράμματος Αρχικά, κάνουμε κλικ στην καρτέλα New Script. Το Matlab μας ανοίγει το παρακάτω παράθυρο.

40 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB Στο παράθυρο αυτό γράφουμε το πρόγραμμα μας, το οποίο αποτελείται από εντολές που έχουμε δει μέχρι στιγμής και από κάποιες ακόμα που θα δούμε στην συνέχεια. Έπειτα, αποθηκεύουμε το πρόγραμμα κάνοντας κλικ στο Save και δίνοντας του ένα όνομα με κατάληξη.m. Για να εκτελέσουμε το πρόγραμμα, πρέπει να φορτώσουμε στο Matlab τον φάκελο στον οποίο έχουμε αποθηκεύσει το πρόγραμμα. Στην καρτέλα Current Folder επίλεγουμε

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 4 ακριβώς από πάνω το εικονίδιο Browse for folder και βρίσκουμε τον φάκελο στον οποίο αποθηκεύσαμε το πρόγραμμα. Έπειτα κάνουμε κλικ στο run Σε περίπτωση που ξεχάσαμε να φορτώσουμε στο Matlab τον φάκελο που βρίσκεται το πρόγραμμα, μας εμφανίζει αντίστοιχο μήνυμα. Για να δούμε τα αποτελέσματα πηγαίνουμε στο αρχικό παράθυρο του Μatlab, στην καρτέλα Command Window έχει εμφανιστεί το αποτέλεσμα του προγράμματος.

4 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB Βασικές δομές προγραμματισμού Στον προγραμματισμό υπάρχουν τρεις βασικές δομές:. Δομή ακολουθίας κατά την οποία οι εντολές ενός προγράμματος εκτελούνται διαδοχικά η μία μετά την άλλη, χωρίς εξαίρεση. Σε περίπτωση που θέλουμε να δώσουμε την δυνατότητα στον χρήστη να δώσει μία τιμή από το πληκτρολόγιο (input), χρησιμοποιούμε την εντολή: x = input( dwse mia timi: ) Επίσης, για να εμφανιστεί στην οθόνη η τιμή μιας μεταβλητής, αρκεί να γράψουμε το όνομα της μεταβλητής χωρίς ελληνικό ερωτηματικό (;) στο τέλος. Αν όμως θέλουμε να εμφανιστεί η τιμή μιας μεταβλητής χωρίς το όνομα της, χρησιμοποιούμε την εντολή: disp(a). Δομή επιλογής κατά την οποία ένα πρόγραμμα επιλέγει μόνο του ποιες εντολές θα εκτελέσει. Η δομή επιλογής υλοποιείται με την εντολή if ως ακολούθως: Σε περίπτωση που θέλουμε να εκτελεστούν κάποιες εντολές μόνο αν ισχύει κάποια συνθήκη: Σε περίπτωση που θέλουμε να εκτελεστούν κάποιες εντολές αν ισχύει κάποια συνθήκη, ενώ σε περίπτωση που δεν ισχύει η συνθήκη αυτή να εκτελεστούν κάποιες άλλες εντολές :

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 43 Σε περίπτωση που θέλουμε να εκτελεστούν κάποιες εντολές αν ισχύει κάποια συνθήκη, κάποιες άλλες εντολές αν ισχύει κάποια άλλη συνθήκη, ενώ σε περίπτωση που δεν ισχύει καμία από τις συνθήκες αυτές να εκτελεστούν κάποιες εντολές ν: 3. Δομή επανάληψης κατά την οποία ένα μέρος του προγράμματος εκτελείται περισσότερες από μία φορές. Η δομή επανάληψης υλοποιείται με την εντολή for, ή με την εντολή while: Η εντολή for χρησιμοποιείται συνήθως όταν γνωρίζουμε πόσες φορές θέλουμε να εκτελεστεί κάποιο κομμάτι κώδικα (δηλαδή το πλήθος επαναλήψεων). Χρησιμοποιούμε συνήθως την μεταβλητή i με την βοήθεια της οποίας ορίζουμε το πλήθος των επαναλήψεων. Η εντολή while χρησιμοποιείται όταν θέλουμε να εκτελείται ένα κομμάτι κώδικα όσο ισχύει κάποια συνθήκη. Όταν σταματήσει να ισχύει η συνθήκη αυτή, η δομή τερματίζει. 5..8 Συναρτήσεις στο Matlab Στις προηγούμενες ενότητες είδαμε συναρτήσεις οι οποίες ήταν προγραμματισμένες από το Matlab, τις λεγόμενες εσωτερικές συναρτήσεις. Το Matlab όμως μας δίνει την δυνατότητα να προγραμματίσουμε και να δημιουργήσουμε δικές μας (εξωτερικές) συναρτήσεις. Οι συναρτήσεις που μπορούμε να δημιουργήσουμε στο Matlab είναι από πολύ απλές μαθηματικές σχέσεις μέχρι πολύπλοκα υποπρογράμματα. Για την δημιουργία μίας συνάρτησης υπάρχουν δύο τρόποι. Ο ένας τρόπος είναι η δημιουργία μίας Μ- συνάρτησης, με τον οποίο μπορούμε να δημιουργήσουμε απλές και σύνθετες συναρτή-

44 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB σεις. Ο άλλος τρόπος είναι η δημιουργία οδηγού συνάρτησης, τον οποίο χρησιμοποιούμε συνήθως για μαθηματικές συναρτήσεις. Μ-Συναρτήσεις Ο προγραμματισμός των Μ-συναρτήσεων στηρίζεται πάνω στις δομές που περιγράψαμε στην προηγούμενη ενότητα. Ένα πρόγραμμα (script) εκτελείται μέσα στον βασικό χώρο λειτουργίας του Matlab, με αποτέλεσμα να μπορούν να χρησιμοποιηθούν από το script αποτελέσματα που βρίσκονται ήδη στον χώρο αυτό και αντίστροφα. Αντίθετα, μία Μ-συνάρτηση (m-function) δημιουργείται σε έναν ανεξάρτητο χώρο του συστήματος, ο οποίος δεν αλληλεπιδρά με τον βασικό χώρο λειτουργίας, με εξαίρεση μερικές προεπιλεγμένες μεταβλητές. Οι συναρτήσεις αυτές είναι ξεχωριστά αρχεία του Matlab (.m) και γι αυτό τις καλούμε Μ-Συναρτήσεις. Για την δημιουργία μίας Μ-συνάρτησης κάνουμε κλικ στην καρτέλα New Function. Στην οθόνη μας εμφανίζεται ο κειμενογράφος του Matlab, ο οποίος μας δίνει και την δομή της συνάρτησης.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 45 Στον χώρο αυτό μπορούμε να δημιουργήσουμε μία συνάρτηση και αφού την αποθηκεύσουμε, να την χρησιμοποιήσουμε, όπως ακριβώς καλούμε και μία εσωτερική συνάρτηση. Μία συνάρτηση έχει την παρακάτω δομή: Οι παράμετροι εισόδου είναι μεταβλητές που περιέχουν τα δεδομένα που χρειάζεται κάποια συνάρτηση για να λειτουργήσει (είσοδος) και οι παράμετροι εξόδου είναι οι μεταβλητές που περιέχουν τα αποτελέσματα που υπολογίζει η συνάρτηση και επιστρέφει στο πρόγραμμα που την καλεί (έξοδος).

46 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB Οδηγός Συνάρτησης Ο οδηγός συνάρτησης είναι ένας τρόπος δημιουργίας μίας νέας εξωτερικής συνάρτησης ή χρήσης μίας ήδη υπάρχουσας εσωτερικής ή εξωτερικής συνάρτησης. Χρησιμοποιείται:. Σε περιπτώσεις που καλούμε πολλές φορές εξωτερικές συναρτήσεις. Όταν καλούμε μία συνάρτηση, τότε το πρόγραμμα κάνει αναζήτηση στις διευθύνσεις που αυτή έχει πρόσβαση. Η διαδικασία αυτή είναι χρονοβόρα και όταν γίνονται πολλές κλήσεις μίας ή περισσότερων συναρτήσεων, τότε το πρόγραμμα καθυστερεί αισθητά να ολοκληρωθεί. Ο οδηγός συνάρτησης είναι μία παράμετρος στην οποία αποθηκεύονται όλες οι πληροφορίες την πρώτη φορά που γίνεται κλήση της συνάρτησης. Έτσι, στις επόμενες κλήσεις της ίδιας συνάρτησης είναι διαθέσιμες όλες οι πληροφορίες χωρίς να γίνεται νέα αναζήτηση, με αποτέλεσμα να εκτελούνται πολύ γρηγορότερα οι κλήσεις της συνάρτησης.. Σε περιπτώσεις που θέλουμε να βάλουμε μία συνάρτηση ως παράμετρο σε μία άλλη συνάρτηση. 3. Σε περιπτώσεις που θέλουμε να δημιουργήσουμε μία μαθηματική συνάρτηση και να βρούμε τις ρίζες της, τα ακρότατα της και άλλους μαθηματικούς υπολογισμούς.. Για την δημιουργία ενός οδηγού μίας εσωτερικής συνάρτησης χρησιμοποιούμε την ακόλουθη εντολή: onoma_odigou= @onoma_esoterikis_synartisis. Για την δημιουργία ενός οδηγού μίας εξωτερικής συνάρτησης χρησιμοποιούμε την ακόλουθη εντολή: onoma_odigou= @onoma_eksoterikis_synartisis 3. Για την δημιουργία μίας νέας συνάρτησης με χρήση οδηγού, δημιουργούμε έναν οδηγό σε μία ανώνυμη συνάρτηση με την χρήση της ακόλουθης εντολής: onoma_odigou= @ (x,y,...) mathimatiki_ekfrasi_synartisis Τα ορίσματα της συνάρτησης που δημιουργούμε δίνονται μετά το σύμβολο @,ύστερα αφήνουμε ένα κενό και γράφουμε τον τύπο.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 47 Ρίζες μονοπαραμετρικής εξίσωσης Σε προηγούμενη ενότητα αναφέραμε ότι μία χρήση του οδηγού συνάρτησης γίνεται στην περίπτωση που θέλουμε να υπολογίσουμε την ρίζα μίας εξίσωσης f (x) = 0. Για τον υπολογισμό μίας ρίζας της εξίσωσης f (x) = 0 (όπου f είναι οδηγός συνάρτησης) κοντά σε κάποια τιμή x0 του πεδίου ορισμού της χρησιμοποιούμε την εντολή: fzero(f,x0) Για παράδειγμα, ο υπολογισμός μίας ρίζας της f (x) = x 5x + 6 = 0 κοντά στο x0 = 0 γίνεται ως ακολούθως: 3 4 5 6 7 Πράγματι οι ρίζες της f (x) = 0 είναι οι x = και x = 3. Αυτή που είναι πιο κοντά στο μηδέν είναι η x =. Τοπικά Ακρότατα συνάρτησης Για τον υπολογισμό του τοπικού ελαχιστοποιητή μίας συνάρτησης f (όπου f είναι οδηγός συνάρτησης) σε ένα διάστημα [x, x] του πεδίου ορισμού της χρησιμοποιούμε την εντολή: fminbnd(f,x,x) Για τον υπολογισμό και της τιμής του τοπικού ελαχίστου δίνουμε την εντολή ως ακολούθως: [x,fx]=fminbnd(f,x,x) Για παράδειγμα, ο υπολογισμός του ελαχιστοποιητή και του τοπικού ελαχίστου της f (x) = x 5x + 6 μέσα στο [ 5, 5] γίνεται ως ακολούθως:

48 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 Πράγματι, για x =.5 η f παρουσιάζει τοπικό ελάχιστο το f (.5) = 0.5. Για τον υπολογισμό τοπικού μεγιστοποιητή μίας συνάρτησης f (όπου f είναι οδηγός συνάρτησης) σε ένα διάστημα [x, x] του πεδίου ορισμού της χρησιμοποιούμε την ίδια εντολή στην αντίθετη συνάρτηση της f, δηλαδή την g = f (όπου g είναι οδηγός συνάρτησης): fminbnd(g,x,x) Για παράδειγμα, ο υπολογισμός του μεγιστοποιητή και του τοπικού μεγίστου της f (x) = x x μέσα στο [ 5, 5] γίνεται ως ακολούθως: 3 4

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 49 5 6 7 8 0 9 3 4 5 6 7 8 Πράγματι, για x = η f παρουσιάζει τοπικό μέγιστο το f ( ) = 0. 5..9 Γραφικές Παραστάσεις στο Matlab Ένας τρόπος να κατανοήσουμε καλύτερα τα αποτελέσματα ενός προβλήματος που μελετάμε είναι οι γραφικές παραστάσεις. Το Matlab μας παρέχει ένα σύνολο ε- ντολών με τις οποίες μπορούμε να δημιουργήσουμε γραφικές παραστάσεις τόσο στο επίπεδο, όσο και στον χώρο. Γραφικές Παραστάσεις στο επίπεδο Η βασική εντολή δημιουργίας γραφικής παράστασης στο επίπεδο είναι: plot(x,y) όπου x,y μονοδιάστατες λίστες. Αν για παράδειγμα θέλουμε να φτιάξουμε την γραφική παράσταση της συνάρτησης f (x) = sin(x) λειτουργούμε ως ακολούθως. Αρχικά, δημιουργούμε μία λίστα x που εκφράζει τον άξονα x x, η οποία περιέχει κοντινές τιμές σε ένα διάστημα, έστω (0, 4π). Έπειτα, δημιουργούμε μία λίστα y= sin(x). Τέλος, χρησιμοποιούμε την εντολή plot(x,y).

50 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 Το Matlab μας ανοίγει ένα νέο παράθυρο Figure που περιέχει την γραφική παράσταση της συνάρτησης. Το Matlab μας δίνει την δυνατότητα να επεξεργαστούμε τις προεπιλεγμένες παραμέτρους της γραφικής παράστασης, όπως για παράδειγμα το εύρος των αξόνων x x, y y. Στην συνέχεια θα παρουσιάσουμε κάποιους τρόπους διαμόρφωσης μερικών παραμέτρων.. Καθορισμός εύρους αξόνων. axis([xmmin,xmax,ymin,ymax]) Οι δύο πρώτοι αριθμοί καθορίζουν τον άξονα x x και οι άλλοι δύο τον y y.. Τίτλος αξόνων. xlabel( onoma ) ylabel( onoma )

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 5 Η πρώτη εντολή δίνει όνομα στον άξονα x x και η δεύτερη στον y y. 3. Τίτλος γραφήματος title( titlos ) 4. Εισαγωγή πλέγματος grid on 5. Διαμόρφωση καμπύλης plot(x,y, χσγ ) όπου: χ: επιλέγει το χρώμα της καμπύλης σ: επιλέγει το σύμβολο που θα τοποθετηθεί για κάθε σημείο γ: επιλέγει το είδος της γραμμής Οι τρεις αυτές παράμετροι παίρνουν τιμές ανάλογα με τον πίνακα που ακολουθεί: Το Matlab μας δίνει την δυνατότητα να δημιουργήσαμε περισσότερες από μία καμπύλες σε ένα γράφημα. Αυτό γίνεται με τις εντολές:

5 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB hold on hold off Η διαδικασία έχεις ως εξής: Πριν ξεκινήσουμε να δημιουργούμε γραφικές παραστάσεις, δίνουμε στο Matlab την ε- ντολή hold on. Στην συνέχεια, δημιουργούμε με τους τρόπους που έχουμε αναφέρει, τις γραφικές μας παραστάσεις, οι οποίες κάθονται η μία πάνω στην άλλη. Τέλος, δίνουμε στο Matlab την εντολή hold off. Η εντολή plot παρέχει βέβαια την δυνατότητα δημιουργίας πολλών γραφικών παραστάσεων σε ένα σχήμα, χωρίς την χρήση των παραπάνω εντολών: plot(x,y, χσγ,x,y, χσγ, ) Γραφικές Παραστάσεις στον χώρο Στο Matlab, εκτός από γραφικές παραστάσεις στο επίπεδο, έχουμε την δυνατότητα να δημιουργήσουμε γραφικές παραστάσεις στον χώρο. Για να δημιουργήσουμε την γραφική παράσταση μίας καμπύλης στον χώρο χρησιμοποιούμε την εντολή: plot(x,y,z, χσγ ) Παράδειγμα: Για να φτιάξουμε την γραφική παράσταση της έλικας {sin(t), cos(t), t}, για t (0, 8π), γράφουμε τις παρακάτω εντολές: 3 4

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 53 Για να δημιουργήσουμε την γραφική παράσταση μίας επιφάνειας στον χώρο z = f (x, y) λειτουργούμε ως ακολούθως:. Δημιουργούμε μία ακολουθία σημείων x που εκφράζει τον άξονα x x και μία ακολουθία σημείων y που εκφράζει τον άξονα y y.. Χρησιμοποιούμε τις δύο αυτές λίστες για να δημιουργήσουμε το πλέγμα σημείων [X,Y] στο επίπεδο xy, πάνω στα οποία θα υπολογίσουμε τις τιμές τις z = f (X, Y ). Αυτό γίνεται με την εντολή: [X,Y]=meshgrid(x,y); 3. Υπολογίζουμε τις τιμές της z = f (X, Y ) πάνω στο πλέγμα [Χ,Υ]. Αν f (x, y) = sin ( x + y ) x + y

54 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB τότε δίνουμε την εντολή: 4. Δημιουργούμε την γραφική παράσταση της επιφάνειας χρησιμοποιώντας την ε- ντολή: mesh(x,y,z) ή την εντολή surf(x,y,z) Συγκεντρωτικά έχουμε: 3 4 5 6 ή αντίστοιχα: 3 4 5 6

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 55 5. Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Γραμμικών Συστημάτων 5.. Η Γραμμική Μέθοδος Jacobi Θα εφαρμόσουμε την γραμμική μέθοδο Jacobi για να λύσουμε το σύστημα: 4 3 x x = Δημιουργούμε, λοιπόν μία συνάρτηση που υλοποιεί την γραμμική μέθοδο Jacobi: 3 4 5 6 7 8 9 0 3 4

56 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48 49 50

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 57 5 5 53 54 55 56 57 58 59 60 6 6 63 64 65 66 67 68 69 70 7 7 73 74 75 76 77 78 79 80 8 8 83 84 85 86 87

58 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 88 89 90 9 9 93 94 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση GR_JACOBI ως εξής: 3 4 5 6 7 8 9 0 3 4 5 6 Δίνουμε ως είσοδο: 4 A =, 3 b =, 4 x(0) =, MIT = 000 και e = 0.00005. 0.0909 Η συνάρτηση μας δίνει στην έξοδο την λύση x = σε επαναλήψεις. 0.6364

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 59 5.. Η Γραμμική Μέθοδος Gauss-Seidel Θα εφαρμόσουμε την γραμμική μέθοδο Gauss-Seidel για να λύσουμε το σύστημα: 4 3 x x = Δημιουργούμε, λοιπόν μία συνάρτηση που υλοποιεί την γραμμική μέθοδο Gauss-Seidel: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8

60 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48 49 50 5 5 53 54 55 56 57 58 59 60 6 6 63 64 65

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 6 66 67 68 69 70 7 7 73 74 75 76 77 78 79 80 8 8 83 84 85 86 87 88 89 90 9 9 93 94 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση GR_GAUSS_SEIDEL ως εξής: 3 4 5

6 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 6 7 8 9 0 3 4 5 6 Δίνουμε ως είσοδο: 4 A =, 3 b =, 4 x(0) =, MIT = 000 και e = 0.00005. 0.0909 Η συνάρτηση μας δίνει στην έξοδο την λύση x = σε 7 επαναλήψεις. 0.6364 Παρατήρηση 5... Η μέθοδος Jacobi είχε το ίδιο αποτέλεσμα σε επαναλήψεις, ενώ η Gauss-Seidel σε 7. 5..3 Η Γραμμική Μέθοδος Συζυγών Κλίσεων Θα εφαρμόσουμε την γραμμική μέθοδο Συζυγών Κλίσεων για να λύσουμε το σύστημα: 3 x x = 5 4 Δημιουργούμε, λοιπόν μία συνάρτηση που υλοποιεί την γραμμική μέθοδο Συζυγών Κλίσεων: 3 4 5 6 7

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 63 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση GR_CONJUGATE_GRADIENT ως εξής:

64 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 Δίνουμε ως είσοδο: 4 A =, 3 b =, x(0) =. Η συνάρτηση μας δίνει στην έξοδο την λύση x = 0.0909 0.6364 σε επαναλήψεις. 5.3 Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Μη Γραμμικών Συστημάτων 5.3. Μέθοδος Newton Θα εφαρμόσουμε την μέθοδο Newton στην συνάρτηση: f (x, x ) = ( x 3 3x x ), 3x x x 3 Δημιουργούμε, λοιπόν στο Matlab μία συνάρτηση (function) ως εξής: 3 4 Το Ιακωβιανό μητρώο της συνάρτησης είναι: 3x J F (x) = 3x 6x x 6x x 3x 3x Δημιουργούμε μία νέα συνάρτηση στο Matlab στην οποία δίνουμε το Ιακωβιανό μητρώο και ζητάμε από το Matlab να υπολογίσει το αντίστροφο του με την εντολή inv.

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 65 3 4 5 6 Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μέθοδο του Newton: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7

66 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 8 9 30 3 3 33 34 35 36 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση NEWTON ως εξής: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει στην έξοδο την λύση x = σε 7 επαναλήψεις. 0

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 67 5.3. Μέθοδος Broyden Θα εφαρμόσουμε την μέθοδο Broyden στην συνάρτηση: f (x, x ) = ( x 3 3x x ), 3x x x 3 Δημιουργούμε, λοιπόν στο Matlab μία συνάρτηση (function) ως εξής: 3 4 Το Ιακωβιανό μητρώο της συνάρτησης είναι: J F (x) = 3x 3x 6x x 6x x 3x 3x Δημιουργούμε μία νέα συνάρτηση στο Matlab, η οποία υπολογίζει το Ιακωβιανό μητρώο: 3 Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μέθοδο του Broyden ως εξής: 3 4 5 6 7 8 9 0

68 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση BROYDEN ως εξής:

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 69 3 4 5 6 7 8 9 0 3 4 5 6 7 8 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει στην έξοδο την λύση x = σε επαναλήψεις. 0 Παρατήρηση 5.3.. Η μέθοδος του Newton είχε το ίδιο αποτέλεσμα σε 7 επαναλήψεις, ενώ του Broyden σε. 5.3.3 Μη Γραμμική μέθοδος Jacobbi Θα εφαρμόσουμε την μη γραμμική μέθοδο Jacobi στην συνάρτηση: f (x) = ( x + x 3, x + x 9 ) Δημιουργούμε, λοιπόν στο Matlab δύο συναρτήσεις (function) ως εξής:

70 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 3 Για τον υπολογισμό των ριζών των εξισώσεων χρησιμοποιούμε ή την εντολή fzero, ή μία παραλλαγή της μεθόδου Newton-Raphson, κατά την οποία υπολογίζουμε προσεγγιστικά την τιμή της παραγώγου της f σε κάποιο σημείο x 0, με τον τύπο: Παρακάτω δίνουμε την συνάρτηση αυτή. f (x 0 ) = f (x 0 + e) f (x 0 ) e 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 7 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μη γραμμική μέθοδο Jacobi: 3 4 5 6 7 8 9 0

7 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 73 49 50 5 5 53 54 55 56 57 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση MH_GR_JACOBI ως εξής: 3 4 5 6 7 8 0 9 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει 0 στην έξοδο την λύση x = σε 0 επαναλήψεις. 3 5.3.4 Μη Γραμμική μέθοδος Gauss-Seidel Θα εφαρμόσουμε την μη γραμμική μέθοδο Gauss-Seidel στην συνάρτηση: f (x) = ( x + x 3, x + x 9 ) Δημιουργούμε, στο Matlab δύο συναρτήσεις (function) ως εξής:

74 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 3 Για τον υπολογισμό των ριζών των εξισώσεων χρησιμοποιούμε ή την εντολή fzero, ή την παραλλαγή της μεθόδου Newton-Raphson, την οποία δώσαμε στην προηγούμενη ενότητα. Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μη γραμμική μέθοδο Gauss- Seidel: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 75 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48 49 50 5 5 53 54 55 56

76 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση MH_GR_GAUSS_SEIDEL ως εξής: 3 4 5 6 7 8 0 9 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει 0 στην έξοδο την λύση x = σε 6 επαναλήψεις. 3 Παρατήρηση 5.3.. Η μέθοδος Jacobi είχε το ίδιο αποτέλεσμα σε 0 επαναλήψεις, ενώ η Gauss-Seidel σε 6. 5.4 Υλοποίηση Αριθμητικών Μεθόδων Επίλυσης Προβλημάτων Βελτιστοποίησης 5.4. Μέθοδος Απότομης Κατάβασης (Steepest Descent) Θα εφαρμόσουμε την μέθοδο Steepest Descent στην συνάρτηση: f (x, x ) = x + x x + x + 3x 3x + 4 Δημιουργούμε, λοιπόν στο Matlab μία συνάρτηση (function) ως εξής:

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 77 3 Η κλίση της f είναι: f (x, x) = x + x + 3 x + x 3 Δημιουργούμε μία νέα συνάρτηση στο Matlab στην οποία δίνουμε την κλίση της f. 3 Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μέθοδο Steepest Descent: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0

78 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση STEEPEST_DESCENT ως εξής: 3 4 5 6 7 8 0 9 3 4

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 79 5 6 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει 3 στην έξοδο το ελάχιστο x = και την τιμή του ελαχίστου f (x) = 5 σε 6 επαναλήψεις. 3 5.4. Οι μέθοδοι Συζυγών Κλίσεων (Conjugate Gradient) Θα εφαρμόσουμε την μέθοδο Conjugate Gradient με την κατεύθυνση των Fletcher - Reeves στην συνάρτηση: f (x, x ) = x + x x + x + 3x 3x + 4 Δημιουργούμε, λοιπόν στο Matlab μία συνάρτηση (function) ως εξής: 3 Η κλίση της f είναι: f (x, x) = x + x + 3 x + x 3 Δημιουργούμε μία νέα συνάρτηση στο Matlab στην οποία δίνουμε την κλίση της f. 3 Για την εκτέλεση της μεθόδου θα χρησιμοποιήσουμε τις συνθήκες Wolfe για τον μη α- κριβή υπολογισμό του μήκους βήματος a. Έτσι, δημιουργούμε μία νέα συνάρτηση που υλοποιεί την διαδικασία αυτή:

80 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 30 3 3 33 34 35 36 37 38

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 8 39 40 4 4 43 44 45 Τέλος, δημιουργούμε μία συνάρτηση που υλοποιεί την μέθοδο Conjugate Gradient: 3 4 5 6 7 8 9 0 3 4 5 6 7 8 9 0 3 4 5 6 7

8 ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 8 9 30 3 3 33 34 35 36 37 38 39 40 4 4 43 44 45 46 47 48 49 50 5 5 53 54 55 56 57 58 59 60 6 Έπειτα πηγαίνουμε στο Command Window και καλούμε την συνάρτηση CONJUGATE_GRADIENT ως εξής:

ΚΕΦΑΛΑΙΟ 5. ΥΛΟΠΟΙΗΣΗ ΣΤΟ MATLAB 83 3 4 5 6 7 8 0 9 3 4 5 6 Δίνουμε ως είσοδο x (0) 5 =, MIT = 000 και e = 0.00005. Η συνάρτηση μας δίνει 3 στην έξοδο το ελάχιστο x = και την τιμή του ελαχίστου f (x) = 5 σε 5 επαναλήψεις. 3

Κεφάλαιο 6 Αριθμητικά Αποτελέσματα Τις μεθόδους που δημιουργήσαμε τις τρέξαμε για διάφορες συναρτήσεις και αρχικές τιμές. Στην συνέχεια παρουσιάζουμε κάποια από τα αποτελέσματα που πήραμε σε πίνακες, με σκοπό να συγκρίνουμε τις μεθόδους που επιλύουν ίδια προβλήματα. 6. Αριθμητική Επίλυση Γραμμικών Συστημάτων Αρχικά εκτελέσαμε τις μεθόδους:. Γραμμική Jacobi. Γραμμική Gauss Seidel 3. Γραμμική μέθοδο Συζυγών Κλίσεων για την επίλυση του γραμμικού συστήματος (): 4 3 με x x. MIT = 000 (Για Jacobi και Gauss Seidel). e = 0.00005 (Για Jacobi και Gauss Seidel) 3. x (0) 4 = 85 =

86 ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Πίνακας 6.: Εκτέλεση των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το γραμμικό σύστημα () Μέθοδος k r γρ. Jacobi [0.0909;0.6364] γρ. Gauss-Seidel 7 [0.0909;0.6364] γρ. μεθ. Συζυγών Κλίσεων [0.0909;0.6364] Πίνακας 6.: Εκτελέσεις των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το σύστημα () Γρ. Jacobi Γρ. Gauss-Seidel Γρ. Συζυγών Κλίσεων x0 IT T(sec) r IT T(sec) r IT T(sec) r -3 6 0.0099 r 8 0.0046 r 0.000767 r - - 0.00789 r 7 0.003863 r 0.000893 r 3 3 0.0000 r 7 0.00439 r 0.000990 r 0 4 0.009 r 8 0.004096 r 0.00077 r 0 0 3 0.006 r 8 0.009976 r 0.00080 r 00 00 5 0.00856 r 9 0.004473 r 0.000980 r -000 000 7 0.005 r 0 0.00409 r 0.000604 r Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.). Στην συνέχεια εκτελέσαμε τις μεθόδους για περισσότερα αρχικά σημεία, υπολογίζοντας το πλήθος επαναλήψεων (ΙΤ), τον CPU χρόνο (T) και την ρίζα r = 0.0909 0.6364 (6.). Σχήμα 6.: Γραφική απεικόνιση του γραμμικού συστήματος ()

ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 87 Πίνακας 6.3: Εκτέλεση των γραμμικών Jacobi, Gauss-Seidel, Συζυγών Κλίσεων για το γραμμικό σύστημα () Μέθοδος k r γρ. Jacobi 7 [;] γρ. Gauss-Seidel 9 [;] γρ. μεθ. Συζυγών Κλίσεων >000 αποκλίνει (): με Έπειτα εκτελέσαμε τις μεθόδους αυτές για την επίλυση του γραμμικού συστήματος 3 x x = 5 4. MIT = 000. e = 0.00005 3. x (0) 4 = δίνοντας στην Γραμμική μέθοδο Συζυγών κλίσεων την δυνατότητα να εκτελέσει περισσότερες από επαναλήψεις, διότι δεν πλησίαζε καν την λύση. Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.3). Στην συνέχεια εκτελέσαμε τις μεθόδους για περισσότερα αρχικά σημεία, υπολογίζοντας το πλήθος επαναλήψεων (ΙΤ), τον CPU χρόνο (T) και την ρίζα r =. Η γραμμική μέθοδος Συζυγών Κλίσεων συνέχισε να αποκλίνει για όλα τα αρχικά σημεία, για τον λόγο αυτό δεν βρίσκεται στον πίνακα (6.4). 6. Αριθμητική Επίλυση Μη Γραμμικών Συστημάτων Αρχικά εκτελέσαμε τις μεθόδους:. Newton. Broyden

88 ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Πίνακας 6.4: Εκτελέσεις των γραμμικών Jacobi, Gauss-Seidel για το σύστημα () Γρ. Jacobi Γρ. Gauss-Seidel x0 IT T(sec) r IT T(sec) r -3 6 7 0.0033 r 0 0.00458 r - - 7 0.0040 r 9 0.0047 r 3 3 6 0.00093 r 9 0.004480 r 0 8 0.0049 r 0 0.00485 r 0 0 8 0.007 r 0 0.003787 r 00 00 0 0.0004 r 0.00443 r -000 000 4 0.0070 r 3 0.003940 r Σχήμα 6.: Γραφική απεικόνιση του γραμμικού συστήματος () για την επίλυση του μη γραμμικού συστήματος (): f (x, x ) = x 3 3x x 3x x x 3 = 0 0 με. MIT = 000. e = 0.00005 3. x (0) 5 = Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.5). Έπειτα εκτελέσαμε τις μεθόδους

ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 89 Πίνακας 6.5: Εκτέλεση των μη-γραμμικών Newton, Broyden για το μη-γραμμικό σύστημα () Μέθοδος k r μη γραμμ. Newton 7 [;0] μη γραμμ. Broyden [;0] Σχήμα 6.3: Γραφική απεικόνιση του μη γραμμικού συστήματος (). μη Γραμμική Jacobi. μη Γραμμική Gauss-Seidel για την επίλυση του μη γραμμικού συστήματος (): f (x, x ) = x + x 3 x + x 9 = 0 0 με. MIT = 000. e = 0.00005 3. x (0) 5 = Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.6). Στην συνέχεια εκτελέσαμε και τις τέσσερις μεθόδους για την επίλυση του μη γραμ-

90 ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Πίνακας 6.6: Εκτέλεση των μη-γραμμικών Jacobi, Gauss-Seidel για το μη-γραμμικό σύστημα () Μέθοδος k r μη γραμμ. Jacobi 0 [0;3] μη γραμμ. Gauss-Seidel 6 [0;3] Σχήμα 6.4: Γραφική απεικόνιση του μη γραμμικού συστήματος () μικού συστήματος (3): f (x, x, x 3 ) = x 3 x x x 3 x x x 3 0x x 3 + x x 0. = 0 0 0 με. MIT = 000. e = 0.5 0 4 και για διάφορα αρχικά σημεία, υπολογίζοντας το πλήθος επαναλήψεων (ΙΤ), το πλήθος των συναρτησιακών υπολογισμών (FE), τον CPU χρόνο (T) και μία από τις δύο ρίζες: 0. 0. r = 0., r = 0. 0. 0.

ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 9 Πίνακας 6.7: Εκτελέσεις των μη-γραμμικών Newton, Broyden για το σύστημα (3) Μη-γραμμική Newton Μη-γραμμική Broyden x0 IT FE T(sec) r IT FE T(sec) r 0.4 0.5 0.5 53 636 0.00687 r 55 774 0.00794 r 0.5-0.5 8 336 0.003354 r 57 80 0.088 r - - 43 56 0.004075 r 363 098 0.0404 r - -3 6 744 0.00806 r 45949 37856.39586 r -4 - -.5 54 648 0.004477 r 75 683.996 r -4 - -3 46 55 0.00505 r 744 533 0.9665 r -4.5 - - 8 536 0.00883 r 839 58 0.46567 r -5 - - 43 56 0.00567 r 3933 808 0.38859 r -0 - -.5 63 756 0.0065 r 3780 349 0.588 r -00 00-7 864 0.006353 r 370795 394 8.60437 r 50-50 -00 5 64 0.005343 r 94437 8330 4.86685 r 00-00 50 8 97 0.00859 r 670 3809 0.709 r Τα αποτελέσματα που πήραμε φαίνονται στους πίνακες (6.7) και (6.8). Σχήμα 6.5: Γραφική απεικόνιση της πρώτης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3 6.3 Αριθμητική Επίλυση Προβλημάτων Βελτιστοποίησης Αρχικά εκτελέσαμε τις μεθόδους:. Steepest Descent. Conjugate Gradient (F-R)

9 ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Πίνακας 6.8: Εκτελέσεις των μη-γραμμικών Jacobi, Gauss-Seidel για το σύστημα (3) Μη-γραμμική Jacobi Μη-γραμμική Gauss-Seidel x0 IT FE T(sec) r IT FE T(sec) r 0.4 0.5 0.5 39 36 0.07394 r 8 390 0.04074 r 0.5-0.5 - - - NaN 87 840 0.58679 r - - - - - NaN 58 3779 0.67777 r - -3 - - - NaN 78 46404 0.408 r -4 - -.5 36 660 0.05835 r 4 509 0.037455 r -4 - -3 36 660 0.053040 r 7 566 0.044038 r -4.5 - - 36 660 0.06056 r 58 3779 0.648 r -5 - - 36 660 0.06337 r 7 566 0.04079 r -0 - -.5 36 660 0.05368 r 4 509 0.038960 r -00 00 - - - - NaN 94 8570 0.85565 r 50-50 -00 - - - NaN 4 66574 0.305 r 00-00 50 - - - NaN 83 03766 0.488593 r Σχήμα 6.6: Γραφική απεικόνιση της δεύτερης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3 για την εύρεση του ελαχιστοποιητή της συνάρτησης (): f (x, x ) = x + x x + x + 3x 3x + 4 με. MIT = 000. e = 0.00005

ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 93 Σχήμα 6.7: Γραφική απεικόνιση της τρίτης συνιστώσας της f του μη γραμμικού συστήματος (3), ως προς x 3 Σχήμα 6.8: Γραφική απεικόνιση του μη γραμμικού συστήματος (3) 3. x (0) = 5 Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.9). Στην συνέχεια εκτελέσαμε τις δύο μεθόδους για περισσότερα αρχικά σημεία, με. MIT = 000. e = 0.0000005 υπολογίζοντας το πλήθος επαναλήψεων (ΙΤ), το πλήθος των συναρτησιακών υπολογι-

94 ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ Πίνακας 6.9: Εκτέλεση των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης () Μέθοδος k r f(r) Steepest Descent 6 [-3;3] -5 F-R (Conj. Gradient) 5 [-3;3] -5 Πίνακας 6.0: Εκτελέσεις των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης () Steepest Descent (Wolfe) F-R (Cong. Gradient) x0 IT FE T(sec) r IT FE T(sec) r -3 6 4 4 0.08763 r 4 9 0.0085 r - - 5 48 0.0784 r 4 9 0.008469 r 3 3 5 48 0.0739 r 4 9 0.0083 r 0 7 46 0.0658 r 9 0.0793 r 0 0 7 46 0.04687 r 9 0.054 r 00 00 30 46 0.04040 r 6 9 0.00959 r -000 000 53 0.08763 r 9 0.0033 r σμών (FE), τον CPU χρόνο (T) και τον ελαχιστοποιητή: 3 r = 3 Για τον υπολογισμό του μήκους βήματος χρησιμοποιήσαμε τις συνθήκες Wolfe. Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.0). Έναν αντίστοιχο πίνακα δημιουργήσαμε ύστερα από την εκτέλεση των δύο μεθόδων για την εύρεση του ελαχιστοποιητή r = (, ) T []: με. MIT = 0000. e = 0.0005 f (x, x ) = ( ( )) 0 x x + ( x ) Τα αποτελέσματα που πήραμε φαίνονται στον πίνακα (6.). της συνάρτησης () Rosenbrock,

ΚΕΦΑΛΑΙΟ 6. ΑΡΙΘΜΗΤΙΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ 95 Σχήμα 6.9: Γραφική απεικόνιση της συνάρτησης () Σχήμα 6.0: Γραφική απεικόνιση της συνάρτησης () Πίνακας 6.: Εκτελέσεις των μεθόδων Steepest Descent, F-R (Conjugate Gradient) για την ελαχιστοποίηση της συνάρτησης () Steepest Descent (Wolfe) F-R (Cong. Gradient) x0 IT FE T(sec) r IT FE T(sec) r -3 6 450 789 0.468068 r 403 766 0.800505 r - - 40 84973.70097 r 3 6558 0.77765 r 3 3 468 96533 5.77476 r 6 676 0.0773 r 0 7035 3495634 93.58304 r 85 4096 0.899 r 0 0 7930 3497 9.3874 r 46 6778 0.736048 r 00 00 >00000 - - - 7357 649936 7.46765 r -000 000 >00000 - - - 9575 03567 7.548 r