EΘNIKO ΜEΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝΜΗΧΑΝΙΚΩΝ ΤΟΜΕΑΣ ΙΙ: Ανάλυσης, Σχεδιασμού & Ανάπτυξης Διεργασιών & Συστημάτων Διάλεξη 5: Μέθοδοι αποικοδόμησης Μάθημα Επιλογής 8 ου εξαμήνου Διδάσκων: Α. Κοκόσης Συνεργάτες: Α. Νικολακόπουλος, Θ.Χ. Ξενίδου
Μέθοδοι αποικοδόμησης, επιμερισμός & ιεράρχηση Επισκόπηση Βασική ιδέα της αποικοδόμησης Πρόβλημα αντιστοίχισης Μέθοδοι επιμερισμού Αλληλουχία υπολογισμών και ιεράρχηση
Μέθοδοι αποικοδόμησης, επιμερισμός & ιεράρχηση Παράδειγμα Ας εξετάσουμε το σύστημα f 1: x1 + x 4 10 = 0 f :x x x x 6 = 0 2 2 2 4 3 5 ( ) f :x x x 8= 0 1.7 3 1 2 4 f 4:x4 3x1 + 6= 0 f 5:x1x3 x5+ 6 = 0 Μη γραμμικό σύστημα. Η απευθείας λύση απαιτεί την επίλυση ενός συστήματος 5Χ5 με διαδοχικές γραμμικοποιήσεις και επαναλήψεις βάσει κάποιων από τις γνωστές μέθόδους Εναλλακτικά θα θέλαμε να επιλύσουμε μικρότερα συστήματα (αποικοδόμηση) ορισμένα με κάποια συγκεκριμένη σειρά (ιεράρχηση) Που να λύνονται το ένα μετά το άλλο (επιμερισμός), ουσιαστικά περιορίζοντας τις απαιτήσεις του μεγαλύτερου προβλήματος
Μέθοδοι αποικοδόμησης, επιμερισμός & ιεράρχηση Πράγματι, όπως θα δούμε στη συνέχεια f 1: x1 + x 4 10 = 0 f :x x x x 6= 0 2 2 2 4 3 5 ( ) f :x x x 8 = 0 Σ1: 2x2 Σ2: 1x1 Σ3: 2x2 1.7 3 1 2 4 f 4:x4 3x1 + 6= 0 f 5:x1x3 x5 + 6 = 0 Το σύστημά μας μπορεί δηλαδή να αναλυθεί σε 3 υποσυστήματα Ένα σύστημα Σ1: 2Χ2, ένα μοναδιαίο Σ2, και ένα τρίτο πάλι Σ3, 2Χ2 Έτσι μπορούμε να επιλύσουμε: Σ1>Σ2>Σ3αντί για το αρχικό Σκοπός: Γενικευμένες και συστηματικές μέθοδοι ποιά / πόσα τα υποσυστήματα μπορούν να δημιουργηθούν ποια είναι η σειρά που χρειάζεται να επιλυθούν
Μέθοδοι αποικοδόμησης, επιμερισμός & ιεράρχηση Μεθοδολογία Αναπαράσταση του προβλήματος Πρόβλημα αντιστοίχισης εξισώσεων μεταβλητών (πρόβλημα αντιστοίχισης assignment) Αναλυτικές και ευχρηστικές τεχνικές επιλογής υποσυστημάτων (πρόβλημα επιμερισμού partitioning) Αλληλουχία υπολογισμού και σύνταξη αλγόριθμου σύγκλισης (πρόβλημα ιεράρχησης υπολογισμού precedence order)
Πίνακας εμφάνισης στοιχείων Ανάλυση βασισμένη στη δομή του συστήματος (όχι την επίλυση των εξισώσεων) Μήτρα εμφάνισης στοιχείων:incidence (ή occurrence) matrix Στον πίνακα α μπορούμε να μεταθέσουμε τη σειρά εμφάνισης των γραμμών και των στηλών στον πίνακα Ποια είναι η σημασία αυτών των μεταθέσεων;
Αλλάζοντας Μεταθέσεις και μετασχηματισμοί Στήλες: (f2, f3); (f2, f4); (f2,f5) Γραμμές: (2 (x2, x4); (x2,x3) (2 To σύστημά μας έχει όντως αναλυθεί σε τρία υποσυστήματα Σ1: (f1,f3)x(x1,x4) Σ2: (f4)x(x2) Σ3: (f5,f2)x(x3,x5) Τα οποία μπορούν να λυθούν στη σειρά Σ1>Σ2>Σ3 Υπάρχει όμως συστηματικός τρόπος για να βρεθούν αυτές οι μεταθέσεις;
Πρόβλημα αντιστοίχησης (assignment) Πρόβλημα αντιστοίχισης: (Steward 1962) Απεικόνισε κάθε μεταβλητή σε ΜΙΑ και ΜΟΝΟ ΜΙΑ εξίσωση Η μεταβλητή που αντιστοιχεί στην κάθε εξίσωση ονομάζεται μεταβλητή εξόδου για την εν λόγω εξίσωση (υποδεικνύοντας πως το σύστημα μπορεί να επιλυθεί για αυτή την μεταβλητή χρησιμοποιώντας άλλες που έχουν ήδη υπολογισθεί) x1 μεταβλητή εξόδου τηςf1,x5 5 τηςf2 κλπ
Θεωρία και πρόβλημα αντιστοίχησης (assignment) Αν δεν υπάρχει αντιστοίχιση τότε όε ο πίνακας ίαας είναι δομικά ιδιάζων δάζ (structurally singular), δηλαδή έχουμε ένα αριθμό από πλεονάζουσες ή από περιττές εξισώσεις Όταν το πρόβλημα αντιστοίχισης έχει μοναδική λύση τότε (και μόνον τότε) το σύστημα μπορεί να αποικοδομηθεί πλήρως (full partitioning), δηλαδή το σύστημα αποικοδομείται στα μικρότερα δυνατά υποσυστήματα όπου το κάθε ένα αποτελείται από μία εξίσωση και μια μεταβλητή Στο παράδειγμά μας έχουμε πολλαπλές λυσεις, άρα δεν ενδέχεται να καταλήξουμε σε πλήρη αποικοδόμηση ή Πως βρίσκουμε όμως αυτές τις αντιστοιχίσεις;
Αναλυτικοί και ευχρηστικοί μέθοδοι αντιστοίχισης Ευχρηστικοί μέθοδοι Βασική ευχρηστική Επίλεξε τη στήλη (γραμμή) με τα λιγότερα στοιχεία Από τη συγκεκριμένη στήλη, επίλεξε εκείνη τη γραμμή (στήλη) με τις λιγότερες εμφανίσεις στοιχείων Το κοινό στοιχείο στήλης/γραμμής είναι η μεταβλητή εξόδου της εξίσωσης που αντιστοιχεί στην γραμμή Η απλή μέθοδος δεν είναι επαρκής αλλά μέσα από παραλλαγές (πχ Steward path) αντικαθιστά την ανάγκη αναλυτικών μεθόδων Αναλυτικοί μέθοδοι Μόρφωσε και επίλυσε πρόβλημα βελτιστοποίησης (Gupta 1974)
Eυχρηστικοί μέθοδοι Επιλογή στήλης: επιλογή ανάμεσα σε x2 (2), x3 (2), x5(2); Επίλεξε x2(2) Επιλογή γραμμής: επιλογή ανάμεσα σε f2(4), f3 (3); Επίλεξε f3 Αντιστοίχισε f3 x2: x2 είναι η μεταβλητή εξόδου της f3 Διάγραψε στήλες/γραμμές και συνέχισε
Eυχρηστικοί μέθοδοι (2) Επιλογή στήλης: επιλογή ανάμεσα σε x3 (2) και x4 (2); Επίλεξε x3(2) Επιλογή γραμμής: επιλογή ανάμεσα σε f2(3) και f5 (3); Επίλεξε f2 Αντιστοίχισε f2 x3: x3 είναι η μεταβλητή εξόδου της f2
Eυχρηστικοί μέθοδοι (3) Επιλογή στήλης: επιλογή x5 (2); Επιλογή γραμμής: επιλογή f5 Τα επομένα βήματα επιλέγουν x1 f1 και x4 f4
Αναλυτικοί μέθοδοι Το πρόβλημα αντιστοίχισης μπορεί να διατυπωθεί ως εξής,, 1, 1,2,, 1, 1, 2, όπου i,j: γραμμές και στήλες του πίνακα Y i,j: δυαδική μεταβλητή που καθορίζει αν το x j είναι μεταβλητή εξόδου της f i (Y i,j =1) ή αν δεν είναι (Y i,j =0) Το πρόβλημα είναι θεωρητικά δύσκολο σε μεγάλα προβλήματα ΑΛΛΑ μπορούμε να αποδείξουμε πως χαλαρώνοντας τις ακέραιες μεταβλητές σαν συνεχείς το πρόβλημα επιλύεται σε ακέραια λύση (άρα είναι πρακτικά εύκολο)
Κατευθυνόμενοι γράφοι: Επιμερισμός και ιεράρχηση Απεικόνισε κάθε εξίσωση με γράφο Όρισε κατευθυνόμενες συνδέσεις (directed arcs) ανάμεσα στους γράφους f i και f j όταν και μόνον όταν η μεταβλητή εξόδου της f i εμφανίζεται στην f j f 1 f 2 f 3 f 4 f 5
Διεργασία επιμερισμού: Επιμερισμός και ιεράρχηση Βασική ιδέα: Συστηματική ομαδοποίηση των γράφων σε υποσυστήματα με παράλληλη κατηγοριοποίηση των υποσυστημάτων που προκύπτουν Ξεκίνησε από ένα οποιοδήποτε γράφο καταγράφοντας κινήσεις από κατευθυνόμενες συνδέσεις Οι συνδέσεις θα καταλήξουν a) Είτε σε γράφο που έχουμε ήδη επισκεφθεί b) Είτε σε γράφο χωρίς έξοδο Στην περίπτωση (a) συγχωνεύουμε τους γράφους ανάμεσα σε δύο διαδοχικές επισκέψεις σε μία ομάδα (ομάδες επιμερισμού). Συγχωνεύουμε γράφους και συνδέσεις στο συνολικό σύστημα και συνεχίζουμε. Στην περίπτωση (b), ο γράφος ο οποίος αναγνωρίζεται χωρίς έξοδο περνάει σε λίστα ιεράρχησης. Αφαιρούμε στη συνέχεια τον γράφο και όλες τις συνδέσεις τους από το σύστημα και συνεχίζουμε.
Παράδειγμα f 1 f 2 f 3 f 4 f 5 Διαδρομή f1 > f3 > f2> f5 > f2. Από (a) συγχωνεύω f2 f5 σε ένα γράφο f 1 f 3 f 4 f 2 f 5 Επανάληψη διαδρομής: f1 > f3 > f2f5, χωρίς έξοδο. Από (b) καταργούμε τον γράφο f2f5 και τον περνάω σε λίστα ιεράρχησης Λίστα σαιεράρχησης f2f5
Παράδειγμα f 1 f 3 f 4 Καινούρια διαδρομή: f1 > f3. Xωρίς έξοδο. Από (b) καταργώ τον γράφο f3 και τον περνάω σε λίστα ιεράρχησης Λίστα ιεράρχησης f2f5 f 1 f 4 f3 Διαδρομή f1 > f4 > f1. Από (a) συγχωνεύω f2 f5 σε ένα γράφο. Συμπληρώνω το συγχωνευμένο γράφο στη λίστα ιεράρχησης Λίστα ιεράρχησης f2f5 ομάδα επιμερισμού 1 f3 ομάδα επιμερισμού 2 f1f4 ομάδα επιμερισμού 3
Επιμερισμός και ιεράρχηση ιδιότητες Ο επιμερισμός αναγνωρίζει αυτόματα τα υποσυστήματα χρειάζεται που ο σειριακός προσομοιωτής Η μέθοδος δίνει ταυτόχρονο επιμερισμό και ιεράρχηση Το πρόβλημα αντιστοίχισης μπορεί να έχει πολλές λύσης αλλά το πρόβλημα του επιμερισμού έχει μοναδική λύση (Steward, 1962) Η μόνη παραλλαγή στις διαφορετικές λύσεις του επιμερισμού μπορεί να προκύψει από ανακατανομή στη σειρά των εξισώσεων που συγκροτούν τις ομάδες επιμερισμού Λίστα ιεράρχησης Λίστα ιεράρχησης Λίστα ιεράρχησης f2f5 ομάδα 1 f3 ομάδα 2 f2f5 ομάδα 1 f3 ομάδα 2 f5f2 ομάδα 1 f3 ομάδα 2 f1f4 ομάδα 3 f4f1 ομάδα 3 f1f4 ομάδα 3
Επίλυση εξισώσεων Ο επιμερισμός προσφέρει κάποια προφανή πλεονεκτήματα Ένα μεγάλο πρόβλημα μπορεί να επιλυθεί μέσα από μικρά προβλήματα Η αρχικοποίηση απαιτείται μόνο για την πρώτη ομάδα επιμερισμού. Δεν χρειάζεται αρχικοποίηση για τις υπόλοιπες Τα εργαλεία που αναπτύχθηκαν Αντιστοίχιση Επιμερισμός ιεράρχηση δεν αναφέρονται σε κάποιο συγκεκριμένο είδος προσομοίωσης και μπορούν να εφαρμοστούν σε συνδυασμό με εναλλακτικές μεθόδους σύγκλισης (π.χ. σειριακή ή ταυτόχρονη προσομοίωση)
Παράδειγμα προσομοίωσης σε δοχείο ισορροπίας Επίλυση απλού flash για τρία συστατικά. Αρχικό σύστημα: 15 εξισώσεις, 20 μεταβλητές Ορίζουμε F, z1, z2, P, T. Το σύστημα που προκύπτει είναι 15x15 Μέθοδοι αντιστοίχισης μπορεί να χρησιμοποιηθούν για να καθορίσουν αν ο συνδυασμός των μεταβλητών είναι αποδεκτός Το σύστημα μπορεί να επιλυθεί ως έχει (είναι ήδη αρκετά αραιό) Εναλλακτικά μπορούμε να το επιμερίσουμε
Παράδειγμα: προσομοίωση σε δοχείο ισορροπίας Eπιμερισμός: ό 8 μοναδιαία υποσυστήματα και ένα σύστημα 8x8 To σύστημα 8x8 μπορεί να επιλυθεί είτε απευθείας ή με αποκοπή Ποιες μεταβλητές πρέπει να επιλεγούν για αποκοπή; Επιμερισμός στο σύστημα 7x7 3 υποσυστήματα 2x2. Η f14 γίνεται εξίσωση σύγκλισης
Παρατηρήσεις Επιμερισμός Μπορεί να εφαρμοστεί είτε στο μεγάλο σύστημα του ροοδιαγράμματος ή και στα πλαίσια επίλυσης των ισοζυγίων των διεργασιών του ροοδιαγράμματος Μεταβλητές αποκοπής Σχετίζονται με τον πίνακα εμφάνισης και μπορούν να επιλεγούν με βάση τη δομή του β η η μή Εφαρμόζονται, όπως και στην περίπτωση του επιμερισμού, είτε στα πλαίσια του συνολικού ροοδιαγράμματος ή στα πλαίσια μια συγκεκριμένης διεργασίας