ΟΡΓΑΝΩΣΗ ΚΑΙ ΔΙΟΙΚΗΣΗ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΣΠΟΥΔΩΝ ΔΕΡΜΕΝΤΖΗ ΧΑΡΙΚΛΕΙΑ 23/07 ΔΩΡΟΚΙΔΟΥ ΙΣΙΔΩΡΑ 46/07 ΜΑΘΗΜΑ: ΤΕΧΝΙΚΕΣ ΠΡΟΣΟΜΟΙΩΣΗΣ ΕΞΑΜΗΝΟ ΣΤ ΚΑΘΗΓΗΤΗΣ: Κ. ΓΕΩΡΓΙΟΥ ΑΝΔΡΕΑΣ
Κατά τη συνεργασία μας για την εκπόνηση της παρούσας εργασίας, η συμμετοχή μας σε αυτή ήταν ισοδύναμη. Δερμεντζή Χαρίκλεια Δωροκίδου Ισιδώρα 2
3
ΠΕΡΙΕΧΟΜΕΝΑ 1. ΕΙΣΑΓΩΓΗ 2. ΠΑΡΑΘΕΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 3. ΑΝΑΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ 3.1. Περιγραφή 3.2. Στόχος 3.3. Διαδικασία- Γεγονός- Οντότητες- Δραστηριότητα 3.4. Παράθεση λειτουργικών κανόνων και παραδοχών 3.5. Περιγραφή των στατιστικών που θα συλλεχθούν 3.6. Διάγραμμα ροής 4. ΑΝΑΠΤΥΞΗ ΤΟΥ ΜΟΝΤΕΛΟΥ ΣΤΟ EXTEND 4.1. Περιγραφή 4.2. Επαλήθευση του μοντέλου 5. ΣΥΛΛΟΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ 5.1. Σχόλια σχετικά με τις αρχικές συνθήκες 5.2. Εκτέλεση προσομοίωσης Επεξεργασία δεδομένων 5.3. Έλεγχος εγκυρότητας και αξιοπιστίας του μοντέλου 6. ΣΥΜΠΕΡΑΣΜΑΤΑ 7. ΒΙΒΛΙΟΓΡΑΦΙΑ 4
ΕΙΣΑΓΩΓΗ Η παρούσα εργασία, με τίτλο «Ανάπτυξη μοντέλου προσομοίωσης με τη χρήση του προγράμματος Extend», εκπονείται στα πλαίσια του μαθήματος «Τεχνικές προσομοίωσης στη διοίκηση επιχειρήσεων» του ΣΤ εξαμήνου του τμήματος Οργάνωσης και Διοίκησης Επιχειρήσεων. Σκοπός της είναι η διερεύνηση εναλλακτικών σεναρίων για μια προσομοιωμένη κατάσταση, έτσι ώστε να οδηγηθούμε στη λήψη της σωστής απόφασης επιλέγοντας τη βέλτιστη από ένα σύνολο λύσεων για το συγκεκριμένο πρόβλημα διοίκησης. Η προσομοίωση ορίζεται ως η τεχνική εκείνη η οποία «μιμείται τη λειτουργία ενός πραγματικού συστήματος καθώς αυτό αναπτύσσεται μέσα στο χρόνο». Ως τεχνική Επιχειρησιακής Έρευνας, χρησιμοποιείται ευρύτατα τα τελευταία χρόνια προκειμένου να μελετηθούν πολύπλοκα συστήματα για τα οποία είναι αδύνατη η ανάπτυξη αναλυτικού μαθηματικού μοντέλου. Η διαδικασία της προσομοίωσης περιλαμβάνει τις παρακάτω φάσεις: 1) Προκαταρκτική μελέτη 2) Διατύπωση του προβλήματος 3) Συλλογή δεδομένων 4) Ανάπτυξη του μοντέλου 5) Προγραμματισμός 6) Επαλήθευση του προγράμματος και έλεγχος εγκυρότητας του μοντέλου. 7) Εκτέλεση της προσομοίωσης και εξαγωγή συμπερασμάτων. Στη συγκεκριμένη εργασία μελετάται ένα πρόβλημα που αφορά τη λειτουργία ενός μουσείου και εντάσσεται στην ευρύτερη κατηγορία προβλημάτων ουρών αναμονής. Αρχικά, το πρόβλημα θα μελετηθεί διεξοδικά ώστε να αναγνωριστούν τα βασικά του στοιχεία και να μοντελοποιηθεί. Στη συνέχεια, το μοντέλο λειτουργίας του μουσείου θα αναπτυχθεί στον ηλεκτρονικό υπολογιστή με τη βοήθεια του προγράμματος Extend ( Professional simulation tools, Version 5). Στο τελευταίο 5
στάδιο της εργασίας θα γίνει η εκτέλεση της προσομοίωσης, θα συλλεχθούν τα απαραίτητα δεδομένα και θα εξαχθούν συμπεράσματα. ΠΑΡΑΘΕΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Σενάριο: «Visitors are arriving at a museum at exponentially distributed intervals with mean λ. For security reasons the museum allows only up to v visitors around successive exhibits, and up to k visitors waiting in queues to those exhibits. A visitor needs t time units to get aqcuanted with a partiqular exhibit unless a queue to the next object is full. In such case, he waits (possibly causing blocking) until the queue is shorter than k. t is normally distributed with mean μ and variance σ 2. Before entering the museum, consecutive visitors join the queue to the cashier desk with probability (n+1) -1, where n is the actual queue length. Given E the number of exhibits, determine the average number of customers per unit time who will not visit the museum dicouraged by the long line to the cashier desk». Μετάφραση: Επισκέπτες φθάνουν σε ένα μουσείο σε εκθετικά κατανεμημένα διαστήματα με μέσο λ. Για λόγους ασφαλείας το μουσείο επιτρέπει μόνο μέχρι v επισκέπτες γύρω από διαδοχικά εκθέματα και μέχρι k επισκέπτες να περιμένουν στις ουρές για αυτά τα εκθέματα. Ένας επισκέπτης χρειάζεται t χρονικές μονάδες για να εξοικειωθεί με ένα συγκεκριμένο έκθεμα εκτός αν η ουρά για το επόμενο έκθεμα είναι γεμάτη. Σε αυτή την περίπτωση, περιμένει (προκαλώντας ενδεχομένως φράξιμο ) μέχρι η ουρά αναμονής να γίνει μικρότερη από k. Το t είναι κανονικά κατανεμημένο με μέσο μ και διακύμανση σ 2. Πριν μπουν στο μουσείο οι διαδοχικοί επισκέπτες εισέρχονται στην ουρά αναμονής του ταμείου με πιθανότητα (n+1) -1, όπου n είναι το πραγματικό μήκος της ουράς. Λαμβάνοντας υπόψη ως E τον αριθμό των εκθεμάτων, καθορίστε το μέσο πλήθος επισκεπτών ανά μονάδα χρόνου που δε θα επισκεφθούν το μουσείο, αποθαρρυνόμενοι από την αναμονή στην ουρά για το ταμείο. 6
ΑΝΑΛΥΣΗ ΤΟΥ ΠΡΟΒΛΗΜΑΤΟΣ Περιγραφή: Το παραπάνω πρόβλημα περιγράφει ένα σύστημα που παρέχει εξυπηρέτηση. Όταν το σύστημα βρίσκεται στα πρώτα στάδια της λειτουργίας του περνά την παροδική φάση, η οποία εξαρτάται από τις συνθήκες εκκίνησης. Όταν λειτουργήσει για μεγάλο χρονικό διάστημα όμως ανεξαρτητοποιείται και εισέρχεται σε κατάσταση ισορροπίας. Για το μουσείο του προβλήματός μας, οι επισκέπτες κατά την άφιξή τους σχηματίζουν ουρά για το ταμείο. Στη συνέχεια εισέρχονται στο χώρο των εκθεμάτων και περιμένουν εκ νέου στην ουρά ανάλογα με τις συνθήκες που επικρατούν και τους περιορισμούς που έχουν τεθεί. Τέλος, αφού παρατηρήσουν τα εκθέματα, αποχωρούν από το μουσείο. Με βάση τα παραπάνω το σύστημά μας μπορεί να χαρακτηριστεί ως: Δυναμικό, αφού η κατάστασή του μεταβάλλεται. Διακριτό λόγω του ότι οι αλλαγές προκαλούνται από γεγονότα (όπως η άφιξη ή η αναχώρηση των επισκεπτών) τα οποία συμβαίνουν σε διακριτές χρονικές στιγμές. Στοχαστικό, επειδή τα αποτελέσματα που προκύπτουν στην έξοδό του δεν είναι γνωστά. Σ ένα σύστημα εξυπηρέτησης είναι σημαντικό το γεγονός ότι δημιουργείται το φαινόμενο της ουράς. Η λειτουργία ενός μουσείου, λοιπόν, εντάσσεται στον τομέα των εφαρμογών της επιχειρησιακής έρευνας που καλείται «ουρές αναμονής». Όταν η τρέχουσα ροή πελατών - στην περίπτωσή μας επισκεπτών - ξεπερνά τη δυνατότητα εξυπηρέτησης του συστήματος από τους υπηρέτες - για το πρόβλημά μας το ταμείο -, οι επισκέπτες δημιουργούν ουρά. Αποτέλεσμα αυτού είναι η δημιουργία κόστους. Χαρακτηριστικό στοιχείο του σεναρίου του εν λόγω προβλήματος είναι το γεγονός ότι οι επισκέπτες του μουσείου φτάνουν σ αυτό σε χρονικά διαστήματα εκθετικά κατανεμημένα. Αυτό σημαίνει πως ο αριθμός των επισκεπτών που προσέρχονται στο ταμείο καθώς και τα χρονικά διαστήματα που μεσολαβούν μεταξύ 7
δύο αφίξεων προκύπτουν τυχαία. Συνεπώς, κρίνεται απαραίτητη η χρήση γεννητριών ούτως ώστε να παράγονται οι συγκεκριμένοι αριθμοί, ακολουθώντας πάντα εκθετική κατανομή. Επιπλέον, ενδιαφέρον παρουσιάζει εξίσου και ο τρόπος με τον οποίο εισέρχονται οι επισκέπτες στις ουρές αναμονής. Έτσι, παρατηρούμε πως ουρά αναμονής σχηματίζεται σε πρώτη φάση στην είσοδο του μουσείου όπου υπάρχει το ταμείο. Η πιθανότητα ένας επισκέπτης να παραμείνει στην ουρά μέχρι να εξυπηρετηθεί αντιστοιχεί σε (n+1) -1. Διαφορετικά, ο επισκέπτης αποχωρεί λόγω ανυπομονησίας (είτε επειδή δεν είναι πρόθυμος να εισέλθει στην ουρά κατά την άφιξή του, είτε επειδή αρνείται να παραμείνει σε αυτή μετά από κάποιο διάστημα αναμονής). Στη συνέχεια, στο εσωτερικό του μουσείου, σχηματίζονται και πάλι ουρές κάθε μία από τις οποίες αντιστοιχεί σε ένα έκθεμα. Ο επισκέπτης εισέρχεται στην ουρά για το πρώτο έκθεμα εφόσον το μήκος της είναι μικρότερο από k άτομα και αποχωρεί από αυτήν αν το πλήθος των ατόμων γύρω από το έκθεμα δεν ξεπερνά τους v επισκέπτες. Αφού παρατηρήσουν το έκθεμα, οι επισκέπτες προχωρούν στην ουρά για το επόμενο και η διαδικασία επαναλαμβάνεται για κάθε ένα από τα E εκθέματα με τη σειρά. Στόχος: Βασικό στόχο της ανάπτυξης μοντέλου προσομοίωσης, βασισμένο στο συγκεκριμένο πρόβλημα, αποτελεί η διερεύνηση εναλλακτικών σεναρίων χρησιμοποιώντας στατιστικά δεδομένα. Ειδικότερα, η δημιουργία του μοντέλου θα μας βοηθήσει να μελετήσουμε πιθανές καταστάσεις του συστήματος «μουσείο», χρησιμοποιώντας διαφορετικά δεδομένα κάθε φορά. Τελικός στόχος μας είναι να γίνει σύγκριση των επιμέρους αποτελεσμάτων προσομοίωσης με σκοπό να βρεθεί η βέλτιστη λύση που θα ελαχιστοποιεί των αριθμό των επισκεπτών που αποχωρούν από το μουσείο χωρίς να το επισκεφθούν( λόγω της μακράς αναμονής στην ουρά πριν το ταμείο) και να διευκολυνθεί μ αυτό τον τρόπο η διαδικασία της λήψης απόφασης από τη διοίκηση. Διαδικασία-γεγονός-οντότητες-δραστηριότητα Διαδικασία: προσέλευση επισκεπτών στο μουσείο. Γεγονός: άφιξη και αναχώρηση επισκεπτών από το μουσείο. Οντότητες: 1. Επισκέπτες: μπορούν να χαρακτηριστούν ως προσωρινές οντότητες αφού εξέρχονται από το σύστημα «μουσείο» όταν ολοκληρωθεί η παρατήρηση των εκθεμάτων. 2. Ταμείο: πρόκειται για μόνιμη οντότητα αφού δεν εγκαταλείπει το σύστημα. 3. Εκθέματα: αποτελούν επίσης μόνιμες οντότητες. 8
Δραστηριότητα: «ΕΞΥΠΗΡΕΤΗΣΗ ΣΤΟ ΤΑΜΕΙΟ» Για την οντότητα επισκέπτες πρόκειται για μία παθητική δραστηριότητα αφού η εξυπηρέτηση στο ταμείο εξαρτάται από το αν είναι απασχολημένο το τελευταίο καθώς και από το χρόνο εξυπηρέτησης. Από την άλλη πλευρά, για την οντότητα ταμείο πρόκειται για μια ενεργητική δραστηριότητα αφού η εκκίνηση της διαδικασίας εξαρτάται από την ολοκλήρωση της εξυπηρέτησης του προηγούμενου πελάτη. Ιδιότητες επισκεπτών Οι επισκέπτες μπορούν να βρίσκονται στις παρακάτω καταστάσεις: 1. Να περιμένουν στην ουρά πριν το ταμείο. 2. Να βρίσκονται στη διαδικασία εξυπηρέτησης του ταμείου. Ιδιότητες ταμείου Το ταμείο μπορεί να βρίσκεται στις παρακάτω καταστάσεις: 1. Να είναι αδρανές. 2. Να εξυπηρετεί κάποιον επισκέπτη. «ΠΑΡΑΚΟΛΟΥΘΗΣΗ ΕΚΘΕΜΑΤΩΝ» Για την οντότητα επισκέπτες η διαδικασία «παρακολούθηση εκθεμάτων» είναι ενεργητική αφού η παρακολούθηση ενός εκθέματος ξεκινάει με την αποχώρηση ενός από τους προηγούμενους. Αντίθετα για την οντότητα έκθεμα η δραστηριότητα αυτή είναι παθητική αφού δεν εξαρτάται από αυτή η συνέχεια της διαδικασίας της προσομοίωσης. Ιδιότητες επισκεπτών Οι επισκέπτες μπορούν να βρεθούν στις παρακάτω καταστάσεις: 1. Να περιμένουν στην ουρά πριν από κάθε έκθεμα. 2. Να παρατηρούν κάποιο έκθεμα. Ιδιότητες εκθεμάτων 1. Να παρακολουθούνται από επισκέπτες. 2. Να μην παρακολουθούνται από επισκέπτες. «ΑΝΑΜΟΝΗ ΣΤΙΣ ΟΥΡΕΣ» Για την οντότητα επισκέπτες η δραστηριότητα «αναμονή στις ουρές» είναι παθητική αφού ο χρόνος παραμονής τους σε αυτή εξαρτάται από την ολοκλήρωση της διαδικασίας εξυπηρέτησης προηγούμενου επισκέπτη. Παράθεση λειτουργικών κανόνων και παραδοχών Προκειμένου να απλοποιηθεί το σύστημα και να οδηγηθούμε στην εξαγωγή συμπερασμάτων και στη λήψη της βέλτιστης απόφασης χωρίς επιρροή από ανούσιους -για το λόγο ανάπτυξης του συγκεκριμένου μοντέλου προσομοίωσης- παράγοντες, θα 9
παραθέσουμε ορισμένες παραδοχές σχετικά με τις οντότητες και τις δραστηριότητες που αυτές εκτελούν. Αρχικά, δεχόμαστε ότι οι επισκέπτες δεν έχουν τη δυνατότητα να αποχωρήσουν από το μουσείο μετά την εξυπηρέτησή τους στο ταμείο, παρά μόνο πριν από αυτή. Επιπλέον, λαμβάνουμε ως δεδομένο ότι τα εκθέματα παρατηρούνται διαδοχικά και ο επισκέπτης υποχρεούται να ακολουθήσει τη συγκεκριμένη σειρά χωρίς δικαίωμα επιλογής. Ακόμη, θεωρούμε ότι οι επισκέπτες καταφθάνουν στο μουσείο ως μεμονωμένες οντότητες και αποκλείουμε το ενδεχόμενο άφιξης group επισκεπτών. Τέλος, αποκλείουμε την ύπαρξη άλλων οντοτήτων πέρα από αυτές που διατυπώθηκαν παραπάνω. Περιγραφή των στατιστικών που θα συλλεχθούν Προκειμένου να λάβουμε τη βέλτιστη απόφαση για τη λειτουργία του μουσείου θα πρέπει να γνωρίζουμε τις τιμές ορισμένων χαρακτηριστικών μεγεθών. Χρησιμοποιώντας τη θεωρία ουρών αναμονής για την εξαγωγή συμπερασμάτων σχετικά με την αποχώρηση των επισκεπτών από το σύστημα, μας ενδιαφέρει να υπολογίσουμε τα παρακάτω: 1. Μέσος χρόνος αναμονής στην ουρά για έναν επισκέπτη (W q ). Ο μέσος χρόνος αναμονής για έναν επισκέπτη δίνεται από το πηλίκο του αθροίσματος των χρόνων αναμονής όλων των επισκεπτών προς τον αριθμό των επισκεπτών. Η σημειακή εκτίμηση, λοιπόν, του W q (Ŵ q ) θα είναι: όπου, ο μέσος χρόνος αναμονής των επισκεπτών και, ο μέσος αριθμός επισκεπτών. Για διάστημα εμπιστοσύνης του W q με επίπεδο σημαντικότητας α θα πρέπει να υπολογιστούν οι δειγματικές διακυμάνσεις s 1 και s 2 και η δειγματική συνδιακύμανση s 12. 10
Τέλος To διάστημα εμπιστοσύνης θα είναι λοιπόν: 2. Μέσο πλήθος επισκεπτών που αποχωρούν από την ουρά πριν το ταμείο (L απχ ). Το μέσο πλήθος L απχ δίνεται από το πηλίκο του συνολικό πλήθος επισκεπτών που αποχωρούν προς το χρόνο μέσα στον οποίο έγινε η αποχώρησή τους, Κάνοντας τους ίδιους υπολογισμούς όπως και για το μέσο χρόνο αναμονής εκτιμούμε το μέσο πλήθος επισκεπτών που αποχωρούν από την ουρά. 3. Μέσος χρόνος εξυπηρέτησης ( W εξ ). Ακολουθώντας την παραπάνω διαδικασία μπορούμε να εκτιμήσουμε και το μέσο χρόνο εξυπηρέτησης. Επειδή όμως η συγκεκριμένη διαδικασία θεωρείται σύνθετη και χρονοβόρα για το πρόβλημα που μελετάμε, προχωρούμε στην επίλυσή του με τη χρήση μοντέλου προσομοίωσης και τη συλλογή ανάλογων αποτελεσμάτων με τη βοήθεια του προγράμματος προσομοίωσης Extend 5. 11
Διάγραμμα ροής ΑΦΙΞΗ Το ρολόι προχωράει στη χρονική στιγμή της άφιξης Ταμείο απασχολημένο? Αναμο νή? Θέσε Ταμείο= απασχολημένο L q2 = L q2 +1 Για Ι=1 μέχρι Ε Προγραμματισμός επόμενης άφιξης L qi <k? L qi = L qi +1 BLOCKING ΑΝΑΚΥΚΛΩΣΗ Κριτήριο τερματισμού αληθές? Π<v? Π=Π+1 BLOCKING ΑΝΑΚΥΚΛΩΣΗ ΑΝΑΚΥΚΛΩΣΗ 12 ΕΞΟΔΟΣ
Στο παραπάνω διάγραμμα ροής αποτυπώνονται σχηματικά οι δραστηριότητες που λαμβάνουν χώρα στο σύστημα «μουσείο» που μελετάται. Συγκεκριμένα, γίνεται σαφές πώς οι επισκέπτες εξυπηρετούνται από το ταμείο και υπό ποιες συνθήκες εισέρχονται στην ουρά για το κάθε έκθεμα. Οι μεταβλητές που χρησιμοποιούνται για την αναπαράσταση των παραπάνω μεγεθών στη σχηματική απεικόνιση είναι οι εξής: L qi = Η ουρά για το κάθε έκθεμα L q2 = Η ουρά για το ταμείο Ι= Μετρητής εκθεμάτων ( I = 1,2,3) Ε= Αριθμός εκθεμάτων k= Μέγιστο πλήθος ατόμων στην ουρά για κάθε έκθεμα Π= Πλήθος επισκεπτών γύρω από το έκθεμα v= Μέγιστο πλήθος επισκεπτών γύρω από το έκθεμα Αναλυτικά, μόλις το σύστημα τεθεί σε λειτουργία, προγραμματίζεται η άφιξη για τον πρώτο πελάτη- επισκέπτη. Προφανώς, το ταμείο είναι αδρανές τη δεδομένη στιγμή, επομένως η εξυπηρέτησή του ξεκινά άμεσα. Κατά την άφιξη κάθε επόμενου πελάτη, γίνεται έλεγχος αδράνειας του ταμείου. Αν αυτό είναι απασχολημένο, ελέγχεται το μήκος της ουράς αναμονής σε αυτό και ο πελάτης επιλέγει (με δεδομένη πιθανότητα) αν θα αναμείνει τη σειρά του στη ουρά ή αν θα αποχωρήσει από το σύστημα χωρίς να εισέλθει σε αυτήν (λόγω του μεγάλου μήκους της). Και στις δύο περιπτώσεις, ωστόσο, προγραμματίζεται η άφιξη του επόμενου επισκέπτη. Μετά την έκδοση του εισιτηρίου για τον κάθε πελάτη, πραγματοποιείται νέος έλεγχος προκειμένου να διαπιστωθεί το ακριβές μήκος της ουράς για το πρώτο έκθεμα. Αν η ουρά περιλαμβάνει λιγότερα από k άτομα, τότε ο επισκέπτης εισέρχεται σε αυτήν. Διαφορετικά περιμένει στη θέση «ταμείο» προκαλώντας μπλοκάρισμα. Ανάλογος έλεγχος γίνεται και στο αμέσως επόμενο βήμα ώστε τα άτομα που παρατηρούν το έκθεμα τη δεδομένη στιγμή να μην ξεπερνούν τα v. Μόνο σε αυτή την περίπτωση αποφεύγεται και πάλι η πρόκληση μπλοκαρίσματος, στη θέση «ουρά αναμονής για το έκθεμα» αυτή τη φορά. Η διαδικασία επαναλαμβάνεται για κάθε ένα από τα τρία εκθέματα με τη σειρά. 13
Τέλος, αφού ο επισκέπτης παρατηρήσει και το τελευταίο έκθεμα του μουσείου, κατευθύνεται προς την έξοδο και αποχωρεί. ΑΝΑΠΤΥΞΗ ΜΟΝΤΕΛΟΥ ΣΤΟ EXTEND Περιγραφή Για τον εντοπισμό της βέλτιστης λύσης σχετικά με το σύστημα μουσείο θα χρησιμοποιηθεί το πρόγραμμα Extend 5 του ηλεκτρονικού υπολογιστή, προκειμένου να καταστεί δυνατή η ανάπτυξη του κατάλληλου μοντέλου προσομοίωσης. Συγκεκριμένα στην παρούσα εργασία, θα αναπτύξουμε τέσσερα μοντέλα προσομοίωσης, έτσι ώστε να δοθεί η όσο το δυνατόν πιο πιστή απεικόνιση της πραγματικότητας και να εξαχθούν συμπεράσματα με σχετική ακρίβεια. Περιγραφή 1 ου μοντέλου Πρόκειται για ένα μοντέλο, στο οποίο παρουσιάζεται το φαινόμενο της αποχώρησης των επισκεπτών πριν εισέλθουν στην ουρά σε περίπτωση που αποθαρρύνονται από το μήκος της (balking). Πρώτα απ όλα θα πρέπει να εισάγουμε στο μοντέλο μας τον παράγοντα χρόνο. Αυτό θα γίνει με τη χρήση του block «Executive» από την Discrete event βιβλιοθήκη. Επόμενο βήμα μας είναι η δημιουργία μιας γεννήτριας που θα παράγει οντότητες για το πρόβλημά μας επισκέπτες. Για το σκοπό αυτό θα χρησιμοποιηθεί το block «Generator», επίσης της Discrete event βιβλιοθήκης. Οι επισκέπτες θα φθάνουν με βάση την εκθετική κατανομή με μέσο λ. count ev ent Executive V 1 2 visitors 3 Generator Συνεχίζοντας θα εισάγουμε ένα «Decision (2)» block από την BPR βιβλιοθήκη. Με τη βοήθεια του συγκεκριμένου block θα εφαρμοστεί το φαινόμενο balking. Από τη μια έξοδο του «Decision (2)» block (Yes Path) θα εξέρχονται οι 14
επισκέπτες οι οποίοι τελικά θα περιμένουν στην ουρά και από τη δεύτερη έξοδο οι επισκέπτες που αποφασίζουν να αποχωρήσουν. Ο συγκεκριμένος διαχωρισμός θα γίνεται με έλεγχο της πιθανότητας (n+1) -1, όπου n το πραγματικό πλήθος επισκεπτών στην ουρά. Γι αυτό θα χρησιμοποιήσουμε ένα «Input Random Number» block της Generic βιβλιοθήκης, που θα παράγει αριθμούς από το 0 έως το 0.25 με βάση την ομοιόμορφη κατανομή και ένα «Equation» block και πάλι της Generic βιβλιοθήκης, το οποίο διαβάζει το μήκος της ουράς κάθε χρονική στιγμή και υπολογίζει την πιθανότητα (n+1) -1. Τα δύο αυτά blocks συνδέονται στο «Decision (2)» block που αναφέρθηκε νωρίτερα. Εάν ο αριθμός που παράγεται από το «Input Random Number» block είναι μικρότερος του αποτελέσματος του «Equation» block ο επισκέπτης ακολουθεί το Yes Path και εισέρχεται στην ουρά αναμονής. Διαφορετικά εξέρχεται από το σύστημα. Η ουρά που χρησιμοποιείται γι αυτό το σκοπό είναι η «Queue FIFO» της Discrete event library, ενώ το block για την έξοδο είναι το «Exit» της ίδιας βιβλιοθήκης. Έπειτα συνδέουμε την ουρά με ένα «Activity, Delay» block από τη Discrete event library που αναπαριστά το ταμείο. F L W T U V 1 2 visitors 3? Y N length D cashier desk Rand 1 2 3 Exit # length Eqn 195 Balking Ακολουθεί η αναπαράσταση του χώρου των εκθεμάτων με τη βοήθεια του block «Queue FIFO» και του «Activity, Multiple» block της Discrete Event library. Αποφασίστηκε για την προσομοίωση το μουσείο να περιλαμβάνει 3 εκθέματα. Πριν από κάθε έκθεμα, δηλαδή κάθε «Activity, Multiple» block, εισάγεται μία ουρά αναμονής, όπου οι επισκέπτες περιμένουν να μείνει αδρανής κάποια θέση γύρω από το έκθεμα. Ο κάθε επισκέπτης παραμένει γύρω από αυτό για χρόνο ο οποίος 15
ακολουθεί την κανονική κατανομή. Έτσι απαιτείται η χρήση «Input Random Number» block συνδεδεμένο σε κάθε «Activity, Multiple» block. F U F U F U L 0 W F D C L W 1st exhibit L 0 W F D C L W 2nd exhibit L 0 W F D C L W 3rd exhibit Rand Rand Rand 1 2 3 1 2 3 1 2 3 Εκθέματα Όταν οι επισκέπτες επισκεφθούν όλα τα εκθέματα εξέρχονται από το σύστημα, κάτι που απεικονίζεται με το «Exit» block της Discrete Event library. Επιπλέον, κρίνεται απαραίτητο να χρησιμοποιήσουμε ένα «Plotter, Discrete event» block από την Discrete Event βιβλιοθήκη προκειμένου να απεικονίσουμε διαγραμματικά το βαθμό απασχόλησης του ταμείου λαμβάνοντας τα αντίστοιχα δεδομένα με τη βοήθεια ενός label «utilization». Τέλος, προσθέτουμε και ένα «Queue Stats» block από τη Statistics βιβλιοθήκη για τη συλλογή και παρουσίαση των αποτελεσμάτων που θα μελετήσουμε για να οδηγηθούμε στη βέλτιστη λύση. utilization Queue Stats Update Plotter, Discrete event Queue stats Περιγραφή 2 ου μοντέλου Το δεύτερο μοντέλο, το οποίο θα χρησιμοποιήσουμε στην παρούσα εργασία, περιλαμβάνει εκτός από την περίπτωση του balking, στην οποία αναφερθήκαμε νωρίτερα, και την περίπτωση του reneging, δηλαδή της αποχώρησης του επισκέπτη λόγω της άρνησής του να παραμείνει στην ουρά αναμονής. 16
Για την υλοποίηση του φαινομένου αυτού αντικαθιστούμε το «Queue FIFO» block, που αναπαριστά την ουρά αναμονής πριν το ταμείο με ένα «Stack» block της BPR βιβλιοθήκης και επιλέγουμε στο παράθυρο διαλόγου του ως είδος ουράς το «reneging queue». Έπειτα συνδέουμε την έξοδο του συγκεκριμένου block με το block του ταμείου, ενώ το renege out με ένα «Exit» block της Discrete event library. length L w p R p Exit # T U Reneging D cashier desk Εκτός από την παραπάνω μεταβολή, θα συμπτύξουμε το 2 ο μοντέλο στο τμήμα που απεικονίζει το χώρο των εκθεμάτων. Αφού επιλέξουμε τις ουρές, τα activity blocks και τα Input Random number blocks, στο menu «Model» του Extend 5 ενεργοποιούμε την επιλογή «make selection Hierarchical». Έτσι δημιουργούμε ένα καινούριο block που συνδέεται με το «Activity, Delay» block του ταμείου και την έξοδο από το σύστημα και παριστάνει το χώρο των εκθεμάτων. T U D cashier desk exhibits Exit # 47 Εκθέματα Περιγραφή 3 ου μοντέλου Η γεννήτρια παραγωγής οντοτήτων που χρησιμοποιήσαμε λειτουργεί με βάση την εκθετική κατανομή με μέσο λ. Επειδή στην πραγματικότητα οι επισκέπτες δεν καταφθάνουν στο μουσείο με τον ίδιο ρυθμό καθ όλη τη διάρκεια της ημέρας, στο 3 ο μοντέλο εισάγουμε ένα «Input Data» block της Generic library συνδεδεμένο με τη γεννήτρια. Στο block αυτό θα εισάγουμε δεδομένα, έτσι ώστε για διαφορετικά χρονικά διαστήματα της προσομοίωσης να έχουν και διαφορετικό ρυθμό αφίξεων. 17
t y V 1 2 3 visitors Input Data Time Y output 0 1 120 4 300 2 540 3 660 2 720 1 Περιγραφή 4 ου μοντέλου Στο 4 ο μοντέλο της παρούσας εργασίας θα προσθέσουμε άλλο ένα ταμείο για την ενδεχομένως καλύτερη εξυπηρέτηση των επισκεπτών. Έτσι μετά το «Stack» block που έχουμε χρησιμοποιήσει, εισάγουμε ένα «Select DE Output» block και στις δύο εξόδους του συνδέουμε δύο «Activity, Delay» blocks που αποτελούν τα δύο ταμεία του συστήματος. Με τη σειρά τους αυτά συνδέονται στο block που δημιουργήσαμε για το χώρο των εκθεμάτων, αφού συνενωθούν με τη βοήθεια του «Combine» block της Discrete Event library. T U 0,5 0,5? a b D cashier desk 1 exhibits select T U D cashier desk 2 Two cashier desks a b Combine Επαλήθευση του μοντέλου Κατά το στάδιο του προγραμματισμού γίνεται η μεταφορά του μοντέλου σε περιβάλλον ηλεκτρονικού υπολογιστή. Συγκεκριμένα, το στάδιο αυτό περιλαμβάνει σε πρώτη φάση τη μοντελοποίηση του προβλήματος, ακολουθώντας πιστά το 18
διάγραμμα ροής που προηγήθηκε. Αμέσως μετά ακολουθεί η επαλήθευση του προγράμματος που προέκυψε, διαδικασία από την οποία διέρχεται κάθε έργο ανάπτυξης λογισμικού. Σκοπός της επαλήθευσης είναι η διαπίστωση τυχόν λογικών λαθών ώστε να αποφευχθεί η διεξαγωγή παραπλανητικών αποτελεσμάτων. Οι μέθοδοι επαλήθευσης που μπορούν να χρησιμοποιηθούν ποικίλουν ανάλογα με το σύστημα, το πρόβλημα, την εμπειρία και τις γνώσεις του ερευνητή. Έτσι, στην περίπτωση του μοντέλου «μουσείο» που μελετάται στην παρούσα εργασία, θα μπορούσαμε να πούμε ότι χρησιμοποιείται ένας συνδυασμός μεθόδων επαλήθευσης. Αρχικά, ο έλεγχος στηρίζεται στη μέθοδο «ακύρωση της τυχαιότητας», η οποία προτείνει την εξάλειψη όλων των στοχαστικών στοιχείων από το πρόγραμμα. Ειδικότερα, αφαιρούμε όλες τις γεννήτριες τυχαίων αριθμών που υπάρχουν στο πρόγραμμα και τις αντικαθιστούμε με εκ των προτέρων καθορισμένες τιμές. Με αυτόν τον τρόπο καθιστούμε το μοντέλο στιγμιαία προσδιοριστικό και το τρέχουμε με χαρτί και μολύβι και όχι με τη βοήθεια του ηλεκτρονικού υπολογιστή. Γνωρίζοντας λοιπόν τα αποτελέσματα της εξόδου όταν τα δεδομένα της εισόδου είναι συγκεκριμένα, τα συγκρίνουμε με αυτά που προκύπτουν από το ιδεατό μοντέλο και ελέγχουμε έτσι την ακρίβειά του. Επειδή, ωστόσο, η συγκεκριμένη τεχνική δεν δίνει τη δυνατότητα στον ερευνητή να εντοπίσει όλα τα πιθανά λογικά λάθη, κρίθηκε απαραίτητο να χρησιμοποιηθεί και μια δεύτερη μέθοδος επαλήθευσης με στόχο την όσο το δυνατόν μεγαλύτερη αξιοπιστία του μοντέλου. Η μέθοδος αυτή καλείται «χρήση γραφικών τεχνικών απεικόνισης» και εφαρμόζεται στο μοντέλο του ηλεκτρονικού υπολογιστή. Στόχος της είναι η αναπαράσταση των οντοτήτων του μοντέλου με κάποιες μορφές απεικόνισης έτσι ώστε να μπορεί ο χρήστης να ελέγξει την πορεία τους καθ όλη τη διάρκεια παραμονής τους στο μοντέλο. Ο έλεγχος αυτής της μορφής είναι επιφανειακός αλλά παρόλα αυτά δίνει τη δυνατότητα στον ερευνητή να παρακολουθήσει το σύστημα και να εντοπίσει τυχόν προβληματική συμπεριφορά. 19
ΣΥΛΛΟΓΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ Σχόλια σχετικά με τις αρχικές συνθήκες Το σύστημα που μελετάται στην εν λόγω εργασία, και κατ επέκταση και οι προσομοιώσεις του, χαρακτηρίζεται ως σύστημα οριακής κατάστασης, αφού θεωρητικά μπορεί να λειτουργεί συνεχώς. Για τις προσομοιώσεις αυτής της κατηγορίας είναι σημαντική η εξάλειψη της επίδρασης των αρχικών συνθηκών λειτουργιάς. Υπάρχουν αρκετοί μέθοδοι για την αντιμετώπιση του συγκεκριμένου προβλήματος, ωστόσο για το σύστημα του μουσείου που μας απασχολεί αποφασίστηκε να χρησιμοποιηθεί η μέθοδος της εκτέλεσης της προσομοίωσης για μεγάλο χρονικό διάστημα. Ο τρόπος αυτός, σε συνδυασμό με την ενεργοποίηση των blocks που συλλέγουν δεδομένα, αφού έχει ολοκληρωθεί η περίοδος σταθεροποίησης, δίνει τη δυνατότητα μη συλλογής δεδομένων που δίνουν εσφαλμένη εικόνα της λειτουργίας του συστήματος. Τιμές εκκίνησης: Για την εκτέλεση της προσομοίωσης θα πρέπει να δοθούν κάποιες αρχικές τιμές σε παραμέτρους των blocks από τα οποία απαρτίζεται το μοντέλο. Έτσι επιλέχθηκαν οι παρακάτω: Generator - ρυθμός αφίξεων: λ = 4 Input Data - πίνακας τιμών: Time Youtput 0 1 120 4 300 2 540 3 660 2 720 1 Input random number min/max: 0/0,25 Stack renege time: 7 Activity, Delay (ταμείο) - χρόνος εξυπηρέτησης: 1 Queue, FIFO max length: k = 10 Activity, Multiple (έκθεμα) max number of visitors: v=5 Number of exhibits: E=3 Time around exhibits: t~ N (5,5, 8,25) 20
Simulation Setup end simulation at time:720 - number of runs: 20 Εκτέλεση προσομοίωσης Επεξεργασία δεδομένων Σκοπός μας στην συγκεκριμένη εργασία είναι η παρουσίαση εναλλακτικών σεναρίων της λειτουργίας ενός μουσείου και η σύγκριση των αποτελεσμάτων της προσομοίωσης αυτών για τη λήψη της βέλτιστης απόφασης. Έτσι η συλλογή δεδομένων θα γίνει από την εκτέλεση προσομοίωσης για τα μοντέλα 3 και 4 της εργασίας, δηλαδή για τη λειτουργία του μουσείου με 1 και 2 ταμεία. Εκτέλεση προσομοίωσης μοντέλου 3 1 ταμείο Κατά τη διάρκεια της προσομοίωσης, παρακολουθούμε ορισμένα στοιχεία του μοντέλου που μας ενδιαφέρουν, όπως το μέγιστο και το μέσο μήκος της ουράς πριν το ταμείο, τη μέγιστη και τη μέση αναμονή των επισκεπτών σε αυτήν. Επίσης παρατηρούμε την εξέλιξη του βαθμού απασχόλησης του ταμείου κατά τη διάρκεια της ημέρας (ημέρα: αντιστοιχεί σε 1 run). Ενδεικτικά παραθέτουμε τα παρακάτω δεδομένα που αφορούν στο τελευταίο run της προσομοίωσης του μοντέλου 3. Cashier Queue Stack block Μέγιστο μήκος: 12 Μέσο μήκος: 1,07936 Μέγιστη αναμονή: 7 Μέση αναμονή: 1,900096 Βαθμός απασχόλησης ταμείου 21
Μετά την ολοκλήρωση της προσομοίωσης το block «queue stats» εμφανίζει τα παρακάτω αποτελέσματα: Block Ave Length Max Length Ave Wait Max Wait Ουρά 1 0,00±0,00 1,05±0,105 0,00±0,00 0,00±0,00 Ουρά 2 0,555±0,134 6,55±0,796 0,99±0,226 7,52±1,16 Ουρά 3 0,00±0,00 2,00±0,00 0,00±0,00 0,00±0,00 Cashier queue 1,41±0,107 13,3±1,01 2,41±0,128 7,00±0,00 Συμπεραίνουμε λοιπόν ότι στις ουρές 1 και 3, δηλαδή σε αυτές που προηγούνται του 1 ου και 3 ου εκθέματος αντίστοιχα παρατηρείται μηδενική αναμονή επισκεπτών. Αντίθετα στην ουρά 2 το μέσο μήκος της κυμαίνεται γύρω από το 0,555, ενώ ο μέσος χρόνος αναμονής γύρω από το 0,99. Δεν αντιμετωπίζεται, λοιπόν, κάποιο πρόβλημα στις συγκεκριμένες ουρές, αφού δεν παρατηρήθηκε μπλοκάρισμα του συστήματος στο συγκεκριμένο τμήμα του μοντέλου. Σχετικά με την ουρά πριν το 22
ταμείο, το μέσο μήκος της κυμαίνεται γύρω από το 1,41 και ο μέσος χρόνος αναμονής γύρω από το 2,41. Εκτέλεση προσομοίωσης μοντέλου 4-2 ταμεία Όπως και στο προηγούμενο μοντέλο, έτσι και στο μοντέλο 4 της εργασίας παρακολουθούμε τα δεδομένα που μας ενδιαφέρουν και παρουσιάζουμε ενδεικτικά τα αποτελέσματα του 20 ου run της προσομοίωσης. Cashier Queue Stack block Μέγιστο μήκος: 11 Μέσο μήκος: 1,155952 Μέγιστη αναμονή: 7 Μέση αναμονή: 1,681385 Βαθμός απασχόλησης ταμείων Μετά την εκτέλεση της προσομοίωσης τα αποτελέσματα που προκύπτουν από το block «queue stats» είναι τα παρακάτω: 23
Block Ave Length Max Length Ave Wait Max Wait Ουρά 1 0,844±0,182 8,40±0,75 1,44±0,297 9,88±1,31 Ουρά 2 1,78±0,289 10,0±0,00 2,97±0,431 14,3±0,68 Ουρά 3 0,967±0,257 8,55±0,653 1,62±0,383 9,71±1,08 Cashier queue 0,864±0,0864 12,2±1,16 1,42±0,112 6,98±0,042 Όπως παρατηρούμε στην ουρά 1, πριν από το πρώτο έκθεμα, το μέσο μήκος κυμαίνεται γύρω από το 0,844, ενώ η μέση αναμονή αγγίζει το 1,5. Αποτελέσματα χωρίς ιδιαίτερα σημαντικές διαφορές εξάγονται και για την ουρά 3, όπου το μέσο μήκος ανέρχεται γύρω στο 0,967 και η μέση αναμονή στο 1,62. Από την άλλη πλευρά, και πάλι η ουρά 2 παρουσιάζει μεγαλύτερη απόκλιση τιμών από τις άλλες δύο, αφού το μέσο μήκος κυμαίνεται γύρω από το 1,78, ενώ η μέση αναμονή γύρω από το 2,97. Όσον αφορά στην ουρά πριν το ταμείο, το μέσο μήκος και η μέση αναμονή κινούνται γύρω από το 0,864 και 1,42 αντίστοιχα. Έλεγχος εγκυρότητας και αξιοπιστίας του μοντέλου 24
Η προσομοίωση συστημάτων σε προγράμματα ηλεκτρονικών υπολογιστών και η κατασκευή των αντίστοιχων μοντέλων έχουν ως βασικό σκοπό να βοηθήσουν στη λήψη της βέλτιστης απόφασης που αφορά τη λειτουργία του συγκεκριμένου συστήματος. Έτσι, κρίνεται απαραίτητο να διεξαχθεί έλεγχος εγκυρότητας και αξιοπιστίας του κάθε μοντέλου προσομοίωσης προκειμένου να πειστεί ο υπεύθυνος για τη λήψη της απόφασης πως τα αποτελέσματα που θα μελετήσει είναι έγκυρα και μπορεί να στηριχθεί σε αυτά. Βασική παραδοχή για τη διαδικασία κατασκευής μοντέλου προσομοίωσης είναι η όσο το δυνατόν καλύτερη απεικόνιση του πραγματικού συστήματος. Δηλαδή, κάθε ερευνητής δημιουργεί το μοντέλο για τη μελέτη του με τρόπο ώστε να περιγράφει επαρκώς το πραγματικό σύστημα και να εξυπηρετεί τους σκοπούς της συγκεκριμένης μελέτης. Ένα μοντέλο χάνει την αξιοπιστία του εάν γίνει προσπάθεια να χρησιμοποιηθεί για διεξαγωγή αποτελεσμάτων πέρα από τα όρια του σκοπού για τον οποίο κατασκευάστηκε. Επομένως, η αξιοπιστία αφορά το πλαίσιο μέσα στο οποίο θα λειτουργήσει το μοντέλο και συγκεκριμένα τις υποθέσεις, τις παραδοχές και τις λεπτομέρειες που εισήχθησαν σε αυτό. Ακόμη, αξίζει να σημειωθεί ότι η διαδικασία του ελέγχου εφαρμόζεται σε κάθε φάση ανάπτυξης και λειτουργίας του μοντέλου για να διαπιστωθεί ο βαθμός εγκυρότητας και αξιοπιστίας αυτού. Η μέθοδος ελέγχου που θα χρησιμοποιηθεί αποφασίζεται με βασικό κριτήριο τις συνθήκες μελέτης, το είδος του συστήματος και τις γνώσεις του ερευνητή. Ειδικότερα, κατά τη διάρκεια του ελέγχου, χρησιμοποιούνται στατιστικές μέθοδοι έτσι ώστε να γίνει σύγκριση των αποτελεσμάτων που προκύπτουν με αντίστοιχα αποτελέσματα άλλων μοντέλων ή πραγματικών συστημάτων. Ωστόσο, είναι σημαντικό να λαμβάνουμε πάντοτε υπόψη μας το γεγονός πως δεν είναι δυνατόν με κανένα τρόπο να υπάρξει το απόλυτο μοντέλο. Πάντα υπάρχει το ενδεχόμενο αποκλίσεων των αποτελεσμάτων της προσομοίωσης από αυτά του πραγματικού συστήματος. Γι αυτό και ο ρόλος του ερευνητή αφορά στην επιλογή του κατάλληλου ελέγχου ώστε να συρρικνωθεί αυτός ο βαθμός απόκλισης στον ελάχιστο δυνατό. 25