Θεωρία Αποφάσεων και Βελτιστοποίηση http://www.di.uoa.gr/ telelis/opt.html Ορέστης Τελέλης telelis@di.uoa.gr Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
c Κανονικά Πρωτεύον- υϊκό mincx y m A x b maxby n Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Παράδειγµα Πρωτεύον maxz = 8x + y 5x + 3y 30 x + 3y 4 x + 3y 8 υϊκό minw = 8z +4z +30z 3 z + z + 5z 3 8 3z + 3z + 3z 3 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Εφαρµογή: Κοµβική Κάλυψη (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 5 min c j x j j= x + x, x + x 3 x 3 + x 4, x 4 + x 5 x 5 + x, x + x 3 x 3 + x 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 4/3
Πίνακας (Πρόσπτωσης) (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 A 7 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 5/3
υϊκό Πρόβληµα max 7 y i (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 i= y + y 5 + y y + y y + y 3 + y + y 7 7 y 3 + y 4 4 y 4 + y 5 + y 7 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Παράδειγµα: Budgeted Cover ίνεται δίκτυο G(V, E) και ϑέλουµε να δεσµεύσουµε κάποιους κόµβους για να παρακολουθούµε τις προσκείµενες συνδέσεις. Η δέσµευση του κόµβου v V κοστίζει c v. Μπορούµε να διαθέσουµε έναν προϋπολογισµό το πολύ ίσο µε B. Ζητείται δέσµευση των κόµβων εκείνων που καλύπτουν τις περισσότερες συνδέσεις, και το άθροισµα του κόστους δεν ξεπερνά τον προϋπολογισµό (Budgeted Maximum Cover). Θεωρία Αποφάσεων και Βελτιστοποίηση π. 7/3
Γραµµικό Πρόγραµµα Μία µεταβλητή απόφασης z j {0, } για κάθε κόµβο v j V. Μία µεταβλητή απόφασης x ij {0, } για κάθε ακµή (v i, v j ) E. Περιορισµός: µια ακµή (v i, v j ) καλύπτεται αν τουλάχιστον ένας κόµβος από τους v i, v j είναι δεσµευµένος: x ij z i + z j, (v i, v j ) E Θεωρία Αποφάσεων και Βελτιστοποίηση π. 8/3
Γραµµικό Πρόγραµµα Περιορισµός Budget: το αθροιστικό κόστος των δεσµευµένων κόµβων να είναι το πολύ B. n j= c j z j B Κριτήριο ϐελτιστοποίησης: κάλυψη κατά το δυνατόν περισσότερων ακµών: max i,j x ij Θεωρία Αποφάσεων και Βελτιστοποίηση π. 9/3
Γραµµικό Πρόγραµµα max i,j x ij x ij z i + z j, (v i, v j ) E n c j z j B j= x ij, z j {0, } Θεωρία Αποφάσεων και Βελτιστοποίηση π. 0/3
Παράδειγµα v 3 4 5 v v 3 max x + x 3 + x 34 + x 4 + x 3 x z z 0, x 3 z z 3 0 x 34 z 3 z 4 0, x 4 z 4 z 0 x 3 z z 3 0 3z + 4z + 5z 3 + z 4 7 x ij, z j {0, } Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Πίνακας 0 0 0 0 0 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 x x 3 x 34 x 4 x 3 z z z 3 z 4 0 0 0 0 0 7 Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Προσέγγιση Το πρόβληµα είναι NP-δύσκολο. ε γνωρίζουµε αλγόριθµο πολυωνυµικού χρόνου για την εύρεση της ϐέλτιστης λύσης. Υπάρχει αλγόριθµος πολυωνυµικού χρόνου που δίνει κάλυψη µεγέθους ( /e) ϕορές της µέγιστης. Αν τα κόστη είναι όλα ίσα, και ο προϋπολογισµός αφορά το πλήθος k κόµβων που µπορούµε να δεσµεύσουµε, ένας απλός αλγόριθµος δίνει την παραπάνω προσέγγιση. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Άπληστος Αλγόριθµος Ορίζουµε E(v) = {(v, u) E}. Οσο οι δεσµευµένοι κόµβοι είναι λιγότεροι από k επαναλαµβάνουµε: Επιλογή του κόµβου v V µε το µέγιστο E(v). V V {v}, E E E(v). Θυµίζει τον άπληστο αλγόριθµο για την κάλυψη ελάχιστου κόστους. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 4/3
Σύνδεση Αρχικού- υϊκού Θεωρούµε ένα Ϲευγάρι γραµµικών προγραµµάτων συσχετισµένων σαν πρωτεύον(min)-δυϊκό(max). Ας είναι Z η αντικειµενική συνάρτηση του πρωτεύοντος προβλήµατος, και Z η τιµή της στη ϐέλτιστη λύση του προβλήµατος. Ας είναι W η αντικειµενική συνάρτηση του δυϊκού προβλήµατος, και W η τιµή της στη ϐέλτιστη λύση του προβλήµατος. Θεώρηµα υϊκότητας: Z = W. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 5/3
Σύνδεση πρωτεύοντος-δυϊκού Ισχυρό Θεωρήµα υϊκότητας Γραµµικού Προγραµµατισµού Feasible Z Region Superoptimum (Infeasible) W Region Z OPT Z, W W Feasible W Region Superoptimum (Infeasible) Z Region Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Σύνδεση Αρχικού- υϊκού Βασική Συµπληρωµατική Καθυστέρηση: x j > 0 m i= a ij y i = c j υϊκή Συµπληρωµατική Καθυστέρηση: y j > 0 n j= a ij x j = b i Ισχύουν στον γραµµικό προγραµµατισµό (όταν x j, y i R). Θεωρία Αποφάσεων και Βελτιστοποίηση π. 7/3
Ακέραιος Προγραµµατισµός 5 4 3 3 4 5 7 Z IP Z, W IP W Θεωρία Αποφάσεων και Βελτιστοποίηση π. 8/3
Πρόταση Αντί να ελαχιστοποιήσουµε το πρωτεύον, γιατί να µη µεγιστοποιήσουµε το δυϊκό; Καθώς µεγιστοποιούµε το δυϊκό, κάθε ϕορά που εξαντλείται ένας δυϊκός περιορισµός j, ϑέτουµε την πρωτεύουσα µεταβλητή x j =. Ετσι ικανοποιούνται οι πρωτεύουσες συνθήκες συµπληρωµατικής καθυστέρησης. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 9/3
Μέθοδος υϊκής Ανόδου Ι Βασική τροποποίηση: Ξεχνάµε τις δυϊκές συνθήκες συµπληρωµατικής καθυστέρησης! Λύνουµε το δυϊκό πρόβληµα αργά, µε ελάχιστες αυξήσεις της δυϊκής αντικειµενικής συνάρτησης. Κάθε ϕορά που ένας j δυϊκός περιορισµός εξαντλείται στο ϕράγµα του, ϑέτουµε ίση µε τη x j. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 0/3
Μέθοδος υϊκής Ανόδου ΙΙ Γιατί ελάχιστες αυξήσεις; Για να είµαστε σίγουροι ότι το δυϊκό παραµένει εφικτό, και δεν περνάµε στην εφικτή περιοχή του πρωτεύοντος, όπου το δυϊκό γίνεται υπερβέλτιστο/ανέφικτο, και το πρωτεύον που ϑέλουµε να λύσουµε γίνεται υποβέλτιστο! Η µέθοδος λέγεται και µέθοδος δυϊκής ανόδου (dual ascent), ή εφικτού δυϊκού (dual feasible). Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Εφαρµογή: Κοµβική Κάλυψη (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 5 min c j x j j= x + x, x + x 3 x 3 + x 4, x 4 + x 5 x 5 + x, x + x 3 x 3 + x 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Πίνακας (Πρόσπτωσης) (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 A 7 5 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
υϊκό Πρόβληµα max 7 y i (5) v 5 5 v () () (7) v () v 3 7 (4) (3) 4 i= y + y 5 + y y + y y + y 3 + y + y 7 7 y 3 + y 4 4 y 4 + y 5 + y 7 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 4/3
Dual Ascent y = y 5 + y 0 y y + y 3 + y 7 7 y 3 + y 4 4 y 4 + y 5 + y 7 5 y 7 = 5 y 5 + y 0 y y + y 3 y 3 + y 4 4 y 4 + y 5 0 y 3 = y 5 + y 0 y y 0 y 4 y 4 + y 5 0 Τελειώνουµε εύκολα ϑέτωντας y = y 5 = y = y 4 = 0. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 5/3
Λύση Οι κορυφές για τις οποίες έχουν εξαντληθεί (bound) οι δυϊκοί περιορισµοί είναι στη λύση!!! Λύση: {v, v 3, v 5 }. Θεωρία Αποφάσεων και Βελτιστοποίηση π. /3
Προσέγγιση Ελάχιστης Κάλυψης Ο αλγόριθµος είναι προσεγγιστικός. Απόδειξη: Z IP = n j= c j x j = j:c j = m i= a ijy i c j n j= m i= a ij y i = = m i= y i n j= a ij = m i= y i = W IP Το από που µας ήρθε; Κάθε ακµή καλύπτεται από κόµβους στο γράφηµα. Θυµόµαστε τη µορφή του πίνακα πρόσπτωσης. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 7/3
Συνέχεια απόδειξης Αρα: Z IP = W IP W IP W LP = Z LP Z IP Αυτό σηµαίνει ότι η λύση που ϐρίσκουµε είναι ικανοποιητικά µικρή: το πολύ ϕορές όσο η µικρότερη δυνατή!!! Φαίνεται άσχηµο; Ο άπληστος αλγόριθµος δίνει το πολύ log n ϕορές όσο η µικρότερη δυνατή, που γίνεται χειρότερο όσο οι κόµβοι του δικτύου αυξάνονται!!! Θεωρία Αποφάσεων και Βελτιστοποίηση π. 8/3
Bar-Yehuda, Even, 98 Ετσι δώθηκε ο αλγόριθµος δυϊκής ανόδου για την ελάχιστου κόστους κοµβική κάλυψη: Οσο δεν καλύφθηκαν όλες οι συνδέσεις του δικτύου ακόµη κάνε τα εξής: ιάλεξε µία οποιαδήποτε (v i, v j ) ακµή που δεν καλύφθηκε. έσµευσε έναν κόµβο (έστω v j ) ελάχιστου κόστους που την καλύπτει. Ενηµέρωσε το κόστος του v i ϑέτοντας: c i = c i c j. Θεωρία Αποφάσεων και Βελτιστοποίηση π. 9/3
Παράδειγµα v v 5 5 v v 3 7 4 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 30/3
Παράδειγµα v v 5 5 v v 5 5 v v 3 7 4 v v 3 7 4 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 30/3
Παράδειγµα v v 5 5 v v 5 5 v v 3 7 4 v v 3 7 4 v v 5 5 v v 3 4 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 30/3
Παράδειγµα v v 5 5 v v 5 5 v v 3 7 4 v v 3 7 4 v v 5 5 v v 5 5 v v 3 4 v v 3 4 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 30/3
Ελάχιστη Κοµβική Κάλυψη v v 5 5 v v 3 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Dijkstra r v 3 v 8 v 3 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Dijkstra r v 3 v 8 v 3 v v 3 8 r 3 8 v 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Dijkstra r v 3 v 8 v 3 v v 3 8 r 3 8 v 5 v v 3 7 r 3 8 v 5 3 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Dijkstra r v 3 v 8 v 3 v v 3 8 r 3 8 v 5 v v 3 7 r 3 8 v 5 3 r v 3 v 5 8 v 3 7 8 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Primal Shortest Paths Tree min c ij x ij (i,j) A (j,i) BS(i) x ji (i,j) F S(i) x ij = { n +, i = r, v i N {v r } x ij 0, (i,j) A Forward Star: FS(i) = {a A t(a) = v i } Backward Star: BS(j) = {a A h(a) = v j } Θεωρία Αποφάσεων και Βελτιστοποίηση π. 33/3
Dual Shortest Paths Tree max( n)y r + j r y j y j y i c ij, (i, j) A y i 0, v i N Θεωρία Αποφάσεων και Βελτιστοποίηση π. 34/3
Παράδειγµα max 4y 0 +y +y +y 3 +y 4 r v 3 v 8 v 3 y y 0, y y 0 y y 3, y y y 3 y, y 4 y 8 y y 4, y 3 y y 4 y 3, y 3 y 4 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 35/3
Dual Ascent y = y y 5, y 3 y 3 8, y 4 y 8 y 4 3, y 3 y y 4 y 3, y 3 y 4 y = 5 y 3 8, y 4 3 y 4 3, y 3 7 y 4 y 3, y 3 y 4 y 3 = 7 y 4 3, y 4 3 y 4 8, y 4 5 Θεωρία Αποφάσεων και Βελτιστοποίηση π. 3/3
Λύση Τελειώνουµε µε y 4 = 8! Παρατήρηση: Οι δυϊκές µεταβλητές έχουν τιµή ίση µε την απόσταση του κόµβου από τη ρίζα! Θεωρία Αποφάσεων και Βελτιστοποίηση π. 37/3