Υπολογιστικές Μέθοδοι στη Θεωρία Αποφάσεων Ενότητα 7 Ανάλυση ευαισθησίας Παραμετρική ανάλυση Αντώνης Οικονόμου Τμήμα Μαθηματικών Πανεπιστήμιο Αθηνών Προπτυχιακό πρόγραμμα σπουδών 11 Φεβρουαρίου 2016 Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Ανάλυση ευαισθησίας Ανάλυση ευαισθησίας = Ανάλυση ευστάθειας της λύσης. (sensitivity analysis, postoptimality analysis). Αρχίζει αφού έχει βρεθεί βέλτιστη λύση. Βασικό ερώτημα: Πόσο μπορούν να αλλάξουν τα δεδομένα του π.γ.π. και να παραμένει βέλτιστη η τρέχουσα βάση (τα B και N ); Η ανάλυση ευαισθησίας είναι πολύτιμη όταν Τα δεδομένα εμπεριέχουν αβεβαιότητα. Τα δεδομένα μεταβάλλονται από μέρα σε μέρα.
Τελικό λεξικό - Ανάλυση ευαισθησίας για το c Εστω το τελικό λεξικό ενός π.γ.π. ζ = ζ z N T x N x B = x B B 1 N x N όπου x B = B 1 b, z N = (B 1 N) T c B c N, ζ = c T B B 1 b. Αν το c αλλάξει σε σε c: 1 Το x B δεν αλλάζει. 2 Τα zn, ζ πρέπει να ξαναυπολογιστούν. 3 Εχω εφικτή αρχική λύση για το νέο πρωτεύον. 4 Εφαρμόζεται η Simplex. 5 Είναι πιθανό για μικρή αλλαγή, η νέα βέλτιστη β.ε.λ. να βρεθεί γρήγορα.
Τελικό λεξικό - Ανάλυση ευαισθησίας για το b Εστω το τελικό λεξικό ενός π.γ.π. ζ = ζ z N T x N x B = x B B 1 N x N όπου x B = B 1 b, z N = (B 1 N) T c B c N, ζ = c T B B 1 b. Αν το b αλλάξει σε σε b: 1 Το zn δεν αλλάζει. 2 Τα x B, ζ πρέπει να ξαναυπολογιστούν. 3 Εχω εφικτή αρχική λύση για το νέο δυϊκό. 4 Εφαρμόζεται η δυϊκή Simplex. 5 Είναι πιθανό για μικρή αλλαγή, η νέα βέλτιστη β.ε.λ. να βρεθεί γρήγορα.
Τελικό λεξικό - Γενική ανάλυση ευαισθησίας Αν αλλάζουν όλα τα δεδομένα c, A, b αλλά λίγο, είναι βολικό να σχηματίσω το λεξικό που αντιστοιχεί στην βάση της προηγούμενης βέλτιστης λύσης, να ξεκινήσω από εκείνη για να βρω βέλτιστη λύση στο τροποποιημένο πρόβλημα (warm start). Συνήθως η βέλτιστη λύση βρίσκεται σε λίγες επαναλήψεις.
Εύρος βελτιστότητας (Ranging) για το c Εστω ένα βέλτιστο λεξικό Αν το c αλλάξει σε ζ = ζ z N T x N x B = x B B 1 N x N c = c + t c, όπου c κάποιο διάνυσμα κατεύθυνσης, για ποιά t η τρέχουσα βάση παραμένει βέλτιστη; Αρκεί και πρέπει z N = (B 1 N) T c B c N 0. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Εύρος βελτιστότητας για το c (συνέχεια) Είναι όπου z N = z N + t z N, z N = (B 1 N) T c B c N. Πρέπει z N + t z N 0 που για t > 0 δίνει ενώ για t < 0 δίνει t t ( ) 1 max z j j N zj ( ) 1 min z j. j N zj
Εύρος βελτιστότητας για το c (συνέχεια) Θεώρημα Για c = c + t c η βέλτιστη β.ε.λ. για το c παραμένει βέλτιστη και για το c για ( ) 1 ( ) 1 min z j t max j N z z j, j j N zj όπου z N = (B 1 N) T c B c N.
Εύρος βελτιστότητας (Ranging) για το b Εστω ένα βέλτιστο λεξικό Αν το b αλλάξει σε ζ = ζ z N T x N x B = x B B 1 N x N b = b + t b, όπου b κάποιο διάνυσμα κατεύθυνσης, για ποιά t η τρέχουσα βάση παραμένει βέλτιστη; Αρκεί και πρέπει x B = B 1 b 0. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Εύρος βελτιστότητας για το b (συνέχεια) Είναι όπου x B = x B + t x B, x B = B 1 b. Πρέπει x B + t x B 0 που για t > 0 δίνει ενώ για t < 0 δίνει t t ( ) 1 max x i i B x i ( ) 1 min x i. i B x i
Εύρος βελτιστότητας για το b (συνέχεια) Θεώρημα Για b = b + t b η βέλτιστη β.ε.λ. για το b παραμένει βέλτιστη και για το b για ( ) 1 ( ) 1 min x i t max i B x x i, i i B x i όπου x B = B 1 b.
Παράδειγμα Εστω το π.γ.π. max 5x 1 + 4x 2 + 3x 3 υπό 2x 1 + 3x 2 + x 3 5 4x 1 + x 2 + 2x 3 11 3x 1 + 4x 2 + 2x 3 8 x 1, x 2, x 3 0 Εφαρμόζοντας τη Simplex καταλήγουμε στο βέλτιστο λεξικό ζ = 13 3x 2 x 4 x 6 x 3 = 1 + x 2 + 3x 4 2x 6 x 1 = 2 2x 2 2x 4 + x 6 x 5 = 1 + 5x 2 + 2x 4 Για ποιες τιμές του συντελεστή c 1 της x 1 στην αντικειμενική συνάρτηση δεν αλλάζει η βέλτιστη λύση; Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα (συνέχεια) Το βέλτιστο λεξικό ζ = 13 3x 2 x 4 x 6 x 3 = 1 + x 2 + 3x 4 2x 6 x 1 = 2 2x 2 2x 4 + x 6 x 5 = 1 + 5x 2 + 2x 4 αντιστοιχεί σε B = (3, 1, 5) και N = (2, 4, 6). Για την ανάλυση ευαισθησίας ως προς c χρειαζόμαστε τα z N = (B 1 N) T c B c N. και z N = (B 1 N) T c B c N. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα (συνέχεια) B = (3, 1, 5) και N = (2, 4, 6). Εχουμε: c = [ 5 4 3 0 0 0 ] T c = [ 1 0 0 0 0 0 ] T c B = [ 0 1 0 ] T c N = [ 0 0 0 ] T Επίσης: B = 1 2 0 2 4 1 2 3 0, N = 3 1 0 1 0 0 4 0 1.
Παράδειγμα (συνέχεια) Τα z N και z N μπορούν να υπολογιστούν εξαρχής. Ομως το βέλτιστο λεξικό ζ = 13 3x 2 x 4 x 6 x 3 = 1 + x 2 + 3x 4 2x 6 x 1 = 2 2x 2 2x 4 + x 6 x 5 = 1 + 5x 2 + 2x 4 αντιστοιχεί στο γενικό λεξικό ζ = ζ z N T x N x B = x B B 1 N x N και δίνει άμεσα τα z N και B 1 N. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα (συνέχεια) Είναι και οπότε z N = [ 3 1 1 ] T B 1 N = 1 3 2 2 2 1 5 2 0, z N = (B 1 N) T c B c N 1 2 5 0 = 3 2 2 1 2 1 0 0 0 0 0 = 2 2 1.
Παράδειγμα (συνέχεια) Τελικά: zn = 3 1 1, z N = 2 2 1. Η συνθήκη βελτιστότητας zn + t z N 0 δίνει: 3 + 2t 0, 1 + 2t 0, 1 t 0. Η β.ε.λ. (2, 0, 1, 0, 1, 0) παραμένει βέλτιστη για 1 2 t 1, ή ισοδύναμα για 4.5 c 1 6.
Παραμετρική ανάλυση Παραμετρική ανάλυση = Ανάλυση της μεταβολής της λύσης καθώς μια παράμετρος του προβλήματος μεταβάλλεται. Χρήσιμη όταν κάποιο μεμονωμένο δεδομένο μεταβάλλεται. Πιο συχνά πρόκειται για κάποιο συντελεστή στην αντικειμενική συνάρτηση ή κάποιο σταθερό όρο περιορισμού. Διαλέγουμε μια τιμή της παραμέτρου (συνήθως 0) και λύνουμε το πρόβλημα. Κάνουμε ανάλυση ευαισθησίας για να βρούμε το εύρος βελτιστότητας. Πάμε στα άκρα του διαστήματος του εύρους και λύνουμε για τιμές της παραμέτρου δεξιό άκρο +ɛ και αριστερό μέλος ɛ κ.ο.κ. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Η ομοτοπική μέθοδος Ομοτοπική μέθοδος: Δημιουργία συνεχούς παραμόρφωσης ενός δύσκολου προβλήματος που το ανάγει σε ένα τετριμένο πρόβλημα και μετά αναδρομική λύση των ενδιάμεσων προβλημάτων ξεκινώντας από το τετριμένο προς το δύσκολο.
Η ομοτοπική μέθοδος στο Γραμμικό Προγραμματισμό Στα πλαίσια του Γραμμικού προγραμματισμού: 1 Ξεκινάμε από μια βασική λύση ενός π.γ.π. 2 Παραμορφώνουμε το π.γ.π. ώστε η λύση να γίνει βέλτιστη και εφικτή, εισάγοντας κάποια παράμετρο παραμόρφωσης. 3 Κατόπιν μειώνουμε συνεχώς την παράμετρο παραμόρφωσης και λύνουμε τα ενδιάμεσα παραμορφωμένα π.γ.π. 4 Οταν η παράμετρος παραμόρφωσης γίνει 0, έχουμε βρει βέλτιστη λύση του αρχικού.
Η παραμετρική αυτοδυϊκή μέθοδος Simplex Εστω π.γ.π. με δεδομένο αρχικό λεξικό. Αφαιρούμε µ από τους συντελεστές της αντικειμενικής. Προσθέτουμε µ στους σταθερούς όρους των περιορισμών. Βρίσκουμε την ελάχιστη τιμή µ του µ ώστε η βασική λύση να είναι βέλτιστη και εφικτή. Βρίσκουμε την βασική μεταβλήτη που γίνεται 0 ή τη δυϊκή μεταβλητή που γίνεται 0 για την µ. Η αντίστοιχη μεταβλήτη βγαίνει από τη βάση (αν είναι στο πρωτεύον) ή μπαίνει στη βάση (αν είναι δυϊκή). Κάνουμε οδήγηση, κ.ο.κ. Οταν βρούμε βέλτιστη λύση για διάστημα της µ που περιέχει το 0, έχουμε βρει βέλτιστη λύση του αρχικού. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα Εστω το π.γ.π. max 2x 1 + 3x 2 υπό x 1 + x 2 1 x 1 2x 2 2 x 2 1 x 1, x 2 0 Το αρχικό λεξικό του είναι το ζ = 2x 1 + 3x 2 x 3 = 1 + x 1 x 2 x 4 = 2 + x 1 + 2x 2 x 5 = 1 x 2. Οι βασικές λύσεις του πρωτεύοντος και του δυϊκού δεν είναι εφικτές. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα (συνέχεια) Εισάγουμε παράμετρο παραμόρφωσης µ. Η µ αφαιρείται από τους συντελεστές της αντικειμενικής. Η µ προστίθεται στους σταθερούς όρους των περιορισμών. Το προκύπτον λεξικό θα αντιστοιχεί σε βέλτιστη β.ε.λ. για αρκετά μεγάλο µ. Εχουμε το λεξικό ζ = (2 + µ)x 1 ( 3 + µ)x 2 x 3 = 1 + µ + x 1 x 2 x 4 = 2 + µ + x 1 + 2x 2 x 5 = 1 + µ x 2. Για ποιές τιμές του µ είναι βέλτιστο;
Παράδειγμα - 1η επανάληψη Το λεξικό ζ = (2 + µ)x 1 ( 3 + µ)x 2 x 3 = 1 + µ + x 1 x 2 x 4 = 2 + µ + x 1 + 2x 2 x 5 = 1 + µ x 2. είναι βέλτιστο αν 2 + µ 0 3 + µ 0 1 + µ 0 2 + µ 0 1 + µ 0, δηλαδή αν µ 3 οπότε ο συντελεστής της x 2 γίνεται 0 για µ = 3. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα - 1η επανάληψη Είδαμε ότι το λεξικό ζ = (2 + µ)x 1 ( 3 + µ)x 2 x 3 = 1 + µ + x 1 x 2 x 4 = 2 + µ + x 1 + 2x 2 x 5 = 1 + µ x 2. είναι βέλτιστο αν µ 3. Η ανισότητα που γίνεται ισότητα είναι η 3 + µ 0 που αντιστοιχεί στη μη-βασική μεταβλητή x 2. Η x 2 θα μπει στη βάση. Για το ποιά θα βγει εφαρμόζω τον κανόνα της Simplex για µ = 3. Εχουμε min{ 1+3 στην x 3 Η x 3 θα βγει από τη βάση., 1+3 1 1 Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7 } = 2 που αντιστοιχεί
Παράδειγμα - 1η επανάληψη Το αρχικό λεξικό ζ = (2 + µ)x 1 ( 3 + µ)x 2 x 3 = 1 + µ + x 1 x 2 x 4 = 2 + µ + x 1 + 2x 2 x 5 = 1 + µ x 2. ανάγεται στο 2ο λεξικό ζ = 3 + 4µ µ 2 ( 1 + 2µ)x 1 (3 µ)x 3 x 2 = 1 + µ + x 1 x 3 x 4 = 4 + 3µ + 3x 1 2x 3 x 5 = 2 + x 1 + x 3.
Παράδειγμα - 2η επανάληψη Το λεξικό ζ = 3 + 4µ µ 2 ( 1 + 2µ)x 1 (3 µ)x 3 x 2 = 1 + µ + x 1 x 3 x 4 = 4 + 3µ + 3x 1 2x 3 x 5 = 2 + x 1 + x 3. είναι βέλτιστο αν 1 + 2µ 0 3 µ 0 1 + µ 0 4 + 3µ 0 2 0, δηλαδή αν 4 3 µ 3 οπότε η x 4 γίνεται 0, για µ = 4 3. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα - 2η επανάληψη Είδαμε ότι το λεξικό ζ = 3 + 4µ µ 2 ( 1 + 2µ)x 1 (3 µ)x 3 x 2 = 1 + µ + x 1 x 3 x 4 = 4 + 3µ + 3x 1 2x 3 x 5 = 2 + x 1 + x 3. είναι βέλτιστο αν 4 µ 3. 3 Η ανισότητα που γίνεται ισότητα είναι η 4 + 3µ 0 που αντιστοιχεί στη βασική μεταβλητή x 4. Η x 4 θα βγει από τη βάση. Για το ποιά θα μπει εφαρμόζω τον κανόνα της δυϊκής Simplex για µ = 4/3. Εχουμε το λόγο 1+2 4/3 που 3 αντιστοιχεί στην x 1 Η x 1 θα μπει στη βάση. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα - 2η επανάληψη Το 2ο λεξικό ζ = 3 + 4µ µ 2 ( 1 + 2µ)x 1 (3 µ)x 3 x 2 = 1 + µ + x 1 x 3 x 4 = 4 + 3µ + 3x 1 2x 3 x 5 = 2 + x 1 + x 3. ανάγεται στο 3ο λεξικό ζ = 5 + 1µ + 3 3 µ2 ( 1 + 2µ)x 3 3 4 ( 7 + 1µ)x 3 3 3 1 1 x 2 = + x 1 3 3 4 x 3 3 4 x 1 = µ + 1 x 2 3 3 4 + x 3 3 2 x 5 = + µ 1 x 1 3 3 4 + x 3 3
δηλαδή αν 1 2 µ 4 3 οπότε ο συντελεστής της x 4 γίνεται 0, για µ = 1 2. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7 Παράδειγμα - 3η επανάληψη Το λεξικό ζ = 5 + 1µ + 3 3 µ2 ( 1 + 2µ)x 3 3 4 ( 7 + 1µ)x 3 3 3 1 1 x 2 = + x 1 3 3 4 x 3 3 4 x 1 = µ + 1 x 2 3 3 4 + x 3 3 2 x 5 = + µ 1 x 1 3 3 4 + x 3 3 είναι βέλτιστο αν 1/3 + 2µ/3 0 7/3 + µ/3 0 1/3 0 4/3 µ 0 2/3 + µ 0,
Παράδειγμα - 3η επανάληψη Είδαμε ότι το λεξικό ζ = 5 + 1µ + 3 3 µ2 ( 1 + 2µ)x 3 3 4 ( 7 + 1µ)x 3 3 3 1 1 x 2 = + x 1 3 3 4 x 3 3 4 x 1 = µ + 1 x 2 3 3 4 + x 3 3 2 x 5 = + µ 1 x 1 3 3 4 + x 3 3 είναι βέλτιστο αν 1 2 µ 4 3. Η ανισότητα που γίνεται ισότητα είναι η 1 3 + 2 3 µ 0 που αντιστοιχεί στη μη-βασική μεταβλητή x 4. Η x 4 θα μπει στη βάση. Για το ποιά θα μπει εφαρμόζω τον κανόνα της Simplex για µ = 1/2. Η x 5 θα βγει από τη βάση. Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα - 3η επανάληψη Το 3ο λεξικό ζ = 5 + 1µ + 3 3 µ2 ( 1 + 2µ)x 3 3 4 ( 7 + 1µ)x 3 3 3 1 1 x 2 = + x 1 3 3 4 x 3 3 4 x 1 = µ + 1 x 2 3 3 4 + x 3 3 2 x 5 = + µ 1 x 1 3 3 4 + x 3 3 ανάγεται στο 4ο λεξικό ζ = 1 µ 2 (1 2µ)x 5 (2 + µ)x 3 x 2 = 1 + µ x 5 x 1 = 2 x 5 + x 3 x 4 = 2 + 3µ 3x 5 + x 3
Παράδειγμα - 4η επανάληψη Το λεξικό ζ = 1 µ 2 (1 2µ)x 5 (2 + µ)x 3 x 2 = 1 + µ x 5 x 1 = 2 x 5 + x 3 x 4 = 2 + 3µ 3x 5 + x 3 είναι βέλτιστο αν δηλαδή αν 2 3 µ 1 2. 1 2µ 0 2 + µ 0 1 + µ 0 2 0 2 + 3µ 0, Α. Οικονόμου - aeconom@math.uoa.gr ΥΜΘΑ - Ενότητα 7
Παράδειγμα - 4η επανάληψη Αφού το λεξικό ζ = 1 µ 2 (1 2µ)x 5 (2 + µ)x 3 x 2 = 1 + µ x 5 x 1 = 2 x 5 + x 3 x 4 = 2 + 3µ 3x 5 + x 3 είναι βέλτιστο αν 2 µ 1 και το διάστημα αυτό 3 2 περιέχει το µ = 0 έχουμε βρει λύση για το αρχικό π.γ.π. Το αντίστοιχο λεξικό προκύπτει για µ = 0: ζ = 1 x 5 2x 3 x 2 = 1 x 5 x 1 = 2 x 5 + x 3 x 4 = 2 3x 5 + x 3
Πλεονεκτήματα της αυτοδυϊκής Simplex Δίνει ελευθερία επιλογής στη διαταραχή που εισάγουμε στο αρχικό πρόβλημα. Μπορεί να κάνει παραμετρική ανάλυση ως προς μια παράμετρο που επηρεάζει πολλά δεδομένα. Αποφεύγει το πρόβλημα των εκφυλισμένων λύσεων. Με φυσικό τρόπο ενοποιεί τις δυο φάσεις της Simplex. Με φυσικό τρόπο ενοποιεί τη Simplex και τη δυϊκή Simplex.