ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ Α. Ντούνης ΔΙΔΑΣΚΩΝ Χ. Τσιρώνης ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ - Αριθμητικές τεχνικές - Επισκόπηση αλγορίθμων - Optimization in MATLAB
ΑΡΙΘΜΗΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Εφαρμόζονται κυρίως σε προβλήματα που δεν είναι δυνατό (ή πρακτικό) να λυθούν αναλυτικά. Δεν υπάρχει μαθηματικός τύπος για τη συνάρτηση προς ελαχιστοποίηση ή/και τους περιορισμούς. Οι εξισώσεις που δίνουν οι συνθήκες ελαχιστοποίησης είναι πολύπλοκες (ή/και η επίλυση τους είναι χρονοβόρα). Προσεγγιστική λύση με χρήση Η/Υ: Τυποποίηση προβλήματος (Ι/Ο). Χρήση αριθμητικής ανάλυσης. Σύνδεση με τις θεωρητικές μεθόδους. 2
ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΡΟΒΛΗΜΑΤΑ Προβλήματα βελτιστοποίησης χωρίς περιορισμούς: Επαναληπτικές μέθοδοι (με/χωρίς αναδρομικό τύπο). Είτε εμπλέκουν παραγώγους της συνάρτησης είτε δεν περιλαμβάνουν τον υπολογισμό παραγώγων. Προσπάθεια εντοπισμού των τοπικών ελαχίστων μέσω της επαναληπτικής αναζήτησης προς κατευθύνσεις οι οποίες συγκλίνουν με πιθανή λύση του προβλήματος. Προβλήματα βελτιστοποίησης με περιορισμούς: Μετασχηματισμός σε πρόβλημα χωρίς περιορισμούς. Ακολουθία αλγορίθμων ελαχιστοποίησης με κριτήρια τερματισμού ή/και έλεγχο παραβίασης των περιορισμών. 3
ΕΠΙΣΚΟΠΗΣΗ ΑΛΓΟΡΙΘΜΩΝ Αλγόριθμοι για προβλήματα χωρίς περιορισμούς: Αναζήτηση χωρίς παραγώγους (ομοιόμορφη, χρυσή τομή). Αναζήτηση με χρήση παραγώγων (διχοτόμηση). Κλίση χωρίς παραγώγους (συντεταγμένη κάθοδος). Κλίση με χρήση παραγώγων (μέγιστη κάθοδος, Newton). Αλγόριθμοι για προβλήματα με περιορισμούς: Κλίση με χρήση παραγώγων (μέγιστη κάθοδος, Newton). Τροποποιημένη κλίση (συζυγία, εφικτές κατευθύνσεις). Μέθοδοι φραγής (παράμετροι φραγμού). Μέθοδοι ποινής (συναρτήσεις penalty). 4
ΛΟΓΙΣΜΙΚΟ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗΣ Πληθώρα εμπορικών πακέτων για την αριθμητική επίλυση προβλημάτων βελτιστοποίησης. Εμείς χρησιμοποιούμε το MATLAB optimization toolbox. 19 μέθοδοι για τοπική και ολική βελτιστοποίηση. Γραφικό περιβάλλον (input tabs, method setup, plots, ). 5
ΑΞΙΟΠΟΙΗΣΗ ΤΗΣ ΘΕΩΡΙΑΣ? Αριθμητικές μέθοδοι για κάθε είδος προβλήματος: Προβλήματα σε μια ή περισσότερες διαστάσεις. Προβλήματα με ή χωρίς περιορισμούς. Γραμμικά ή μη γραμμικά προβλήματα. Προσοχή: Η σωστή χρήση του λογισμικού απαιτεί καλή γνώση της σχετικής θεωρίας! Η λύση «με το πάτημα ενός κουμπιού» δημιουργεί ένα σύνδρομο υπεραπλούστευσης Επαλήθευση/πιστοποίηση της αριθμητικής λύσης. Χειρισμός περιπτώσεων αστοχίας του λογισμικού. 6
ΕΚΚΙΝΗΣΗ ΛΟΓΙΣΜΙΚΟΥ Το λογισμικό ξεκινάει με την εκτέλεση της εντολής «optimtool» στη γραμμή εντολών MATLAB. Σημείωση: Το optimtool δεν «τρέχει» ως background task! 7
ΒΑΣΙΚΕΣ ΡΥΘΜΙΣΕΙΣ Επιλογή μεθόδου ελαχιστοποίησης (βλ. ευρετήριο) Εισαγωγή στοιχείων προβλήματος (f, f, f, X 0, ) Ρυθμίσεις αλγορίθμου (τερματισμός, ακρίβεια, ). 8
ΕΥΡΕΤΗΡΙΟ ΜΕΘΟΔΩΝ optimtool fminbnd fmincon fminimax fminsearch fminunc fseminf fsolve fzero lsqnonlin Optimization toolbox in MATLAB Single-variable minimization with bounds Constrained nonlinear minimization Constrained search-based minimization Unconstrained minimization without using derivatives Unconstrained minimization using derivatives Constrained semi-infinite minimization Nonlinear equation solving Single-variable nonlinear equation solving Nonlinear least-squares minimization 9
ΠΑΡΑΔΕΙΓΜΑ ΠΡΩΤΟ Να λυθεί το πρόβλημα ελαχιστοποίησης minf(x), με f(x 1,x 2,x 3 ) = x 1 2 + 2x 2 2 + x 3 2 2x 1 16x 2 4x 3 + 7 και τους περιορισμούς x 1 2 + 2x 2 5x 3 2 0, 3x 1 2x 2 + x 3 + 9 0. ΜAΘΗΜΑ ΕΒΔΟΜΟ 10
ΕΡΩΤΗΣΕΙΣ - ΣΥΖΗΤΗΣΗ Αριθμητικές τεχνικές Επισκόπηση αλγορίθμων Optimization in MATLAB 11