Προσομοίωση Συστημάτων Μεθοδολογίες προσομοίωσης Άγγελος Ρούσκας
Μηχανισμός διαχείρισης χρόνου και μεθοδολογίες προσομοίωσης Έχουμε αναφερθεί σε δύο μηχανισμούς διαχείρισης χρόνου: Μηχανισμός επόμενου γεγονότος Μηχανισμός σταθερού χρονικού διαστήματος Mεθοδολογίες προσομοίωσης 1. Προσομοίωση γεγονότων (event-based) a) οδηγούμενη από τα γεγονότα (event-driven) b) οδηγούμενη από το χρόνο (time-driven) 2. Προσομοίωση δραστηριοτήτων (activity-based) 3. Προσομοίωση διεργασιών (process-based)
Κοινή ιεραρχική δομή τριών επιπέδων Επίπεδο 1: Διαχειριστής (πρόγραμμα ελέγχου) Διασφαλίζει τη σωστή αλληλουχία των λειτουργιών του επιπέδου 2 Κύρια λειτουργία του η διαχείριση του χρόνου Οι μεθοδολογίες 1.a και 1.b διαφοροποιούνται στο επίπεδο αυτό Επίπεδο 2: Λειτουργίες Περιλαμβάνει τις λειτουργίες που υλοποιούν το μοντέλο και τις αλληλεπιδράσεις μεταξύ των οντοτήτων Οι μεθοδολογίες 1, 2 και 3 διαφοροποιούνται στο επίπεδο αυτό Επίπεδο 3: Λεπτομερείς ρουτίνες Παραγωγή τυχαίων αριθμών και μεταβλητών, στατιστικής επεξεργασίας και παρουσίασης των αποτελεσμάτων
Ανεξάρτητα γεγονότα Ως ανεξάρτητο αναφέρεται το γεγονός το οποίο συμβαίνει σε προκαθορισμένη χρονική στιγμή, ανεξάρτητα από την εμφάνιση άλλων γεγονότων Άφιξη πελάτη: ο χρόνος που θα συμβεί προσδιορίζεται μέσω κάποια κατανομής για το χρόνο μεταξύ διαδοχικών αφίξεων Τέλος εξυπηρέτησης πελάτη: ο χρόνος που θα συμβεί προσδιορίζεται από κάποια κατανομή για τον χρόνο εξυπηρέτησης Δεν προσδιορίζονται επακριβώς από το μοντέλο ή δεν είναι γνωστά πριν την έναρξη της προσομοίωσης Συνήθως εξαρτώνται από το χρόνο ο οποίος υπολογίζεται από την εκτέλεση κάποιου άλλου γεγονότος
Εξαρτημένα γεγονότα Ως εξαρτημένο αναφέρεται το γεγονός το οποίο συμβαίνει εξαιτίας κάποιου άλλου ανεξάρτητου ή εξαρτημένου γεγονότος Αναχώρηση πελάτη από το σύστημα: εξαρτάται από το γεγονός τέλους εξυπηρέτησης Έναρξη εξυπηρέτησης πελάτη: Εξαρτάται από το γεγονός τέλους εξυπηρέτησης (περίπτωση που υπάρχει πελάτης στην ουρά αναμονής) Εξαρτάται από το γεγονός άφιξης πελάτη (περίπτωση που η ουρά αναμονής είναι άδεια) Αν στο παράδειγμα απλοποιήσουμε τη θεώρησή μας και υποθέσουμε μόνο 2 γεγονότα (άφιξη πελάτη και αναχώρηση πελάτη) τότε το πρώτο είναι ανεξάρτητο και το δεύτερο εξαρτημένο
Διάγραμμα ελέγχου προσομοίωσης γεγονότων
Προσομοίωση καθοδηγούμενη από γεγονότα
Λίστα μελλοντικών γεγονότων Για κάθε γεγονός αποθηκεύεται η χρονική στιγμή που θα συμβεί το είδος του Υλοποιήσεις Μονοδιάστατος πίνακας Συνδεδεμένη λίστα Διπλά συνδεδεμένη λίστα
Αφαίρεση - Προσθήκη γεγονότος
Προσομοίωση καθοδηγούμενη από το χρόνο
Επιλογή χρονικού διαστήματος αύξησης Μικρό διάστημα => συμβαίνει μόνο ένα γεγονός Μικρό διάστημα => σπάταλη διαχείριση χρόνου σε περίπτωση αραιών γεγονότων Ευριστικός κανόνας: ήμισυ του ελάχιστου τυχαίου δείγματος Με δοκιμή: Ξεκινάμε με μικρή τιμή και την αυξάνουμε λίγο κάθε φορά ελέγχοντας αν υπάρχει επίδραση στα αποτελέσματα της προσομοίωσης
Προσομοίωση δραστηριοτήτων Το σύστημα που μοντελοποιούμε θεωρούμε ότι αποτελείται από μια συλλογή δραστηριοτήτων, πχ για την απλή ουρά: δραστηριότητα μεταξύ διαδοχικών αφίξεων δραστηριότητα αναμονής στην ουρά για εξυπηρέτηση δραστηριότητα εξυπηρέτησης
Αδρανείς και ενεργές καταστάσεις οντοτήτων του μοντέλου Οι αδρανείς καταστάσεις μιας οντότητας συνδέονται συνήθως με την αναμονή για κάποιο γεγονός Η διάρκεια παραμονής σε μια αδρανή κατάσταση δεν είναι προσδιορίσιμη Οι ενεργές καταστάσεις σχετίζονται με αλληλεπίδραση της οντότητας με άλλη οντότητα που ανήκει σε άλλη κατηγορία (πχ πελάτης με εξυπηρέτη) Η διάρκεια παραμονής σε ενεργή κατάσταση είναι συνήθως προσδιορίσιμη από κάποια κατανομή
Διάγραμμα κύκλου δραστηριοτήτων της οντότητας πελάτης μπαρ
Διάγραμμα κύκλου δραστηριοτήτων της οντότητας μπάρμαν
Διάγραμμα κύκλου δραστηριοτήτων του μπαρ συνολικά
Διάγραμμα κύκλου δραστηριοτήτων μια απλής ουράς αναμονής
Διάγραμμα προσομοίωσης δραστηριοτήτων Έλεγχος συνθηκών για έναρξη δραστηριότητας + Ένέργειες δραστηριότητας
Χρόνοι που σχετίζονται με την άφιξη του (i+1)-οστού πελάτη TW i Διακρίνονται τρεις περιπτώσεις ο i+1 πελάτης καταφθάνει ενώ ο i πελάτης είναι σε αναμονή ο i+1 πελάτης καταφθάνει ενώ ο i πελάτης εξυπηρετείται ο i+1 πελάτης καταφθάνει ενώ ο i πελάτης έχει αναχωρήσει
Υπολογισμός του χρόνου αναμονής του i-οστού πελάτη
Διάγραμμα προσομοίωσης δραστηριοτήτων του μοντέλου μιας ουράς
Προσομοίωση διεργασιών Εκτέλεση εργασιών (διεργασιών) που αφορούν ανεξάρτητα στοιχεία του μοντέλου Επικοινωνία των διεργασιών μέσω σημάτων που προσομοιώνουν την επίδραση ενός στοιχείου σε ένα άλλο Διατμηματικό σήμα: κοινό σε περισσότερα από ένα στοιχεία του μοντέλου Διατμηματική επικοινωνία: αλλαγή ενός διατμηματικού σήματος μεταξύ διεργασιών Εργασία είναι μια πλήρης ατομική λειτουργία ενός τμήματος ή στοιχείου του μοντέλου
Διεργασιακή επικοινωνία
Απαιτούμενες χρονικές λίστες