EΘNIKO ΜEΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΙΙ: Ανάλυσης, Σχεδιασμού & Ανάπτυξης Διεργασιών & Συστημάτων Υπολογιστικές Μέθοδοι Ανάλυσης και Σχεδιασμού Μάθημα Επιλογής 8 ου εξαμήνου Διδάσκων: Α. Κοκόσης Συνεργάτες: Α. Νικολακόπουλος, Θ.Χ. Ξενίδου
6 η ΔΙΑΛΕΞΗ ΜΙΚΤΟΣ ΑΚΕΡΑΙΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 2
Μικτός Ακέραιος Μη Γραμμικός Προγραμματισμός c d MIN f( x, x ) c υ.π.: h ( x ) = 0 c d g( x, x ) 0 x x c j d n { 01 0,1 } m Δύσκολη επίλυση με μεθόδους: Κλάδου και Φράγματος Γενικευμένη Προσέγγιση Benders (Generalized Benders Approximation) Χαλάρωση Εξισώσεων Εξωτερικής Προσέγγισης (Equality Relaxation of Outer Approximation) 3
Μικτός Ακέραιος Γραμμικός Προγραμματισμός MIN a T x c + b T x d υ.π.: x c d Ax + Bx D c d x = 0 = { 01 0,1 } m 4
Χρήση ακέραιων μεταβλητών (a) Το B ισχύει μόνο αν ισχύει το A y B y A 0 y A = 0 y 0 = 0 B y y A =1 y B 1 B y B y or B = 0 = 1 (b) Αν το A δεν ισχύει, οτιδήποτε σχετίζεται με το Α πρέπει να εξαλειφθεί. Υποθέτουμε Var A 0 Var y UB 0 A A VarA y = 0 y =11 y A y A 0 Var 0 Var A A = 0 VarA UB VarA 5
Διατήρηση γραμμικότητας του μοντέλου Το μοντέλο χρειάζεται να διατηρεί την γραμμικότητά του Παράδειγμα Εξάρτηση (a) Εξάρτηση (b) Γραμμική διαμόρφωση Μη Γραμμική διαμόρφωση y y 0 y y B = 0 B A A VarA ya UB 0 Var A ya = 0 Αρκετές μέθοδοι επίλυσης Ουσιαστικά αδύνατο να λυθεί, ή πολύ δύσκολο 6
Μέθοδοι επίλυσης Μέθοδος Εξαντλητική ( Brute force approach) Μέθοδος χαλάρωσης Αφελής μέθοδος (Naïve) Κλάδου και Φράγματος Αποσύνθεση Benders (Benders Decomposition) Αλγόριθμοι Επιπέδων Τομής (Cutting Plane Method) 7
Εξαντλητική Μέθοδος Επίλυση Γραμμικών Προγραμμάτων (ΓΠ) για όλους τους συνδυασμούς 0 1 των έτσι ώστε να βρεθεί το ολικό βέλτιστο. Στην συνέχεια επιλέγουμε την ελάχιστη (ή την μέγιστη) λύση Δηλαδή ελέγχουμε: N LP = 2 n # μεταβλητές # ΓΠ 5 32 100 ~10 30 # συνδυασμών = 2 n 8
Μέθοδος Χαλάρωσης Χαλαρώνονται όλες οι διακριτές μεταβητές και θεωρούνται συνεχείς: y { } 01 0,1 0 y 1 Επιλύουμε το πρόβλημα ΓΠ (δεν θα παραχθεί απαραίτητα ακέραιη λύση). Ακέραια λύση 0-1 μπορεί να προκύψει μόνο για ειδικές περιπτώσεις: πρόβλημα ανάθεσης (assignment problem), πρόβλημα ρ β μεταφοράς (transportation problem), πρόβλημα μεταφόρτωσης (transhipment problem), μικρότερης διαδρομής (Shortest Path) 9
Ακέραια λύση Παράδειγμα Πρόβλημα ανάθεσης m μηχανές n εργασίες Πώς πρέπει να ανατεθούν οι διάφορες εργασίες στις διάφορες μηχανές; Εργασίες n cy y ij Μηχανές Max ij ij i =. 1..... m i m j υ.π.: y = 1, j = 1,..., n i j y { 1 } Ικανή συνθήκη για 0 1 λύσεις: Για Bx d D n j = 1 ij ij y = 1, j = 1,..., m ij m 1 ij = 0, 0 y 1 Το Β θα πρέπει να είναι μονοτροπικός (unimodular): Δηλαδή κάθε τετραγωνικός, αντιστέψιμος υποπίνακας του BAνα έχει det(a) = 1. Για γενικά MILP προβλήματα η λύση του χαλαρωμένου προβλήματος δεν θα είναι ακέραιη. 10
Αφελής Μέθοδος Βασική ιδέα: Στρογγυλοποίηση στον πλησιέστερο ακέραιο. y i * = 0.8 y * = 1.0 y * = 0.1 y * = 0 i i i Παράδειγμα: min z = 12y1 y2 y1+ y2 1 12 1.2 y 05 1+ 0.5y2 1 y, y 0,1 1 2 { } Βέλτιστη λύση: ( y1*, y 2*) = (0,1) y y Χαλαρωμένη λύση 1 2 * = 0.715 1.0 * = 0.285 0.0 ( y *, y *) = (10) (1,0) Στρογγυλοποιημένη 1 2 Μη εφικτή! λύση 11
Κλάδου και Φράγματος (Branch and Bound) 1 Αρχικός κόμβος 2 3 Απόγονος κόμβος γονεϊκός κόμβος 4 5 6 7 8 9 10 11 12 13 14 15 Τερματικοί κόμβοι 12
Αναζήτηση λύσης Βασική ιδέα: Αποφέυγεται η εξεντλητική αξιολόγηση όλων των {0,1} συνδυασμών αξιοποώντας ιδιότητες. Έστω ότι το z* είναι η βέλτιστη λύση στο δυαδικό δέντρο. Τότε το z* θα είναι ένα από τα z 8 *, z 9 *, z 15 *. Σε κάθε κόμβο i μπορεί κάποιος να λύσει το χαλαρωμένο ΓΠ z i * θεωρώντας ως συνεχείς τις ακέραιες μεταβλητές. Αν ο i προηγείται του j τότε z i * z j * (υποθέτωντας ελαχιστοποίηση) Έτσι - Αν το z i * δεν είναι εφικτό οτιδήποτε κάτω από το i είναι μη εφικτό - Θεωρούμε ότι λύνουμε τα χαλαρωμένα ΓΠ 1, 3, 6, 12 και 2 και ότι z 1 * z 3 * z 6 * z 12 * z 1 * z 2 * Τότε z 1 * z* z 12 * Έστω τώρα ότι z 12 * z 2 * 13
Κλαδεύοντας το δέντρο Z 2 * 2 3 1 Z 3 * Z 6 * 4 5 6 7 8 9 10 11 12 13 14 15 Πλεονάζον μέρος του δέντρου Z 12 * 14
Παρατηρήσεις Οι ιδιότητες δεν είναι πάντα αρκετές για να καθορίσουν τις επόμενες κινήσεις. Συνήθως ακολουθούνται ευρετικές πρακτικές ώστε να συμπληρωθεί ο αλγόριθμος Συνήθεις ερωτήσεις: Από ποιόν κόμβο να επεκτείνουμε στην συνέχεια; Πρώτο με βάση το βάθος: επεκτείνουμε από τον πιο πρόσφατο Με βάση το εύρος: από αυτόν με το χαμηλότερο κάτω όριο Ποιές μεταβλητές πρέπει να διατηρηθούν ακέραιες; Αυτές που είναι πιο κοντά στο 05 0.5 Αυτές που έρχονται πρώτες στην λίστα 15
Αποσύνθεση του Benders Γενικό πρότυπο min f( x, y) = c T y + F( x) xy, hxy (, ) = A y+ Hx ( ) = 0 gxy (, ) = β y+ Gx ( ) 0 x IR, y {0,1} Βασική ιδέα Αποσυνθέτουμε ο το πρόβλημα σε Ένα αρχικό πρόβλημα που δίνει ένα πάνω όριο (ΜΟΝΟ ΣΥΝΕΧΕΙΣ ΜΕΤΑΒΛΗΤΕΣ) Ένα κύριο πρόβλημα που δίνει κάτω όριο (ΜΟΝΟ ΑΚΕΡΑΙΕΣ ΜΕΤΑΒΛΗΤΕΣ) Επαναλαμβάνουμε (βελτιώνοντας τα κάτω και τα πάνω όρια) μέχρι την σύγκλιση. 16
Προσέγγιση της λύσης MI(N)LP μοντέλο αρχικό πρόβλημα Πάνω όριο Σταθεροποιεί τις δυαδικές μεταβλητές Κύριο πρόβλημα Κάτω όριο Χρησιμοποιεί τις οριακές (περιθώριες) ρ ρ τιμές μς Τερματισμός 17
DICOPT++ DIscrete and Continuous OPTimiser (Viswanathan και Grossman, EDRC/CMU) Οι αλγόριθμοι έχουν πρόβλεψη για διαχείριση μη κυρτότητας, αλλά δεν βρίσκουν απαραίτητα το απόλυτο βέλτιστο Διαχειρίζονται μόνο συνεχείς και δυαδικές μεταβλητές (όχι ακέραιες) Δίνουν καλά αποτελέσματα για μικρό αριθμό ακέραιων μεταβητών (<50) και αρκετά λεία μοντέλα (εξισώσεις) 18