Βασικές αρχές μεθόδων ελαχιστοποίησης Μέθοδοι μονοδιάστατης ελαχιστοποίησης Οι μέθοδοι ελαχιστοποίησης είναι επαναληπτικές. Ξεκινώντας από μια αρχική προσέγγιση του ελαχίστου (την συμβολίζουμε ) παράγουν διαδοχικές προσεγγίσεις, που συγκλίνουν στο ελάχιστο. Υπάρχουν δύο βασικές κατηγορίες μεθόδων: Μέθοδοι που δεν χρησιμοποιούν τις παραγώγους, αλλά μόνο τις τιμές της συνάρτησης. Μέθοδοι που χρησιμοποιούν τις παραγώγους (πρώτες ή/και δεύτερες) της συνάρτησης. Δ. Γ. Παπαγεωργίου Τμήμα Μηχανικών Επιστήμης Υλικών Πανεπιστήμιο Ιωαννίνων dppgeo@cc.uoi.gr http://pc64.mterils.uoi.gr/dppgeo Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Αναζήτηση με διαμέριση Αναζήτηση με διαμέριση Δίνεται η συνάρτηση και ένα διάστημα, μέσα στο οποίο γνωρίζουμε ότι βρίσκεται το ελάχιστο. h=( )/Μ Αναζήτηση με διαμέριση: Χωρίζουμε το διάστημα, σε ίσα υποδιαστήματα το καθένα με μήκος Ονομάζουμε τα σημεία,,, Το κάθε σημείο δίνεται από: Υπολογίζουμε την τιμή της συνάρτησης σε κάθε σημείο: Επιλέγουμε ως ελάχιστο το σημείο που έχει την μικρότερη τιμή Σφάλμα στην εύρεση του ελαχίστου Η αναζήτηση με διαμέριση βρίσκει μια προσεγγιστική λύση. Τι πρέπει να κάνουμε για να βρούμε μια ακριβέστερη προσέγγιση του ελαχίστου; Πυκνότερη διαμέριση. Ποιο είναι το σφάλμα που κάνουμε χρησιμοποιώντας αυτή τη μέθοδο; Πόσες διαμερίσεις χρειάζονται για να βρούμε το ελάχιστο με προκαθορισμένο σφάλμα ; Παράδειγμα: Αν 0,, 0 0 0 Ποιο είναι το μικρότερο δυνατό σφάλμα που μπορούμε να απαιτήσουμε ; Εξαρτάται από τη σχετική ακρίβεια του υπολογιστή. Απλή ακρίβεια 0 Διπλή ακρίβεια 0 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4
Αναζήτηση με διαμέριση Υπολογιστικός χρόνος που απαιτείται Πως μετράμε τον υπολογιστικό χρόνο που απαιτεί η αναζήτηση με διαμέριση; Πως συγκρίνουμε δύο διαφορετικούς αλγορίθμους για να βρούμε τον πιο αποδοτικό ; Σε όλους τους αλγορίθμους ελαχιστοποίησης γίνονται δύο ειδών υπολογισμοί: Υπολογισμοί της αντικειμενικής συνάρτησης. Λειτουργίες που αφορούν καθαυτό τον αλγόριθμο (πχ. εύρεση της μικρότερης τιμής) Θεωρούμε ότι ο χρόνος που απαιτείται για λειτουργίες του αλγορίθμου είναι μικρός. Χρησιμοποιούμε το πλήθος υπολογισμών της αντικειμενικής συνάρτησης για να αποτιμήσουμε την αποδοτικότητα κάθε αλγορίθμου ελαχιστοποίησης. Για μια διαμέριση διαστημάτων απαιτούνται υπολογισμοί της συνάρτησης Αναζήτηση με διαμέριση Γενίκευση σε πολλές διαστάσεις Θεωρήστε μια συνάρτηση μεταβλητών, Πρέπει να κατασκευάσουμε διαμέριση στον άξονα και στον άξονα Συνολικά απαιτούνται υπολογισμοί της συνάρτησης. Παράδειγμα: Πόσος χρόνος απαιτείται για μια συνάρτηση 5 μεταβλητών με διαμέριση 000 διαστημάτων σε κάθε μεταβλητή, όταν ένας υπολογισμός της συνάρτησης διαρκεί 0.0ms ; Οι υπολογισμοί της συνάρτησης που απαιτούνται είναι: 000 0 Ο συνολικός χρόνος είναι: 0 0.0ms0 s 6 dys Η αναζήτηση με διαμέριση είναι απαγορευτική για πολλές διαστάσεις. Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 5 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 6 Αναζήτηση με διαμέριση Διαστήματα αβεβαιότητας Πλεονεκτήματα Εύκολη υλοποίηση Χρησιμοποιεί μόνο τις τιμές της συνάρτησης Μειονεκτήματα Απαιτούνται πολλοί υπολογισμοί της συνάρτησης για μικρή έστω ακρίβεια Πρακτικά δεν μπορεί να χρησιμοποιηθεί σε πολλές διαστάσεις Διάστημα αβεβαιότητας Ένα διάστημα, που φράσει τη θέση του ελαχίστου, δηλαδή f ( x ) x * c x Το διάστημα, συνοδεύεται από ένα τρίτο σημείο (σημείο ελέγχου), που βρίσκεται εντός του διαστήματος και τέτοιο ώστε: Γράφουμε:,, Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 7 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 8
Προσέγγιση του ελαχίστου σε διάστημα αβεβαιότητας Αν το μήκος του διαστήματος είναι μικρό, τότε μια καλή προσέγγιση του ελαχιστοποιητή είναι: με σφάλμα (το πολύ): αλλιώς πρέπει να μικρύνουμε το διάστημα αβεβαιότητας μέχρι να πετύχουμε ικανοποιητικό σφάλμα. Μείωση του διαστήματος αβεβαιότητας Χρησιμοποιώντας μόνο τιμές της συνάρτησης f ( x ) Θεωρούμε δύο νέα σημεία, εντός του διαστήματος, τέτοια ώστε Υπολογίζουμε τις τιμές της συνάρτησης, Συγκρίνουμε τις τιμές, και απορρίπτουμε ένα τμήμα του διαστήματος. f ( x ) f ( x) f ( x ) f ( x ) f ( x) x x x x x x Νέο διάστημα αβεβαιότητας:, Νέο διάστημα αβεβαιότητας:, Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 9 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 0 Μείωση του διαστήματος αβεβαιότητας Αλγόριθμος Δίνεται η συνάρτηση και διάστημα αβεβαιότητας,. Θεωρούμε δύο νέα σημεία, εντός του διαστήματος, τέτοια ώστε. Υπολογίζουμε τις τιμές της συνάρτησης,. Έλεγχος. Αν τότε θέτουμε ως νέο διάστημα το,. Αν τότε θέτουμε ως νέο διάστημα το, 4. Επαναλαμβάνουμε από το βήμα Κριτήριο τερματισμού Η διαδικασία τερματίζεται όταν το σφάλμα γίνει μικρότερο από μια προκαθορισμένη τιμή, δηλαδή: σφάλμα Ο έλεγχος γίνεται πρίν την έναρξη κάθε επανάληψης (πριν πάρουμε τα δύο νέα σημεία) Πότε τερματίζεται η διαδικασία ; Πως επιλέγουμε τα εσωτερικά σημεία ; Πως μετράμε την απόδοση του αλγορίθμου ; Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση
Πως επιλέγουμε τα εσωτερικά σημεία Ο τρόπος επιλογής των δύο εσωτερικών σημείων οδηγεί σε αλγορίθμους με διαφορετικές ιδιότητες: Αναζήτηση ίσων διαστημάτων Αναζήτηση διχοτόμησης Αναζήτηση Fioncci Αναζήτηση χρυσής τομής Πως μετράμε την αποδοτικότητα Για να αξιολογήσουμε τους διαφορετικούς τρόπους επιλογής των διαφορετικών σημείων ορίζουμε το συντελεστή μείωσης του διαστήματος αβεβαιότητας: Μήκος τελικού διαστήματος μετά από n κλήσεις της fx Μήκος αρχικού διαστήματος Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4 Αναζήτηση ίσων διαστημάτων Αναζήτηση ίσων διαστημάτων Διαλέγουμε τα εσωτερικά σημεία έτσι ώστε το διάστημα αβεβαιότητας να διαιρείται σε τρία ίσα τμήματα, δηλαδή: Επανάληψη 0 Αναπαράσταση του διαστήματος αβεβαιότητας x x Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 5 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 6
Αναζήτηση ίσων διαστημάτων Πως μικραίνει το διάστημα αβεβαιότητας Αναζήτηση ίσων διαστημάτων Πόσες επαναλήψεις χρειαζόμαστε ; Επανάληψη Μήκος διαστήματος Πλήθος κλήσεων της 0 4 6 σφάλμα μήκος τελικού διαστήματος log log log log log log Αν προκαθορίσουμε το μέγιστο αποδεκτό σφάλμα τότε το πλήθος των επαναλήψεων: Εξαρτάται μόνο από το μήκος του αρχικού διαστήματος αβεβαιότητας είναι ίδιο για οποιοδήποτε συνάρτηση μπορεί να καθοριστεί εκ των προτέρων Πχ. Για μήκος αρχικού διαστήματος και 0 παίρνουμε Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 7 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 8 Αναζήτηση ίσων διαστημάτων Συντελεστής απόδοσης Μήκος διαστήματος μετά από n κλήσεις της fx Αρχικό μήκος διαστήματος Επειδή κάθε επανάληψη χρειάζεται δύο υπολογισμούς της, μετά από n κλήσεις έχουν γίνει επαναλήψεις. Μετά από επαναλήψεις το μήκος του διαστήματος αβεβαιότητας είναι: / Συνεπώς ο συντελεστής απόδοσης είναι: / / Αναζήτηση διχοτόμησης Διαλέγουμε τα εσωτερικά σημεία κοντά στο μέσο του διαστήματος αβεβαιότητας x x Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 9 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 0
Αναζήτηση διχοτόμησης Αναζήτηση διχοτόμησης Επανάληψη Αναπαράσταση του διαστήματος αβεβαιότητας Πως μικραίνει το διάστημα αβεβαιότητας 0 Επανάληψη Μήκος διαστήματος 0 4 4 8 4 4 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Αναζήτηση διχοτόμησης Πως μικραίνει το διάστημα αβεβαιότητας Μετά από επαναλήψεις το μήκος του διαστήματος αβεβαιότητας είναι: 4 Όμως ισχύει ότι (ταυτότητα): Στην περίπτωσή μας Συνεπώς: Αναζήτηση διχοτόμησης Πως μικραίνει το διάστημα αβεβαιότητας Τελικά το μήκος του διαστήματος μετά από επαναλήψεις είναι: Παρατηρήστε ότι όταν τότε το μήκος Συνεπώς το τελικό διάστημα αβεβαιότητας δεν μπορεί να γίνει μικρότερο από 4 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4
Αναζήτηση διχοτόμησης Πόσες επαναλήψεις χρειαζόμαστε ; σφάλμα μήκος τελικού διαστήματος Δεν μπορούμε να λύσουμε αναλυτικά την ανωτέρω εξίσωση ως προς Μπορούμε όμως:. Να κάνουμε τον έλεγχο για το σφάλμα στην αρχή κάθε επανάληψης.. Να θεωρήσουμε ότι το είναι μικρό, οπότε γράφουμε: log log Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 5 log log log log Πχ. Για μήκος αρχικού διαστήματος και 0 βρίσκουμε 9 Αναζήτηση διχοτόμησης Συντελεστής απόδοσης Μήκος διαστήματος μετά από n κλήσεις της fx Αρχικό μήκος διαστήματος Επειδή κάθε επανάληψη χρειάζεται δύο υπολογισμούς της, μετά από n κλήσεις έχουν γίνει επαναλήψεις. Μετά από επαναλήψεις το μήκος του διαστήματος αβεβαιότητας είναι: / Συνεπώς ο συντελεστής απόδοσης είναι: / / Αναζήτηση διχοτόμησης Αναζήτηση ίσων διαστημάτων Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 6 Εύρεση αρχικού διαστήματος αβεβαιότητας Εύρεση αρχικού διαστήματος αβεβαιότητας. Δίνεται μια τιμή εκκίνησης και βήμα. Υπολογίζουμε την.. Παίρνουμε ένα δεύτερο σημείο και υπολογίζουμε την. 4. Επαναλαμβάνουμε για,4,. Διπλασιάζουμε το βήμα. Παίρνουμε ένα νέο σημείο c. Ελέγχουμε αν τα σημεία,, αποτελούν διάστημα αβεβαιότητας. f ( x ) x x x x 4 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 7 4 Τι γίνεται αν ; x Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική Η βασική ιδέα Αφού ξέρουμε τις τιμές της συνάρτησης σε τρία σημεία,, μπορούμε να προσεγγίσουμε τη συνάρτηση με μια παραβολή που διέρχεται από τα τρία αυτά σημεία. Η παραβολή έχει εξίσωση: όπου τα,, πρέπει να προσδιοριστούν Το ελάχιστο της παραβολής είναι: Οι άγνωστοι συντελεστές προσδιορίζονται από: Σημείο ελέγχου Διάστημα αβεβαιότητας Γραμμικό σύστημα τριών εξισώσεων με τρεις αγνώστους Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 8
Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική Λύνοντας το σύστημα λαμβάνουμε τους συντελεστές,,. Το ελάχιστο της παραβολής είναι: όπου συμβολίζουμε: Στη συνέχεια ανάλογα με τη θέση του ελαχίστου απορρίπτουμε ένα τμήμα του διαστήματος αβεβαιότητας. Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική ~ x c f ( ~ x ) f ( c) f ( ~ x ) f ( c) ~ x c x~ c c ~ x Νέο διάστημα: [, c], ~ x Νέο διάστημα: [ c, ], ~ x f ( ~ x ) f ( c) f ( ~ x ) f ( c) x~ c c ~ x Νέο διάστημα: [ ~ x, ], c Νέο διάστημα: [, ~ x], c Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 9 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 0 Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική Αλγόριθμος. Δίνονται ως είσοδος το αρχικό διάστημα αβεβαιότητας,,. Έλεγχος αν ικανοποιούνται τα κριτήρια τερματισμού. Υπολογίζουμε το ελάχιστο της παραβολής και το 4. Έλεγχος της θέσης του σε σχέση με το. Εάν Εάν τότε το νέο διάστημα είναι:,, Εάν τότε το νέο διάστημα είναι:,,. Εάν Εάν τότε το νέο διάστημα είναι:,, Εάν τότε το νέο διάστημα είναι:,, 5. Επαναλαμβάνουμε από το βήμα. Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική Κριτήρια τερματισμού Εφαρμόζονται κατά περίπτωση ένα ή περισσότερα κριτήρια τερματισμού της διαδικασίας.. Αν το μέγεθος του διαστήματος αβεβαιότητας γίνει μικρότερο από ένα προκαθορισμένο όριο. Η σχετική μείωση της τιμής της συνάρτησης είναι μικρότερη από ένα προκαθορισμένο όριο. Ο συνολικός αριθμός κλήσεων της συνάρτησης ξεπερνά ένα προκαθορισμένο όριο Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση
Μείωση του διαστήματος αβεβαιότητας: Τετραγωνική Πόσες επαναλήψεις χρειάζονται ; Το πλήθος των επαναλήψεων που απαιτούνται για να πετύχουμε μια προκαθορισμένη ακρίβεια: Εξαρτάται από τη μορφολογία της συνάρτησης Δεν μπορεί να προσδιοριστεί εκ των προτέρων Σύκριση με τις προηγούμενες μεθόδους μείωσης του διαστήματος αβεβαιότητας είναι εφικτή μόνο αφού ολοκληρωθεί ο αλγόριθμος. Μείωση του διαστήματος αβεβαιότητας: Κυβική Μπορούμε να χρησιμοποιήσουμε πολυώνυμο υψηλότερης τάξης, πχ κυβικό Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4 Μείωση του διαστήματος αβεβαιότητας: Χρήση της πρώτης παραγώγου 0 0 0 0 Μείωση του διαστήματος αβεβαιότητας: Διχοτόμηση (με χρήση της πρώτης παραγώγου) Αλγόριθμος. Χωρίζουμε το διάστημα σε δύο ίσα μέρη. Υπολογίζουμε την παράγωγο. Έλεγχος κριτηρίων τερματισμού 4. Έλεγχος. Εάν 0 και 0 το νέο διάστημα είναι,. Εάν 0 και 0 το νέο διάστημα είναι, 5. Eπαναλαμβάνουμε από το βήμα m Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 5 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 6
Η μέθοδος Newton για εύρεση ριζών εξίσωσης Ανάπτυγμα σε σειρά Tylor Θέλουμε να λύσουμε τη μη γραμμική εξίσωση 0 Η βασική ιδέα: Ξεκινάμε με μια αρχική προσέγγιση της λύσης Κατόπιν ψάχνουμε ένα βήμα τέτοιο ώστε το σημείο να είναι η λύση, δηλαδή: 0 φ(x) 0 x x 0 Λύση Sir Isc Newton 64-76 Ανάπτυγμα Tylor της συνάρτησης γύρω από το σημείο!! ή αλλιώς! Ανάπτυγμα της συνάρτησης σε απόσταση από το σημείο Προκύπτει αν θέσουμε στο παραπάνω όπου το και όπου το! ή αλλιώς! Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 7 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 8 Η μέθοδος Newton για εύρεση ριζών εξίσωσης Γράφουμε τη σειρά Tylor της κρατώντας μόνο τον όρο πρώτης τάξης! Θέλουμε ένα βήμα τέτοιο ώστε να φτάσουμε στη λύση: 0 Αντικαθιστούμε από τη σειρά Tylor: 0 Βήμα Newton για επίλυση εξισώσεων Η μέθοδος Newton για εύρεση ριζών εξίσωσης Αλγόριθμος:. Δίνεται ή συνάρτηση και αρχικό σημείο. Επαναλαμβάνουμε για,,. Ελέγχουμε τα κριτήρια τερματισμού. Υπολογίζουμε το βήμα Newton: / c. Βρίσκουμε το νέο σημείο: Συνήθη κριτήρια τερματισμού: Το πλήθος των επαναλήψεων ξεπερνάει ένα προκαθορισμένο αριθμό Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 9 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 40
Η μέθοδος Newton για ελαχιστοποίηση Η μέθοδος Newton για ελαχιστοποίηση Εάν θέλουμε να βρούμε ελάχιστο της συνάρτησης εφαρμόζουμε τη μέθοδο Newton για να λύσουμε τη μη γραμμική εξίσωση: f (x) Ελάχιστο της συνάρτησης Αλγόριθμος:. Δίνεται ή συνάρτηση και αρχικό σημείο. Επαναλαμβάνουμε για,, 0. Ελέγχουμε τα κριτήρια τερματισμού Γράφουμε το ανάπτυγμα Tylor της κρατώντας μόνο τον όρο πρώτης τάξης: Το βήμα πρέπει να είναι τέτοιο ώστε να μας οδηγεί στη λύση: f '( x) Ρίζα της παραγώγου. Υπολογίζουμε το βήμα Newton: / c. Βρίσκουμε το νέο σημείο: Συνήθη κριτήρια τερματισμού: 0 0 Το πλήθος των επαναλήψεων ξεπερνάει ένα προκαθορισμένο αριθμό Βήμα Newton για ελαχιστοποίηση Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4 Υπολογιστικές Μέθοδοι Πολύπλοκων Συστημάτων Μονοδιάστατη ελαχιστοποίηση 4