Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος Διαχείριση Υδατικών Πόρων
Βελτιστοποίηση Μέρος b: Συμβατικές Μέθοδοι συνέχεια
Σύνοψη προηγούμενου μαθήματος Στόχος βελτιστοποίησης: Εύρεση των βέλτιστων παραμέτρων (ή αποφάσεων) που μεγιστοποιούν/ελαχιστοποιούν το/τα μέτρα επίδοσης (αντικειμενική συνάρτηση) Εφαρμογές? Πολλές! Μέθοδοι? Πολλές! Όπως: Πολλαπλασιαστές Lagrange Hill climbing Εξονυχιστική απαρίθμηση (exhaustive search) Τυχαία αναζήτηση (random search) Δυναμικός προγραμματισμός Μη γραμμικές τεχνικές (π.χ., εξελικτικοί αλγόριθμοι)
Δυναμικός Προγραμματισμός Τα προβλήματα που είδαμε μέχρι τώρα, υπολόγιζαν μια συνάρτηση «καθαρού κέρδους» για κάθε χρήστη. Η συνάρτηση αυτή ήταν συνεχής και διαφορίσιμη σε όλο το πεδίο ενδιαφέροντος (κατά συνέπεια χρησιμοποιήσαμε (hill-climbing και Lagrange multipliers). Γενικά όμως δεν είναι όλες οι αντικειμενικές συναρτήσεις συνεχείς (ή και κοίλες) ώστε να χρησιμοποιούμε εργαλεία της Μαθηματικής Ανάλυσης. Μια μέθοδος επίλυσης προβλημάτων (διακριτών) με συνεχείς ή μη αντικειμενικές συναρτήσεις είναι ο ΔΠ.
Γενικά Χαρακτηριστικά Δυναμικού Προγραμματισμού [] Το εκάστοτε πρόβλημα είναι δυνατόν να διαιρεθεί σε διαφορετικά βήματα (στάδια/φάσεις - stages) και σε κάθε ένα από αυτά θα πρέπει να ληφθεί μία απόφαση. Κάθε ένα από τα στάδια του προβλήματος έχει έναν ορισμένο αριθμό «καταστάσεων (states)», οι οποίες συνδέονται με αυτό. Οι διάφορες αποφάσεις του προβλήματος λαμβάνονται διαδοχικά. Η κάθε απόφαση ενός βήματος του προβλήματος συνδέεται άμεσα με ένα κέρδος ή μία ζημία (κόστος).
Γενικά Χαρακτηριστικά Δυναμικού Προγραμματισμού [] Η εκάστοτε απόφαση που τελικά θα ληφθεί σε ένα στάδιο μετατρέπει την παρούσα «κατάσταση» σε μία κατάσταση που συνδέεται με το επόμενο στάδιο του προβλήματος. Ο αντικειμενικός στόχος του εκάστοτε προβλήματος είναι είτε να μεγιστοποιηθεί το συνολικό κέρδος είτε να ελαχιστοποιηθεί το συνολικό κόστος. Η βέλτιστη απόφαση για κάθε ένα από τα εναπομείναντα στάδια ενός προβλήματος δεν εξαρτάται από τις προηγούμενες καταστάσεις ή αποφάσεις που ελήφθησαν σε προηγούμενα στάδια. Επομένως οι αποφάσεις που θα ακολουθήσουν εξαρτώνται αποκλειστικά από την κατάσταση που θα ισχύει στο εκάστοτε στάδιο επίλυσης (Αρχή του Βέλτιστου - Optimality Principle)
Η πρόκληση στον ΔΠ Η πρόκληση σε ότι αφορά στην κατάστρωση και επίλυση ενός προβλήματος δυναμικού προγραμματισμού συνιστά στον προσδιορισμό των διαφορετικών φάσεων (βημάτων) του προβλήματος, αλλά και των καταστάσεων που τους αντιστοιχούν. Ο προσδιορισμός αυτός αποτελεί μία γενικά περίπλοκη διαδικασία. Επιπλέον ένα άλλο χαρακτηριστικό του δυναμικού προγραμματισμού είναι το γεγονός ότι δεν υπάρχει μία γενικευμένη διατύπωση της μεθόδου και επομένως κάθε πρόβλημα μπορεί να θεωρηθεί μοναδικό σε ότι αφορά στη διαδικασία επίλυσής του.
Γιατί «προγραμματισμός» Το βασικό πρόβλημα ήταν αρχικά η εύρεση της οικονομικότερης κατανομής ή προγραμματισμού ενός πλήθους ανταγωνιστικών δραστηριοτήτων σε συνθήκες πεπερασμένης διαθεσιμότητας πόρων (στην οικονομική επιστήμη). Δεν έχει σχέση με προγραμματισμό (coding)!
Πρόβλημα Έχουμε ένα ποτάμι και εργοστάσια που ανήκουν στην ίδια εταιρεία και φτιάχνουν διαφορετικά προϊόντα (που χρειάζονται όσο περισσότερο νερό γίνεται στη διαδικασία παραγωγής). Εργοστάσια j =, and Κατανομή νερού x j. Ποια κατανομή μεγιστοποιεί το συνολικό καθαρό κέρδος της εταιρείας; j= NB j (x j ) Το συνολικό νερό περιορίζεται σε μια ποσότητα Q =. Λύση με Lagrange: x =., x =.7 και x =5.
Το παράδειγμα κατανομής νερού σε Ο ΔΠ μπορεί να παρουσιαστεί σαν γράφημα Κάθε κόμβος (state) αναγράφει τη ποσότητα νερού που απομένει για να μοιραστεί στις άλλες εταιρείες/χρήστες νερού (που είναι οι σύνδεσμοι προς τα δεξιά. Κάθε σύνδεσμος ενώνει δύο κόμβους: έναν αριστερά (πριν την απόφαση) και έναν δεξιά (μετά την απόφαση) χρήστες Ας υποθέσουμε ότι x =:, x =:5 και x =:6 (επειδή ξέρουμε τη λύση!)
Καταμερισμός Νερού Καθαρό κέρδος
State ΔΠ «Προς τα πίσω» (backward dynamic programming, BDP) State State
Λύση Λύση: [,,5] Λύση με Lagrange: x =., x =.7 και x =5.
BDP Σε πίνακες Ένας πίνακας για κάθε φάση
ΔΠ «Προς τα εμπρός» (forward dynamic programming, FDP) Για τον FDP σε κάθε κόμβο πρέπει να υπολογίσουμε τη καλύτερη τιμή της αντικειμενικής που θα μπορούσαμε να πάρουμε από όλες τις παλιές αποφάσεις που οδηγούν στον κόμβο αυτό. Δηλαδή, πρέπει να βρούμε το καλύτερο τρόπο μετακίνησης από την αρχή προς το τέλος του κάθε Stage.
Διαστατικότητα Ένα προφανές πρόβλημα του ΔΠ είναι η δυνατότητά του να χειριστεί πολλές μεταβλητές κατάστασης (state variables). Στο πρόβλημά μας είχαμε μόνο μια: το συνολικό νερό που έπρεπε να κατανεμηθεί. Θα μπορούσε όμως να έχουμε και άλλες μεταβλητές π.χ., ενέργεια, ή πρώτες ύλες που θέλουν οι χρήστες του παραδείγματος μας. Κάθε μια μεταβλητή θα πρέπει να γίνει διακριτή. Για m διακριτές τιμές κάθε μεταβλητής, και n διαφορετικές μεταβλητές (π.χ., πρώτες ύλες) υπάρχουν m n συνδυασμοί για κάθε στάδιο (stage). Αυτή η εκθετική αύξηση πολυπλοκότητας ονομάζεται η «κατάρα της διαστατικότητας» (curse of dimensionality).
Πρόβλημα (για εξάσκηση) Χρησιμοποιείστε ΔΠ για να μοιράσετε νερό σε χρήστες με δεδομένο ότι η κατανομή νερού x j, σε κάθε χρήση j έχει τα ακόλουθα οφέλη: R(x ) = (x x ) R(x ) = (8x x ) R(x ) = (8x x ) Υποθέστε ότι η αντικειμενική είναι: max {TotalR(x)} και ότι το συνολικό νερό είναι hm.
Λύση με πολ/στές Lagrange Έστω ότι το συνολικό νερό είναι: f(x,x,x )= (x x ) + (8x x ) + (8x x ) s.t. x +x +x = Βοηθητικής συνάρτηση: φ(x)= f(x,x,x ) -λ(x +x +x -) dφ dx = = x dφ dx = = 8 x dφ dx = = 8 6x x =. x =. x =.7 dφ dλ = = x + x + x
Δίνεται: Λύση Xn R R R 7 5 7 5 7 6 Έστω, x =:, x =:, x =: x x x
Δίνεται: Λύση με FDP Xn R R R 7 5 7 5 7 6 Έστω, x =:, x =:, x =: x x x x f ()= x f ()= x += += +7=7 +5=5 f ()= f ()= f ()= f ()=5 += += +7=8 +5=6 f ()= f ()= f ()=6 += += +5=5 f ()=7 f +7=7 ()=5 7+=7 Λύση: [,,] f ()=5 7+5=5
Δίνεται: Λύση με BDP Xn R R R 7 5 7 5 7 6 Έστω, x =:, x =:, x =: x x x x f x f ()=5 ()= x f ()=+ 7 5 = f f ()=5 ()= f ()=5+7= 7 7 Λύση: [,,] f ()=5 f ()=5 f ()=5 5 5 5
Ένα ακόμα πρόβλημα ΔΠ: το πρόβλημα Επεκτάσεις: όγκους ταμιευτήρων, παροχετευτικότητες υδραγωγείων, αριθμό γεωτρήσεων της επέκτασης Το πρόβλημα: Πότε και πόσο να επεκτείνουμε την υπό εξέταση υποδομή; Ώστε να έχω στο τέλος της περιόδου τη ζητούμενη υποδομή με το ελάχιστο κόστος οικονομίες κλίμακας
Οι βασικές εξισώσεις του προβλήματος βελτιστοποίησης Αν C(s t, x t ) είναι το κόστος για επέκταση της αρχικής υποδομής με χωρητικότητα s t, κατά x t, εντός του χρονικού διαστήματος t, ώστε να φτάνουμε τη ζήτηση του διαστήματος (D t ). Τότε θέλουμε: Ισχύει: Περιορισμοί επιτρεπτής επέκτασης (π.χ. διαστάσεις αγωγών)
Το πρόβλημα της επέκταση ως Οι φάσεις (βήματα) είναι τα χρονικά διαστήματα (t). Κόμβοι είναι τα s t+ στο τέλος της φάσης (προς τα εμπρός επίλυση - FDP). Οι πολλαπλές διαδρομές αντιστοιχούν σε διαφορετικά σχέδια επέκτασης. Ας υποθέσουμε ότι f t (s t+ ) είναι το ελάχιστο κόστος για να έχουμε επέκταση σε s t+ μετά το τέλος του διαστήματος t. πρόβλημα ΔΠ
Βήματα επίλυσης f (s ) =
Ας υποθέσουμε ότι τα κόστη είναι g(x, t) και φαίνονται στο σχήμα. Ο άξονας y δίνει τη προσθήκη x t Θέλουμε τη διαδρομή με το ελάχιστο κόστος
Επίλυση προς τα εμπρός Βέλτιστη (οικονομική) λύση είναι Ποια η «βέλτιστη διαδρομή»; Σε τι είναι ευαίσθητη η λύση; Ποια απόφαση μας ενδιαφέρει να είναι λιγότερη ευαίσθητη;