ΥΠΕΥΘΥΝΟΣ ΚΑΘΗΓΗΤΗΣ Α. Ντούνης ΔΙΔΑΣΚΩΝ Χ. Τσιρώνης ΕΙΣΑΓΩΓΗ ΣΤΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ ΣΥΣΤΗΜΑΤΩΝ - Τεχνικές αναζήτησης - Search tools in MATLAB - Διερεύνηση λύσης NCM
ΤΕΧΝΙΚΕΣ ΑΝΑΖΗΤΗΣΗΣ Στόχος: Ο σταδιακός περιορισμός του διαστήματος αναζήτησης σε ένα προκαθορισμένο κατώτερο όριο. Παράδειγμα σε μια διάσταση: f(x) με ελάχιστο x* [α, β]. Εύρεση του [α, β ] με α x* β, α α, β β, β α ε. Θεώρημα σύγκλισης της αναζήτησης ελαχίστου: Έστω f: R R σχεδόν κυρτή (κοίλη) στο διάστημα [α, β], και x 1, x 2 [α, β] ώστε x 1 < x 2. Αν f(x 1 ) < f(x 2 ) (f(x 1 ) f(x 2 )) τότε f(x) f(x 1 ) (f(x) f(x 2 )) για κάθε x (x 2, β] ([α, x 1 ]). Διαπίστωση: Το διάστημα μικραίνει προς τη μια από τις διευθύνσεις που ορίζουν τα «ενδιάμεσα» σημεία. 2
ΟΜΟΙΟΜΟΡΦΗ ΑΝΑΖΗΤΗΣΗ Χωρισμός [a,β] σε n ίσα τμήματα. «Πλέγμα» υπολογισμού της f: n-1 σημεία εύρος δ=(β-α)/n. Αν η μικρότερη τιμή της f είναι στο x, το θεώρημα σύγκλισης δίνει για το ελάχιστο ότι x* ( x δ, x + δ). Ακρίβεια προσδιορισμού x* Εύρος διαμέρισης (δ). Ακρίβεια αντιστρόφως ανάλογη του αριθμού τμημάτων (n). Η δυσμενής επίπτωση στην απόδοση αντιμετωπίζεται με σταδιακή μείωση του δ πλησιάζοντας στο όριο x x Προσοχή: Η μέθοδος μετατρέπεται σε ανομοιόμορφη! < ε. 3
ΜΕΘΟΔΟΣ ΧΡΥΣΗΣ ΤΟΜΗΣ Χωρισμός σε 3 διαστήματα με εσωτερικά σημεία που ισαπέχουν των άκρων [x 1 α = β x 2 = ρ(β α)]. Αρχικά διαστήματα αναζήτησης: [α, x 2 ] και [x 1, β]. Κανόνες επιλογής των επόμενων διαστημάτων: 1 δ(νέο διάστημα) = γ x δ(παλαιό διάστημα), με 0 < γ < 1. 2 Παλαιό ενδιάμεσο σημείο του οποίου το διάστημα δεν επιλέγεται Ενδιάμεσο σημείο του νέου διαστήματος. Μείωση των απαιτούμενων υπολογισμών της f! Η σταθερά αναλογίας προκύπτει ως λύση της εξίσωσης γ 2 + γ - 1 = 0 Λόγος χρυσής τομής: γ GM = ( 5 1)/2. Παραλλαγή: Αλγόριθμος Fibonacci (μη σταθερό γ). 4
ΠΑΡΑΔΕΙΓΜΑ ΠΡΩΤΟ Να ελαχιστοποιηθεί η f(x) = x 4-14x 3 + 60x 2-70x στο [0,2] και με ακρίβεια 0.3, με τη μέθοδο χρυσής τομής. Εκτίμηση αριθμού επαναλήψεων για ζητούμενη ακρίβεια: - m επαναλήψεις Συρρίκνωση του [0,2] κατά γ m GM φορές. - Μικρότερος ακέραιος που ικανοποιεί 0.618 m 0.3/2 (το 4). Tιμές υπόλοιπων παραμέτρων: α = 0, β = 2, ρ = 1 - γ GM = 0.38197. Εφαρμογή των τεσσάρων επαναλήψεων (m = 1,2,3,4): 1 x 1 = α + ρ(β-α) = 0.764, x 2 = β - ρ(β-α) = 1.236. f(x 1 ) = -24.36, f(x 2 ) = -18.96 > f(x 1 ) Νέο διάστημα: [α,x 2 ]. 2 x 3 = α + ρ(x 2 -α) = 0.47, x 4 = x 1 f(x 3 ) = -21.1 > f(x 4 ) [x 3,x 2 ]. 3 x 5 = x 4, x 6 = x 4 - ρ(x 4 -x 3 ) = 0.94 f(x 5 ) < f(x 6 ) [x 3,x 6 ]. 4 x 7 = x 3 + ρ(x 7 -x 3 ) = 0.65, x 8 = x 5 f(x 7 ) > f(x 8 ) [x 7,x 2 ] (δ 0.3). 5
ΜΕΘΟΔΟΣ ΔΙΧΟΤΟΜΗΣΗΣ Χωρισμός σε 2 ίσα διαστήματα μέσω του εσωτερικού σημείου x 1 = (α + β)/2 και υπολογισμός της f (x 1 ). f (x 1 ) = 0: Το x 1 είναι το ζητούμενο ελάχιστο. f (x 1 ) > 0: x < x 1 f(x) < f(x 1 ), επόμενο διάστημα το [α,x 1 ]. f (x 1 ) < 0: x < x 1 f(x) > f(x 1 ), επόμενο διάστημα το [x 1,β]. Επαναληπτική εφαρμογή έως ότου βρούμε διάστημα μήκους μικρότερου της ακρίβειας ε. Απαιτούμενος αριθμός βημάτων: Είναι ο μικρότερος ακέραιος που ικανοποιεί την (1/2) m ε/(β - α). 6
ΠΑΡΑΔΕΙΓΜΑ ΔΕΥΤΕΡΟ Να ελαχιστοποιηθεί η f(x) = 2x 2 - x - 1 στο [-1,1] και με ακρίβεια 0.5, με τη μέθοδο διχοτόμησης. Tιμές παραμέτρων προβλήματος: α = -1, β = 1. Παράγωγος αντικειμενικής συνάρτησης: f (x) = 4x - 1. Εκτίμηση αριθμού επαναλήψεων για ζητούμενη ακρίβεια: - m επαναλήψεις Συρρίκνωση του [-1,1] κατά 2 -m φορές. - Μικρότερος ακέραιος που ικανοποιεί 2 m 0.5/2 (το 2). Εφαρμογή των δύο επαναλήψεων (m = 1,2): 1 x 1 = (α+β)/2 = 0 f(x 1 ) = f (x 1 ) = -1 < 0 Νέο διάστημα: [x 1,β]. 2 x 2 = (x 1 +β)/2 = 0.5 f(x 2 ) = -2, f (x 2 ) = 1 > 0 [x 1,x 2 ] (δ 0.5). 7
SEARCH TOOLS IN MATLAB Εργαλεία για τη επίλυση προβλημάτων NCM στο optimtool που βασίζονται στη μέθοδο αναζήτησης: fminbnd (ελαχιστοποίηση για συνάρτηση μιας μεταβλητής). fminsearch (ελαχιστοποίηση σε πρόβλημα πολλών μεταβλητών). fzero (επίλυση μη γραμμικής εξίσωσης μιας μεταβλητής). fsolve (επίλυση συστημάτων μη γραμμικές εξισώσεις με πολλές μεταβλητές). Quick Reference for each tool! 8
ΑΝΤΙΣΤΟΙΧΙΕΣ ΜΕ ΘΕΩΡΙΑ fminbnd fminsearch fzero fsolve Χρήση παραγώγων Μη χρήση παραγώγων Μια μεταβλητή Πολλές μεταβλητές Ομοιόμορφη Χρυσή τομή Διχοτόμηση 9
ΔΙΕΡΕΥΝΗΣΗ ΛΥΣΗΣ NCM Ποιοι παράγοντες (ενδεχομένως) επηρεάζουν την αριθμητική λύση προβλήματος NCM? Μαθηματική μορφή της αντικειμενικής συνάρτησης. Αρχικό σημείο εφαρμογής της αναζήτησης. Είδος μεθόδου αναζήτησης που χρησιμοποιείται. Σχετική ή/και απόλυτη ακρίβεια της μεθόδου. Ποιες οι (πιθανές) συνέπειες της επίδρασης στα ποιοτικά/ποσοτικά χαρακτηριστικά της επίλυσης? Σφάλμα στον υπολογισμό του σημείου ελαχίστου. Αλλαγή του (απαιτούμενου) αριθμού αναζητήσεων. 10
ΠΑΡΑΔΕΙΓΜΑ ΤΡΙΤΟ Να διερευνηθεί το πρόβλημα ελαχιστοποίησης της συνάρτησης f(x 1,x 2 ) = x 1 2 + 3x 2 2 5x 1 9x 2 14. Το πρόβλημα αυτό είναι τύπου NCM με 2 μεταβλητές. Καταλληλότερο εργαλείο fminsearch (μεταβλητές > 1). Σύνοψη αριθμητικής λύσης: Ελάχιστο στο (2.5, 1.5). Ελάχιστη τιμή = - 27. Χρειάστηκαν 53 iterations. Αρχικό σημείο το (-2, -2). Ακρίβεια μεθόδου = 10-4. ΜAΘΗΜΑ ΟΓΔΟΟ 11
ΠΑΡΑΔΕΙΓΜΑ ΤΡΙΤΟ (συν.) Να διερευνηθεί το πρόβλημα ελαχιστοποίησης της συνάρτησης f(x 1,x 2 ) = x 1 2 + 3x 2 2 5x 1 9x 2 14. Αλλαγή αρχικού σημείου Αλλάζει ο αριθμός iterations (μεγαλώνει όσο απομακρυνόμαστε από τη λύση). Αλλαγή ακρίβειας Αλλάζει το ελάχιστο (όταν ξεπεραστεί το 10-1 ) και ο αριθμός iterations (ανάλογος της ακρίβειας). Σχηματική απεικόνιση: Options Plot functions. f(x) vs #(iterations). Definition of custom plots? ΜAΘΗΜΑ ΟΓΔΟΟ 12
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 1 1 άσκηση προς επεξεργασία: Αριθμητική επίλυση προβλήματος NCM με μεθόδους αναζήτησης. Διερεύνηση της επίλυσης. Λύση με διαφορετικές μεθόδους. Σχηματική απεικόνιση της λύσης. Παράδοση της άσκησης 21/5/18. Χρόνος για την παράδοση: 2 εβδομάδες! Επικοινωνία με e-mail για όποιες απορίες (+ επισύναψη printed screen). 13
ΕΡΩΤΗΣΕΙΣ - ΣΥΖΗΤΗΣΗ Τεχνικές αναζήτησης Search tools in MATLAB Διερεύνηση λύσης NCM 14