Mοντελοποίηση και Προσοµοίωση
ΣηµείωσηΤο ΕΑΠ είναι υπεύθυνο για την επιµέλεια έκδοσης και την ανάπτυξη των κειµένων σύµφωνα µε τη Μεθο-δολογία της εξ Αποστάσεως Εκπαίδευσης. Για την επιστηµονική αρτιότητα και πληρότητα των συγγραµ-µάτων την αποκλειστική ευθύνη φέρουν οι συγγραφείς, κριτικοί αναγνώστες και ακαδηµαϊκοί υπεύθυνοιπου ανέλαβαν το έργο αυτό.
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Σχολή Θετικών Επιστηµών και Τεχνολογίας
Πρόγραµµα Σπουδών
ΠΛHPOΦOPIKH
Θεµατική Ενότητα
ΓPAMMIKOΣ ΠPOΓPAMMATIΣMOΣ KAI MONTEΛOΠOIHΣH
Τόµος A'
Mοντελοποίηση και ΠροσοµοίωσηMANOΣ POYMEΛIΩTHΣ
Eπίκουρος Kαθηγητής Tµήµατος Eφαρµοσµένης Πληροφορικής
Πανεπιστηµίου Mακεδονίας
ΠATPA 2001
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Σχολή Θετικών Επιστηµών και Τεχνολογίας
Πρόγραµµα Σπουδών
ΠΛHPOΦOPIKH
Θεµατική Ενότητα
ΓPAMMIKOΣ ΠPOΓPAMMATIΣMOΣ KAI MONTEΛOΠOIHΣH
Τόµος A'
Mοντελοποίηση και Προσοµοίωση
Συγγραφή
MANOΣ POYMEΛIΩTHΣ
Eπίκουρος Kαθηγητής Tµήµατος Eφαρµοσµένης Πληροφορικής
Πανεπιστηµίου Mακεδονίας
Κριτική Ανάγνωση
XAPAΛAMΠOΣ MΠOTΣAPHΣ
Kαθηγητής Tµήµατος Mαθηµατικών Πανεπιστηµίου Πατρών
Ακαδηµαϊκός Υπεύθυνος για την επιστηµονική επιµέλεια του τόµου
ΣΩKPATHΣ KATΣIKAΣ
Καθηγητής Tµήµατος Mηχανικών
Πληροφοριακών και Eπικοινωνιακών Συστηµάτων Πανεπιστηµίου Aιγαίου
Επιµέλεια στη µέθοδο της εκπαίδευσης από απόσταση
ΠETPOΣ ΓANOΣ
Γλωσσική Επιµέλεια
ΣTEΦANOΣ ΛOYNTZHΣ
Τεχνική Επιµέλεια
TYPORAMA
Καλλιτεχνική Επιµέλεια – Σελιδοποίηση
TYPORAMA
Συντονισµός ανάπτυξης εκπαιδευτικού υλικού και γενική επιµέλεια των εκδόσεων
ΟΜΑ∆Α ΕΚΤΕΛΕΣΗΣ ΕΡΓΟΥ ΕΑΠ / 2001
ISBN: 960–538–213–X
Kωδικός Έκδοσης: ΠΛH 32/1
Copyright 2000 για την Ελλάδα και όλο τον κόσµο
ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ
Οδός Παπαφλέσσα & Υψηλάντη, 26222 Πάτρα – Τηλ: (0610) 314094, 314206 Φαξ: (0610) 317244
Σύµφωνα µε το Ν. 2121/1993, απαγορεύεται η συνολική ή αποσπασµατική αναδηµοσίευση του βιβλίου αυτού
ή η αναπαραγωγή του µε οποιοδήποτε µέσο χωρίς την άδεια του εκδότη.
¶ÂÚȯfiÌÂÓ·
K ∂ º ∞ § ∞ π √ 1
¶ÚÔÛÔÌÔ›ˆÛË Î·È MÔÓ٤Ϸ ™˘ÛÙËÌ¿ÙˆÓ
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ....................................................................................................................................... 9
1.1 Προσοµοίωση και εξοµοίωση ............................................................................................................ 11
1.2 Oρισµός του συστήµατος και ιδιότητες συστηµάτων ................................................... 15
1.3 Mοντέλα συστηµάτων .............................................................................................................................. 21
1.3.1 Tύποι µοντέλων ............................................................................................................................... 24
1.4 ∆ηµιουργία µοντέλων προσοµοίωσης ........................................................................................ 29
1.4.1 Mοντέλα προσοµοίωσης .......................................................................................................... 30
1.4.2 Kατασκευή µοντέλων προσοµοίωσης .......................................................................... 31
1.4.3 Kριτήρια καλού µοντέλου ....................................................................................................... 31
1.5 Φάσεις της προσοµοίωσης .................................................................................................................... 33
1.5.1 Mηχανισµοί ελέγχου του χρόνου ...................................................................................... 34
Σύνοψη ................................................................................................................................................................................... 38
Bιβλιογραφία ..................................................................................................................................................................... 39
K ∂ º ∞ § ∞ π √ 2
MÔÓÙÂÏÔÔ›ËÛË ™˘Ó¯ÒÓ ™˘ÛÙËÌ¿ÙˆÓ
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις .................................................................................................................................... 41
2.1 Aναλυτικά µοντέλα ..................................................................................................................................... 43
2.1.1 Kατασκευή αναλυτικών µοντέλων .................................................................................. 44
2.1.2 Προσδιορισµός των µεταβλητών ...................................................................................... 45
2.1.3 Kαθορισµός των σχέσεων ανάµεσα στις µεταβλητές ..................................... 45
2.1.4 Περιορισµοί ......................................................................................................................................... 46
2.2 Mοντέλα ιστού ................................................................................................................................................ 46
2.3 Aνάλυση ευαισθησίας συστηµάτων ............................................................................................. 50
Σύνοψη ................................................................................................................................................................................... 54
Bιβλιογραφία ..................................................................................................................................................................... 55
6 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
K ∂ º ∞ § ∞ π √ 3
AÓ¿Ù˘ÍË MÔÓÙ¤ÏˆÓ ¢È·ÎÚÈÙÒÓ ™˘ÛÙËÌ¿ÙˆÓ
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις .................................................................................................................................... 57
3.1 Oρισµοί .................................................................................................................................................................. 59
3.2 Προσοµοίωση γεγονότων ...................................................................................................................... 61
3.2.1 O διαχειριστής της προσοµοίωσης γεγονότων ...................................................... 62
3.3 Προσοµοίωση δραστηριοτήτων ....................................................................................................... 65
3.3.1 ∆ιαγράµµατα κύκλου δραστηριοτήτων ....................................................................... 65
3.3.2 O διαχειριστής της προσοµοίωσης δραστηριοτήτων ...................................... 69
3.4 H µέθοδος των τριών φάσεων ........................................................................................................... 72
3.5 Προσοµοίωση διεργασιών .................................................................................................................... 73
3.5.1 Εκτέλεση των εργασιών ........................................................................................................... 74
3.6 ∆ίκτυα Petri ....................................................................................................................................................... 78
3.6.1 ∆οµή των δικτύων Petri ............................................................................................................ 78
3.6.2 Γραφήµατα των δικτύων Petri ............................................................................................. 80
3.6.3 Mαρκαρίσµατα των δικτύων Petri ................................................................................... 82
3.6.4 Eκτέλεση των δικτύων Petri ................................................................................................. 82
3.6.5 Xώροι καταστάσεων των δικτύων Petri ..................................................................... 85
3.6.6 Σύγκρουση ............................................................................................................................................ 85
3.6.7 Aσφάλεια των δικτύων Petri ................................................................................................ 86
3.6.8 Mοντελοποίηση µε δίκτυα Petri ........................................................................................ 87
Σύνοψη ................................................................................................................................................................................... 92
Bιβλιογραφία ..................................................................................................................................................................... 93
K ∂ º ∞ § ∞ π √ 4
EÚÁ·Ï›· Case
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις .................................................................................................................................... 95
4.1 Eξειδικευµένες γλώσσες προσοµοίωσης .................................................................................. 97
4.1.1 Eπιλογή της γλώσσας προσοµοίωσης ........................................................................... 98
4.1.2 Συγκριτικά στοιχεία των γλωσσών προσοµοίωσης ....................................... 100
4.1.3 Simscript ............................................................................................................................................. 101
4.1.3.1 Tα εργαλεία της Simscript ............................................................................... 102
4.1.3.2 Aνάπτυξη προγραµµάτων προσοµοίωσης
στη Simscript II 5 ...................................................................................................... 103
4.1.4 Modsim III .......................................................................................................................... 107
4.1.4.1 To περιβάλλον της Modsim II ....................................................................... 108
4.1.4.2 Aνάπτυξη προγραµµάτων προσοµοίωσης
στη Modsim III ........................................................................................................... 109
4.1.5 Simula ..................................................................................................................................... 111
4.1.6 GPSS ........................................................................................................................................ 112
4.1.6.1 Tα βασικά µπλοκ της GPSS ............................................................................ 113
4.1.6.2 Eντολές ελέγχου της GPSS ............................................................................. 123
4.1.6.3 Παραδείγµατα µοντέλων GPSS ................................................................... 128
4.2 Γλώσσες γενικής χρήσεως ................................................................................................................. 144
4.2.1 ∆οµές δεδοµένων ......................................................................................................................... 144
4.2.2 Mηχανισµός ροής χρόνου .................................................................................................... 151
Σύνοψη ................................................................................................................................................................................ 152
Bιβλιογραφία .................................................................................................................................................................. 153
K ∂ º ∞ § ∞ π √ 5
M¤ıÔ‰ÔÈ ¢ÂÈÁÌ·ÙÔÏË„›·˜
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................................................. 155
5.1 Tυχαίοι και ψευδοτυχαίοι αριθµοί .............................................................................................. 157
5.2 Iδιότητες τυχαίων αριθµών ............................................................................................................... 160
5.3 Γεννήτριες τυχαίων αριθµών ........................................................................................................... 164
5.3.1 Γεννήτριες µεσαίων τετραγώνων .................................................................................. 164
5.3.2 Γραµµικές ισοϋπόλοιπες γεννήτριες ........................................................................... 166
5.3.3 Πολλαπλασιαστικές ισοϋπόλοιπες γεννήτριες ................................................... 169
5.3.4 Άλλες ισοϋπόλοιπες γεννήτριες ...................................................................................... 170
5.3.5 Γεννήτριες Tausworthe ........................................................................................................... 170
5.4 Έλεγχος τυχαιότητας .............................................................................................................................. 170
5.5 Παραγωγή τυχαίων δειγµάτων ....................................................................................................... 173
5.5.1 Mέθοδος αντίστροφου µετασχηµατισµού .............................................................. 173
5.5.2 Mέθοδος της αποδοχής–απόρριψης ............................................................................ 177
5.5.3 Συνθετική µέθοδος ..................................................................................................................... 178
5.5.4 H εµπειρική µέθοδος ................................................................................................................ 180
5.6 Mέθοδος Monte Carlo ........................................................................................................................... 185
Σύνοψη ................................................................................................................................................................................ 191
Bιβλιογραφία .................................................................................................................................................................. 192
7¶ E P I E X O M E N A
K ∂ º ∞ § ∞ π √ 6
AÓ¿Ï˘ÛË AÔÙÂÏÂÛÌ¿ÙˆÓ
Σκοπός, Προσδοκώµενα αποτελέσµατα, Έννοιες κλειδιάEισαγωγικές παρατηρήσεις ................................................................................................................................. 193
6.1 Tύποι προσοµοίωσης ............................................................................................................................. 195
6.2 Aρχικές συνθήκες και σταθερή κατάσταση ....................................................................... 196
6.3 Συλλογή δεδοµένων ................................................................................................................................ 199
6.3.1 Συλλογή ανεξάρτητων δεδοµένων ................................................................................ 200
6.3.2 Συλλογή εξαρτηµένων δεδοµένων ............................................................................... 201
6.4 Στατιστική ανάλυση των αποτελεσµάτων ........................................................................... 203
6.4.1 Mέθοδος των επαναλήψεων ............................................................................................... 203
6.4.2 Mέθοδος των µέσων παρτίδων ........................................................................................ 205
6.4.3 Mέθοδος της αναγέννησης .................................................................................................. 206
Σύνοψη ................................................................................................................................................................................ 208
Bιβλιογραφία .................................................................................................................................................................. 209
Aπαντήσεις Aσκήσεων Aυτοαξιολόγησης ........................................................................................... 211
Aπαντήσεις ∆ραστηριοτήτων........................................................................................................................... 229
Eυρετήριο ......................................................................................................................................................................... 243
8 T E X N O § O ° I A § O ° I ™ M I K O Y I I
¶ÚÔÛÔÌÔ›ˆÛË Î·È MÔÓ٤Ϸ ™˘ÛÙËÌ¿ÙˆÓ
™ÎÔfi˜
Στο κεφάλαιο αυτό γίνεται µια γενική εισαγωγή στις έννοιες τις προσοµοίωσης και
µοντελοποίησης. Ο στόχος του είναι να εξηγήσει τι είναι τα µοντέλα συστηµάτων και
ποια είναι τα χαρακτηριστικά τους, καθώς και να αναλύσει τους λόγους για τους οποί-
ους χρησιµοποιείται η προσοµοίωση για τη µελέτη συστηµάτων.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού θα είστε σε θέση να:
• διακρίνετε τη διαφορά ανάµεσα στην εξοµοίωση και την προσοµοίωση και να µπο-
ρείτε να πείτε αν µια εργασία είναι προσοµοίωση ή εξοµοίωση
• αναφέρετε τουλάχιστον τρία είδη συστηµάτων
• διακρίνετε αν µια δραστηριότητα είναι προσδιορισµένη ή στοχαστική
• αναφέρετε τουλάχιστον πέντε λόγους για τους οποίους κατασκευάζονται µοντέλα
συστηµάτων
• αναφέρετε τους τέσσερις συνδυασµούς συστηµάτων – µοντέλων και ένα παράδειγ-
µα κάθε συνδυασµού
• αναφέρετε τουλάχιστον τέσσερις τύπους µοντέλων, καθώς και µια ταξινόµησή τους
• διακρίνετε ένα απλό µοντέλο από ένα πολύπλοκο
• εξηγείτε πώς λειτουργούν οι δύο µηχανισµοί ελέγχου του χρόνου κατά την προσο-
µοίωση
ŒÓÓÔȘ ÎÏÂȉȿ
1∫ ∂ º ∞ § ∞ π √
• προσοµοίωση και εξοµοίωση
• σύστηµα
• κατάσταση συστήµατος, περιβάλλον
συστήµατος
• ανοικτά και κλειστά συστήµατα, συνε-
χή και διακριτά συστήµατα, προσαρ-
µοζόµενα και µη προσαρµοζόµενα
συστήµατα
• µοντέλο
• φυσικά και µαθηµατικά µοντέλα, ανα-
λυτικά και αριθµητικά µοντέλα
• οντότητα και χαρακτηριστικά της
• δραστηριότητα
• ενδογενείς και εξωγενείς δραστηριό-
τητες, προσδιορισµένες και στοχαστι-
κές δραστηριότητες
1 0 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
• γεγονός
• µηχανισµός ροής χρόνου (ΜΡΧ)
• µηχανισµός επόµενου γεγονότος, µηχα-
νισµός σταθερού διαστήµατος
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Η µελέτη συστηµάτων µε µαθηµατικές µεθόδους απαιτεί αφενός πλήρη γνώση του υπάρ-
χοντος ή προτεινοµένου συστήµατος και αφετέρου δυνατότητα αναπαράστασης του συστή-
µατος µε µαθηµατικά µοντέλα. Επειδή, όµως, οι δύο αυτές προϋποθέσεις σχεδόν ποτέ δεν
πληρούνται σε πολύπλοκα συστήµατα, αναπτύχθηκαν άλλες µεθοδολογίες µελέτης και
ανάλυσης συστηµάτων, οι οποίες αν και δεν είναι τόσο ακριβείς όσο οι µαθηµατικές µέθο-
δοι, προσφέρουν σηµαντικά πλεονεκτήµατα. Μία από αυτές τις µεθόδους είναι η προσο-
µοίωση, η οποία γνώρισε µεγάλη εξέλιξη κυρίως λόγω της ανάπτυξης των ηλεκτρονικών
υπολογιστών.
Η προσοµοίωση αποτελεί µία πειραµατική µέθοδο που έχει ως σκοπό τη βελτιστο-
ποίηση συστηµάτων, την ανάλυση της ευαισθησίας τους και τη µελέτη της λειτουρ-
γίας τους. Ως πειραµατική µέθοδος εξαρτάται πολύ από την πιστότητα του µοντέλου
του συστήµατος που χρησιµοποιείται, καθώς και από την επιλογή εκείνων των παρα-
µέτρων που απαιτούνται για την εξαγωγή αξιόπιστων και χρήσιµων συµπερασµάτων.
Στην ενότητα 1.1 αναλύεται η έννοια της προσοµοίωσης και η διαφορά της από την
εξοµοίωση. Στην ενότητα 1.2 δίνεται ο ορισµός του συστήµατος και αναπτύσσονται
τα χαρακτηριστικά των συστηµάτων που αφορούν τη µοντελοποίησή του. Στην ενό-
τητα 1.3 δίνεται ο ορισµός του µοντέλου και αναλύονται οι διάφοροι τύποι µοντέλων,
οι οποίοι οδηγούν σε διάφορες ταξινοµήσεις µοντέλων. Στην ενότητα 1.4 αναπτύσ-
σονται οι λόγοι δηµιουργίας µοντέλων προσοµοίωσης, οι τεχνικές κατασκευής των
µοντέλων αυτών, καθώς και τα κριτήρια ενός καλού µοντέλου. Τέλος, στην ενότητα
1.5 δίνονται οι φάσεις της προσοµοίωσης και αναπτύσσονται περιληπτικά οι µηχα-
νισµοί ροής χρόνου, που χρησιµοποιούνται κατά την προσοµοίωση.
Για τη µελέτη του κεφαλαίου αυτού δεν απαιτούνται ιδιαίτερες γνώσεις από τον ανα-
γνώστη εκτός από τις βασικές µαθηµατικές έννοιες γραµµικών και µη γραµµικών εξι-
σώσεων, τις οποίες ο αναγνώστης µπορεί να αναζητήσει στα βιβλία του Λυκείου.
1.1 ¶ÚÔÛÔÌÔ›ˆÛË Î·È ÂÍÔÌÔ›ˆÛË
Ο όρος προσοµοίωση (simulation στα αγγλικά) συγχέεται συχνά µε τον όρο εξοµοί-
ωση (emulation στα αγγλικά), αν και οι όροι αυτοί υποδηλώνουν τελείως διαφορε-
τικές µεθοδολογίες.
Ορισµός 1.1
Προσοµοίωση είναι µια µέθοδος µελέτης ενός συστήµατος και εξοικείωσης
µε τα χαρακτηριστικά του µε τη βοήθεια ενός άλλου συστήµατος το οποίο στις
περισσότερες περιπτώσεις είναι ηλεκτρονικός υπολογιστής.
Ορισµός 1.2
Εξοµοίωση είναι µια µέθοδος αναπαραγωγής ενός συστήµατος εντός ή µέσω
ενός άλλου συστήµατος παρόµοιου µε το πρώτο.
Είναι λοιπόν εµφανές ότι κατά την προσοµοίωση δεν πρέπει να υπάρχει ούτε η εντύ-
πωση ούτε η επιθυµία υλοποίησης του πραγµατικού συστήµατος, γιατί σκοπός είναι
η µελέτη του συστήµατος και όχι η χρήση του. Αντίθετα, κατά την εξοµοίωση υπάρ-
χει η εντύπωση υλοποίησης στο πραγµατικό σύστηµα γιατί σκοπός είναι η χρήση του.
¶·Ú¿‰ÂÈÁÌ· 1.1
Ως πρώτο Παράδειγµα ας εξετάσουµε την προσοµοίωση και την εξοµοίωση ενός
αεροσκάφους τύπου Airbus A320. Η προσοµοίωση ενός αεροσκάφους του τύπου
αυτού µπορεί να γίνει είτε εξ ολοκλήρου σε έναν ηλεκτρονικό υπολογιστή είτε µε
την κατασκευή ενός συστήµατος που έχει όλα τα χειριστήρια και όργανα του αερο-
σκάφους.
Στην πρώτη περίπτωση είναι πιθανόν να απαιτείται η µελέτη της συµπεριφοράς του
αεροσκάφους από αεροδυναµικής απόψεως, της αντίδρασής του σε ανέµους και κενά
αέρος, κτλ. Για το σκοπό αυτό δηµιουργείται στον υπολογιστή ένα µαθηµατικό
µοντέλο του αεροσκάφους και εισάγονται σ’ αυτό οι παράµετροι των φυσικών χαρα-
κτηριστικών του αεροσκάφους καθώς και οι εξισώσεις αεροδυναµικής. Από την προ-
σοµοίωση κατόπιν εξάγονται τα αποτελέσµατα που αφορούν την αντίσταση του
αέρα, τις δυνάµεις άνωσης, την πιθανή δηµιουργία στροβίλων, κ.λπ.
Στη δεύτερη περίπτωση είναι πιθανόν να επιδιώκεται η εκπαίδευση πιλότων του
αεροσκάφους, πριν ακόµη αυτό κατασκευασθεί ή να επιλέγεται η προσοµοίωση για
λόγους ασφαλείας ή οικονοµίας. Προς το σκοπό αυτό κατασκευάζεται ένα σύστηµα
προσοµοίωσης, το οποίο έχει όλα τα απαραίτητα χειριστήρια και όργανα του αερο-
σκάφους και ελέγχεται από ηλεκτρονικό υπολογιστή. Ο υπολογιστής αντιδρώντας
1 11 . 1 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π ∂ • √ ª √ π ø ™ ∏
1 2 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
στους χειρισµούς του εκπαιδευόµενου πιλότου µεταβάλλει τις ενδείξεις στα όργανα
και είναι πιθανό να κινεί ολόκληρο τον προσοµοιωτή για περισσότερο ρεαλιστικά
αποτελέσµατα.
Και στις δύο περιπτώσεις όµως ούτε οι χειριστές του υπολογιστή ούτε οι εκπαιδευό-
µενοι πιλότοι έχουν την εντύπωση ότι εργάζονται µε το πραγµατικό σύστηµα, που είναι
το αεροσκάφος τύπου A320. Όπως φαίνεται διαγραµµατικά στο Σχήµα 1.1 το προσο-
µοιούµενο σύστηµα υπάρχει µόνον ως µοντέλο στον υπολογιστή και ο χρήστης έρχε-
ται σε επαφή µόνον µε τον υπολογιστή.
Η εξοµοίωση του αεροσκάφους µπορεί να γίνει µόνο µε βάση ένα παρόµοιο αερο-
σκάφος και τις κατάλληλες µετατροπές σε αυτό. Για το σκοπό αυτό µπορεί να χρη-
σιµοποιηθεί ένα αεροσκάφος τύπου Airbus A310, στο οποίο να αντικατασταθούν τα
απαιτούµενα χειριστήρια και όργανα µε αυτά του A320. Έτσι ο πιλότος που κυβερ-
νά το A310 που µετατράπηκε θα έχει την εντύπωση ότι κυβερνά ένα αεροσκάφος
τύπου A320. Θα πρέπει να σηµειωθεί εδώ ότι για την πραγµατική εξοµοίωση δεν
αρκεί µόνο η αντικατάσταση των χειριστηρίων και των οργάνων αλλά και η όσο το
δυνατόν πιο πιστή µετατροπή των χαρακτηριστικών του αεροσκάφους A310 έτσι
ώστε να συµπεριφέρεται όπως ένα A320. Στο Σχήµα 1.2 φαίνεται το διάγραµµα εξο-
µοίωσης του Παραδείγµατος αυτού.
™¯‹Ì· 1.1
∆ιάγραµµα προ-
σοµοίωσης του
A320
Σύστηµα προσοµοίωσης r
(υπολογιστής)
Mοντέλοr
συστήµατος
Xρήστης
Προσοµοιούµενοr
σύστηµα A 320
¶·Ú¿‰ÂÈÁÌ· 1.2
Ως δεύτερο Παράδειγµα ας εξετάσουµε την προσοµοίωση και εξοµοίωση ενός µικρο-
επεξεργαστή Intel 80486. Η προσοµοίωση αυτού του µικροεπεξεργαστή µπορεί να
γίνει σε οποιονδήποτε υπολογιστή γενικής χρήσης ή σε εξειδικευµένους υπολογι-
στές για προσοµοίωση ψηφιακής λογικής. Επειδή η σχεδίαση ενός µικροεπεξεργα-
στή είναι πολύ περίπλοκη και η κατασκευή του πρωτοτύπου υπερβολικά δαπανηρή,
χρησιµοποιείται η προσοµοίωση για τον έλεγχο της σωστής λειτουργίας του συστή-
µατος. Ο χρόνος προσοµοίωσης εξαρτάται πολύ από το επίπεδο λεπτοµέρειας που
περιλαµβάνεται στο µοντέλο. Το ανώτερο επίπεδο είναι το λειτουργικό επίπεδο, το
οποίο προσοµοιώνει µόνο τη λειτουργία του µικροεπεξεργαστή και χρησιµοποιείται
για τον έλεγχο της λογικής της σχεδίασης. Το χαµηλότερο επίπεδο προσοµοίωσης
είναι το επίπεδο τρανζίστορ στο οποίο προσοµοιώνονται όλα τα δοµικά στοιχεία
(τρανζίστορς) του µικροεπεξεργαστή. Υπάρχει και ακόµη χαµηλότερο επίπεδο, αυτό
του πυριτίου, αλλά ποτέ δεν χρησιµοποιείται για την προσοµοίωση ολόκληρου του
µικροεπεξεργαστή επειδή αν λειτουργεί σωστά µία οµάδα τρανζίστορς στο επίπεδο
πυριτίου, τότε λειτουργούν όλα σωστά. Στο επίπεδο του τρανζίστορ η πολυπλοκό-
τητα είναι τόσο µεγάλη που η σχέση ταχύτητας εκτέλεσης προσοµοιώνοντος/προ-
σοµοιωνόµενου υπολογιστή µπορεί να φθάσει το 1.000.000. ∆ηλαδή, εκτελούνται
1.000.000 εντολές στον υπολογιστή που κάνει την προσοµοίωση για να προσοµοι-
ωθεί µία εντολή του 80486. Γίνεται αντιληπτό ότι ποτέ δεν θα χρησιµοποιηθεί η προ-
σοµοίωση για την εκτέλεση προγραµµάτων του 80486 στον υπολογιστή που τον προ-
σοµοιώνει.
1 31 . 1 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π ∂ • √ ª √ π ø ™ ∏
™¯‹Ì· 1.2
∆ιάγραµµα εξο-
µοίωσης A320 µε
A310
Φορέας συστήµατος εξοµοίωσηςr
(A310)
Σύστηµαr
εξοµοίωσηςr
(µετατροπές)
Xρήστης
Eξοµοιούµενοr
σύστηµα A320
1 4 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Η εξοµοίωση του 80486 µπορεί να γίνει σε έναν υπολογιστή που χρησιµοποιεί άλλο
µικροεπεξεργαστή, όπως ο Apple Macintosh. Σκοπός της εξοµοίωσης είναι η δυνα-
τότητα εκτέλεσης προγραµµάτων 80486 του σε υπολογιστή Apple Macintosh ο οποί-
ος χρησιµοποιεί διαφορετικό µικροεπεξεργαστή. Η εξοµοίωση µπορεί να γίνει µε
δύο τρόπους.
Ο απλούστερος είναι η ανάπτυξη λογισµικού εξοµοίωσης, το οποίο αναλύει ένα πρό-
γραµµα γραµµένο σε κώδικα του 80486 και µεταφράζει τις εντολές του σε κώδικα του
µικροεπεξεργαστή PowerPC του Macintosh, έτσι ώστε να µπορούν πλέον να εκτελε-
στούν από αυτόν. Με διάφορες τεχνικές συµπίεσης του κώδικα είναι δυνατό να επι-
τευχθεί λόγος εκτέλεσης 1:4, δηλαδή να απαιτείται η εκτέλεση 4 εντολών του PowerPC
για την εκτέλεση µίας εντολής του 80486.
Ο δεύτερος τρόπος εξοµοίωσης ενός υπολογιστή που χρησιµοποιεί τον 80486 µε
έναν Macintosh είναι η κατασκευή µίας πλακέτας επέκτασης του υπολογιστή
Macintosh, η οποία να περιλαµβάνει έναν µικροεπεξεργαστή 80486 και όλα τα απα-
ραίτητα κυκλώµατα για τη λειτουργία του. Με τον τρόπο αυτό, προγράµµατα γραµ-
µένα για τον 80486 µπορούν να εκτελεστούν απευθείας από τον µικροεπεξεργαστή
της πλακέτας και µόνο οι λειτουργίες εισόδου/εξόδου, διαχείριση πληκτρολογίου,
οθόνης, ποντικιού, κτλ. να εκτελούνται από τον επεξεργαστή του Macintosh.
Είναι προφανές ότι και µε τις δύο µεθόδους εξοµοίωσης ο πραγµατικός σκοπός είναι
η εκτέλεση προγραµµάτων του εξοµοιωνόµενου µικροεπεξεργαστή στον υπολογι-
στή που περιέχει την εξοµοίωση.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.1
Ποια από τα παρακάτω συστήµατα είναι συστήµατα προσοµοίωσης και ποια εξο-
µοίωσης;
α) Ένα παιχνίδι ηλεκτρονικού υπολογιστή, στο οποίο οδηγείτε µια Formula 1.
β) Ένα πρόγραµµα για τον IBM συµβατό, το οποίο επιτρέπει να παίζουµε παιχνί-
δια που είναι γραµµένα για Nintento.
γ) Ο έλεγχος πρόσκρουσης (crash test) αυτοκινήτου.
δ) Η τοποθέτηση αεροτοµών (spoiler) σε ένα αυτοκίνητο.
1.2 √ÚÈÛÌfi˜ ÙÔ˘ Û˘ÛÙ‹Ì·ÙÔ˜ Î·È È‰ÈfiÙËÙ˜ Û˘ÛÙËÌ¿ÙˆÓ
Στα προηγούµενα Παραδείγµατα αναφέρθηκε συχνά η έννοια του συστήµατος και
του µοντέλου. Επειδή η προσοµοίωση χρησιµοποιείται για τη µελέτη συστηµάτων
µέσω των µοντέλων τους, είναι απαραίτητο να ορισθεί επακριβώς το σύστηµα και
τα συστατικά του στοιχεία. Είναι επίσης απαραίτητη η εξέταση των ιδιοτήτων των
συστηµάτων, τουλάχιστον αυτών των ιδιοτήτων που αφορούν τη µελέτη τους
(Gordon 1969, McDougal 1975).
Ορισµός 1.3
Σύστηµα είναι ένα σύνολο αλληλεπιδρώντων στοιχείων τα οποία συνεργάζο-
νται µεταξύ τους ή λειτουργούν συλλογικά για την επίτευξη κάποιου σκοπού.
Το σχηµατικό διάγραµµα ενός συστήµατος φαίνεται στο Σχήµα 1.3 και αποτελείται
από ένα µπλοκ µε εισόδους και εξόδους.
1 51 . 2 √ ƒ π ™ ª √ ™ ∆ √ À ™ À ™ ∆ ∏ ª ∞∆ √ ™ ∫ ∞ π π ¢ π √ ∆ ∏ ∆ ∂ ™ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Eίσοδοι ΈξοδοιΣύστηµα
™¯‹Ì· 1.3
Σχηµατικό
διάγραµµα
συστήµατος
Η µελέτη συστηµάτων αφορά τόσο την ανάλυσή τους, όταν πρόκειται για υπάρχο-
ντα συστήµατα όσο και τη σύνθεσή τους όταν πρόκειται για συστήµατα που βρί-
σκονται στο στάδιο της σχεδίασης. Η ανάλυση ορίζεται ως ο καθορισµός της εξό-
δου του συστήµατος όταν δοθεί η είσοδος στο σύστηµα. Η µεθοδολογία αυτή χρη-
σιµοποιείται εποµένως όταν είναι γνωστά τα στοιχεία του συστήµατος και επιδιώ-
κεται να διαπιστωθεί η λειτουργία του και να καθορισθεί η αξιοπιστία του, η ευαι-
σθησία του, κτλ. Η σύνθεση ορίζεται ως ο καθορισµός των στοιχείων του συστή-
µατος όταν δοθούν οι είσοδοι και οι έξοδοι που αντιστοιχούν σ’ αυτές τις εισόδους.
Η µεθοδολογία αυτή χρησιµοποιείται κατά το σχεδιασµό ενός συστήµατος.
Στο Παράδειγµα δίνεται το σχηµατικό διάγραµµα ενός συστήµατος παραγωγικής
µονάδας και επεξηγούνται τα διάφορα χαρακτηριστικά του.
¶·Ú¿‰ÂÈÁÌ· 1.3
Σύστηµα παραγωγικής µονάδας
Μια παραγωγική µονάδα αποτελεί ένα σύστηµα µε πολλές οντότητες. Στο Σχήµα
1.4 εµφανίζονται µόνο ορισµένες από αυτές, καθώς και οι αλληλεπιδράσεις τους.
Με διακεκοµµένη γραµµή ορίζονται τα όρια του συστήµατος. Οι «Παραγγελίες» και
1 6 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
οι «Πρώτες ύλες» αποτελούν τις εισόδους του συστήµατος, ενώ τα «Τελικά προϊό-
ντα» αποτελούν τις εξόδους του συστήµατος.
™¯‹Ì· 1.4
Το σχηµατικό
διάγραµµα
του συστήµατος
του Παραδείγµατος 3
Παραγγελίες Tµήµα ελέγχουrπαραγωγής
Πρώτεςrύλες
Tµήµαrπροµηθειών
Tµήµαrκατασκευής
Tµήµαrσυναρµολόγησης
Tµήµαrαποστολής
Tελικάrπροϊόντα
Τα συστήµατα αποτελούνται από οντότητες, χαρακτηριστικά και δραστηριότητες.
Με τον όρο οντότητα υποδηλώνεται κάθε αντικείµενο του συστήµατος που ενδια-
φέρει το µελετητή. Ανάλογα µε την περίπτωση και τους σκοπούς της µελέτης, ακόµη
και το ίδιο το σύστηµα αποτελεί µία οντότητα.
Οι ιδιότητες των οντοτήτων ονοµάζονται χαρακτηριστικά. Χαρακτηριστικά έχει
και το ίδιο το σύστηµα επειδή και αυτό µπορεί να χαρακτηριστεί οντότητα.
∆ραστηριότητα ονοµάζεται οποιαδήποτε διεργασία προκαλεί αλλαγές στο σύστηµα.
Στο Παράδειγµα δίνονται διάφορα συστήµατα, ορισµένες από τις οντότητες των
συστηµάτων, µερικά χαρακτηριστικά των οντοτήτων και τέλος, δραστηριότητες, που
προκαλούν αλλαγές στο σύστηµα.
Ένα πολύ σηµαντικό δυναµικό στοιχείο που χαρακτηρίζει ένα σύστηµα είναι η κατά-
σταση του συστήµατος, που ορίζεται ως η συνολική περιγραφή των οντοτήτων,
των χαρακτηριστικών τους και των δραστηριοτήτων, σε µια δεδοµένη χρονική στιγ-
µή. Όπως θα γίνει αντιληπτό στις επόµενες παραγράφους, η προσοµοίωση ασχολεί-
ται ακριβώς µε την παρακολούθηση της κατάστασης ενός συστήµατος, όπως αυτή
µεταβάλλεται µε την πάροδο του χρόνου. Η κατάσταση ενός συστήµατος όµως, µπο-
ρεί να µην εξαρτάται µόνον από τις δραστηριότητες που λαµβάνουν χώρα µέσα στο
σύστηµα αλλά και από δραστηριότητες εκτός του συστήµατος. Για το λόγο αυτό ορί-
ζουµε ως περιβάλλον του συστήµατος το σύνολο των µεταβολών που συµβαίνουν
εκτός του συστήµατος. Το µοντέλο, εποµένως, που θα δηµιουργηθεί για το σύστη-
µα είναι ενσωµατωµένο στον περιβάλλοντα χώρο ο οποίος είτε επηρεάζει είτε δεν
επηρεάζει τις λειτουργίες του µοντέλου και κατ’ επέκταση του συστήµατος. Τα όρια
του συστήµατος διαχωρίζουν τις οντότητες, που βρίσκονται µέσα στο σύστηµα από
αυτές που βρίσκονται εκτός του συστήµατος και αποτελούν το περιβάλλον του. Όπως
1 71 . 2 √ ƒ π ™ ª √ ™ ∆ √ À ™ À ™ ∆ ∏ ª ∞∆ √ ™ ∫ ∞ π π ¢ π √ ∆ ∏ ∆ ∂ ™ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Σύστηµα Οντότητες Χαρακτηριστικά ∆ραστηριότητες
Τράπεζα ΠελάτεςΥπόλοιπο
Πίστωση
Κατάθεση
Ανάληψη
Παντοπωλείο Πελάτες Κατάλογος ψώνιων Πληρωµή
∆ίκτυο
υπολογιστώνΠακέτα Μέγεθος Μετάδοση
Βενζινάδικο Αυτοκίνητα Τύπος βενζίνης Πληρωµή
Ανελκυστήρας Επιβάτες Όροφος εισόδου
Όροφος εξόδου
Είσοδος στον
ανελκυστήρα
Αποθήκη ΑνταλλακτικάΚόστος
Είδος
Προµήθεια
Πώληση
Πανεπιστήµιο Φοιτητές Έτος σπουδών
ΒαθµολογίαΕξετάσεις
¶·Ú¿‰ÂÈÁÌ· 1.4
Συστήµατα και χαρακτηριστικά τους
¶›Ó·Î·˜ 1.1
Χαρακτηριστικά διαφόρων συστηµάτων
1 8 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
αναφέραµε πιο πάνω, οι αλλαγές της κατάστασης του συστήµατος προκαλούνται
από δραστηριότητες. Ανάλογα µε το χώρο όπου λαµβάνουν χώρα οι δραστηριότη-
τες, χωρίζονται σε δύο κατηγορίες: ενδογενείς και εξωγενείς.
Ενδογενείς δραστηριότητες είναι αυτές οι οποίες λαµβάνουν χώρα µέσα στο σύστη-
µα ή παράγονται µέσα στο σύστηµα ή είναι αποτέλεσµα εσωτερικών αιτίων. Ανα-
φερόµενοι στο Παράδειγµα 4, παρατηρούµε ότι η «µετάδοση» ενός πακέτου στο
σύστηµα του «δικτύου υπολογιστών» είναι ενδογενής δραστηριότητα, η οποία µετα-
φέρει ένα πακέτο από τον ένα υπολογιστή του συστήµατος σε άλλο.
Εξωγενείς δραστηριότητες είναι αυτές οι οποίες λαµβάνουν χώρα στο περιβάλλον
του συστήµατος αλλά επηρεάζουν το σύστηµα. Αναφερόµενοι στο Παράδειγµα 4,
παρατηρούµε ότι η «προµήθεια» ενός ανταλλακτικού στο σύστηµα της «αποθήκης»
είναι εξωγενής δραστηριότητα, γιατί το ανταλλακτικό προέρχεται από το περιβάλ-
λον του συστήµατος και εισέρχεται σ’ αυτό.
Οι δραστηριότητες χωρίζονται επίσης σε προσδιορισµένες και στοχαστικές, ανάλο-
γα µε τον τρόπο ορισµού των αποτελεσµάτων τους.
Σε µια προσδιορισµένη δραστηριότητα, τα αποτελέσµατα µπορούν να περιγραφούν
πλήρως από τις εισόδους. ∆ηλαδή, για κάθε σύνολο εισόδων, η έξοδος της δραστη-
ριότητας είναι συγκεκριµένη και προσδιορισµένη. Αναφερόµενοι στο Παράδειγµα
4, παρατηρούµε ότι η «µετάδοση» ενός πακέτου στο σύστηµα του «δικτύου υπολο-
γιστών» είναι προσδιορισµένη δραστηριότητα, γιατί η διάρκειά της εξαρτάται απο-
κλειστικά από το µέγεθος του µεταδιδόµενου πακέτου και την ταχύτητα της γραµ-
µής µετάδοσης.
Σε µια στοχαστική δραστηριότητα τα αποτελέσµατα δεν µπορούν να προσδιορι-
σθούν πλήρως από τις εισόδους αλλά µεταβάλλονται τυχαία µέσα σε ένα σύνολο
δυνατών αποτελεσµάτων. Αυτό σηµαίνει ότι για ένα δεδοµένο σύνολο εισόδων υπάρ-
χουν πολλαπλά σύνολα εξόδων και αυτό που θα συµβεί κάθε φορά είναι αποτέλε-
σµα τυχαίων παραγόντων. Οι περισσότερες από τις δραστηριότητες του Παραδείγ-
µατος 4 είναι στοχαστικές δραστηριότητες. Για παράδειγµα, η δραστηριότητα «κατά-
θεση» στο σύστηµα της «τράπεζας» είναι στοχαστική δραστηριότητα, γιατί ο χρό-
νος κατάθεσης εξαρτάται από τυχαίους παράγοντες.
Στο Σχήµα 1.5 φαίνονται διαγραµµατικά οι κατηγορίες των διεργασιών.
Τα συστήµατα χωρίζονται επίσης σε κατηγορίες, ανάλογα µε τις µεταβολές της κατά-
στασής τους ή τη σχέση τους µε το περιβάλλον.
Στα συνεχή συστήµατα οι µεταβολές της κατάστασης είναι κατά κύριο λόγο οµα-
λές. Οι δραστηριότητες δηλαδή, µεταβάλλουν συνεχώς την κατάσταση του συστή-
µατος και όχι µόνον όταν τελειώσουν (Lackner 1962, Pidd 1992). Παράδειγµα τέτοι-
ου συστήµατος είναι ένα αυτοκίνητο.
Στα διακριτά συστήµατα οι µεταβολές είναι κυρίως ασυνεχείς, πράγµα που σηµαί-
νει, ότι η κατάσταση του συστήµατος αλλάζει µόλις τελειώσει µία δραστηριότητα
(Law 1991, Fishman 1973). Παράδειγµα διακριτού συστήµατος είναι µια τράπεζα.
Στην πραγµατικότητα βέβαια, όλα τα συστήµατα είναι συνεχή στη φύση. Κατά τη
µελέτη των συστηµάτων όµως, πολλές φορές έχουν ενδιαφέρον οντότητες και χαρα-
κτηριστικά που εµφανίζουν ασυνεχείς µεταβολές. Στο παράδειγµα της τράπεζας ο χρό-
νος αναµονής ενός πελάτη στην ουρά είναι µια συνεχώς µεταβαλλόµενη ποσότητα, η
οποία όµως ποτέ δεν ενδιαφέρει κατά τη µελέτη του συστήµατος. Ενδιαφέρον παρου-
σιάζει ο συνολικός χρόνος αναµονής ενός πελάτη στην ουρά. Το χαρακτηριστικό αυτό
αποκτά τιµή µόνον όταν ο πελάτης βγει από την ουρά και αρχίσει να εξυπηρετείται.
Εποµένως, η κατάσταση του συστήµατος µεταβάλλεται µόνον σε διακριτές χρονικές
στιγµές, µία από τις οποίες είναι η έναρξη εξυπηρέτησης ενός πελάτη.
Όσον αφορά τη σχέση του συστήµατος µε το περιβάλλον, τα συστήµατα διακρίνο-
νται σε ανοικτά ή κλειστά. Ένα σύστηµα ονοµάζεται ανοικτό αν έχει εξωγενείς δρα-
στηριότητες, ενώ αντίθετα, αν δεν έχει εξωγενείς δραστηριότητες ονοµάζεται κλει-
στό. Ένα ανοικτό σύστηµα αν και έχει εξωγενείς δραστηριότητες υπάρχει περίπτω-
ση να µην αντιδρά στις αλλαγές του περιβάλλοντος. Έτσι, αν ένα σύστηµα αντιδρά
στις αλλαγές του περιβάλλοντος ονοµάζεται προσαρµοζόµενο, ενώ αντίθετα αν δεν
αντιδρά στις αλλαγές του περιβάλλοντος ονοµάζεται µη προσαρµοζόµενο. Στο
Σχήµα 1.6 δίνεται διαγραµµατικά η ταξινόµηση των συστηµάτων.
1 91 . 2 √ ƒ π ™ ª √ ™ ∆ √ À ™ À ™ ∆ ∏ ª ∞∆ √ ™ ∫ ∞ π π ¢ π √ ∆ ∏ ∆ ∂ ™ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
∆ραστηριότητα
Πού εµφανίζεται Πώς εµφανίζεται
Eνδογενής Eξωγενής Προσδιορισµένη Στοχαστική
™¯‹Ì· 1.5
Κατηγορίες
∆ραστηριοτήτων
2 0 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
™¯‹Ì· 1.6
Ταξινόµηση
συστηµάτων
Σύστηµα
Σχέση µε τοr
περιβάλλον
Mεταβολές
Aνοικτό Kλειστό Συνεχές ∆ιακριτό
Προσαρµοζόµενο Mη προσαρµοζόµενο
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.2
Σε ένα κουρείο έρχονται οι πελάτες, κουρεύονται ή ξυρίζονται, και αφού πληρώ-
σουν φεύγουν. Ποια από τις παρακάτω περιγραφές είναι πλησιέστερη προς το
σύστηµα αυτό;
α) Συνεχές, κλειστό, προσδιορισµένο, προσαρµοζόµενο.
β) ∆ιακριτό, στοχαστικό, µη προσαρµοζόµενο, ανοικτό.
γ) Συνεχές, στοχαστικό, προσαρµοζόµενο, κλειστό.
δ) ∆ιακριτό, προσδιορισµένο, µη προσαρµοζόµενο, ανοικτό.
¢Ú·ÛÙËÚÈfiÙËÙ· 1.1
Ένα κοµµωτήριο έχει ως πελάτισσες κυρίες, οι οποίες όταν έρχονται στο κοµµωτή-
ριο ζητούν είτε κούρεµα είτε χτένισµα είτε βαφή µαλλιών, µε πιθανότητες 0.3, 0.5
και 0.2 αντίστοιχα. Οι πελάτισσες που θέλουν κούρεµα ή βαφή µαλλιών ζητούν στη
συνέχεια πάντοτε και χτένισµα. Οι κοµµώτριες είναι ειδικευµένες είτε στο κούρεµα
είτε στο χτένισµα είτε στο βάψιµο των µαλλιών. Μετά το χτένισµα τους, 20% των
πελατισσών ζητούν περιποίηση νυχιών και εποµένως εξυπηρετούνται από τη µανι-
κιουρίστα. Σε όλες τις περιπτώσεις, η πελάτισσα πριν φύγει πληρώνει στο ταµείο.
α) ∆ώστε ένα κατάλογο χαρακτηριστικών του συστήµατος
β) Σχεδιάστε ένα διάγραµµα ροής του συστήµατος, προσδιορίζοντας τις πιθανό-
τητες σε κάθε σηµείο ελέγχου του διαγράµµατος.
γ) Προσδιορίστε τα σηµεία που δηµιουργούνται ουρές στο σύστηµα, δίνοντας τα
ποσοστά του συνολικού αριθµού πελατισσών που περιµένουν σε κάθε ουρά.
1.3 ªÔÓ٤Ϸ Û˘ÛÙËÌ¿ÙˆÓ
Η µελέτη των συστηµάτων είτε µε µαθηµατικές µεθόδους είτε µε προσοµοίωση δεν
γίνεται µε αυτό καθεαυτό το σύστηµα, αλλά µε ένα µοντέλο του συστήµατος. Υπάρ-
χουν πολλοί λόγοι για την κατασκευή ενός µοντέλου:
• ∆ιευκόλυνση στην κατανόηση. Το µοντέλο είναι συχνά πολύ πιο απλό στην κατα-
νόηση από το ίδιο το σύστηµα γιατί κατά την κατασκευή του µοντέλου διατη-
ρούνται µόνο τα χαρακτηριστικά του συστήµατος που ενδιαφέρουν στη συγκε-
κριµένη µελέτη. Με τον τρόπο αυτό ο µελετητής δεν χάνεται στις λεπτοµέρει-
ες του συστήµατος αλλά επικεντρώνει την προσοχή του µόνο στα σηµαντικά
στοιχεία.
• ∆ιευκόλυνση στην επικοινωνία. Με την κατασκευή ενός µοντέλου είναι πολύ πιο
εύκολο να µεταδοθούν οι ιδέες για κάποιο σύστηµα απ’ ότι µε την περιγραφή του
συστήµατος. Για παράδειγµα, ένας αρχιτέκτονας κατασκευάζει µια µακέτα του
κτιρίου που έχει σχεδιάσει και µ' αυτήν δίνει πολύ περισσότερες πληροφορίες στον
πελάτη απ’ ότι µε λεκτική περιγραφή ή αρχιτεκτονικά σχέδια.
• Το µοντέλο αποτελεί εργαλείο πρόβλεψης. Ορισµένα συστήµατα παρουσιάζουν
πολύ αργές µεταβολές της κατάστασής τους µε αποτέλεσµα να είναι αδύνατη η
πρόβλεψη της συµπεριφοράς τους για ένα µακρύ χρονικό διάστηµα. Κατασκευά-
ζοντας ένα µοντέλο του συστήµατος πετυχαίνουµε επιτάχυνση των χρονικών µετα-
βολών, έτσι ώστε να µπορούµε να προβλέψουµε τη µελλοντική συµπεριφορά του
πραγµατικού συστήµατος.
• Αδυναµία πρόσβασης. Μερικές φορές η πρόσβαση στο πραγµατικό σύστηµα είναι
αδύνατη ή επικίνδυνη. Κατασκευάζοντας ένα µοντέλο, είναι δυνατόν να µελετή-
σουµε το σύστηµα χωρίς να κινδυνεύσει ο µελετητής ή το ίδιο το σύστηµα.
• Εκπαίδευση. Με την κατασκευή ενός µοντέλου είναι δυνατόν να εκπαιδευτούν
χειριστές χωρίς τον κίνδυνο καταστροφών από λάθος των εκπαιδευοµένων. Είναι
επίσης δυνατόν να εκπαιδευτούν οι χειριστές ενός συστήµατος, το οποίο δεν έχει
κατασκευασθεί ακόµη.
• Σχεδιασµός. Η κατασκευή ενός µοντέλου συµβάλλει πολύ στο σχεδιασµό ενός
συστήµατος, γιατί επιτρέπει τον εντοπισµό σχεδιαστικών σφαλµάτων και τη διόρ-
θωσή τους πριν το σύστηµα κατασκευασθεί.
• Ανεύρεση εναλλακτικών λύσεων και βελτιστοποίηση. Ο λόγος αυτός για την κατα-
σκευή µοντέλων είναι παρόµοιος µε τον προηγούµενο. Κατά το σχεδιασµό ενός
συστήµατος είναι δυνατόν να κατασκευασθούν πολλά διαφορετικά µοντέλα και
2 11 . 3 ª √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
2 2 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
να επιλεχθεί το κατάλληλο προς υλοποίηση µε βάση κάποια συγκεκριµένα κρι-
τήρια βελτιστοποίησης.
• Βελτίωση της απόδοσης υπάρχοντος συστήµατος. Με την κατασκευή ενός µοντέ-
λου είναι δυνατό να ελεγχθεί η συµπεριφορά του συστήµατος για διάφορες τιµές
των παραµέτρων του. Από τη µελέτη του µοντέλου που έχει κατασκευασθεί δια-
πιστώνεται ο αποδοτικότερος συνδυασµός παραµέτρων και στη συνέχεια οι παρά-
µετροι αυτοί εφαρµόζονται στο πραγµατικό σύστηµα.
Αν και µε τις περιγραφές που δώσαµε µέχρι τώρα είναι πλέον κατανοητή η έννοια
του µοντέλου, είναι απαραίτητο να το ορίσουµε και τυπικά.
Ορισµός 1.4
Μοντέλο είναι µία αναπαράσταση ενός φυσικού συστήµατος ή οργανισµού
ή φυσικού φαινοµένου ή ακόµη και µίας ιδέας. Ως δεύτερος ορισµός: Μοντέ-
λο είναι το σύνολο των πληροφοριών ενός συστήµατος που έχει συγκεντρω-
θεί µε σκοπό τη µελέτη του συστήµατος.
Το µοντέλο ενός συστήµατος θα πρέπει να αντιπροσωπεύει το σύστηµα όσο πιο
πιστά γίνεται, έτσι ώστε τα συµπεράσµατα που θα εξαχθούν από τη µελέτη του
µοντέλου να αντιστοιχούν σε συµπεράσµατα για το σύστηµα.
Σε περίπτωση που το µοντέλο χρησιµοποιείται για την ανάλυση του συστήµατος
υπάρχει αντιστοιχία ανάµεσα στις εισόδους του συστήµατος και στις εισόδους του
µοντέλου. Υπάρχει επίσης αντιστοιχία ανάµεσα στις εσωτερικές δοµές του µοντέ-
λου και του συστήµατος. Η µελέτη κατόπιν συνάγει τις εξόδους του συστήµατος από
τις εξόδους του µοντέλου. Αυτό φαίνεται διαγραµµατικά στο Σχήµα 1.7α.
Σε περίπτωση που το µοντέλο χρησιµοποιείται για τη σύνθεση του συστήµατος υπάρ-
χει αντιστοιχία ανάµεσα στις εισόδους του συστήµατος και στις εισόδους του µοντέ-
λου. Υπάρχει επίσης αντιστοιχία ανάµεσα στις εξόδους του µοντέλου και τις εξό-
δους του συστήµατος. Η µελέτη κατόπιν συνάγει την εσωτερική δοµή του συστή-
µατος, δηλαδή τα συστατικά του στοιχεία από τη δοµή του µοντέλου. Αυτό φαίνε-
ται διαγραµµατικά στο Σχήµα 1.7β.
2 31 . 3 ª √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Aντιστοιχία
Aντιστοιχία
Aντιστοιχία
Aντιστοιχία
Παράµετροι
Παράµετροι Παράµετροι
Παράµετροι
Σύστηµα Mοντέλο
Σύστηµα Mοντέλο
Συµπέρασµα
Συµπέρασµα
΄Eξοδοι ΄Eξοδοι
΄Eξοδοι ΄Eξοδοι
α) Aνάλυση Συστήµατος
Eίσοδοι Eίσοδοι
β) Σύνθεση Συστήµατος
Eίσοδοι Eίσοδοι
™¯‹Ì· 1.7
Αντιστοιχία
µοντέλου–
συστήµατος
Οι παράµετροι καθορίζουν τα χαρακτηριστικά ή τις ιδιότητες του µοντέλου και του
συστήµατος ταυτοχρόνως. Θα πρέπει, εποµένως, να υπάρχει πλήρης αντιστοιχία των
παραµέτρων που είναι απαραίτητες για τη µελέτη του συστήµατος.
¶·Ú¿‰ÂÈÁÌ· 1.5
Μοντελοποίηση συστήµατος συνεργείου αυτοκινήτων.
Σε ένα συνεργείο οι πελάτες έρχονται και παραδίδουν τα αυτοκίνητά τους για επι-
σκευή. Αν δεν υπάρχουν διαθέσιµα ανταλλακτικά ο µηχανικός τα παραγγέλνει και,
αφού τα παραλάβει, τα τοποθετεί στο αυτοκίνητο. Τέλος, ο πελάτης επιστρέφει στο
συνεργείο, πληρώνει και φεύγει µε το αυτοκίνητο.
Τα στοιχεία του µοντέλου για το σύστηµα αυτό δίνονται στον Πίνακα 1.2:
2 4 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
¶›Ó·Î·˜ 1.2
Οντότητες, χαρακτηριστικά και δραστηριότητες του συνεργείου
Οντότητα Χαρακτηριστικό ∆ραστηριότητα
Πελάτης Αριθµός αυτοκινήτουΠροσέλευση, Πληρωµή,
Αποχώρηση
Αυτοκίνητο Αριθµός αυτοκινήτου Ζηµία Τοποθέτηση ανταλλακτικού
Ανταλλακτικό ∆ιαθεσιµότηταΠαραγγελία, Παραλαβή,
Τοποθέτηση
Μηχανικός ∆ιαθεσιµότητα Ειδικότητα Τοποθέτηση ανταλλακτικού
Γίνεται φανερό ότι οι δραστηριότητες δεν σχετίζονται αποκλειστικά µε µια οντότη-
τα, αλλά συνήθως µε περισσότερες από µία. Για παράδειγµα, η δραστηριότητα
«Τοποθέτηση ανταλλακτικού» σχετίζεται µε τρεις οντότητες: το «Αυτοκίνητο» τον
«Μηχανικό» και το «Ανταλλακτικό». Αντίστοιχα, η δραστηριότητα «Προσέλευση»
και «Αποχώρηση» σχετίζονται και µε τον πελάτη και µε το αυτοκίνητό του.
Επιπλέον, µία οντότητα πιθανόν να αντιστοιχεί ή να σχετίζεται άµεσα µε κάποια
άλλη οντότητα, όπως στο παράδειγµα αυτό το «Αυτοκίνητο» µε τον «Πελάτη». Ο
συσχετισµός αυτός γίνεται στο µοντέλο µε την ιδιότητα «Αριθµός αυτοκινήτου» που
είναι κοινή για το αυτοκίνητο και τον πελάτη.
1.3.1 ∆‡ÔÈ ÌÔÓ٤ψÓ
Συστήµατα των οποίων οι δραστηριότητες είναι κυρίως προσδιορισµένες, δηλαδή
µη εξαρτώµενες από τυχαίους παράγοντες, ονοµάζονται προσδιορισµένα συστήµα-
τα. Αντίστοιχα, στοχαστικά ονοµάζονται τα συστήµατα των οποίων οι δραστηριό-
τητες είναι κυρίως στοχαστικές. Με τον ίδιο τρόπο διακρίνονται και τα µοντέλα σε
προσδιορισµένα και στοχαστικά σε αναλογία, όµως, µε τις δραστηριότητες που περι-
λαµβάνουν και όχι µε το σύστηµα το οποίο αντιπροσωπεύουν.
Μπορεί, εποµένως, να υπάρξει οποιοσδήποτε συνδυασµός συστήµατος µοντέλου,
όπως φαίνεται στο Σχήµα 1.8.
1. Προσδιορισµένο µοντέλο για προσδιορισµένο σύστηµα. Παράδειγµα αποτελεί ο
προσδιορισµός της κίνησης των πλανητών µε µαθηµατικές εξισώσεις. Το σύστη-
µα (το πλανητικό σύστηµα) είναι προσδιορισµένο γιατί οι κινήσεις των πλανητών
δεν εξαρτώνται από τυχαίους παράγοντες. Το σύνολο των µαθηµατικών εξισώσε-
ων κίνησης, που αποτελεί το µοντέλο, είναι επίσης προσδιορισµένο γιατί είναι
δυνατό να λυθεί αναλυτικά και να προβλέψει τη συµπεριφορά του συστήµατος.
2. Στοχαστικό µοντέλο για προσδιορισµένο σύστηµα. Παράδειγµα αποτελεί ο υπο-
λογισµός ενός ορισµένου ολοκληρώµατος µε τη µέθοδο Μόντε Κάρλο, που ανα-
πτύσσεται στην ενότητα 5.6 του κεφαλαίου 5. Το ορισµένο ολοκλήρωµα (σύστη-
µα) είναι προσδιορισµένο γιατί έχει συγκεκριµένη τιµή. Η µέθοδος Μόντε Κάρλο
(επίλυση µοντέλου) αποτελεί µια στοχαστική µέθοδο που βασίζεται στην παρα-
γωγή και χρήση τυχαίων αριθµών.
3. Προσδιορισµένο µοντέλο για στοχαστικό σύστηµα. Παράδειγµα αποτελεί η παρα-
γωγή τυχαίων αριθµών µε υπολογιστή. Η µέθοδος αυτή αναλύεται σε βάθος στο
στην ενότητα 5.3 του κεφαλαίου 5. Το σύνολο των τυχαίων αριθµών (σύστηµα)
είναι στοχαστικό εξ ορισµού. Η µέθοδος παραγωγής των αριθµών µε υπολογιστή
(µοντέλο) είναι προσδιορισµένη, βασιζόµενη συνήθως σε µια συγκεκριµένη επα-
ναληπτική διαδικασία.
4. Στοχαστικό µοντέλο για στοχαστικό σύστηµα. Στην περίπτωση κατά την οποία
τόσο το σύστηµα, όσο και το µοντέλο του συστήµατος, είναι στοχαστικά, χρησι-
µοποιείται η προσοµοίωση. Παράδειγµα αποτελεί το σύστηµα του συνεργείου
αυτοκινήτων που είδαµε παραπάνω και η µελέτη του συστήµατος µε την προσο-
µοίωση του µοντέλου του.
Η ταξινόµηση των µοντέλων µπορεί να γίνει µε βάση διάφορα κριτήρια (Tocher
1963, Law 1991). Οι βασικοί τύποι µοντέλων δίνονται στο Σχήµα 1.9.
Το φυσικό µοντέλο, που ονοµάζεται επίσης και παράθυρο εικονικό, είναι µια φυσι-
2 51 . 3 ª √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Σύστηµα Mοντέλο
Προσδιορισµένο Προσδιορισµένο
Στοχαστικό Στοχαστικό
1
2
3
4
™¯‹Ì· 1.8
Συνδυασµοί
συστηµάτων–
µοντέλων
2 6 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
κή αναπαράσταση του αντικειµένου που αντιπροσωπεύει και µοιάζει µε αυτό. Μπο-
ρεί να είναι σε κλίµακα µικρότερη του αντικειµένου, όπως το µοντέλο ενός αερο-
πλάνου, ή µεγαλύτερη του αντικειµένου, όπως το µοντέλο ενός ατόµου. Τα φυσικά
µοντέλα διακρίνονται σε στατικά και δυναµικά. Το ξύλινο µοντέλο ενός αυτοκινή-
του είναι στατικό µοντέλο γιατί απλώς αναπαριστά το σχήµα του πραγµατικού αντι-
κειµένου. Αντίθετα, το µοντέλο ενός αυτοκινήτου σε µικρογραφία, που περιλαµβά-
νει κινητήρα βενζίνης, αναρτήσεις, φρένα, κ.λπ., σε µικρογραφία, είναι ένα δυναµι-
κό µοντέλο γιατί εκτός από την αναπαράσταση του αντικειµένου απεικονίζει και
αντίγραφο της λειτουργίας του αυτοκινήτου.
™¯‹Ì· 1.9
Τύποι µοντέλων
Tύποι µοντέλων
Φυσικό
Mαθηµατικό
Στατικό
Στατικό
∆υναµικό
∆υναµικό
Aριθµητικό AριθµητικόAναλυτικό
Προσοµοίωση
Ο δεύτερος βασικός τύπος µοντέλου είναι το µαθηµατικό µοντέλο. Στην περίπτω-
ση αυτή χρησιµοποιούνται µαθηµατικές έννοιες για να περιγράψουν είτε τις φυσι-
κές ιδιότητες του συστήµατος (σχήµα, µέγεθος, χρώµα, κ.λπ.) είτε τις λειτουργίες
του (κίνηση, αλλαγή σχήµατος, αλλαγές της κατάστασης, κ.λπ.) είτε ακόµη τις σχέ-
σεις ανάµεσα στα στοιχεία του συστήµατος.
Τα µαθηµατικά µοντέλα διακρίνονται επίσης σε στατικά και δυναµικά. Παράδειγ-
µα στατικού µοντέλου αποτελεί η ισορροπία προσφοράς/ζήτησης σε ένα οικονοµι-
κό σύστηµα. Παράδειγµα δυναµικού µοντέλου αποτελούν οι µαθηµατικές εξισώσεις
που περιγράφουν την κίνηση ενός συστήµατος ταλάντωσης µε απόσβεση.
Τέλος, τα µαθηµατικά µοντέλα µπορούν να διακριθούν σε αναλυτικά και αριθµη-
τικά. Στην πρώτη περίπτωση υπάρχει ένα πλήρες σύνολο εξισώσεων που περιγρά-
φει το µοντέλο. Αντίθετα, όταν οι µαθηµατικές εξισώσεις περιγραφής του συστή-
µατος είναι αδύνατο να ευρεθούν ή δεν υπάρχουν, το σύστηµα περιγράφεται από
αριθµητικά δεδοµένα που έχουν συλλεχθεί µε εµπειρικό τρόπο. Το σύνολο των δεδο-
µένων και οι συσχετίσεις τους αποτελούν το αριθµητικό µοντέλο του συστήµατος.
Όπως φαίνεται και στο Σχήµα 1.9, η προσοµοίωση χρησιµοποιείται κυρίως για τη
µελέτη αριθµητικών, δυναµικών, µαθηµατικών µοντέλων.
Τα χαρακτηριστικά που προαναφέρθηκαν καθορίζουν και την πολυπλοκότητα του
µοντέλου (Gordon 1969). Τα απλά µοντέλα περιγράφονται συνήθως από µαθηµατι-
κές εξισώσεις και είναι δυνατόν να επιλυθούν αναλυτικά. Αντίθετα, τα πολύπλοκα
µοντέλα δεν είναι συνήθως δυνατό να περιγραφούν µε µαθηµατικές εξισώσεις και
έτσι µελετώνται µε προσοµοίωση. Στον Πίνακα 1.3 δίνονται σε αντιδιαστολή τα
χαρακτηριστικά των απλών και των πολύπλοκων µοντέλων.
¶›Ó·Î·˜ 1.3
Απλά και πολύπλοκα µοντέλα
2 71 . 3 ª √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Μοντέλα
Απλά Πολύπλοκα
Στατικά ∆υναµικά
Γραµµικά Μη γραµµικά
Προσδιοριστικά Στοχαστικά
Συνεχή ∆ιακριτά
Σταθερής κατάστασης Μεταβατικά
Περιληπτικά Λεπτοµερή
Τα χαρακτηριστικά που δίνονται στον πίνακα αυτό είναι απλώς ενδεικτικά. ∆εν
προσδιορίζουν δηλαδή κατ’ αποκλειστικότητα τα µοντέλα. Για παράδειγµα, ένα
γραµµικό µοντέλο δεν είναι απαραίτητα απλό, όπως και ένα στοχαστικό µοντέλο δεν
είναι απαραίτητα πολύπλοκο. Ο πίνακας αυτός δίνει απλώς τα αναµενόµενα χαρα-
κτηριστικά ενός απλού ή ενός πολύπλοκου µοντέλου. Έτσι, αν ένα µοντέλο είναι
στοχαστικό, µη γραµµικό, διακριτό και δυναµικό, αναµένεται να είναι πολύπλοκο.
Αντιστοίχως, ένα απλό µοντέλο αναµένεται να είναι στις περισσότερες περιπτώσεις
στατικό, αντί δυναµικό, γραµµικό αντί µη γραµµικό, κ.ο.κ.
2 8 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Μια ιδιαίτερη κατηγορία µοντέλων αποτελούν τα µηχανολογικά µοντέλα, τα οποία
χρησιµοποιούνται για την ανάλυση και το σχεδιασµό µηχανολογικών συστηµάτων.
Τα µοντέλα αυτά αποτελούνται από τρεις συγκεκριµένες οµάδες στοιχείων:
1. Παραµέτρους και µεταβλητές. Παράµετροι είναι οι γνωστές οντότητες του συστή-
µατος ή χαρακτηριστικά οντοτήτων µε προκαθορισµένες τιµές. Μεταβλητές είναι
οι άγνωστες οντότητες του συστήµατος ή τα χαρακτηριστικά οντοτήτων µε άγνω-
στες τιµές.
2. Συσχετίσεις και περιοριστικές συνθήκες. Οι συσχετίσεις περιγράφουν τον τρόπο
αλληλεπίδρασης των οντοτήτων ή τις µαθηµατικές σχέσεις που σχετίζουν µία
µεταβλητή ή παράµετρο µε µία άλλη µεταβλητή ή παράµετρο. Οι περιοριστικές
συνθήκες προσδιορίζουν τις µέγιστες ή ελάχιστες τιµές, που µπορούν να λαµβά-
νουν οι άγνωστες µεταβλητές.
3. Κριτήρια. Τα κριτήρια, που εκφράζονται συνήθως µε τη µορφή συνάρτησης απο-
τελούν τους σκοπούς ή στόχους του συστήµατος, καθώς επίσης και τον τρόπο
εκτίµησής του.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.3
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
α) Σύµφωνα µε το διάγραµµα 1.9, η παραγωγή τυχαίων αριθµών µε ηλεκτρονικό
υπολογιστή είναι ένα …………………, …………………, ………………… µοντέλο.
β) Ο αριθµός των ταµείων σε µια τράπεζα είναι ………………… του συστήµατος.
γ) Κατά την ανάλυση ενός συστήµατος µε µοντελοποίηση, εξάγεται συµπέρασµα
για ………………… του συστήµατος από ………………… του µοντέλου.
δ) Όταν ένα µοντέλο δεν µπορεί να παρασταθεί µε αναλυτικές εξισώσεις είναι υπο-
χρεωτικά …………………
1.4 ¢ËÌÈÔ˘ÚÁ›· ÌÔÓÙ¤ÏˆÓ ÚÔÛÔÌÔ›ˆÛ˘
Η δηµιουργία µοντέλων για προσοµοίωση είναι µια πειραµατική µεθοδολογία, η
οποία έχει ως σκοπούς:
α. τη µελέτη της συµπεριφοράς ενός συστήµατος,
β τον έλεγχο υποθέσεων ή θεωριών για την παρατηρούµενη συµπεριφορά ενός
συστήµατος, και
γ. την πρόβλεψη ή εκτίµηση της µελλοντικής συµπεριφοράς ενός συστήµατος.
Η προσοµοίωση, εποµένως, δεν αποτελεί παρά ένα πειραµατισµό µε το µοντέλο, ο
οποίος αντικαθιστά τον πειραµατισµό µε το σύστηµα. Η προσοµοίωση µέσω των πει-
ραµάτων εξυπηρετεί συγκεκριµένους σκοπούς σηµαντικότεροι από τους οποίους είναι:
2 91 . 4 ¢ ∏ ª π √ À ƒ ° π ∞ ª √ ¡ ∆ ∂ § ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
¢Ú·ÛÙËÚÈfiÙËÙ· 1.2
Οι επιβάτες έρχονται στη στάση του λεωφορείου για να ανεβούν στο λεωφορείο.
Περιµένουν στην ουρά για το λεωφορείο εκτός αν το µήκος της ουράς έχει ένα
συγκεκριµένο µήκος. Όταν φθάνει το λεωφορείο οι επιβάτες που περιµένουν ανε-
βαίνουν σ’ αυτό. Ο χρόνος ανόδου κάθε επιβάτη δεν είναι σταθερός.
• Σχολιάστε το είδος του µοντέλου που θα ήταν το πιο κατάλληλο για την περί-
πτωση αυτή, δικαιολογώντας τις απαντήσεις σας.
• ∆ώστε τη λίστα χαρακτηριστικών: γεγονότα, οντότητες και δραστηριότητες του
µοντέλου.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.4
Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Αριθµητικά δεδοµένα δεν µπορούν να συλλεχθούν από
αναλυτικές εξισώσεις
β) Ένα µαθηµατικό µοντέλο είναι υποχρεωτικά στατικό
γ) Η εξίσωση που περιγράφει την πτώση ενός σώµατος
λόγω βαρύτητας είναι γραµµική
δ) Κατά τη σύνθεση ενός συστήµατος εξάγεται
συµπέρασµα για τη δοµή του µοντέλου
3 0 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
• Εκτίµηση. Γίνεται προσπάθεια να προσδιορισθεί πόσο καλό είναι το προτεινό-
µενο σύστηµα, δηλαδή, πόσο καλά ανταποκρίνεται στη σχεδίασή του, όταν κρι-
θεί µε βάση συγκεκριµένα και προκαθορισµένα κριτήρια.
• Σύγκριση. Συγκρίνονται διαφορετικές σχεδιάσεις του προτεινοµένου συστήµα-
τος ως προς την επίτευξη συγκεκριµένης λειτουργίας. Μπορούν επίσης να συγκρι-
θούν µεταξύ τους διαφορετικές προτεινόµενες λειτουργίες του συστήµατος.
• Πρόβλεψη. Γίνεται µια εκτίµηση της απόδοσης του συστήµατος κάτω από τις
προβλεπόµενες συνθήκες λειτουργίας.
• Ανάλυση Ευαισθησίας. Συστήµατα τα οποία εξαρτώνται από πολλούς παράγο-
ντες ή συνθήκες δεν αντιδρούν µε την ίδια ευαισθησία σε µεταβολές αυτών των
παραγόντων ή συνθηκών. Καθορίζονται έτσι οι παράγοντες που επηρεάζουν
περισσότερο τη λειτουργία του συστήµατος.
• Βελτιστοποίηση. Καθορίζονται οι συνδυασµοί των παραµέτρων που οδηγούν
στην καλύτερη δυνατή απόκριση του συστήµατος.
• Λειτουργικές σχέσεις. Προσδιορίζονται οι λειτουργικές σχέσεις ανάµεσα στους
σηµαντικότερους παράγοντες ή συνθήκες που επηρεάζουν τη λειτουργία του
συστήµατος.
1.4.1 ªÔÓ٤Ϸ ÚÔÛÔÌÔ›ˆÛ˘
Σύµφωνα µε την ταξινόµηση του Σχήµατος 1.9 τα µοντέλα προσοµοίωσης είναι
κυρίως αριθµητικά δυναµικά µαθηµατικά µοντέλα. Αυτό όµως που κυρίως χαρα-
κτηρίζει τα µοντέλα προσοµοίωσης είναι το γεγονός ότι τα µοντέλα αυτά δεν λύνο-
νται, αλλά εκτελούνται, συνήθως σε ηλεκτρονικό υπολογιστή.
Όλα τα µοντέλα προσοµοίωσης είναι περιγραφικά µοντέλα, µε την έννοια ότι
χρησιµοποιούνται αλγόριθµοι, υπολογιστικές µέθοδοι και διεργασίες για να περι-
γράψουν τη λειτουργία του συστήµατος. Σχεδόν όλα τα µοντέλα προσοµοίωσης απο-
τελούνται από κάποιο συνδυασµό των παρακάτω στοιχείων:
• Συστατικά
• Μεταβλητές
• Παραµέτρους
• Λειτουργικές σχέσεις
• Περιορισµούς
• Συναρτήσεις κριτηρίων
Κάθε µοντέλο προσοµοίωσης έχει τη µορφή µιας ερώτησης αν…– τότε… ∆ηλαδή,
αν δοθεί µια συγκεκριµένη είσοδος µε την ευρεία έννοια, που περιλαµβάνει και οποι-
αδήποτε στρατηγική, τότε η έξοδος µπορεί να καθορισθεί από το µοντέλο. Προκύ-
πτει, λοιπόν, το συµπέρασµα ότι η προσοµοίωση δεν είναι κάποια θεωρία, αλλά µια
απλή µεθοδολογία επίλυσης προβληµάτων από τις πολλές που υπάρχουν.
1.4.2 ∫·Ù·Û΢‹ ÌÔÓÙ¤ÏˆÓ ÚÔÛÔÌÔ›ˆÛ˘
Η κατασκευή µοντέλων προσοµοίωσης είναι µια δύσκολη τεχνική γιατί πρέπει να
εξισορροπήσει αντικρουόµενους παράγοντες. Αφενός το µοντέλο θα πρέπει να είναι
αρκετά απλό, έτσι ώστε να µπορεί να κατασκευασθεί και να µελετηθεί, αφετέρου θα
πρέπει να είναι αρκετά πολύπλοκο, έτσι ώστε να αντιπροσωπεύει όσο πιο πιστά γίνε-
ται το σύστηµα που πρόκειται να µελετηθεί.
Η ισορροπία αυτή µπορεί να επιτευχθεί µε προσεκτική ανάλυση του µοντέλου. Αν
το µοντέλο που έχει κατασκευασθεί είναι απλό και κατανοητό, τότε µπορεί να
εµπλουτισθεί. Αντίθετα, αν το µοντέλο είναι πολύπλοκο και δυσνόητο, µπορεί να
απλοποιηθεί. Σε κάθε περίπτωση χρησιµοποιούνται οι εξής πέντε κανόνες εµπλου-
τισµού ή απλοποίησης του µοντέλου:
• Αν το µοντέλο είναι απλό, ορισµένες σταθερές µετατρέπονται σε µεταβλητές ώστε
να γίνει πολύπλοκο. Αντίθετα αν το µοντέλο είναι πολύπλοκο, ορισµένες µετα-
βλητές µετατρέπονται σε σταθερές.
• Η εξάλειψη ή συνένωση µεταβλητών απλοποιεί το µοντέλο, ενώ αντίθετα η προ-
σθήκη µεταβλητών το εµπλουτίζει.
• Επειδή τα γραµµικά µοντέλα είναι γενικώς απλούστερα των µη γραµµικών, η
παραδοχή γραµµικότητος του συστήµατος απλοποιεί το µοντέλο, ενώ αντίθετα η
παραδοχή µη γραµµικότητος το εµπλουτίζει.
• Η προσθήκη ισχυρότερων υποθέσεων και περιορισµών απλοποιεί το µοντέλο.
• Τέλος, ο περιορισµός των ορίων του συστήµατος οδηγεί σε απλούστερο µοντέλο,
ενώ η επέκτασή τους οδηγεί σε πιο πολύπλοκο µοντέλο.
1.4.3 ∫ÚÈÙ‹ÚÈ· ηÏÔ‡ ÌÔÓÙ¤ÏÔ˘
Ένα καλό µοντέλο όχι µόνο αντιπροσωπεύει πιστότερα το σύστηµα από ένα κακό,
αλλά βοηθά περισσότερο τόσο στην κατανόηση των λειτουργιών του συστήµατος,
όσο και στην ανάλυση των αποτελεσµάτων της προσοµοίωσης. Υπάρχουν διάφορα
3 11 . 4 ¢ ∏ ª π √ À ƒ ° π ∞ ª √ ¡ ∆ ∂ § ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
3 2 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
κριτήρια που επιτρέπουν την αναγνώριση ενός καλού µοντέλου και τα οποία βοη-
θούν στην κατασκευή του:
• Γενικώς, τα καλά µοντέλα είναι εύκολα στην κατανόηση από τον χρήστη και προ-
σανατολίζονται προς τους συγκεκριµένους σκοπούς ή στόχους που έχουν τεθεί.
Επιπλέον, είναι ισχυρά µε την έννοια ότι δεν δίνουν περίεργες και δυσνόητες απα-
ντήσεις.
• Οι χρήστες ελέγχουν και µεταβάλλουν ευκολότερα ένα καλό µοντέλο παρά ένα
κακό. Είναι δηλαδή πολύ πιο εύκολο για τους χρήστες να επικοινωνήσουν µε ένα
καλό µοντέλο. Η προσαρµοστικότητα του µοντέλου είναι εποµένως ένα σηµα-
ντικό στοιχείο ποιότητας του µοντέλου. Για τα καλά µοντέλα υπάρχουν εύκολες
και ακριβείς διαδικασίες τροποποίησης ή ενηµέρωσής τους.
• Τέλος, χαρακτηριστικό των καλών µοντέλων είναι η δυνατότητα εξέλιξής τους.
Ξεκινούν δηλαδή από µια απλή µορφή και εξελίσσονται σε µια πιο πολύπλοκη,
ανάλογα µε τη λεπτοµέρεια που θέλει να µελετήσει ο χρήστης.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.5
Αναφέρετε τρεις από τους λόγους για τους οποίους κατασκευάζονται µοντέλα προ-
σοµοίωσης.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.6
Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Η παραδοχή γραµµικότητας του συστήµατος
απλοποιεί το µοντέλο
β) Τα µοντέλα προσοµοίωσης είναι περιγραφικά µοντέλα
γ) Ένα καλό µοντέλο δεν µπορεί να τροποποιηθεί
δ) Η προσοµοίωση γίνεται πάντα µε ηλεκτρονικό
υπολογιστή
1.5 º¿ÛÂȘ Ù˘ ÚÔÛÔÌÔ›ˆÛ˘
Η διαδικασία της προσοµοίωσης αποτελείται από τρεις διακριτές φάσεις:
α) την κατασκευή του µοντέλου προσοµοίωσης,
β) την εκτέλεση ή τρέξιµο του µοντέλου και
γ) την ανάλυση των αποτελεσµάτων της προσοµοίωσης.
Η κατασκευή του µοντέλου αποτελεί ίσως το πιο σηµαντικό βήµα για την προσο-
µοίωση του συστήµατος, επειδή η ποιότητα και αξιοπιστία του καθορίζουν και την
αξιοπιστία της προσοµοίωσης. Στα επόµενα κεφάλαια δίνεται αναλυτικά η µεθοδο-
λογία ανάπτυξης µοντέλων για συνεχή και διακριτά συστήµατα. Τα µοντέλα συνε-
χών συστηµάτων λύνονται συνήθως µε αναλυτικές µεθόδους, ενώ για τα διακριτά
συστήµατα χρησιµοποιείται συνήθως η προσοµοίωση. Στο κεφάλαιο αυτό δίνονται
µόνο οι µηχανισµοί αντιµετώπισης της δυναµικότητας των µοντέλων. Αναπτύσσο-
νται, δηλαδή, οι µεθοδολογίες ελέγχου του χρόνου καθώς το µοντέλο εξελίσσεται
κατά τη διάρκεια της προσοµοίωσης. Θα πρέπει να σηµειώσουµε ότι ο χρόνος που
χρησιµοποιείται κατά την προσοµοίωση αποτελεί µοντελοποίηση του χρόνου του
συστήµατος. Εποµένως, ο προσοµοιούµενος χρόνος δεν έχει καµία σχέση µε τον
πραγµατικό χρόνο που παρέρχεται όταν εκτελείται η προσοµοίωση.
3 31 . 5 º ∞ ™ ∂ π ™ ∆ ∏ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
¢Ú·ÛÙËÚÈfiÙËÙ· 1.3
Αυτοκίνητα έρχονται σε βενζινάδικο για βενζίνη, αλλαγή λαδιών και πλύσιµο. Το
βενζινάδικο διαθέτει δύο τύπους βενζίνης, super και αµόλυβδη. Οι αφίξεις των
αυτοκινήτων γίνονται κατά µέσο όρο κάθε 5 λεπτά. Το 75% των αυτοκινήτων εφο-
διάζονται µε αµόλυβδη βενζίνη και το υπόλοιπο 25% µε super. Αφού γεµίσουν µε
βενζίνη, 30% των αυτοκινήτων αλλάζουν τα λάδια τους, 25% των αυτοκινήτων
πλένονται ενώ το υπόλοιπο 45% απλώς φεύγει. Κανένα αυτοκίνητο δε χρειάζεται
και αλλαγή λαδιών και πλύσιµο. Μέσοι χρόνοι: βενζίνης, 5 λεπτά πλυσίµατος 10
λεπτά, αλλαγής λαδιών 15 λεπτά
α) Σχολιάστε το είδος του µοντέλου που θα ήταν το πιο κατάλληλο για την περί-
πτωση αυτή, δικαιολογώντας τις απαντήσεις σας.
β) ∆ώστε τη λίστα χαρακτηριστικών (γεγονότα, οντότητες και δραστηριότητες)
του µοντέλου.
γ) Εξηγείστε ποιες από τις δραστηριότητες είναι στοχαστικές και γιατί.
3 4 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
1.5.1 ªË¯·ÓÈÛÌÔ› ÂϤÁ¯Ô˘ ÙÔ˘ ¯ÚfiÓÔ˘
Η προσοµοίωση αποτελεί ένα µοντέλο του συστήµατος στο οποίο µελετώνται οι χρο-
νικές µεταβολές της κατάστασης του συστήµατος. Θά πρέπει λοιπόν, κατά την προ-
σοµοίωση, να χρησιµοποιήσουµε κάποιο µηχανισµό, ο οποίος θα καταγράφει την
πάροδο του χρόνου και θα ελέγχει αυτές τις µεταβολές (Nance 1981).
Οι µηχανισµοί χρόνου βασίζονται στα γεγονότα που συµβαίνουν κατά την προσο-
µοίωση.
Ορισµός 1.5
Γεγονός είναι µια αλλαγή της κατάστασης του συστήµατος η οποία λαµβάνει
χώρα σε κάποια συγκεκριµένη χρονική στιγµή.
Το τµήµα της προσοµοίωσης που ασχολείται µε την παρέλευση του χρόνου ονοµά-
ζεται Μηχανισµός Ροής Χρόνου ΜΡΧ. Το τµήµα αυτό αφενός αυξάνει τον προσο-
µοιούµενο χρόνο και αφετέρου προσφέρει τον απαιτούµενο συγχρονισµό ανάµεσα
στα υπόλοιπα τµήµατα της προσοµοίωσης, καθώς εµφανίζονται τα διάφορα γεγο-
νότα. Υπάρχουν δύο βασικοί ΜΡΧ:
• Μηχανισµός Επόµενου Γεγονότος. Με τον µηχανισµό αυτό καθορίζεται η χρονι-
κή στιγµή κατά την οποία θα συµβεί το επόµενο γεγονός και το ρολόι της προ-
σοµοίωσης προχωρά σ’ αυτή τη χρονική στιγµή προσπερνώντας όλο τον ενδιά-
µεσο χρόνο, κατά τον οποίο δεν συµβαίνει τίποτα. Η εφαρµογή της µεθόδου αυτής
περιλαµβάνει την ύπαρξη ενός καταλόγου ή λίστας γεγονότων, όπου καταγρά-
φονται τα γεγονότα που πρόκειται να συµβούν στο µέλλον.
• Μηχανισµός Σταθερού Χρονικού ∆ιαστήµατος. Σύµφωνα µε το µηχανισµό αυτό ο
χρόνος, δηλαδή το ρολόι της προσοµοίωσης αυξάνει κατά ένα µικρό και σταθερό
χρονικό διάστηµα. Όλα τα γεγονότα που εµφανίζονται τη συγκεκριµένη χρονική
στιγµή, καθώς και όσα συνέβησαν κατά το διάστηµα που µεσολάβησε από την
προηγούµενη χρονική στιγµή µέχρι αυτή, θεωρούνται ότι συµβαίνουν κατά τη
συγκεκριµένη χρονική στιγµή.
Το γενικό διάγραµµα του ΜΡΧ δίνεται στο Σχήµα 1.10. Ο µηχανισµός ροής χρόνου
του επόµενου γεγονότος χρησιµοποιείται κυρίως σε διακριτά συστήµατα, ενώ ο
µηχανισµός του σταθερού διαστήµατος χρησιµοποιείται για την προσοµοίωση συνε-
χών συστηµάτων.
Για την καλύτερη µελέτη και σύγκριση των δύο µηχανισµών χρόνου, εξετάζεται το
παράδειγµα ενός απλού συστήµατος ουράς. Στο σύστηµα αυτό υπάρχει ένας εξυπη-
ρετητής, για την εξυπηρέτηση των πελατών, και η ουρά σχηµατίζεται µπροστά από
αυτόν. Οι πελάτες φθάνουν στο σύστηµα και περιµένουν στην ουρά µέχρι να εξυ-
πηρετηθούν. Μόλις τελειώσει η εξυπηρέτηση ενός πελάτη αυτός φεύγει από το
σύστηµα και αρχίζει η εξυπηρέτηση του επόµενου πελάτη που περιµένει στην ουρά.
Το διάγραµµα του µοντέλου δίνεται στο Σχήµα 1.11.
3 51 . 5 º ∞ ™ ∂ π ™ ∆ ∏ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
NAI
NAI
OXI
OXI Aνάλυσηr
Aποτελεσµάτων;Tέλος
Tερµατισµόςr
προσοµοίωσης;
Άλλο γεγονόςr
στον ίδιο χρόνο;
Eκτέλεση Γεγονότος
Eπιλογή Eπόµενουr
Γεγονότος (MPX)
Kαθορισµόςr
Aρχικώνr
Συνθηκών
Aρχή
™¯‹Ì· 1.10
∆ιάγραµµα ροής
της προσοµοίωσης
™¯‹Ì· 1.11
∆ιάγραµµα απλής
ουράς
Άφιξη Oυρά Eξυπηρετητής Aναχώρηση
Η κατανοµή του χρόνου που µεσολαβεί ανάµεσα σε δύο αφίξεις καθώς και του χρό-
νου εξυπηρέτησης θεωρούνται γνωστές. Επίσης, η πειθαρχία της ουράς είναι πρώ-
3 6 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
τος αφικνούµενος πρώτος εξυπηρετούµενος, δηλαδή, ο πελάτης που βρίσκεται πρώ-
τος στην ουρά είναι αυτός που θα εξυπηρετηθεί πρώτος. Τέλος, θεωρείται ότι η ουρά
µπορεί να έχει άπειρο µήκος.
Οι συµβολισµοί που χρησιµοποιούνται στα διαγράµµατα που ακολουθούν είναι οι
εξής:
T: Χρόνος
Ai: Χρόνος άφιξης του πελάτη i
Di : Χρόνος τέλους εξυπηρέτησης του πελάτη
Έστω, ότι οι αρχικές τιµές των χρόνων άφιξης και αναχώρησης των πελατών, οι
οποίες υπολογίζονται κατά την αρχικοποίηση της προσοµοίωσης, είναι αυτές που
δίνονται στον Πίνακα 1.4
¶›Ó·Î·˜ 1.4
Αρχικές τιµές χρόνων
I A(I) D(I)
1 0
2 6
3 15
4 33
. . .
. . .
Έστω, επίσης ότι οι χρόνοι εξυπηρέτησης είναι
ST = 9, 14, 11, ….
Σύµφωνα µε το µηχανισµό επόµενου γεγονότος, το ρολόι της προσοµοίωσης (T) στα-
µατά µόνον στις χρονικές στιγµές κατά τις οποίες συµβαίνουν γεγονότα. Εποµένως
στην περίπτωση αυτή, το ρολόι θα σταµατήσει µόνον στις χρονικές στιγµές αφίξεων
πελατών στο σύστηµα και στις χρονικές στιγµές αναχωρήσεων πελατών από το σύστη-
µα. Αυτό το βλέπουµε στο χρονικό διάγραµµα του Σχήµατος 1.12. Τα βέλη πάνω από
τον άξονα του χρόνου υποδηλώνουν τις χρονικές στιγµές αφίξεων και αναχωρήσεων,
ενώ τα βέλη κάτω από τον άξονα υποδηλώνουν τις χρονικές στάσεις του ρολογιού.
Στην περίπτωση του µηχανισµού ροής χρόνου σταθερού διαστήµατος, το ρολόι της
προσοµοίωσης αυξάνει κάθε φορά κατά το δεδοµένο χρονικό διάστηµα Το διάστη-
µα αυτό θα πρέπει να είναι αρκετά µικρό, έτσι ώστε να ελαχιστοποιείται η πιθανό-
τητα να συµβούν δύο ανεξάρτητα γεγονότα κατά τη διάρκεια του διαστήµατος αυτού.
∆ιαφορετικά, δεν θα προσοµοιωθεί σωστά η αλληλουχία δύο ή περισσότερων γεγο-
νότων που συµβαίνουν στο χρονικό αυτό διάστηµα, επειδή δεν θα είναι γνωστό ποιο
συνέβη πρώτο και ποιο δεύτερο. Αν για την προσοµοίωση υποθέσουµε ότι οι χρό-
νοι λαµβάνουν µόνο ακέραιες τιµές, τότε το διάστηµα µπορεί να τεθεί ίσο µε µία
χρονική µονάδα. Έτσι, διατηρείται η σωστή αλληλουχία των γεγονότων, επειδή δύο
γεγονότα θα συµβούν είτε ταυτόχρονα είτε σε διαφορετικά χρονικά διαστήµατα.
Στο Σχήµα 1.13 φαίνεται το χρονικό διάγραµµα της προσοµοίωσης υποθέτοντας ότι οι
χρόνοι άφιξης και αναχώρησης είναι οι ίδιοι όπως και στο προηγούµενο παράδειγµα.
3 71 . 5 º ∞ ™ ∂ π ™ ∆ ∏ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
A1
D1D2 D3
A2A4A3
0 6 9 15 20 26 33 T
™¯‹Ì· 1.12
Χρονοδιάγραµµα
µηχανισµού επό-
µενου γεγονότος
A1 A2A3
A4
D1 D2D3
T0 6 9 15 20 26 33
™¯‹Ì· 1.13
Χρονοδιάγραµµα
µηχανισµού
σταθερού
διαστήµατος
Με το ΜΡΧ του σταθερού διαστήµατος, το ρολόι της προσοµοίωσης σταµατά σε
όλες τις χρονικές στιγµές που καθορίζονται από το µέγεθος του σταθερού διαστή-
µατος, ανεξάρτητα από το αν συµβαίνει κάποιο γεγονός ή όχι.
Το βασικό µειονέκτηµα του µηχανισµού σταθερού διαστήµατος σε σχέση µε το
µηχανισµό επόµενου γεγονότος είναι η άσκοπη αύξηση του ρολογιού προσοµοίω-
σης κατά το σταθερό χρονικό διάστηµα και ο συνεχής έλεγχος για να διαπιστωθεί
αν κάποιο γεγονός έχει συµβεί. Αντίθετα, ο µηχανισµός επόµενου γεγονότος µειο-
νεκτεί έναντι του µηχανισµού σταθερού διαστήµατος γιατί περιλαµβάνει πιο πολύ-
πλοκο µηχανισµό προγραµµατισµού των εποµένων γεγονότων.
3 8 K E º A § A I O 1 : ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ∫ ∞ π M √ ¡ ∆ ∂ § ∞ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
™‡ÓÔ„Ë
Στο κεφάλαιο αυτό παρουσιάσθηκαν οι εισαγωγικές έννοιες της µοντελοποίησης
συστηµάτων και της προσοµοίωσης αυτών των µοντέλων. Στην πρώτη ενότητα γίνε-
ται µια σαφής διαφοροποίηση ανάµεσα στην προσοµοίωση και την εξοµοίωση, έννοι-
ες που συχνά συγχέονται, ακόµα και στη βιβλιογραφία. Στην ενότητα 1.2 εξετάζονται
τα συστήµατα και τα χαρακτηριστικά τους, και δίνονται διάφορες ταξινοµήσεις των
συστηµάτων ανάλογα µε τη φύση τους. Στην ενότητα 1.3 ορίζονται τα µοντέλα συστη-
µάτων και οι σχέσεις ανάµεσα στο κάθε σύστηµα και το µοντέλο του. Όπως και µε
τα συστήµατα, έτσι και τα µοντέλα ταξινοµούνται µε διάφορους τρόπους, ανάλογα µε
τα χαρακτηριστικά τους. Γιατί όµως χρησιµοποιούµε µοντέλα συστηµάτων; Απάντη-
ση στο ερώτηµα αυτό δίνει η ενότητα 1.4, στην οποία παρουσιάζονται επίσης οι τεχνι-
κές κατασκευής µοντέλων. Επειδή είναι δυνατόν για το ίδιο σύστηµα να κατασκευα-
σθούν διάφορα µοντέλα, η επιλογή του πλέον κατάλληλου µοντέλου για τη µελέτη του
συστήµατος είναι πολύ κρίσιµη, ιδίως όταν το µοντέλο αυτό πρόκειται να προσοµοι-
ωθεί. Για τον λόγο αυτό, στην ενότητα αυτή εξετάζονται τόσο τα κριτήρια αξιολόγη-
σης των µοντέλων, όσο και η απλοποίησή τους. Όταν ένα µοντέλο πρόκειται να προ-
σοµοιωθεί, ακολουθούνται ορισµένα βήµατα, τα οποία εξετάζονται στην ενότητα 1.5.
Τέλος, στην ενότητα αυτή αναπτύσσονται και οι µηχανισµοί ροής του χρόνου της προ-
σοµοίωσης, η σωστή ακολουθία του οποίου είναι πολύ σηµαντική κατά τη µελέτη
συστηµάτων µεταβαλλόµενων µε την πάροδο του χρόνου.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 1.7
Κατασκευάζοντας ένα προσοµοιωτή πτήσεως (όπως το γνωστό παιχνίδι flight
simulator), ποιο µηχανισµό ροής χρόνου θα χρησιµοποιούσατε;
Α) Μηχανισµό επόµενου γεγονότος, ή
Β) Μηχανισµό σταθερού διαστήµατος
¢Ú·ÛÙËÚÈfiÙËÙ· 1.4
Τα λογιστικά φύλλα, όπως το Lotus 123, είναι πολύ διαδεδοµένα σε ηλεκτρονικούς
υπολογιστές. Περιγράψτε, µε ένα παράδειγµα, το είδος της προσοµοίωσης που µπο-
ρεί να αναπτύξει ο χρήστης µε ένα τέτοιο πρόγραµµα λογιστικών φύλλων.
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. G. Gordon, System Simulation, Prentice–Hall Englewood Cliffs, NJ, 1969.
2. G.S. Fishman, Concepts and Methods for Discrete Event Digital Simulation,
Wiley, New York, 1973.
3. M.R. Lackner, «Toward a general Simulation Capability,» Proceedings of the
SJCC, San Francisco CA, 1–3, 1962, σελ. 1–14.
4. A.M. Law, W.D. Kelton, Simulation Modeling and Analysis, 2nd ed.,
McGraw–Hill, New–York, 1991.
5. M.H. McDougall, «System Level Simulation,» in M. Breuer ed., Digital System
Design Automation, vol. 2, Computer Science Press, 1975.
6. R.E. Nance, «The Time and State Relationships in Simulation Modeling»
Communications of the ACM, 1981, Vol. 24, No 4, σελ. 173–179.
7. M. Pidd, Computer Simulation in Management Science, 3 , Wiley, 1992.
8. K.D. Tocher, The Art of Simulation, English Universities Press, London, 1963.
3 9µ π µ § π √ ° ƒ∞ º π ∫ ∂ ™ ∞ ¡ ∞ º √ ƒ ∂ ™
MÔÓÙÂÏÔÔ›ËÛË ™˘Ó¯ÒÓ ™˘ÛÙËÌ¿ÙˆÓ
™ÎÔfi˜
Στο κεφάλαιο αυτό παρουσιάζονται οι µέθοδοι µοντελοποίησης συνεχών συστηµά-
των, η οποία επιτυγχάνεται µε τον καθορισµό και επίλυση των εξισώσεων που διέ-
πουν το σύστηµα. Στόχος του κεφαλαίου είναι να εξηγήσει τον τρόπο µελέτης ενός
συστήµατος µέσω της ανάλυσης των παραµέτρων του µοντέλου.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού θα είστε σε θέση να:
• προσδιορίσετε τις εξισώσεις που περιγράφουν ένα φυσικό σύστηµα, εφόσον φυσι-
κά γνωρίζετε τους νόµους που το διέπουν
• δηµιουργήσετε γραφικές παραστάσεις της συµπεριφοράς ενός µοντέλου
• αναλύσετε ένα σύστηµα, µέσω του µοντέλου του, µεταβάλλοντας τις παραµέτρους
του συστήµατος
• εντοπίσετε τα σηµεία ισορροπίας ενός συστήµατος
• διακρίνετε τους τρεις τρόπους συµπεριφοράς ενός συστήµατος σε σχέση µε την
κατάσταση ισορροπίας το
ŒÓÓÔȘ ÎÏÂȉȿ
2∫ ∂ º ∞ § ∞ π √
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Η λήψη αποφάσεων κατά τη λειτουργία πολύπλοκων οργανισµών βασίζεται συχνά
στη µοντελοποίηση και προσοµοίωση των συστηµάτων που αφορούν τους οργανι-
σµούς. Κατά τις πρόσφατες δεκαετίες, µε την αύξηση της πολυπλοκότητας και εύρους
δραστηριοτήτων των οργανισµών, αναπτύχθηκαν ειδικά συστήµατα, που βοηθούν
• εξισώσεις περιγραφής συστηµάτων
• διαφορικές εξισώσεις
• µεταβολή κατάστασης συστήµατος
• αριθµητική ανάλυση
• µικροοικονοµικά µοντέλα
• µοντέλα φυσικών συστηµάτων
• καταστάσεις ισορροπίας
• διαγράµµατα ιστού
• γραφικές παραστάσεις
• ευαισθησία συστήµατος
4 2 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
στη λήψη αποφάσεων, και για το λόγο αυτό, ονοµάζονται Συστήµατα Λήψης Απο-
φάσεων. Τα περισσότερα από τα συστήµατα αυτά βοηθούν τον ερευνητή να δηµι-
ουργήσει ένα µοντέλο του συστήµατος και να «παίξει» µε το µοντέλο αυτό µεταβάλ-
λοντας τις παραµέτρους του. Προσπαθούν, εποµένως, να απαντήσουν στην ερώτηση
«αν … – τότε …», που παρουσιάσθηκε στο κεφάλαιο 1 ως ένας από τους βασικούς
λόγους κατασκευής µοντέλων και προσοµοίωσής τους.
Επειδή οι λήψεις αποφάσεων αυτής της µορφής αφορούν κυρίως οικονοµικά µοντέ-
λα, στην ενότητα 2.2 παρουσιάζεται αναλυτικά ένα Παράδειγµα κατασκευής και µελέ-
της µοντέλου ενός µεσο–οικονοµικού συστήµατος, αφού δοθεί πρώτα στην ενότητα
2.1 µια σύντοµη εισαγωγή στην κατασκευή µαθηµατικών µοντέλων. Τα µοντέλα αυτά,
αν και δεν θεωρούνται συνεχή σύµφωνα µε τον ορισµό που δόθηκε στο κεφάλαιο 1,
παρουσιάζονται στο κεφάλαιο αυτό γιατί µπορούν να περιγραφούν από αναλυτικές
εξισώσεις.
Αντίστοιχα µε τα οικονοµικά µοντέλα, πολλά φυσικά συστήµατα αναλύονται µε την
κατασκευή και µελέτη ενός µαθηµατικού µοντέλου. Στην περίπτωση αυτή, τα µοντέ-
λα παρουσιάζουν συνεχή µεταβολή στο χρόνο, και µελέτη τους έχει ως σκοπό είτε τον
προσδιορισµό επιθυµητών παραµέτρων του συστήµατος, είτε τον προσδιορισµό της
ευαισθησίας του συστήµατος σε µεταβολές των παραµέτρων του. Στην ενότητα 2.3,
παρουσιάζεται αναλυτικά η µελέτη της ευαισθησίας ενός φυσικού συστήµατος µε τη
γραφική επίλυση των εξισώσεων που το περιγράφουν.
Για τη µελέτη του κεφαλαίου αυτού δεν απαιτούνται ιδιαίτερες γνώσεις από τον ανα-
γνώστη εκτός από τις βασικές φυσικές και µαθηµατικές έννοιες, τις οποίες ο ανα-
γνώστης µπορεί να αναζητήσει στα βιβλία του Λυκείου. Επειδή όµως παρουσιάζο-
νται διαφορικές εξισώσεις και η αριθµητική τους επίλυση, ο αναγνώστης που θέλει
να εµβαθύνει στο θέµα µπορεί να ανατρέξει στα βιβλία των [Stephenson 1990] και
[Φλυτζάνης 1982]
2.1 ∞Ó·Ï˘ÙÈο ªÔÓ٤Ϸ
Τα αναλυτικά µοντέλα, που ονοµάζονται πολλές φορές και µαθηµατικά µοντέλα,
είναι αυτά στα οποία αριθµοί και µεταβλητές αναπαριστούν τα στοιχεία µιας διερ-
γασίας ή ενός συστήµατος. Από τον ορισµό αυτό µπορούµε να συµπεράνουµε ότι
και κάθε εξίσωση που χρησιµοποιούµε, είναι στην πραγµατικότητα ένα αναλυτικό
µοντέλο. Ας εξετάσουµε τον καθορισµό των εξισώσεων, δηλαδή τη µοντελοποίηση
ενός συστήµατος, µε ένα Παράδειγµα.
¶·Ú¿‰ÂÈÁÌ· 2.1
Η εταιρεία επεξεργαστών MICROCHIP INC. σχεδιάζει µια νέα γραµµή παραγωγής
µικροεπεξεργαστών. Το κόστος παραγωγής καθορίζεται από την εξίσωση:
όπου:
ΙC είναι το αρχικό κόστος της επένδυσης.
P είναι ο αριθµός των επεξεργαστών (τεµάχια) που πρόκειται να κατασκευα-
σθούν
UC είναι το κόστος παραγωγής ανά τεµάχιο, και
PC είναι το συνολικό κόστος παραγωγής για τα P τεµάχια.
Η εξίσωση αυτή µας δίνει το συνολικό κόστος της παραγωγής, το οποίο περιλαµ-
βάνει το κόστος της επένδυσης και το κόστος κατασκευής κάθε µικροεπεξεργαστή.
Με παρόµοιο τρόπο ορίζουµε τη συνολική απόδοση ως:
όπου:
UP είναι η τιµή πώλησης κάθε µικροεπεξεργαστή
P είναι ο αριθµός των επεξεργαστών που θα πωληθούν, και
TR είναι τα συνολικά έσοδα, δηλαδή η απόδοση της επένδυσης.
Παρατηρούµε ότι ο αριθµός των µικροεπεξεργαστών που θα παραχθούν είναι ο ίδιος
µε τον αριθµό των µικροεπεξεργαστών που θα πωληθούν. Το γεγονός αυτό βασίζε-
ται στη υπόθεση ότι πωλούνται όλοι οι µικροεπεξεργαστές που παράγονται.
Το µοντέλο, λοιπόν, του συστήµατος µας αποτελείται από δύο εξισώσεις. Γνωρίζο-
ντας τις τιµές των διαφόρων µεταβλητών, µπορούµε να υπολογίσουµε τόσο το συνο-
TR P UP= ¥
PC IC P UC= + ¥
4 32 . 1 ∞ ¡ ∞ § À ∆ π ∫ ∞ ª √ ¡ ∆ ∂ § ∞
4 4 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
λικό κόστος παραγωγής, όσο και την απόδοση της επένδυσης. Μία όµως από τις
µεταβλητές, και συγκεκριµένα ο αριθµός των µικροεπεξεργαστών που θα πωληθούν,
δεν είναι δυνατόν να υπολογισθεί µε ακρίβεια. Αν θεωρήσουµε τη µεταβλητή αυτή
ως ανεξάρτητη µεταβλητή, είναι δυνατό να συνδυάσουµε τις δύο εξισώσεις για να
απαντήσουµε σε κάποιο ερώτηµα ή, κατ’ επέκταση, για να πάρουµε κάποια απόφα-
ση. Για παράδειγµα, πόσοι µικροεπεξεργαστές πρέπει να πωληθούν για να αρχίσει
η εταιρεία να κερδίζει από αυτή την επένδυση; Στην περίπτωση αυτή θα πρέπει η
απόδοση της επένδυσης να είναι τουλάχιστον ίση µε το συνολικό κόστος παραγω-
γής. Η ανισότητα αυτή γράφεται: ή
Από την ανισότητα αυτή µπορούµε να υπολογίσουµε τον αριθµό των µικροεπεξερ-
γαστών που πρέπει να πωληθούν, έτσι ώστε η εταιρεία να αρχίσει να έχει κέρδη από
την επένδυση.
Η µοντελοποίηση αυτού του συστήµατος µε ένα µαθηµατικό µοντέλο, έχει απλοποιή-
σει κατά πολύ τη διαδικασία εκτίµησης µιας επένδυσης. Σκεφθείτε τη διαφορά αυτής
της προσέγγισης από το να κάνει η εταιρεία την επένδυση, και να περιµένει µετά να
καθορίσει την τιµή πώλησης των µικροεπεξεργαστών ανάλογα µε τα τεµάχια που
πωλούνται. Αν παρατηρηθεί ότι η επένδυση δεν αποδίδει, η εταιρεία θα πρέπει να
αυξήσει την τιµή πώλησης για να καλύψει την επένδυση πιο γρήγορα, µε την αυξη-
µένη τιµή οι πωλήσεις θα πέσουν (νόµος της προσφοράς και ζήτησης), και τελικά η
επένδυση θα αποτύχει.
Εκτός από τη βοήθεια που προσφέρει το µοντέλο στην εκτίµηση ενός συστήµατος,
έχει επιπλέον το πλεονέκτηµα να µας δίνει µια λεπτοµερή εικόνα της δοµής του
συστήµατος που µελετάµε. Στο συγκεκριµένο Παράδειγµα, έχουµε τη δυνατότητα
να εξετάσουµε διάφορες τιµές για το κόστος παραγωγής (αρχικό ή ανά τεµάχιο),
καθώς και για την τιµή πώλησης των µικροεπεξεργαστών, και να προσδιορίσουµε
σε κάθε περίπτωση το σηµείο από το οποίο θα αρχίσει να αποδίδει η επένδυση. Γίνε-
ται κατανοητό, ότι µε προσεκτική ανάλυση, είναι δυνατό να καθορισθεί η τιµή πώλη-
σης ενός προϊόντος πριν ακόµη γίνει η επένδυση κατασκευής του!
2.1.1 ∫·Ù·Û΢‹ ∞Ó·Ï˘ÙÈÎÒÓ ÌÔÓ٤ψÓ
Η κατασκευή αναλυτικών µοντέλων έχει ως σκοπό τη λήψη µιας καλής ή αν είναι
δυνατόν, της βέλτιστης απόδοσης Για να επιτευχθεί αυτό, θα πρέπει το µοντέλο να
περιλαµβάνει όλες τις παραµέτρους που σχετίζονται µε τον αντικειµενικό του σκοπό.
Γενικά, η κατασκευή ενός µοντέλου περιλαµβάνει [Gordon 1990]:
P UP IC P UC¥ ≥ + ¥
TR PC≥
• Προσδιορισµό των µεταβλητών, οι οποίες διακρίνονται σε:
α) Ελεγχόµενες µεταβλητές
β) Μη ελεγχόµενες µεταβλητές, και
γ) Τον σκοπό, που ονοµάζεται µέτρο απόδοσης
• Καθορισµό των σχέσεων ανάµεσα στις µεταβλητές του προβλήµατος
• Καθορισµό εξισώσεων περιορισµών, στους οποίους υπόκεινται οι µεταβλητές του
προβλήµατος
2.1.2 ¶ÚÔÛ‰ÈÔÚÈÛÌfi˜ ÙˆÓ ÌÂÙ·‚ÏËÙÒÓ
Ο προσδιορισµός των µεταβλητών ενός µοντέλου είναι η πιο σηµαντική διαδικασία,
επειδή θα καθορίσει πόσο αντικειµενική είναι στη συνέχεια η εκτίµηση του µοντέ-
λου και, κατ’ επέκταση, του συστήµατος. Μια από τις µεταβλητές επιλέγεται να είναι
το µέτρο εκτίµησης ή απόδοσης και είναι αυτή την οποία προσπαθούµε να υπολο-
γίσουµε για τη λήψη µιας συγκεκριµένης απόφασης. Ελεγχόµενες µεταβλητές είναι
αυτές των οποίων την τιµή µπορούµε να καθορίσουµε ή να προσδιορίσουµε εµείς οι
ίδιοι. Μη ελεγχόµενες µεταβλητές είναι αυτές που εξαρτώνται είτε από αστάθµητους
παράγοντες, είτε από εξωγενείς δραστηριότητες του συστήµατος (βλ. ενότητα 1.3).
Στο προηγούµενο παράδειγµα (Παράδειγµα 1 του κεφαλαίου 2), το µέτρο απόδοσης
µπορεί να είναι η τιµή πώλησης των επεξεργαστών, έτσι ώστε να αποδώσει η επέν-
δυση µετά την πώληση x τεµαχίων. Μη ελεγχόµενη µεταβλητή είναι αυτός ακριβώς
ο αριθµός των τεµαχίων που θα πωληθούν. Τέλος, ελεγχόµενες µεταβλητές είναι
τόσο το αρχικό κόστος της επένδυσης, όσο και το κόστος παραγωγής κάθε µικροε-
πεξεργαστή.
Γενικά, κατά την κατασκευή ενός αναλυτικού µοντέλου, θα πρέπει να καταβάλλε-
ται προσπάθεια να εξαλειφθούν οι µη ελεγχόµενες µεταβλητές, ή έστω να παραµεί-
νουν µη ελεγχόµενες µεταβλητές, οι τιµές των οποίων να ανήκουν, µε µεγάλη πιθα-
νότητα, σε ένα µικρό διάστηµα διακύµανσης.
2.1.3 ∫·ıÔÚÈÛÌfi˜ ÙˆÓ Û¯¤ÛÂˆÓ ·Ó¿ÌÂÛ· ÛÙȘ ÌÂÙ·‚ÏËÙ¤˜
Ο καθορισµός των εξισώσεων, που συνδέουν τις µεταβλητές του µοντέλου, θα πρέ-
πει να γίνει µε τέτοιο τρόπο ώστε να εξασφαλισθεί η πλήρης αντιστοιχία µε το πραγ-
µατικό σύστηµα. Αυτό σηµαίνει, ότι για τις ίδιες εισόδους (βλ. ενότητα 1.3) η έξο-
δος του µοντέλου θα πρέπει να είναι ακριβώς ίδια µε την έξοδο του πραγµατικού
συστήµατος ή διεργασίας. Η σηµαντικότερη από τις εξισώσεις αυτές ονοµάζεται
4 52 . 1 ∞ ¡ ∞ § À ∆ π ∫ ∞ ª √ ¡ ∆ ∂ § ∞
4 6 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
αντικειµενική συνάρτηση, και είναι αυτή που περιλαµβάνει το µέτρο απόδοσης.
Στο προηγούµενο Παράδειγµα, αντικειµενική συνάρτηση είναι η ανισότητα στην
οποία καταλήξαµε.
2.1.4 ¶ÂÚÈÔÚÈÛÌÔ›
Οι περιορισµοί του µοντέλου αφορούν τις τιµές των µεταβλητών που επιτρέπονται.
Αν δηλαδή δεν έχουν νόηµα όλες οι τιµές των µεταβλητών, θα πρέπει να περιλη-
φθούν στο µοντέλο εξισώσεις, οι οποίες να προσδιορίζουν τις επιτρεπόµενες τιµές
των µεταβλητών. Οι εξισώσεις αυτές έχουν συνήθως τη µορφή ανισοτήτων. Στο
Παράδειγµα που µελετάµε δεν υπάρχουν συγκεκριµένοι περιορισµοί εκτός από τον
περιορισµό όλες οι µεταβλητές να έχουν θετικές τιµές. Μπορούµε εποµένως να καθο-
ρίσουµε τους περιορισµούς:
IC>0, UC>0, UP>0, και P>0.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.1
Μια τράπεζα πρόκειται να ανοίξει υποκαταστήµατα σε µια πόλη και θέλει να προ-
βλέψει τον αριθµό των υπαλλήλων που θα χρειασθεί συνολικά. Προσπαθώντας να
καταλήξει στην αντικειµενική εξίσωση προσδιορισµού των υπαλλήλων, ο γενικός
διευθυντής έχει να επιλέξει ανάµεσα σε τρεις προτάσεις:
α) Ο αριθµός των υπαλλήλων πρέπει να είναι ανάλογος των υποκαταστηµάτων
που θα ανοίξουν, επειδή χρειάζεται συγκεκριµένος αριθµός υπαλλήλων για να
λειτουργήσει ένα υποκατάστηµα.
β) Ο αριθµός των υπαλλήλων πρέπει να είναι ανάλογος των πελατών που προ-
βλέπεται να έχει η τράπεζα στην πόλη αυτή, επειδή η εξυπηρέτηση των πελα-
τών απαιτεί συγκεκριµένο αριθµό υπαλλήλων ανεξάρτητα από πόσα υποκατα-
στήµατα έχει η τράπεζα.
γ) Ο αριθµός των υπαλλήλων πρέπει να είναι ανάλογος και των υποκαταστηµάτων
που θα ανοίξουν και των πελατών που προβλέπεται να έχει η τράπεζα στην πόλη.
Ποια από τις προτάσεις είναι πιο σωστή για το µοντέλο της τράπεζας;
2.2 ªÔÓ٤Ϸ ÈÛÙÔ‡
Τα µοντέλα ιστού είναι µια κατηγορία µοντέλων που βρίσκει εφαρµογή σε αναδρο-
µικές εξισώσεις. Στα αναλυτικά αυτά µοντέλα, η τιµή µιας µεταβλητής σε µια δεδο-
µένη χρονική στιγµή εξαρτάται από την τιµή της ίδιας ή µιας άλλης µεταβλητής κατά
την προηγούµενη χρονική στιγµή. Θα εξετάσουµε εδώ ένα µοντέλο
προσφοράς–ζήτησης, το οποίο µπορεί να µελετηθεί µε διάγραµµα ιστού. Η ονοµα-
σία του διαγράµµατος αυτού θα γίνει κατανοητή από το σχήµα που δηµιουργείται
κατά τη γραφική παράσταση του µοντέλου [Kleijnen 1992].
Έστω ότι η εξίσωση που δίνει την ζήτηση ενός προϊόντος Di σε σχέση µε την τρέ-
χουσα τιµή Pi είναι:
, όπου k1, k2 ≥ 0 (2.1)
Σε κάθε χρονικό διάστηµα i, η προσφορά εξαρτάται από την τιµή του προϊόντος κατά
το προηγούµενο χρονικό διάστηµα i–1. Εποµένως, η προσφορά Si δίνεται ως συνάρ-
τηση της τιµής Pi–1:
, όπου l1, l2 ≥ 0 (2.2)
Τέλος, σε κατάσταση ισορροπίας, η προσφορά είναι ίση µε τη ζήτηση, δηλαδή:
Di = Sι (2.3)
Θα πρέπει να σηµειώσουµε εδώ ότι οι παράµετροι k1, k2, l1, και l2 δεν είναι απολύ-
τως σταθερές, αλλά περιλαµβάνουν και όρους τυχαίας ανωµαλίας οι οποίοι ακο-
λουθούν κάποια κατανοµή. ∆ηλαδή, στη γενική περίπτωση:
k1=k11+k12
όπου η παράµετρος k11 είναι σταθερά και η παράµετρος k12 ακολουθεί κάποια τυχαία
κατανοµή. Χάριν απλότητας όµως, και χωρίς παραβίαση της γενικότητας, θεωρού-
µε εδώ ότι όλοι οι παράµετροι τυχαίας ανωµαλίας είναι ίσοι µε το 0.
Το συγκεκριµένο µαθηµατικό µοντέλο, στο οποίο καταλήξαµε, είναι πολύ απλό και µπο-
ρεί να λυθεί αναλυτικά. Αντικαθιστώντας από τις (2.1) και (2.2) στην (2.3) παίρνουµε:
Λαµβάνοντας υπ’ όψιν ότι στην κατάσταση ισορροπίας η τιµή του προϊόντος δεν
αλλάζει, και εποµένως, Pi=Pi–1, καταλήγουµε στην τελική εξίσωση που δίνει την τιµή
του προϊόντος:
(2.4)
Στο Παράδειγµα αυτό, υπήρχε η δυνατότητα επίλυσης του µαθηµατικού µοντέλου.
Σε πολλές περιπτώσεις όµως, οι µαθηµατικές εξισώσεις που αποτελούν το µοντέλο
δεν έχουν επιδέχονται αναλυτική επίλυση. Στις περιπτώσεις αυτές χρησιµοποιείται
Pk l
k lf = -+
1 1
2 2
l l P k k Pi i1 2 1 1 2+ = --
S l l Pi i= + -1 2 1
D k k Pi i= -1 2
4 72 . 2 ª √ ¡ ∆ ∂ § ∞ π ™ ∆ √ À
4 8 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
προσοµοίωση. Το µαθηµατικό µοντέλο προσφοράς–ζήτησης περιλαµβάνει µια ανα-
δροµική εξίσωση (2.2), η οποία, µέσω και της (2.3) που τη συνδέει µε την (2.1), µας
δίνει την τελική τιµή Pf.
Ας υποθέσουµε ότι κάποιοι εξωγενείς παράγοντες καθορίζουν την αρχική τιµή πώλη-
σης P0 υψηλότερα από την τιµή ισορροπίας Pf. Η ζήτηση τότε, πέφτει στην τιµή Q0.
Η προσφορά όµως, ανταποκρινόµενη στην υψηλότερη τιµή πώλησης, ανεβαίνει στο
Q1. Με τόση µεγάλη προσφορά, η αγορά είναι διατεθειµένη να πληρώσει µόνο τιµή
P1. Όταν προφέρεται αυτή η τιµή, η προσφορά πέφτει στο Q1, κατά την επόµενη
περίοδο. Οι εναλλαγές αυτές συνεχίζονται µέχρις ότου η προσφορά να γίνει ίση µε
τη ζήτηση, και η τιµή να σταθεροποιηθεί στην Pf. Η διαδικασία αυτή φαίνεται στο
Σχήµα 2.1α. Γίνεται εµφανές από το σχήµα αυτό, γιατί το µοντέλο ονοµάζεται µοντέ-
λο ιστού. Στο Σχήµα 2.1β φαίνεται η διακύµανση της τιµής σε κάθε περίοδο.
Οι τιµές των παραµέτρων προσφοράς και ζήτησης καθορίζουν και τη συµπεριφορά
του συστήµατος. Ανάλογα µε τις παραµέτρους αυτές, το σύστηµα µπορεί να µην
καταλήξει σε µια σταθερή κατάσταση, αλλά η τιµή πώλησης να εναλλάσσεται ανά-
µεσα σε δύο τιµές. Το ίδιο συµβαίνει και µε την προσφορά και ζήτηση, οπότε το
σύστηµα «ταλαντώνεται». Η περίπτωση αυτή φαίνεται στο Σχήµα 2.2. Είναι επίσης
δυνατόν, το σύστηµα να αποκλίνει από την αρχική τιµή, αποµακρυνόµενο συνέχεια
από αυτή. Το σύστηµα τότε «εκρήγνυται», όπως φαίνεται στο Σχήµα 2.3.
P P
(α) (β)
P0
Q0 Q2 Q4 Qf Q3 Q1
P2
P4
PfP
f
P3
P1
0 1 2 3 4 5Q t
D S
™¯‹Ì· 2.1
Σταθερή κατάστα-
ση προσφοράς
ζήτησης,
(α) διάγραµµα
ιστού,
(β) γραφική
παράσταση τιµής
4 92 . 2 ª √ ¡ ∆ ∂ § ∞ π ™ ∆ √ À
P
Q2 Q1
P2
P1
P
P2
P1
0 1 2 3 4 5Q t
D S
(α) (β)
™¯‹Ì· 2.2
Ταλάντωση προ-
σφοράς ζήτησης,
(α) διάγραµµα
ιστού,
(β) γραφική
παράσταση τιµής
P P
P0
Q0Q2Q4 Q3Q1
P2
P3
P1
0 1 2 3 4 5Q t
D S
™¯‹Ì· 2.3
«Εκρηγνυόµενη»
κατάσταση προ-
σφοράς ζήτησης,
(α) διάγραµµα
ιστού,
(β) γραφική
παράσταση τιµής
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.2
Με βάση τα διαγράµµατα 2.1–2.3 ή τις εξισώσεις (2.1) και (2.2), αντιστοιχίστε τη
σχέση των παραµέτρων k2 και l2, µε τις τρεις πιθανές καταστάσεις του συστήµατος:
Σχέση παραµέτρων Καταστάσεις συστήµατος
(α) k2=l2 (1) Σταθερή ισορροπία
(β) k2>l2 (2) Ταλάντωση
(γ) k2<l2 (3) «Έκρηξη»
5 0 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
2.3 ∞Ó¿Ï˘ÛË Â˘·ÈÛıËÛ›·˜ Û˘ÛÙËÌ¿ÙˆÓ
Στο προηγούµενο Παράδειγµα είδαµε τη χρήση µαθηµατικών µοντέλων για τον
προσδιορισµό µιας τιµής που µας ενδιέφερε. Στην ενότητα αυτή εξετάζουµε ένα
Παράδειγµα χρήσης µαθηµατικού µοντέλου για την ανάλυση της ευαισθησίας ενός
συστήµατος. Το Παράδειγµα αυτό βασίζεται σε διαφορικές εξισώσεις, οι οποίες δεν
χρησιµοποιούνται µόνο για την ανάλυση ευαισθησίας, αλλά και για τον υπολογισµό
των βασικών εξισώσεων που περιγράφουν ένα σύστηµα [Pritsker 1995].
Ας θεωρήσουµε ένα σύστηµα που αποτελείται από ένα σώµα που αιωρείται από ένα
ελατήριο. Το σώµα είναι συνδεδεµένο µε µία ράβδο εµποτισµένη σε υγρό, έτσι ώστε
η κίνηση του σώµατος να αποσβένεται. Το σύστηµα αυτό αντιστοιχεί στην ανάρτη-
ση ενός αυτοκινήτου αλλά και σε άλλα φυσικά συστήµατα. Το ελατήριο υπάρχει
αυτούσιο στο αυτοκίνητο, ενώ η διάταξη απόσβεσης δεν είναι τίποτε άλλο από το
αµορτισέρ. Το µοντέλο του συστήµατος φαίνεται στο Σχήµα 2.4.
Έστω ότι το σώµα έχει µετατοπισθεί από την κατάσταση ισορροπίας του κατά ένα
διάστηµα x. Στο σώµα τότε επενεργούν διάφορες δυνάµεις:
Eλατήριοr
(σταθερά k1)Aπόστασηr
µετακίνησης x
Bάρος F
Mάζα m
Aπόσβεσηr
(σταθερά k1)™¯‹Ì· 2.4
Σύστηµα
ανάρτησης ελατη-
ρίου–απόσβεσης
α) Η δύναµη του ελατηρίου που είναι ανάλογη της µετατόπισης x:
όπου k1 είναι η σταθερά του ελατηρίου.
β) Η αντίσταση της απόσβεσης, που είναι ανάλογη της ταχύτητας του σώµατος.
Λαµβάνοντας υπόψη ότι η ταχύτητα είναι η πρώτη παράγωγος της µετατόπισης
ως προς το χρόνο, η δύναµη αυτή είναι ίση µε:
όπου k2 είναι η σταθερά απόσβεσης.
γ) Η δύναµη που προκαλεί την επιτάχυνση του σώµατος. Λαµβάνοντας υπόψιν ότι
η επιτάχυνση είναι η δεύτερη παράγωγος της µετατόπισης ως προς το χρόνο, η
δύναµη αυτή είναι ίση µε:
όπου m είναι η µάζα του σώµατος.
Όλες αυτές οι δυνάµεις εξισορροπούν το βάρος του σώµατος F. Το µαθηµατικό λοι-
πόν µοντέλο που περιγράφει το σύστηµα είναι:
(2.5)
Η εξίσωση αυτή είναι µια διαφορική εξίσωση δευτέρας τάξεως, και µπορεί να επι-
λυθεί είτε µε τη µέθοδο του Euler είτε µε τη µέθοδο Runge–Kutta [Johnson 1982].
Οι βασικές γραµµές κώδικα που επιλύουν την εξίσωση µε τη µέθοδο Runge–Kutta
δίνονται στο Σχήµα 2.5 σε γλώσσα PASCAL.
mx k x k x F˙ ˙+ + =2 1
f mx3 = ˙
f k x2 2= ˙
f k x1 1=
5 12 . 3 ∞ ¡ ∞ § À ™ ∏ ∂ À∞ π ™ £ ∏ ™ π ∞ ™ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
TYPE
array_type=array[1..2] of real;
VAR
uprim, uold, t1, t2, utemp: array_type;
h, k1, k2, f, m: real;
end;
main
.
.
.
5 2 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Τα αποτελέσµατα που δίνει το πρόγραµµα αυτό φαίνονται στα Σχήµατα 2.6 και 2.7.
Στα Σχήµατα αυτά, το σηµείο ισορροπίας του σώµατος (όταν δηλαδή είναι ακίνητο),
βρίσκεται σε µια µετατόπιση x=100. Οι τιµές των παραµέτρων είναι m=1 και F=1.
Για να εξετάσουµε την ευαισθησία του συστήµατος στις τιµές των σταθερών k1 και
k2, το πρόγραµµα του Σχήµατος 2.5 έτρεξε για διάφορες τιµές των σταθερών αυτών.
Το διάγραµµα του Σχήµατος 2.6 περιλαµβάνει πέντε διαφορετικές εκτελέσεις του
προγράµµατος. Σε όλες τις περιπτώσεις, η σταθερά k1 είχε την ίδια τιµή, ίση µε 1,
ενώ οι τιµές της σταθεράς k2 ήταν διαδοχικά 0.1, 0.2, 0.3, 0.4 και 0.5. Παρατηρού-
µε ότι όσο αυξάνει η τιµή της σταθεράς απόσβεσης, το πλάτος των ταλαντώσεων
του σώµατος µειώνεται πιο γρήγορα.
Το διάγραµµα του Σχήµατος 2.7 αντιστοιχεί σε διαδοχικές εκτελέσεις του προγράµ-
µατος, κρατώντας σταθερό το k2 στην τιµή 0.3 και δίνοντας στο k1 τις τιµές 1, 2 και
3. Παρατηρούµε ότι όσο αυξάνει η σταθερά του ελατηρίου, τόσο µειώνεται η περίο-
δος των ταλαντώσεων (ο χρόνος ανάµεσα σε δύο διαδοχικά µέγιστα).
uprime(x, uold, t1);
x:= x + h;
utemp[1]:= uold[1] + h * t1[1];
utemp[2]:= uold[2] + h * t1[2];
uprime(x, utemp, t2);
unew[1] = uold[1] + h * (t1[1] + t2[1]) / 2.0;
unew[2] = uold[2] + h * (t1[2] + t2[2]) / 2.0;
uold[1] = unew[1]; uold[2] = unew[2];
writeln [unew[1]:10.4];
.
.
.
end;
Procedure uprime (x:real, u:array_type, VAR
a:arraytype)
a[1] = u[2]
a[2] = (f - k2 * u[2] - k1 * u[1]) / m
end;
™¯‹Ì· 2.5
Πρόγραµµα
επίλυσης
της εξίσωσης
(2.5)
5 3X X X
200
150
100
50
0
k2 = 0,1
k2 = 0,2k2 = 0,3
k2 = 0,4
k2 = 0,5
Mετ
ατό
πισ
η x
0 40 80 120 160 200 240 280 320 360 400 440 480
Xρόνος t
™¯‹Ì· 2.6
∆ιάγραµµα µετα-
τόπισης για k1=1
™¯‹Ì· 2.7
∆ιάγραµµα
µετατόπισης για
k2 =0.3
Με βάση τα διαγράµµατα αυτά, ο σχεδιαστής του αυτοκινήτου µπορεί να επιλέξει
τις τιµές των k1 και k2 που αντιστοιχούν στην επιθυµητή συµπεριφορά της ανάρτη-
σης ενός αυτοκινήτου.
200
150
100
50
0
k1 = 1
k1 = 2
k1 = 3
Mετ
ατό
πισ
η x
0 40 80 120 160 200 240
Xρόνος t
5 4 K E º A § A I O 2 : M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ™ À ¡ ∂ Ã ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
™‡ÓÔ„Ë
Τα µαθηµατικά µοντέλα, τα οποία αντιστοιχούν συνήθως σε συνεχή συστήµατα, λύνο-
νται είτε µε αναλυτικό τρόπο, είτε µε τεχνικές της αριθµητικής ανάλυσης. Στο κεφά-
λαιο αυτό παρουσιάσθηκαν οι τρόποι δηµιουργίας τέτοιων µοντέλων και επίλυσής
τους µε γραφικές µεθόδους, οι οποίες ουσιαστικά αντιστοιχούν σε προσοµοίωση της
λειτουργίας του µοντέλου. Στην ενότητα 2.1 είδαµε τη µεθοδολογία ανάπτυξης συνε-
χών µοντέλων καθώς και τα χαρακτηριστικά των µοντέλων αυτών. Στη συνέχεια,
παρουσιάσθηκαν δύο µέθοδοι επίλυσης, µε τη µορφή Παραδειγµάτων. Το Παράδειγ-
µα της ενότητας 2.2 αφορούσε ένα µοντέλο αναδροµικών σχέσεων του οποίου η επί-
λυση έγινε µε ένα διάγραµµα ιστού. Στην ενότητα 2.3 το µοντέλο περιγραφόταν µε
µια διαφορική εξίσωση δευτέρας τάξεως, η επίλυση της οποίας έγινε µε µεθόδους της
αριθµητικής ανάλυσης. Και στις δύο περιπτώσεις, η αναλυτική επίλυση των εξισώ-
σεων περιγραφής του µοντέλου ήταν εφικτή. Είδαµε, όµως, ότι η γραφική επίλυση
βοηθά καλύτερα στην κατανόηση της λειτουργίας του µοντέλου, και κατ’ επέκταση
του συστήµατος, προσφέροντας επιπλέον πληροφορίες για την ευαισθησία του συστή-
µατος σε αλλαγές των παραµέτρων του.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 2.3
Στο σύστηµα ελατηρίου–απόσβεσης εξετάσθηκε η επίδραση των σταθερών k1 και
k2 στη συµπεριφορά του συστήµατος. Ποια είναι η επίδραση της µάζας m; ∆ηλα-
δή, αν αυξηθεί η µάζα µε όλες τις άλλες παραµέτρους σταθερές, ποια από τις παρα-
κάτω προτάσεις είναι η σωστή;
α) Θα µειωθεί η περίοδος ταλαντώσεων και ο ρυθµός απόσβεσης
β) Θα αυξηθεί η περίοδος ταλαντώσεων και ο ρυθµός απόσβεσης
γ) Θα αυξηθεί η περίοδος ταλαντώσεων και θα µειωθεί ο ρυθµός απόσβεσης
δ) Θα µειωθεί η περίοδος ταλαντώσεων και θα αυξηθεί ο ρυθµός απόσβεσης
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. Φλυτζάνης Ηλίας, ∆ιαφορικές Εξισώσεις µε Εφαρµογές, University Studio
Press, Θεσσαλονίκη, 1982.
2. G. Gordon, System Simulation, Prentice–Hall, Englewood Cliffs, NJ, 1969.
3. G. Gordon, I. Pressman, S. Cohen, Quantitative Decision Making for Business,
Prentice–Hall International Editions, Englewood Cliffs, NJ, 1990.
4. Johnson L.W., Riess R.D., Numerical Analysis, 2nd ed. Addison–Wesley, 1982.
5. Kleijnen J., Groenendaal W.V., Simulation: A Statistical Perspective, Wiley, West
Sussex, England, 1992.
6. A.M. Law, W.D. Kelton, Simulation Modeling and Analysis, 2nd ed.,
McGraw–Hill, New–York, 1991.
7. M. Pidd, Computer Simulation in Management Science, 3 , Wiley, 1992.
8. Pritsker A.A.B., Introduction to Simulation and SLAM, 4th ed. Wiley, 1995.
9. G. Stephenson, P.M. Radmore, Advanced Mathematical Methods for Engineering
and Science Students, Cambridge University Press, 1990.
5 5µ π µ § π √ ° ƒ∞ º π ∫ ∂ ™ ∞ ¡ ∞ º √ ƒ ∂ ™
∞Ó¿Ù˘ÍË MÔÓÙ¤ÏˆÓ ¢È·ÎÚÈÙÒÓ ™˘ÛÙËÌ¿ÙˆÓ
™ÎÔfi˜
Στο κεφάλαιο αυτό παρουσιάζονται οι µεθοδολογίες ανάπτυξης µοντέλων διακριτών
συστηµάτων. Ο στόχος του είναι να περιγράψει τις τρεις απόψεις του κόσµου µε τις
οποίες προσοµοιώνονται τα µοντέλα ανάλογα µε τις απαιτήσεις τους. Έχει επίσης ως
στόχο να παρουσιάσει τη χρήση των δικτύων Petri στη µοντελοποίηση συστηµάτων
µε σκοπό τον έλεγχο λειτουργίας και αδιεξόδων.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού θα είστε σε θέση να:
• διακρίνετε τη διαφορά ανάµεσα στις προσοµοιώσεις γεγονότων, δραστηριοτήτων
και διεργασιών
• διακρίνετε τη διαφορά ανάµεσα σε ανεξάρτητα και εξαρτηµένα γεγονότα
• διακρίνετε τη διαφορά ανάµεσα στις αδρανείς και ενεργές καταστάσεις κατά την
προσοµοίωση δραστηριοτήτων
• σχεδιάζετε το διάγραµµα κύκλου δραστηριοτήτων ενός µοντέλου
• συσχετίζετε του Μηχανισµούς Ροής Χρόνου µε τις τρεις µεθόδους προσοµοίωσης
• αναφέρετε τα συστατικά στοιχεία ενός δικτύου Petri
• µοντελοποιείτε ένα σύστηµα µε ένα δίκτυο Petri
• µαρκάρετε ένα δίκτυο Petri ανάλογα µε τις παραµέτρους του συστήµατος
ŒÓÓÔȘ ÎÏÂȉȿ
3∫ ∂ º ∞ § ∞ π √
• προσοµοίωση γεγονότων, δραστηριο-
τήτων και διεργασιών
• διαχειριστής
• ανεξάρτητο και εξαρτηµένο γεγονός
• διάγραµµα κύκλου δραστηριοτήτων
• αδρανής και ενεργός κατάσταση
• µέθοδος τριών φάσεων
• διατµηµατικό σήµα
• εργασία
• θέση
• µετάβαση
• µαρκάρισµα
• κουπόνι
• πυροδότηση µετάβασης
• σύγκρουση
• αδιέξοδο
• ασφάλεια
5 8 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Η µέθοδος που θα χρησιµοποιηθεί για να προσοµοιωθεί ένα σύστηµα έχει άµεση
σχέση µε το µοντέλο που δηµιουργήθηκε για το σύστηµα. Αυτό ισχύει και αντιστρό-
φως: η µεθοδολογία προσοµοίωσης, πολλές φορές, υπαγορεύει το είδος του µοντέ-
λου που θα αναπτυχθεί. Στα διακριτά συστήµατα, οι αλλαγές της κατάστασής τους
συµβαίνουν µόνο σε συγκεκριµένες χρονικές στιγµές, όταν δηλαδή συµβεί κάποιο
γεγονός. Τα γεγονότα αυτά και η αλληλεπίδρασή τους, µπορούν να προσοµοιωθούν
µε διάφορους τρόπους, ανάλογα µε τον τρόπο αντιµετώπισης του µοντέλου.
Στην ενότητα 3.1 δίνονται οι ορισµοί των µεθοδολογιών προσοµοίωσης και η ιεραρ-
χική δοµή των µοντέλων προσοµοίωσης.
Στην ενότητα 3.2 περιγράφεται αναλυτικά η προσοµοίωση γεγονότων καθώς και τα
µοντέλα που αντιστοιχούν σ’ αυτήν.
Στην ενότητα 3.3 περιγράφεται αναλυτικά η προσοµοίωση δραστηριοτήτων, καθώς
και τα µοντέλα που αντιστοιχούν σ’ αυτήν. Στην ενότητα 3.4 παρουσιάζεται ένας συν-
δυασµός αυτών των δύο µεθοδολογιών, που ονοµάζεται µέθοδος των τριών φάσε-
ων. Η τέταρτη µεθοδολογία, αυτή των προσοµοίωσης διεργασιών, παρουσιάζεται
στην ενότητα 3.5. Οι µεθοδολογίες αυτές βασίζονται κυρίως στον τρόπο επεξεργα-
σίας των ουρών, επειδή η ουρά είναι η, κατά κύριο λόγο, κινητήρια δύναµη στα περισ-
σότερα διακριτά συστήµατα. Αξίζει να σηµειωθεί, ότι ακόµη και στις περιπτώσεις
κατά τις οποίες δεν υπάρχουν εµφανείς ουρές στο σύστηµα, µπορούν να δηµιουργη-
θούν ιδεατές ουρές για τη µοντελοποίηση του συστήµατος.
Επειδή όµως υπάρχουν και περιπτώσεις στις οποίες, είτε δεν είναι δυνατόν να δηµι-
ουργηθούν ιδεατές ουρές, είτε η µοντελοποίηση µε ουρές δεν εξυπηρετεί το σκοπό της
προσοµοίωσης, είναι δυνατόν να χρησιµοποιηθούν µοντέλα χωρίς καθόλου ουρές.
Ένα τέτοιο παράδειγµα µοντελοποίησης, τα δίκτυα Petri, παρουσιάζεται στην ενό-
τητα 3.6 του κεφαλαίου.
3.1 √ÚÈÛÌÔ›
Στο κεφάλαιο 1 παρουσιάσθηκαν οι δύο µηχανισµοί αύξησης του χρόνου της προ-
σοµοίωσης, και συγκεκριµένα, ο µηχανισµός επόµενου γεγονότος και ο µηχανισµός
σταθερού χρονικού διαστήµατος. Οι ορισµοί των µηχανισµών αυτών, όπως δόθη-
καν προηγουµένως, συµπίπτουν µε τους ορισµούς του McDougall (1975), ο οποίος
όµως τους επεκτείνει ως µεθοδολογίες προσοµοίωσης από την άποψη του χρήστη.
Με τον τρόπο αυτό, ορίζονται τρεις µεθοδολογίες προσοµοίωσης:
Ορισµός 3.1
Η προσοµοίωση δραστηριοτήτων εκτιµά το µοντέλο σε σταθερά χρονικά
διαστήµατα, ανεξάρτητα από τις αλλαγές που συµβαίνουν σ’ αυτό.
Ορισµός 3.2
Η προσοµοίωση γεγονότων εκτιµά το µοντέλο µόνον όταν αλλάξει η τιµή
κάποιας παραµέτρου του µοντέλου. Το προφανές πλεονέκτηµα της µεθόδου
αυτής, σε σχέση µε την προσοµοίωση δραστηριοτήτων, είναι η αποφυγή άσκο-
πων εκτιµήσεων του µοντέλου.
Ορισµός 3.3
Η προσοµοίωση διεργασιών προσφέρει ένα υψηλότερο επίπεδο άποψης του
συστήµατος, επιτρέποντας στον σχεδιαστή να µοντελοποιεί κάθε επί µέρους
τµήµα του µοντέλου, ανεξάρτητα από τα άλλα. Τα γεγονότα που είναι εσωτε-
ρικά σε κάθε τµήµα αποµονώνονται από τα γεγονότα που συµβαίνουν σε άλλα
τµήµατα του µοντέλου.
Ο τελευταίος αυτός ορισµός δείχνει, ότι η προσοµοίωση διεργασιών δεν είναι στην
πραγµατικότητα ένας µηχανισµός αύξησης του χρόνου προσοµοίωσης. Πράγµατι,
ήδη από το 1962, διάφοροι ερευνητές όπως ο Lackner και ο Kiviat, περιγράφουν τις
µεθοδολογίες αυτές ως «απόψεις του κόσµου» (world views) που σχετίζονται περισ-
σότερο µε τον τρόπο µοντελοποίησης του συστήµατος παρά µε τον τρόπο µε τον
οποίο αυξάνεται το ρολόι της προσοµοίωσης. Στη συνέχεια του κεφαλαίου παρου-
σιάζονται µε περισσότερη λεπτοµέρεια οι τρεις αυτές µεθοδολογίες από την άποψη
του προσοµοιωτή.
Το κοινό χαρακτηριστικό των τριών αυτών µεθοδολογιών είναι ότι δηµιουργούν προ-
γράµµατα προσοµοίωσης τα οποία έχουν µια ιεραρχική δοµή τριών επιπέδων
[Fishman 1973]:
Επίπεδο 1: ∆ιαχειριστής (πρόγραµµα ελέγχου),
5 93 . 1 √ ƒ π ™ ª √ π
6 0 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Επίπεδο 2: Λειτουργίες,
Επίπεδο 3: Λεπτοµερείς ρουτίνες.
Στο ανώτερο επίπεδο βρίσκεται ο διαχειριστής, ο οποίος είναι υπεύθυνος για τη
σωστή αλληλουχία των λειτουργιών του επιπέδου 2. Μία από τις κύριες λειτουργίες
του προγράµµατος ελέγχου είναι η διαχείριση του χρόνου, δηλαδή του «ρολογιού»
της προσοµοίωσης. Βάσει του ρολογιού αυτού, ο διαχειριστής µπορεί να προσδιο-
ρίσει ποιό γεγονός πρέπει να συµβεί και να καλέσει τις κατάλληλες ρουτίνες που θα
επεξεργαστούν το γεγονός αυτό.
Στο δεύτερο επίπεδο του προγράµµατος προσοµοίωσης ανήκουν οι ρουτίνες υλο-
ποίησης του µοντέλου. Οι ρουτίνες αυτές αποτελούν την προγραµµατιστική έκφρα-
ση των αλληλεπιδράσεων ανάµεσα στις οντότητες. Εποµένως, ο αναλυτής ή σχε-
διαστής του µοντέλου ασχολείται κυρίως µε την ανάπτυξη αυτών των ρουτινών. Οι
τρεις µεθοδολογίες προσοµοίωσης διαφέρουν κυρίως σ’ αυτό το επίπεδο. Η προσο-
µοίωση γεγονότων χρησιµοποιεί ρουτίνες που υλοποιούν την εκτέλεση γεγονότων,
η προσοµοίωση δραστηριοτήτων χρησιµοποιεί ρουτίνες που υλοποιούν δραστηριό-
τητες, ενώ, τέλος, η προσοµοίωση διεργασιών χρησιµοποιεί ρουτίνες που υλοποι-
ούν τις διεργασίες που εκτελούνται κατά την επεξεργασία του µοντέλου.
Το τρίτο επίπεδο αποτελείται από τις ρουτίνες που χρησιµοποιούνται από το δεύτε-
ρο επίπεδο για την υλοποίηση των λεπτοµερειών του συστήµατος που µοντελοποι-
είται. Στο επίπεδο αυτό ανήκουν οι γεννήτριες τυχαίων αριθµών και δειγµάτων, οι
ρουτίνες συλλογής και παρουσίασης των αποτελεσµάτων κ.λπ.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.1
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
α) Στο ανώτερο ιεραρχικό επίπεδο των µεθοδολογιών προσοµοίωσης βρίσκεται ο
……………… .
β) Οι τρεις µεθοδολογίες προσοµοίωσης διαφέρουν κυρίως ως προς το ………………
ιεραρχικό επίπεδο.
γ) Τα γεγονότα ενός τµήµατος µοντέλου ……………… από τα γεγονότα ενός άλλου
τµήµατος κατά την προσοµοίωση ………………
δ) Οι ρουτίνες τυχαίων αριθµών υλοποιούνται στο ……………… επίπεδο ιεραρχίας των
προγραµµάτων προσοµοίωσης.
3.2 ¶ÚÔÛÔÌÔ›ˆÛË °ÂÁÔÓfiÙˆÓ
Η µεθοδολογία αυτή παρουσιάστηκε για πρώτη φορά από τον Markowitz το 1962
κατά την ανάπτυξη της γλώσσας προσοµοίωσης SIMSCRIPT. Η προσοµοίωση γεγο-
νότων είναι η πλέον διαδοµένη µεθοδολογία στις Ηνωµένες Πολιτείες σε αντίθεση
µε την Ευρώπη, όπου οι πλέον διαδεδοµένες µεθοδολογίες είναι η προσοµοίωση δρα-
στηριοτήτων και η προσοµοίωση διεργασιών.
Το βασικό στοιχείο της µεθοδολογίας αυτής είναι ο ορισµός και χρονοδροµολόγη-
ση των γεγονότων του µοντέλου. Τα γεγονότα που µπορεί να συµβούν χωρίζονται
σε δύο κατηγορίες: τα ανεξάρτητα και τα εξαρτηµένα ή υπό συνθήκη γεγονότα.
• Ανεξάρτητο ονοµάζεται το γεγονός, που πρόκειται να συµβεί σε κάποια προκα-
θορισµένη χρονική στιγµή, ανεξάρτητα από την εµφάνιση άλλων γεγονότων.
• Εξαρτηµένο ονοµάζονται το γεγονός που συµβαίνει όταν εµφανιστεί κάποιο άλλο
ανεξάρτητο η εξαρτηµένο γεγονός.
Σηµειώνεται ότι τα ανεξάρτητα γεγονότα δεν είναι απαραίτητο να προκαθορίζονται
επακριβώς από το µοντέλο ή να είναι γνωστά πριν αρχίσει η προσοµοίωση. Είναι
αρκετό να εξαρτώνται µόνο από το χρόνο, ο οποίος τις περισσότερες φορές υπολο-
γίζεται από την εκτέλεση ενός άλλου γεγονότος.
¶·Ú¿‰ÂÈÁÌ· 3.1
Ας εξετάσουµε τα γεγονότα σε ένα απλό σύστηµα µε µία ουρά. Πελάτες έρχονται στο
σύστηµα, περιµένουν στην ουρά, αρχίζει η εξυπηρέτησή τους, τελειώνει η εξυπηρέ-
τησή τους, και αποχωρούν από το σύστηµα. Ορίζουµε τα ανεξάρτητα γεγονότα:
1. Άφιξη ενός πελάτη στην ουρά.
2. Τέλος εξυπηρέτησης ενός πελάτη.
Το πρώτο γεγονός είναι ανεξάρτητο, γιατί θα συµβεί σε κάποια δεδοµένη χρονική
στιγµή. Παρόλο που συχνά για τον υπολογισµό της χρονικής αυτής στιγµής, λαµ-
βάνεται υπόψη ο χρόνος άφιξης του προηγούµενου πελάτη, ανάλογα µε τον τρόπο
υπολογισµού των αφίξεων, το γεγονός δεν παύει να είναι ανεξάρτητο. Αντίστοιχα,
και το δεύτερο γεγονός είναι ανεξάρτητο επειδή θα συµβεί κάποια δεδοµένη χρονι-
κή στιγµή. Η χρονική αυτή στιγµή µπορεί να υπολογίζεται από τον χρόνο έναρξης
µε δειγµατοληψία από κάποια κατανοµή, αλλά αυτό δεν αλλάζει τον ορισµό του
γεγονότος ως ανεξάρτητου.
Σε σχέση µε τα ανεξάρτητα γεγονότα, ορίζονται και δύο εξαρτηµένα γεγονότα: Το
γεγονός της έναρξης εξυπηρέτησης ενός πελάτη και το γεγονός της αναχώρησης ενός
6 13 . 2 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ° ∂ ° √ ¡ √ ∆ ø ¡
6 2 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
πελάτη από το σύστηµα. Το γεγονός της αναχώρησης από το σύστηµα εξαρτάται από
το γεγονός του τέλους εξυπηρέτησης επειδή µόλις τελειώσει η εξυπηρέτηση κάποι-
ου πελάτη (ανεξάρτητο γεγονός), ο πελάτης αυτός φεύγει από το σύστηµα (εξαρτη-
µένο γεγονός). Αντίστοιχα, και η έναρξη εξυπηρέτησης είναι εξαρτηµένο γεγονός
γιατί εξαρτάται από άλλα γεγονότα ανάλογα µε την κατάσταση του συστήµατος.
∆ιακρίνονται δηλαδή οι εξής δύο περιπτώσεις:
3. Τελειώνει η εξυπηρέτηση κάποιου πελάτη (ανεξάρτητο γεγονός) και υπάρχει
πελάτης που περιµένει στην ουρά (κατάσταση του συστήµατος). Στην περίπτω-
ση αυτή συµβαίνει αµέσως το γεγονός της έναρξης εξυπηρέτησης, εξαρτώµενο
από το γεγονός του τέλους εξυπηρέτησης.
4. Έρχεται κάποιος πελάτης στο σύστηµα (ανεξάρτητο γεγονός) και δεν υπάρχει
άλλος πελάτης στο σύστηµα (κατάσταση του συστήµατος). Στην περίπτωση αυτή
συµβαίνει αµέσως το γεγονός της έναρξης εξυπηρέτησης εξαρτώµενο από το
γεγονός της άφιξης του πελάτη.
Είναι φανερό, ότι τα ανεξάρτητα γεγονότα δροµολογούνται να συµβούν σε κάποια
δεδοµένη χρονική στιγµή και συµβαίνουν µόλις φθάσει η χρονική αυτή στιγµή, ενώ
τα εξαρτηµένα γεγονότα συµβαίνουν αµέσως µόλις συµβεί κάποιο άλλο γεγονός.
3.2.1 √ ‰È·¯ÂÈÚÈÛÙ‹˜ Ù˘ ÚÔÛÔÌÔ›ˆÛ˘ ÁÂÁÔÓfiÙˆÓ
Κατά την προσοµοίωση γεγονότων, ο διαχειριστής είναι υπεύθυνος κυρίως για τρεις
λειτουργίες:
1. τον έλεγχο του χρόνου,
2.τον προσδιορισµό των γεγονότων, και
3. την εκτέλεση των γεγονότων
Ο έλεγχος του χρόνου γίνεται µέσω του ρολογιού προσοµοίωσης, ενώ ο προσδιορι-
σµός των γεγονότων προς εκτέλεση γίνεται µέσω µίας χρονικής λίστας γεγονότων
στην οποία τοποθετούνται τα γεγονότα που πρόκειται να εκτελεσθούν σε κάποια
µελλοντική χρονική στιγµή. Το ρολόι της προσοµοίωσης δείχνει σε κάθε χρονική
στιγµή το χρόνο της προσοµοίωσης, ο οποίος αντιστοιχεί στα γεγονότα που εκτε-
λούνται αυτή τη χρονική αυτή στιγµή. Η διαχείρισή του γίνεται από το πρόγραµµα
ελέγχου, σύµφωνα µε το µηχανισµό ροής χρόνου επόµενου γεγονότος που αναπτύ-
χθηκε στο κεφάλαιο 1. Ένα κάπως γενικό διάγραµµα του προγράµµατος ελέγχου
γεγονότων δίνεται στο Σχήµα 3.1.
Η χρονική λίστα των γεγονότων είναι µία δυναµική λίστα, η οποία περιέχει τα γεγο-
νότα που πρόκειται να εκτελεσθούν. Η εισαγωγή γεγονότων στη λίστα και η δια-
γραφή τους από αυτή γίνεται τόσο από το πρόγραµµα ελέγχου, όσο και από τα προ-
γράµµατα εκτέλεσης των γεγονότων, σύµφωνα µε την εξής διαδικασία:
6 33 . 2 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ° ∂ ° √ ¡ √ ∆ ø ¡
∆ιαχείριση χρόνουr
προσοµοίωσης
Προσδιορισµόςr
γεγονότων προς εκτέλεση
Eκτέλεσηr
Γεγονότων
Eνηµέρωσηr
χρονικής λίστας
Tέλος χρόνου;Όχι
Nαι
Tέλος
Aρχή
™¯‹Ì· 3.1
∆ιάγραµµα
του προγράµµατος
ελέγχου
προσοµοίωσης
γεγονότων
• Αµέσως µόλις το πρόγραµµα ελέγχου αυξήσει το ρολόι της προσοµοίωσης στη
νέα του τιµή, που αντιστοιχεί στο χρόνο του αµέσως επόµενου γεγονότος που πρό-
κειται να εκτελεσθεί, ελέγχει τα γεγονότα της λίστας για να προσδιορίσει αυτά
που πρέπει να εκτελεσθούν κατά τη χρονική αυτή στιγµή. Τα γεγονότα αυτά δίνο-
6 4 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
νται προς εκτέλεση στα αντίστοιχα προγράµµατα και αφαιρούνται από τη χρονι-
κή λίστα γεγονότων.
• Κατά την εκτέλεση ενός γεγονότος από το πρόγραµµα εκτέλεσής του, είναι δυνα-
τόν να προγραµµατισθεί ένα άλλο γεγονός για το µέλλον. Το νέο αυτό γεγονός
µπορεί να είναι είτε ανεξάρτητο είτε εξαρτηµένο. Στη δεύτερη αυτή περίπτωση,
ο χρόνος εκτέλεσής του είναι ο τρέχων χρόνος της προσοµοίωσης. Σε κάθε περί-
πτωση όµως, το γεγονός εισάγεται στη χρονική λίστα γεγονότων για να εκτελε-
σθεί σε κάποια επόµενη επανάληψη του κύκλου του προγράµµατος ελέγχου. Φυσι-
κά, για απλούστερη και καθαρότερη δοµή των προγραµµάτων προσοµοίωσης, η
εισαγωγή αυτή καθεαυτή γίνεται πάντα από το πρόγραµµα ελέγχου µετά από αίτη-
ση του προγράµµατος εκτέλεσης, έτσι ώστε η διαχείριση της λίστας γεγονότων
να πραγµατοποιείται κεντρικά.
Ο κύκλος του Σχήµατος 3.1 επαναλαµβάνεται µέχρι να τελειώσει η προσοµοίωση.
Η διαχείριση της χρονικής λίστας γεγονότων είναι αρκετά κρίσιµη για την ταχύτη-
τα της προσοµοίωσης, ιδίως όταν το µοντέλο είναι πολύπλοκο και προγραµµατίζο-
νται πολλά γεγονότα για το µέλλον. Για το λόγο αυτό, οι σχεδιαστές των προγραµ-
µάτων προσοµοίωσης χρησιµοποιούν συνήθως χρονικά διατεταγµένες συνδεδεµέ-
νες λίστες, έτσι ώστε να είναι εύκολη, τόσο η προσθήκη και αφαίρεση γεγονότων,
όσο και η αναζήτηση του επόµενου γεγονότος προς εκτέλεση. Η αναζήτηση αυτή
είναι στοιχειώδης σε µία χρονικά διατεταγµένη λίστα γιατί το επόµενο γεγονός προς
εκτέλεση βρίσκεται στην αρχή της λίστας.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.2
Σε ένα µηχανουργείο υπάρχουν πολλές µηχανές που συντηρούνται από έναν
τεχνίτη, όποτε παρουσιάσουν βλάβη. Σηµειώστε ποιά από τα παρακάτω γεγονότα
είναι ανεξάρτητα και ποιά εξαρτηµένα;
Ανεξάρτητο Εξαρτηµένο
α) Μια µηχανή παρουσιάζει βλάβη
β) Ο συντηρητής αρχίζει την επισκευή µιας µηχανής
γ) Ο συντηρητής τελειώνει την επισκευή µιας µηχανής
δ) Ο συντηρητής πηγαίνει να καθίσει στον πάγκο του
γιατί όλες οι µηχανές δουλεύουν σωστά
3.3 ¶ÚÔÛÔÌÔ›ˆÛË ¢Ú·ÛÙËÚÈÔًوÓ
Η µεθοδολογία αυτή αναπτύχθηκε στη Μεγάλη Βρετανία, όπου και κυρίως χρησι-
µοποιείται, και εξελίχθηκε από τους Buxton και Laski (1962) ως βασική προσοµοί-
ωση δραστηριοτήτων και από τον Tocher (1963) ως µεθοδολογία των τριών φάσεων.
Στη σηµερινή της µορφή, η προσοµοίωση δραστηριοτήτων χρησιµοποιεί για τη µοντε-
λοποίηση των αλληλεπιδράσεων ανάµεσα στις οντότητες µία µέθοδο που αναπτύ-
χθηκε από τον Hills (1971) και ονοµάζεται διαγράµµατα κύκλου δραστηριοτήτων.
3.3.1 ¢È·ÁÚ¿ÌÌ·Ù· ·ÎÏÔ˘ ‰Ú·ÛÙËÚÈÔًوÓ
Τα διαγράµµατα κύκλου δραστηριοτήτων χρησιµοποιούν τα δύο σύµβολα που φαί-
νονται στο Σχήµα 3.2.
Οι καταστάσεις, τις οποίες δηλώνουν τα σύµβολα, αναφέρονται σε καταστάσεις των
οντοτήτων του µοντέλου. Η αδρανής κατάσταση αναφέρεται συνήθως σε αναµονή
της οντότητας µέχρι να συµβεί ένα γεγονός. Για το λόγο αυτό, οι αδρανείς κατα-
στάσεις συνδέονται µε ουρές. Η διάρκεια των αδρανών καταστάσεων δεν µπορεί να
καθορισθεί εκ των προτέρων. Αυτό συµβαίνει γιατί ο χρόνος αναµονής στην ουρά
δεν είναι προκαθορισµένος, αλλά εξαρτάται από το χρόνο εξυπηρέτησης των προη-
γουµένων πελατών, που περιµένουν στην ουρά.
6 53 . 3 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
Aδρανήςr
Kατάσταση
Eνεργόςr
Kατάσταση
™¯‹Ì· 3.2
Σύµβολα των
διαγραµµάτων
κύκλου
δραστηριοτήτων
Η ενεργός κατάσταση αναφέρεται συνήθως σε αλληλεπίδραση της οντότητας µε οντό-
τητες που ανήκουν σε άλλη κατηγορία. Η διάρκεια της ενεργούς κατάστασης µπορεί
πάντα να προσδιορισθεί εκ των προτέρων. Αν το µοντέλο της προσοµοίωσης είναι
προσδιορισµένο, η διάρκεια της ενεργούς κατάστασης είναι σταθερή. Αντίθετα, αν
το µοντέλο της προσοµοίωσης είναι στοχαστικό, η διάρκεια αυτή καθορίζεται µε δειγ-
µατοληψία από κάποια κατανοµή πιθανοτήτων, όπως αναπτύσσεται στο κεφάλαιο 5.
Σε ένα σύστηµα ουράς, η ενεργός κατάσταση αφορά την εξυπηρέτηση ενός πελάτη.
6 6 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Τα διαγράµµατα κύκλου δραστηριοτήτων σχεδιάζονται µετά από καταγραφή όλων
των δραστηριοτήτων, από τις οποίες µπορεί να περάσει κάθε οντότητα του µοντέ-
λου. Για απλοποίηση της διαδικασίας, πρώτα σχεδιάζονται τα διαγράµµατα κάθε
κατηγορίας οντοτήτων, τα οποία κατόπιν συνδυάζονται για να δηµιουργηθεί το συνο-
λικό διάγραµµα του µοντέλου όπως φαίνεται και στο παρακάτω Παράδειγµα.
¶·Ú¿‰ÂÈÁÌ· 3.2
Σε ένα µπαρ υπάρχουν διάφοροι πελάτες που πίνουν το ποτό τους και ένας µπάρµαν
που τους σερβίρει. Αυτές είναι και οι δύο κατηγορίες οντοτήτων του µοντέλου µας.
Υποθέτουµε ότι οι πελάτες στο µπαρ αυτό είναι γερά ποτήρια. Εποµένως, όταν τελει-
ώσουν το ποτό τους ζητούν αµέσως άλλο. Οι καταστάσεις λοιπόν από τις οποίες
περνά κάθε πελάτης είναι:
1. Κατανάλωση ποτού,
2. Αναµονή για σερβίρισµα, και
3. Σερβίρισµα ποτού.
Το διάγραµµα κύκλου δραστηριοτήτων του πελάτη δίνεται στο Σχήµα 3.3. Στο διά-
γραµµα αυτό φαίνεται και µία επί πλέον αδρανής κατάσταση του πελάτη: αυτή κατά
την οποία το ποτό του είναι έτοιµο προς κατανάλωση. Θεωρητικά, ο πελάτης µπο-
ρεί να περάσει απ’ ευθείας από το σερβίρισµα στην κατανάλωση. Στα διαγράµµατα
όµως κύκλου δραστηριοτήτων, είναι απαραίτητο, για πρακτικούς λόγους, να υπάρ-
χει εναλλαγή των καταστάσεων από αδρανείς σε ενεργές και το αντίθετο. Αυτό
βοηθά κυρίως κατά την προσοµοίωση, όπου επιδιώκεται να υπάρχει οµοιογένεια στις
αλλαγές καταστάσεων.
Σερβίρισµαr
ποτού
Aναµονή r
γιαr
σερβίρισµα
Ποτό r
έτοιµο γιαr
κατανάλωση
Kατανάλωσηr
ποτού
™¯‹Ì· 3.3
∆ιάγραµµα
κύκλου δραστη-
ριοτήτων του
κάθε πελάτη
Όσον αφορά τον µπάρµαν, αυτός µπορεί να βρίσκεται σε κάποια από τις δύο κατα-
στάσεις, όπως φαίνεται στο Σχήµα 3.4:
4. Αναµονή για πελάτη, και
5. Σερβίρισµα ποτού.
6 73 . 3 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
Aναµονή γιαr
πελάτη
Σερβίρισµαr
ποτού
™¯‹Ì· 3.4
∆ιάγραµµα
κύκλου
δραστηριοτήτων
του µπάρµαν
Aναµονή γιαr
πελάτη
Σερβίρισµαr
ποτού
Aναµονή γιαr
σερβίρισµαΠοτό έτοιµο γιαr
κατανάλωση
Kατανάλωσηr
ποτού
™¯‹Ì· 3.5
∆ιάγραµµα
κύκλου
δραστηριοτήτων
του µπαρ
Παρατηρούµε ότι µία από τις καταστάσεις, και συγκεκριµένα το σερβίρισµα του
ποτού, είναι κοινή και στα δύο διαγράµµατα. Αυτή η κατάσταση αποτελεί το σύν-
δεσµο των δύο διαγραµµάτων, όπως φαίνεται στο συνολικό διάγραµµα κύκλου δρα-
στηριοτήτων του µπαρ που δίνεται στο Σχήµα 3.5.
6 8 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Εξετάζοντας το διάγραµµα αυτό µπορούµε να κάνουµε τις εξείς παρατηρήσεις:
• Οι ενεργές καταστάσεις δεν είναι απαραίτητο να δείχνουν αλληλεπίδραση δύο οντο-
τήτων. Πράγµατι, η κατάσταση «κατανάλωση ποτού» αφορά µόνο µία οντότητα. Αν
όµως αφορούν αλληλεπίδραση δύο οντοτήτων, όπως στην περίπτωση του σερβιρί-
σµατος, τότε αφορούν οντότητες που ανήκουν σε διαφορετικές κατηγορίες ή κλάσεις.
• Οι αδρανείς καταστάσεις αφορούν είτε αναµονή σε ουρά, όπως στην περίπτωση
της «αναµονής για σερβίρισµα», είτε αναµονή για να συµβεί κάτι. Πράγµατι, ο
µπάρµαν όταν είναι αδρανής δεν περιµένει σε µια ουρά, αλλά περιµένει κάποιον
από τους πελάτες να τελειώσει το ποτό του και να ζητήσει άλλο.
• Στα διαγράµµατα κύκλου δραστηριοτήτων δεν φαίνονται λεπτοµερειακά όλες οι
οντότητες του µοντέλου, αλλά οι κατηγορίες των οντοτήτων. Για παράδειγµα, η
κατάσταση «κατανάλωση ποτού» αναφέρεται σε κάθε πελάτη του µπαρ που κατα-
ναλώνει το ποτό του.
Στο προηγούµενο Παράδειγµα το σύστηµα είναι κλειστό, δηλαδή δεν έχει εξωγενείς
δραστηριότητες ή οντότητες. Πώς ορίζονται οι καταστάσεις στην περίπτωση ενός
ανοικτού συστήµατος; Η λύση είναι πολύ απλή και επιτυγχάνεται µε την προσθήκη
µίας δραστηριότητας που παράγει τις οντότητες που εισέρχονται στο σύστηµα. Το
διάγραµµα ενός απλού συστήµατος ουράς δίνεται στο Σχήµα 3.6.
Η αδρανής κατάσταση «Άφιξη πελάτη» µοντελοποιεί τόσο τους πελάτες που πρό-
κειται να εισέλθουν στο σύστηµα όσο και τους πελάτες που περιµένουν στην ουρά.
Το βέλος από την κατάσταση «Εξυπηρέτηση» στην κατάσταση «Άφιξη πελάτη» δεν
υποδηλώνει ότι ο πελάτης που αποχωρεί από τον εξυπηρετητή επανέρχεται στην ουρά,
αλλά απλώς ότι επιστρέφει στον πληθυσµό των πιθανών πελατών του συστήµατος.
Τα διαγράµµατα κύκλου δραστηριοτήτων έχουν το µειονέκτηµα να βασίζονται σε
καταστάσεις «ενεργών» οντοτήτων, δηλαδή οντοτήτων που κυρίως κινούνται µέσα
στο σύστηµα και αλλάζουν κατάσταση µε προκαθορισµένο τρόπο. Όταν όµως δεν
ενδιαφέρουν αυτές οι οντότητες, τα διαγράµµατα κύκλου δραστηριοτήτων οδηγούν
συχνά σε υπέρ το δέον πολύπλοκα µοντέλα.
Για παράδειγµα, έστω ότι δίνεται το µοντέλο ενός δικτύου υπολογιστών µέσα από
το οποίο διακινούνται µηνύµατα. Είναι εύκολο να σχεδιασθεί το διάγραµµα κύκλου
δραστηριοτήτων για τη µετάδοση των µηνυµάτων. Αν όµως αυτό που ενδιαφέρει
είναι οι χώροι αποθήκευσης των µηνυµάτων (buffers) στους ενδιάµεσους κόµβους
(για να προσδιορισθεί το µέγεθός τους, το ποσοστό του χρόνου που είναι κενοί κ.λπ.),
τότε το διάγραµµα κύκλου δραστηριοτήτων γίνεται υπερβολικά πολύπλοκο.
Παρόµοιο πρόβληµα παρουσιάζεται όταν µία δραστηριότητα διακόπτεται πριν ολο-
κληρωθεί. Για παράδειγµα, σε ένα υπολογιστικό σύστηµα, η εκτέλεση µίας διεργα-
σίας µπορεί να διακοπεί πριν ολοκληρωθεί, εξ αιτίας κάποιου εξωτερικού παράγο-
ντα, όπως είναι η διακοπή (interrupt) από τον εκτυπωτή. Στην περίπτωση αυτή, η
αλλαγή της κατάστασης δεν θα συµβεί στον προκαθορισµένο χρόνο, αλλά µόλις συµ-
βεί η διακοπή.
Παρά τα µειονεκτήµατά τους, τα διαγράµµατα κύκλου εργασιών είναι πολύ χρήσι-
µα, ιδίως στην προσοµοίωση δραστηριοτήτων. Ως εργαλεία µοντελοποίησης µπο-
ρούν να επεκταθούν, έτσι ώστε να αντιπροσωπεύουν όχι µόνο εναλλαγές δύο κατα-
στάσεων, αλλά περισσοτέρων. Μία τέτοια επέκταση αποτελούν τα δίκτυα Petri που
εξετάζονται σε επόµενη ενότητα.
3.3.2 √ ‰È·¯ÂÈÚÈÛÙ‹˜ Ù˘ ÚÔÛÔÌÔ›ˆÛ˘ ‰Ú·ÛÙËÚÈÔًوÓ
Η προσοµοίωση δραστηριοτήτων στηρίζεται στις αλληλεπιδράσεις ανάµεσα στις
οντότητες του µοντέλου, σε αντίθεση µε την προσοµοίωση γεγονότων που είχε ως
βάση τις λειτουργίες που πρέπει να γίνουν όταν συµβεί µία αλλαγή κατάστασης. Με
την έννοια αυτή, οι δραστηριότητες ορίζονται ως το σύνολο των ενεργειών που ακο-
λουθούν κάθε αλλαγή κατάστασης. Η διαφορά µε την προσοµοίωση γεγονότων µπο-
ρεί να γίνει περισσότερο εµφανής, αν εξετασθεί το απλό παράδειγµα της ουράς από
την άποψη της προσοµοίωσης δραστηριοτήτων.
6 93 . 3 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
Aναµονή γιαr
πελάτη
Eξυπηρέτηση
Άφιξηr
πελάτη
™¯‹Ì· 3.6
∆ιάγραµµα
κύκλου
δραστηριοτήτων
µίας απλής ουράς
7 0 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Κατά την προσοµοίωση γεγονότων υπήρχαν δύο ανεξάρτητα γεγονότα και δύο εξαρ-
τηµένα. Τα δύο ανεξάρτητα γεγονότα θα πρέπει τώρα να προσοµοιωθούν µε τρεις
δραστηριότητες:
1. Άφιξη ενός πελάτη,
2. Αρχή νέας εξυπηρέτησης, και
3. Τέλος εξυπηρέτησης
Οι τρεις αυτές δραστηριότητες είναι απαραίτητες γιατί αντιπροσωπεύουν αλλαγή
κατάστασης των οντοτήτων.
Το δεύτερο επίπεδο, το επίπεδο λειτουργιών, αποτελείται από ένα σύνολο ρουτινών
οι οποίες είναι υπεύθυνες για τις ενέργειες που πρέπει να γίνουν για κάθε δραστη-
ριότητα. Όλες οι ρουτίνες έχουν την ίδια δοµή, που αποτελείται από δύο τµήµατα:
• Έλεγχος Συνθηκών. Το τµήµα αυτό ελέγχει τις συνθήκες που πρέπει να πλη-
ρούνται για να λάβει χώρα η δραστηριότητα. Επειδή οι ρουτίνες καλούνται από
τον διαχειριστή της προσοµοίωσης σε κάθε κύκλο αύξησης του χρόνου προσο-
µοίωσης, ο έλεγχος αυτός είναι απαραίτητος για να καθορισθεί ποιές δραστηριό-
τητες θα εκτελεσθούν και ποιές όχι.
• Ενέργειες. Το τµήµα αυτό είναι το κυρίως σώµα της ρουτίνας και περιλαµβάνει
όλες τις ενέργειες που πρέπει να εκτελεσθούν για τη σωστή εκτέλεση της δρα-
στηριότητας.
Σε αντίθεση εποµένως µε την προσοµοίωση γεγονότων, κατά την προσοµοίωση δρα-
στηριοτήτων υπάρχει µία σειρά από δραστηριότητες που περιµένουν να εκτελεσθούν,
αν οι συνθήκες εκτέλεσής τους πληρούνται.
Κατά την προσοµοίωση δραστηριοτήτων, ο διαχειριστής είναι υπεύθυνος κυρίως για
δύο λειτουργίες:
1. Τον έλεγχο του χρόνου,
2. Την κλήση όλων των ρουτινών δραστηριοτήτων
Ο έλεγχος του χρόνου γίνεται και πάλι µέσω του ρολογιού της προσοµοίωσης, το
οποίο δείχνει σε κάθε χρονική στιγµή το χρόνο της προσοµοίωσης. Η διαχείριση
όµως του ρολογιού, γίνεται στην περίπτωση αυτή µε βάση την αρχή και το τέλος
κάθε δραστηριότητας. Ενώ δηλαδή κατά τη µέθοδο της προσοµοίωσης γεγονότων ο
διαχειριστής διατηρούσε µία χρονική λίστα µε τα µελλοντικά γεγονότα, κατά τη
µέθοδο της προσοµοίωσης δραστηριοτήτων διατηρεί µία λίστα µε τις µελλοντικές
αλλαγές κατάστασης, έτσι όπως καθορίζονται από τις ρουτίνες που εκτελούνται για
κάθε δραστηριότητα.
Εποµένως, το σώµα του διαχειριστή αποτελείται τώρα από δύο φωλιασµένους βρόγ-
χους, όπως φαίνεται στο Σχήµα 3.7. Ο εξωτερικός βρόγχος επιτελεί τον έλεγχο του
χρόνου και την αύξηση του ρολογιού της προσοµοίωσης, όπως και κατά την προ-
σοµοίωση γεγονότων. Ο εσωτερικός βρόγχος καλεί µε τη σειρά όλες τις ρουτίνες
δραστηριοτήτων.
7 13 . 3 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
Aρχή
∆ιαχείριση χρόνουr
προσοµοίωσης
Έλεγχοςr
∆ραστηριότητας
Άλληr
∆ραστηριότητα; Nαι
Nαι
Oχι
OχιTέλοςr
χρόνου;
Tέλος
™¯‹Ì· 3.7
∆ιάγραµµα
του προγράµµατος
ελέγχου
προσοµοίωσης
δραστηριοτήτων
Οι ρουτίνες των οποίων το τµήµα ελέγχου συνθηκών διαπιστώνει ότι ήλθε η ώρα για
την αντίστοιχη αλλαγή κατάστασης θα εκτελέσουν τις ενέργειες που απαιτούνται γι’
αυτή την αλλαγή κατάστασης. Όσες ρουτίνες διαπιστώσουν ότι η δραστηριότητα τους
7 2 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
συνεχίζεται, απλώς επιστρέφουν τον έλεγχο στον διαχειριστή της προσοµοίωσης.
Επειδή ο έλεγχος των δραστηριοτήτων και του χρόνου αρχής και λήξης τους γίνεται
στο δεύτερο επίπεδο, ο διαχειριστής της προσοµοίωσης µπορεί να χρησιµοποιήσει
το µηχανισµό ροής χρόνου σταθερού διαστήµατος, ο οποίος είναι απλούστερος στη
διαχείριση. Μπορεί βεβαίως να χρησιµοποιηθεί και ο µηχανισµός χρόνου επόµενου
γεγονότος, όπου όµως αντί για γεγονότα υπάρχουν αλλαγές κατάστασης. Οι ρουτί-
νες δραστηριοτήτων είναι υπεύθυνες για την ενηµέρωση του διαχειριστή ως προς το
χρόνο κατά τον οποίο θα συµβεί η επόµενη αλλαγή κατάστασης.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.3
Επανερχόµενοι στο µοντέλο της Άσκησης Αυτοαξιολόγησης 2 του κεφαλαίου 3,
να αναφέρετε τουλάχιστον τρεις καταστάσεις των οντοτήτων του και να προσδιο-
ρίσετε ποιες είναι ενεργές και ποιες αδρανείς.
3.4 ∏ ̤ıÔ‰Ô˜ ÙˆÓ ÙÚÈÒÓ Ê¿ÛˆÓ
Η µέθοδος των τριών φάσεων παρουσιάσθηκε για πρώτη φορά από τον Tocher
(1963) και αποτελεί συνδυασµό των µεθόδων προσοµοίωσης γεγονότων και δρα-
στηριοτήτων. Προς το σκοπό αυτό διακρίνει τις δραστηριότητες σε δύο κατηγορίες:
1. ∆ραστηριότητες, για τις οποίες ο χρόνος έναρξης µπορεί να προσδιορισθεί και οι
οποίες δροµολογούνται γι’ αυτούς τους προβλεπόµενους χρόνους.
2. ∆ραστηριότητες, οι οποίες µπορεί να συµβούν ή µπορεί να µη συµβούν, ανάλο-
γα µε τις συνθήκες της προσοµοίωσης τη στιγµή του ελέγχου.
Εποµένως, κάποιες δραστηριότητες µπορούν να ελεγχθούν άµεσα από τον διαχειρι-
στή της προσοµοίωσης ενώ άλλες εξαρτώνται από την κατάσταση του συστήµατος.
Οι δραστηριότητες των οποίων ο χρόνος έναρξης µπορεί να προσδιορισθεί, ονοµά-
ζονται «B» δραστηριότητες (από το Bound = αναπόφευκτες) ενώ οι υπόλοιπες ονο-
µάζονται «C» δραστηριότητες (από το Conditional = υπό συνθήκη).
Με βάση την ταξινόµηση των γεγονότων κατά την προσοµοίωση γεγονότων, οι δρα-
στηριότητες B και C αντιστοιχούν στα εξαρτηµένα και ανεξάρτητα γεγονότα αντί-
στοιχα. Αυτός είναι ο λόγος για τον οποίο πολλοί συγγραφείς αναφέρονται σε B και
C γεγονότα αντί για δραστηριότητες.
Η προσοµοίωση των τριών φάσεων, ενώ παραµένει προσοµοίωση δραστηριοτήτων,
εκµεταλλεύεται ένα από τα βασικά πλεονεκτήµατα της προσοµοίωσης γεγονότων.
Όπως στην προσοµοίωση γεγονότων δεν χρειάζεται κανένας έλεγχος για να συµβεί
ένα ανεξάρτητο γεγονός, έτσι και εδώ, ελαχιστοποιούνται οι έλεγχοι για την έναρξη
των δραστηριοτήτων. Ο διαχειριστής της προσοµοίωσης, έχοντας προσδιορίσει τους
χρόνους έναρξης των B δραστηριοτήτων, µπορεί να αρχίσει την επεξεργασία µιας
δραστηριότητας αµέσως µόλις έλθει ο χρόνος έναρξης, χωρίς να ελέγξει πρώτα αν
πληρούνται κάποιες συνθήκες.
3.5 ¶ÚÔÛÔÌÔ›ˆÛË ‰ÈÂÚÁ·ÛÈÒÓ
Η προσοµοίωση διεργασιών είναι µία εντελώς διαφορετική τεχνική που βασίζεται
στη εκτέλεση εργασιών που περιγράφουν την προσοµοίωση ανεξάρτητων στοιχεί-
ων ή τµηµάτων του µοντέλου. Οι εργασίες αυτές επικοινωνούν µεταξύ τους µε τη
χρήση σηµάτων που προσοµοιώνουν την επίδραση του ενός στοιχείου του µοντέλου
πάνω σε άλλο. Εισάγονται οι παρακάτω ορισµοί:
Ορισµός 3.4
∆ιατµηµατικό σήµα ονοµάζεται κάθε σήµα που είναι κοινό σε περισσότερα
από ένα τµήµατα του µοντέλου.
Ορισµός 3.5
∆ιατµηµατική επικοινωνία είναι η αλλαγή ενός διατµηµατικού σήµατος που
προέρχεται από κάποια δραστηριότητα σε ένα τµήµα του µοντέλου.
Ορισµός 3.6
Εργασία είναι µία πλήρης ατοµική λειτουργία ενός τµήµατος, δηλαδή µία
σειρά γεγονότων τοπικών στο τµήµα. Κάθε εργασία ξεκινά µε ένα διατµηµα-
τικό σήµα και σταµατά όταν συµπληρωθεί ή όταν διακοπεί από ένα άλλο δια-
τµηµατικό σήµα.
Στην προσοµοίωση διεργασιών, κάθε τµήµα του µοντέλου έχει τη δική του χρονική
λίστα γεγονότων, τα οποία εκτελούνται από το τµήµα σε χρονική σειρά. Η γενική
χρονική λίστα, την οποία διαχειρίζεται το πρόγραµµα ελέγχου, περιέχει τα σήµατα
διατµηµατικής επικοινωνίας, επίσης σε χρονολογική σειρά. Τα γεγονότα που συµ-
βαίνουν σε διαφορετικά τµήµατα του µοντέλου, µπορούν να προσοµοιωθούν µε
αυθαίρετη σειρά, ανεξάρτητα από τη χρονική τους σχέση, εφόσον βεβαίως τηρείται
η σωστή χρονική σειρά των διατµηµατικών γεγονότων.
7 33 . 5 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ π ∂ ƒ °∞ ™ π ø ¡
7 4 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
3.5.1 ∂ÎÙ¤ÏÂÛË ÙˆÓ ÂÚÁ·ÛÈÒÓ
Κατά την εκτέλεση µιας εργασίας σε ένα τµήµα του µοντέλου, η άφιξη ενός δια-
τµηµατικού σήµατος µπορεί να επηρεάσει την εξέλιξη της εργασίας. Τα σήµατα όµως
που επηρεάζουν τις εργασίες µπορούν να προκαθορισθούν, όσον αφορά το χρονικό
πλαίσιο στο οποίο µπορεί να συµβούν. Εποµένως, κατά την ανάπτυξη του µοντέλου,
ο σχεδιαστής πρέπει να γνωρίζει τα χρονικά διαστήµατα που µεσολαβούν ανάµεσα
στα διατµηµατικά σήµατα. Η προϋπόθεση αυτή κάνει την προσοµοίωση διεργασιών
περισσότερο κατάλληλη για προκαθορισµένα µοντέλα µε µικρά περιθώρια στοχα-
στικών δραστηριοτήτων. Θεωρώντας ότι η πληροφορία που αφορά τα διατµηµατι-
κά σήµατα αυτή είναι γνωστή, η διαδικασία της προσοµοίωσης µπορεί να υλοποιη-
θεί ως εξής:
1. Εκτιµάται ο νωρίτερος χρόνος που µπορεί να συµβεί κάποια διατµηµατική επι-
κοινωνία. Ο χρόνος αυτός ονοµάζεται χρόνος αναστολής της εργασίας και συµ-
βολίζεται µε Τa. Εκτιµάται, επίσης, ο αργότερος χρόνος που µπορεί να συµβεί η
διατµηµατική επικοινωνία. Ο χρόνος αυτός ονοµάζεται χρόνος λήξης (time–out)
και συµβολίζεται µε Τc.
2. Προσοµοιώνονται όλα τα γεγονότα στη χρονική λίστα του τµήµατος µέχρι το
χρόνο Τa.
3. Η εκτέλεση του τµήµατος αναστέλλεται και σηµειώνεται το ακριβές σηµείο ανα-
στολής. Ο χρόνος λήξης εισάγεται στη γενική χρονική λίστα.
4. Όταν συµβεί το διατµηµατικό γεγονός, η ανασταλείσα προσοµοίωση συνεχίζε-
ται, λαµβάνοντας υπ’ όψη την επίδραση του γεγονότος που συνέβη.
5. Αν το αναµενόµενο διατµηµατικό σήµα δεν εµφανισθεί µέχρι το χρόνο λήξης Τc,
η προσοµοίωση του τµήµατος συνεχίζεται από το σηµείο αναστολής µέχρι το
τέλος της εργασίας που συµβολίζεται µε Τb.
Το χρονικό διάγραµµα που παριστά αυτή τη διαδικασία προσοµοίωσης δίνεται στο
Σχήµα 3.8(α). Το διατµηµατικό σήµα που ξεκινά την εργασία συµβολίζεται µε Α1
ενώ το αναµενόµενο διατµηµατικό σήµα συµβολίζεται µε Α2. Το δεύτερο αυτό γεγο-
νός αναµένεται να συµβεί ανάµεσα στους χρόνους Τa και Τc. Τb είναι ο χρόνος τερ-
µατισµού της εργασίας. Η διακεκοµµένη γραµµή δείχνει τη συνέχιση της εργασίας
από τη στιγµή που συµβαίνει το διατµηµατικό σήµα Α1 µέχρι το τέλος της εργασίας.
Επειδή ο χρόνος του διαγράµµατος είναι ο προσοµοιούµενος χρόνος, ο χρόνος τερ-
µατισµού της εργασίας, Τb, έχει καθυστερήσει κατά χρόνο ίσο µε τη διαφορά χρό-
νου ανάµεσα στο Τa και το Α2, δηλαδή, το χρόνο που µεσολάβησε από την αναστο-
λή της εργασίας µέχρι να συµβεί το αναµενόµενο γεγονός. Αν το αναµενόµενο γεγο-
νός Α2 δεν συµβεί µέχρι το χρόνο λήξης Τc, η προσοµοίωση συνεχίζεται από το χρόνο
Τc µέχρι το τέλος τη συµπλήρωση της εργασίας, όπως φαίνεται στο Σχήµα 3.8(β) µε
διακεκοµµένη γραµµή.
7 53 . 5 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ π ∂ ƒ °∞ ™ π ø ¡
™¯‹Ì· 3.8
Χρονικό
διάγραµµα
προσοµοίωσης
διεργασιών
™¯‹Ì· 3.9
Χρονική λίστα
τµήµατος
µοντέλου και
γενική χρονική
λίστα
A1 Ta A2 Tb Tc
A1 Ta Tb Tc
(α)
(β)
Με βάση αυτούς τους ορισµούς των χρόνων των εργασιών, δίνεται στο Σχήµα 3.9
µία αναπαράσταση της χρονικής λίστας ενός τµήµατος του µοντέλου και της γενι-
κής χρονικής λίστας της προσοµοίωσης.
Xρονική λίσταr
τµήµατος 1
Γενική χρονική λίσταr
προσοµοίωσης
Έναρξη εργασίαςr
Γεγονός 1.1
Γεγονός 1.2
Xρόνος αναστολήςr
εργασίας (Ta)r
Γεγονός 1.3
Xρόνος τέλουςr
εργασίας (Ta)r
Έναρξη εργασίαςr
Γεγονός 2.1
∆ιατµηµατικόr
γεγονός 1
∆ιατµηµατικόr
γεγονός 2r
r
Xρόνος λήξης i (Tci)r
r
∆ιατµηµατικόr
γεγονός 3
r
Eργασία 1
Eργασία 2
7 6 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Όπως γίνεται αντιληπτό από τον ορισµό των εργασιών και τις χρονικές λίστες των
γεγονότων, η διαχείριση του χρόνου της προσοµοίωσης είναι αρκετά πολύπλοκη στην
προσοµοίωση διεργασιών γιατί πρέπει να γίνεται ταυτόχρονα και από το πρόγραµµα
ελέγχου (διαχειριστή) της προσοµοίωσης και από κάθε ρουτίνα προσοµοίωσης των
τµηµάτων του µοντέλου. Η διαχείριση όµως αυτή απλοποιείται µε τον κατάλληλο
συγχρονισµό ανάµεσα στις επί µέρους ρουτίνες και το πρόγραµµα ελέγχου.
Το διάγραµµα ροής κάθε ρουτίνας τµήµατος δίνεται στο Σχήµα 3.10.
Aρχή
Yπάρχουνr
γεγονότα στηr
λίστα i;
Eπιστροφή στοr
πρόγραµµα ελέγχου
Θέσε το χρόνο ίσο µεr
το πρώτο γεγονός στηr
λίστα
Nαι
Nαι
Nαι
Όχι
Όχι
Όχι
Eισήγαγε το χρόνοr
λήξης (Tc) στη γενικήr
χρονική λίστα
Eίναι το γεγονόςr
χρόνοςr
αναστολής;
Eκτέλεση τουr
γεγονότος;
Xρόνος = τέλοςr
εργασίας;
™¯‹Ì· 3.10
∆ιάγραµµα ροής
της ρουτίνας
διαχείρισης ενός
τµήµατος του
µοντέλου
Το τµήµα αρχίζει να εκτελεί τα γεγονότα της εργασίας του που βρίσκονται στη χρο-
νική του λίστα, µόλις λάβει το διατµηµατικό σήµα επικοινωνίας Α1. Όταν ο χρόνος
γίνει ίσος µε το χρόνο αναστολής της εργασίας (Ta) η προσοµοίωση του τµήµατος
αναστέλλεται, ο χρόνος λήξης Tc εισάγεται στην γενική χρονική λίστα και ο έλεγχος
επιστρέφει στον κεντρικό διαχειριστή της προσοµοίωσης. Μόλις συµβεί το γεγονός
Α2, ή µόλις φθάσει ο χρόνος λήξης, αν το γεγονός αυτό δεν έλθει µέχρι τότε, ο δια-
χειριστής της προσοµοίωσης επιστρέφει τον έλεγχο στη ρουτίνα του τµήµατος έτσι
ώστε να συνεχίσει η προσοµοίωση του τµήµατος µέχρι το τέλος της εργασίας.
Το απλοποιηµένο διάγραµµα ροής του διαχειριστή της προσοµοίωσης δίνεται στο
Σχήµα 3.11.
7 73 . 5 ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ¢ π ∂ ƒ °∞ ™ π ø ¡
Aρχή
∆ιαχείριση χρόνουr
προσοµοίωσης
Προσδιορισµόςr
γεγονότων προςr
εκτέλεση
Kλήση των αντίστοιχωνr
ρουτινών προγραµµάτων
Συγχρονισµός µεr
τα τµήµατα
Tέλος χρόνου;
Nαι
Όχι
Tέλος
™¯‹Ì· 3.11
∆ιάγραµµα του
προγράµµατος
ελέγχου
προσοµοίωσης
διεργασιών
7 8 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
Η προσοµοίωση διεργασιών είναι η πλέον κατάλληλη, από τις µεθόδους προσοµοί-
ωσης που εξετάσθηκαν, για εφαρµογή µε παράλληλη επεξεργασία. Κάθε επεξεργα-
στής του υπολογιστικού συστήµατος προσοµοιώνει ένα τµήµα του µοντέλου, ενώ
ένας κεντρικός επεξεργαστής εκτελεί το πρόγραµµα ελέγχου της προσοµοίωσης και
είναι υπεύθυνος για τον συγχρονισµό των άλλων επεξεργαστών στον ίδιο χρόνο προ-
σοµοίωσης. Η παράλληλη προσοµοίωση, βεβαίως, προϋποθέτει µια λογική τµηµα-
τοποίηση του µοντέλου, η οποία όµως είναι εγγενής σε πολλά προσδιορισµένα
συστήµατα, όπως για παράδειγµα τα ψηφιακά συστήµατα που αποτελούνται από
πολλά υποσυστήµατα (chips).
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.4
Σηµειώστε ποιες από τις παρακάτω προτάσεις, οι οποίες αφορούν προσοµοίωση
διεργασιών, είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Χρόνος λήξης είναι ο χρόνος κατά τον οποίο τελειώνει
µια εργασία
β) Ο προσοµοιούµενος χρόνος προχωρεί ανεξάρτητα για
κάθε τµήµα του µοντέλου
γ) Το διατµηµατικό σήµα αφορά συγκεκριµένη εργασία
του τµήµατος που το περιµένει
δ) Κάθε εργασία ενός τµήµατος αρχίζει µόλις τελειώσει η
προηγούµενη εργασία του τµήµατος
3.6 ¢›ÎÙ˘· Petri
Τα δίκτυα Petri (Petri Nets) αναπτύχθηκαν από τον C.A. Petri κατά την εκπόνηση της
διδακτορικής του διατριβής. Αποτελούν περισσότερο εργαλείο µοντελοποίησης συστη-
µάτων και όχι προσοµοίωσης, αν και τα µοντέλα δικτύων Petri µπορούν να προσο-
µοιωθούν. Τα δίκτυα Petri χρησιµοποιούνται κυρίως σε ασύγχρονα συστήµατα, ή
συστήµατα που εµφανίζουν παράλληλες και ταυτόχρονα εκτελούµενες διεργασίες.
3.6.1 ¢ÔÌ‹ ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Ένα δίκτυο Petri αποτελείται από τέσσερα µέρη:
1. ένα σύνολο θέσεων P,
2. ένα σύνολο µεταβάσεων T,
3. µια συνάρτηση εισόδου I, και
4. µια συνάρτηση εξόδου O.
Οι συναρτήσεις εισόδου και εξόδου συσχετίζουν τις θέσεις µε τις µεταβάσεις. Η
συνάρτηση εισόδου I είναι µια απεικόνιση από µια µετάβαση ti προς ένα σύνολο
θέσεων I(ti) που ονοµάζονται θέσεις εισόδου της µετάβασης. Η συνάρτηση εξόδου
O απεικονίζει µια µετάβαση ti σε ένα σύνολο θέσεων O(ti) που ονοµάζονται θέσεις
εξόδου της µετάβασης. Η δοµή ενός δικτύου Petri ορίζεται από τις θέσεις του, τις
µεταβάσεις του, τη συνάρτηση εισόδου, και τη συνάρτηση εξόδου. Ο µαθηµατικός
του ορισµός είναι ο ακόλουθος (όπου ):
Oρισµός 3.7
Μια δοµή δικτύου Petri, C, είναι µια διατεταγµένη τετράδα, .
είναι ένα πεπερασµένο σύνολο θέσεων, .
είναι ένα πεπερασµένο σύνολο µεταβάσεων,
To σύνολο των θέσεων και το σύνολο των µεταβάσεων είναι ξένα µεταξύ τους.
είναι η συνάρτηση εισόδου, µια απεικόνιση από µεταβάσεις σε
σάκους θέσεων. είναι η συνάρτηση εξόδου, µια απεικόνιση από
µεταβάσεις σε σάκους θέσεων.
Παραδείγµατα δοµών δικτύων Petri δίνονται στο Σχήµα 3.12.
Οι είσοδοι και έξοδοι µιας µετάβασης είναι σάκοι θέσεων. Σάκος είναι µια γενίκευση
των συνόλων που επιτρέπει πολλαπλές εµφανίσεις του ίδιου στοιχείου σε ένα σάκο.
O T P: Æ
I T P: Æ
m ≥ 0. T t t tm= 1 2, , ,K
n ≥ 0P p p pn= º 1 2, , ,
C P T I O= ( ), , ,
P P P P = ¥ ¥ ¥ º
7 93 . 6 ¢ π ∫ ∆ À∞ P E T R I
O t p p3 2 4( ) = ,I t p p3 2 3( ) = ,
O t p p p2 3 5 5( ) = , ,I t p2 3( ) =
O t p p1 1 3( ) = ,I t p1 1( ) =
T t t t t t= 1 2 3 4 5, , ,
P p p p p p p= 1 2 3 4 5 6, , , , ,
C P T I O= ( ), , ,
8 0 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
3.6.2 °Ú·Ê‹Ì·Ù· ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Μία δοµή δικτύου Petri αποτελείται από θέσεις και µεταβάσεις. Σε αντιστοιχία µε
αυτές, ένα γράφηµα δικτύου Petri έχει δύο είδη κόµβων. Ένας κύκλος ! αντιπρο-
σωπεύει θέση, ενώ µια γραµµή | αντιπροσωπεύει µετάβαση. Οι θέσεις και οι µετα-
βάσεις συνδέονται µε κατευθυνόµενες ακµές (βέλη), µερικές από τις οποίες κατευ-
θύνονται από θέση σε µετάβαση ενώ άλλες κατευθύνονται από µετάβαση σε θέση.
Μια ακµή που κατευθύνεται από µια θέση pi σε µια µετάβαση tj ορίζει ότι η θέση
είναι είσοδος στη µετάβαση. Οι πολλαπλές είσοδοι σε µία µετάβαση υποδηλώνονται
µε πολλαπλές ακµές από τις θέσεις εισόδου στη µετάβαση. Οι θέσεις εξόδου υπο-
δηλώνονται µε ακµές από τη µετάβαση στις θέσεις αυτές. Και πάλι, οι πολλαπλές
έξοδοι υποδηλώνονται µε πολλαπλές ακµές.
Ένα δίκτυο Petri είναι πολυγράφηµα, γιατί επιτρέπεται να υπάρχουν πολλαπλές
ακµές από τον ένα κόµβο του γραφήµατος στον άλλο. Επιπλέον, επειδή οι ακµές των
γραφηµάτων είναι κατευθυνόµενες, τα δίκτυα Petri είναι κατευθυνόµενα πολυγρα-
(α)
(β)
O t p p6 5 8( ) = , I t p p65 4 9( ) = ,
O t p5 9( ) = I t p p5 6 7( ) = ,
O t p4 4( ) = I t p4 3( ) = O t p3 6( ) = I t p p3 2 5( ) = ,
O t p p2 1 7( ) = , I t p2 8( ) =
O t p p1 2 3( ) = ,I t p1 1( ) =
T t t t t t t= 1 2 3 4 5 6, , , ,
P p p p p p p p p p= 1 2 3 4 5 6 7 8 9, , , , , , , ,
C P T I O= ( ), , ,
O t p5 6( ) = I t p5 2( ) =
O t p4 4( ) = I t p p p p4 4 5 5 5( ) = , , , ,
™¯‹Ì· 3.12
Παραδείγµατα
δοµών δικτύων
Petri
φήµατα. Τέλος, οι κόµβοι ενός γραφήµατος Petri µπορούν να χωρισθούν σε δύο σύνο-
λα (θέσεις και µεταβάσεις), έτσι ώστε κάθε ακµή να κατευθύνεται από στοιχείο του
ενός συνόλου (θέση ή µετάβαση) σε στοιχείο του άλλου συνόλου (µετάβαση ή θέση).
Το γράφηµα είναι, εποµένως, και διµερές. Συνοψίζοντας, τα γραφήµατα αυτά είναι
διµερή κατευθυνόµενα πολυγραφήµατα και ονοµάζονται απλώς γραφήµατα δικτύων
Petri. Τα γραφήµατα των δικτύων Petri του Σχήµατος 3.12 δίνονται στο Σχήµα 3.13.
8 13 . 6 ¢ π ∫ ∆ À∞ P E T R I
p2
p1
p2
p1
p7
p8
p9
t1
t1
t2
t2
t3
t3
t4
t4
t5
t5 t6
p3
p3
p6
p4
p4
p5
p5
p6
(α)
(β)
™¯‹Ì· 3.13
Γραφήµατα
των δικτύων Petri
του Σχήµατος 3.12
8 2 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
3.6.3 ª·ÚηڛÛÌ·Ù· ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Η τοποθέτηση κουπονιών σε ένα δίκτυο Petri ονοµάζεται «µαρκάρισµα» του δικτύ-
ου. Το κουπόνι είναι θεµελιώδες στοιχείο των δικτύων Petri (όπως οι θέσεις και οι
µεταβάσεις). Τα κουπόνια τοποθετούνται στις θέσεις ενός δικτύου και θεωρείται ότι
διαµένουν εκεί.
Ο αριθµός και η θέση των κουπονιών µπορεί να αλλάξει κατά την «εκτέλεση» ενός
δικτύου Petri. Εποµένως, τα κουπόνια χρησιµοποιούνται για να ορίσουν την εκτέ-
λεση ενός δικτύου Petri.
Ορισµός 3.8
Το µαρκάρισµα µ ενός δικτύου Petri είναι µια συνάρτηση από
το σύνολο των θέσεων P στο σύνολο των µη αρνητικών αριθµών N. .
Ένα µαρκαρισµένο δίκτυο Petri M=(C,µ) είναι µια δοµή δικτύου Petri C=(P,T,I,O)
και ενός µαρκαρίσµατος µ. Αυτό γράφεται συνήθως ως M=(P,T,I,O,µ). Στο Σχήµα
3.14 δίνεται ένα παράδειγµα µαρκαρισµένου δικτύου Petri όπου τα κουπόνια ανα-
παρίστανται µε τελείες.
m:P NÆ
C P T I O= ( ), , ,
p1p8
p7
p9
p5
p6
p4p3
p2
t4
t1
t2
t3
t6t5
™¯‹Ì· 3.14
Μαρκαρισµένο
δίκτυο Petri
3.6.4 ∂ÎÙ¤ÏÂÛË ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Η εκτέλεση ενός δικτύου Petri ελέγχεται από τον αριθµό και την κατανοµή των κου-
πονιών στο δίκτυο. Συγκεκριµένα, τα κουπόνια που βρίσκονται στις διάφορες θέσεις
του δικτύου ελέγχουν την εκτέλεση των µεταβάσεων, που ονοµάζεται «πυροδότη-
ση». Όταν µια µετάβαση πυροδοτείται, αφαιρούνται κουπόνια από τις θέσεις εισό-
δου της µετάβασης και δηµιουργούνται νέα κουπόνια τα οποία τοποθετούνται στις
θέσεις εξόδου της µετάβασης. Η εκτέλεση, εποµένως, ενός δικτύου Petri γίνεται µε
πυροδοτήσεις των µεταβάσεών του.
Μια µετάβαση µπορεί να πυροδοτηθεί αν είναι ενεργοποιηµένη. Μια µετάβαση ενερ-
γοποιείται, όταν κάθε µια από τις θέσεις εισόδου της έχει τουλάχιστον τόσα κουπό-
νια όσες και οι ακµές που κατευθύνονται από τη θέση στη µετάβαση. Απαιτούνται,
δηλαδή, πολλαπλά κουπόνια για πολλαπλές ακµές. Τα κουπόνια των θέσεων εισόδου
που ενεργοποιούν τη µετάβαση είναι τα ενεργοποιά κουπόνια της µετάβασης. Για
παράδειγµα, αν οι είσοδοι στη µετάβαση t4 είναι οι θέσεις p1 και p2, τότε η µετάβαση
t4 είναι ενεργοποιηµένη αν η θέση p1 έχει ένα τουλάχιστον κουπόνι και η θέση p4 έχει
επίσης ένα τουλάχιστον κουπόνι. Για να είναι ενεργοποιηµένη µια µετάβαση t7 µε
σάκο εισόδου p6, p6, p6, η θέση p6 θα πρέπει να έχει τρία τουλάχιστον κουπόνια.
Μια µετάβαση πυροδοτείται µε την αφαίρεση όλων των ενεργοποιών κουπονιών από
τις θέσεις εισόδου της µετάβασης και την τοποθέτηση σε κάθε θέση εξόδου της µετά-
βασης ενός κουπονιού για κάθε ακµή από τη µετάβαση στη θέση. Εποµένως, όταν
υπάρχουν πολλαπλές ακµές εξόδου δηµιουργούνται πολλαπλά κουπόνια. Μια µετά-
βαση t3 µε I(t3)=p2 και O(t3)=p7, p13 είναι ενεργοποιηµένη, όταν υπάρχει του-
λάχιστον ένα κουπόνι στη θέση p2. Όταν η t3 πυροδοτείται, αφαιρείται ένα κουπόνι
από την p2 και τοποθετείται ένα κουπόνι στην p7 και ένα κουπόνι στην p13. Αν η θέση
p2 έχει επί πλέον κουπόνια, αυτά δεν επηρεάζονται από την πυροδότηση της t3 (αν
και µπορεί να ενεργοποιήσει επόµενες πυροδοτήσεις της t3). Μια µετάβαση t2 µε
I(t2)=p21, p23 και O(t2)=p23, p25, p25 πυροδοτείται µε την αφαίρεση ενός κουπο-
νιού από την p21 και ενός κουπονιού από την p23 και την τοποθέτηση ενός κουπονι-
ού στη p23 και δύο κουπονιών στην p25 (επειδή η p25 έχει πολλαπλότητα δύο).
Ορισµός 3.9
Σε ένα δίκτυο Petri µε µαρκάρισµα µ, µια µετάβαση tj είναι δυνατό να πυρο-
δοτηθεί όταν είναι ενεργοποιηµένη. Η πυροδότηση µιας µετάβασης θα αλλά-
ξει γενικά το µαρκάρισµα µ του δικτύου Petri σε ένα νέο µαρκάρισµα µ΄.
Για παράδειγµα, έστω ότι δίνεται το µαρκαρισµένο δίκτυο Petri του Σχήµατος 3.14.
Στο δίκτυο αυτό υπάρχουν τέσσερις ενεργοποιηµένες µεταβάσεις, οι t1, t2, t4, και t5.
Αν πυροδοτηθεί η µετάβαση t5, θα αφαιρεθεί ένα κουπόνι από τη θέση p7 και ένα
από την p6 και θα τοποθετηθεί ένα κουπόνι στη θέση p9. Το νέο µαρκάρισµα µετά
την πυροδότηση της t5 φαίνεται στο Σχήµα 3.15(α). Αν πυροδοτηθεί η t1, θα αφαι-
8 33 . 6 ¢ π ∫ ∆ À∞ P E T R I
8 4 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
ρεθούν κουπόνια από τις θέσεις p1 και p3 και θα τοποθετηθεί ένα κουπόνι στη θέση
p2. Το νέο µαρκάρισµα µετά την πυροδότηση της t1 φαίνεται στο Σχήµα 3.15(β).
p1
p1
p8
p8
p9
p9
p6
p6
p5
p5
p3
p3
p4
p4
p2
p2
p7
p7
(α)
(β)
t2
t2
t5
t5
t3
t3
t1
t1
t4
t4
t6
t6
™¯‹Ì· 3.15
Παράδειγµα
πυροδότησης
µεταβάσεων του
δικτύου Petri
Σχήµατος 3.1
3.6.5 ÃÒÚÔÈ Î·Ù·ÛÙ¿ÛÂˆÓ ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Η κατάσταση ενός δικτύου Petri καθορίζεται από το µαρκάρισµά του. Η πυροδότη-
ση µιας µετάβασης αντιπροσωπεύει µια αλλαγή της κατάστασης του δικτύου Petri
µέσω της αλλαγής του µαρκαρίσµατος του δικτύου. Ο χώρος καταστάσεων ενός
δικτύου Petri µε n θέσεις είναι το σύνολο όλων των µαρκαρισµάτων, δηλαδή Nn. Η
αλλαγή της κατάστασης, που προκαλείται από την πυροδότηση µιας µετάβασης, ορί-
ζεται από µια συνάρτηση δ, η οποία ονοµάζεται συνάρτηση επόµενης κατάστα-
σης. Όταν η συνάρτηση αυτή εφαρµόζεται σε ένα µαρκάρισµα µ και µια µετάβαση
tj, δίνει το νέο µαρκάρισµα που προκύπτει από την πυροδότηση της µετάβασης tj στο
µαρκάρισµα µ. Επειδή η tj µπορεί να πυροδοτηθεί µόνο όταν είναι ενεργοποιηµένη,
η δ(µ,tj) είναι απροσδιόριστη αν η tj δεν είναι ενεργοποιηµένη στο µαρκάρισµα µ.
Αν η tj είναι ενεργοποιηµένη, τότε δ(µ,tj)=µ΄, όπου µ΄ είναι το µαρκάρισµα που προ-
κύπτει από την αφαίρεση κουπονιών από τις θέσεις εισόδου της tj και την τοποθέ-
τηση κουπονιών στις θέσεις εξόδου της tj.
Με δεδοµένο ένα δίκτυο Petri C(P,T,I,O) και ένα αρχικό µαρκάρισµα µ0, µπορεί να
εκτελεσθεί το δίκτυο Petri µε διαδοχικές πυροδοτήσεις των µεταβάσεών του. Η πυρο-
δότηση µιας µετάβασης tj, η οποία είναι ενεργοποιηµένη στο αρχικό µαρκάρισµα,
παράγει ένα νέο µαρκάρισµα µ1=δ(µ0,tj ). Στο νέο αυτό µαρκάρισµα, µπορεί να πυρο-
δοτηθεί οποιαδήποτε ενεργοποιηµένη µετάβαση, έστω η tk, και να παράγει ένα νέο
µαρκάρισµα µ2=δ(µ0,tk). Η διαδικασία αυτή µπορεί να επαναληφθεί όσο υπάρχει µία
τουλάχιστον ενεργοποιηµένη µετάβαση σε κάθε µαρκάρισµα. Αν προκύψει ένα µαρ-
κάρισµα στο οποίο καµία µετάβαση δεν είναι ενεργοποιηµένη, τότε καµία µετάβα-
ση δεν µπορεί να πυροδοτηθεί και η συνάρτηση επόµενης κατάστασης είναι απροσ-
διόριστη για όλες τις µεταβάσεις, άρα η εκτέλεση πρέπει να σταµατήσει. Η κατά-
σταση αυτή ονοµάζεται αδιέξοδο. Αν προκύψει ένα µαρκάρισµα που είχε προκύψει
και προηγουµένως, η εκτέλεση του δικτύου Petri µπορεί να συνεχιστεί επ’ άπειρο.
3.6.6 ™‡ÁÎÚÔ˘ÛË
∆ύο µεταβάσεις λέγεται ότι βρίσκονται σε σύγκρουση όταν είναι και οι δύο ενερ-
γοποιηµένες και τα σύνολα εισόδου τους έχουν τουλάχιστον µια κοινή θέση, η οποία
έχει λιγότερα κουπόνια από όσα απαιτούνται για να πυροδοτηθούν και οι δύο µετα-
βάσεις. Εποµένως, αν πυροδοτηθεί η µία µετάβαση, η άλλη δεν µπορεί να πυροδο-
τηθεί µιας και έχουν αφαιρεθεί κουπόνια από την κοινή θέση εισόδου και η δεύτε-
ρη αυτή µετάβαση δεν είναι πλέον ενεργοποιηµένη. Ένα παράδειγµα σύγκρουσης
µεταβάσεων δίνεται στο Σχήµα 3.16.
Η θεωρία των δικτύων Petri δεν καθορίζει τη σειρά µε την οποία θα πρέπει να πυρο-
8 53 . 6 ¢ π ∫ ∆ À∞ P E T R I
8 6 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
δοτηθούν οι ενεργοποιηµένες µεταβάσεις. Εναπόκειται εποµένως στον σχεδιαστή
του µοντέλου του δικτύου, να καθορίσει τη σειρά πυροδότησης των µεταβάσεων
ανάλογα, είτε µε την έννοια που έχει κάθε θέση και µετάβαση στο µοντέλο είτε µε
τους χρονικούς περιορισµούς που θα τεθούν στο µοντέλο.
3.6.7 ∞ÛÊ¿ÏÂÈ· ÙˆÓ ‰ÈÎÙ‡ˆÓ Petri
Μια από τις σηµαντικότερες ιδιότητες των δικτύων Petri, κυρίως όταν µοντελοποι-
ούνται συσκευές, είναι η ασφάλεια. Μια θέση σε ένα δίκτυο Petri είναι ασφαλής,
αν ο αριθµός των κουπονιών στη θέση αυτή δεν είναι ποτέ µεγαλύτερος από ένα.
Ένα δίκτυο Petri είναι ασφαλές αν όλες οι θέσεις του είναι ασφαλείς.
p1
p1 p1
p2
p2p2
p3
p3p3
t1
t1 t1
t2
t2 t2
Πυρ
οδοτ
είτα
ι ηr
µετ
άβαση t 1
Πυροδοτείτα
ι ηr
µετά
βαση t
2
™¯‹Ì· 3.16
Παράδειγµα
σύγκρουσης
µεταβάσεων
Ορισµός 3.10
Μια θέση pi ενός δικτύου Petri C=(P, T, I,O) µε αρχικό µαρκάρισµα µ είναι
ασφαλής αν για όλα τα επόµενα µαρκαρίσµατα µ΄, . Ένα δίκτυο
Petri είναι ασφαλές αν κάθε θέση αυτού του δικτύου είναι ασφαλής.
3.6.8 ªÔÓÙÂÏÔÔ›ËÛË Ì ‰›ÎÙ˘· Petri
Κατά τη µοντελοποίηση µε δίκτυα Petri, θα πρέπει πρώτα να καθορισθούν οι έννοι-
ες των θέσεων και των µεταβάσεων που αντιστοιχούν στις οντότητες και δραστη-
ριότητες του συστήµατος προς µελέτη. Το µοντέλο του συστήµατος µπορεί στη συνέ-
χεια να προσοµοιωθεί µε την εκτέλεση του δικτύου Petri, έτσι ώστε να εξαχθούν
συµπεράσµατα για τη συµπεριφορά του µοντέλου.
¶·Ú¿‰ÂÈÁÌ· 3.3
Μια εταιρεία µεταφορών διαθέτει δύο µεγέθη φορτηγών, µικρά και µεγάλα. ∆ια-
θέτει επίσης δύο κατηγορίες οδηγών: έµπειρους οδηγούς, που µπορούν να οδηγή-
σουν οποιοδήποτε µέγεθος φορτηγού, και νέους οδηγούς, που µπορούν να οδηγή-
σουν µόνο µικρά φορτηγά. Για κάθε παραγγελία µεταφοράς απαιτείται συγκεκριµέ-
νο µέγεθος φορτηγού. Αν το φορτηγό είναι διαθέσιµο και υπάρχει διαθέσιµος και ο
κατάλληλος οδηγός, τότε εκτελείται η µεταφορά. Όταν τελειώσει η µεταφορά, ο οδη-
γός επιστρέφει το αυτοκίνητο και πηγαίνει στο σπίτι του να ξεκουραστεί. Μετά το
τέλος της ξεκούρασης, ο οδηγός είναι και πάλι διαθέσιµος να εκτελέσει άλλη µετα-
φορά. Η εταιρεία διαθέτει τελευταίας τεχνολογίας φορτηγά που δεν χρειάζονται
συντήρηση ανάµεσα στις µεταφορές. Το δίκτυο Petri για τη λειτουργία της εταιρεί-
ας δίνεται στο Σχήµα 3.17.
Οι έννοιες των θέσεων και µεταβάσεων του δικτύου είναι οι εξής:
p1: ∆ιαθέσιµα µικρά φορτηγά
p2: ∆ιαθέσιµοι έµπειροι οδηγοί
p3: ∆ιαθέσιµα µεγάλα φορτηγά
p4: Έµπειροι οδηγοί εκτελούν µεταφορές µε µικρά φορτηγά
p5: Έµπειροι οδηγοί ξεκουράζονται
p6: Έµπειροι οδηγοί εκτελούν µεταφορές µε µεγάλα φορτηγά
p7: Νέοι οδηγοί εκτελούν µεταφορές µε µικρά φορτηγά
p8: ∆ιαθέσιµοι νέοι οδηγοί
¢ £m ( )pi 1
8 73 . 6 ¢ π ∫ ∆ À∞ P E T R I
8 8 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
p9: Νέοι οδηγοί ξεκουράζονται
t1: Έµπειρος οδηγός παίρνει µεγάλο φορτηγό για µεταφορά
t2: Έµπειρος οδηγός επιστρέφει από ξεκούραση
t3: Έµπειρος οδηγός παίρνει µικρό φορτηγό για µεταφορά
t4: Έµπειρος οδηγός µε µεγάλο φορτηγό επιστρέφει από τη µεταφορά
t5: Έµπειρος οδηγός µε µικρό φορτηγό επιστρέφει από τη µεταφορά
t6: Νέος οδηγός παίρνει µικρό φορτηγό για µεταφορά
t7: Νέος οδηγός επιστρέφει από µεταφορά
t8: Νέος οδηγός επιστρέφει από ξεκούραση
Είναι προφανές ότι οι έννοιες των θέσεων συνδέονται και µε τα κουπόνια που θα
p1
p4
p6
p3
p9
p7
p8
p5
p2
t1
t8
t7
t6
t3t2
t4 t5
r
™¯‹Ì· 3.17
∆ίκτυο Petri
της εταιρείας
µεταφορών
τοποθετηθούν στις θέσεις. Για παράδειγµα, ο αριθµός των κουπονιών στη θέση p1
είναι και ο αριθµός των διαθέσιµων µεγάλων φορτηγών σε κάποια δεδοµένη χρονι-
κή στιγµή. Εποµένως, κατά το αρχικό µαρκάρισµα του δικτύου, µ0, θα τοποθετηθούν:
• στη θέση p1 αριθµός κουπονιών ίσος µε τον αριθµό των µεγάλων φορτηγών που
διαθέτει η εταιρεία,
• στη θέση p3 αριθµός κουπονιών ίσος µε τον αριθµό των µικρών φορτηγών που
διαθέτει η εταιρεία,
• στη θέση p2 αριθµός κουπονιών ίσος µε τον αριθµό των έµπειρων οδηγών που δια-
θέτει η εταιρεία, και
• στη θέση p8 αριθµός κουπονιών ίσος µε τον αριθµό των νέων οδηγών που διαθέ-
τει η εταιρεία.
Είναι, επίσης, προφανές ότι η έννοια των µεταβάσεων συνδέεται και µε την πυρο-
δότησή τους. Για παράδειγµα, όταν υπάρχουν κουπόνια στη θέση p1, δηλαδή διαθέ-
σιµα µεγάλα φορτηγά, και κουπόνια στη θέση p2, δηλαδή διαθέσιµοι έµπειροι οδη-
γοί, τότε µπορεί να πυροδοτηθεί η µετάβαση t2, δηλαδή, να αρχίσει µια µεταφορά
µε µεγάλο φορτηγό που οδηγείται από έµπειρο οδηγό. Για τον λόγο αυτό η έννοια
της µετάβασης t1 είναι: «Έµπειρος οδηγός παίρνει µεγάλο φορτηγό για µεταφορά».
Το δίκτυο Petri του Σχήµατος 3.17 δεν είναι το µόνο που αντιστοιχεί στη λειτουρ-
γία αυτής της εταιρείας. Ανάλογα µε το τι πρόκειται να µελετηθεί, µπορούν να προ-
στεθούν ή να αφαιρεθούν θέσεις και µεταβάσεις ή ακόµα και να αλλάξει η έννοια
κάποιων θέσεων και µεταβάσεων.
Επειδή τα δίκτυα Petri είναι κυρίως εργαλεία µοντελοποίησης, και όχι προσοµοίω-
σης, δεν έχουν ενσωµατωµένη την έννοια του χρόνου. ∆εν είναι δηλαδή προκαθο-
ρισµένο πότε θα πυροδοτηθεί κάποια µετάβαση που είναι ενεργοποιηµένη. Για τον
λόγο αυτό θα πρέπει ο σχεδιαστής να εισάγει την έννοια του χρόνου κατά την προ-
σοµοίωση του µοντέλου, έτσι ώστε οι µεταβάσεις να πυροδοτούνται µε τη σωστή
σειρά και στους χρόνους που καθορίζονται από το µοντέλο. Επιπλέον, επειδή η θεω-
ρία των δικτύων Petri δεν καθορίζει ποια µετάβαση πυροδοτείται σε περίπτωση
σύγκρουσης, αυτό θα πρέπει να καθορισθεί από το µοντέλο. Επιστρέφοντας στο
προηγούµενο Παράδειγµα, αν υπάρχει από ένα κουπόνι στις θέσεις p1, p2 και p8, που
σηµαίνει ότι υπάρχει διαθέσιµο ένα µικρό φορτηγό και δύο οδηγοί διαφορετικής
εµπειρίας, τότε οι µεταβάσεις t1 και t6 βρίσκονται σε σύγκρουση. Στην περίπτωση
αυτή, είναι πιθανόν το µοντέλο να καθορίζει ότι θα πυροδοτηθεί η µετάβαση t6 έτσι
ώστε, αν επιστρέψει µεγάλο φορτηγό, να είναι σε θέση ο έµπειρος οδηγός να εκτε-
8 93 . 6 ¢ π ∫ ∆ À∞ P E T R I
9 0 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
λέσει µια παραγγελία που απαιτεί µεγάλο φορτηγό. Αντίστοιχα, αν υπάρχει από ένα
κουπόνι στις θέσεις p1, p2 και p3, που σηµαίνει ότι υπάρχει διαθέσιµος ένας έµπει-
ρος οδηγός και δύο φορτηγά διαφορετικού µεγέθους, τότε οι µεταβάσεις t1 και t3 βρί-
σκονται σε σύγκρουση. Στην περίπτωση αυτή, αν υπάρχουν παραγγελίες διαφορε-
τικού µεγέθους, είναι πιθανόν το µοντέλο να καθορίζει ότι θα πυροδοτηθεί η µετά-
βαση t3, δηλαδή, ότι θα εκτελεσθεί η µεγάλη παραγγελία. Με βάση αυτόν τον κανό-
να, αν επιστρέψει ένας νέος οδηγός, θα είναι σε θέση να εκτελέσει την παραγγελία
που απαιτεί µικρό φορτηγό.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.5
Αναφέρετε τουλάχιστον τρία από τα τέσσερα µέρη που αποτελούν ένα δίκτυο Petri.
¢Ú·ÛÙËÚÈfiÙËÙ· 3.1
Σχεδιάστε το διάγραµµα κύκλου δραστηριοτήτων του συστήµατος που δίνεται
στο Παράδειγµα 3 του κεφαλαίου 3.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 3.6
Σηµειώστε ποιες από τις παρακάτω προτάσεις, οι οποίες αφορούν τα δίκτυα Petri,
είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Οι θέσεις εισόδου µιας µετάβασης µπορεί να είναι και
θέσεις εξόδου της
β) Το µαρκάρισµα ενός δικτύου γίνεται µε την
τοποθέτηση κουπονιών σε όλες τις θέσεις του
γ) Αν κάθε θέση ενός δικτύου έχει τουλάχιστον δύο
κουπόνια, δεν είναι δυνατόν να έχουµε σύγκρουση
δ) Το µαρκάρισµα µ΄ που προκύπτει από την πυροδότηση
µιας µετάβασης είναι διαφορετικό από το
προηγούµενο µαρκάρισµα µ
9 13 . 6 ¢ π ∫ ∆ À∞ P E T R I
¢Ú·ÛÙËÚÈfiÙËÙ· 3.2
Ένα υπολογιστικό σύστηµα έχει έναν σκληρό δίσκο και έναν εκτυπωτή. Στο σύστη-
µα εκτελούνται δύο προγράµµατα (διεργασίες), οι οποίες µπορεί να ζητήσουν τη
χρήση ενός εκτυπωτή και ενός δίσκου κατά τη διάρκεια της εκτέλεσής τους. Σχε-
διάστε το διάγραµµα Petri για το σύστηµα αυτό. Αν οι διεργασίες χρειάζονται ταυ-
τόχρονα και τον δίσκο και τον εκτυπωτή, για να συνεχίσουν να εκτελούνται, δείξ-
τε πως αυτό µπορεί να οδηγήσει σε αδιέξοδο.
¢Ú·ÛÙËÚÈfiÙËÙ· 3.3
Σε ένα λειτουργικό σύστηµα µε πολυεπεξεργασία, οι διεργασίες που εκτελούνται,
βρίσκονται σε µία από τις εξής τρεις καταστάσεις:
Α) Έτοιµες προς επεξεργασία. Οι διεργασίες περιµένουν στην ουρά για να «τρέ-
ξουν» στον επεξεργαστή.
Β) Τρέχουν. Μόνο µια διεργασία µπορεί να βρίσκεται σ’ αυτήν την κατάσταση και
είναι αυτή που επεξεργάζεται η κεντρική µονάδα επεξεργασίας.
Γ) Περιµένουν. Οι διεργασίες περιµένουν να τελειώσει κάποια λειτουργία εισό-
δου/εξόδου που ζήτησαν.
Για τη διαχείριση των διεργασιών, το λειτουργικό σύστηµα εφαρµόζει τους ακό-
λουθους κανόνες:
Μια διεργασία περνά από την κατάσταση (Β) στην κατάσταση (Α) όταν συµπλη-
ρώσει ένα κβάντο χρόνου επεξεργασίας.
Μια διεργασία περνά από την κατάσταση (Β) στην κατάσταση (Γ) όταν ζητήσει
κάποια λειτουργία εισόδου/εξόδου. Όταν η λειτουργία αυτή συµπληρωθεί, η διερ-
γασία περνά από την κατάσταση (Γ) στην κατάσταση (Α).
Μια διεργασία περνά από την κατάσταση (Α) στην κατάσταση (Β) όταν ο επεξερ-
γαστής είναι ελεύθερος και η διεργασία είναι η πρώτη που περιµένει στην ουρά.
∆ώστε το γράφηµα του δικτύου Petri για το σύστηµα αυτό επεξηγώντας τις θέσεις
και µεταβάσεις του δικτύου.
9 2 K E º A § A I O 3 : ∞ ¡ ∞ ¶ ∆ À • ∏ M √ ¡ ∆ ∂ § ø ¡ ¢ π ∞ ∫ ƒ π ∆ ø ¡ ™ À ™ ∆ ∏ ª ∞∆ ø ¡
™‡ÓÔ„Ë
Στο κεφάλαιο αυτό παρουσιάσθηκαν οι µεθοδολογίες µοντελοποίησης και προσο-
µοίωσης διακριτών συστηµάτων, δηλαδή συστηµάτων των οποίων η κατάσταση αλλά-
ζει σε συγκεκριµένες χρονικές στιγµές.
Στην ενότητα 3.1 δόθηκαν οι ορισµοί των βασικών µεθοδολογιών ενώ στις ενότητες
3.2, 3.3 και 3.5 έγινε περιγραφή των προσοµοιώσεων γεγονότων, δραστηριοτήτων
και διεργασιών αντίστοιχα. Στην ενότητα 3.4 δόθηκε µια ενδιάµεση µεθοδολογία προ-
σοµοίωσης που αποτελεί συνδυασµό των προσοµοιώσεων γεγονότων και δραστη-
ριοτήτων. Οι µεθοδολογίες αυτές προσοµοίωσης δεν αποτελούν µηχανισµούς ροής
του χρόνου της προσοµοίωσης, αν και σχετίζονται µε τους δύο βασικούς µηχανισµούς
που αναπτύχθηκαν στο κεφάλαιο 1.
Τέλος, στην ενότητα 3.6 γίνεται µια σύντοµη εισαγωγή στη θεωρία των δικτύων Petri,
τα οποία αποτελούν ένα εξαιρετικό εργαλείο µοντελοποίησης ορισµένων συστηµά-
των, συστήµατα για τα οποία δεν ενδιαφέρουν πολύ οι χρονικές µεταβολές αλλά
κυρίως οι καταστάσεις από τις οποίες διέρχεται ένα σύστηµα.
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. J.N. Buxton, J.G. Laski, «Control and Simulation Language,» The Computer
Journal, 1963.
2. G.S. Fishman, Concepts and Methods for Discrete Event Digital Simulation,
Wiley, New York, 1973.
3. P.R. Hill, HOCUS, P–E Group, Egham, England, 1971.
4. P.J. Kiviat, Digital Computer Simulation: Modeling Concepts, RAND Memo
RM–5883–PR RAND Corp., Santa Monica, CA, Αύγ. 1967.
5. M.R. Lackner, «Toward a general Simulation Capability,» Proceedings of the
SJCC, San Francisco CA, Μάιος 1–3, 1962, σελ. 1–14.
6. M.H. McDougall, «System Level Simulation,» in M. Breuer ed., Digital System
Design Automation, vol. 2, Computer Science Press, 1975.
7. H.M. Markowitz, B. Hausner, and H.W. Karr, SIMSCRIPT: A Simulation
Programming Language, RAND Corporation, RM–3310–pr, Prentice–Hall,
Englewood Cliffs, USA, 1962.
8. M. Pidd, Computer Simulation in Management Science, 3η έκδοση, Wiley, 1992.
9. E.C. Russel, SIMSCRIPT II.5 Programming Language, CACI, Los Angeles, 1987.
10.K.D. Tocher, The Art of Simulation, English Universities Press, London, 1963.
11.C. A. Petri, Kommunikation mut Automaten, Schriften des IIM Nr. 2, Bonn, 1962,
στα Γερµανικά.
12. L.J. Peterson, Petri Net Theory and the Modeling of Systems, Prentice–Hall, 1981.
9 3µ π µ § π √ ° ƒ∞ º π ∫ ∂ ™ ∞ ¡ ∞ º √ ƒ ∂ ™
AÓ¿Ù˘ÍË ¶ÚÔÁÚ·ÌÌ¿ÙˆÓ ¶ÚÔÛÔÌÔ›ˆÛ˘
™ÎÔfi˜
Μετά την κατασκευή των µοντέλων προσοµοίωσης ακολουθεί η κατασκευή
των προγραµµάτων προσοµοίωσης. Στόχος του κεφαλαίου αυτού είναι παρου-
σιάσει τόσο τις εξειδικευµένες γλώσσες προσοµοίωσης, όσο και τις αρχές σχε-
δίασης προγραµµάτων προσοµοίωσης σε γλώσσες γενικής χρήσεως.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού θα είστε σε θέση να:
• αναφέρετε τουλάχιστον δύο πλεονεκτήµατα και δύο µειονεκτήµατα των
εξειδικευµένων γλωσσών προσοµοίωσης
• αναφέρετε τουλάχιστον τρεις ευκολίες ή αυτοµατισµούς που προσφέρουν
οι γλώσσες προσοµοίωσης
• αναφέρετε τουλάχιστον πέντε παράγοντες που επηρεάζουν την επιλογή µιας
γλώσσας προσοµοίωσης
• διακρίνετε τις γλώσσες προσοµοίωσης ανάλογα µε το είδος της προσο-
µοίωσης που προσφέρουν
• γράψετε ένα απλό πρόγραµµα προσοµοίωσης σε GPSS
• περιγράψετε πώς υλοποιείται ο µηχανισµός ροής χρόνου σε µια γλώσσα
γενικής χρήσεως
• περιγράψετε πώς γίνεται η εισαγωγή και εξαγωγή στοιχείων στις βασικές
δοµές των ουρών ενός προγράµµατος προσοµοίωσης, σε γλώσσα γενικής
χρήσεως.
ŒÓÓÔȘ ÎÏÂȉȿ
• εξειδικευµένη γλώσσα προσοµοί-
ωσης
• GASP, GPSS, SIMSCRIPT,
MODSIM, SIMULA
• αντικειµενοστραφής γλώσσα
• µεταφερσιµότητα µοντέλου
• µεταγλώσσα
• µπλοκ GPSS
• δοσοληψία
• εντολές ελέγχου
• χρονική λίστα, χρονική ουρά
• συνδεδεµένη λίστα
• πίνακας γεγονότων
4∫ ∂ º ∞ § ∞ π √
9 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Η ανάπτυξη προγραµµάτων προσοµοίωσης µπορεί να γίνει µε δύο διαφορε-
τικούς τρόπους: είτε µε τη χρήση γλωσσών που είναι εξειδικευµένες για προ-
σοµοίωση είτε µε τη χρήση γλωσσών προγραµµατισµού γενικής χρήσεως,
όπως η FORTRAN, η Pascal, η C, κτλ. Στην πρώτη περίπτωση, οι εξειδι-
κευµένες γλώσσες αυτοµατοποιούν τις περισσότερες βασικές λειτουργίες µιας
προσοµοίωσης, όπως είναι ο µηχανισµός χρόνου, η παραγωγή τυχαίων αριθ-
µών, ο έλεγχος των συνθηκών τερµατισµού, η συλλογή των δεδοµένων, κτλ.
∆εν προσφέρουν όµως την ευελιξία που έχουν οι γλώσσες γενικής χρήσεως,
όπου µπορεί κανείς να προγραµµατίσει κάθε είδους σύστηµα, όσο πολύπλο-
κο και αν είναι. Πολλές βέβαια από τις εξειδικευµένες γλώσσες δίνουν τη
δυνατότητα στο χρήστη να ενσωµατώσει ρουτίνες και υποπρογράµµατα γραµ-
µένα σε άλλη γλώσσα. Όταν όµως ο αριθµός των ρουτινών αυτών είναι µεγά-
λος, καθίσταται δύσκολη η συντήρηση του προγράµµατος και η ανίχνευση
λαθών, τα περισσότερα των οποίων εµφανίζονται στην επικοινωνία της εξει-
δικευµένης γλώσσας µε τις ρουτίνες του χρήστη. Σ’ αυτή την περίπτωση, είναι
προτιµότερο να αναπτυχθεί εξ’ ολοκλήρου η εφαρµογή σε γλώσσα γενικής
χρήσεως, µε την οποία έχει ο προγραµµατιστής πλήρη έλεγχο της ροής του
προγράµµατος και της διασύνδεσης των τµηµάτων του.
Στην ενότητα 4.1 περιγράφονται τα γενικά χαρακτηριστικά των εξειδικευµέ-
νων γλωσσών προσοµοίωσης, η µεθοδολογία επιλογής µιας εξειδικευµένης
γλώσσας και συγκριτικά στοιχεία των πιο διαδεδοµένων γλωσσών προσο-
µοίωσης. Στις υποενότητες 4.1.3 – 4.1.6 δίνονται στοιχεία για τις γλώσσες
SIMSCSIPT, MODSIM, SIMULA και GPSS. Τα στοιχεία που δίνονται για
την GPSS είναι αρκετά για να βοηθήσουν τον αναγνώστη να κατασκευάσει
απλά προγράµµατα στη γλώσσα αυτή.
Στην ενότητα 4.2 εξηγούνται οι βασικές αρχές κατασκευής προγραµµάτων
προσοµοίωσης µε γλώσσες γενικής χρήσεως. ∆ίνεται ιδιαίτερη έµφαση στις
δοµές δεδοµένων που απαιτούνται, καθώς και στη διαχείριση του χρόνου
προσοµοίωσης.
Για τη µελέτη του κεφαλαίου αυτού δεν απαιτούνται ιδιαίτερες γνώσεις από
τον αναγνώστη εκτός από τις βασικές γνώσεις προγραµµατισµού και δοµών
δεδοµένων, τις οποίες ο αναγνώστης µπορεί να αναζητήσει στα βιβλία των
Biggs [Biggs 1989] και Horowitz [Horowitz 1994].
4.1 ∂ÍÂȉÈÎÂ˘Ì¤Ó˜ ÁÏÒÛÛ˜ ÚÔÛÔÌÔ›ˆÛ˘
Το ευρύ πεδίο εφαρµογών της προσοµοίωσης δηµιούργησε την ανάγκη για την ανά-
πτυξη εξειδικευµένων γλωσσών προσοµοίωσης, που επιτρέπουν στο χρήστη να προ-
σοµοιώσει το µοντέλο του συστήµατός του µε µερικές απλές εντολές. Το µεγαλύτερο
πλεονέκτηµα των γλωσσών προσοµοίωσης είναι εποµένως µια δραµατική µείωση στο
χρόνο που απαιτείται για τον προγραµµατισµό ενός µοντέλου. Αυτό είναι πολύ σηµα-
ντικό γιατί επιτρέπει στον αναλυτή, που χρησιµοποιεί την προσοµοίωση στη µελέτη
του, να αφιερώσει περισσότερο χρόνο σε άλλες φάσεις της µελέτης, όπως είναι η ανά-
λυση των αποτελεσµάτων, η πιστοποίηση και επαλήθευση του µοντέλου κτλ. Εκτός
όµως από τη βοήθεια στο στάδιο του προγραµµατισµού, οι γλώσσες προσοµοίωσης
προσφέρουν δυνατότητες µοντελοποίησης µε παραστατική καθοδήγηση στην ανάπτυ-
ξη του µοντέλου και βοήθεια στην τεκµηρίωση και παρουσίαση των αποτελεσµάτων.
Εκτός όµως από τα πλεονεκτήµατα, οι γλώσσες προσοµοίωσης έχουν και µειονε-
κτήµατα, µερικά από τα οποία είναι τα εξής:
• Υψηλό κόστος απόκτησης και συντήρησης των γλωσσών προσοµοίωσης.
• Οι αναλυτές θα πρέπει να αφιερώσουν αρκετό χρόνο στην εκµάθηση της γλώσ-
σας προσοµοίωσης που πρόκειται να χρησιµοποιήσουν.
• Οι πολύ υψηλότερες απαιτήσεις των γλωσσών προσοµοίωσης σε υπολογιστική ισχύ
και µνήµη του υπολογιστή σε σχέση µε τις γενικές γλώσσες προγραµµατισµού.
Οι εξειδικευµένες γλώσσες προσφέρουν έτοιµα αρκετά από τα στοιχεία που χρειά-
ζονται για τη µοντελοποίηση και εκτέλεση ενός προγράµµατος προσοµοίωσης. Γενι-
κά, όλες σχεδόν οι γλώσσες προσοµοίωσης προσφέρουν τουλάχιστον τα εξής:
1. Άποψη του κόσµου (προσανατολισµός σε γεγονότα, δραστηριότητες, ή διεργασίες).
2. Μηχανισµό ροής χρόνου (αυξάνουν αυτόµατα το χρόνο και διατηρούν λίστα µε
τα µελλοντικά γεγονότα).
3. Γεννήτρια τυχαίων αριθµών. Οι γεννήτριες των γλωσσών παράγουν συνήθως
αριθµούς οµοιόµορφα κατανεµηµένους στο διάστηµα 0 µέχρι 1, όπως αναπτύσ-
σεται στο επόµενο κεφάλαιο.
4. Γεννήτρια τυχαίων δειγµάτων που να ακολουθούν την κατανοµή που προσδιο-
ρίζει ο χρήστης.
5. Ικανότητες συλλογής δεδοµένων του µοντέλου.
6. Παρέχουν στοιχειώδη στατιστική ανάλυση των δεδοµένων που έχουν συλλέξει.
7. Παρέχουν διαγνωστικά στοιχεία και βοήθεια στην ανίχνευση λαθών.
9 74 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
9 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
4.1.1 ∂ÈÏÔÁ‹ Ù˘ ÁÏÒÛÛ·˜ ÚÔÛÔÌÔ›ˆÛ˘
Η επιλογή της κατάλληλης γλώσσας προσοµοίωσης γίνεται συνήθως σε δύο επίπε-
δα: Το πρώτο επίπεδο αφορά την επιλογή της γλώσσας προγραµµατισµού που θα
αγορασθεί ή θα αποκτηθεί γενικότερα προς χρήση σε έναν οργανισµό. Το δεύτερο
επίπεδο αφορά την επιλογή από τον αναλυτή της γλώσσας προσοµοίωσης, που θα
χρησιµοποιήσει για κάποιο συγκεκριµένο πρόβληµα µοντελοποίησης και προσο-
µοίωσης. Τα κριτήρια επιλογής είναι ελαφρώς διαφορετικά στα δύο αυτά επίπεδα.
Έτσι, στο πρώτο επίπεδο, δηλαδή την επιλογή µιας γλώσσας από ολόκληρο τον
οργανισµό, οι παράγοντες που πρέπει να ερευνηθούν είναι:
1. Η συµβατότητα της γλώσσας προσοµοίωσης µε τα υπολογιστικά συστήµατα
που διαθέτει ο οργανισµός. Ο παράγοντας αυτός ήταν περισσότερο σηµαντικός
στο παρελθόν, όταν οι γλώσσες προσοµοίωσης εγκαθίσταντο σε µεγάλα υπο-
λογιστικά συστήµατα (mainframes) και εποµένως έπρεπε να υπάρχει έκδοση
για το συγκεκριµένο σύστηµα του οργανισµού. Σήµερα που όλες σχεδόν οι
γλώσσες είναι διαθέσιµες για συµβατούς µε PC υπολογιστές, Apple Macintosh,
ή οποιοδήποτε σύστηµα UNIX, ο παράγοντας αυτός δεν είναι τόσο σηµαντικός.
2. Το κόστος απόκτησης, εγκατάστασης, συντήρησης και ενηµέρωσης (update) της
γλώσσας. Σ’ αυτό περιλαµβάνεται και το κόστος της εκπαίδευσης που προσφέ-
ρεται από την εταιρεία κατασκευής της γλώσσας προσοµοίωσης.
3. Ο βαθµός υποστήριξης της γλώσσας από τον κατασκευαστή.
4. Η καταλληλότητα της γλώσσας για τα προβλήµατα προσοµοίωσης που παρου-
σιάζονται συνήθως στον οργανισµό.
5. Η προσπάθεια που πρέπει να καταβληθεί για την εκµάθηση της γλώσσας από
τους αναλυτές του οργανισµού.
6. Η διαθέσιµη τεκµηρίωση της γλώσσας.
7. Η ευκολία χρήσης της γλώσσας.
8. Η αποδοτικότητα της γλώσσας σε χρόνο υπολογισµού. Το κριτήριο αυτό δεν
αφορά µόνο την εγκατάσταση σε διαµοιραζόµενο σύστηµα, όπου θα πρέπει να
καταναλώνεται όσο το δυνατόν λιγότερη υπολογιστική ισχύς, αλλά και την
εγκατάσταση σε προσωπικό σύστηµα (σταθµό εργασίας ή PC), όπου τα αποτε-
λέσµατα θα πρέπει να παράγονται σε εύλογο χρονικό διάστηµα.
9. Οι απαιτήσεις της γλώσσας σε µνήµη και αποθηκευτικές διατάξεις. Με τη
ραγδαία όµως πτώση των τιµών της µνήµης και των αποθηκευτικών διατάξεων
τα τελευταία χρόνια, ο παράγοντας αυτός δεν είναι πλέον πολύ σηµαντικός.
10. Η ευελιξία της γλώσσας έτσι ώστε να µπορεί να χρησιµοποιηθεί σε µεγάλη ποι-
κιλία προβληµάτων.
11. Οι ικανότητες της γλώσσας όσον αφορά ικανότητα µοντελοποίησης, ανάλυση
των αποτελεσµάτων, διαγνωστικά και έλεγχο λαθών, κτλ.
12. Τέλος, ένας σηµαντικός παράγοντας που θα πρέπει να ληφθεί υπόψη είναι το αν
η χρήση της γλώσσας δικαιολογεί το κόστος αγοράς και εγκατάστασης. Αν,
δηλαδή, η γλώσσα πρόκειται να χρησιµοποιηθεί για την επίλυση πολλών προ-
βληµάτων του οργανισµού, τότε δικαιολογείται και ένα υψηλό κόστος αγοράς,
αφού πρόκειται να αποσβεσθεί από τις ανθρωποώρες που θα εξοικονοµηθούν
από τον οργανισµό.
Η επιλογή της γλώσσας στο πρώτο επίπεδο γίνεται συνήθως από τη διοίκηση του
οργανισµού µε πρόταση των αναλυτών. Αντίθετα, στο δεύτερο επίπεδο, δηλαδή κατά
την επιλογή της γλώσσας για ένα συγκεκριµένο πρόβληµα, η απόφαση συνήθως λαµ-
βάνεται από τους αναλυτές που ασχολούνται µε το πρόβληµα. Στην περίπτωση αυτή,
οι παράγοντες που επηρεάζουν την απόφαση είναι:
1. Η διαθεσιµότητα της γλώσσας. Αν, δηλαδή, η γλώσσα προσοµοίωσης είναι δια-
θέσιµη στον οργανισµό ή όχι. Σε πολλούς µικρούς οργανισµούς αυτός είναι και
ο καθοριστικός παράγοντας, αν υπάρχει διαθέσιµη µόνο µία γλώσσα προσο-
µοίωσης. Φυσικά, αν η µοναδική γλώσσα προσοµοίωσης που είναι διαθέσιµη
δεν είναι κατάλληλη για το πρόβληµα, οι αναλυτές µπορούν να στραφούν σε
µια γενική γλώσσα προγραµµατισµού όπως αναφέρεται στο τέλος του κεφα-
λαίου αυτού.
2. Οι γλώσσες που γνωρίζει ο αναλυτής. Εδώ εφαρµόζεται ο γνωστός κανόνας: «Η
καλύτερη γλώσσα προγραµµατισµού είναι αυτή που γνωρίζεις».
3. Οι δυνατότητες της γλώσσας προσοµοίωσης και πιο συγκεκριµένα:
• Η άποψη της γλώσσας: γεγονότος, δραστηριότητας ή διεργασίας.
• Η συµβατότητα µε το πρόβληµα.
• Οι δυνατότητες συλλογής δεδοµένων και ανάλυσης των αποτελεσµάτων.
• ∆υνατότητα της γλώσσας για επέκταση του µοντέλου, αν χρειάζεται.
• Παραγωγή τυχαίων αριθµών και δειγµάτων.
• ∆ιάγνωση λαθών και τεκµηρίωση.
• Ικανότητα παρουσίασης των αποτελεσµάτων, ιδιαίτερα στον τελικό χρήστη
των αποτελεσµάτων του µοντέλου.
• ∆υνατότητα αυτόµατης τεκµηρίωσης του κώδικα. ∆υνατότητες παραγωγής
αναφορών.
4. Η απαιτούµενη προγραµµατιστική προσπάθεια.
9 94 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 0 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
5. Ο απαιτούµενος χρόνος υπολογισµού.
6. Η απαιτούµενη µνήµη και αποθηκευτικές διατάξεις.
7. Η µεταφερσιµότητα του µοντέλου, αν αυτό απαιτείται.
4.1.2 ™˘ÁÎÚÈÙÈο ÛÙÔȯ›· ÙˆÓ ÁψÛÛÒÓ ÚÔÛÔÌÔ›ˆÛ˘
Στα επόµενα υποκεφάλαια περιγράφονται µερικές από τις σύγχρονες γλώσσες προ-
σοµοίωσης. Για πιο άµεση σύγκριση των διαφόρων γλωσσών, δίνονται στον Πίνα-
κα 4.1 µερικά από τα χαρακτηριστικά τους.
Όνοµα γλώσσας GASP GPSS SIMSCRIPT MODSIM SIMULA
Ερµηνεία
ονόµατος
General Activity
Simulation Program
(Γενικό Πρόγραµµα
Προσοµοίωσης
∆ραστηριοτήτων)
General Purpose
Simulation Language
(Σύστηµα
Προσοµοίωσης
Γενικής Χρήσεως)
SIMulation SCRIPT
MODular
SIMulation
language
Καµία Συγκεκριµένη
Γλώσσα
υλοποίησηςFORTRAN ή PL/I Assembly Assembly, C C++ ALGOL
Υπολογιστικό
σύστηµα
Οποιοσδήποτε
υπολογιστής που
διαθέτει
µεταγλωττιστή
FORTRAN ή PL/I
(σε συστήµατα δια-
µοιρασµού χρόνου)
PC, Macintosh,
πολλές πλατφόρµες
UNIX και πολλά
µεγάλα συστήµατα
διαµοιρασµού
χρόνου
PC, McIntosh, πολλές
πλατφόρµες UNIX
και πολλά µεγάλα
συστήµατα
διαµοιρασµού
χρόνου
PC, UNIXΤα περισσότερα
µεγάλα συστήµατα
Μέθοδος
προγραµµατισµούΕντολή Μπλοκ Εντολή Εντολή Εντολή
Άποψη του
ΚόσµουΓεγονότος
∆ιεργασία
(∆οσοληψία)
Γεγονότος ή
∆ιεργασίας
Γεγονότος ή
∆ιεργασίας∆ιεργασίας
∆ιαχείριση µνήµης Σταθερή ∆υναµική ∆υναµική ∆υναµική Στατική
Τύπος γλώσσας Μεταγλωττιστής
∆ιερµηνευτής
(µεταγλωττιστής στην
έκδοση GPSS/H)
Μεταγλωττιστής
Μεταγλώσσα:
παράγει C++ πηγαίο
κώδικα
Μεταγλωττιστής
Κόστος Χαµηλό Μέσο Υψηλό Υψηλό Σχετικά υψηλό
¶›Ó·Î·˜ 4.1
Συγκριτικά χαρακτηριστικά γλωσσών προσοµοίωσης
1 0 14 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.1
Αναφέρετε πέντε παράγοντες που επηρεάζουν την επιλογή της γλώσσας προσο-
µοίωσης.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.2
Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Τα προγράµµατα σε γλώσσα προσοµοίωσης έχουν
µεγαλύτερη µεταφερσιµότητα από τα προγράµµατα σε
γλώσσα γενικής χρήσεως
β) Η κατασκευή πολύπλοκων µοντέλων είναι πιο εύκολη
µε γλώσσα προσοµοίωσης αντί σε γλώσσα γενικής
χρήσεως
γ) Η παραγωγή τυχαίων δειγµάτων είναι βασικό
χαρακτηριστικό των γλωσσών προσοµοίωσης
δ) Όταν δεν έχουµε πολύ χρόνο να λύσουµε ένα
πρόβληµα προσοµοίωσης, είναι πάντα προτιµότερο να
χρησιµοποιήσουµε µια γλώσσα προσοµοίωσης αντί
για τη γλώσσα γενικής χρήσης, την οποία
χρησιµοποιούµε συνήθως
4.1.3 SIMSCRIPT
Η γλώσσα SIMSCRIPT δηµιουργήθηκε από τον Markowitz και τους συνεργάτες του
στην εταιρεία RAND, στις αρχές της δεκαετίας του 1960 [Markowitz 1962]. Σήµε-
ρα, υπάρχουν εκδόσεις σχεδόν για κάθε είδους υπολογιστή, από µεγάλα συστήµατα
(mainframes) µέχρι PCs, και για διάφορα λειτουργικά συστήµατα όπως MSDOS,
UNIX, VMS κτλ.
Στην αρχική της µορφή, η γλώσσα SIMSCRIPT ήταν ένας προ–επεξεργαστής για την
FORTRAN, έτσι ώστε να επιτρέπει σε µη ειδικούς να αναπτύξουν προγράµµατα προ-
σοµοίωσης χωρίς να χρειάζεται να προγραµµατίσουν σε FORTRAN. ∆ηλαδή, ο ανα-
λυτής προγραµµάτιζε την προσοµοίωσή του µε κώδικα της SIMSCRIPT , και κατό-
πιν ο ερµηνευτής της γλώσσας παρήγαγε τον πηγαίο κώδικα του προγράµµατος
1 0 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
FORTRAN.
Στη σηµερινή της µορφή, η SIMSCRIPT δεν είναι απλώς µια γλώσσα προσοµοίωσης
αλλά µια ολόκληρη σειρά από εργαλεία που απλοποιούν πολύ τη διαδικασία της κωδι-
κοποίησης και προσοµοίωσης. Παράγεται και διανέµεται από την εταιρεία CACI.
4.1.3.1 ∆· ÂÚÁ·Ï›· Ù˘ SIMSCRIPT
Τα εργαλεία ή επί µέρους εφαρµογές της SIMSCRIPT είναι τα ακόλουθα:
SIMLAB Το SIMLAB είναι το προγραµµατιστικό περιβάλλον της
SIMSCRIPT . Η έκδοση για Windows 95/NT περιλαµβάνει γραφι-
κό περιβάλλον και επιλογές µέσω µενού. Σε άλλες πλατφόρµες,
όπως το UNIX και το VMS ο χρήστης εισάγει απλές εντολές από
τη συνήθη γραµµή εντολών αυτών των λειτουργικών συστηµάτων.
SIMDRAW Το SIMDRAW είναι το γραφικό σχεδιαστικό περιβάλλον της
SIMSCRIPT . Με το εργαλείο αυτό, ο αναλυτής χρησιµοποιεί γρα-
φικά µενού για να σχεδιάσει τα δικά του µενού, παλέτες, έντυπα
και φόρµες εισόδου εξόδου, και εικονίδια. Μπορεί ακόµη να εισά-
γει ψηφιακές εικόνες (bitmaps) που χρησιµοποιούνται είτε ως
φόντο στα µοντέλα, είτε ως εικονίδια.
COMPILER Ο µεταγλωττιστής της SIMSCRIPT II.5 µεταφράζει τον κώδικα
SIMSCRIPT σε κώδικα C. Ο χρήστης κατόπιν χρησιµοποιεί οποι-
ονδήποτε µεταγλωττιστή C έχει διαθέσιµο στο σύστηµά του για να
µεταφράσει το πρόγραµµα σε εκτελέσιµη µορφή. Με τον τρόπο
αυτό, τα προγράµµατα που έχουν αναπτυχθεί σε SIMSCRIPT µπο-
ρούν να µεταφερθούν από ένα σύστηµα σε άλλο χωρίς την παρα-
µικρή αλλαγή στον κώδικα, επειδή η τελική µετάφραση θα γίνει
ούτως ή άλλως από τον µεταγλωττιστή του συστήµατος, στο οποίο
θα εκτελεσθεί το πρόγραµµα.
LIBSIM Βιβλιοθήκες υποστήριξης. Στη SIMSCRIPT II.5 περιλαµβάνονται
πολλές ρουτίνες που συνδέονται µε το πρόγραµµα του χρήστη κατά
την τελική µετάφραση και προσφέρουν διαχείριση της µνήµης και
του χρόνου, ταυτόχρονη επεξεργασία, στατιστικές συναρτήσεις για
την ανάλυση των αποτελεσµάτων, και ένα σύστηµα διασύνδεσης
µε το λειτουργικό σύστηµα. Άµεσο αποτέλεσµα αυτού είναι να µη
χρειάζεται να αναπτύξει ο χρήστης τις ρουτίνες επικοινωνίας µε τις
εφαρµογές του.
LIBSIMG Βιβλιοθήκες γραφικών. Οι βιβλιοθήκες αυτές περιλαµβάνουν διά-
φορες ρουτίνες που µπορεί να χρησιµοποιήσει ο αναλυτής στις
εφαρµογές του για να δηµιουργήσει κινούµενα γραφικά
(animation) και γραφικά παρουσίασης των εφαρµογών σε πολλα-
πλά παράθυρα.
SIMDEBUG Η SIMSCRIPT II.5 περιλαµβάνει και ένα εργαλείο για διαλογική,
συµβολική αποσφαλµάτωση (debugging).
DATAGRAPH Το εργαλείο αυτό είναι ένα ανεξάρτητο στατιστικό πακέτο της
CACI, το οποίο περιλαµβάνεται στη SIMSCRIPT II.5. Χρησιµο-
ποιείται για την προσαρµογή στατιστικών συναρτήσεων κατανο-
µής στα δεδοµένα του χρήστη, είτε αυτά είναι πρωτογενή, προερ-
χόµενα από µετρήσεις του συστήµατος, είτε είναι τα αποτελέσµα-
τα της προσοµοίωσης του µοντέλου.
SIMVIDEO Το SIMVIDEO µαζί µε το SIMDRAW αποτελούν το πακέτο γραφι-
κών της CACI που ονοµάζεται SIMGRAPHICS και διατίθεται τόσο
ως ανεξάρτητο λογισµικό όσο και ως τµήµα της SIMSCRIPT II.5.
Το SIMVIDEO είναι ένα βοηθητικό εργαλείο για την σύλληψη και
αναπαραγωγή των κινουµένων γραφικών (animations) του µοντέ-
λου µε τη µορφή ψηφιακής ταινίας. Χρησιµοποιείται κυρίως σε
µεγάλα µοντέλα στα οποία ο προσοµοιούµενος χρόνος µπορεί να
είναι πολύ µεγάλος. Προσφέρει αρκετές δυνατότητες αναπαραγω-
γής, όπως µεταβλητή ταχύτητα, ταχεία κίνηση εµπρός ή πίσω και
«πάγωµα» της προσοµοίωσης που έχει καταγραφεί. Με τον τρόπο
αυτό ο χρήστης µπορεί να µελετήσει διεξοδικά την προσοµοίωση
χωρίς να χρειάζεται να την εκτελέσει πολλές φορές. Το SIMVIDEO
επιτρέπει, επίσης, την εισαγωγή πρόσθετων διαφανειών και κειµέ-
νου στην «ταινία», έτσι ώστε να δηµιουργηθεί µια ολοκληρωµένη
παρουσίαση, που τρέχει πλέον ως ανεξάρτητη εφαρµογή.
4.1.3.2 ∞Ó¿Ù˘ÍË ÚÔÁÚ·ÌÌ¿ÙˆÓ ÚÔÛÔÌÔ›ˆÛ˘ ÛÙË SIMSCRIPT II.5
Κατά την ανάπτυξη προγραµµάτων µε τη γλώσσα SIMSCRIPT II.5 ακολουθείται µια
συγκεκριµένη διαδικασία [Russel 1987].
Ο αναλυτής χρησιµοποιεί πρώτα την εφαρµογή SIMLAB για να αναπτύξει τον
πηγαίο κώδικα της προσοµοίωσης. Στην έκδοση για τα WINDOWS 95/NT αυτό γίνε-
ται σε ένα διαλογικό περιβάλλον µε πολλαπλά παράθυρα συγγραφής του κώδικα.
1 0 34 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 0 4 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Ένα παράδειγµα κώδικα της SIMSCRIPT δίνεται στο Σχήµα 4.1, ενώ στο Σχήµα 4.2
φαίνεται το περιβάλλον του SIMLAB.
WORKFILE:
preamble
normally mode is integer
end
main
write as «Hello «,/
for i = 1 to 10
do
list i
loop
write as «press Enter to exit»,/
read as / ‘ ‘— to wait to view the output
end
™¯‹Ì· 4.1
Παράδειγµα
πηγαίου κώδικα
της SIMSCRIPT
Το περιβάλλον του SIMLAB περιλαµβάνει τον µεταγλωττιστή της SIMSCRIPT
καθώς και πρόσβαση στις βιβλιοθήκες του SIMGRAPHICS για την ενσωµάτωση
εικόνων και γραφικών στην προσοµοίωση.
™¯‹Ì· 4.2
Το περιβάλλον
του SIMLAB σε
Windows 95/NT
Για τη δηµιουργία της τελικής εφαρµογής προσοµοίωσης γίνεται πρώτα η µετα-
γλώττιση του πηγαίου κώδικα της SIMSCRIPT σε κώδικα C. Αυτός κατόπιν µετα-
φράζεται σε γλώσσα µηχανής µε τη βοήθεια του µεταγλωττιστή C της Microsoft ή
οποιουδήποτε άλλου επιλέξει ο χρήστης. Για τον έλεγχο των σφαλµάτων προγραµ-
µατισµού µπορεί να χρησιµοποιηθεί ο συµβολικός αποσφαλµατιστής SIMDEBUG,
ο οποίος είναι ενσωµατωµένος στην SIMSCRIPT II.5. Ο αποσφαλµατιστής αυτός
τρέχει ταυτόχρονα µε το πρόγραµµα προσοµοίωσης και δίνει πληροφορίες για τις
αλλαγές των µεταβλητών του προγράµµατος, την κατάσταση των αποµονωτών
(buffers) εισόδου/εξόδου, κτλ. Επιτρέπει, επίσης, την εκτέλεση του προγράµµατος
βήµα προς βήµα, και την εισαγωγή σηµείων ελέγχου του προγράµµατος. Το παρά-
θυρο του αποσφαλµατιστή φαίνεται στο Σχήµα 4.3.
Αν ο αναλυτής θέλει να ενσωµατώσει στην προσοµοίωσή του κινούµενα γραφικά,
αντικείµενα και γραφική διαλογική είσοδο, µπορεί να χρησιµοποιήσει το πακέτο
SIMDRAW. Η εκκίνηση του πακέτου γίνεται µέσα από το SIMLAB.
Το SIMDRAW αποτελείται από πολλές επί µέρους εφαρµογές:
Ο Συντάκτης Εικόνων (Image Editor) χρησιµοποιείται για την δηµιουργία κινου-
µένων γραφικών και εικόνων.
Τα γραφικά παρουσίασης, όπως όργανα µετρήσεων, διαγράµµατα, τίτλοι, ρολόγια,
κτλ. δηµιουργούνται µε τον Συντάκτη Γραφικών (Graph Editor).
1 0 54 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
™¯‹Ì· 4.3
Το παράθυρο του
αποσφαλµατιστή
SIMDEBUG
Ο Συντάκτης Σελιδοποίησης (Layout Editor) χρησιµοποιείται για την τοποθέτηση
πολλαπλών γραφικών και εικόνων µέσα στο ίδιο παράθυρο.
Ο Συντάκτης ∆ιαλόγων (Dialog Editor) χρησιµοποιείται για την κατασκευή διαλογι-
κών παραθύρων για είσοδο δεδοµένων ή εντολών του χρήστη κατά την προσοµοίωση.
1 0 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Τα µενού µπορούν να κατασκευασθούν µε τη χρήση του Συντάκτη Μενού (Menu
Bar Editor). Επιτρέπεται η δηµιουργία ιεραρχικών µενού, όπου το ένα µενού είναι
προσαρµοσµένο σε επιλογή κάποιου άλλου µενού.
Τέλος, ο αναλυτής µπορεί να δηµιουργήσει τις δικές του παλέτες χρωµάτων µε τη
χρήση του Συντάκτη Παλετών (Palette Editor).
Το παράθυρο του SIMDRAW φαίνεται στο Σχήµα 4.4.
Με τα εργαλεία αυτά, ο αναλυτής µπορεί να κατασκευάσει ένα εξ ολοκλήρου γραφι-
κό µοντέλο για την προσοµοίωσή του, στο οποίο να περιλαµβάνονται κινούµενες εικό-
νες για τις οντότητες του µοντέλου, διαγράµµατα που ενηµερώνονται δυναµικά, ανά-
λογα µε την κατάσταση του συστήµατος, δείκτες µε ενδείξεις των παραµέτρων του
συστήµατος, κτλ. Για παράδειγµα, η προσοµοίωση ενός χρυσωρυχείου µπορεί να σχε-
διαστεί µε τέτοιο τρόπο, ώστε να φαίνονται τα βαγονέττα και οι κυλιόµενοι ιµάντες
που µεταφέρουν το µετάλλευµα, τα διαγράµµατα των µετρήσεων, και οι κινούµενοι
δείκτες των µετρήσεων. Η εικόνα αυτής της προσοµοίωσης φαίνεται στη Σχήµα 4.5.
™¯‹Ì· 4.4
Το παράθυρο
του SIMDRAW
Το DATAGRAPH είναι ένα αυτοτελές εργαλείο που περιλαµβάνεται στην
SIMSCRIPT II.5 και χρησιµοποιείται για την εκτίµηση εναλλακτικών κατανοµών.
Αν ο αναλυτής έχει συγκεντρώσει δεδοµένα από µετρήσεις στο σύστηµά του, µπο-
ρεί να χρησιµοποιήσει το εργαλείο αυτό για να βρει τη στατιστική συνάρτηση πυκνό-
τητας πιθανότητας ή τη συνάρτηση κατανοµής πιθανότητας που ταιριάζει στα δεδο-
µένα του. Η συνάρτηση αυτή µπορεί κατόπιν να χρησιµοποιηθεί για την παραγωγή
τυχαίων δειγµάτων κατά την προσοµοίωση όπως περιγράφεται στο κεφάλαιο 5. Η
εκτίµηση της στατιστικής κατανοµής που ταιριάζει στα δεδοµένα γίνεται, είτε µε την
οπτική σύγκριση δύο κατανοµών ταυτόχρονα, είτε µε την εξέταση του γραφικού δια-
γράµµατος µιας κατανοµής. Και στις δύο περιπτώσεις, το εργαλείο αυτό δίνει όλα
τα στοιχεία που χρειάζονται για τον έλεγχο της ταυτοποίησης, όπως στατιστικά στοι-
χεία, έλεγχο υποθέσεων x2, συσχέτιση δεδοµένων, κτλ.
1 0 74 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
™¯‹Ì· 4.5
Γραφική
προσοµοίωση ενός
χρυσορυχείου
™¯‹Ì· 4.6
Παράδειγµα
προσαρµογής
στατιστικής
συνάρτησης µε το
DATAGRAPH
Το ίδιο εργαλείο µπορεί να χρησιµοποιηθεί και µετά το τέλος της προσοµοίωσης,
για να εκτιµηθεί η στατιστική κατανοµή την οποία ακολουθούν τα αποτελέσµατα
της προσοµοίωσης. Το παράθυρο του DATAGRAPH φαίνεται στο Σχήµα 4.6.
4.1.4 MODSIM III
Η MODSIM παράγεται επίσης από την εταιρεία CACI και είναι µία γλώσσα προ-
γραµµατισµού νέας γενιάς. Αν και είναι προσανατολισµένη στην προσοµοίωση, µπο-
ρεί να χρησιµοποιηθεί και ως γλώσσα γενικής χρήσεως. Συνδυάζει τα πλεονεκτή-
1 0 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
µατα των αντικειµενοστραφών γλωσσών µε δυνατότητες προσοµοίωσης διακριτών
γεγονότων. Είναι κυρίως ειδικευµένη στην ανάπτυξη µοντέλων που έχουν τρία χαρα-
κτηριστικά: παραστατικότητα, διαλογικότητα και ιεραρχική δοµή. Εξ αιτίας των
δυνατοτήτων επαναχρησιµοποίησης κώδικα που προσφέρει, η MODSIM III χρησι-
µοποιείται περισσότερο για την κατασκευή µεγάλων διεργασιακών µοντέλων.
Όπως και η SIMSCRIPT II.5, έτσι και η MODSIM III έχει ενδιάµεσο µεταγλωττιστή,
δηλαδή δεν παράγει κώδικα σε γλώσσα µηχανής αλλά σε πηγαίο κώδικα άλλης
γλώσσας. Επειδή, όµως, αντίθετα από την SIMSCRIPT II.5, η MODSIM III είναι
αντικειµενοστραφής, ο παραγόµενος κώδικας είναι σε C++. Το γεγονός αυτό µεγι-
στοποιεί τη µεταφερσιµότητα των µοντέλων και προγραµµάτων προσοµοίωσης που
αναπτύσσονται στη γλώσσα αυτή. Οι πλατφόρµες για τις οποίες είναι διαθέσιµη
καθώς και οι υποστηριζόµενοι µεταγλωττιστές C δίνονται στον Πίνακα 4.2.
¶›Ó·Î·˜ 4.2
∆ιαθεσιµότητα και συµβατότητα της MODSIM III
Πλατφόρµα Μεταγλωττιστής C++ Μεταγλωττιστής GNU C++
IBM RS/6000 AIX 4.2 IBM C++ 3.1 Μη διαθέσιµος
SGI O2 Irix 6.3 SGI C++ 7.1A Μη διαθέσιµος
Digital UNIX 4.0b (Alpha) DEC C++ 5.5 Μη διαθέσιµος
Sun Solaris 2.5 Sun C++ 4.1 GNU gcc 2.7.2
HPUX 10.20 HP C++ A.10.22 GNU gcc 2.7.2
Windows NT/95 Microsoft C++ 4.x/5.x Μη διαθέσιµος
4.1.4.1 ∆Ô ÂÚÈ‚¿ÏÏÔÓ Ù˘ MODSIM III
Η MODSIM III αποτελείται από ένα πλήρες περιβάλλον ανάπτυξης εφαρµογών που περι-
λαµβάνει το Στρώµα Προσοµοίωσης, τον Συντάκτη Γραφικών, τον ∆ιαχειριστή Μετα-
γλώττισης, τον ∆ιαχειριστή Αντικειµένων, και τον ∆ιαχειριστή Αποσφαλµάτωσης.
Το Στρώµα Προσοµοίωσης ενσωµατώνει στο περιβάλλον της γλώσσας όλες τις λει-
τουργίες προσοµοίωσης που είναι απαραίτητες για την ανάπτυξη των εφαρµογών.
Με τον τρόπο αυτό, η διαχείριση όλων των µεταβλητών καταστάσεων, καθώς και
της συµπεριφοράς των στοιχείων ενός συστήµατος, γίνεται απ’ ευθείας από τη γλώσ-
σα προγραµµατισµού χωρίς να χρειάζεται η κλήση ρουτινών από το χρήστη.
Ο Συντάκτης Γραφικών (Graphics Editor) βασίζεται στο πακέτο SIMDRAW της
CACI, που περιγράφηκε προηγουµένως, και είναι ενσωµατωµένος στο περιβάλλον
της MODSIM III.
Ο ∆ιαχειριστής Μεταγλώττισης (Compilation Manager) απλοποιεί τη µεταγλώτ-
τιση των προγραµµάτων γιατί γνωρίζει ποιά κοµµάτια του προγράµµατος έχουν
αλλαχθεί από την τελευταία µεταγλώττιση και µεταγλωττίζει µόνο αυτά και όσα
άλλα εξαρτώνται από αυτά. Επιπλέον, η µεταγλώττιση γίνεται απ’ ευθείας από το
περιβάλλον της MODSIM III χωρίς τη χρήση αρχείων «make».
Ο ∆ιαχειριστής Αντικειµένων (Object Manager) προσφέρει ένα εργαλείο αναζήτη-
σης αντικειµένων, µε το οποίο ο αναλυτής µπορεί να εξετάσει τα αντικείµενα που
είναι διαθέσιµα προς χρήση και να δει τις ιδιότητές τους, τόσο αυτές που ορίστηκαν
για το ίδιο το αντικείµενο όσο και αυτές που απέκτησε το αντικείµενο κληρονοµικά.
Ο ∆ιαχειριστής Αποσφαλµάτωσης (Debugging Manager) υποστηρίζει ανίχνευση
και αποµόνωση σφαλµάτων τόσο της προσοµοίωσης όσο και του προγραµµατισµού.
Προσφέρει έλεγχο αναφοράς αντικειµένων κατά το χρόνο εκτέλεσης του προγράµ-
µατος, έλεγχο ορίων των µητρώων και της µνήµης και δυνατότητες εξέτασης της
αλυσίδας κλήσεων και του σωρού. Περιλαµβάνει, επίσης, και λειτουργίες που είναι
ειδικευµένες για προσοµοίωση όπως παρουσίαση των γεγονότων που έχουν προ-
γραµµατιστεί, αλλά δεν έχουν εκτελεσθεί ακόµη.
4.1.4.2 ∞Ó¿Ù˘ÍË ÚÔÁÚ·ÌÌ¿ÙˆÓ ÚÔÛÔÌÔ›ˆÛ˘ ÛÙË MODSIM III
Κατά την ανάπτυξη προγραµµάτων στη MODSIM III, ο αναλυτής ακολουθεί τις συνή-
θεις διαδικασίες προγραµµατισµού µε µια αντικειµενοστραφή γλώσσα. Πρώτα θα
πρέπει να ορισθούν τα αντικείµενα του προγράµµατος, που αντιστοιχούν σε αντικεί-
µενα του µοντέλου, και κατόπιν οι µέθοδοι, που καθορίζουν τη συµπεριφορά αυτών
των αντικειµένων. Για παράδειγµα, στην προσοµοίωση της προσγείωσης αεροσκα-
φών σε ένα αεροδρόµιο, ένα από τα αντικείµενα θα είναι προφανώς το αεροσκάφος.
Ο ορισµός του αεροσκάφους µε κώδικα της MODSIM III δίνεται στο Σχήµα 4.7.
1 0 94 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Aircraft = OBJECT
BestSpeed : INTEGER;
InFlight : BOOLEAN;
ASK METHOD SetSpeed (IN speed:INTEGER);
TELL METHOD FlyDistance (IN dist:INTEGER);
END OBJECT;
™¯‹Ì· 4.7
Ορισµός
του αντικειµένου
«αεροσκάφος»
1 1 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Το αντικείµενο «αεροσκάφος» είναι υπεύθυνο για τη διαχείριση δύο µεταβλητών:
της ιδανικής του ταχύτητας (µεταβλητή BestSpeed) και του αν βρίσκεται εν πτήσει
ή όχι (µεταβλητή InFlight). Η συµπεριφορά του αντικειµένου αεροσκάφος ορίζεται
από τις µεθόδους του που δίνονται στο Σχήµα 4.8.
OBJECT AircraftObj;
ASK METHOD SetSpeed(IN speed:INTEGER);
BEGIN
BestSpeed := speed;
IF InFlight
INTERRUPT SELF FlyDistance;
END IF;
END METHOD;
TELL METHOD FlyDistance (IN dist:INTEGER);
BEGIN
InFlight := TRUE;
WHILE dist > 0.0
speed := BestSpeed;
start := SimTime;
WAIT DURATION dist/BestSpeed;
ON INTERRUPT
elapsed := SimTime-start;
dist := dist-(elapsed*speed);
END WAIT;
END WHILE;
InFlight:=FALSE;
OUTPUT («Arrived at»,SimTime);
End METHOD;
END OBJECT;
™¯‹Ì· 4.8
Οι µέθοδοι
του αντικειµένου
«αεροσκάφος»
Όπως φαίνεται στο παράδειγµα αυτό, οι µέθοδοι είναι στην πραγµατικότητα διερ-
γασίες που εκτελούνται ταυτόχρονα και η µία µπορεί να διακόψει την άλλη. Η µέθο-
δος FlyDistance προσοµοιώνει ολόκληρη την πτήση του αεροσκάφους από την απο-
γείωση µέχρι την προσγείωση µε πολλαπλές µεταβολές της ταχύτητας του αερο-
σκάφους κατά την πτήση. Αυτό γίνεται µε την περιγραφή της δραστηριότητας της
πτήσης και όχι µε µια σειρά γεγονότων αλλαγής ταχύτητας.
Με τον ίδιο τρόπο ορίζονται και τα υπόλοιπα αντικείµενα του µοντέλου, όπως διάδρο-
µος προσγείωσης, αεροδρόµιο, κτλ. Με την προσθήκη γραφικών, η διαδικασία της προ-
σοµοίωσης γίνεται πολύ παραστατική γιατί ο αναλυτής µπορεί να δει τα αεροσκάφη να
πλησιάζουν στο αεροδρόµιο, να επιλέγουν διάδροµο προσγείωσης, να κάνουν κύκλους
αν οι διάδροµοι είναι κατειληµµένοι, και τέλος να προσγειώνονται. Μια εικόνα της προ-
σοµοίωσης µε την προσθήκη πραγµατικής αεροφωτογραφίας φαίνεται στο Σχήµα 4.9.
1 1 14 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
™¯‹Ì· 4.9
Η εικόνα
προσοµοίωσης
του αεροδροµίου
µε πραγµατική
αεροφωτογραφία
για φόντο.
Το εκτελέσιµο πρόγραµµα της προσοµοίωσης αυτής είναι διαθέσιµο από το Website
της CACI στη διεύθυνση (URL): http://www.caci.com.
4.1.5 SIMULA
Η SIMULA αναπτύχθηκε από τους Dahl και Nygaard [Dahl 1966] στο Νορβηγικό
Κέντρο Υπολογιστών το 1966. Γραµµένη στη γλώσσα ALGOL 60, προοριζόταν
αρχικά ως επέκταση της γλώσσας αυτής, αλλά αργότερα µετατράπηκε σε γλώσσα
προσοµοίωσης µε την προσθήκη του πακέτου DEMOS από τον Birtwistle [Birtwistle
1979]. Η SIMULA ήταν πρωτοποριακή από πολλές απόψεις και επηρέασε πολύ τον
τοµέα του προγραµµατισµού, γιατί ήταν η πρώτη που περιλάµβανε τις ιδέες των αντι-
κειµένων και της κληρονοµικότητας. Άλλες γλώσσες προγραµµατισµού, όπως η
SMALLTALK, θεωρούνται ότι προέρχονται απ’ ευθείας από την SIMULA.
1 1 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Σε αναλογία µε τις σηµερινές έννοιες των αντικειµένων και των µεθόδων τους, η
SIMULA είχε τις έννοιες των αντικειµένων, τα οποία αντιστοιχούσαν στις οντότη-
τες των µοντέλων, και των διεργασιών που καθόριζαν τη συµπεριφορά κάθε αντι-
κειµένου. Εισήγαγε επίσης την έννοια των κλάσεων αντικειµένων. Κάθε κλάση απο-
τελείται από αντικείµενα που µοιράζονται τις ίδιες διεργασίες και δοµές δεδοµένων,
οι οποίες είναι κρυφές από τις άλλες κλάσεις.
Η έννοια των διεργασιών στη γλώσσα SIMULA είναι παρόµοια µε την έννοια των
διεργασιών της MODSIM III που αναπτύχθηκε στο προηγούµενο υποκεφάλαιο.
Υπάρχει και πάλι η συνεργασία των διεργασιών, που στη SIMULA επιτυγχάνεται µε
κοινές ρουτίνες δια–διεργασιακής επικοινωνίας, αντί των διακοπών που χρησιµο-
ποιεί η MODSIM III. Επίσης, η µέθοδος προγραµµατισµού των µοντέλων προσο-
µοίωσης της SIMULA αντιστοιχεί περισσότερο στη µέθοδο των τριών φάσεων αντί
για τη µέθοδο διεργασιών της MODSIM III.
Παρά την επίδραση που είχε η SIMULA στις µετέπειτα γλώσσες προγραµµατισµού,
η ίδια δεν είχε παρόµοια απήχηση. Αυτό οφειλόταν, κυρίως, στο γεγονός ότι βασι-
ζόταν στην γλώσσα ALGOL, η οποία δεν ήταν πολύ διαδεδοµένη έξω από τη γνω-
στική περιοχή των αλγορίθµων και σχεδόν άγνωστη στην Αµερική. Επιπλέον, επει-
δή κατά την εποχή εµφάνισης της SIMULA, οι προγραµµατιστές ήταν συνηθισµέ-
νοι σε διαδικαστικές γλώσσες, όπως η FORTRAN και η COBOL, ήταν δύσκολο γι’
αυτούς να αντιληφθούν τις έννοιες των αντικειµένων και της κληρονοµικότητας.
4.1.6 GPSS
Η GPSS (General Purpose Simulation System) αναπτύχθηκε επίσης στις αρχές της δεκα-
ετίας του 1960 κυρίως γιατί ήταν το αποτέλεσµα συνεργασίας δύο ιερών τεράτων των
υπολογιστών: της IBM και των εργαστηρίων της Bell Telecommunications [Gordon
1969, 1979]. Για τον λόγο αυτό ήταν διαθέσιµη σχεδόν σε κάθε µεγάλο σύστηµα που
εγκαθιστούσε η IBM. Ακόµη και σήµερα, η GPSS έχει πολλούς θερµούς υποστηρικτές
και είναι διαθέσιµη για κάθε πλατφόρµα υπολογιστικού συστήµατος. Είναι ίσως η µόνη
γλώσσα προσοµοίωσης που σχεδιάσθηκε από την αρχή για αναλυτές, οι οποίοι δεν είχαν
καµία σχέση µε τον προγραµµατισµό. Πράγµατι, η ανάπτυξη προγραµµάτων στην
GPSS γίνεται µε την παράθεση µερικών απλών εντολών που καθορίζουν την κίνηση
των οντοτήτων µέσα στο µοντέλο. Η ευρεία της διάδοση και το γεγονός ότι υπάρχουν
ακόµη και εκδόσεις για εκπαιδευτικούς σκοπούς (http://www.minutemansoftware.com)
µε µηδενικό κόστος, επιβάλλει την λεπτοµερέστερη εξέταση της γλώσσας αυτής, και
γι’ αυτό, δίνεται στις επόµενες παραγράφους µια πληρέστερη ανάλυση της γλώσσας
απ’ ότι δόθηκε στις άλλες γλώσσες προσοµοίωσης.
Οι βασικές έννοιες της GPSS είναι η δοσοληψία (transaction), η εγκατάσταση
(facility) και το µπλοκ [Schriber 1991]. Οι δοσοληψίες αντιστοιχούν σε ένα µέρος
των οντοτήτων του µοντέλου και έχουν τα ακόλουθα χαρακτηριστικά και ιδιότητες:
• Είναι δυναµικές οντότητες που «κινούνται» µέσα στο µοντέλο, όπως για παρά-
δειγµα οι πελάτες ενός καταστήµατος, τα αυτοκίνητα σε ένα γκαράζ, ένα ανταλ-
λακτικό σε συνεργείο, κτλ.
• Η πραγµατική τους έννοια καθορίζεται από τον αναλυτή και δεν είναι εµφανής
στο µοντέλο της GPSS.
• Κατά τη διάρκεια της προσοµοίωσης, οι δοσοληψίες «έρχονται» στο µοντέλο και
«φεύγουν» από αυτό.
• Είναι δυνατό να υπάρχουν ταυτόχρονα πολλές παρόµοιες ενεργές δοσοληψίες στο
µοντέλο.
• Η κατάσταση των δοσοληψιών, δηλαδή η θέση τους στο µοντέλο και οι αριθµη-
τικές τους ιδιότητες, ενηµερώνονται σειριακά από τον επεξεργαστή της GPSS.
• Όταν µια δοσοληψία έχει αρχίσει να κινείται µέσα στο µοντέλο, η κίνησή της από
µπλοκ σε µπλοκ συνεχίζεται µέχρι να συµβεί ένα από τα εξής τρία γεγονότα:
1. Η δοσοληψία εισέρχεται σε ένα µπλοκ που έχει ως σκοπό να «κρατήσει» εκεί
τη δοσοληψία.
2. Η δοσοληψία εισέρχεται σε ένα µπλοκ που έχει ως σκοπό να αφαιρέσει τη
δοσοληψία απ’ το µοντέλο.
3. Το επόµενο µπλοκ στην πορεία της δοσοληψίας αρνείται την είσοδο στη
δοσοληψία.
Τα µπλοκ της GPSS είναι περίπου αντίστοιχα µε τις εντολές µιας άλλης γλώσσας
προγραµµατισµού, υπό την έννοια ότι ο αναλυτής αναπτύσσει το πρόγραµµα της
προσοµοίωσης του µοντέλου παραθέτοντας µια σειρά από µπλοκ. Ο σκοπός του κάθε
µπλοκ είναι είτε ο έλεγχος της κίνησης των δοσοληψιών είτε η συλλογή στατιστι-
κών στοιχείων της προσοµοίωσης. Εκτός όµως των µπλοκ, υπάρχουν στην GPSS και
εντολές ελέγχου µε τις οποίες καθορίζεται η συνολική πορεία της προσοµοίωσης.
Οι εγκαταστάσεις (facilities) είναι µια κατηγορία µπλοκ της GPSS, που έχουν ως
σκοπό την παροχή υπηρεσιών προς τις δοσοληψίες. Υπό την έννοια αυτή, αντιστοι-
χούν στους εξυπηρετητές ενός γενικού συστήµατος ουράς.
Η διαχείριση του χρόνου γίνεται από τον επεξεργαστή της γλώσσας GPSS χωρίς να
απαιτείται καµία προγραµµατιστική παρέµβαση από τον αναλυτή. Το ρολόι προσο-
µοίωσης της GPSS έχει τις ακόλουθες ιδιότητες:
1 1 34 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 1 4 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
• Καταγράφει µόνο ακέραιες τιµές.
• Η µονάδα του χρόνου είναι αυθαίρετη και εναπόκειται στον αναλυτή να της δώσει
την έννοια που απαιτείται από το µοντέλο. Για τον λόγο αυτό, το γεγονός ότι το
ρολόι της GPSS καταγράφει µόνο ακέραιες τιµές δεν αποτελεί πρόβληµα γιατί ο
αναλυτής µπορεί πάντα να χρησιµοποιήσει κάποιο ακέραιο πολλαπλάσιο της χρο-
νικής του µονάδος.
• Αρχικοποιείται µε την τιµή µηδέν.
• Καθώς γίνεται η ενηµέρωση του συστήµατος, το ρολόι της προσοµοίωσης παρα-
µένει ακίνητο αν και παρέρχεται πραγµατικός χρόνος.
• Αυξάνεται κατά χρονικά διαστήµατα που είναι συνάρτηση των συνθηκών του
συστήµατος. Εποµένως, ο µηχανισµός χρόνου της GPSS αντιστοιχεί στο µηχανι-
σµό ροής χρόνου επόµενου γεγονότος, όπως αναπτύχθηκε στο πρώτο κεφάλαιο.
Η συλλογή των στατιστικών στοιχείων και η παρουσίαση των αποτελεσµάτων της
προσοµοίωσης γίνεται αυτόµατα από την GPSS , χωρίς να απαιτείται η εισαγωγή
εντολών από τον αναλυτή. Φυσικά, η συλλογή και παρουσίαση αυτή γίνεται µε τον
προκαθορισµένο από τη GPSS τρόπο. Αν όµως ο αναλυτής επιθυµεί συλλογή δια-
φορετικών στατιστικών ή διαφορετική µορφή παρουσίασης των αποτελεσµάτων,
µπορεί να το επιτύχει µε την εισαγωγή ειδικών εντολών ελέγχου της γλώσσας.
4.1.6.1 ∆· ‚·ÛÈο ÌÏÔÎ Ù˘ GPSS
Τα πλέον βασικά µπλοκ της GPSS είναι αυτά µε τα οποία εισάγονται δοσοληψίες
στο µοντέλο και αφαιρούνται από αυτό, συγκεντρώνονται στατιστικά στοιχεία για
ουρές απείρου ή πεπερασµένου µήκους, και ελέγχεται η κίνηση των δοσοληψιών.
Τα βασικά αυτά µπλοκ είναι αρκετά για τη δηµιουργία σχετικά πολύπλοκων µοντέ-
λων. Για περισσότερες πληροφορίες σχετικά µε κάθε µπλοκ καθώς και για πλήρη
περιγραφή όλων των µπλοκ της GPSS, ο αναγνώστης µπορεί να ανατρέξει στο εγχει-
ρίδιο της GPSS.
Το µπλοκ GENERATE. Σκοπός αυτού του µπλοκ είναι να δηµιουργεί δοσοληψίες,
οι οποίες αποτελούν και την πηγή της κυκλοφορίας στο µοντέλο. ∆έχεται µέχρι 9
παράγοντες, οι οποίοι είναι όλοι προαιρετικοί. Όταν όµως παραλείπονται ένας ή
περισσότεροι παράγοντες, ενώ απαιτούνται κάποιοι επόµενοι, πρέπει να τοποθε-
τούνται τα κόµµατα που αντιστοιχούν στους παράγοντες που λείπουν. Π.χ. όταν χρει-
άζεται να δοθούν οι παράγοντες A,B,C, και F, δίνονται ως:
GGEENNEERRAATTEE AA,,BB,,CC,,,,,,FF
Η περιγραφή κάθε παράγοντα καθώς και οι προκαθορισµένες τιµές των παραγόντων
δίνονται στον πίνακα 4.3.
¶›Ó·Î·˜ 4.3
Παράµετροι του µπλοκ GENERATE
1 1 54 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Μέσος χρόνος ανάµεσα στις αφίξεις 0
B ∆ιασπορά χρόνου ή τροποποιητική συνάρτηση 0
CΑρχικό διάστηµα (ο χρόνος κατά τον οποίο θα φύγει από το
µπλοκ GENERATE η πρώτη δοσοληψία)Καµία
DΌριο δηµιουργίας (µέγιστος αριθµός δοσοληψιών που θα
δηµιουργηθούν από το µπλοκ GENERATE)Άπειρο
EΕπίπεδο προτεραιότητας των δοσοληψιών (από 0 που είναι η
χαµηλότερη προτεραιότητα µέχρι 127 που είναι η υψηλότερη)0
F–I Παράµετροι των δοσοληψιών 12PH
Οι παράµετροι των δοσοληψιών καθορίζονται µε τη µορφή nPx όπου n είναι ο αριθ-
µός των παραµέτρων και x είναι ο κωδικός του µεγέθους της παραµέτρου σύµφωνα
µε την κωδικοποίηση:
F: Ακέραιος πλήρους λέξης (συνήθως 32 bits).
H: Ακέραιος µισής λέξης (συνήθως 16 bits).
B: Byte.
L: Αριθµός κινητής υποδιαστολής.
Αν εποµένως δεν προσδιορισθούν οι παράµετροι των δοσοληψιών µε το µπλοκ
GENERATE, η κάθε δοσοληψία που παράγει θα έχει 12 ακέραιες παραµέτρους µισής
λέξης. Ο µέγιστος αριθµός παραµέτρων που µπορούν να προσδιορισθούν είναι 255
πλήρους λέξης, 255 µισής λέξης, 255 ενός byte, και 255 κινητής υποδιαστολής απλής
ακριβείας, σε οποιονδήποτε συνδυασµό.
Παράδειγµα:
GGEENNEERRAATTEE 1100,,55,,,,,,,,1122PPFF,,3344PPHH,,2277PPBB,,110000PPLL
Το µπλοκ αυτό παράγει δοσοληψίες µε µέσο χρόνο ανάµεσα στις αφίξεις ίσο µε 10
1 1 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
χρονικές µονάδες και διασπορά του χρόνου ίση µε 5 χρονικές µονάδες. Οι αφίξεις
δηλαδή, ακολουθούν οµοιόµορφη κατανοµή στο διάστηµα [5,15] χρονικές µονάδες.
Η κάθε δοσοληψία έχει 12 ακέραιες παραµέτρους πλήρους λέξης, 34 ακέραιες παρα-
µέτρους µισής λέξης, 100 παραµέτρους κινητής υποδιαστολής και 27 παραµέτρους
µεγέθους ενός byte.
Το µπλοκ TERMINATE. Το µπλοκ αυτό χρησιµοποιείται για να αφαιρέσει την εισερ-
χόµενη δοσοληψία από το µοντέλο. ∆έχεται µόνο έναν παράγοντα ο οποίος καθορίζει
την ποσότητα κατά την οποία θα ελαττωθεί ο µετρητής τερµατισµού της GPSS.
Είναι φανερό ότι οι δοσοληψίες κινούνται πάντα ανάµεσα σε ένα µπλοκ GENERATE
και ένα µπλοκ TERMINATE. Εποµένως, η γενική µορφή ενός τµήµατος µοντέλου
θα είναι αυτή που φαίνεται στο Σχήµα 4.10.
GENERATE
A,B,C,D,E,F,G,H,I
OΠOIO∆HΠOTEr
TMHMA TOYr
MONTEΛOY
TERMINATE
A
™¯‹Ì· 4.10
Γενικό διάγραµµα
ενός τµήµατος
µοντέλου στην
GPSS
Οι δοσοληψίες που εισάγονται στο µοντέλο µε ένα µπλοκ GENERATE ή αφαιρού-
νται µε ένα µπλοκ TERMINATE, δεν αποτελούν απαραίτητα οντότητες του συστή-
µατος που προσοµοιώνεται, αλλά µπορεί να αντιστοιχούν σε αφηρηµένες έννοιες
που χρησιµοποιούνται για βοηθητικούς σκοπούς (χρονόµετρα, µετρητές, κ.λπ.). Επο-
µένως, ένας συνδυασµός GENERATE και TERMINATE µπορεί να χρησιµοποιηθεί
για τον τερµατισµό της προσοµοίωσης µετά από κάποιο χρόνο:
GGEENNEERRAATTEE 448800
TTEERRMMIINNAATTEE 11
SSTTAARRTT 11
Η λειτουργία αυτού του τµήµατος του µοντέλου είναι η εξής:
α) Η κάρτα START δίνει µια αρχική τιµή στον µετρητή τερµατισµού της GPSS,
θέτοντάς τον ίσο µε 1.
β) Το µπλοκ GENERATE παράγει µία δοσοληψία τη χρονική στιγµή 480.
γ) Η δοσοληψία αυτή εισέρχεται αµέσως µετά στο µπλοκ TERMINATE, το οποίο
την αφαιρεί από το µοντέλο µε ταυτόχρονη µείωση του µετρητή τερµατισµού κατά
1. Στην προκειµένη περίπτωση, η αφαίρεση της δοσοληψίας από το µοντέλο δεν έχει
καµία σηµασία.
δ) Όταν ο µετρητής τερµατισµού της GPSS πάρει τιµή µικρότερη ή ίση µε το µηδέν,
η προσοµοίωση σταµατά. Επειδή, λοιπόν, η αρχική τιµή που δόθηκε στο µετρητή
ήταν 1, η προσοµοίωση θα σταµατήσει σε χρόνο 480 χρονικές µονάδες.
Με τα τρία αυτά µπλοκ εισάγεται µια συνθήκη τερµατισµού της προσοµοίωσης σε
χρόνο 480, ή οποιονδήποτε άλλο χρόνο δοθεί στο µπλοκ GENERATE. Στην πραγ-
µατικότητα, η συνθήκη τερµατισµού εξαρτάται από το συνδυασµό των τιµών που
δίνονται στα µπλοκ GENERATE, TERMINATE, και START, όπως φαίνεται και στο
ακόλουθο παράδειγµα που δίνει το ίδιο ακριβώς αποτέλεσµα µε το προηγούµενο:
GGEENNEERRAATTEE 224400
TTEERRMMIINNAATTEE 22
SSTTAARRTT 44
Οι οντότητες που έχουν ως σκοπό να παρέχουν «εξυπηρέτηση», όπως για παρά-
δειγµα ένας κουρέας, ένας ταµίας, µια µηχανή επεξεργασίας, µία θέση παρκαρί-
σµατος, ονοµάζονται εγκαταστάσεις (facilities) ή εξυπηρετητές (servers) στη GPSS.
Στις εγκαταστάσεις µπορούν να δοθούν ονόµατα, είτε αριθµητικά, είτε συµβολικά.
1 1 74 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 1 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Τα αριθµητικά ονόµατα πρέπει να είναι ακέραιοι θετικοί αριθµοί, το µέγεθος των
οποίων εξαρτάται από τη µνήµη που είναι διαθέσιµη στη GPSS. Τα συµβολικά ονό-
µατα αποτελούνται από 3 µε 5 αλφαριθµητικούς χαρακτήρες, µε τον περιορισµό ότι
οι τρεις πρώτοι πρέπει να είναι αλφαβητικοί.
Το µπλοκ SEIZE. Το µπλοκ αυτό χρησιµοποιείται για να αποδοθεί µία εγκατάστα-
ση σε µία δοσοληψία. Η δοσοληψία δηλαδή που εισέρχεται στο µπλοκ αυτό κατα-
λαµβάνει την αντίστοιχη εγκατάσταση. Αν η εγκατάσταση που προσπαθεί να κατα-
λάβει η δοσοληψία είναι ήδη κατειληµµένη ή δεν είναι διαθέσιµη για κάποιο λόγο,
τότε το µπλοκ SEIZE αρνείται την είσοδο στη δοσοληψία Ο παράγοντας Α είναι το
όνοµα της εγκατάστασης που ζητείται να καταληφθεί.
Το µπλοκ RELEASE. Το µπλοκ αυτό προκαλεί την απελευθέρωση της εγκατάστα-
σης που είχε προηγουµένως καταληφθεί. Με την είσοδο της δοσοληψίας στο µπλοκ
αυτό, η εγκατάσταση επανέρχεται στην αδρανή της κατάσταση. Η δοσοληψία που
προσπαθεί να απελευθερώσει µια εγκατάσταση, εισερχόµενη στο µπλοκ RELEASE,
πρέπει να είναι η ίδια που είχε καταλάβει προηγουµένως την εγκατάσταση. Ο παρά-
γοντας Α είναι το όνοµα της εγκατάστασης που απελευθερώνεται.
Το µπλοκ ADVANCE. Το µπλοκ αυτό χρησιµοποιείται για τον έλεγχο του χρόνου
στην GPSS και προκαλεί την καθυστέρηση µιας δοσοληψίας για ένα καθορισµένο
χρονικό διάστηµα. Η δοσοληψία δηλαδή που θα εισέλθει στο µπλοκ αυτό, θα εξέλ-
θει µόλις περάσει το χρονικό αυτό διάστηµα.
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
AΜέσος χρόνος (χρονική περίοδος) για τον οποίο θα
καθυστερήσει η δοσοληψία στο µπλοκ ADVANCE0
B ∆ιασπορά χρόνου ή τροποποιητική συνάρτηση 0
¶›Ó·Î·˜ 4.4
Παράµετροι του µπλοκ ADVANCE
Ουρές απείρου και πεπερασµένου µήκους
Η είσοδος µιας δοσοληψίας σε µία ουρά και η συλλογή στατιστικών δεδοµένων για
την ουρά, καθορίζεται στην GPSS µε δύο ζεύγη µπλοκ. Το ζεύγος QUEUE–DEPART
προσδιορίζει µια ουρά µε άπειρη χωρητικότητα, ενώ το ζεύγος ENTER–LEAVE
καθορίζει µια ουρά µε πεπερασµένη χωρητικότητα. Οι ουρές µε πεπερασµένη χωρη-
τικότητα ονοµάζονται αποθήκες (storages) στην GPSS, επειδή η χρήση τους δια-
φέρει αρκετά από τη χρήση των ουρών µε άπειρη χωρητικότητα. Στο Σχήµα 4.11
δίνεται ο τρόπος υλοποίησης της εισόδου, παραµονής, και εξόδου µιας δοσοληψίας
σε µια ουρά στην GPSS. Μια δοσοληψία εισέρχεται στη ουρά, όταν περάσει από το
σηµείο Α, θεωρείται ότι «βρίσκεται στην ουρά», όταν κινείται ανάµεσα στα σηµεία
Α και Β και εξέρχεται από την ουρά, όταν περάσει από το σηµείο Β.
Επειδή οι ουρές χρησιµοποιούνται κυρίως για τη συλλογή στατιστικών στοιχείων,
και όχι για την προσοµοίωση της αναµονής των δοσοληψιών, χρειάζεται να διευ-
κρινισθούν ορισµένα σηµεία:
1. Αν και δεν είναι απαραίτητο, µια δοσοληψία µπορεί να «κινείται», όταν βρίσκε-
ται σε µία ουρά. Εποµένως, µια δοσοληψία µπορεί να βρίσκεται στην ουρά χωρίς
να βρίσκεται στο µπλοκ QUEUE.
1 1 94 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
OΠOIO∆HΠOTEr
TMHMA TOYr
MONTEΛOY
QUEUE
DEPART
Σηµείο A
Σηµείο B ™¯‹Ì· 4.11
Υλοποίηση της
ουράς στην GPSS
2. Η ύπαρξη µιας δοσοληψίας στην ουρά σηµαίνει απλώς ότι έχει περάσει από το
σηµείο Α, αλλά δεν έχει περάσει ακόµα από το σηµείο Β.
3. ∆εν είναι απαραίτητη η χρήση ουράς για την αναµονή των δοσοληψιών. Η ανα-
µονή εξαρτάται από την κατάσταση της εγκατάστασης στην οποία προσπαθεί να
εισέλθει µία δοσοληψία και όχι στο αν εισήλθε ή όχι σε µία ουρά. Αυτό σηµαί-
νει ότι µια ουρά (µε τη θεωρητική της έννοια) σχηµατίζεται πριν από ένα µπλοκ
SEIZE, άσχετα µε το αν έχει χρησιµοποιηθεί το µπλοκ QUEUE ή όχι.
1 2 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
4. Μια δοσοληψία µπορεί να ανήκει το πολύ σε πέντε ουρές ταυτόχρονα (περιορι-
σµός της GPSS).
Το µπλοκ QUEUE. Η είσοδος µιας δοσοληψίας στο µπλοκ αυτό προσθέτει έναν
αριθµό µονάδων στην ουρά, µε σκοπό τη συλλογή στατιστικών στοιχείων.
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Το όνοµα της ουράς στην οποία θα προστεθούν µονάδες Λάθος
B Ο αριθµός των µονάδων που θα προστεθούν στην ουρά 1
¶›Ó·Î·˜ 4.5
Παράµετροι του µπλοκ QUEUE
Όταν µία δοσοληψία εισέρχεται στο µπλοκ QUEUE, εκτελούνται ορισµένες λειτουργίες:
1. Περιεχόµενα Ουράς = Περιεχόµενα Ουράς + Β.
2. Η νέα τιµή των περιεχοµένων συγκρίνεται µε τη µέγιστη τιµή των περιεχοµένων
της ουράς. Αν η νέα τιµή των περιεχοµένων είναι µεγαλύτερη, τότε η τιµή αυτή
γίνεται η νέα µέγιστη τιµή περιεχοµένων.
3. Αυξάνεται ο συνολικός αριθµός εισόδων στην ουρά κατά Β µονάδες.
4. Στη δοσοληψία τοποθετείται µια ετικέτα µε το όνοµα της ουράς.
5. Στη δοσοληψία τοποθετείται µια ετικέτα µε τον τρέχοντα χρόνο της προσοµοίωσης.
Το µπλοκ DEPART Η είσοδος µιας δοσοληψίας στο µπλοκ αυτό αφαιρεί έναν αριθµό
µονάδων από την ουρά και ενηµερώνει τα στατιστικά στοιχεία της χρήσης της ουράς.
¶›Ó·Î·˜ 4.6
Παράµετροι του µπλοκ DEPART
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Το όνοµα της ουράς από την οποία θα αφαιρεθούν µονάδες Λάθος
B Ο αριθµός των µονάδων που θα αφαιρεθούν από την ουρά 1
Όταν µία δοσοληψία εισέρχεται στο µπλοκ DEPART, εκτελούνται και πάλι ορι-
σµένες λειτουργίες:
1. Περιεχόµενα Ουράς=Περιεχόµενα Ουράς – Β.
2. Χρόνος προσοµοίωσης κατά τον οποία η δοσοληψία ήταν µέλος της ουράς=Τρέ-
χουσα τιµή του ρολογιού – Τιµή του ρολογιού όταν η δοσοληψία µπήκε στο
µπλοκ QUEUE. Αν ο χρόνος που η δοσοληψία ήταν µέλος της ουράς είναι µηδέν,
τότε ο µετρητής που µετρά τις µηδενικές εγγραφές της ουράς αυξάνεται κατά ένα.
Ο µετρητής αυτός χρησιµοποιείται για να είναι γνωστό το πλήθος των δοσολη-
ψιών που δεν περίµεναν καθόλου στην ουρά.
3. Αφαιρείται από τη δοσοληψία η ετικέτα µε το όνοµα της ουράς.
Το µπλοκ ENTER Το µπλοκ αυτό επιτρέπει στην εισερχόµενη δοσοληψία να χρη-
σιµοποιήσει µια αποθήκη (κατά την ορολογία της GPSS). Αν η αποθήκη είναι γεµά-
τη, τότε το µπλοκ αυτό αρνείται την είσοδο στη δοσοληψία.
¶›Ó·Î·˜ 4.7
Παράµετροι του µπλοκ ENTER
1 2 14 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
AΤο όνοµα της αποθήκης την οποία θα χρησιµοποιήσει η
δοσοληψίαΛάθος
BΟ αριθµός των αποθηκευτικών µονάδων
που θα χρησιµοποιηθούν από την αποθήκη1
Το µπλοκ LEAVE Με την είσοδο µιας δοσοληψίας στο µπλοκ αυτό απελευθερώ-
νεται ένας αριθµός αποθηκευτικών µονάδων από την αποθήκη, έτσι ώστε να µπο-
ρούν να ξαναχρησιµοποιηθούν.
¶›Ó·Î·˜ 4.8
Παράµετροι του µπλοκ LEAVE
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Το όνοµα της αποθήκης Λάθος
BΟ αριθµός των αποθηκευτικών µονάδων
που απελευθερώνονται από την αποθήκη1
Όπως προαναφέρθηκε, οι αποθήκες χρησιµοποιούνται για την προσοµοίωση ουρών
πεπερασµένης χωρητικότητας. Πράγµατι, η χρήση αποθήκης είναι ο µόνος τρόπος
1 2 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
για να περιορισθεί το µέγιστο µήκος της ουράς. Η σηµαντικότερη διαφορά ανάµε-
σα στα µπλοκ QUEUE και ENTER είναι ότι το QUEUE ποτέ δεν εµποδίζει την είσο-
δο µιας δοσοληψίας ενώ το ENTER εµποδίζει την είσοδο της δοσοληψίας αν η απο-
θήκη είναι γεµάτη. Για το λόγο αυτό, η αποθήκη µπορεί να χρησιµοποιηθεί και για
την προσοµοίωση πολλαπλών εξυπηρετητών σε ένα σύστηµα, το οποίο έχει κοινή
ουρά για όλους τους εξυπηρετητές.
Το µπλοκ TRANSFER. Το µπλοκ αυτό επιτρέπει την αλλαγή της σειριακής πορεί-
ας των δοσοληψιών. Ανάλογα µε τη συνθήκη, η δοσοληψία που περνά από το µπλοκ
αυτό µπορεί να προσπαθήσει κατόπιν να εισέλθει όχι στο µπλοκ που ακολουθεί το
TRANSFER, αλλά σε κάποιο άλλο, που καθορίζεται από τις παραµέτρους B και C.
¶›Ó·Î·˜ 4.9
Παράµετροι του µπλοκ TRANSFER
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A
Μέθοδος επιλογής του επόµενου µπλοκ:
1. Χωρίς συνθήκη (κενό)
2. ∆εκαδικό ποσοστό
3. BOTH (∆οκιµή και των δύο)
4. ALL (όλα τα µπλοκ)
Κενό
C Επόµενο µπλοκ για το ποσοστό των δοσοληψιών Καµία
B Επόµενο µπλοκ για τις υπόλοιπες δοσοληψίες Λάθος
D Παράγοντας δείκτη 1
Η λειτουργία του µπλοκ TRANSFER φαίνεται καλύτερα µε ορισµένα παραδείγµατα:
Μεταφορά σε άλλο µπλοκ χωρίς συνθήκη:
TTRRAANNSSFFEERR ,,BBLLKK11
Όλες οι δοσοληψίες που εισέρχονται στο µπλοκ αυτό θα προσπαθήσουν κατόπιν να
εισέλθουν στο BLK1 και όχι σε αυτό που ακολουθεί το TRANSFER.
• Μεταφορά ενός ποσοστού των δοσοληψιών:
TTRRAANNSSFFEERR ..4455,,BBLLKK11,,µµLLKK22
TTRRAANNSSFFEERR ..3377,,,,BBLLKK11
Στην πρώτη περίπτωση, το 45% των δοσοληψιών που εισέρχονται στο µπλοκ αυτό
θα συνεχίσουν µετά στο BLK2 ενώ οι υπόλοιπες (δηλαδή το 55%) θα συνεχίσουν
µετά στο BLK1. Καµία δοσοληψία δεν θα προσπαθήσει να εισέλθει στο µπλοκ που
ακολουθεί το TRANSFER. Στη δεύτερη περίπτωση, το 37% των δοσοληψιών που
εισέρχονται στο µπλοκ αυτό θα συνεχίσουν µετά στο BLK1, ενώ οι υπόλοιπες θα
συνεχίσουν στο µπλοκ που ακολουθεί µετά το TRANSFER.
• Προσπάθεια και στα δύο µπλοκ:
TTRRAANNSSFFEERR BBOOTTHH,,,,µµLLKK22
Όλες οι δοσοληψίες που εισέρχονται στο µπλοκ αυτό προσπαθούν µετά να εισέλ-
θουν στο µπλοκ που ακολουθεί το TRANSFER. Αν το επόµενο µπλοκ αρνηθεί την
είσοδο σε µια δοσοληψία, τότε αυτή προσπαθεί να εισέλθει επιτακτικά στο µπλοκ
BLK2. Αυτό σηµαίνει ότι αν το BLK2 αρνηθεί την είσοδο, η δοσοληψία θα περιµέ-
νει µέχρι να της επιτραπεί η είσοδος στο BLK2.
• Επιλογή όλων των µπλοκ:
TTRRAANNSSFFEERR AALLLL,,3300,,8800,,1100
TTRRAANNSSFFEERR AALLLL,,BBLLKK11,,µµLLKK22,,55
Στην πρώτη περίπτωση το παράδειγµα είναι αριθµητικό και εποµένως, ο δείκτης
είναι το βήµα µε το οποίο καθορίζονται οι αριθµοί των µπλοκ στα οποία θα προ-
σπαθήσει να εισέλθει η δοσοληψία. Στο παράδειγµα αυτό, η δοσοληψία θα προ-
σπαθήσει να εισέλθει µε τη σειρά στα µπλοκ 30, 40, 50, 60, 70, και 80. Στη δεύτε-
ρη περίπτωση το παράδειγµα περιέχει αλφαριθµητικές ετικέτες εντολών και εποµέ-
νως, ο δείκτης είναι ο αριθµός των µπλοκ µετά το BLK1 στα οποία θα προσπαθήσει
να εισέλθει η δοσοληψία πριν δοκιµάσει να εισέλθει στο BLK2.
4.1.6.2 ∂ÓÙÔϤ˜ ÂϤÁ¯Ô˘ Ù˘ GPSS
Εκτός από τα µπλοκ που ελέγχουν την κίνηση και ροή των δοσοληψιών, η GPSS δια-
θέτει και ορισµένες εντολές που χρησιµοποιούνται για τον γενικό έλεγχο της προ-
σοµοίωσης, τον τρόπο παραγωγής των τυχαίων δειγµάτων και τον τρόπο συλλογής
και παρουσίασης των αποτελεσµάτων. Υπάρχουν επίσης εντολές που αλλάζουν τις
τιµές των παραµέτρων σε κάποια από µπλοκ.
Η εντολή START
SSTTAARRTT AA,,BB,,CC,,DD
Η εντολή αυτή ξεκινά την εκτέλεση του µοντέλου, αν είναι η πρώτη εντολή START
που συναντά ο διερµηνευτής της GPSS, διαφορετικά, συνεχίζει την εκτέλεση του
µοντέλου από το σηµείο όπου έχει σταµατήσει.
1 2 34 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 2 4 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Οι αλυσίδες που αναφέρονται στην παράµετρο D, είναι εσωτερικές λίστες δοσολη-
ψιών της GPSS. Κάθε δοσοληψία που κινείται µέσα στο µοντέλο ανήκει σε µία αλυ-
σίδα ανάλογα µε την κατάστασή της. Οι αλυσίδες αποτελούν θεµελιώδη έννοια της
GPSS γιατί αντιστοιχούν τις δοσοληψίες που κινούνται µέσα στο µοντέλο µε γεγο-
νότα που εκτελούνται ή πρόκειται να εκτελεσθούν. Παράδειγµα της εντολής:
SSTTAARRTT 440000,,,,110000
Με την εντολή αυτή, ο µετρητής τερµατισµού παίρνει την αρχική τιµή 400 και παρά-
γονται στατιστικά αποτελέσµατα κάθε 100 τερµατισµούς. Τα αποτελέσµατα αυτά
διακρίνονται στη λίστα εξόδου της προσοµοίωσης µε τους χαρακτηρισµούς: SNAP
1 OF 5, SNAP 2 OF 5, κτλ.
Η εντολή SIMULATE
SSIIMMUULLAATTEE AA,,BB
Η εντολή αυτή καθορίζει ότι µετά τη φάση ελέγχου και µεταγλώττισης του προ-
γράµµατος θα ακολουθήσει η εκτέλεση του µοντέλου.
¶›Ó·Î·˜ 4.10
Παράµετροι της εντολής START
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Αρχική τιµή του µετρητή τερµατισµού Λάθος
BΌταν έχει την τιµή «NP» η προσοµοίωση δεν παράγει
λίστα αποτελεσµάτωνΚενό
CΜετρητής τερµατισµού για παρουσίαση αποτελεσµάτων
(µετρητής snap)Ίση µε το Α
DΌταν έχει την τιµή 1, παράγονται λίστες µε τις αλυσίδες
των δοσοληψιώνΚαµία
¶›Ó·Î·˜ 4.11
Παράµετροι της εντολής SIMULATE
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
A Μέγιστος χρόνος εκτέλεσης σε λεπτά Άπειρος
BΕπιλογές λειτουργίας, που θα συµβεί, αν η προσοµοίωση
τρέξει για το µέγιστο χρόνο (SAVE, REPLY)Κενό
Αν δεν δοθεί η εντολή αυτή, ο διερµηνευτής της GPSS θα ελέγξει το πρόγραµµα
για συντακτικά λάθη, αλλά δεν θα εκτελέσει το µοντέλο.
Η εντολή CLEAR
CCLLEEAARR
Η εντολή αυτή αρχικοποιεί τα στατιστικά αποτελέσµατα µηδενίζοντας τους στατι-
στικούς µετρητές. Χρησιµοποιείται µεταξύ δύο διαδοχικών εκτελέσεων του µοντέ-
λου, έτσι ώστε να αρχίσει νέα συλλογή στατιστικών στοιχείων. Πιο συγκεκριµένα,
η εντολή CLEAR εκτελεί τις ακόλουθες λειτουργίες:
• Μηδενίζει τα στατιστικά που έχουν συγκεντρωθεί.
• Αδειάζει τις αλυσίδες από δοσοληψίες.
• Αρχικοποιεί κάθε µπλοκ GENERATE που υπάρχει στο µοντέλου, χωρίς όµως να
το ενεργοποιεί.
Η εντολή RESET
RREESSEETT
Η εντολή αυτή είναι παρόµοια µε την CLEAR και αρχικοποιεί επίσης τα στατιστικά
αποτελέσµατα, χωρίς όµως να αρχικοποιεί το µοντέλο. Στην πραγµατικότητα, η εντο-
λή RESET εκτελεί µόνο την πρώτη από τις τρεις λειτουργίες που εκτελεί η εντολή
CLEAR. Οι διαφορές των δύο αυτών εντολών δίνονται στον πίνακα 4.12.
¶›Ó·Î·˜ 4.12
∆ιαφορές ανάµεσα στις εντολές CLEAR και RESET
1 2 54 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Εντολή CLEAR Εντολή RESET
Τιµή του ρολογιού
Απόλυτη Μηδενίζεται Μηδενίζεται
Σχετική Μηδενίζεται ∆εν αλλάζει
Μετρητές µπλοκ
Συνολικοί Μηδενίζονται Μηδενίζονται
Τρέχοντες Μηδενίζονται ∆εν αλλάζουν
1 2 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Η εντολή END
EENNDD
Η εντολή αυτή πρέπει να τοποθετηθεί στο τέλος κάθε προγράµµατος GPSS και υπο-
δηλώνει στο διερµηνευτή το τέλος του προγράµµατος.
Η εντολή STORAGE
SSTTOORRAAGGEE SS$$SSNNAAMMEE,,AA
SSNNAAMMEE SSTTOORRAAGGEE AA
Η εντολή αυτή καθορίζει τη χωρητικότητα µιας αποθήκης. Με την εισαγωγή πολ-
λαπλών εντολών STORAGE, η χωρητικότητα της αποθήκης µπορεί να αλλάξει ανά-
µεσα σε διαδοχικές εκτελέσεις του µοντέλου.
¶›Ó·Î·˜ 4.13
Παράµετροι της εντολής STORAGE
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
SNAME Το συµβολικό όνοµα της αποθήκης Λάθος
A Η νέα χωρητικότητα της αποθήκης Λάθος
Η εντολή FUNCTION
Οι παράµετροι A και B της εντολής GENERATE καθορίζουν τη µέση τιµή και το
εύρος του διαστήµατος δειγµατοληψίας. Αυτό σηµαίνει ότι µε τον καθορισµό δύο
µόνο τιµών, η εντολή GENERATE παράγει δοσοληψίες των οποίων οι χρόνοι ανά-
µεσα στις αφίξεις ακολουθούν οµοιόµορφη κατανοµή. Αν όµως είναι επιθυµητό, να
ακολουθούν οι χρόνοι αυτοί µια οποιαδήποτε άλλη κατανοµή, ο αναλυτής θα πρέ-
πει να δώσει στο διερµηνευτή ορισµένα ζεύγη τιµών της κατανοµής. Για τον υπο-
λογισµό των ζευγών αυτών, πρέπει να θεωρηθεί ότι η κατανοµή έχει µέση τιµή ίση
µε τη µονάδα. Η πραγµατική µέση τιµή της κατανοµής θα δοθεί κατόπιν ως παρά-
µετρος A στην εντολή GENERATE , ενώ το όνοµα της τροποποιητικής συνάρτησης
θα δοθεί ως παράµετρος Β.
Τα ζεύγη τιµών της κατανοµής δίνονται µε την εντολή:
FFNNAAMMEE FFUUNNCCTTIIOONN AA,,BB
µετά από την οποία ακολουθούν τα ζεύγη των τιµών που έχουν υπολογισθεί εκ των
προτέρων.
¶›Ó·Î·˜ 4.14
Παράµετροι της εντολής FUNCTION
1 2 74 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Παράγοντας Περιγραφή Προκαθορισµένη τιµή
FNAME Ετικέτα µε το όνοµα της συνάρτησης Λάθος
A
Η γεννήτρια τυχαίων αριθµών GPSS που θα χρησιµοποιηθεί
για τη δειγµατοληψία της κατανοµής. Έχει τη µορφή RNn,
όπου n είναι ο αριθµός της γεννήτριας τυχαίων αριθµών. Η
GPSS έχει 8 γεννήτριες, και εποµένως, το n µπορεί να πάρει
τιµές από το 1 µέχρι το 8.
Λάθος
B
Ο αριθµός των ζευγών της κατανοµής που ακολουθούν την
εντολή FUNCTION. Έχει τη µορφή Dn για διακριτές
κατανοµές και Cn για συνεχείς κατανοµές, όπου n είναι ο
αριθµός των ζευγών που δίνονται.
Λάθος
Τα ζεύγη των τιµών δίνονται µε τη µορφή:
xx((11)),,yy((11))//xx((22)),,yy((22))//xx((33)),,yy((33))//......
όπου x(i) είναι η ανεξάρτητη µεταβλητή (τυχαίος αριθµός στο διάστηµα [0,1]) και
y(i) είναι η τιµή του δείγµατος. Αν ο τυχαίος αριθµός που θα παραχθεί είναι µεταξύ
δύο τιµών x(i) και x(i+1), τότε η GPSS θα χρησιµοποιήσει παρεµβολή για να υπο-
λογίσει τη σωστή τιµή του δείγµατος. Επειδή η τιµή αυτή προέρχεται από κατανο-
µή µε µέση τιµή 1, θα πολλαπλασιασθεί κατόπιν µε τη παράµετρο A του µπλοκ
GENERATE για να υπολογισθεί η τελική τιµή του χρόνου ανάµεσα στις αφίξεις δύο
δοσοληψιών.
Παράδειγµα:
EEXXPPOONN FFUUNNCCTTIIOONN RRNN11,,CC2244
00,,00//..11,,..110044//..22,,..222222//..33,,..335555//..44,,..550099//..55,,..6699//..66,,..991155//..77,,11..22
..7755,,11..3388//..88,,11..66//..8844,,11..8833//..8888,,22..1122//..99,,22..33//..9922,,22..5522//..9944,,22..8811
..9955,,22..9999//..9966,,33..22//..9977,,33..55//..9988,,33..99//..9999,,44..66//..999955,,55..33//..999988,,66..22
..999999,,77//..99999988,,88
Με την εντολή αυτή προσδιορίζεται η εκθετική κατανοµή, στην οποία έχει δοθεί το
όνοµα EXPON. Η παραγωγή των τυχαίων αριθµών θα γίνει από τη γεννήτρια 1, και ο
αριθµός των δειγµάτων που δόθηκε είναι 24. Αν λοιπόν για κάποια σειρά δοσοληψιών,
1 2 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
οι χρόνοι ανάµεσα στις αφίξεις τους ακολουθούν εκθετική κατανοµή µε µέσο χρόνο
300 χρονικές µονάδες, οι δοσοληψίες θα πρέπει να εισαχθούν στο µοντέλο µε το µπλοκ:
GGEENNEERRAATTEE 330000,,FFNN$$EEXXPPOONN
Η τροποποιητική συνάρτηση δίνεται πάντα στη θέση του παράγοντα B της εντολής
GENERATE και έχει τη µορφή FN$FNAME όπου FNAME είναι το όνοµα της
συνάρτησης.
Μορφή των εντολών της GPSS και σχόλια
Στις αρχικές εκδόσεις της GPSS, ο τρόπος γραφής των εντολών ήταν παρόµοιος µε
αυτόν της γλώσσας FORTRAN, η οποία ήταν και η κυρίαρχη γλώσσα προγραµµα-
τισµού την εποχή εκείνη. Ήταν δηλαδή προκαθορισµένο σε ποιά στήλη της γραµ-
µής έπρεπε να τοποθετηθούν οι αριθµοί ή ετικέτες των εντολών, σε ποιά στήλη έπρε-
πε να αρχίζουν οι εντολές, σε ποιά στήλη οι παράµετροι, κτλ. Στις σηµερινές εκδό-
σεις οι περιορισµοί αυτοί δεν υπάρχουν και οι εντολές µπορούν να αρχίζουν σε οποι-
αδήποτε στήλη. Ο διερµηνευτής έχει τη δυνατότητα να ξεχωρίζει τις εντολές από τις
ετικέτες, γιατί δεν επιτρέπεται να χρησιµοποιηθούν ονόµατα εντολών ως ετικέτες.
Αν ο αναλυτής επιθυµεί να εισάγει σχόλια στα προγράµµατά του, θα πρέπει να τοπο-
θετεί στην πρώτη στήλη της γραµµής των σχολίων ένα αστεράκι (*).
4.1.6.3 ¶·Ú·‰Â›ÁÌ·Ù· ÌÔÓÙ¤ÏˆÓ GPSS
Στα παραδείγµατα που ακολουθούν δίνεται το µοντέλο του συστήµατος µε τη γρα-
φική µορφή των µπλοκ της GPSS, το πρόγραµµα της προσοµοίωσης, και η λίστα
των αποτελεσµάτων έτσι όπως παράγεται από το διερµηνευτή της έκδοσης GPSS/H
της γλώσσας.
¶·Ú¿‰ÂÈÁÌ· 4.1
Σε ένα κουρείο έρχονται πελάτες για κούρεµα. Οι χρόνοι ανάµεσα στις αφίξεις ακο-
λουθούν εκθετική κατανοµή µε µέση τιµή 20 λεπτά. Η διάρκεια του κουρέµατος ακο-
λουθεί επίσης εκθετική κατανοµή µε µέσο όρο 18 λεπτά. Το κουρείο παραµένει ανοι-
κτό για οκτώ ώρες κάθε µέρα. Έστω ότι υπάρχει ένας µόνο κουρέας, αλλά αρκετά
µεγάλος χώρος ώστε να µπορούν να περιµένουν πολλοί πελάτες (θεωρητικά άπει-
ρος αριθµός). Για την κατασκευή του µοντέλου του κουρείου σε GPSS, θα πρέπει
πρώτα να καθορισθεί η αναλογία χρόνου της προσοµοίωσης µε τις χρονικές µονά-
δες. Είναι προφανές ότι κατάλληλη χρονική µονάδα είναι το λεπτό, και εποµένως, η
προσοµοίωση θα διαρκεί για 480 λεπτά. Στο Σχήµα 4.12 δίνεται το γραφικό διά-
γραµµα του µοντέλου GPSS και της συνθήκης τερµατισµού.
1 2 94 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
r
TMHMA MONTEΛOY 1 TMHMA MONTEΛOY 2
GENERATE GENERATE
20,FN$EXPON 480
QUEUE
BOBQ
BOBQ
TERMINATE
TERMINATE
1
SEIZE
DEPART
ADVANCE
RELEASE
BOB
BOB
18,FN$EXPON
™¯‹Ì· 4.12
Γραφική
απεικόνιση
των µοντέλων
του κουρείου
1 3 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
SIMULATE
*
* ¶ÂÚÈÁÚ·Ê‹ Ù˘ ÂÎıÂÙÈ΋˜ Û˘Ó¿ÚÙËÛ˘
*
EXPON FUNCTION RN1,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1
.2
.75,1.36/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2
.81
.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,
6.2
.999,7/.9998,8
*
* ∆Ì‹Ì· ªÔÓÙ¤ÏÔ˘ 1
*
GENERATE 20,FN$EXPON
QUEUE BOBQ
SEIZE BOB
DEPART BOBQ
ADVANCE 18,FN$EXPON
RELEASE BOB
TERMINATE
*
* ∆Ì‹Ì· ªÔÓÙ¤ÏÔ˘ 2 (Û˘Óı‹ÎË ÙÂÚÌ·ÙÈÛÌÔ‡)
*
GENERATE 480,1
TERMINATE 1
*
* ŒÓ·ÚÍË Ù˘ ÂÎÙ¤ÏÂÛ˘ ÙÔ˘ ÌÔÓÙ¤ÏÔ˘
*
START 1
END
Το πρόγραµµα της GPSS για το κουρείο δίνεται στο Σχήµα 4.13.
™¯‹Ì· 4.13
Πρόγραµµα
GPSS
του µοντέλου
του κουρείου
1 3 14 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Η λίστα των αποτελεσµάτων που δίνει η GPSS µετά από την εκτέλεση του µοντέ-
λου αυτού δίνονται στο Σχήµα 4.14. Στη λίστα που παράγει η GPSS δίνεται πρώτα
ανάλυση του προγράµµατος όπου αριθµούνται οι γραµµές εντολών και τα µπλοκ,
για εύκολο εντοπισµό στα αποτελέσµατα. Στην ίδια λίστα σηµειώνονται και τα λάθη,
αν υπάρχουν. ∆ίνονται επίσης ένα λεξικό οντοτήτων, ένας κατάλογος αναφορών των
συµβόλων, και οι απαιτήσεις του προγράµµατος σε µνήµη.
Στα στατιστικά αποτελέσµατα παρουσιάζονται µε τη σειρά: α) ο συνολικός δοσο-
ληψιών που πέρασε από κάθε µπλοκ, αλλά και ο αριθµός που υπάρχει σε κάθε µπλοκ
στο τέλος της προσοµοίωσης, β) τα στατιστικά αποτελέσµατα για τις εγκαταστάσεις,
τις ουρές και τις γεννήτριες τυχαίων αριθµών, και γ) η κατάσταση της µνήµης στο
τέλος της προσοµοίωσης.
Στο τέλος της λίστας εξόδου δίνονται ορισµένα στοιχεία για τον πραγµατικό χρόνο
εκτέλεσης της προσοµοίωσης.
1 3 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
LINE#
STMT#IF DO BLOCK# *LOC OPERATION A,B,C,D,E,F,G COMMENTS
11
SIMULATE
22
EXPON FUNCTION RN1,C24
33
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.36
44
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
55
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
66
1GENERATE
20,FN$EXPON
77
2QUEUE
BOBQ
88
3SEIZE
BOB
99
4DEPART
BOBQ
10
10
5ADVANCE
18,FN$EXPON
11
11
6RELEASE
BOB
12
12
7TERMINATE
13
13
8GENERATE
480,1
14
14
9TERMINATE
1
15
15
START
1
16
16
END
ENTITY DICTIONARY
(IN ASCENDING ORDER BY ENTITY NUMBER; «*» => VALUE CONFLICT.)
Facilities:
1=BOB
Queues:
1=BOBQ
Functions:
1=EXPON
Random Numbers:
1
™¯
‹Ì·
4.1
4
Λίσ
τα α
ποτε
λεσµ
άτω
ν το
υ µο
ντέλ
ου τ
ου κ
ουρε
ίου
1 3 34 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™SYMBOL
VALUE
EQU DEFNS
CONTEXT
REFERENCES BY STATEMENT NUMBER
BOB
1Facility
811
BOBQ
1Queue
79
EXPON
12
Function
610
11
Random Nmbr
2
STORAGE REQUIREMENTS (BYTES)
COMPILED CODE:
482
COMPILED DATA:
664
MISCELLANEOUS:
0
ENTITIES:
360
COMMON:
10000
TOTAL:
11506
Simulation begins.
RELATIVE CLOCK: 479.9987 ABSOLUTE CLOCK: 479.9987
BLOCK CURRENT
TOTAL
128
26
28
3
22
4
22
5
122
6
21
7
21
8
1
9
1
™¯
‹Ì·
4.1
4
(συν
έχει
α)
1 3 4 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
—AVG-UTIL-DURING—
FACILITY
TOTAL
AVAIL
UNAVL
ENTRIES
AVERAGE
CURRENT
PERCENT
SEIZING
PREEMPTING
TIME
TIME
TIME
TIME/XACT
STATUS
AVAIL
XACT
XACT
BOB
0.940
22
20.511
AVAIL
23
QUEUE
MAXIMUM
AVERAGE
TOTAL
ZERO
PERCENT
AVERAGE
$AVERAGE
QTABLE
CURRENT
CONTENTS
CONTENTS
ENTRIESENTRIES
ZEROS
TIME/UNIT
TIME/UNIT
NUMBER
CONTENTS
BOBQ
73.019
28
27.1
51.761
55.743
6
RANDOM
ANTITHETIC
INITIAL
CURRENT
SAMPLE
CHI-SQUARE
STREAM
VARIATES
POSITION
POSITION
COUNT
UNIFORMITY
1OFF
100000
100053
53
N/A
STATUS OF COMMON STORAGE
8752
BYTES AVAILABLE
1248
IN USE
1376
USED (MAX)
Simulation terminated. Absolute Clock: 479.9987
Total Block Executions:
166
Blocks / second:
166000
Microseconds / Block:
6.02
Elapsed Time Used (SEC)
PASS1:
0.05
LOAD/CTRL:
0.11
EXECUTION:
0.00
TOTAL:
0.16
™¯
‹Ì·
4.1
4
(συν
έχει
α)
¶·Ú¿‰ÂÈÁÌ· 4.2
Σε ένα πρατήριο βενζίνης, που διαθέτει και πλυντήριο, έρχονται αυτοκίνητα για βεν-
ζίνη και πιθανώς πλύσιµο. Οι χρόνοι ανάµεσα στις αφίξεις ακολουθούν εκθετική
κατανοµή µε µέση τιµή 8 λεπτά. Το 25% των αυτοκινήτων χρησιµοποιεί βενζίνη super
και εποµένως, σχηµατίζει ουρά στην αντλία της super βενζίνης. Το υπόλοιπο 75%
των αυτοκινήτων σχηµατίζει ουρά στην αντλία της αµόλυβδης βενζίνης. Ο χρόνος
εφοδιασµού µε βενζίνη ακολουθεί οµοιόµορφη κατανοµή στο διάστηµα [5,11] λεπτά.
Μετά από τον εφοδιασµό τους µε βενζίνη, το 30% όλων των αυτοκινήτων προχωρεί
για πλύσιµο. Στο πλυντήριο, όµως, υπάρχει περιορισµένος χώρος αναµονής. Εποµέ-
νως, όσα από τα αυτοκίνητα, που επιθυµούν πλύσιµο, δεν χωρούν στο χώρο αναµο-
νής, αποχωρούν. Οι χρόνοι πλυσίµατος ακολουθούν επίσης οµοιόµορφη κατανοµή
στο διάστηµα [20,30] λεπτά. Το πρατήριο είναι ανοικτό ολόκληρο το 24ωρο.
Ο ιδιοκτήτης του πρατηρίου επιθυµεί να διαπιστώσει αν ένας χώρος αναµονής που
χωρά 2 αυτοκίνητα είναι αρκετός, ή αν πρέπει να τον αυξήσει και πόσο. Το κριτή-
ριό του είναι να µην χάνει περισσότερα από το 10% των αυτοκινήτων που επιθυµούν
πλύσιµο.
Στο µοντέλο του συστήµατος υπάρχουν τρεις εξυπηρετητές, οι δύο αντλίες και το
πλυντήριο, και τρεις ουρές, που σχηµατίζονται µπροστά από αυτούς. Οι δύο ουρές
θεωρείται ότι µπορεί να έχουν άπειρο µήκος, ενώ η τρίτη έχει περιορισµένο µήκος.
Αν και η µελέτη του προβλήµατος δεν απαιτεί στατιστικά στοιχεία για τις δύο ουρές
που σχηµατίζονται µπροστά από τις αντλίες, αυτές θα συµπεριληφθούν στο µοντέ-
λο της GPSS για να γίνει ένας απλός έλεγχος του µεγίστου µήκους των ουρών.
Ο έλεγχος της επάρκειας του χώρου αναµονής στο πλυντήριο γίνεται µε τη χρήση
αποθήκης. Σε διαδοχικές εκτελέσεις της προσοµοίωσης, η χωρητικότητα της απο-
θήκης αυξάνεται, αρχίζοντας από 2 θέσεις και φθάνοντας τις 5, οι οποίες είναι µάλ-
λον υπερβολικές.
Για τον τερµατισµό της προσοµοίωσης χρησιµοποιείται ένα µοντέλο ίδιο µε αυτό
του προηγουµένου παραδείγµατος, όπου όµως ο χρόνος έχει αυξηθεί στα 1440 λεπτά
που αντιστοιχούν σε ένα 24ωρο. Το γραφικό µοντέλο GPSS του πρατηρίου δίνεται
στο Σχήµα 4.15. Τα µπλοκ TRANSFER χρησιµοποιούνται αρχικά για να επιλέξουν
το 25% των αυτοκινήτων που θα εφοδιασθεί µε βενζίνη super, κατόπιν το 30% των
αυτοκινήτων που θα προχωρήσει στο πλυντήριο και τέλος τα αυτοκίνητα που θα
αποχωρήσουν, επειδή δεν χωρούν στο χώρο αναµονής.
1 3 54 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 3 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
r
GENERATE
10,FN$EXPON
TRANSFER
TRANSFER TRANSFER
TRANSFER
WASHER
.25
QUEUE QUEUE
SEIZE SEIZE
DEPART DEPART
RELEASE
ADVANCE
8,3
ADVANCE
8,3
.30 .30
WASH
BOTH
BYEBYE
ENTER
SEIZE
LEAVE
ADVANCE
25,5
BYEBYE
UNLDQ
UNLDQ
SUPRQ
SUPR
SUPRQ
TERMINATE TERMINATE TERMINATE
UNLD
RELEASE
RELEASE SUPR
WASR
WASQ
WASQ
WASR
UNLD
™¯‹Ì· 4.15
Γραφική
απεικόνιση των
µοντέλων
του πρατηρίου
βενζίνης
Το πρόγραµµα της GPSS για το πρατήριο δίνεται στο Σχήµα 4.16.
1 3 74 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
SIMULATE
EXPON FUNCTION RN2,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2
.75,1.36/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81
.95,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2 .999,7/.9998,8
STORAGE S$WASQ,2 ∏ ·Ú¯È΋ ¯ˆÚËÙÈÎfiÙËÙ· ·Ó·ÌÔÓ‹˜
GENERATE 8,FN$EXPON ÛÙÔ Ï˘ÓÙ‹ÚÈÔ Â›Ó·È 2 ·˘ÙÔΛÓËÙ·
TRANSFER .25,,SUPER ∆Ô 25% ÙˆÓ ·˘ÙÔÎÈÓ‹ÙˆÓ ËÁ·›ÓÔ˘Ó
QUEUE UNLDQ ÁÈ· ‚ÂÓ˙›ÓË SUPER ÂÓÒ ÙÔ
SEIZE UNLD ˘fiÏÔÈÔ 75% Ì·›ÓÂÈ ÛÙËÓ Ô˘Ú¿
DEPART UNLDQ ÁÈ· ·ÌfiÏ˘‚‰Ë ‚ÂÓ˙›ÓË.
ADVANCE 8,3
RELEASE UNLD
TRANSFER .30,,WASHER ∆Ô 30% ÙˆÓ ·˘ÙÔÎÈÓ‹ÙˆÓ Û˘Ó¯›˙ÂÈ
TERMINATE ÛÙÔ Ï˘ÓÙ‹ÚÈÔ ÂÓÒ Ù· ¿ÏÏ· ʇÁÔ˘Ó
*
SUPER QUEUE SUPRQ ∆· ·˘ÙÔΛÓËÙ· ÂÚÈ̤ÓÔ˘Ó ÛÙËÓ
SEIZE SUPR Ô˘Ú¿ ÁÈ· ‚ÂÓ˙›ÓË SUPER
DEPART SUPRQ
ADVANCE 8,3
RELEASE SUPR
TRANSFER .30,,WASHER ∆Ô 30% ÙˆÓ ·˘ÙÔÎÈÓ‹ÙˆÓ Û˘Ó¯›˙ÂÈ
TERMINATE ÛÙÔ Ï˘ÓÙ‹ÚÈÔ ÂÓˆ Ù· ¿ÏÏ· ʇÁÔ˘Ó
*
WASHER TRANSFER BOTH,,BYEBYE ∞Ó ‰ÂÓ ˘¿Ú¯Ô˘Ó ı¤ÛÂȘ ·Ó·ÌÔÓ‹˜
WAIT ENTER WASQ Ù· ·˘ÙÔΛÓËÙ· ʇÁÔ˘Ó
SEIZE WASR
LEAVE WASQ
ADVANCE 25,5
RELEASE WASR ŸÛ· ·˘ÙÔΛÓËÙ· Ï˘ıÔ‡Ó ·Ó·¯ˆÚÔ‡Ó
BYEBYE TERMINATE ÎÈ ·˘Ù¿
*
GENERATE 10080 ÃÚfiÓÔ˜ ÚÔÛÔÌÔ›ˆÛ˘ 1 ‚‰ÔÌ¿‰·
TERMINATE 1
START 1 ∞Ú¯‹ Ù˘ ÚÒÙ˘ ÂÎÙ¤ÏÂÛ˘
1 3 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Τα αποτελέσµατα της προσοµοίωσης δίνονται στο Σχήµα 4.15. Έχουν περιληφθεί
τα στατιστικά στοιχεία των ουρών µόνο για την πρώτη εκτέλεση.
Το ποσοστό των αυτοκινήτων, που φεύγουν, επειδή δεν υπάρχει ελεύθερος χώρος
αναµονής µπροστά στο πλυντήριο, υπολογίζεται από τον αριθµό των δοσοληψιών
που έχουν περάσει από κάθε µπλοκ στο τέλος της προσοµοίωσης. Τα µπλοκ που
ενδιαφέρουν στην προκειµένη περίπτωση είναι το µπλοκ µε την ετικέτα WASHER,
που αντιστοιχεί στο TRANSFER, και το µπλοκ µε την ετικέτα WAIT, που αντιστοι-
χεί στο ENTER.
Έστω ότι είναι:
n1 ο αριθµός των δοσοληψιών που πέρασαν από το µπλοκ TRANSFER, δηλαδή των
αυτοκινήτων που ήθελαν πλύσιµο
n2 ο αριθµός των δοσοληψιών που πέρασαν από το µπλοκ ENTER, δηλαδή των
αυτοκινήτων που µπήκαν στην ουρά για πλύσιµο,
n3 ο αριθµός των αυτοκινήτων που, ενώ ήθελαν πλύσιµο, έφυγαν γιατί ο χώρος ανα-
µονής ήταν πλήρης.
Είναι προφανές ότι:
n2 = n1 – n2
και το ποσοστό των αυτοκινήτων που έφυγαν χωρίς πλύσιµο δίνεται από τον τύπο:
ln
n= ¥3
1
100
STORAGE S$WASQ,3 ÃÒÚÔ˜ ·Ó·ÌÔÓ‹˜ 3 ·˘ÙÔΛÓËÙ·
CLEAR ªË‰ÂÓÈÛÌfi˜ ÛÙ·ÙÈÛÙÈÎÒÓ
START 1 ∞Ú¯‹ Ù˘ ‰Â‡ÙÂÚ˘ ÂÎÙ¤ÏÂÛ˘
STORAGE S$WASQ,4 ÃÒÚÔ˜ ·Ó·ÌÔÓ‹˜ 4 ·˘ÙÔΛÓËÙ·
CLEAR ªË‰ÂÓÈÛÌfi˜ ÛÙ·ÙÈÛÙÈÎÒÓ
START 1 ∞Ú¯‹ ÙÚ›Ù˘ ÂÎÙ¤ÏÂÛ˘
STORAGE S$WASQ,5 ÃÒÚÔ˜ ·Ó·ÌÔÓ‹˜ 5 ·˘ÙÔΛÓËÙ·
CLEAR ªË‰ÂÓÈÛÌfi˜ ÛÙ·ÙÈÛÙÈÎÒÓ
START 1 ∞Ú¯‹ ٤ٷÚÙ˘ ÂÎÙ¤ÏÂÛ˘
END ∆¤ÏÔ˜ ÚÔÛÔÌÔ›ˆÛ˘
™¯‹Ì· 4.16
Πρόγραµµα GPSS
του µοντέλου του
βενζινάδικου
Στον Πίνακα 4.15 δίνονται οι τιµές των n1, n2, n3 και l για κάθε µία από τις εκτελέ-
σεις του µοντέλου.
¶›Ó·Î·˜ 4.15
Συγκεντρωτικά αποτελέσµατα προσοµοίωσης του πρατηρίου βενζίνης
1 3 94 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Θέσεις
αναµονήςn1 n2 n3 l
2 357 315 42 11,76%
3 376 343 33 8,78%
4 402 376 26 6,47%
5 358 345 13 3,63%
Το συµπέρασµα που εξάγεται από τον πίνακα αυτό είναι ότι ο ιδιοκτήτης του πρα-
τηρίου θα πρέπει να προβλέψει χώρο αναµονής τουλάχιστον τριών αυτοκινήτων, αν
θέλει να χάνει λιγότερα από 10% των αυτοκινήτων που θέλουν πλύσιµο. Αν επιπλέ-
ον, θέλει να χάνει λιγότερα από 5% των αυτοκινήτων που θέλουν πλύσιµο, τότε ο
χώρος αναµονής θα πρέπει να αυξηθεί στα πέντε αυτοκίνητα.
Από τα αποτελέσµατα της προσοµοίωσης του Σχήµατος 4.17 εξάγονται και άλλα
συµπεράσµατα:
1. Το µέγιστο µήκος της ουράς στην αντλία της αµόλυβδης βενζίνης είναι 8 αυτο-
κίνητα, αριθµός µάλλον υψηλός. Αυτό επιβεβαιώνεται και από το γεγονός ότι ο
µέσος χρόνος αναµονής στην ουρά αυτή ήταν περίπου 12 λεπτά. Εποµένως, θα
πρέπει να προστεθεί και δεύτερη αντλία αµόλυβδης βενζίνης.
1 4 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Simulation begins.
RELATIVE CLOCK: 10080.0000 ABSOLUTE CLOCK: 10080.0000
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
BLOCK CURRENTTOTAL
11195
11
305
21
1315
21195
12
305
22
314
3890
13
305
BYEBYE
356
4890
14
305
24
1
5890
15
305
25
1
6890
16
207
7890
WASHER
357
8890
WAIT
315
9631
19
315
SUPER
305
20
315
—AVG-UTIL-DURING—
FACILITY
TOTAL
AVAIL
UNAVL
ENTRIES
AVERAGE
CURRENT
PERCENT
SEIZING
PREEMPTING
TIME
TIME
TIME
TIME/XACT
STATUS
AVAIL
XACT
XACT
UNLD
0.707
890
8.005
AVAIL
SUPR
0.242
305
7.991
AVAIL
WASR
0.779
315
24.924
AVAIL
1194
—AVG-UTIL-DURING—
STORAGE
TOTAL
AVAIL
UNAVL
ENTRIES
AVERAGE
CURRENT
PERCENT
CAPACITY
AVERAGE
CURRENT
MAXIMUM
TIME
TIME
TIME
TIME/UNIT
STATUS
AVAIL
CONTENTS
CONTENTS
CONTENTS
WASQ
0.299
315
19.145
AVAIL
100.0
20.598
02
QUEUE
MAXIMUM
AVERAGE
TOTAL
ZERO
PERCENT
AVERAGE
$AVERAGE
QTABLE
CURRENT
CONTENTS
CONTENTS
ENTRIES
ENTRIES
ZEROS
TIME/UNIT
TIME/UNIT
NUMBER
CONTENTS
UNLDQ
81.053
890
235
26.4
11.922
16.200
0
SUPRQ
20.030
305
240
78.7
1.002
4.702
0
™¯
‹Ì·
4.1
7Λ
ίστα
απο
τελε
σµάτ
ων
του
µοντ
έλου
του
πρα
τηρί
ου β
ενζί
νης.
1 4 14 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™¢Â‡ÙÂÚË ÂÎÙ¤ÏÂÛË Ì ¯ÒÚÔ ·Ó·ÌÔÓ‹˜ ÁÈ· 3 ·˘ÙÔΛÓËÙ·
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
11247
11
322
21
1343
21247
12
322
22
342
36
925
13
1322
BYEBYE
375
4919
14
321
24
1
5919
15
321
25
1
61
919
16
237
7918
WASHER
376
8918
WAIT
343
9626
19
343
SUPER
322
20
343
∆Ú›ÙË ÂÎÙ¤ÏÂÛË Ì ¯ÒÚÔ ·Ó·ÌÔÓ‹˜ ÁÈ· 4 ·˘ÙÔΛÓËÙ·
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
11330
11
334
21
1370
21330
12
334
22
369
3996
13
334
BYEBYE
398
4996
14
334
24
1
5996
15
334
25
1
61
996
16
239
7995
WASHER
402
8995
WAIT
3373
9688
19
370
SUPER
334
20
370
™¯
‹Ì·
4.1
7
(συν
έχει
α)
1 4 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
∆¤Ù·ÚÙË ÂÎÙ¤ÏÂÛË Ì ¯ÒÚÔ ·Ó·ÌÔÓ‹˜ ÁÈ· 5 ·˘ÙÔΛÓËÙ·
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
BLOCK CURRENT
TOTAL
1
1272
11
293
21
1
339
2
1272
12
293
22
338
3
3
978
13
1293
BYEBYE
354
4
975
14
292
24
1
5
975
15
292
25
1
6
1
975
16
199
7
974
WASHER
358
8
974
WAIT
3
342
9
709
19
339
SUPER
1
294
20
339
™¯
‹Ì·
4.1
7
(συν
έχει
α)
2. Αντίθετα από την αντλία της αµόλυβδης, η κατάσταση στην αντλία της βενζίνης
super είναι µάλλον καλή. Η ουρά ποτέ δεν ξεπέρασε τα δύο αυτοκίνητα και ο
µέσος χρόνος αναµονής ήταν µόλις 1 λεπτό.
1 4 34 . 1 ∂ • ∂ π ¢ π ∫ ∂ À ª ∂ ¡ ∂ ™ ° § ø ™ ™ ∂ ™ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.3
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
1. Η MODSIM III είναι ……………………, παράγει δηλαδή πηγαίο κώδικα µιας γλώσ-
σας γενικής χρήσεως.
2. Οι οντότητες που κινούνται σε ένα µοντέλο GPSS ονοµάζονται …………………….
3. Οι ουρές µε …………………… χωρητικότητα ονοµάζονται …………………… στην GPSS
και το µπλοκ εισόδου µπορεί να εµποδίσει την είσοδο.
4. Η γλώσσα προσοµοίωσης …………………… θεωρείται ο πρόγονος του αντικειµενο-
στραφούς προγραµµατισµού.
¢Ú·ÛÙËÚÈfiÙËÙ· 4.1
Αν έχετε πρόσβαση σε µεταγλωττιστή της GPSS γράψτε το πρόγραµµα προσοµοί-
ωσης του εξής συστήµατος: Σε ένα εργαστήριο αγγειοπλαστικής εργάζονται πέντε
τεχνίτες. Κάθε τεχνίτης χρειάζεται 60 λεπτά±10 λεπτά για να κατασκευάσει ένα
αγγείο, και όταν τελειώσει, το τοποθετεί στο φούρνο, και το προσέχει µέχρι να
ψηθεί. Ο χρόνος ψησίµατος εξαρτάται από το µέγεθος του αγγείου και κυµαίνεται
από 30 έως 40 λεπτά. Μετά το τέλος του ψησίµατος, ο τεχνίτης αρχίζει την κατα-
σκευή του επόµενου αγγείου.
¢Ú·ÛÙËÚÈfiÙËÙ· 4.2
Αν έχετε πρόσβαση σε µεταγλωττιστή της GPSS, γράψτε το πρόγραµµα προσο-
µοίωσης του εξής συστήµατος: Μια τράπεζα έχει 4 ταµίες και µία µόνον ουρά για
όλους τους ταµίες. Οι χρόνοι άφιξης των πελατών ακολουθούν εκθετική κατανο-
µή µε µέσο όρο 5 λεπτά. Οι χρόνοι εξυπηρέτησης ακολουθούν επίσης εκθετική
κατανοµή µε µέσο όρο 12 λεπτά. Γράψτε το πρόγραµµα προσοµοίωσης του συστή-
µατος σε GPSS.
1 4 4 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
4.2 °ÏÒÛÛ˜ ÁÂÓÈ΋˜ ¯Ú‹Ûˆ˜
Όπως αναφέρθηκε στην αρχή του κεφαλαίου αυτού, οι εξειδικευµένες γλώσσες προ-
σοµοίωσης έχουν πολλά πλεονεκτήµατα, αλλά και ορισµένα µειονεκτήµατα. Το
σηµαντικότερο ίσως µειονέκτηµά τους είναι το υψηλό κόστος απόκτησης και εκπαί-
δευσης των χρηστών. Σε εταιρείες και οργανισµούς, όπου η προσοµοίωση χρησι-
µοποιείται µόνο περιστασιακά, είναι πολλές φορές προτιµότερο για τον αναλυτή να
χρησιµοποιήσει µια γενική γλώσσα προγραµµατισµού, για να γράψει ένα απλό πρό-
γραµµα προσοµοίωσης. Στο υποκεφάλαιο αυτό αναπτύσσονται οι µέθοδοι προ-
γραµµατισµού των βασικών στοιχείων της προσοµοίωσης.
4.2.1 ¢Ô̤˜ ‰Â‰Ô̤ӈÓ
Ένας από τους πρωταρχικούς κανόνες του προγραµµατισµού είναι ο καθορισµός των
δοµών δεδοµένων του προγράµµατος πριν αρχίσει η κωδικοποίηση. Η προεργασία
αυτή είναι πολύ σηµαντική γιατί µερικές φορές υπαγορεύει ακόµη και τη γλώσσα
προγραµµατισµού που θα χρησιµοποιηθεί.
Η κύρια δοµή δεδοµένων της προσοµοίωσης αφορά τη διαχείριση των γεγονότων ή
των δραστηριοτήτων, ανάλογα µε το είδος της προσοµοίωσης που αναφέρθηκε στο
κεφάλαιο 2. Στην περίπτωση της προσοµοίωσης διεργασιών, οι δοµές δεδοµένων
είναι αντίστοιχες µε αυτές της προσοµοίωσης γεγονότων, επειδή η χρονοδροµολό-
γηση των διεργασιών βασίζεται στα γεγονότα που λαµβάνουν χώρα καθώς εξελίσ-
σονται οι διεργασίες.
Κατά την προσοµοίωση γεγονότων, το κυρίως πρόγραµµα, ή διαχειριστής της προ-
σοµοίωσης, δροµολογεί και επεξεργάζεται έναν κατάλογο γεγονότων ταξινοµηµέ-
νων µε χρονολογική σειρά. Ο κατάλογος αυτός ονοµάζεται χρονική ουρά ή χρονι-
κή λίστα και υλοποιείται είτε µε συνδεδεµένη λίστα, αν αυτή υποστηρίζεται από τη
γλώσσα προγραµµατισµού, είτε µε έναν πίνακα γεγονότων. Παράδειγµα της συνδε-
δεµένης λίστας δίνεται στο Σχήµα 4.18.
Κάθε στοιχείο της λίστας έχει τρία πεδία:
1. το είδος του γεγονότος
2. το χρόνο που θα συµβεί το γεγονός, και
3. τη διεύθυνση του επόµενου στοιχείου της λίστας
Οι διευθύνσεις των στοιχείων της λίστας υλοποιούνται, σε γλώσσες όπως η
PASCAL, µε δείκτες (pointers). Έστω, ότι υπάρχει ένας δείκτης LSTART που περιέ-
χει τη διεύθυνση του πρώτου στοιχείου της λίστας. Στην αρχή της προσοµοίωσης η
λίστα είναι κενή και στον δείκτη LSTART δίνεται η κενή διεύθυνση (NIL). Η προ-
σοµοίωση αρχίζει µε τη δηµιουργία του πρώτου γεγονότος και την εισαγωγή του στη
λίστα. Στη συνέχεια, η διαχείριση της συνδεδεµένης λίστας γίνεται µε εξαγωγή και
εισαγωγή στοιχείων από αυτήν, ως εξής:
• Εξαγωγή στοιχείου. Η εξαγωγή στοιχείου γίνεται πάντα από την αρχή της λίστας
επειδή αυτή είναι χρονικά ταξινοµηµένη. Εποµένως, όταν ο χρόνος της προσο-
µοίωσης αυξηθεί και γίνει ίσος µε το χρόνο του πρώτου γεγονότος της λίστας, το
γεγονός αυτό αφαιρείται από την αρχή της λίστας.
• Εισαγωγή στοιχείου. Η εισαγωγή ενός στοιχείου γίνεται µε την τοποθέτησή του
στη σωστή, χρονολογικά, θέση της λίστας. Όταν, εποµένως, δηµιουργείται ένα
νέο γεγονός και καθορισθεί ο χρόνος εκτέλεσής του, αναζητείται στη λίστα το
πρώτο γεγονός µε χρόνο εκτέλεσης µεγαλύτερο του νέου. Αν βρεθεί τέτοιο γεγο-
1 4 54 . 2 ° § ø ™ ™ ∂ ™ ° ∂ ¡ π ∫ ∏ ™ Ã ƒ ∏ ™ ∂ ø ™
Aρχή Γεγονός 1 Xρόνος 1
Xρόνος 2
Xρόνος 3
Xρόνος k
Γεγονός 2
Γεγονός 3
Γεγονός k ™¯‹Ì· 4.18
Συνδεδεµένη λίστα
γεγονότων
της προσοµοίωσης
1 4 6 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
νός, το νέο γεγονός εισάγεται αµέσως πριν από αυτό. ∆ιαφορετικά, το νέο γεγο-
νός εισάγεται στο τέλος της λίστας.
Ο ορισµός των δοµών δεδοµένων και οι ρουτίνες εισαγωγής και εξαγωγής στοιχεί-
ων στη συνδεδεµένη λίστα γεγονότων δίνονται στο Σχήµα 4.19, σε γλώσσα PASCAL.
Η χρήση συνδεδεµένης λίστας για τον κατάλογο των γεγονότων έχει το πλεονέκτη-
µα ότι µπορεί να αυξάνει δυναµικά, όταν προστίθενται νέα γεγονότα. Το πλεονέ-
κτηµα αυτό είναι, προφανώς, περισσότερο σηµαντικό, αν η γλώσσα προγραµµατι-
σµού, που θα χρησιµοποιηθεί, προσφέρει δυναµική διαχείριση της µνήµης.
Όταν η γλώσσα δεν παρέχει δυνατότητες χρήσης λίστας, η διαχείριση των γεγονό-
των γίνεται µε τη χρήση ενός πίνακα γεγονότων. Κάθε γραµµή του πίνακα έχει δύο
πεδία που αντιστοιχούν στο είδος του γεγονότος που πρόκειται να συµβεί και το
χρόνο στον οποίο θα συµβεί. Το µέγεθος του πίνακα είναι ένα από τα σηµαντικότε-
ρα προβλήµατα αυτής της µεθόδου. Όταν η γλώσσα προγραµµατισµού δεν υποστη-
ρίζει δυναµική διαχείριση της µνήµης, το µέγεθος του πίνακα θα πρέπει να είναι ίσο
ή µεγαλύτερο από το µέγιστο αριθµό γεγονότων, που είναι δυνατόν να περιµένουν
προς εκτέλεση σε κάθε χρονική στιγµή. Αν, αντίθετα, η γλώσσα προγραµµατισµού
υποστηρίζει δυναµική διαχείριση της µνήµης, το µέγεθος του πίνακα µπορεί να αυξά-
νεται δυναµικά κατά τη διάρκεια της προσοµοίωσης. Η υλοποίηση του πίνακα γεγο-
νότων φαίνεται στο Σχήµα 4.20.
pprrooggrraamm linked_list;
ttyyppee (* ¶ÚÔÛ‰ÈÔÚÈÛÌfi˜ ÙˆÓ ‰ÔÌÒÓ ‰Â‰Ô̤ӈÓ*)
listpointer=^lliissttnnooddee; (* ™˘Ó‰Â‰Â̤ÓË Ï›ÛÙ· *)
listnode = rreeccoorrdd
event :ssttrriinngg[20]; time :iinntteeggeerr; next :listpointer;
eenndd;
element_record=record (* √ÚÈÛÌfi˜ ÁÂÁÔÓfiÙÔ˜ *)
event:string[20]; time :integer;
eenndd;
pprroocceedduurree Insert(vvaarr lstart:listpointer;item:element_record;);
vvaarr
tempptr:listpointer; currptr:listpointer; done:boolean;
bbeeggiinn
1 4 74 . 2 ° § ø ™ ™ ∂ ™ ° ∂ ¡ π ∫ ∏ ™ Ã ƒ ∏ ™ ∂ ø ™
™¯‹Ì· 4.19
∆ιαχείριση της συνδεδεµένης λίστας γεγονότων σε γλώσσα PASCAL
currptr:=lstart; predptr:=nniill; done:=ffaallssee;
wwhhiillee nnoott done aanndd (currptr<>nniill) ddoo
iiff (currptr^.time>=item.time) then
done:=true; (* ∞Ó·˙‹ÙËÛË ÙÔ˘ ÚÒÙÔ˘ *)
eellssee (* ÁÂÁÔÓfiÙÔ˜ Ì ÌÂÁ·Ï‡ÙÂÚÔ *)
predptr:=currptr; (* ¯ÚfiÓÔ ·fi ÙÔ ÂÈÛ·ÁfiÌÂÓÔ *)
currptr:=currptr^.next;
eenndd;
eenndd;
new(tempptr); (* ¶ÚÔÛˆÚÈÓfi ÛÙÔÈ¯Â›Ô *)
tempptr^.event:=item.event; (* ÌÂ ÙÔ Ó¤Ô ÁÂÁÔÓfi˜ *)
tempptr^.time:=item.time;
iiff predptr=nniill then (* ∂ÈÛ·ÁˆÁ‹ ÛÙËÓ *)
tempptr^.next:=lstart; (* ·Ú¯‹ Ù˘ Ï›ÛÙ·˜ *)
lstart:=tempptr;
eellssee
tempptr^.next:=predptr^.next;
predptr^.next:=tempptr; (* ∂ÈÛ·ÁˆÁ‹ ÛÙË ÛˆÛÙ‹ ı¤ÛË *)
eenndd;
eenndd;
pprroocceedduurree Extract(var lstart:listpointer; item:element_record);
vvaarr
tempptr:listpointer;
bbeeggiinn
tempptr:=lstart;
lstart:=tempptr^.next;
item.event:=tempptr^.event;
item.time:=tempptr^.time;
eenndd;;
1 4 8 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
Η διαχείριση του πίνακα γεγονότων γίνεται µε εξαγωγή και εισαγωγή γραµµών ως εξής:
• Εξαγωγή γραµµής. Η εξαγωγή της γραµµής ενός γεγονότος γίνεται πάντα από
την αρχή του πίνακα επειδή αυτός είναι χρονικά ταξινοµηµένος. Εποµένως, όταν
ο χρόνος της προσοµοίωσης αυξηθεί και γίνει ίσος µε το χρόνο της πρώτης γραµ-
µής του πίνακα, αφαιρείται η γραµµή αυτή µε µετακίνηση όλων των άλλων γραµ-
µών µια θέση πάνω.
• Εισαγωγή γραµµής. Η εισαγωγή µιας γραµµής γίνεται µε την τοποθέτησή της στη
σωστή, χρονολογικά, θέση του πίνακα. Έστω, ότι υπάρχουν k γεγονότα στον πίνα-
κα και η πρώτη γραµµή µε χρόνο µεγαλύτερο του νέου γεγονότος βρίσκεται στη
θέση j. Η νέα γραµµή τοποθετείται στη θέση j αφού πρώτα µετακινηθούν µια θέση
κάτω οι γραµµές j, j+1,…,k. Αν δεν υπάρχει γραµµή στον πίνακα µε χρόνο µεγα-
λύτερο από τη νέα, αυτή τοποθετείται στη θέση k+1, δηλαδή στο τέλος του πίνακα.
Ο κώδικας µε τον ορισµό του πίνακα γεγονότων και τις ρουτίνες εισαγωγής και εξα-
γωγής γραµµών από τον πίνακα δίνεται στο Σχήµα 4.21 σε γλώσσα PASCAL.
Είναι προφανές ότι η διαχείριση ενός πίνακα απαιτεί πολύ περισσότερο χρόνο εκτέ-
Γεγονός 1
Γεγονός 2
Γεγονός 3
Γεγονός 4
Γεγονός k
Xρόνος 1
Xρόνος 2
Xρόνος 3
Xρόνος 4
Xρόνος k
™¯‹Ì· 4.20
Πίνακας
γεγονότων
της προσοµοίωσης
λεσης από ότι η διαχείριση µιας συνδεδεµένης λίστας. Για τον λόγο αυτό, ακόµη και
όταν η γλώσσα προγραµµατισµού δεν υποστηρίζει συνδεδεµένες λίστες, αυτές υλο-
ποιούνται µε πίνακες,
1 4 94 . 2 ° § ø ™ ™ ∂ ™ ° ∂ ¡ π ∫ ∏ ™ Ã ƒ ∏ ™ ∂ ø ™
pprrooggrraamm List_Array;
vvaarr list : array[1..n,1..2] ooff iinntteeggeerr;
pprroocceedduurree insert(event,time:iinntteeggeerr;var k:iinntteeggeerr);
vvaarr i:iinntteeggeerr;
bbeeggiinn
iiff k=0 tthheenn bbeeggiinn (* ∞Ó Ô ›Ó·Î·˜ Â›Ó·È ·‰ÂÈÔ˜ *)
list[1,1]:=event; (* ÙÔ ÁÂÁÔÓfi˜ ÙÔÔıÂÙÂ›Ù·È *)
list[1,2]:=time; (* ÛÙË ÁÚ·ÌÌ‹ 1 *)
k:=k+1;
eenndd
eellssee (* ∞ÏÏÈÒ˜, ·Ó ÙÔ ÁÂÁÔÓfi˜ *)
iiff (time>list[k,2]) tthheenn (* ¤¯ÂÈ ÙÔ ÌÂÁ·Ï‡ÙÂÚÔ ¯ÚfiÓÔ, *)
bbeeggiinn
list[k+1,1]:=event; (* ÙÔÔıÂÙÂ›Ù·È ÛÙÔ Ù¤ÏÔ˜ *)
list[k+1,2]:=time; (* ÙÔ˘ ›Ó·Î· *)
k:=k+1;
eenndd
eellssee bbeeggiinn
(* ·ÏÏÈÒ˜, ‚Ú›ÛÎÂÙ·È ÚÒÙ· Ë *)
i:=1; (* ÛˆÛÙ‹ ı¤ÛË ÙÔ˘ ÁÂÁÔÓfiÙÔ˜ *)
wwhhiillee (time>list[i,2]) ddoo
i:=i+1;
ffoorr j:=k ddoowwnnttoo i ddoo bbeeggiinn
list[j+1,1]:=list[j,1]; (* ªÂٷʤÚÔÓÙ·È ÔÈ ˘fiÏÔȘ *)
list[j+1,2]:=list[j,2]; (* ÁÚ·Ì̤˜ ÙÔ˘ ›Ó·Î· ÌÈ· *)
eenndd; (* ÁÚ·ÌÌ‹ οو, Î·È ÙÔ *)
list[i,1]:=event; (* ÁÂÁÔÓfi˜ ÙÔÔıÂÙÂ›Ù·È ÛÙË *)
list[i,2]:=time; (* ÛˆÛÙ‹ ı¤ÛË *)
k:=k+1;
eenndd;
eenndd;
eenndd;
1 5 0 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
pprroocceedduurree extract(vvaarr k:iinntteeggeerr;vvaarr event,time:iinntteeggeerr);
vvaarr i:iinntteeggeerr;
bbeeggiinn
event:=list[1,1]; (* ∂Í¿ÁÂÙ·È ÚÒÙ· ÙÔ ÁÂÁÔÓfi˜ *)
time:=list[1,2]; (* ·fi ÙË ÁÚ·ÌÌ‹ 1 ÙÔ ›Ó·Î· *)
ffoorr j:=2 ttoo k ddoo bbeeggiinn
list[j-1,1]:=list[j,1]; (* ªÂٷʤÚÔÓÙ·È ÔÈ ˘fiÏÔȘ *)
list[j-1,2]:=list[j,2]; (* ÁÚ·Ì̤˜ ÌÈ· ı¤ÛË ¿Óˆ *)
eenndd;
k:=k-1;
eenndd;
™¯‹Ì· 4.21∆ιαχείριση του πίνακα γεγονότων σε γλώσσα PASCAL
Υπάρχουν περιπτώσεις κατά τις οποίες ο αριθµός των γεγονότων που προγραµµατί-
ζεται να συµβούν είναι προκαθορισµένος. Η υλοποίηση του καταλόγου γεγονότων
είναι τότε πολύ απλή και γίνεται µε έναν πίνακα, κάθε γραµµή του οποίου αντιστοι-
χεί σε ένα είδος γεγονότος. Το µόνο που χρειάζεται να αποθηκευθεί στον πίνακα είναι
ο χρόνος που πρόκειται να συµβεί το γεγονός. Ένα απλό παράδειγµα είναι η ουρά
που σχηµατίζεται µπροστά από έναν εξυπηρετητή. Υποθέτοντας ότι κάθε άφιξη
πελάτη προγραµµατίζεται όταν συµβεί η προηγούµενη, το µοντέλο αυτό έχει δύο
είδη ανεξάρτητων γεγονότων:
1. Άφιξη πελάτη
2. Τέλος εξυπηρέτησης ενός πελάτη
Η υλοποίηση του καταλόγου γεγονότων γίνεται µε ένα πίνακα δύο γραµµών που δίνε-
ται στο Σχήµα 4.22. Αν κάποιο γεγονός δεν έχει δροµολογηθεί να συµβεί στο µέλλον,
ο χρόνος εκτέλεσης αυτού του γεγονότος τίθεται ίσος µε το άπειρο ή χρόνο µεγαλύ-
τερο από τη χρονική διάρκεια της προσοµοίωσης. Επειδή ο πίνακας αυτός δεν είναι
χρονικά ταξινοµηµένος, για την εύρεση του αµέσως επόµενου γεγονότος, που θα συµ-
βεί, πρέπει να αναζητηθεί ο ελάχιστος από τους χρόνους του πίνακα. Το γεγονός που
θα συµβεί είναι αυτό που αντιστοιχεί στη γραµµή µε τον ελάχιστο χρόνο.
Άφιξη πελάτη
Tέλος εξυπηρέτησης
Xρόνος 1
Xρόνος 2
™¯‹Ì· 4.22
Πίνακας
γεγονότων µε
συγκεκριµένες
γραµµές
Οι δοµές δεδοµένων για την προσοµοίωση δραστηριοτήτων υλοποιούνται µε παρό-
µοιο τρόπο, αλλά για κάθε δραστηριότητα ξεχωριστά. Όταν αρχίζει η εκτέλεση κάθε
δραστηριότητας, δηµιουργείται ένας κατάλογος γεγονότων για τη δραστηριότητα, ο
οποίος διαγράφεται όταν τελειώσει η δραστηριότητα. Η προσοµοίωση δραστηριο-
τήτων, εποµένως, είναι προτιµότερο να υλοποιείται µε γλώσσα προγραµµατισµού
που υποστηρίζει δυναµική διαχείριση της µνήµης.
Οι υπόλοιπες δοµές δεδοµένων της προσοµοίωσης αφορούν τις οντότητες του µοντέ-
λου και τα χαρακτηριστικά τους. Υλοποιούνται είτε µε εγγραφές (records) της µορφής
οντότητα.χαρακτηριστικό, είτε µε πίνακες χαρακτηριστικών για κάθε οντότητα.
4.2.2 ªË¯·ÓÈÛÌfi˜ ÚÔ‹˜ ¯ÚfiÓÔ˘
Ο µηχανισµός ροής χρόνου της προσοµοίωσης αποτελεί το σηµαντικότερο τµήµα
του προγράµµατος ελέγχου. Η επιλογή του κατάλληλου µηχανισµού, από τους δύο
που περιγράφηκαν στο πρώτο κεφάλαιο, εξαρτάται από το είδος της προσοµοίωσης
που έχει επιλεγεί. Τις περισσότερες φορές επιλέγεται ο µηχανισµός του επόµενου
γεγονότος, λόγω της καλύτερης αποδοτικότητάς του σε σχέση µε το µηχανισµό στα-
θερού διαστήµατος.
Η υλοποίηση του µηχανισµού χρόνου γίνεται σύµφωνα µε το ΜΡΧ επόµενου γεγο-
νότος που περιγράφηκε στο κεφάλαιο 1. Ορίζεται µια µεταβλητή Τ που αποτελεί το
ρολόι της προσοµοίωσης. Η µεταβλητή αυτή αρχικοποιείται στο µηδέν και µετά
αυξάνει ανάλογα µε το µηχανισµό ροής χρόνου:
• Όταν χρησιµοποιείται ο µηχανισµός του επόµενου γεγονότος, η µεταβλητή λαµ-
βάνει τη νέα της τιµή από το χρόνο εκτέλεσης του επόµενου γεγονότος.
• Όταν χρησιµοποιείται ο µηχανισµός του σταθερού διαστήµατος, προστίθεται στη
µεταβλητή µια σταθερή τιµή σε κάθε κύκλο της προσοµοίωσης.
Το ρολόι της προσοµοίωσης δεν χρησιµοποιείται µόνο για τον καθορισµό των γεγο-
νότων που συµβαίνουν, αλλά και για τον προγραµµατισµό των γεγονότων που πρό-
κειται να συµβούν. Αυτό συµβαίνει γιατί τις περισσότερες φορές είναι γνωστοί οι
σχετικοί χρόνοι των γεγονότων και όχι οι απόλυτοι. Π.χ. κατά την προσοµοίωση µιας
ουράς, όταν αρχίζει η εξυπηρέτηση ενός πελάτη, είναι γνωστό πόσο θα διαρκέσει
και όχι πότε ακριβώς θα τελειώσει. Το τέλος της εξυπηρέτησης υπολογίζεται επο-
µένως από τη σχέση:
Τέλος εξυπηρέτησης = Τ + Χρόνος εξυπηρέτησης
Οι χρόνοι άφιξης υπολογίζονται µε τον ίδιο τρόπο γιατί συνήθως είναι γνωστοί οι
χρόνοι ανάµεσα στις αφίξεις.
1 5 14 . 2 ° § ø ™ ™ ∂ ™ ° ∂ ¡ π ∫ ∏ ™ Ã ƒ ∏ ™ ∂ ø ™
1 5 2 K E º A § A I O 4 : A ¡ ∞ ¶ ∆ À • ∏ ¶ ƒ √ ° ƒ∞ ª ª ∞∆ ø ¡ ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 4.4
Όπως και η χρονική ουρά, έτσι και οι ουρές οντοτήτων µπορούν να υλοποιηθούν
είτε µε συνδεδεµένη λίστα είτε µε πίνακα. Ποια από τα παρακάτω χαρακτηριστι-
κά είναι απόλυτα απαραίτητο να τοποθετούνται σε κάθε γραµµή του πίνακα ή σε
κάθε στοιχείο της λίστας;
1. Το είδος της οντότητας
2. Ο χρόνος εισόδου (άφιξης) στην ουρά.
3. Ο χρόνος εξόδου από την ουρά.
4. Ο αύξων αριθµός της οντότητας.
¢Ú·ÛÙËÚÈfiÙËÙ· 4.3
Γράψτε ένα πρόγραµµα σε γλώσσα γενικής χρήσεως, που να υλοποιεί συνδεδεµέ-
νες λίστες µε τη χρήση πινάκων. Η ρουτίνα εισαγωγής στοιχείων στη λίστα θα πρέ-
πει να διατηρεί τη χρονική ταξινόµηση της λίστας.
™‡ÓÔ„Ë
Η επιλογή της γλώσσας στην οποία θα αναπτυχθεί ένα πρόγραµµα προσοµοίωσης
είναι ένα πολύ σηµαντικό βήµα της διαδικασίας µελέτης ενός µοντέλου. Η επιλογή
αυτή µπορεί να επηρεάσει την επεκτασιµότητα, την ευχρηστία και την µεταφερσιµό-
τητα του µοντέλου, καθώς και το χρόνο ανάπτυξής του. Στο κεφάλαιο αυτό εξετά-
σθηκαν σε αντιδιαστολή τόσο οι ευρύτερα διαδεδοµένες εξειδικευµένες γλώσσες προ-
σοµοίωσης, όσο και τα χαρακτηριστικά των γλωσσών προγραµµατισµού γενικής χρή-
σεως. Με σκοπό να βοηθηθεί ο αναγνώστης στην επιλογή µιας γλώσσας προσοµοί-
ωσης, στην ενότητα 4.1 περιγράφεται η µεθοδολογία επιλογής µιας εξειδικευµένης
γλώσσας µε βάση τα χαρακτηριστικά της. Στις υποενότητες 4.1.3 – 4.1.6 παρουσιά-
σθηκαν τα ιδιαίτερα χαρακτηριστικά τεσσάρων γλωσσών, µε έµφαση στην GPSS, η
οποία είναι και η πιο προσιτή, κυρίως από άποψης κόστους.
Όσον αφορά τις γλώσσες γενικής χρήσεως, καµία από αυτές δεν έχει ιδιαίτερα χαρα-
κτηριστικά που να βοηθούν στην προσοµοίωση, και ο χρήστης µπορεί να επιλέξει τη
γλώσσα που γνωρίζει καλύτερα. Παρόλα αυτά, µερικές γλώσσες υποστηρίζουν δοµές
δεδοµένων που είναι ιδιαίτερα χρήσιµες στην προσοµοίωση. Οι δοµές αυτές εξετά-
σθηκαν στην ενότητα 4.2 µε παραδείγµατα από την υλοποίηση των δοµών που απαι-
τούνται κατά τη διαχείριση του χρόνου προσοµοίωσης.
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. N.L. Biggs, Introduction to Computing With Pascal, Oxford Univ Press, 1989.
2. G.M. Birtwistle, DEMOS – Discrete Event Modeling on SIMULA, Macmillan,
London, 1979.
3. CACI, MODSIM III User’s Manual, La Jolla, California, 1997.
4. CACI, SIMPROCESS User’s Manual, La Jolla, California, 1997.
5. CACI, Windows SIMSCRIPT II.5, User’s Manual, La Jolla, California, 1997.
6. O. Dahl, K. Nygaard, «SIMULA – an Algol–based simulation language,» Comm
ACM, Vol. 9, No. 9, 1966, pp. 671–678.
7. G. Gordon, System Simulation, Prentice–Hall Englewood Cliffs, NJ, 1969.
8. G. Gordon, «The design of the GPSS language.» In Adam, N.R. & Dogramaci,
A. (eds.), Current Issues in Computer Simulation, Academic Press, New York,
1979.
9. E. Horowitz, S. Sahni, Fundamentals of Data Structures in Pascal, W. H. Freeman
& Co. 1994.
10.H.M. Markowitz, B. Hausner, and H.W. Karr, SIMSCRIPT: A Simulation
Programming Language, RAND Corporation, RM–3310–pr, Prentice–Hall,
Englewood Cliffs, USA, 1962.
11.M. Pidd, Computer Simulation in Management Science, 3η έκδοση, Wiley, 1992.
12.A.A.B. Pritsker, The GASP IV Simulation Language, Wiley, New York, 1974.
13.E.C. Russel, SIMSCRIPT II.5 Programming Language, CACI, Los Angeles, 1987.
14.Stahl, Introduction to Simulation with GPSS on the PC, Macintosh and VAX,
Prentice–Hall, 1990.
15.T.J. Schriber, An Introduction to Simulation Using Gpss/H, John Wiley & Sons, 1991.
1 5 3µ π µ § π √ ° ƒ∞ º π ∫ ∂ ™ ∞ ¡ ∞ º √ ƒ ∂ ™
M¤ıÔ‰ÔÈ ¢ÂÈÁÌ·ÙÔÏË„›·˜
™ÎÔfi˜
Οι είσοδοι των µοντέλων προσοµοίωσης συχνά απαιτούν την εισαγωγή τυχαίων δειγ-
µάτων τα οποία παράγονται από τυχαίους αριθµούς. Στόχος του κεφαλαίου αυτού
είναι να παρουσιάσει τόσο τις µεθοδολογίες παραγωγής τυχαίων αριθµών µε ηλε-
κτρονικό υπολογιστή, όσο και τις µεθοδολογίες παραγωγής τυχαίων δειγµάτων από
τυχαίους αριθµούς.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού, θα είστε σε θέση να:
• διακρίνετε τους τυχαίους αριθµούς σε τυχαίους και ψευδοτυχαίους, ανάλογα µε τον
τρόπο παραγωγής τους
• αναφέρετε τουλάχιστον τρεις µεθόδους παραγωγής πραγµατικά τυχαίων αριθµών
• αναφέρετε τουλάχιστον τέσσερις µεθόδους παραγωγής ψευδοτυχαίων αριθµών µε
ηλεκτρονικό υπολογιστή
• αναφέρετε τουλάχιστον τρεις ιδιότητες των τυχαίων αριθµών που παράγονται από
ηλεκτρονικό υπολογιστή.
• αναφέρετε τουλάχιστον τέσσερις ελέγχους τυχαιότητας που εφαρµόζονται σε τυχαί-
ους αριθµούς παραγόµενους από Η/Υ
• αναφέρετε τουλάχιστον τρεις µεθόδους παραγωγής τυχαίων δειγµάτων.
• εφαρµόζετε µια µέθοδο παραγωγής τυχαίων δειγµάτων για την παραγωγή δειγµά-
των που ακολουθούν κάποια συγκεκριµένη κατανοµή.
• εξηγείτε γιατί η µέθοδος Monte Carlo αναφέρεται µερικές φορές (εσφαλµένα) ως
προσοµοίωση Monte Carlo.
ŒÓÓÔȘ ÎÏÂȉȿ
5∫ ∂ º ∞ § ∞ π √
• τυχαίοι αριθµοί, τυχαία δείγµατα,
τυχαίες µεταβλητές
• ψευδοτυχαίοι αριθµοί
• γεννήτριες τυχαίων αριθµών
• έλεγχος τυχαιότητας
• δειγµατοληψία
• κατανοµή, συνάρτηση πυκνότητας
πιθανότητας, συνάρτηση αθροιστικής
πιθανότητας
• εκθετική κατανοµή, οµοιόµορφη κατα-
νοµή, κανονική κατανοµή
• µέθοδος Monte Carlo
1 5 6 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Κατά την προσοµοίωση δυναµικών στοχαστικών µοντέλων, απαιτείται η δηµιουργία
µιας σειράς τυχαίων δειγµάτων οι οποίες θα προσοµοιάζουν είτε τη µη προκαθορι-
σµένη άφιξη οντοτήτων στο µοντέλο είτε τη µη προκαθορισµένη συµπεριφορά των
οντοτήτων του µοντέλου. Οι τυχαίες αυτές µεταβλητές ακολουθούν συνήθως κατανο-
µές, οι οποίες έχουν προσδιορισθεί, είτε από µετρήσεις στο πραγµατικό σύστηµα είτε
από υποθέσεις για το πραγµατικό σύστηµα. Οι υποθέσεις βασίζονται συνήθως σε εµπει-
ρία για τις κατανοµές που ακολουθούν ορισµένες κλάσεις µεταβλητών, όπως για παρά-
δειγµα, οι τυχαίες αφίξεις πελατών σε ένα κατάστηµα, οι οποίες θεωρούνται ότι ακο-
λουθούν κατανοµή Poisson. Στην περίπτωση που η κατανοµή µιας τυχαίας µεταβλη-
τής δεν είναι προκαθορισµένη, είναι δυνατόν να επαναληφθεί η προσοµοίωση µε διά-
φορες κατανοµές, για να καθορισθεί η απόκριση του συστήµατος σε όλες τις δυνατές
κατανοµές εισόδων. Η παραγωγή των τυχαίων µεταβλητών βασίζεται στην παραγω-
γή τυχαίων αριθµών µε τον ηλεκτρονικό υπολογιστή και τη µετατροπή των τυχαίων
αριθµών σε τυχαίες µεταβλητές, που ακολουθούν την απαιτούµενη κατανοµή.
Στην ενότητα 5.1 του κεφαλαίου αυτού, ορίζονται οι τυχαίοι αριθµοί και γίνεται η διά-
κριση ανάµεσα σε τυχαίους και ψευδοτυχαίους αριθµούς. Στην ενότητα 5.2 παρουσιά-
ζονται οι επιθυµητές ιδιότητες των τυχαίων αριθµών, ενώ στην ενότητα 5.3 αναπτύσ-
σεται η µεθοδολογία παραγωγής τυχαίων αριθµών µε ηλεκτρονικό υπολογιστή. Στην
ενότητα 5.4 επεξηγούνται οι έλεγχοι τυχαιότητας, µε τους οποίους επαληθεύουµε την
αξιοπιστία των τυχαίων αριθµών. Στην ενότητα 5.5 παρουσιάζεται η µεθοδολογία παρα-
γωγής τυχαίων δειγµάτων από τυχαίους αριθµούς. Τέλος, στην ενότητα 5.6 παρουσιά-
ζεται η µέθοδος Monte Carlo, µια σηµαντική άµεση εφαρµογή των τυχαίων αριθµών,
η οποία χρησιµοποιείται συχνά για τον υπολογισµό ορισµένων ολοκληρωµάτων, αλλά
και άλλων ποσοτήτων που δύσκολα υπολογίζονται µε αναλυτικές µεθόδους.
Για τη µελέτη του κεφαλαίου αυτού απαιτούνται κάποιες εξειδικευµένες γνώσεις.
Συγκεκριµένα, για την κατανόηση του ελέγχου των τυχαίων αριθµών αλλά και την
παραγωγή των τυχαίων δειγµάτων απαιτούνται οι βασικές γνώσεις στατιστικής, τις
οποίες ο αναγνώστης µπορεί να βρει στα βιβλία του Ψωϊνού (1992) και του Kleinjnen
(1974), ενώ για την κατανόηση των κατανοµών απαιτούνται γνώσεις θεωρίας πιθα-
νοτήτων. Ο αναγνώστης µπορεί να αναφερθεί στα βιβλίο του Κουνιά (1991) και του
Breipohl (1970).
5.1 ∆ ¯·›ÔÈ Î·È „¢‰ÔÙ˘¯·›ÔÈ ·ÚÈıÌÔ›
Η παραγωγή πραγµατικά τυχαίων αριθµών δεν είναι δυνατή µε ψηφιακούς ηλε-
κτρονικούς υπολογιστές. Αυτό οφείλεται στο γεγονός, ότι οι ηλεκτρονικοί υπολογι-
στές εκτελούν πάντα κάποιο συγκεκριµένο πρόγραµµα, δηλαδή µια αλληλουχία
συγκεκριµένων εντολών, ή οποία, αν επαναληφθεί µε τις ίδιες αρχικές συνθήκες, θα
δηµιουργήσει πάντα τα ίδια αποτελέσµατα.
Οι µόνες µέθοδοι που παράγουν τυχαίους αριθµούς βασίζονται σε φυσικά φαινόµε-
να, τα οποία εξ αιτίας ενός πολύ µεγάλου αριθµού παραµέτρων που υπεισέρχονται
δίνουν τυχαία αποτελέσµατα. Παραδείγµατα µεθόδων δηµιουργίας τυχαίων αριθ-
µών είναι γνωστά από την αρχαιότητα ακόµα, όπως το ρίξιµο ζαριών, το µοίρασµα
χαρτιών, η λοταρία, κτλ. Πολλές από τις µεθόδους αυτές χρησιµοποιούνται ακόµη
και σήµερα σε τυχερά παιχνίδια και σε κληρώσεις. Η πιο συνηθισµένη µέθοδος στις
κληρώσεις είναι η τυχαία επιλογή µιας αριθµηµένης σφαίρας µέσα από ένα καλά
ανακατεµένο δοχείο. Η ρουλέτα (όταν δεν είναι «φτιαγµένη») είναι επίσης ένα κλασ-
σικό παράδειγµα δηµιουργίας τυχαίων αριθµών.
Εκτός όµως από τις µηχανικές µεθόδους, είναι δυνατή η δηµιουργία τυχαίων αριθ-
µών και µε ηλεκτρονικά µέσα, όπως οι γεννήτριες λευκού θορύβου και οι ηλεκτρο-
νικές λυχνίες. Παράδειγµα της µεθόδου δίνεται στο Σχήµα 5.1.
1 5 75 . 1 ∆ À Ã ∞ π √ π ∫ ∞ π æ ∂ À ¢ √ ∆ À Ã ∞ π √ π ∞ ƒ π £ ª √ π
Γεννήτριαr
λευκούr
θορύβου
Γεννήτριαr
ηλεκτρονικώνr
παλµών
Mετρητήςr
(χρονικήr
ολοκλήρωση) Tυχαίοιr
αριθµοί
™¯‹Ì· 5.1
∆ιάγραµµα
αναλογικής
γεννήτριας τυχαί-
ων αριθµών
Η γεννήτρια του λευκού θορύβου παράγει ηλεκτρονικό θόρυβο µε την ίδια ισχύ σε
όλες τις συχνότητες. Ο θόρυβος αυτός εισάγεται σε µία γεννήτρια παλµών, η οποία
παράγει παλµούς, όταν η ένταση του θορύβου είναι µεγαλύτερη από κάποιο προκα-
θορισµένο κατώφλι. Τέλος, ένας µετρητής µετρά τους παλµούς που δηµιουργήθη-
καν σε κάποιο προκαθορισµένο χρονικό διάστηµα. Ο αριθµός των παλµών είναι ο
παραγόµενος τυχαίος αριθµός.
Μία άλλη µέθοδος παραγωγής τυχαίων αριθµών µε ηλεκτρονικά µέσα χρησιµοποι-
εί παλλόµενες ηλεκτρονικές λυχνίες για τη δηµιουργία τυχαίων αριθµών, µε βάση
τους παλµούς που δηµιουργούνται σε ένα προκαθορισµένο χρονικό διάστηµα.
Τυχαίοι αριθµοί που έχουν δηµιουργηθεί µε παρόµοιες µεθόδους είναι διαθέσιµοι
µε τη µορφή πινάκων, οι οποίοι µπορούν να εισαχθούν ως δεδοµένα σε ένα πρό-
γραµµα. Για παράδειγµα, η εταιρεία RAND Corporation (1955) διαθέτει πίνακα
1 5 8 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
1,000,000 τυχαίων αριθµών που έχουν δηµιουργηθεί µε αναλογικούς υπολογιστές.
Η χρήση όµως αυτών των πινάκων, παρά το ότι είναι διαθέσιµοι σε ψηφιακή µορφή,
δεν ενδείκνυται για δύο λόγους. Ο πρώτος είναι η αδυναµία αποθήκευσης των τερα-
στίων αυτών πινάκων στην περιορισµένη µνήµη ενός υπολογιστή, επειδή αυτό θα
αποτελούσε σπατάλη πολύτιµων πόρων. Αν υποτεθεί ότι αποθηκεύονται σε δευτε-
ρεύουσα µνήµη (π.χ. σε σκληρούς δίσκους), η χαµηλή ταχύτητα πρόσβασης σε αυτή
θα καθιστούσε την προσοµοίωση απαράδεκτα αργή. Ο δεύτερος λόγος είναι ότι σε
πολλές προσοµοιώσεις απαιτείται η δηµιουργία πολύ περισσότερων από 1,000,000
τυχαίων αριθµών, γιατί η επαναχρησιµοποίηση των ίδιων αριθµών θα προκαλεί στα-
τιστικά απαράδεκτη πόλωση στα αποτελέσµατα.
Παρά τα όσα αναφέρθηκαν, υπάρχει µέθοδος παραγωγής τυχαίων αριθµών µε ψηφια-
κούς υπολογιστές, αλλά τα µειονεκτήµατα της είναι τόσο πολλά που την καθιστούν
άχρηστη. Έχει παρατηρηθεί ότι τα ψηφία του αριθµού π (3.14159…) ικανοποιούν
τους περισσότερους στατιστικούς ελέγχους τυχαιότητας. Θα µπορούσαν λοιπόν να
χρησιµοποιηθούν ανά 5 ή ανά 10, έτσι ώστε να δώσουν µια σειρά τυχαίων αριθµών.
Οι αριθµητικές πράξεις όµως που απαιτούνται για την παραγωγή αυτών των ψηφίων
είναι τόσο πολλές, που δεν δικαιολογούν τη χρήση της µεθόδου, δεδοµένου ότι υπάρ-
χουν πολύ απλούστερες µέθοδοι. Επιπλέον, δεν έχει αποδειχθεί µαθηµατικά η τυχαι-
ότητα των ψηφίων αυτών.
Για όλους του παραπάνω λόγους, οι σειρές των τυχαίων αριθµών παράγονται στους
ψηφιακούς υπολογιστές χρησιµοποιώντας απλές επαναληπτικές µεθόδους. Οι αριθ-
µοί αυτοί ονοµάζονται ψευδοτυχαίοι, γιατί στην πραγµατικότητα δεν είναι εντελώς
τυχαίοι. Ξεκινώντας από τις ίδιες αρχικές συνθήκες, παράγεται πάντα η ίδια σειρά
τυχαίων αριθµών επειδή η µέθοδος παραγωγής είναι συγκεκριµένη. Το µειονέκτη-
µα όµως αυτό αποτελεί στην ουσία πλεονέκτηµα για την προσοµοίωση. Αν µια σειρά
τυχαίων αριθµών ικανοποιεί τα στατιστικά τεστ τυχαιότητας, η επαναληψιµότητα
αυτής της σειράς είναι επιθυµητό χαρακτηριστικό για την προσοµοίωση. Ο λόγος
είναι απλός. Μία από τις σηµαντικότερες εφαρµογές της προσοµοίωσης είναι ο έλεγ-
χος υποθέσεων, δηλαδή η εξέταση ενός συστήµατος κάτω από διαφορετικές συνθή-
κες ή µε διαφορετικές παραµέτρους. Στην περίπτωση αυτή ενδιαφέρει η µεταβολή
µόνο των παραµέτρων του συστήµατος και όχι των εξωτερικών παραγόντων, οι οποί-
οι θα πρέπει να είναι ίδιοι για κάθε εκτέλεση της προσοµοίωσης. Οι σειρές των τυχαί-
ων αριθµών είναι ένας εξωτερικός παράγοντας που πρέπει να διατηρηθεί σταθερός
για να µην επηρεάσει τα αποτελέσµατα, όπως φαίνεται στο παρακάτω Παράδειγµα.
¶·Ú¿‰ÂÈÁÌ· 5.1
Προσοµοίωση ουράς σε τράπεζα
Έστω ότι θέλουµε να ελέγξουµε δύο διαφορετικούς τρόπους δηµιουργίας της ουράς
των πελατών µπροστά στους ταµίες µιας τράπεζας. Στην πρώτη περίπτωση επιτρέ-
πουµε να δηµιουργείται µία ουρά µπροστά από κάθε ταµία, ο οποίος εξυπηρετεί αυτή
τη συγκεκριµένη ουρά. Στη δεύτερη περίπτωση επιτρέπεται η δηµιουργία µίας µόνο
ουράς µπροστά από όλα τα ταµεία. Οι πελάτες που περιµένουν στην ουρά αυτή εξυ-
πηρετούνται κατά περίπτωση από τον πρώτο ταµία που απελευθερώνεται. Οι δύο
τύποι ουρών φαίνονται στο Σχήµα 5.2.
1 5 95 . 1 ∆ À Ã ∞ π √ π ∫ ∞ π æ ∂ À ¢ √ ∆ À Ã ∞ π √ π ∞ ƒ π £ ª √ π
Aνεξάρτητες ουρές
Kοινή ουρά
™¯‹Ì· 5.2
∆ύο τύποι ουράς
σε τράπεζα
1 6 0 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Αυτό που ενδιαφέρει στο Παράδειγµα αυτό είναι η προσοµοίωση των δύο διαφορε-
τικών τύπων ουράς και ο υπολογισµός του µέσου µήκος ουράς, του µέσου χρόνου
αναµονής στην ουρά, κτλ.
Οι τυχαίοι αριθµοί χρησιµοποιούνται κατά την προσοµοίωση σε δύο σειρές. Η µία
σειρά δίνει τους χρόνους ανάµεσα στις αφίξεις των πελατών και η άλλη τους χρό-
νους εξυπηρέτησης των πελατών.
Για να εξαχθεί το σωστό συµπέρασµα, θα πρέπει η τυχαία σειρά των αφίξεων και η
τυχαία σειρά χρόνων εξυπηρέτησης να είναι ίδια και στις δύο περιπτώσεις. ∆ιαφο-
ρετικά, είναι δυνατόν τα αποτελέσµατα να διαφωνούν ακόµη και µε τα θεωρητικά
αποτελέσµατα. Στην προκειµένη περίπτωση, ο µέσος χρόνος αναµονής στην ουρά
είναι θεωρητικά συντοµότερος όταν σχηµατίζεται µία µόνον ουρά, παρά όταν σχη-
µατίζονται πολλές ουρές. Αν όµως κατά των προσοµοίωση της πολλαπλών ουρών
παραχθούν τυχαία λιγότερες αφίξεις στο ίδιο χρονικό διάστηµα (δηλαδή µια σειρά
µεγαλύτερων χρόνων ανάµεσα στις αφίξεις), από ότι στην περίπτωση της µίας ουράς,
ο µέσος χρόνος αναµονής στην ουρά θα είναι µικρότερος µε πολλαπλές ουρές παρά
µε µία. Χρησιµοποιώντας τις ίδιες σειρές τυχαίων αριθµών και στις δύο περιπτώ-
σεις, εξασφαλίζουµε ότι ο µόνος παράγοντας που µπορεί να δώσει διαφορετικά απο-
τελέσµατα είναι ο αριθµός των ουρών που σχηµατίζονται µπροστά στους ταµίες.
Η ιδιότητα της επαναληψιµότητας είναι σηµαντική ακόµη και όταν δεν συγκρίνο-
νται αποτελέσµατα προσοµοίωσης του ιδίου συστήµατος µε διαφορετικές παραµέ-
τρους, αλλά απαιτείται η επανάληψη της ίδιας σειράς τυχαίων δειγµάτων σε διαφο-
ρετικά συστήµατα.
5.2 π‰ÈfiÙËÙ˜ Ù˘¯·›ˆÓ ·ÚÈıÌÒÓ
Οι τυχαίοι αριθµοί, οι οποίοι χρησιµοποιούνται στις προσοµοιώσεις, πρέπει να είναι
ανεξάρτητοι και οµοιόµορφα κατανεµηµένοι στο διάστηµα [0,1]. Η οµοιόµορφη
κατανοµή των τυχαίων αριθµών στο διάστηµα αυτό έχει συνάρτηση πυκνότητας
πιθανότητας:
(5.1)
το διάγραµµα της οποίας δίνεται στο Σχήµα 5.3.
Είναι γνωστό από τη θεωρία πιθανοτήτων ότι η συνάρτηση πυκνότητας πιθανότητας
δίνει την πιθανότητα η µεταβλητή x να πάρει τιµές σε κάποιο διάστηµα. ∆ηλαδή:
(5.2)P a x b f x dxa
b
[ ] ( )< < = Ú
f x x( ) ,= £ <1 0 1
Η συνάρτηση αθροιστικής πιθανότητας, ή συνάρτηση κατανοµής πιθανότητας δίνει
την πιθανότητα η ανεξάρτητη µεταβλητή να πάρει τιµή µικρότερη του x. Στην περί-
πτωση της οµοιόµορφης κατανοµής η συνάρτηση αθροιστικής πιθανότητας υπολο-
γίζεται ως:
(5.3)
Το διάγραµµα της συνάρτησης αθροιστικής πιθανότητας της οµοιόµορφης κατανο-
µής δίνεται στο Σχήµα 5.4.
F x f x dx dx xxx
( ) ( )= = ◊ =ÚÚ-1
0
1 6 15 . 2 π ¢ π √ ∆ ∏ ∆ ∂ ™ ∆ À Ã ∞ π ø ¡ ∞ ƒ π £ ª ø ¡
1
1 x
f(x)
0
™¯‹Ì· 5.3
Συνάρτηση
πυκνότητας
πιθανότητας
της οµοιόµορφης
κατανοµής
™¯‹Ì· 5.4
Συνάρτηση
αθροιστικής
πιθανότητας
της οµοιόµορφης
κατανοµής
1
1 x
F(x)
0
1 6 2 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Η αναµενόµενη (µέση) τιµή της ανεξάρτητης µεταβλητής µπορεί να υπολογισθεί από
τον τύπο της µέσης τιµής:
(5.4)
Για την οµοιόµορφη κατανοµή των τυχαίων αριθµών η µέση τιµή υπολογίζεται ως:
(5.5)
Η διακύµανση της ανεξάρτητης µεταβλητής δίνεται από τον τύπο:
(5.6)
όπου µ είναι η µέση τιµή. Για την οµοιόµορφη κατανοµή των τυχαίων αριθµών η
διακύµανση υπολογίζεται ως:
(5.7)
Οι ψευδοτυχαίοι αριθµοί που παράγονται από τις γεννήτριες τυχαίων αριθµών πρέ-
πει να έχουν ορισµένες επί πλέον ιδιότητες, οι οποίες είναι απαραίτητες για τη χρήση
τους σε προσοµοίωση (Fishman 1973, 1978, Tocher 1963). Οι ιδιότητες αυτές συνο-
ψίζονται ως εξής:
1. Οι τυχαίοι αριθµοί θα πρέπει να είναι κατανεµηµένοι οµοιόµορφα, να ακολου-
θούν, δηλαδή, την οµοιόµορφη κατανοµή που περιγράφηκε παραπάνω.
2. Οι τυχαίοι αριθµοί θα πρέπει να είναι ανεξάρτητοι και ταυτόσηµα κατανεµηµέ-
νοι στο διάστηµα [0,1].
3. Οι τυχαίοι αριθµοί θα πρέπει να είναι επαναλήψιµοι. Θα πρέπει δηλαδή να υπάρ-
χει η δυνατότητα αναπαραγωγής ακριβώς της ίδιας σειράς τυχαίων αριθµών.
4. Οι αριθµοί θα πρέπει να είναι διαθέσιµοι ανεξάρτητα από το υπολογιστικό σύστη-
µα παραγωγής τους. Αυτό σηµαίνει ότι η παραγωγή τους δεν θα πρέπει να εξαρ-
τάται από συγκεκριµένο υλικό (hardware) αλλά από συγκεκριµένη µέθοδο, η
οποία να µπορεί να εφαρµοσθεί σε οποιοδήποτε υπολογιστικό σύστηµα.
5. Η παραγωγή των τυχαίων αριθµών θα πρέπει να χαρακτηρίζεται από µεγάλη υπο-
λογιστική ταχύτητα και ελάχιστο αποθηκευτικό χώρο. Η ιδιότητα αυτή είναι απα-
s m2 2
0
12
0
1
2
0
1 3 2
0
1
0 5
0 253 2
0 25
1 3 1 2 0 25 0 08333
= - = - =
= - + = - + =
= - + =
Ú Ú
Ú
( ) ( ) ( . )
( . ) ( . )
/ / . .
x f x dx x dx
x x dxx x
x
s m2 2= --
Ú ( ) ( )x f x dx
E x xf x dx xdxx
[ ] ( ) .= = = =Ú Ú0
1
0
1 2
0
1
20 5
E x xf x dx[ ] ( )=-
Ú
ραίτητη λόγω της ανάγκης δηµιουργίας µεγάλου πλήθους τυχαίων αριθµών κατά
τη διάρκεια µιας προσοµοίωσης και της χρήσης τους για τον υπολογισµό των
χαρακτηριστικών των οντοτήτων του µοντέλου που προσοµοιώνεται. Η παραγω-
γή, εποµένως, των τυχαίων αριθµών δεν θα πρέπει να αποτελεί τον κύριο υπολο-
γιστικό όγκο µιας προσοµοίωσης ούτε τις κύριες αποθηκευτικές απαιτήσεις της.
Όπως είναι προφανές, η ιδιότητα αυτή αποκλείει µεθόδους όπως ο υπολογισµός
του π για την παραγωγή τυχαίων αριθµών ή τη χρήση των πινάκων της RAND.
6. Οι τυχαίοι αριθµοί θα πρέπει να έχουν πολύ µεγάλη περίοδο (ή κύκλο επαναλη-
ψιµότητας). Η αναγκαιότητα της ιδιότητας αυτής θα γίνει περισσότερο κατανοητή
στην επόµενη ενότητα.
1 6 35 . 2 π ¢ π √ ∆ ∏ ∆ ∂ ™ ∆ À Ã ∞ π ø ¡ ∞ ƒ π £ ª ø ¡
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.1
Ποια από τα παρακάτω συστήµατα παράγουν τυχαίους, ποια ψευδοτυχαίους, και
ποια µη τυχαίους αριθµούς;
α) Τα δύο τελευταία ψηφία ενός µετρητή ραδιενέργειας (Geiger).
β) Ένα πρόγραµµα για υπολογιστή, το οποίο υπολογίζει την τιµή ASCII κάθε πλή-
κτρου που κτυπά µια δακτυλογράφος κατά την πληκτρολόγηση ενός βιβλίου.
γ) Ένα πρόγραµµα υπολογιστή, το οποίο υπολογίζει τα ψηφία του π αρχίζοντας
από το πρώτο.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.2
Να αναφέρετε τουλάχιστον τρεις ιδιότητες των ψευδοτυχαίων αριθµών.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.3
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
α) Η ιδιότητα της ………………… είναι επιθυµητή στους ψευδοτυχαίους αριθµούς,
αλλά όχι στους πραγµατικά τυχαίους αριθµούς.
β) Οι τυχαίοι αριθµοί είναι ………………… κατανεµηµένοι στο διάστηµα ………………… .
γ) Από τις γεννήτριες ………………… θορύβου µπορούν να παραχθούν …………………
αριθµοί.
δ) Η παραγωγή τυχαίων αριθµών µε ηλεκτρονικό υπολογιστή πρέπει να χαρακτη-
ρίζεται από µεγάλη ………………… και µικρό ………………… .
1 6 4 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
5.3 °ÂÓÓ‹ÙÚȘ Ù˘¯·›ˆÓ ·ÚÈıÌÒÓ
Οι γεννήτριες τυχαίων αριθµών που περιγράφονται στο υποκεφάλαιο αυτό παρά-
γουν στην πραγµατικότητα ψευδοτυχαίους αριθµούς. Σε όλες τις γεννήτριες, δίδε-
ται αρχικά ένας σπόρος (seed) και από αυτόν υπολογίζονται οι τυχαίοι αριθµοί βάσει
µιας επαναληπτικής εξίσωσης ή µεθόδου (Marsaglia 1964, 1985).
Πολλές από αυτές τις γεννήτριες χρησιµοποιούν ισοϋπόλοιπους αριθµούς, οι οποί-
οι ορίζονται ως εξής:
Ορισµός 5.1
∆ύο ακέραιοι αριθµοί α και β ονοµάζονται ισοϋπόλοιποι ως προς τον ακέραιο
συντελεστή (modulus) γ, όταν διαιρούµενοι µε το γ δίνουν το ίδιο υπόλοιπο.
Το σύµβολο της αναλογίας στον µαθηµατικό τύπο:
(5.8)
σηµαίνει ότι το α υπολογίζεται από τον τύπο:
(5.9)
όπου το k=(β/γ) υποδηλώνει το µεγαλύτερο θετικό ακέραιο που είναι µικρό-
τερος του β/γ.
5.3.1 °ÂÓÓ‹ÙÚȘ ªÂÛ·›ˆÓ ∆ÂÙÚ·ÁÒÓˆÓ
Μία από τις πρώτες γεννήτριες που χρησιµοποιήθηκαν για τη δηµιουργία τυχαίων
αριθµών ήταν η γεννήτρια µεσαίων τετραγώνων. Ονοµάζεται έτσι γιατί βασίζεται
στον τετραγωνισµό αριθµών και εξαγωγή των µεσαίων ψηφίων των τετραγώνων. Η
µέθοδος έχει ως εξής:
1. Ξεκινούµε µε έναν ακέραιο αριθµό Z0 µε n ψηφία που αποτελεί τον «σπόρο» της
γεννήτριας.
2. Υπολογίζουµε το τετράγωνο του αριθµού.
3. Παράγουµε τον τυχαίο αριθµό από τον τύπο:
(5.10)
4. Ο αριθµός αυτός βρίσκεται στο διάστηµα [0,1).
5. Εξάγουµε τα n µεσαία ψηφία του αριθµού . Αυτά τα ψηφία αποτελούν τον
νέο αριθµό Z1.
Z02
UZ
n002
210=
a b g∫ - k
a b g∫ mod
6. Επαναλαµβάνουµε τη διαδικασία.
Στον Πίνακα 5.1 δίνονται οι δέκα πρώτοι τυχαίοι αριθµοί µιας γεννήτριας µεσαίων
τετραγώνων µε n = 4 και Z0 = 4153.
¶›Ó·Î·˜ 5.1
Τυχαίοι αριθµοί γεννήτριας µέσων τετραγώνων
1 6 55 . 3 ° ∂ ¡ ¡ ∏ ∆ ƒ π ∂ ™ ∆ À Ã ∞ π ø ¡ ∞ ƒ π £ ª ø ¡
Z0 = 4153 Z02 17247409= U0 = 0,17247409
Z1 = 2474 Z1
2 06120676= U1 = 0,06120676
Z2 = 1206 Z2
2 01454436= U2 = 0,01454436
Z3 = 4544 Z3
2 20647936= U3 = 0,20647936
Z4 = 6479 Z4
2 41977441= U4 = 0,41977441
Z5 = 9774 Z5
2 95531076= U5 = 0,95531076
Z6 = 5310 Z6
2 28196100= U6 = 0,28196100
Z7 = 1961 Z7
2 03845521= U7 = 0,03845521
Z8 = 8455 Z8
2 71487025= U8 = 0,71487025
Z9 = 4870 Z9
2 23716900= U9 = 0,23716900
Z10 = 7169 Z10
2 51394561= U10 = 0,51394561
Επειδή κάθε αριθµός Zi+1 εξαρτάται αποκλειστικά από τον προηγούµενο τυχαίο αριθ-
µό Zi, αν κατά τη δηµιουργία της σειράς παραχθεί κάποιος αριθµός πού έχει εµφα-
νισθεί προηγουµένως, η σειρά θα επαναληφθεί από το σηµείο αυτό.
Το πλήθος των τυχαίων αριθµών ανάµεσα σε δύο επαναλήψεις του ιδίου αριθµού
ονοµάζεται περίοδος ή κύκλος της σειράς. Η περίοδος εξαρτάται όχι µόνο από τη
συγκεκριµένη γεννήτρια αλλά και από τον «σπόρο» που θα χρησιµοποιηθεί. Στην
περίπτωση των γεννητριών µεσαίων τετραγώνων, η µέγιστη περίοδος είναι ίση µε
10n–2, επειδή κάθε αριθµός της σειράς είναι n–ψήφιος και τα 0 και 1 δεν µπορούν
να αποτελούν µέρος της σειράς.
Στην πράξη όµως οι γεννήτριες αυτές παρουσιάζουν πολύ µικρότερες περιόδους από
τη µέγιστη και µερικές φορές εκφυλίζονται σε περίοδο 1, όπως φαίνεται στον Πίνα-
κα 5.2 µε n=4 και Z0=4500.
1 6 6 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Γενικά, οι γεννήτριες µεσαίων τετραγώνων παρουσιάζουν αρκετά µειονεκτήµατα:
είναι δύσκολο να αναλυθούν, είναι σχετικά αργές και δεν είναι στατιστικά ικανο-
ποιητικές. Για τους λόγους αυτούς δεν χρησιµοποιούνται σχεδόν ποτέ σε εφαρµο-
γές προσοµοίωσης.
5.3.2 °Ú·ÌÌÈΤ˜ πÛÔ¸fiÏÔȘ °ÂÓÓ‹ÙÚȘ
Οι γραµµικές ισοϋπόλοιπες γεννήτριες είναι ο πιο συνηθισµένος τύπος γεννητριών
(Knuth 1981, Anderson 1990). Βασίζονται στον επαναληπτικό τύπο:
(5.11)
Με τον τύπο αυτό, ο επόµενος τυχαίος αριθµός Zi+1 παράγεται χρησιµοποιώντας τον
προηγούµενο τυχαίο αριθµό Zi, τις ακέραιες σταθερές a και c, και τον ακέραιο συντε-
λεστή (modulus) m. Μετά τον υπολογισµό του ακέραιου , υπολογίζεται το υπόλοι-
πο της διαίρεσης του αριθµού αυτού µε τον m (δηλαδή modulus αριθµητική), που
αποτελεί το νέο «τυχαίο» αριθµό Zi+1.
Για να ξεκινήσει η διαδικασία απαιτείται ένας αρχικός «σπόρος» Z0, ο οποίος πρέ-
πει να δοθεί µε κάποιο τρόπο. Με βάση τον σπόρο Z0, ολόκληρη η σειρά χαρακτη-
ρίζεται από τον πολλαπλασιαστή a τον προστιθέµενο ακέραιο c, το modulus m και
τον αρχικό σπόρο. Με βάση την ταξινόµηση του Anderson (1990), η σειρά αυτή των
τυχαίων αριθµών αναφέρεται ως LCG(a,c,m,Z0) και είναι πλήρως καθορισµένη. LCG
είναι τα αρχικά του Linear Congruential Generator που σηµαίνει Γραµµική Ισοϋπό-
λοιπη Γεννήτρια.
Όλες οι γραµµικές ισοϋπόλοιπες γεννήτριες έχουν µία µέγιστη περίοδο, γεγονός που
οφείλεται στον τρόπο υπολογισµού των διαδοχικών αριθµών. Επειδή η τελευταία
αριθµητική πράξη του υπολογισµού είναι η εύρεση του υπολοίπου ως προς το
Z Z c mi i+ = +1 ( )moda
¶›Ó·Î·˜ 5.2
Τυχαίοι αριθµοί µε περίοδο 1
Z0 = 4500 Z02 20250000= U0 = 0,2025
Z1 = 2500 Z12 06250000= U1 = 0,0625
Z2 = 2500 Z22 06250000= U2 = 0,0625
Z3 = 2500 Z32 06250000= U3 = 0,0625
κ.ο.κ
modulus m, η γεννήτρια δεν µπορεί να έχει περίοδο µεγαλύτερη από το m.
Μετά τον υπολογισµό του ακέραιου Zi ο πραγµατικός τυχαίος αριθµός Ui υπολογί-
ζεται από τον τύπο:
ή
Όταν το Ui υπολογίζεται διαιρώντας µε το m οι τιµές του κατανέµονται στο διάστη-
µα [0,1). Ο µεγαλύτερος τυχαίος αριθµός που προκύπτει σ’ αυτή την περίπτωση είναι
(m–1)/m, ενώ η διακριτότητα είναι 1/m. Αν είναι απαραίτητο να περιλαµβάνεται και
η τιµή 1 στους τυχαίους αριθµούς, η διαίρεση θα πρέπει να γίνει µε το m–1. Στα επό-
µενα Παραδείγµατα φαίνονται παραστατικά µερικά από τα χαρακτηριστικά των γεν-
νητριών αυτών.
¶·Ú¿‰ÂÈÁÌ· 5.2
LCG(5,1,16,3)
Στο Παράδειγµα αυτό οι παράµετροι είναι: a=9, c=1, m=16, και Z0=3. Η σειρά των
ψευδοτυχαίων αριθµών που παράγεται από τη γεννήτρια αυτή είναι:
3,12,13,6,7,0,1,10,11,4,5,14,15,8,9,2,3,12,13,6,7,0,…
Στο Σχήµα 5.5 φαίνεται ο κύκλος των τυχαίων αριθµών της γεννήτριας αυτής.
UZ
float mii=
-( )1U
Z
float mii=( )
1 6 75 . 3 ° ∂ ¡ ¡ ∏ ∆ ƒ π ∂ ™ ∆ À Ã ∞ π ø ¡ ∞ ƒ π £ ª ø ¡
Aρχικός σπόρος
3
12
13
6
7
0
1
10
114
5
14
15
8
9
2
∆εξιόστροφηr
αλληλουχία
™¯‹Ì· 5.5
Κύκλος τυχαίων
αριθµών
της σειράς
LCG(9,1,16,3)
1 6 8 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Στον κύκλο του Σχήµατος 5.5 φαίνονται τέσσερα χαρακτηριστικά της γεννήτριας
LCG(5,1,16,3):
1. Η περίοδος της γεννήτριας είναι 16, δηλαδή ίση µε το συντελεστή m. Όπως προ-
αναφέρθηκε, αυτή είναι και η µέγιστη περίοδος που µπορεί να υπάρξει σ’ αυτές
τις γεννήτριες. Στο παράδειγµα αυτό µε m=16 το υπόλοιπο της διαίρεσης µπορεί
να είναι από 0 µέχρι 15. Η σειρά των αριθµών, εποµένως, έχει το µεγαλύτερο
δυνατό µήκος, και ταυτόχρονα είναι οµοιόµορφη, περιλαµβάνει δηλαδή όλους
τους αριθµούς από το 0 µέχρι και το 15.
2. Η σειρά αυτή παρουσιάζει µια αυστηρή εναλλαγή άρτιων και περιττών αριθµών
σε όλο το µήκος της. Αυτό σηµαίνει ότι οι αριθµοί που παράγονται είναι συσχε-
τισµένοι. Αν δηλαδή παραχθεί ένας άρτιος αριθµός, ο επόµενος θα είναι οπωσ-
δήποτε περιττός και το αντίθετο. Για τον λόγο αυτό η σειρά δεν θα πρέπει να χρη-
σιµοποιείται για την παραγωγή τυχαίων ψηφίων, ιδίως αν θα χρησιµοποιηθούν
τα λιγότερο σηµαντικά ψηφία. Η ιδιότητα αυτή εµφανίζεται πάντα όταν το m είναι
δύναµη του 2. Παρόλα αυτά όµως, γεννήτριες µε συντελεστή ίσο µε δύναµη του
2 χρησιµοποιούνται συχνά σε ηλεκτρονικούς υπολογιστές. Αυτό οφείλεται στο
γεγονός ότι η διαδικασία υπολογισµού του υπολοίπου, όταν ο συντελεστής είναι
δύναµη του 2, επιτυγχάνεται µε απλή αποκοπή των πρώτων δυαδικών ψηφίων
του αριθµού. Εποµένως, είναι πολύ εύκολη και γρήγορη διαδικασία.
3. Η αλληλουχία των τυχαίων αριθµών δεν εξαρτάται από την επιλογή του αρχικού
σπόρου. Επειδή κάθε αριθµός εξαρτάται µόνο από τον προηγούµενο αριθµό, αν
επιλεγεί κάποιος άλλος σπόρος από το 0 µέχρι το 15, απλώς η σειρά θα µεταφερ-
θεί δεξιόστροφα πάνω στον κύκλο των αριθµών ξεκινώντας από το νέο σπόρο.
4. Ο µέσος όρος των τυχαίων αριθµών που παράγονται είναι 0.4688 και η διακύ-
µανση είναι 0.083. Οι τιµές αυτές είναι κοντά στις ιδανικές 1/2 και 1/12 (περίπου
0.0833333), αλλά διαφέρουν από αυτές. Η διαφορά οφείλεται στο ότι η περίοδος
είναι µικρή και οι τυχαίοι αριθµοί που παράγονται δεν έχουν µεγάλη διακριτό-
τητα. Σηµειώνεται εδώ ότι η προσέγγιση της µέσης τιµής και της διακύµανσης
προς τις θεωρητικές τιµές είναι αναγκαία, αλλά όχι και ικανή συνθήκη µιας καλής
γεννήτριας τυχαίων αριθµών.
Αρκετοί ερευνητές έχουν µελετήσει τις γραµµικές ισοϋπόλοιπες γεννήτριες για να
καθορίσουν ικανοποιητικές τιµές των παραµέτρων. Σε υπολογιστές που χρησιµο-
ποιούν λέξεις των 32 bits, η γεννήτρια:
(5.12)Z Zi i= +-( , , , , )mod314 159 269 453 806 245 2131
δίνει πολύ καλά αποτελέσµατα. Στη γεννήτρια αυτή η παράµετρος α είναι ίση µε τα
9 σηµαντικά ψηφία του π.
Σε υπολογιστές µε λέξεις των 36 bits µπορεί να χρησιµοποιηθεί η γεννήτρια:
5.3.3 ¶ÔÏÏ·Ï·ÛÈ·ÛÙÈΤ˜ ÈÛÔ¸fiÏÔȘ ÁÂÓÓ‹ÙÚȘ
Στην ειδική περίπτωση κατά την οποία η παράµετρος c είναι ίση µε το µηδέν, η γεν-
νήτρια ονοµάζεται πολλαπλασιαστική ισοϋπόλοιπη γεννήτρια. Ο κάθε αριθµός Zi
υπολογίζεται από τον προηγούµενο βάσει του τύπου:
(5.13)
Σε υπολογιστές των 32 bits η γεννήτρια:
(5.14)
δίνει αρκετά καλά αποτελέσµατα. Η γεννήτρια αυτή χρησιµοποιείται σε πολλά έτοι-
µα πακέτα όπως το GGL της IBM, το GGUBS της IMSL, κτλ. Καλές τιµές δίνει επί-
σης η γεννήτρια:
(5.15)
η οποία χρησιµοποιείται στη γλώσσα προσοµοίωσης SIMSCRIPT II.5.
Συνοψίζοντας τις γραµµικές και πολλαπλασιαστικές ισοϋπόλοιπες γεννήτριες µπο-
ρούµε να κάνουµε τις ακόλουθες παρατηρήσεις:
1. Όταν το m είναι δύναµη του 2 και το c είναι µεγαλύτερο από το µηδέν (γραµµι-
κή γεννήτρια), η µέγιστη περίοδος 2M µπορεί να επιτευχθεί αν και µόνον αν:
και το c είναι περιττός αριθµός
Στην περίπτωση αυτή το c συνήθως επιλέγεται να είναι ίσο µε 1.
2. Όταν το m είναι δύναµη του 2 και το c ίσο µε το µηδέν (πολλαπλασιαστική γεν-
νήτρια), η µέγιστη περίοδος 2M–2 (ένα τέταρτο του µόντουλο) επιτυγχάνεται αν
και µόνον αν:
ή (προτιµάµε το 5), και ο αρχικός σπόρος είναι περιτ-
τός αριθµός.
3. Όταν
m=p (πρώτος αριθµός), c=0, ή c π 0
a ∫ 5 8moda ∫ 3 8mod
a ∫1 4mod
Z Zi i= --630 360 016 2 1131, , mod( )
Z Zi i= --7 2 151
31mod( )
Z aZ mi i= -1 mod
Z Zi i= +-( )mod5 1 2151
35
1 6 95 . 3 ° ∂ ¡ ¡ ∏ ∆ ƒ π ∂ ™ ∆ À Ã ∞ π ø ¡ ∞ ƒ π £ ª ø ¡
1 7 0 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
η µέγιστη περίοδος της γεννήτριας είναι p–1. Η περίοδος αυτή επιτυγχάνεται αν και
µόνον αν το a είναι µοναδιαίο στοιχείο του συντελεστή p. Επειδή τέτοιο στοιχείο
υπάρχει πάντοτε, µπορούν να κατασκευασθούν γεννήτριες µε τη µέγιστη περίοδο.
5.3.4 ÕÏϘ ÈÛÔ¸fiÏÔȘ ÁÂÓÓ‹ÙÚȘ
Όταν απαιτούνται πολύ µεγάλες περίοδοι, χρησιµοποιούνται γεννήτριες, στις οποί-
ες το Zi δεν εξαρτάται µόνο από το Zi–1 αλλά και από προηγούµενες τιµές. Παρά-
δειγµα της µεθόδου αυτής αποτελούν οι αθροιστικές ισοϋπόλοιπες γεννήτριες στις
οποίες το Zi δίνεται από τον τύπο:
(5.16)
Στις γεννήτριες αυτές είναι πολύ σηµαντική η επιλογή των δύο αρχικών σπόρων για
την παραγωγή καλών τυχαίων αριθµών.
Μία ακόµη παραλλαγή των ισοϋπόλοιπων γεννητριών αποτελούν οι δευτεροβάθ-
µιες ισοϋπόλοιπες γεννήτριες στις οποίες το Zi δίνεται από τον τύπο:
(5.17)
5.3.5 °ÂÓÓ‹ÙÚȘ Tausworthe
Οι γεννήτριες αυτές επεξεργάζονται κάθε bit του τυχαίου αριθµού ξεχωριστά. Για
τον λόγο αυτό, είναι ουσιαστικά ανεξάρτητες από τον υπολογιστή στον οποίο χρη-
σιµοποιούνται. Με τις γεννήτριες αυτές επιτυγχάνονται ασύλληπτα µεγάλες περίο-
δοι (όπως 2521>10156 και περισσότερο) ακόµα και σε υπολογιστές µε λέξεις των 16
bits. Παράδειγµα γεννήτριας Tausworthe µε περίοδο 29–1 είναι η εξής:
Ορίζεται µια σειρά bits b1, b2, … από τον επαναληπτικό τύπο:
(5.18)
όπου c1, c2, ..., c9 είναι σταθερές ίσες είτε µε το 0 είτε µε το 1. Τα bits της σειράς
αυτής, λαµβανόµενα ανά n, αποτελούν τους τυχαίους αριθµούς.
Το βασικό µειονέκτηµα των γεννητριών Tausworthe είναι η αργή τους ταχύτητα, και
για τον λόγο αυτό χρησιµοποιούνται µόνο όταν χρειάζονται τεράστιες περίοδοι.
5.4 ŒÏÂÁ¯Ô˜ Ù˘¯·ÈfiÙËÙÔ˜
Οι γεννήτριες τυχαίων αριθµών θα πρέπει να ελέγχονται για να διαπιστωθεί αν
παρουσιάζουν τις απαραίτητες ιδιότητες. Ο υπολογισµός του µέσου όρου και της
διασποράς των τυχαίων αριθµών δεν αρκούν για να αποδείξουν ότι οι αριθµοί είναι
b c b c b c bi i i i∫ + + +- - -( )mod1 2 2 9 9 2K
Z a Z a Z c mi i i= + +- -( )mod1 12
2 1
Z Z Z mi i ia a= +- -( )mod1 1 2 2
ανεξάρτητοι, οµοιόµορφα και ταυτόσηµα κατανεµηµένοι στο διάστηµα [0,1). Για
παράδειγµα, η σειρά των αριθµών:
έχει ακριβώς το µέσο όρο και τη διακύµανση της θεωρητικής κατανοµής αλλά οι
αριθµοί της σειράς κάθε άλλο παρά τυχαίοι είναι.
Για να διαπιστωθεί αν µία γεννήτρια παράγει τυχαίους αριθµούς ή όχι, χρησιµοποι-
ούνται έλεγχοι τυχαιότητος, ορισµένοι από τους οποίους είναι οι εξής:
• Έλεγχος Συχνότητας. Ο έλεγχος αυτός χρησιµοποιεί είτε τη x2 είτε το τεστ
Kolmogorov–Smirnoff για να συγκρίνει την κατανοµή των τυχαίων αριθµών που
παράγονται από τη γεννήτρια µε την οµοιόµορφη κατανοµή.
• Σειριακός έλεγχος. Υπολογίζει τη συχνότητα µε την οποία παρουσιάζονται όλοι
οι δυνατοί συνδυασµοί 2, 3, 4, κτλ. ψηφίων και µετά χρησιµοποιεί τον έλεγχο x2
για σύγκριση µε την αναµενόµενη κατανοµή.
• Έλεγχος ∆ιαστήµατος. Υπολογίζει τον αριθµό των ψηφίων που εµφανίζονται
ανάµεσα σε επαναλήψεις ενός συγκεκριµένου ψηφίου και µετά χρησιµοποιεί τον
έλεγχο x2 για σύγκριση µε την αναµενόµενη κατανοµή.
• Έλεγχος Συνέχειας. Ελέγχει τον αριθµό των διαδοχικών εµφανίσεων τυχαίων
αριθµών πάνω ή κάτω από κάποια σταθερά (συνήθως το µέσο όρο) ή συνεχείς
αυξήσεις ή µειώσεις. Το τεστ αυτό µετρά πόσες συνέχειες διαφορετικού µήκους
εµφανίζονται και συγκρίνει τις µετρήσεις µε τις αναµενόµενες χρησιµοποιώντας
το τεστ x2.
• Φασµατικός Έλεγχος. Μετρά την ανεξαρτησία των γειτονικών συνόλων n αριθ-
µών µε βάση την ανάλυση Fourier.
• Τεστ πόκερ. Το τεστ αυτό είναι παρόµοιο µε τον έλεγχο «χεριών» στο πόκερ.
Μετρά τους συνδυασµούς πέντε ή περισσοτέρων ψηφίων που είναι διαφορετικά,
περιέχουν ζεύγος, δύο ζεύγη, κέντα, φουλ, κτλ. και τους συγκρίνει µε τις αναµε-
νόµενες εµφανίσεις.
• Έλεγχος αυτοσυσχέτισης. Ελέγχει τη συσχέτιση ανάµεσα στο Xi και το Xi+k, όπου
k είναι το διάστηµα στη σειρά παραγωγής των τυχαίων αριθµών.
• D2 ή τεστ απόστασης. Το τεστ αυτό θεωρεί διαδοχικά ζεύγη τυχαίων αριθµών ως
συντεταγµένες σηµείων στο µοναδιαίο τετράγωνο, και το τετράγωνο της από-
2 53
2 53
2 53
8
0 53
0 53
0 53
8
.,
., ,
.,
.,
., ,
.K
1 244 344K
1 244 344
1 7 15 . 4 ∂ § ∂ ° Ã √ ™ ∆ À Ã ∞ π √ ∆ ∏ ∆ √ ™
1 7 2 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
στασης ανάµεσα σε δύο σηµεία συγκρίνεται µε τη θεωρητική κατανοµή που δίνε-
ται από ένα σύνολο εξισώσεων.
• Έλεγχος διάταξης. Ελέγχει τη µέγιστη και ελάχιστη τιµή n διαδοχικών αριθµών
ή το εύρος n διαδοχικών αριθµών.
• Έλεγχος του Yule. Το τεστ αυτό υπολογίζει το άθροισµα πέντε δεκαδικών ψηφίων
από κανονικοποιηµένους τυχαίους αριθµούς και το συγκρίνει µε τις θεωρητικά
αναµενόµενες τιµές.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.4
Να αναφέρετε τουλάχιστον τέσσερις ελέγχους τυχαιότητας των τυχαίων αριθµών.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.5
Ποιος επαναληπτικός τύπος αντιστοιχεί στη γεννήτρια LCG(30,31,32,33)
α)
β)
γ)
δ) Z Z Zi i= + =-( )mod ,30 31 33 321 0
Z Z Zi i= + =-( )mod ,32 31 30 331 0
Z Z Zi i= + =-( )mod ,30 31 32 331 0
Z Z Zi i= + =-( )mod ,31 32 33 301 0
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.6
Κατά τον έλεγχο της συνέχειας (έλεγχος 4) πάνω ή κάτω από το µέσο όρο, ποιες είναι
οι πιθανότητες να έχουµε σειρά ενός αριθµού ή δύο αριθµών στο ίδιο διάστηµα;
α) p1=1, p2=0.5
β) p1=0.5, p2=0.5
γ) p1=0.5, p2=0.25
δ) p1=0.25, p2=0.25
5.5 ¶·Ú·ÁˆÁ‹ Ù˘¯·›ˆÓ ‰ÂÈÁÌ¿ÙˆÓ
Οι γεννήτριες των τυχαίων αριθµών που αναπτύχθηκαν προηγουµένως παράγουν
αριθµούς στο διάστηµα [0,1) και µάλιστα µε οµοιόµορφη κατανοµή. Κατά την προ-
σοµοίωση, όµως, χρησιµοποιούνται τυχαίες µεταβλητές, που ακολουθούν διαφορε-
τική κατανοµή από την οµοιόµορφη, και χρειάζονται τυχαία δείγµατα των µετα-
βλητών αυτών. Στο σηµείο αυτό θα πρέπει να διευκρινισθεί η διαφορά ανάµεσα στις
τυχαίες µεταβλητές και τα τυχαία δείγµατα.
Ορισµός 5.2
Τυχαία µεταβλητή είναι µια πραγµατική συνάρτηση η οποία αντιστοιχεί τον
χώρο δειγµατοληψίας στον άξονα των πραγµατικών αριθµών. Τυχαίο δείγµα
είναι µια συγκεκριµένη τιµή της τυχαίας µεταβλητής.
Για την παραγωγή τυχαίων δειγµάτων από τυχαίους αριθµούς χρησιµοποιούνται τρεις
µέθοδοι, ανάλογα µε την κατανοµή που ακολουθεί η τυχαία µεταβλητή:
1. η µέθοδος του αντίστροφου µετασχηµατισµού,
2. η µέθοδος της αποδοχής–απόρριψης, και
3. η εµπειρική µέθοδος ή, όπως αλλιώς ονοµάζεται, µέθοδος προσέγγισης ορθογωνίων.
Στις περιπτώσεις, κατά τις οποίες η κατανοµή πιθανότητας είναι συνδυασµός δύο ή
περισσοτέρων κατανοµών, χρησιµοποιείται η συνθετική µέθοδος.
5.5.1 ª¤ıÔ‰Ô˜ ·ÓÙ›ÛÙÚÔÊÔ˘ ÌÂÙ·Û¯ËÌ·ÙÈÛÌÔ‡
Η µέθοδος αυτή χρησιµοποιεί τον αντίστροφο µετασχηµατισµό της συνάρτησης
αθροιστικής πιθανότητας της τυχαίας µεταβλητής για να υπολογίσει ένα τυχαίο δείγ-
µα από έναν τυχαίο αριθµό.
Έστω ότι x είναι η τυχαία µεταβλητή της οποίας η συνάρτηση αθροιστικής πιθανό-
τητας είναι F(x). Η συνάρτηση αυτή ορίζεται ως η πιθανότητα το τυχαίο δείγµα να
έχει τιµή µικρότερη ή ίση του x, δηλαδή:
(5.19)F x P X x( ) ( )= £
1 7 35 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
¢Ú·ÛÙËÚÈfiÙËÙ· 5.1
Κατασκευάστε µια γεννήτρια LCG(a,c,8,Z0), επιλέγοντας τα a, c και Z0 µε τέτοιο
τρόπο ώστε να έχει µέγιστη περίοδο. ∆ώστε τον κύκλο των τυχαίων αριθµών που
παράγονται από τη γεννήτρια αυτή.
1 7 4 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Τα βήµατα της µεθόδου είναι τα εξής:
1. Παράγουµε έναν τυχαίο αριθµό U στο διάστηµα [0,1).
2. Θέτουµε U=F(x)
3. Λύνουµε ως προς x
4. Χρησιµοποιούµε το x ως τυχαίο δείγµα.
Στο Σχήµα 5.6 δίνεται το διάγραµµα µιας συνάρτησης αθροιστικής πιθανότητας και
φαίνονται τα βήµατα υπολογισµού ενός τυχαίου δείγµατος.
F(x)
1
U
X
x0
™¯‹Ì· 5.6
Υπολογισµός
τυχαίου δείγµατος
µε αντίστροφο
µετασχηµατισµό
Ο τυχαίος αριθµός U που παράγεται στο βήµα 1 της µεθόδου πρέπει να ακολουθεί
οµοιόµορφη κατανοµή στο διάστηµα [0,1]. Αυτό αποδεικνύεται ως εξής:
Εξ ορισµού . Έστω ότι U = F(x) είναι η τυχαία µεταβλητή. Εξ ορι-
σµού η συνάρτηση αθροιστικής πιθανότητας της U δίνεται από την:
. Αντικαθιστώντας την τυχαία µεταβλητή U στην εξίσωση αυτή
παίρνουµε:
Εποµένως, η συνάρτηση αθροιστικής πιθανότητας της U είναι:
Παραγωγίζοντας ως προς u υπολογίζεται η συνάρτηση πυκνότητας πιθανότητας της u:
(5.20)
η οποία είναι η συνάρτηση πυκνότητας πιθανότητας της οµοιόµορφης κατανοµής
στο διάστηµα [0,1].
g udG u
du
du
du
u
u u( )
( )= = =£ £< >
ÏÌÓ
1 0 1
0 0 1
αν
αν ή
G u U( ) =
G u P F x u P X F u F F u u( ) ( ( ) ) ( ( ) ( ( ))= £ = £ = =- -1 1
G u P U u( ) ( )= £
F X P X x( ) ( )= £
¶·Ú¿‰ÂÈÁÌ· 5.3
Τυχαία δείγµατα από εκθετική κατανοµή
Η εκθετική κατανοµή χρησιµοποιείται πολύ στην προσοµοίωση γιατί είναι η κατα-
νοµή την οποία ακολουθούν οι χρόνοι ανάµεσα σε τυχαίες αφίξεις ενός άπειρου πλη-
θυσµού. Η συνάρτηση πυκνότητας πιθανότητας της κατανοµής αυτής είναι:
(5.21)
όπου µ είναι ο ρυθµός αφίξεων. Εποµένως, 1/µ είναι ο µέσος όρος της κατανοµής
αυτής. Η διακύµανση της εκθετικής κατανοµής είναι 1/µ2. Το διάγραµµα της συνάρ-
τησης φαίνεται στο Σχήµα 5.7.
f x e xx( ) ,= ≥-m m 0
1 7 55 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
™¯‹Ì· 5.7
Συνάρτηση
πυκνότητας
πιθανότητας
της εκθετικής
κατανοµής
Η συνάρτηση αθροιστικής πιθανότητας της εκθετικής κατανοµής δίνεται από τον τύπο:
(5.22)
και το διάγραµµά της φαίνεται στο Σχήµα 5.8.
Στο βήµα 2 της µεθόδου θέτουµε:
(5.23)
Στο βήµα 3 της µεθόδου λύνουµε ως προς x:
(5.24)U e e U e U
x U U
x x x= - Þ = - Þ = - Þ- = - = ¢
- - -1 1 1
1
m m m
mln ln( )
ln( ) ln( )
U F x e x= = - -( ) 1 m
F x e x( ) = - -1 m
f(x)
µ
0 x
1 7 6 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
όπου έχουµε αντικαταστήσει το 1–U µε το U΄, γιατί αν το U ακολουθεί οµοιόµορ-
φη κατανοµή στο διάστηµα [0,1], τότε και το 1–U ακολουθεί την ίδια κατανοµή.
Εποµένως:
(5.25)
Για τον υπολογισµό, εποµένως, ενός τυχαίου δείγµατος που να ακολουθεί την εκθε-
τική κατανοµή µε µέσο όρο 1/µ χρησιµοποιούµε τον εξής αλγόριθµο:
1. Παράγουµε τυχαίο αριθµό U΄ µε οµοιόµορφη κατανοµή στο [0,1]
2. Θέτουµε
3. Χρησιµοποιούµε το x ως τυχαίο δείγµα.
¶·Ú¿‰ÂÈÁÌ· 5.4
Τυχαία δείγµατα από οµοιόµορφη κατανοµή
Όταν θέλουµε να παράγουµε τυχαία δείγµατα από οµοιόµορφη κατανοµή σε κάποιο
διάστηµα, χρησιµοποιούµε τη µέθοδο του αντίστροφου µετασχηµατισµού η οποία
τώρα απλουστεύεται πολύ γιατί και οι τυχαίοι µας αριθµοί ακολουθούν οµοιόµορ-
φη κατανοµή.
Έστω ότι δίνεται η κατανοµή του Σχήµατος 5.9 η οποία έχει συνάρτηση πυκνότη-
τας πιθανότητας:
(5.26)f xb a
a x b( ) ,=-
£ £1
x U= - ¢1m
ln( )
x U= - ¢1m
ln
™¯‹Ì· 5.8
Συνάρτηση
αθροιστικής
πιθανότητας
της εκθετικής
κατανοµής
F(x)
1
0 x
Η συνάρτηση αθροιστικής πιθανότητας αυτής της κατανοµής είναι:
(5.27)
Η µέση τιµή της κατανοµής είναι (a+b)/2 και η διακύµανση είναι (b–a)2/12.
Για το βήµα 2 της µεθόδου έχουµε:
(5.28)U F xx a
b a= = -
-( )
F xx a
b aa x b( ) ,= -
-£ £
1 7 75 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
™¯‹Ì· 5.9
Οµοιόµορφη
κατανοµή
στο [α,β]
και για το βήµα 3 υπολογίζουµε το x:
Ο αλγόριθµος, εποµένως, γίνεται:
1. Παράγουµε τυχαίο αριθµό U µε οµοιόµορφη κατανοµή στο [0,1]
2. Θέτουµε
3. Χρησιµοποιούµε το x ως τυχαίο δείγµα.
5.5.2 ª¤ıÔ‰Ô˜ Ù˘ ·Ô‰Ô¯‹˜–·fiÚÚȄ˘
Η µέθοδος του αντίστροφου µετασχηµατισµού βασίζεται στον υπολογισµό του αντί-
στροφου της συνάρτησης αθροιστικής πιθανότητας της τυχαίας µεταβλητής. Αν και
τις περισσότερες φορές µπορεί να υπολογισθεί η συνάρτηση πυκνότητας πιθανότη-
τας f(x), συχνά είναι δύσκολος ο υπολογισµός του ολοκληρώµατος της ή ο υπολο-
γισµός της αντίστροφης συνάρτησης F–1(x). Στις περιπτώσεις αυτές χρησιµοποιεί-
ται η µέθοδος της αποδοχής–απόρριψης, η οποία δεν απαιτεί γνώση της συνάρτη-
σης αθροιστικής πιθανότητας.
x a b a U= + -( )
x a b U x a b a U- = - Þ = + -( ) ( )
f(x)
1/(b–a)
0 a b x
1 7 8 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Έστω ότι η συνάρτηση πυκνότητας πιθανότητας f(x) έχει άνω όριο το M και πεπε-
ρασµένη περιοχή ορισµού, δηλαδή . Παράδειγµα µιας τέτοιας συνάρτη-
σης δίνεται στο Σχήµα 5.10.
Ο αλγόριθµος υπολογισµού ενός τυχαίου δείγµατος έχει ως εξής:
1. Παράγουµε ένα τυχαίο δείγµα στην περιοχή [a,b] σύµφωνα µε τον αλγόριθµο του
αντίστροφου µετασχηµατισµού. Θέτουµε δηλαδή:
(5.29)
όπου το U1 ακολουθεί οµοιόµορφη κατανοµή στο [0,1]
V a b a U1 1= + -( )
a x b£ £
f(x)
M
W2
V1 V2
W1
0 a b x
™¯‹Ì· 5.10
∆ιάγραµµα
εφαρµογής της
µεθόδου αποδο-
χής– απόρριψης
2. Παράγουµε ένα τυχαίο δείγµα στην περιοχή [0,M] σύµφωνα µε τον αλγόριθµο του
αντίστροφου µετασχηµατισµού. Θέτουµε δηλαδή:
όπου το U2 ακολουθεί οµοιόµορφη κατανοµή στο [0,1]
3. Αν χρησιµοποιούµε το V1, διαφορετικά πάµε στο βήµα 1.
Στο Σχήµα 5.10, µε συµβολίζεται η αποδοχή ενώ µε η απόρριψη.
5.5.3 ™˘ÓıÂÙÈ΋ ª¤ıÔ‰Ô˜
Όταν η κατανοµή F(x) προέρχεται από τη σύνθεση δύο κατανοµών F1(x) και F2(x)
χρησιµοποιείται η συνθετική µέθοδος. Έστω ότι:
(5.30)F x pF x p F x( ) ( ) ( ) ( )= + -1 21
¥ o
W f V1 1£ ( )
W MU1 2=
όπου p είναι η πιθανότητα µε την οποία συµµετέχει η F1(x) στην F(x). Ένα τυχαίο
δείγµα X της κατανοµής F(x) υπολογίζεται ακολουθώντας δύο βήµατα:
1. Παράγουµε έναν τυχαίο αριθµό U µε οµοιόµορφη κατανοµή στο [0,1].
2. Αν U<p, θέτουµε το X ίσο µε το δείγµα που θα προερχόταν από την κατανοµή
F1(x), αλλιώς υπολογίζουµε το X από την κατανοµή F2(x).
Τα βήµατα του αλγορίθµου δίνονται επακριβώς στο παρακάτω Παράδειγµα.
¶·Ú¿‰ÂÈÁÌ· 5.5
Έστω ότι η συνάρτηση πυκνότητας πιθανότητας δίνεται από την:
(5.31)
Το διάγραµµα της F(x) δίνεται στο Σχήµα 5.11.
f x
x x
x( )
.
.=£ £
£ £ÏÌÔ
ÓÔ
0 8 0 1
0 6 2 3
0
αν
αν
διαφορετικά
1 7 95 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
™¯‹Ì· 5.11
∆ιάγραµµα
σύνθεσης
συνάρτησης
f(x)
0.8
0.6
1 2 3 x0
Ar
0.4
Br
0.6
Για το πρώτο µέρος της συνάρτησης, το x υπολογίζεται ως εξής:
(5.32)
Εποµένως:
(5.33)
όπου το U ακολουθεί οµοιόµορφη κατανοµή στο [0,1].
Για το δεύτερο µέρος της συνάρτησης, το x υπολογίζεται ως εξής:
(5.34)F x dx x Ux
2
2
0 4 0 6 0 6 0 8( ) . . . .= + = - =Ú
x U= 12
10
F x xdx x Ux
1
0
20 8 0 4( ) . .= = =Ú
1 8 0 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Εποµένως:
(5.35)
όπου το U ακολουθεί οµοιόµορφη κατανοµή στο [0,1]
Για να παράγουµε, λοιπόν, ένα τυχαίο δείγµα που να ακολουθεί την F(x) εφαρµό-
ζουµε τον εξής αλγόριθµο:
1. Παράγουµε έναν τυχαίο αριθµό U µε οµοιόµορφη κατανοµή στο [0,1]
2. Αν U<0.4, πηγαίνουµε στο βήµα 3, αλλιώς στο βήµα 4
3. Θέτουµε . Πηγαίνουµε στο βήµα 5
4. Θέτουµε
5. Χρησιµοποιούµε το x.
5.5.4 ∏ ∂ÌÂÈÚÈ΋ ª¤ıÔ‰Ô˜
Υπάρχουν περιπτώσεις κατά τις οποίες η κατανοµή της τυχαίας µεταβλητής δεν είναι
γνωστή ή δεν µπορεί να προσδιορισθεί. Στις περιπτώσεις αυτές συλλέγεται ένας ικα-
νοποιητικός όγκος δεδοµένων και από αυτόν εξάγονται οι πιθανότητες εµφάνισης
των τιµών της τυχαίας µεταβλητής. Κατόπιν, χρησιµοποιείται η «εµπειρική» µέθο-
δος, η οποία συνίσταται σε παραγωγή των τυχαίων δειγµάτων από τον πίνακα πιθα-
νοτήτων της µεταβλητής.
Έστω ότι P(xi) είναι η πιθανότητα εµφάνισης του xi. Η συνάρτηση αθροιστικής πιθα-
νότητας µπορεί να προσεγγισθεί από την βαθµωτή συνάρτηση του Σχήµατος 5.12.
xU= +5 4
3
x U= 12
10
xU= +5 4
3
F(x)
1
P(x1) + P(x2)r
P(x1)
0 x1 x2 x3 x4 x
™¯‹Ì· 5.12
Εµπειρική
συνάρτηση
αθροιστικής
πιθανότητας
Η εµπειρική µέθοδος χρησιµοποιείται επίσης όταν είναι αδύνατη ή πολύ δύσκολη η
δειγµατοληψία µιας συνεχούς κατανοµής. Στην περίπτωση αυτή η µέθοδος ονοµά-
ζεται µέθοδος της προσέγγισης ορθογωνίων επειδή η συνάρτηση αθροιστικής πιθα-
νότητας προσεγγίζεται από µια βαθµωτή συνάρτηση όπως φαίνεται στο Σχήµα 5.13.
1 8 15 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
F(x)
1
0 x
™¯‹Ì· 5.13
Προσέγγιση
συνάρτησης µε
την ορθογώνια
µέθοδο
Ο αλγόριθµος παραγωγής ενός τυχαίου δείγµατος έχει ως εξής:
1. Παράγουµε ένα τυχαίο αριθµό µε οµοιόµορφη κατανοµή στο διάστηµα [0,1].
2. Αν , χρησιµοποιείται το x1, αλλιώς,
3. Αν , χρησιµοποιείται το x2, αλλιώς,
4. Αν , χρησιµοποιείται το x3, αλλιώς,
κ.ο.κ.
Στην περίπτωση που γίνεται δειγµατοληψία από συνεχή κατανοµή, οι πιθανότητες
P(xi) είναι αυτές που υπολογίζονται από την ορθογώνια προσέγγιση της κατανοµής.
¶·Ú¿‰ÂÈÁÌ· 5.6
Παραγωγή τυχαίων δειγµάτων, τα οποία ακολουθούν κανονική κατανοµή.
Ένα παράδειγµα κατανοµής, της οποίας δεν είναι δυνατόν να υπολογισθεί αναλυτι-
κά η συνάρτηση αθροιστικής πιθανότητας, είναι η κανονική κατανοµή. Η συνάρτη-
ση πυκνότητας πιθανότητας της κανονικής κατανοµής δίνεται από τον τύπο:
(5.36)f xx
( ) exp( )= - -È
ÎÍ
ùûú
ÏÌÓ
¸ýþ
1
2 22
2
2ps
ms
P x P x U P x P x P x( ) ( ) ( ) ( ) ( )1 2 1 2 3+ £ £ + +
P x U P x P x( ) ( ) ( )1 1 2£ £ +
0 1£ £U P x( )
1 8 2 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
όπου µ και σ είναι οι παράµετροι της κατανοµής. Το µ είναι το σηµείο, στο οποίο
βρίσκεται το µέγιστο της συνάρτησης κατανοµής πιθανότητας, ενώ το σ είναι µία
παράµετρος που χαρακτηρίζει τη διασπορά της συνάρτησης πυκνότητας πιθανότη-
τας της κατανοµής.
Η συνάρτηση αθροιστικής πιθανότητας της κανονικής κατανοµής δεν µπορεί να
εκφρασθεί αναλυτικά µε στοιχειώδεις συναρτήσεις γιατί είναι αδύνατος ο αναλυτι-
κός υπολογισµός του ολοκληρώµατος:
(5.37)
Επειδή ο υπολογιστής θα χρησιµοποιηθεί ούτως ή άλλως για την παραγωγή των
τυχαίων δειγµάτων, µπορεί να χρησιµοποιηθεί και για την παραγωγή των τιµών της
συνάρτησης αθροιστικής πιθανότητας που είναι απαραίτητες για την εφαρµογή της
εµπειρικής µεθόδου.
Με δεδοµένες τις παραµέτρους µ και σ, υπολογίζονται πρώτα οι τιµές της συνάρτη-
σης κατανοµής πιθανότητας για τιµές του x από –α έως α, και βήµα β. Η παράµε-
τρος α επιλέγεται έτσι, ώστε να καλύπτει το µεγαλύτερο δυνατό τµήµα της καµπύ-
λης κατανοµής πιθανότητας. Θεωρητικά, θα πρέπει να είναι άπειρη, αλλά ανάλογα
µε τη διασπορά σ η συνάρτηση κατανοµής πιθανότητας φθίνει πολύ γρήγορα. Το β
επιλέγεται έτσι, ώστε να δίνει την επιθυµητή ακρίβεια.
Στο Σχήµα 5.14 δίνεται το διάγραµµα της συνάρτησης πυκνότητας πιθανότητας της
κανονικής κατανοµής για µ=0 και σ=0.5.
F xy
dy( ) exp( )= - -È
ÎÍ
ù
ûú
ÏÌÔ
ÓÔ
¸ýÔ
þÔ
Ú 1
2 22
2
2ps
ms
f(x)
-2.5 2.50 x
™¯‹Ì· 5.14
∆ιάγραµµα
συνάρτησης κατα-
νοµής πιθανότη-
τας της κανονικής
κατανοµής για
µ=0 και σ=0.5.
¶›Ó·Î·˜ 5.3
Τιµές της συνάρτησης πυκνότητας πιθανότητας και της συνάρτησης αθροιστικής
πιθανότητας της κανονικής κατανοµής
1 8 35 . 5 ¶ ∞ ƒ∞ ° ø ° ∏ ∆ À à ∞ π ø ¡ ¢ ∂ π ° ª ∞∆ ø ¡
x f(x) F(x) x f(x) F(x)
–2,5 0,0000030 0,0000003 0,0 0,7978846 0,5398941
–2,4 0,0000079 0,0000011 0,1 0,7820854 0,6181026
–2,3 0,0000203 0,0000031 0,2 0,7365403 0,6917566
–2,2 0,0000499 0,0000081 0,3 0,6664492 0,7584016
–2,1 0,0001179 0,0000199 0,4 0,5793831 0,8163399
–2,0 0,0002677 0,0000467 0,5 0,4839414 0,8647340
–1,9 0,0005839 0,0001051 0,6 0,3883721 0,9035712
–1,8 0,0012238 0,0002274 0,7 0,2994549 0,9335167
–1,7 0,0024644 0,0004739 0,8 0,2218417 0,9557009
–1,6 0,0047682 0,0009507 0,9 0,1579003 0,9714909
–1,5 0,0088637 0,0018371 1,0 0,1079819 0,9822891
–1,4 0,0158309 0,0034202 1,1 0,0709492 0,9893840
–1,3 0,0271659 0,0061367 1,2 0,0447891 0,9938629
–1,2 0,0447891 0,0106157 1,3 0,0271659 0,9965795
–1,1 0,0709492 0,0177106 1,4 0,0158309 0,9981626
–1,0 0,1079819 0,0285088 1,5 0,0088637 0,9990490
–0,9 0,1579003 0,0442988 1,6 0,0047682 0,9995258
–0,8 0,2218417 0,0664830 1,7 0,0024644 0,9997722
–0,7 0,2994549 0,0964285 1,8 0,0012238 0,9998946
–0,6 0,3883721 0,1352657 1,9 0,0005839 0,9999530
–0,5 0,4839414 0,1836598 2,0 0,0002677 0,9999798
–0,4 0,5793831 0,2415981 2,1 0,0001179 0,9999916
–0,3 0,6664492 0,3082430 2,2 0,0000499 0,9999966
–0,2 0,7365403 0,3818971 2,3 0,0000203 0,9999986
–0,1 0,7820854 0,4601056 2,4 0,0000079 0,9999994
Με τις συγκεκριµένες αυτές τιµές των µ και σ η τιµή της συνάρτησης f(x) στο x=–2.5
και x=2.5 είναι 0.000003, δηλαδή αρκετά µικρή. Θέτοντας εποµένως α=2.5 και
β=0.1, υπολογίζουµε τις τιµές της f(x) που δίνονται στον Πίνακα 5.3. Στον ίδιο Πίνα-
κα δίνονται και οι τιµές της F(x) οι οποίες υπολογίζονται αθροίζοντας τις τιµές της
f(x) από το –2.5 µέχρι το x. Με βάση τον Πίνακα αυτό παράγουµε ένα τυχαίο δείγ-
µα σύµφωνα µε τον αλγόριθµο:
1 8 4 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Παράγουµε ένα τυχαίο αριθµό U που να ακολουθεί οµοιόµορφη κατανοµή στο διά-
στηµα [0,1].
Αν , χρησιµοποιούµε το x1, αλλιώς,
Αν , χρησιµοποιούµε το x2, αλλιώς,
Αν , χρησιµοποιούµε το x3, αλλιώς, κ.ο.κ.F x U F x( ) ( )2 3£ £
F x U F x( ) ( )1 2£ £
0 1£ £U F x( )
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.7
Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος:
Σωστό Λάθος
α) Η µέθοδος του αντίστροφου µετασχηµατισµού
χρησιµοποιείται όταν δεν γνωρίζουµε τη συνάρτηση
αθροιστικής πιθανότητας της κατανοµής
β) Η µέθοδος της αποδοχής–απόρριψης δεν µπορεί να
χρησιµοποιηθεί όταν γνωρίζουµε τη συνάρτηση
αθροιστικής πιθανότητας της κατανοµής
γ) Η συνθετική µέθοδος συνδυάζεται πάντα µε τη µέθοδο
του αντίστροφου µετασχηµατισµού για τα επί µέρους
τµήµατα της κατανοµής
δ) Η εµπειρική µέθοδος χρησιµοποιείται όταν δεν
γνωρίζουµε τη συνάρτηση πυκνότητας πιθανότητας
της κατανοµής
¢Ú·ÛÙËÚÈfiÙËÙ· 5.2
Ακολουθώντας τη µέθοδο της αποδοχής–απόρριψης, να παράγετε πέντε τυχαία
δείγµατα της κατανοµής
(5.38)
χρησιµοποιώντας τυχαίους αριθµούς από τον παρακάτω πίνακα:
f x
x x
x
x x( )
. .
( . )=
£ £< £
- < £
Ï
ÌÔÔ
ÓÔÔ
1.5
αν
αν
αν
διαφορετικά
0 1
0 5 1 1 5
2 1 5 2
0
5.6 ª¤ıÔ‰Ô˜ Monte Carlo
Η προσοµοίωση Monte Carlo δεν είναι ακριβώς προσοµοίωση κάποιου µοντέλου
αλλά µία πειραµατική µέθοδος υπολογισµού που εφαρµόζεται σε πολλά πεδία της
επιστήµης, από την οικονοµία ως την πυρηνική φυσική. Πράγµατι, αναφέρεται ως
προσοµοίωση µόνο σε µικρό τµήµα της βιβλιογραφίας, ενώ στο µεγαλύτερο τµήµα
αναφέρεται ως µέθοδος Monte Carlo. Χρησιµοποιήθηκε για πρώτη φορά από τον
Laplace (1749–1827) ο οποίος ήταν και ο πρώτος που έθεσε τις βάσεις της θεωρίας
πιθανοτήτων. Ο Laplace χρησιµοποίησε τη µέθοδο αυτή για τον υπολογισµό αριθ-
µητικών τιµών, επαναλαµβάνοντας ένα τυχαίο γεγονός πολλές φορές και παρατη-
ρώντας το αποτέλεσµα πειραµατικά. Ένας από τους υπολογισµούς του Laplace απο-
τελεί κλασικό παράδειγµα τόσο της µεθόδου Monte Carlo όσο και του υπολογισµού
του π και βασίζεται στο πρόβληµα του Buffon (Beckman 1971).
Ο Buffon (1707–1788) ήταν ένας µαθηµατικός του 18ου αιώνα που ασχολήθηκε µε
διάφορα προβλήµατα τόσο των µαθηµατικών όσο και της φυσικής. Το πρόβληµα
που έθεσε και έλυσε το 1777 έχει ως εξής:
Ρίχνουµε τυχαία µια βελόνα µήκους L σε ένα οριζόντιο επίπεδο διαγραµµισµένο µε
παράλληλες γραµµές που απέχουν µεταξύ τους απόσταση d (µεγαλύτερη από L).
Ποια είναι η πιθανότητα η βελόνα να τέµνει κάποια γραµµή;
Το «τυχαία» εδώ σηµαίνει ότι οποιαδήποτε θέση της βελόνας (του κέντρου της) και
οποιασδήποτε προσανατολισµός της βελόνας είναι ισοπίθανα και ότι οι δύο αυτές
τυχαίες µεταβλητές είναι ανεξάρτητες. Έστω ότι το κέντρο της βελόνας απέχει από
την πλησιέστερη γραµµή κατά x και ότι ο προσανατολισµός της βελόνας δίνεται από
τη γωνία φ, όπως φαίνεται στο Σχήµα 5.15. Επειδή το x µετριέται από την πλησιέ-
στερη γραµµή, εξετάζεται µόνο µία γραµµή. Οι άλλες γραµµές δεν αποτελούν παρά
επανάληψη της ίδιας λύσης.
1 8 55 . 6 ª ∂ £ √ ¢ √ ™ M O N T E C A R L O
¶›Ó·Î·˜ 5.4
Τυχαίοι αριθµοί στο [0,1]
0,71 0,47 0,11 0,02 0,68 0,53 0,58 0,29
0,30 0,30 0,28 0,05 0,30 0,77 0,01 0,76
0,81 0,26 0,28 0,83 0,82 0,71 0,05 0,41
0,86 0,59 0,99 0,91 0,23 0,79 0,37 0,96
0,87 0,70 0,98 0,24 0,53 0,06 0,95 0,36
0,52 0,58 0,10 0,10 0,80 0,77 0,05 0,59
1 8 6 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
Όπως φαίνεται και στο Σχήµα, η βελόνα θα τέµνει τη γραµµή αν και µόνον αν:
(5.39)
Το πρόβληµα είναι λοιπόν ισοδύναµο µε τον υπολογισµό της πιθανότητας:
.
Για να υπολογίσει αυτή την πιθανότητα, ο Buffon χρησιµοποίησε το επίπεδο των
ορθογωνίων συντεταγµένων x και φ όπως φαίνεται στο Σχήµα 5.16.
P x L( sin )< 1
2f
x L< 1
2sin f
™¯‹Ì· 5.15
Το πρόβληµα
του Buffon
™¯‹Ì· 5.16
Το διάγραµµα
συνάρτησης κατα-
νοµής πιθανότη-
τας του Buffon
πλησιέστερη γραµµή
χ
φ
βελόνα
x =1
2Lsinφ
x
O
A
πφ
x =1
2Lsinφ
Εξετάζεται το εσωτερικό του ορθογωνίου ΟΑ, τα σηµεία του οποίου ικανοποιούν τις
ανισότητες:
0 2
0
< << <
x d /
f p
Τα σηµεία στο εσωτερικό αυτού του ορθογωνίου αντιστοιχούν σε όλες τις δυνατές
τιµές των x και φ. Επειδή όλοι οι συνδυασµοί των x και φ είναι ισοπίθανοι, το εµβα-
δόν του ορθογωνίου αυτού αντιπροσωπεύει το άθροισµα όλων των πιθανοτήτων των
γεγονότων που µπορεί να συµβούν. Μερικοί όµως µόνο από τους συνδυασµούς
αυτούς θα έχουν ως αποτέλεσµα η βελόνα να τέµνει τη γραµµή. Το γεγονός αυτό θα
συµβεί µόνον όταν ισχύει η ανισότητα (5.39), δηλαδή, όταν η θέση της βελόνας και
ο προσανατολισµός της αντιστοιχεί σε σηµείο που βρίσκεται κάτω από την καµπύ-
λη στο Σχήµα 5.16. Εποµένως, το άθροισµα όλων των πιθανοτήτων τοµής της βελό-
νας µε τη γραµµή ισούται µε το εµβαδόν της επιφανείας που βρίσκεται κάτω από
την καµπύλη . Η πιθανότητα, όµως, ορίζεται ως ο λόγος του αριθµού
των επιθυµητών προς τον ως αριθµό όλων των δυνατών γεγονότων. Άρα, η πιθανό-
τητα τοµής δίνεται από τον λόγο του εµβαδού του γραµµοσκιασµένου τµήµατος προς
το εµβαδό ολοκλήρου του ορθογωνίου ΟΑ και είναι ίση µε:
(5.40)
Αυτό είναι το αποτέλεσµα στο οποίο έφθασε ο Buffon και το σηµείο από το οποίο
ξεκίνησε ο Laplace. Η εξίσωση (5.40) µπορεί να γραφεί ως:
(5.41)
και αποτελεί µια µέθοδο υπολογισµού του π. Το µήκος της βελόνας είναι δεδοµένο,
όπως και η απόσταση ανάµεσα στις γραµµές. Αν µάλιστα τεθούν ίσα, η εξίσωση
καταλήγει στην π=2/P και η πιθανότητα P µπορεί να υπολογισθεί, αν «ρίξουµε» µια
βελόνα πολλές φορές πάνω σε διαγραµµισµένο χαρτί και µετρηθεί πόσες φορές η
βελόνα τέµνει µία από τις γραµµές.
Ο Laplace βεβαίως, δεν ήταν αρκετά αργόσχολος ώστε να πειραµατισθεί ο ίδιος, αν
και πολλοί µετά από αυτόν ακολούθησαν τη µέθοδό του για να υπολογίσουν την τιµή
του π. Ο Laplace προτίµησε να αφιερώσει το χρόνο του στο να αποδείξει ότι η συγκε-
κριµένη µέθοδος είναι πολύ αναποτελεσµατική για τον υπολογισµό του π. Εν τού-
τοις, έθεσε τις βάσεις για τη µέθοδο Monte Carlo, η οποία σε άλλες περιπτώσεις είναι
πολύ αποτελεσµατική.
Σύµφωνα λοιπόν µε τα παραπάνω, η µέθοδος Monte Carlo συνοψίζεται στα εξής:
1. Εκφράζουµε την άγνωστη ποσότητα ως συνάρτηση γνωστών ποσοτήτων και
πιθανοτήτων.
p = 2L
dP
PL d
d
L
d= =Ú1
2 0
22sin
/
f f
p p
p
x L= 1 2/ sin f
1 8 75 . 6 ª ∂ £ √ ¢ √ ™ M O N T E C A R L O
1 8 8 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
2. Υπολογίζουµε τις πιθανότητες µε κάποια επαναληπτική µέθοδο ή µε µία από τις
µεθόδους δειγµατοληψίας που αναπτύχθηκαν στο κεφάλαιο αυτό.
3. Αντικαθιστούµε τις πιθανότητες στη συνάρτηση και υπολογίζουµε την άγνωστη
ποσότητα.
Στο συγκεκριµένο παράδειγµα, είναι εύκολο να γραφεί ένα πρόγραµµα που να
«ρίχνει» τη βελόνα πολλές φορές και να µετρά πόσες φορές τέµνει τη γραµµή. Το
πρόγραµµα σε γλώσσα PASCAL δίνεται στο Σχήµα 5.17 ενώ η τιµές που δίνει για
το π µε διάφορους αριθµούς «ρίψεων» δίνονται στον Πίνακα 5.4.
Είναι χαρακτηριστικό ότι για τον υπολογισµό του ηµιτόνου χρειάζεται να εισάγου-
µε µια σχετικά καλή τιµή του π στη γραµµή:
u:=sin(3.1415927*x2);
Αυτό σηµαίνει ότι η µέθοδος µάλλον δεν προσφέρεται για τον υπολογισµό του π, το
οποίο θα πρέπει να γνωρίζουµε για να την εφαρµόσουµε! Επιπλέον, η µέθοδος είναι
πολύ αναποτελεσµατική όπως φαίνεται από τα αποτελέσµατα του Πίνακα 5.5.
Αν και το πρόγραµµα προσοµοίωσε συνολικά 200,000 ρίψεις της βελόνας, µόλις τα
τέσσερα πρώτα δεκαδικά ψηφία του π είναι σωστά. Χρειάζονται 1,000,000 προσο-
µοιώσεις της βελόνας για να είναι σωστά τα πέντε πρώτα δεκαδικά ψηφία του π. Επι-
πλέον, η µέθοδος δεν φαίνεται να συγκλίνει µονότονα προς την τιµή του π, όπως
αποδεικνύεται από την περιοχή των 150,000 «ρίψεων» όπου η υπολογιζόµενη τιµή
του π είναι µικρότερη από την πραγµατική, ενώ αρχικά ήταν µεγαλύτερη.
pprrooggrraamm Pi;
VVAARR
j :integer;
y1, y2 :word;
k, n :longint;
x1, x2, u, t, p :real;
BBeeggiinn
rraannddoommiizzee;
wwrriitteellnn(‘∞Ú. ƒ›„ˆӒ,’’);
n:=0;
¶›Ó·Î·˜ 5.5
Τιµές του π για διάφορους αριθµούς επαναλήψεων της µεθόδου Monte Carlo
1 8 95 . 6 ª ∂ £ √ ¢ √ ™ M O N T E C A R L O
™¯‹Ì· 5.17
Πρόγραµµα
Pascal για τον
υπολογισµό του π
µε τη µέθοδο
Monte Carlo
ffoorr j:=1 ttoo 20 ddoo
bbeeggiinn
ffoorr k:=1 ttoo 10000 ddoo
bbeeggiinn
y1:=random(65535); x1:=y1/65535;
y2:=random(65535); x2:=y2/65535;
u:=sin(3.1415927*x2);
iiff (x1<=u) tthheenn n:=n+1;
eenndd;
t:=1.0*10000.0*j;
p:=(2.0*t)/(1.0*n);
wwrriitteellnn(t,p);
eenndd;
eenndd..
Αρ. ρίψεων π
10.000 3,201024
20.000 3,162805
30.000 3,150929
40.000 3,155445
50.000 3,146732
60.000 3,146963
70.000 3,143454
80.000 3,141197
90.000 3,144764
100.000 3,146633
110.000 3,144340
120.000 3,141402
130.000 3,140779
1 9 0 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
140.000 3,139964
150.000 3,138535
160.000 3,139841
170.000 3,141487
180.000 3,140731
190.000 3,141534
200.000 3,141517
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 5.8
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
α) Η ……………… Monte Carlo συχνά αναφέρεται εσφαλµένα ως ……………… Monte
Carlo.
β) Κατά τη ……………… Monte Carlo εκφράζουµε την ……………… ποσότητα ως συνάρ-
τηση ……………… ποσοτήτων και πιθανοτήτων.
γ) Ρίχνοντας τη βελόνα µε τη µέθοδο του Buffon οι προσανατολισµοί της βελόνας
είναι ……………… .
™‡ÓÔ„Ë
Τα στοχαστικά µοντέλα, τα οποία αποτελούν συνήθως το αντικείµενο µιας προσο-
µοίωσης, περιλαµβάνουν τυχαίες µεταβλητές. Οι τιµές αυτών των µεταβλητών θα
πρέπει να καθορισθούν κατά τη διάρκεια της προσοµοίωσης, πράγµα που επιτυγχά-
νεται µε την παραγωγή και χρήση τυχαίων αριθµών. Οι τυχαίες µεταβλητές του µοντέ-
λου ακολουθούν κάποιες στατιστικές κατανοµές, τις οποίες θα πρέπει φυσικά να ακο-
λουθούν και τα τυχαία δείγµατα αυτών των µεταβλητών. Στο κεφάλαιο αυτό παρου-
σιάζονται οι µεθοδολογίες παραγωγής τυχαίων αριθµών, που ακολουθούν οµοιό-
µορφη κατανοµή, και τυχαίων δειγµάτων, που ακολουθούν επιθυµητές κατανοµές.
Όταν η κατανοµή µιας τυχαίας µεταβλητής δεν είναι προκαθορισµένη, είναι δυνατόν
να επαναληφθεί η προσοµοίωση µε διάφορες κατανοµές για να καθορισθεί η από-
κριση του συστήµατος σε όλες τις δυνατές κατανοµές εισόδων.
Επειδή η έννοια της τυχαιότητας δεν είναι προφανής κατά τη χρήση ηλεκτρονικών
υπολογιστών, στην ενότητα 5.1 του κεφαλαίου αυτού, ορίζονται οι πραγµατικά τυχαί-
οι αριθµοί αλλά και οι ψευδοτυχαίοι αριθµοί, που είναι αυτοί που τελικά παράγονται
από προγράµµατα υπολογιστών. Οι επιθυµητές ιδιότητες αυτών των ψευδοτυχαίων
αριθµών παρουσιάζονται στην ενότητα 5.2, ενώ η µεθοδολογία παραγωγής τους µε
ηλεκτρονικό υπολογιστή αναπτύσσεται στην ενότητα 5.3. Όταν όµως δηµιουργούµε
ψευδοτυχαίους αριθµούς µε προσδιοριστικές διαδικασίες ποτέ δεν είµαστε σίγουροι
ότι έχουν τις επιθυµητές ιδιότητες. Για τον λόγο αυτό έχουν αναπτυχθεί διάφοροι έλεγ-
χοι τυχαιότητας, οι οποίοι επεξηγούνται στην ενότητα 5.4 οι έλεγχοι τυχαιότητας, και
µε τους οποίους επαληθεύουµε την αξιοπιστία των τυχαίων αριθµών.
Αφού δηµιουργηθούν οι τυχαίοι (ή ψευδοτυχαίοι) αριθµοί, θα πρέπει κατόπιν να δηµι-
ουργηθούν τα τυχαία δείγµατα που θα χρησιµοποιηθούν κατά την προσοµοίωση. Η
µεθοδολογία παραγωγής τυχαίων δειγµάτων, τα οποία ακολουθούν συγκεκριµένη
κατανοµή, από τυχαίους αριθµούς, παρουσιάζεται στην ενότητα 5.5.
Μια σηµαντική εφαρµογή της παραγωγής τυχαίων αριθµών µε ηλεκτρονικό υπολογι-
στή αποτελεί η µέθοδος Monte Carlo, η οποία παρουσιάζεται στην ενότητα 5.6. Η
µέθοδος αυτή χρησιµοποιείται συχνά για τον υπολογισµό ορισµένων ολοκληρωµάτων,
αλλά και άλλων ποσοτήτων που δύσκολα υπολογίζονται µε αναλυτικές µεθόδους.
1 9 1™ Y N O æ H
1 9 2 K E º A § A I O 5 : M ∂ £ √ ¢ √ π ¢ ∂ π ° ª ∞∆ √ § ∏ æ π ∞ ™
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. S.L. Anderson, «Random Number Generators on Vector Supercomputers and
Other Advanced Architectures,» SIAM Review, 32 (2), pp. 221–251, 1990.
2. P. Beckman, A History of π, St. Martin’s Press, New York, 1971.
3. A.M. Breipohl, Probabilistic Systems Analysis, Wiley, New York, 1970.
4. G.S. Fishman, Concepts and Methods for Discrete Event Digital Simulation,
Wiley, New York, 1973.
5. G.S. Fishman, Principles of Discrete Event Simulation, Wiley, New York, 1978.
6. J. P. C. Kleinjnen. Statistical Techniques in Simulation, Part 1, Marcel Dekker,
New York, NY, 1974.
7. D. E. Knuth. Seminumerical Algorithms, 2nd ed., Vol. 2 of The Art of Computer
Programming, Addison–Wesley, Reading PA, 1981.
8. G. Marsaglia, «A Current View of Random Number Generators,» Computer
Science and Statistics, The Interface, Elsevier Science Publishers B. V. (North
Holland) L. Billard (ed.), 1985.
9. G.Marsaglia, M.D. MacLaren, T.D. Bray, «A fast procedure for generating Normal
deviates on a digital computer,» Journal of the ACM, No. 7, 1964, pp. 4–10.
10.RAND Corporation, A Million Random Digits with 100,000 Normal Deviates,
The Free Press, Glenroe, Ill, 1955.
11.K.D. Tocher, The Art of Simulation, English Universities Press, London, 1963.
12.Σ. Κουνιάς, Πιθανότητες: θεωρία και ασκήσεις, Ζήτης, Θεσσαλονίκη 1991.
13. ∆.Π. Ψωϊνός, Εφαρµοσµένη στατιστική, Ζήτης, Θεσσαλονίκη 1992.
AÓ¿Ï˘ÛË AÔÙÂÏÂÛÌ¿ÙˆÓ
™ÎÔfi˜
Η συλλογή και µελέτη των αποτελεσµάτων της προσοµοίωσης απαιτεί ιδιαίτερη προ-
σοχή λόγω της τυχαιότητας ορισµένων παραµέτρων. Στόχος του κεφαλαίου αυτού
είναι παρουσιάσει τις µεθοδολογίες συλλογής και αξιολόγησης των αποτελεσµάτων
της προσοµοίωσης.
¶ÚÔÛ‰ÔÎÒÌÂÓ· ·ÔÙÂϤÛÌ·Ù·
Όταν τελειώσετε τη µελέτη του κεφαλαίου αυτού θα είστε σε θέση να:
• αναφέρετε τους δύο τύπους προσοµοίωσης
• αναφέρετε τουλάχιστον τρία παραδείγµατα προσοµοίωσης σταθερής κατάστασης
και τρία παραδείγµατα τερµατιζόµενης προσοµοίωσης
• αναφέρετε τουλάχιστον τέσσερις µεθόδους προσδιορισµού της σταθερής κατάστασης
• διακρίνετε τη διαφορά ανάµεσα στη συλλογή ανεξάρτητων και εξαρτηµένων δεδο-
µένων
• αναφέρετε τουλάχιστον δύο µεθόδους ανάλυσης των αποτελεσµάτων της προσο-
µοίωσης
ŒÓÓÔȘ ÎÏÂȉȿ
6∫ ∂ º ∞ § ∞ π √
• προσοµοίωση σταθερής κατάστασης
• τερµατιζόµενη προσοµοίωση
• αρχικές συνθήκες, µεταβατική φάση
• σταθερή κατάσταση
• ανεξάρτητα από το χρόνο δεδοµένα,
εξαρτηµένα από το χρόνο δεδοµένα
• µήκος τρεξίµατος
• µέθοδος των επαναλήψεων
• µέθοδος των µέσων παρτίδων
• µέθοδος της αναγέννησης
∂ÈÛ·ÁˆÁÈΤ˜ ·Ú·ÙËÚ‹ÛÂȘ
Επειδή η στοχαστική προσοµοίωση βασίζεται σε παραγωγή και χρήση τυχαίων δειγ-
µάτων, τα αποτελέσµατά της δεν είναι πάντα απολύτως αξιόπιστα. Για τον λόγο αυτό,
τόσο η διαδικασία της προσοµοίωσης όσο και τα αποτελέσµατα αυτής της διαδικα-
σίας θα πρέπει να προσεγγίζονται µε µεγάλη προσοχή. ∆ιάφοροι παράγοντες, όπως
η αρχική κατάσταση ή ο µικρός αριθµός δειγµάτων, µπορεί να οδηγήσουν σε πολω-
1 9 4 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
µένες µετρήσεις και εσφαλµένα συµπεράσµατα. Θα πρέπει να σηµειωθεί ότι
στην περίπτωση της προσδιορισµένης προσοµοίωσης τα αποτελέσµατα είναι
εκ των προτέρων γνωστά και, εποµένως, δεν κρίνεται η αξιοπιστία τους.
Στην ενότητα 6.1 του κεφαλαίου αυτού γίνεται διάκριση των τύπων της προ-
σοµοίωσης ανάλογα µε το αν τερµατίζεται κάποια συγκεκριµένη χρονική
στιγµή ή όχι. Στην ενότητα 6.2 προσδιορίζονται οι φάσεις της προσοµοίωσης
και οι µέθοδοι αναγνώρισής τους. Στην ενότητα 6.3 παρουσιάζονται οι µέθο-
δοι συλλογής δεδοµένων ανάλογα µε τον τύπο τους. Τέλος, στην ενότητα 6.4
αναλύονται οι τρεις µέθοδοι ανάλυσης των αποτελεσµάτων της προσοµοίω-
σης και η εξαγωγή στατιστικών στοιχείων.
Για τη µελέτη του κεφαλαίου αυτού απαιτούνται ορισµένες γνώσεις στατιστι-
κής, τις οποίες ο αναγνώστης µπορεί να βρει στο βιβλίο του Ψωινού (1992).
6.1 ∆‡ÔÈ ÚÔÛÔÌÔ›ˆÛ˘
Η προσοµοίωση διακρίνεται σε δύο τύπους, όσον αφορά την ανάλυση των αποτε-
λεσµάτων, την προσοµοίωση σταθερής κατάστασης, και την τερµατιζόµενη προσο-
µοίωση.
Ορισµός 6.1
Στην προσοµοίωση σταθερής κατάστασης η ποσότητα που ενδιαφέρει ορί-
ζεται ως ένα όριο στο οποίο τείνει η ποσότητα καθώς το µήκος της προσο-
µοίωσης τείνει στο άπειρο. Στην ουσία δηλαδή, ενδιαφέρει η τιµή της ποσό-
τητας αφού το σύστηµα έχει σταθεροποιηθεί και η ποσότητα έχει λάβει την
τελική της τιµή.
Παραδείγµατα ποσοτήτων σταθερής κατάστασης είναι:
• Ο αναµενόµενος µέσος χρόνος αναµονής στο σύστηµα, όταν αυτό είναι σε στα-
θερή κατάσταση.
• Το αναµενόµενο µέσο κόστος, όταν το σύστηµα είναι σε σταθερή κατάσταση.
• Το αναµενόµενο µέσο µήκος ουράς, όταν το σύστηµα είναι σε σταθερή κατάσταση.
• Ο αναµενόµενος µέσος βαθµός χρήσης του εξυπηρετητή, όταν το σύστηµα είναι
σε σταθερή κατάσταση
Ορισµός 6.2
Στην τερµατιζόµενη προσοµοίωση, οι ποσότητες που ενδιαφέρουν ορίζονται
σε σχέση µε το χρονικό διάστηµα της προσοµοίωσης [0,T]. Θεωρείται, δηλα-
δή ότι η προσοµοίωση τερµατίζεται στο χρόνο T, ή στη χρονική αυτή στιγµή
συµβαίνει κάποιο προκαθορισµένο γεγονός E.
Παραδείγµατα ποσοτήτων που ενδιαφέρουν σε τερµατιζόµενη προσοµοίωση είναι
τα εξής:
• Ο αναµενόµενος µέσος χρόνος αναµονής των πρώτων Ν πελατών στο σύστηµα.
• Το αναµενόµενο µέσο κόστος για το πρώτο T χρονικό διάστηµα της προσοµοίωσης.
• Το αναµενόµενο µέσο µήκος ουράς για το πρώτο T χρονικό διάστηµα της προσο-
µοίωσης.
• Ο αναµενόµενος βαθµός χρήσης του εξυπηρετητή για τις πρώτες T χρονικές µονά-
δες της προσοµοίωσης.
Όπως γίνεται αντιληπτό και από τα παραδείγµατα, ο τύπος της προσοµοίωσης δεν
1 9 56 . 1 ∆ À ¶ √ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏ ™
1 9 6 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
ορίζεται από το µοντέλο αυτό καθεαυτό αλλά από τις µετρήσεις που πρέπει να γίνουν
κατά την προσοµοίωση του µοντέλου.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.1
Ποιες από τις παρακάτω προσοµοιώσεις είναι σταθερής κατάστασης και ποιες τερ-
µατιζόµενες;
α) Η προσοµοίωση ενός αγώνος αυτοκινήτων
β) Η προσοµοίωση ενός λιµανιού (φόρτωση–εκφόρτωση πλοίων)
γ) Η προσοµοίωση µιας ιδιωτικής τράπεζας για να µετρήσουµε το µέσο µήκος
ουράς
δ) Η προσοµοίωση µιας διασταύρωσης µε φωτεινούς σηµατοδότες
6.2 ∞Ú¯ÈΤ˜ Û˘Óı‹Î˜ Î·È ÛÙ·ıÂÚ‹ ηٿÛÙ·ÛË
Όταν αρχίζει η διαδικασία της προσοµοίωσης, το σύστηµα βρίσκεται σε κάποια
κατάσταση. Οι τιµές που ορίζονται για τις παραµέτρους των οντοτήτων στην κατά-
σταση αυτή ονοµάζονται αρχικές συνθήκες και καθορίζονται είτε από το ίδιο το
µοντέλο είτε από τον τύπο της προσοµοίωσης (Pidd 1992).
Για παράδειγµα, οι εξυπηρετητές του συστήµατος µπορεί να είναι είτε αδρανείς είτε
απασχοληµένοι όταν αρχίζει το σύστηµα. Αν ορισθούν ως απασχοληµένοι τότε θα
πρέπει να ορισθεί και ο χρόνος εξυπηρέτησης.
Ένα δεύτερο παράδειγµα αποτελεί το συνεργείο αυτοκινήτων στο οποίο όλες οι εργα-
σίες δεν τελειώνουν στο τέλος της ηµέρας. Έτσι, αρχίζοντας την προσοµοίωση από
την αρχή µιας ηµέρας µπορεί να ορισθεί ο αριθµός των εργασιών που εκκρεµούν
καθώς και ο χρόνος αναµονής κάθε µίας από αυτές.
Στην προσοµοίωση σταθερής κατάστασης, εκτός από την σταθερή κατάσταση ορί-
ζεται και η µεταβατική φάση (ή κατάσταση) του συστήµατος. Ένα σύστηµα έχει φθά-
σει σε σταθερή κατάσταση, όταν οι διαδοχικές παρατηρήσεις της απόδοσης του
συστήµατος δεν διαχωρίζονται στατιστικά. Ως µεταβατική φάση ορίζεται η περίο-
δος της προσοµοίωσης µέχρι το σύστηµα να φθάσει σε σταθερή κατάσταση. Κατά
την µεταβατική λοιπόν φάση, οι αρχικές συνθήκες επηρεάζουν τις τιµές των ποσο-
τήτων που ενδιαφέρουν την ανάλυση. Αντίθετα, στη σταθερή κατάσταση η επίδρα-
ση των αρχικών συνθηκών θεωρείται ότι έχει εξαλειφθεί.
Όπως είναι προφανές, η επίδραση των αρχικών συνθηκών στις παρατηρήσεις των
ποσοτήτων που ενδιαφέρουν είναι ανεπιθύµητη όταν µελετάται η σταθερή κατά-
σταση του συστήµατος. Υπάρχουν διάφορες µέθοδοι µείωσης της επίδρασης των
αρχικών συνθηκών, τρεις από τις οποίες είναι οι εξής:
1. Η προσοµοίωση «τρέχει» για τόσο µεγάλη χρονική περίοδο έτσι ώστε τα δείγ-
µατα από την µεταβατική φάση να είναι πολύ λίγα σε σχέση µε τα δείγµατα της
σταθερής κατάστασης.
2. Από τις µετρήσεις αποκλείονται µερικά ή όλα τα δείγµατα της µεταβατικής
φάσης.
3. Η προσοµοίωση ξεκινά µε αρχικές συνθήκες που είναι πλησιέστερες στη σταθε-
ρή κατάσταση του συστήµατος έτσι ώστε να ελαχιστοποιηθεί το µήκος της µετα-
βατικής φάσης.
Επειδή η σταθερή κατάσταση είναι πολύ σηµαντική για την αξιοπιστία των αποτε-
λεσµάτων, έχουν αναπτυχθεί µέθοδοι που προσδιορίζουν πότε το σύστηµα βρίσκε-
ται σε σταθερή κατάσταση. Εδώ δίνονται µερικές µόνο από τις µεθόδους αυτές:
1. Η προσοµοίωση «τρέχει» και συλλέγονται n παρατηρήσεις της ποσότητας που
µας ενδιαφέρει, x1, x2, ..., xn. Ελέγχεται αν ο αριθµός των xi<xmean είναι περίπου
ίσος µε τον αριθµό των xi>xmean όπου xmean είναι ο µέσος όρος των x1 , x2 , ..., xn.
2. Υπολογίζεται ένας κινούµενος µέσος όρος της ποσότητας που ενδιαφέρει µέχρι
ο µέσος αυτός όρος να µη µεταβάλλεται σηµαντικά µε την πάροδο του χρόνου.
3. Συλλέγονται παρατηρήσεις x1 , x2 , ..., xn. Το σύστηµα έχει φθάσει σε σταθερή
κατάσταση στο σηµείο i, στο οποίο το xi δεν είναι ούτε το µέγιστο ούτε το ελά-
χιστο των επόµενων τιµών.
4. Το ίδιο µε το 3 µόνο που το xi δεν θα πρέπει να είναι ούτε το µέγιστο ούτε το ελά-
χιστο των προηγούµενων τιµών.
5. Χρησιµοποιείται ένας ή περισσότεροι από τους προηγούµενους ελέγχους αλλά
για πολλαπλές εκτελέσεις της προσοµοίωσης µε διαφορετική δειγµατοληψία σε
κάθε εκτέλεση.
Στο παρακάτω Παράδειγµα δίνεται ο αλγόριθµος καθορισµού του σηµείου έναρξης
της σταθερής κατάστασης µε τη µέθοδο του κινούµενου µέσου όρου.
¶·Ú¿‰ÂÈÁÌ· 6.1
Έστω ότι παρατηρούµε κάποιο µέτρο της απόδοσης του συστήµατος. Αυτό µπορεί
1 9 76 . 2 ∞ ƒ Ã π ∫ ∂ ™ ™ À ¡ £ ∏ ∫ ∂ ™ ∫ ∞ π ™ ∆∞ £ ∂ ƒ ∏ ∫ ∞∆∞ ™ ∆∞ ™ ∏
1 9 8 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
να είναι το κόστος, ο βαθµός χρήσης του εξυπηρετητή, κτλ. Στο Σχήµα 6.1 δίνεται
η διακύµανση των παρατηρήσεων του µέτρου απόδοσης.
Mέτ
ρο α
πόδοσ
ης
n παρατηρήσεις
k παρατηρήσεις
1 2 3 4 5 6 7 8 L t
™¯‹Ì· 6.1
Παρατηρήσεις
του µέτρου
απόδοσης
Έστω ότι η σειρά των παρατηρήσεων που λαµβάνονται από την προσοµοίωση είναι
y1, y2, ..., yn. Ο αριθµός των παρατηρήσεων n ονοµάζεται µήκος τρεξίµατος. Τα
βήµατα του αλγορίθµου του κινούµενου µέσου είναι τα εξής:
1. ∆ιαιρούµε την προσοµοίωση σε L διαστήµατα που το καθένα αποτελείται από k
παρατηρήσεις. Εποµένως, n=kL. Όσο πιο µικρό είναι το k τόσο πιο ακριβής θα
είναι ο καθορισµός του σηµείου έναρξης της σταθερής κατάστασης.
2. Υπολογίζουµε το µέσο όρο των παρατηρήσεων στο τέλος κάθε διαστήµατος:
(6.1)
όπου για i = 1, 2, ..., L
3. Σχεδιάζουµε τα xi ως τον κινούµενο µέσο όρο. Αυτό φαίνεται στο Σχήµα 6.2.
4. Επαναλαµβάνουµε τα βήµατα 2 και 3, χρησιµοποιώντας διαφορετικό σπόρο της
γεννήτριας τυχαίων αριθµών κάθε φορά, M φορές. Ο αριθµός των επαναλήψεων M
εξαρτάται από το πόσο πολύ µεταβάλλεται το µέτρο απόδοσης που παρατηρούµε.
Καθορίζουµε το σηµείο έναρξης της σταθερής κατάστασης εξετάζοντας τα δια-
γράµµατα που δείχνουν τη συµπεριφορά του µέτρου απόδοσης. Η σταθερή κατά-
σταση αρχίζει στο σηµείο όπου στα περισσότερα διαγράµµατα ο κινούµενος µέσος
όρος έχει φθάσει στο επίπεδο στο οποίο κινείται κατόπιν.
j k i k i ki= + - + -1 1 2 1( ), ( ), , K
xk
yi j
j
= Â1
6.3 ™˘ÏÏÔÁ‹ ‰Â‰Ô̤ӈÓ
Κατά τη διάρκεια της προσοµοίωσης συλλέγονται ορισµένα δεδοµένα, που θα χρη-
σιµοποιηθούν κατόπιν για στατιστική ανάλυση. Το είδος των δεδοµένων που θα συλ-
λεχθούν εξαρτάται από τα συµπεράσµατα που επιθυµεί να εξάγει ο αναλυτής για το
µοντέλο και κατ’ επέκταση για το σύστηµα. Η στατιστική ανάλυση και παρουσία-
1 9 96 . 3 ™ À § § √ ° ∏ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡
Mέτροr
απόδοσης
(x1 + x2 + ... + xL)/L
(x1 + x2 + x3)/3
(x1 + x2)/2
x1
1 2 3 4 5 6 L t
™¯‹Ì· 6.2
Κινούµενος
µέσος όρος
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.2
Να αναφέρετε τρεις τουλάχιστον µεθόδους προσδιορισµού της σταθερής κατάστασης.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.3
Κατά την προσοµοίωση µιας διασταύρωσης µε φωτεινούς σηµατοδότες, η οποία
δεν είναι µποτιλιαρισµένη, µπορούµε να ορίσουµε την αρχή της σταθερής κατά-
στασης χωρίς να κάνουµε µετρήσεις. Ποια από τις παρακάτω προτάσεις είναι, κατά
τη γνώµη σας, πιο σωστή;
α) Το τέλος του πρώτου κύκλου σηµατοδότησης, διότι από το δεύτερο κύκλο και
µετά όλοι οι κύκλοι είναι παρόµοιοι στατιστικά.
β) Το τέλος του δεύτερου κύκλου σηµατοδότησης, διότι τότε έχουν εξαλειφθεί οι
επιπτώσεις των αρχικών συνθηκών προσέλευσης των αυτοκινήτων.
2 0 0 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
ση των αποτελεσµάτων δεν γίνεται πάντα στο τέλος της προσοµοίωσης. Σε ορισµέ-
νες περιπτώσεις είναι επιθυµητό να παρακολουθείται η εξέλιξη της προσοµοίωσης
µε την παρουσίαση της κατάστασης του συστήµατος. Π.χ. κατά τη λειτουργία ενός
προσοµοιωτή πτήσης, πρέπει να εµφανίζεται η κατάσταση του αεροπλάνου κάθε
χρονική στιγµή, έτσι ώστε να µπορεί να αντιδράσει ο εκπαιδευόµενος χειριστής και
να δώσει νέα δεδοµένα στο σύστηµα. Ακόµη όµως και σ’ αυτές τις περιπτώσεις,
ενδιαφέρει τον αναλυτή η συλλογή ορισµένων δεδοµένων, έτσι ώστε να είναι δυνα-
τή η εκτίµηση της αντίδρασης του χειριστή.
Τα δεδοµένα που συλλέγονται κατά τη διάρκεια της προσοµοίωσης χωρίζονται σε
δύο κατηγορίες: αυτά που είναι ανεξάρτητα από το χρόνο και τα εξαρτώµενα από
αυτόν. Τα ανεξάρτητα δεδοµένα είναι συνήθως µέγιστα και ελάχιστα κάποιων µετα-
βλητών του συστήµατος ή συγκεκριµένες καταστάσεις του συστήµατος, για τις οποί-
ες ενδιαφέρεται ο αναλυτής. Τα εξαρτώµενα από το χρόνο γεγονότα είναι αυτά για
τα οποία γίνεται συνήθως η στατιστική ανάλυση και αφορούν µεταβλητές, των οποί-
ων η τιµή µεταβάλλεται συνεχώς µε το χρόνο.
6.3.1 ™˘ÏÏÔÁ‹ ·ÓÂÍ¿ÚÙËÙˆÓ ‰Â‰Ô̤ӈÓ
Η συλλογή ανεξάρτητων από το χρόνο δεδοµένων είναι πολύ απλή και αναφέρεται
στην απόδοση µιας νέας τιµής σε µια µεταβλητή όταν συµβεί κάποιο γεγονός. Η
µεταβλητή αυτή αναφέρεται στο µέγιστο η ελάχιστο µιας παρατηρούµενης ποσότη-
τας ή στο πέρασµα του συστήµατος από µια συγκεκριµένη κατάσταση.
¶·Ú¿‰ÂÈÁÌ· 6.2
Έστω ότι προσοµοιώνεται ένα σύστηµα ουράς, και ο αναλυτής ενδιαφέρεται για το
µέγιστο µήκος της ουράς. Η ποσότητα αυτή είναι ανεξάρτητη από το χρόνο γιατί δεν
µεταβάλλεται ως συνεχής συνάρτηση του χρόνου. Για τη µέτρηση της ποσότητας
αυτής είναι αρκετό να υπάρχει µία µεταβλητή, έστω QMAX, η οποία να λαµβάνει
νέα τιµή όταν αλλάξει το µέγιστο µήκος της ουράς. Επειδή το µήκος της ουράς αυξά-
νει µόνο µε την άφιξη ενός πελάτη, ο έλεγχος και ή πιθανή µεταβολή της QMAX
γίνεται κατά την εκτέλεση του γεγονότος «Άφιξη πελάτη». Όταν λοιπόν αφιχθεί
κάποιος πελάτης και αυξηθεί το µήκος της ουράς, συγκρίνεται το νέο µήκος ουράς
µε την τιµή της µεταβλητής QMAX. Αν είναι µεγαλύτερο, τότε η QMAX αλλάζει
τιµή και γίνεται ίση µε το µήκος της ουράς. Στο τέλος της προσοµοίωσης, εµφανί-
ζεται στα αποτελέσµατα η τιµή της QMAX ως το µέγιστο µήκος που είχε η ουρά
κατά τη διάρκεια της προσοµοίωσης.
¶·Ú¿‰ÂÈÁÌ· 6.3
Έστω ότι προσοµοιώνεται η πτήση ενός αεροσκάφους και ο αναλυτής ενδιαφέρεται
να διαπιστώσει αν το αεροσκάφος έφθασε κατά τη διάρκεια της προσοµοίωσης σε
ύψος 50,000 ποδών που είναι και η οροφή πτήσης του, η απάντηση από την προσο-
µοίωση θα πρέπει να είναι ένα ΝΑΙ ή ένα ΟΧΙ.
Στο Παράδειγµα αυτό θα υπάρχει µια λογική µεταβλητή, η οποία έχει αρχικά την τιµή
FALSE επειδή το αεροσκάφος ξεκινά από το έδαφος. Κάθε φορά που µεταβάλλεται
το ύψος του αεροσκάφους, ελέγχεται αν είναι µεγαλύτερο από 50,000 πόδια, και στην
περίπτωση που είναι, η λογική µεταβλητή λαµβάνει την τιµή TRUE. Στο τέλος της
προσοµοίωσης, εµφανίζεται στα αποτελέσµατα η τιµή της µεταβλητής και πληροφο-
ρείται ο αναλυτής αν το αεροπλάνο έφθασε ή όχι στο επιθυµητό ύψος.
6.3.2 ™˘ÏÏÔÁ‹ ÂÍ·ÚÙËÌ¤ÓˆÓ ‰Â‰Ô̤ӈÓ
Τα δεδοµένα που εξαρτώνται από το χρόνο είναι συνήθως συνεχείς συναρτήσεις του
χρόνου. Στην προσοµοίωση διακριτών συστηµάτων, που κυρίως απασχολούν το
βιβλίο αυτό, οι παράµετροι του συστήµατος µεταβάλλονται σε συγκεκριµένες χρο-
νικές στιγµές. Γι’ αυτόν τον λόγο, είναι αρκετό να υπολογισθούν τα δεδοµένα, που
ενδιαφέρουν την ανάλυση, για τα χρονικά διαστήµατα ανάµεσα στις µεταβολές.
Έστω ότι x είναι η µεταβλητή ή η παρατηρούµενη ποσότητα, τα στατιστικά της οποί-
ας πρέπει να υπολογισθούν. Η µεταβλητή αυτή λαµβάνει τιµές κατά τις χρονικές
στιγµές t1, t2 t3 …tn. Είναι, εποµένως, σταθερή κατά τα διαστήµατα:
Η χρονική στιγµή tn συµπίπτει µε το τέλος της προσοµοίωσης, ή µε το τέλος του δια-
στήµατος στο οποίο συλλέγονται τα δεδοµένα της µεταβλητής. Έστω ότι κατά τα
χρονικά διαστήµατα T1, T2, T3, ..., Tn η µεταβλητή x έχει τις τιµές x1, x2, x3, …xn. Το
χρονικό διάγραµµα των τιµών αυτών δίνεται στο Σχήµα 6.3.
T t T t t T t t T t tn n n1 1 2 2 1 3 3 2 10= - = - = - º = - -, , , ,
2 0 16 . 3 ™ À § § √ ° ∏ ¢ ∂ ¢ √ ª ∂ ¡ ø ¡
x
0
x1
x2
x3
x4
x5
xn
t1 t2 t3 t4 t5 tn-1 tn t
™¯‹Ì· 6.3
Χρονικό
διάγραµµα
µεταβολών µιας
παρατηρούµενης
ποσότητας
2 0 2 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
Μια πλήρης συλλογή των δεδοµένων περιλαµβάνει την καταγραφή των τιµών xj και
Tj για όλα τα j. Στο τέλος της προσοµοίωσης, η µέση τιµή της µεταβλητής x και η
διακύµανσή της υπολογίζονται από τους τύπους (Breipohl 1970):
(6.2)
και
(6.3)
Αν η διάρκεια της προσοµοίωσης είναι µεγάλη ή οι µεταβολές της x πολύ συχνές,
είναι δυνατόν ο όγκος των δεδοµένων αυτών να είναι τεράστιος. Αυτό, όµως, δεν
αποτελεί ιδιαίτερο πρόβληµα, γιατί τα αθροίσµατα των παραπάνω τύπων µπορούν
να υπολογίζονται κάθε φορά που αλλάζει η τιµή του x. Αν η τρέχουσα τιµή του
αθροίσµατος είναι SUMX, η νέα τιµή υπολογίζεται από την έκφραση:
SUMX=SUMX+xoldTold
όπου xold είναι η προηγούµενη τιµή της παρατηρούµενης ποσότητας και Told το χρο-
νικό διάστηµα που µόλις τελείωσε. Ο υπολογισµός αυτός είναι δυνατός για τα αθροί-
σµατα που περιλαµβάνουν µόνο εκφράσεις των µεταβλητών και όχι συγκεντρωτι-
κές τιµές τους, όπως ο µέσος όρος ή κάποια άλλη ροπή.
s x j j
j
n
j j
j
n
E x xT
x TT
x T2 2 2 2
1 1
2
1 1= - = -È
ÎÍÍ
ù
ûúú= =
 Â[ ]
xT
x Tj j
j
n
==
Â1
1
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.4
Ποια από τα παρακάτω στατιστικά δεδοµένα είναι ανεξάρτητα από το χρόνο και
ποια εξαρτηµένα;
α) Το µέσο µήκος ουράς σε µια τράπεζα
β) Το µέγιστο µήκος ουράς σε µια τράπεζα
γ) Ο αριθµός των περιπτώσεων, κατά τις οποίες ο πελάτης µιας τράπεζας βρήκε
την ουρά άδεια και προχώρησε κατ’ ευθείαν στο ταµείο.
δ) Το µέγιστο µέγεθος πλοίου που έρχεται προς εξυπηρέτηση σε ένα λιµάνι.
¢Ú·ÛÙËÚÈfiÙËÙ· 6.1
Έστω ότι µία παρατηρούµενη ποσότητα παίρνει τις τιµές που φαίνονται στο διά-
γραµµα του Σχήµατος 6.4. Υπολογίστε τη µέση τιµή και τυπική απόκλιση της
ποσότητας αυτής.
6.4 ™Ù·ÙÈÛÙÈ΋ ·Ó¿Ï˘ÛË ÙˆÓ ·ÔÙÂÏÂÛÌ¿ÙˆÓ
Τα αποτελέσµατα της προσοµοίωσης εξαρτώνται όχι µόνο από τις παραµέτρους του
µοντέλου, όπως θα έπρεπε, αλλά και από δύο ανεπιθύµητους παράγοντες. Τις αρχι-
κές συνθήκες, που µπορεί να µην ανταποκρίνονται πάντα σε πραγµατικές συνθήκες,
και τη σειρά των τυχαίων αριθµών που χρησιµοποιείται.
Υπάρχουν τρεις κυρίως µέθοδοι που χρησιµοποιούνται για τη συλλογή ανεξαρτή-
των παρατηρήσεων από ένα µοντέλο προσοµοίωσης: η µέθοδος των επαναλήψεων,
η µέθοδος των µέσων όρων παρτίδων και η µέθοδος της αναγέννησης (Law 1991).
Σε µοντέλο προσοµοίωσης σταθερής κατάστασης µπορεί να χρησιµοποιηθούν και
οι τρεις αυτές µέθοδοι. Αντίθετα, σε τερµατιζόµενη προσοµοίωση χρησιµοποιείται
κυρίως η µέθοδος των επαναλήψεων για τη συλλογή των παρατηρήσεων.
6.4.1 ª¤ıÔ‰Ô˜ ÙˆÓ Â·Ó·Ï‹„ˆÓ
Κατά τη µέθοδο αυτή, η προσοµοίωση επαναλαµβάνεται πολλές φορές µε τις ίδιες
αρχικές συνθήκες. Κάθε φορά όµως χρησιµοποιείται διαφορετική σειρά τυχαίων
αριθµών (διαφορετική γεννήτρια ή διαφορετικό σπόρο) έτσι ώστε να είναι ανεξάρ-
τητες οι παρατηρήσεις των επαναλήψεων. Στο Σχήµα 6.5 φαίνεται διαγραµµατικά ο
τρόπος συλλογής των παρατηρήσεων και οι παράµετροι της µεθόδου.
2 0 36 . 4 ™ ∆∞∆ π ™ ∆ π ∫ ∏ ∞ ¡ ∞ § À ™ ∏ ∆ ø ¡ ∞ ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
™¯‹Ì· 6.4
Χρονικό
διάγραµµα τιµών
µιας παρατηρού-
µενης ποσότητας
x
10
6
13
98
11
0 6 10 16 23 28 35 t
n παρατηρήσεις
µίαr
επανάληψη
m0 m0 m
™¯‹Ì· 6.5
∆ιάγραµµα
επαναλήψεων
Ορίζονται οι παρακάτω παράµετροι:
n = συνολικός αριθµός παρατηρήσεων
2 0 4 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
k = αριθµός ανεξάρτητων εκτελέσεων της προσοµοίωσης (επαναλήψεων)
m = αριθµός παρατηρήσεων σε σταθερή κατάσταση
m0 = αριθµός παρατηρήσεων που διαγράφονται γιατί ανήκουν στη µεταβατική φάση
xij = η j παρατήρηση της i επανάληψης σε σταθερή κατάσταση
Ri = µέσος όρος των παρατηρήσεων της i επανάληψης σε σταθερή κατάσταση
Από τους ορισµούς αυτούς συνάγεται αµέσως ότι τα n, k, m, και m0 συνδέονται µε
το σχέση:
(6.4)
Για κάθε επανάληψη, ο µέσος όρος των παρατηρήσεων δίνεται από τη σχέση:
(6.5)
Εποµένως, ο µέσος όρος των παρατηρήσεων για όλες τις επαναλήψεις, ο οποίος είναι
και η αναµενόµενη τιµή της παρατηρούµενης ποσότητας, υπολογίζεται ως ο µέσος
όρος όλων αυτών των µέσων όρων:
(6.6)
Τα Ri θεωρείται ότι είναι ανεξάρτητα γιατί προέρχονται από ανεξάρτητες εκτελέσεις
της προσοµοίωσης (Kleinjnen 1974). Θεωρώντας επίσης ότι ακολουθούν κανονική
κατανοµή ως παρατηρήσεις της ίδιας ποσότητας, υπολογίζεται η διασπορά της παρα-
τηρούµενης ποσότητας από τον τύπο:
(6.7)
Το 100(1–γ)% διάστηµα εµπιστοσύνης για το µέσο όρο του πληθυσµό της παρατη-
ρούµενης ποσότητας είναι:
(6.8)
όπου tγ/2, k–1είναι το άνω γ/2 ποσοστιαίο σηµείο της κατανοµής t µε k–1 βαθµούς ελευ-
θερίας. Εποµένως, υπάρχει βεβαιότητα κατά 100(1–γ)% ότι το διάστηµα που δίνε-
ται από την (6.8) θα περιέχει τον πραγµατικό µέσο όρο του πληθυσµού της παρατη-
ρούµενης ποσότητας. Το διάστηµα δηλαδή της (6.8) είναι κατά 100(1–γ)% αξιόπι-
στο ή διαφορετικά αναµένεται να είναι σωστό στις 100(1–γ)% των περιπτώσεων.
Rk
t Rk
tk k- +ÈÎÍ
ùûú
- -s s
g g/ , / ,,2 1 2 1
s 2 2
1
11
=-
-=
ÂkR Ri
i
k
( )
Rk
Ri
i
k
==
Â1
1
Rm
xi ij
j
m
==
Â1
1
n k m m= +( )0
6.4.2 ª¤ıÔ‰Ô˜ ÙˆÓ Ì¤ÛˆÓ ·ÚÙ›‰ˆÓ
Κατά τη µέθοδο αυτή εκτελείται η προσοµοίωση µία µόνο φορά, αλλά υποδιαιρεί-
ται σε παρτίδες παρατηρήσεων οι οποίες υποτίθεται ότι είναι ανεξάρτητες η µία από
την άλλη. Στο Σχήµα 6.6 φαίνεται διαγραµµατικά ο τρόπος συλλογής των παρατη-
ρήσεων και οι παράµετροι αυτής της µεθόδου.
Με τον ίδιο τρόπο όπως και προηγουµένως ορίζονται οι παράµετροι:
n = συνολικός αριθµός παρατηρήσεων
k = ο αριθµός των παρτίδων, στις οποίες χωρίζεται η προσοµοίωση
m = αριθµός παρατηρήσεων σε κάθε παρτίδα
m0 = αριθµός παρατηρήσεων που διαγράφονται γιατί ανήκουν στη µεταβατική φάση
xij = η j παρατήρηση της i παρτίδας σε σταθερή κατάσταση
Bi = µέσος όρος των παρατηρήσεων της i παρτίδας
2 0 56 . 4 ™ ∆∞∆ π ™ ∆ π ∫ ∏ ∞ ¡ ∞ § À ™ ∏ ∆ ø ¡ ∞ ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
n παρατηρήσεις
m0 m m
B1 B2 B3 Bk
™¯‹Ì· 6.6
∆ιάγραµµα µέσων
παρτίδων
Από τους ορισµούς αυτούς συνάγεται αµέσως ότι τα n, k, m, και m0 συνδέονται µε
το σχέση:
(6.9)
Αν το m είναι αρκετά µεγάλο, τότε τα Bi είναι ασυσχέτιστα, κανονικά κατανεµηµέ-
να και ανεξάρτητα µεταξύ τους. Για κάθε παρτίδα, ο µέσος όρος των παρατηρήσε-
ων δίνεται από τη σχέση:
(6.10)
Εποµένως, ο µέσος όρος των παρατηρήσεων για όλες τις παρτίδες, ο οποίος είναι
Bm
xi ij
j
m
==
Â1
1
n km m= + 0
2 0 6 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
και η αναµενόµενη τιµή της παρατηρούµενης ποσότητας, υπολογίζεται ως ο µέσος
όρος όλων αυτών των µέσων όρων:
(6.11)
Επειδή τα Bi θεωρήθηκε ότι είναι ανεξάρτητα και ακολουθούν κανονική κατανοµή,
µπορεί να υπολογισθεί η διασπορά της παρατηρούµενης ποσότητας από τον τύπο:
(6.12)
Το 100(1–γ)% διάστηµα εµπιστοσύνης για το µέσο όρο του πληθυσµό της παρατη-
ρούµενης ποσότητας είναι:
(6.13)
όπως και προηγουµένως.
6.4.3 ª¤ıÔ‰Ô˜ Ù˘ ·Ó·Á¤ÓÓËÛ˘
Κατά τη µέθοδο της αναγέννησης, η εκτέλεση της προσοµοίωσης διαιρείται σε µια
σειρά διαδοχικών, µη επικαλυπτόµενων κύκλων, έτσι ώστε το προσοµοιούµενο
µοντέλο να περνά από την ίδια κατάσταση (που ονοµάζεται σηµείο αναγέννησης)
όταν περνά από κύκλο σε κύκλο. Το διάγραµµα της µεθόδου αυτής δίνεται στο
Σχήµα 6.7.
Bk
t Bk
tk k- +ÈÎÍ
ùûú
- -s s
g g/ , / ,,2 1 2 1
s 2 2
1
11
=-
-=
ÂkB Bi
i
k
( )
Bk
Bi
i
k
==
Â1
1
σηµείοr
αναγέννησης
κύκλος αναγέννησης κύκλοςr
αναγέννησης
κύκλοςr
αναγέννησης
™¯‹Ì· 6.7
∆ιάγραµµα
αναγέννησης
Γενικά, κάθε κύκλος θα έχει διαφορετικό αριθµό παρατηρήσεων, γιατί δεν παρεµ-
βάλλεται πάντα ο ίδιος αριθµός παρατηρήσεων ανάµεσα στα σηµεία αναγέννησης.
Παραδείγµατα σηµείων αναγέννησης είναι τα εξής:
• Ο εξυπηρετητής είναι αδρανής.
• N πελάτες βρίσκονται στο σύστηµα ή στην ουρά.
• Το απόθεµα της αποθήκης είναι 0, κτλ.
Επειδή το σύστηµα περνά πάντα από το ίδιο σηµείο ανάµεσα στους κύκλους, µπο-
ρεί να θεωρηθεί ότι σε κάθε κύκλο οι παρατηρήσεις της ποσότητας που ενδιαφέρει
είναι ανεξάρτητες από τις παρατηρήσεις στους άλλους κύκλους.
2 0 76 . 4 ™ ∆∞∆ π ™ ∆ π ∫ ∏ ∞ ¡ ∞ § À ™ ∏ ∆ ø ¡ ∞ ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.5
Ποιο από τα παρακάτω συστήµατα προσφέρεται για προσοµοίωση µε τη µέθοδο
της αναγέννησης και ποιο όχι;
α) Μια διασταύρωση µε φωτεινούς σηµατοδότες.
β) Ένα εργοστάσιο αυτόµατων µηχανών όπου ένας τεχνίτης επισκευάζει τις µηχα-
νές που χαλάνε κατά τη διάρκεια της ηµέρας.
γ) Μια τράπεζα µε λίγους πελάτες.
δ) Μια τράπεζα µε πολλούς πελάτες.
ÕÛÎËÛË ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘ 6.6
Για την καλύτερη σύγκριση των µεθόδων της επανάληψης και των µέσων
παρτίδων, σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες
λάθος:
Σωστό Λάθος
α) Η µέθοδος των επαναλήψεων είναι πιο γρήγορη από
τη µέθοδο των µέσων παρτίδων
β) Η µέθοδος των επαναλήψεων δίνει πιο αξιόπιστα
(ανεξάρτητα) δεδοµένα από τη µέθοδο των µέσων
παρτίδων
γ) Η µέθοδος των επαναλήψεων προσφέρεται
περισσότερο για παράλληλη επεξεργασία από τη
µέθοδο των µέσων παρτίδων
2 0 8 K E º A § A I O 6 : A ¡ ∞ § À ™ ∏ A ¶ √ ∆ ∂ § ∂ ™ ª ∞∆ ø ¡
™‡ÓÔ„Ë
Τα αποτελέσµατα της προσοµοίωσης θα πρέπει να γίνουν αποδεκτά από τον τελικό
αποδέκτη, ο οποίος θα λάβει κάποιες αποφάσεις βασισµένος σ’ αυτά. Για τον λόγο
αυτό, τα αποτελέσµατα θα πρέπει να είναι όσο πιο αξιόπιστα γίνεται. Όπως αναφέρ-
θηκε στο κεφάλαιο 5, κατά την προσοµοίωση στοχαστικών µοντέλων χρησιµοποιού-
νται τυχαία δείγµατα, προερχόµενα από ψευδοτυχαίους αριθµούς, τα οποία ακολου-
θούν συγκεκριµένες κατανοµές. Αν και λαµβάνεται κάθε µέριµνα τα δείγµατα να ακο-
λουθούν όντως τις προκαθορισµένες κατανοµές, η ύπαρξη και µόνο της τυχαιότητας
προκαλεί κάποιες επιφυλάξεις στον τελικό αποδέκτη. Για τον λόγο αυτό, τόσο η δια-
δικασία της προσοµοίωσης όσο και τα αποτελέσµατα αυτής της διαδικασίας θα πρέ-
πει να προσεγγίζονται µε µεγάλη προσοχή. Στόχος του αναλυτή είναι να ελαχιστο-
ποιήσει τις επιφυλάξεις, χρησιµοποιώντας στατιστικές µεθόδους που αυξάνουν την
εµπιστοσύνη στα αποτελέσµατα. Στο κεφάλαιο αυτό είδαµε αυτές ακριβώς τις µεθό-
δους, που αυξάνουν τον αριθµό των ανεξάρτητων δειγµάτων, αυξάνοντας έτσι την
εµπιστοσύνη στα στατιστικά αποτελέσµατα.
Οι στατιστικές µέθοδοι που εφαρµόζονται εξαρτώνται από τον τύπο της προσοµοίω-
σης (τερµατιζόµενης ή σταθερής κατάστασης). Η διάκριση των τύπων αυτών και ο
ορισµός τους δίνονται στην ενότητα 6.1. Ανάλογα µε τον τύπο της προσοµοίωσης, η
συγκέντρωση στατιστικών αποτελεσµάτων θα πρέπει να γίνεται σε συγκεκριµένη φάση
της προσοµοίωσης. Έτσι, στην ενότητα 6.2 προσδιορίζονται οι φάσεις της προσο-
µοίωσης και οι µέθοδοι αναγνώρισής τους, ενώ οι. µέθοδοι συλλογής των στατιστι-
κών δεδοµένων ανάλογα µε τον τύπο τους παρουσιάζονται στην ενότητα 6.3. Μετά
τη συλλογή των δεδοµένων, ακολουθεί η στατιστική τους ανάλυση και η εξαγωγή στα-
τιστικών στοιχείων. Οι µέθοδοι της στατιστικής ανάλυσης και ο υπολογισµός κριτη-
ρίων αξιοπιστίας των αποτελεσµάτων δίνονται στην ενότητα 6.4.
µÈ‚ÏÈÔÁÚ·ÊÈΤ˜ ∞Ó·ÊÔÚ¤˜
1. A.M. Breipohl, Probabilistic Systems Analysis, Wiley, New York, 1970.
2. J. P. C. Kleinjnen. Statistical Techniques in Simulation, Part 1, Marcel Dekker,
New York, NY, 1974.
3. A.M. Law, W.D. Kelton, Simulation Modeling and Analysis, 2nd ed.,
McGraw–Hill, New–York, 1991.
4. M. Pidd, Computer Simulation in Management Science, 3η έκδοση, Wiley, 1992.
5. ∆.Π. Ψωϊνός, Εφαρµοσµένη στατιστική, Ζήτης, Θεσσαλονίκη 1992.
2 0 9µ π µ § π √ ° ƒ∞ º π ∫ ∂ ™ ∞ ¡ ∞ º √ ƒ ∂ ™
∞·ÓÙ‹ÛÂȘ ∞Û΋ÛÂˆÓ ∞˘ÙÔ·ÍÈÔÏfiÁËÛ˘
1.1
α) Αν απαντήσατε προσοµοίωση, έχετε δίκιο. Παίζοντας σε έναν ηλεκτρονικό υπολο-
γιστή δεν είναι δυνατό να νοµίζουµε ότι οδηγούµε κάποιο πραγµατικό αυτοκίνητο!
β) Αν απαντήσατε εξοµοίωση, µπράβο! Πράγµατι, µε τα προγράµµατα αυτά, που
ονοµάζονται εξοµοιωτές ROM, έχουµε την εντύπωση ότι τρέχουµε τα παιχνίδια
σε ένα Nintento. Άν απαντήσατε προσοµοίωση µην ανησυχείτε, το λάθος σας
είναι πολύ συνηθισµένο και βασίζεται στην υπόθεση ότι το πρόγραµµα για τον
IBM συµβατό προσοµοιώνει τη λειτουργία του Nintento. Να έχετε όµως πάντα
υπ’ όψη σας ότι ο σκοπός χρήσης είναι πολύ σηµαντικός για τη διάκριση προ-
σοµοίωσης από εξοµοίωση. Στην περίπτωση αυτή ο σκοπός είναι να χρησιµο-
ποιήσουµε το σύστηµα Nintento.
γ) Στην περίπτωση αυτή και οι δύο απαντήσεις είναι σωστές (!), ανάλογα µε τι θεω-
ρήσατε ως πιο σηµαντικό στοιχείο του συστήµατος. Αν δεχθήκατε ότι σκοπός
ήταν η µελέτη της πρόσκρουσης και ότι στη θέση του ανθρώπου τοποθετείτε κού-
κλα η οποία δεν πεθαίνει, τότε απαντήσατε προσοµοίωση. Αν δεχθήκατε ότι η
πρόσκρουση είναι πραγµατική και το αυτοκίνητο πράγµατι παραµορφώθηκε όπως
σε µια κανονική πρόσκρουση, τότε απαντήσατε εξοµοίωση. Στην πραγµατικό-
τητα πρόκειται για συνδυασµό και των δύο.
δ) Ο σκοπός της χρήσης αεροτοµών είναι βελτιώσουµε την πρόσφυση του αυτοκι-
νήτου και να το κάνουµε να συµπεριφέρεται σαν ένα «σπορ» αυτοκίνητο. Πρό-
κειται δηλαδή για εξοµοίωση ενός σπορ αυτοκινήτου.
1.2
α) Αν απαντήσατε το (α), µάλλον θα πρέπει να ξαναδιαβάσετε το κεφάλαιο αυτό γιατί
σχεδόν κανένα από τα χαρακτηριστικά που αναφέρονται δεν εµφανίζεται στο
σύστηµα του κουρείου. ∆εν είναι δυνατόν να είναι κλειστό γιατί οι πελάτες έρχο-
νται από το περιβάλλον του συστήµατος, δεν είναι δυνατόν να είναι προσδιορι-
σµένο γιατί οι χρόνοι άφιξης των πελατών είναι τυχαίοι, και δεν είναι δυνατόν να
είναι προσαρµοζόµενο γιατί η λειτουργία του δεν εξαρτάται από το τι συµβαίνει
στο περιβάλλον του. Μην απελπίζεστε όµως, πολλές από τις έννοιες του κεφα-
λαίου αυτού είναι καινούργιες και δεν είναι εύκολο να τις συνδυάσετε αµέσως.
β) Αν απαντήσατε το (β), συγχαρητήρια! Το σύστηµα είναι πράγµατι διακριτό γιατί
η κατάσταση του αλλάζει σε συγκεκριµένες χρονικές στιγµές, είναι στοχαστικό
2 1 2 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
γιατί οι αφίξεις των πελατών (ακόµη και το κούρεµα) εξαρτώνται από τυχαίους
παράγοντες, είναι ανοικτό γιατί οι πελάτες εισέρχονται στο σύστηµα από το περι-
βάλλον, και είναι µη προσαρµοζόµενο, γιατί δεν αντιδρά σε αλλαγές του περι-
βάλλοντος.
γ) Αν απαντήσατε το (γ), δεν είστε µακριά από τη σωστή απάντηση. Το σύστηµα
είναι στοχαστικό (βλ. Απάντηση β) και ίσως δεχθήκατε ότι είναι συνεχές γιατί ο
κουρέας κόβει συνεχώς τα µαλλιά του πελάτη. Θα έπρεπε, όµως, να αποφύγετε
την απάντηση αυτή γιατί το σύστηµα δεν είναι κλειστό.
δ) Αν απαντήσατε (δ), έχετε κατά 90% δίκιο. Το σύστηµα είναι πράγµατι διακριτό,
µη προσαρµοζόµενο και ανοικτό. ∆εν µπορεί όµως να θεωρηθεί προσδιορισµέ-
νο γιατί κάποιες δραστηριότητες εξαρτώνται από τυχαίους παράγοντες (βλ. απά-
ντηση α) και β).
1.3
Συµπληρώστε τα κενά στις παρακάτω προτάσεις:
α) Η σωστή απάντηση είναι αριθµητικό δυναµικό µαθηµατικό µοντέλο. Για την απά-
ντηση αυτή θα έπρεπε να σας βοηθήσει το γεγονός ότι η παραγωγή τυχαίων αριθ-
µών χρησιµοποιείται κατ’ εξοχήν στην προσοµοίωση, η οποία χρησιµοποιείται
για τη µελέτη αυτού του τύπου µοντέλων. Αν απαντήσατε και προσδιορισµένο,
µπράβο! Είχατε την οξυδέρκεια να παρατηρήσετε ότι αυτό είναι ένα παράδειγµα
προσδιορισµένου µοντέλου για στοχαστικό σύστηµα.
β) Ο αριθµός των ταµείων σε µια τράπεζα είναι χαρακτηριστικό του συστήµατος.
Ακόµη πιο σωστό είναι να παρατηρήσετε ότι αυτό αποτελεί παράµετρο του
συστήµατος, αφού οι παράµετροι δεν είναι αποκλειστικότητα των µηχανολογι-
κών µοντέλων. Αν απαντήσατε µεταβλητή του συστήµατος, θα πρέπει να σκε-
φθείτε ότι ο αριθµός των ταµείων σε µια τράπεζα δεν µεταβάλλεται.
γ) Κατά την ανάλυση ενός συστήµατος µε µοντελοποίηση, εξάγεται συµπέρασµα
για τις εξόδους του συστήµατος από τις εξόδους του µοντέλου. Πράγµατι, αυτός
είναι ο σκοπός της ανάλυσης.
δ) Η σωστή απάντηση στην ερώτηση αυτό είναι αριθµητικό. Θα µπορούσατε βεβαί-
ως, να δώσετε και την απάντηση φυσικό, αν και η απάντηση αυτή δεν είναι προ-
φανής από το διάγραµµα 1.9. ∆εν θα µπορούσατε όµως να απαντήσετε στατικό
ή δυναµικό γιατί οι τύποι αυτοί των µοντέλων µπορεί να είναι είτε αναλυτικοί
είτε αριθµητικοί.
1.4
Σηµειώστε ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος:
α) Αν απαντήσατε Λάθος, µπράβο! Πράγµατι µπορούµε να συλλέξουµε αριθµητι-
κά δεδοµένα από αναλυτικές εξισώσεις, υπολογίζοντας τις τιµές των συναρτή-
σεων για διάφορες τιµές των µεταβλητών. Αν απαντήσατε σωστό, µην ανησυ-
χείτε. Όταν έχουµε διαθέσιµες τις εξισώσεις, δε χρειάζεται συχνά να συλλέξου-
µε αριθµητικά δεδοµένα.
β) Στην ερώτηση αυτή θα πρέπει να απαντήσετε λάθος. Φαίνεται καθαρά στο διά-
γραµµα 1.9 ότι ένα µαθηµατικό µοντέλο µπορεί να είναι και δυναµικό.
γ) Η εξίσωση αυτή είναι δευτέρου βαθµού και εποµένως, µη γραµµική. Αν απα-
ντήσατε γραµµική, θα πρέπει να ξαναθυµηθείτε τη φυσική του Λυκείου.
δ) Αν απαντήσατε «Λάθος», έχετε δίκιο, γιατί κατά τη σύνθεση ενός συστήµατος
χρησιµοποιούµε το µοντέλο για να εξάγουµε συµπεράσµατα για τη δοµή του
συστήµατος και όχι του µοντέλου.
1.5
Οι λόγοι είναι Εκτίµηση, Σύγκριση, Πρόβλεψη, Ανάλυση Ευαισθησίας, Βελτι-
στοποίηση και προσδιορισµός των Λειτουργικών σχέσεων. Αν δεν µπορείτε να
θυµηθείτε τρεις από αυτούς ξαναδιαβάστε την ενότητα 1.4.
1.6
α) Αν απαντήσατε «Σωστό», έχετε δίκιο. Πράγµατι, όπως αναφέρθηκε και στην ενό-
τητα 1.3.1, τα γραµµικά µοντέλα είναι πια απλά από τα µη γραµµικά. Αν απαντή-
σατε «Λάθος», µην ανησυχείτε γιατί η γραµµικότητα ενός µοντέλου δεν είναι απα-
ραίτητη προϋπόθεση για να είναι αυτό απλό.
β) Στην ερώτηση αυτή θα πρέπει να απαντήσατε «Σωστό». Πράγµατι, η δεύτερη
παράγραφός της ενότητας 1.4.1 είναι: «Όλα τα µοντέλα προσοµοίωσης είναι περι-
γραφικά µοντέλα».
γ) Εδώ η σωστή απάντηση είναι «Λάθος» γιατί ένα καλό µοντέλο θα πρέπει να επι-
δέχεται τροποποίηση. Αν δεν απαντήσατε σωστά, ξαναδιαβάστε την ενότητα 1.4.3.
δ) Η σωστή απάντηση είναι «Λάθος». Για παράδειγµα, το «exit poll» που γίνεται
στις εκλογές είναι προσοµοίωση των εκλογών, αλλά χωρίς υπολογιστή. Αν απαντή-
σατε «Σωστό», δεν κάνετε µεγάλο λάθος γιατί θα µπορούσαµε να πούµε ότι το 99%
των προσοµοιώσεων γίνεται µε τη βοήθεια ηλεκτρονικού υπολογιστή.
2 1 3∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 1 4 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
1.7
Ο προσοµοιωτής αυτός θα πρέπει να δείχνει συνεχώς την πορεία και την κίνηση του
αεροπλάνου, όπως και τις ενδείξεις των οργάνων, και να ανταποκρίνεται συνεχώς
στους χειρισµούς του χρήστη. Εποµένως, θα πρέπει να χρησιµοποιήσουµε µηχανι-
σµό σταθερού διαστήµατος, όπου το διάστηµα θα αντιστοιχεί περίπου σε 1/10 ή 1/20
του δευτερολέπτου, έτσι ώστε η κίνηση να φαίνεται συνεχής.
2.1
α) Αν απαντήσατε ότι ο αριθµός των υπαλλήλων πρέπει να είναι ανάλογος των υπο-
καταστηµάτων, έχετε µερικώς δίκιο. Πράγµατι, κάθε υποκατάστηµα τράπεζας
χρειάζεται έναν ελάχιστο αριθµό υπαλλήλων για να λειτουργήσει. ∆εχόµενοι
όµως την πρόταση αυτή, υποθέτετε ότι θα ανοίξουν πολλά υποκαταστήµατα, και
εποµένως, οι πελάτες θα µοιράζονται σ’ αυτά µε τρόπο ώστε να µην υπερφορ-
τώνονται µε τον ελάχιστο αριθµό υπαλλήλων. Η λύση αυτή, όµως, είναι πιθανό-
τατα αντιοικονοµική για την τράπεζα, επειδή προϋποθέτει τη συντήρηση και στε-
λέχωση πολλών υποκαταστηµάτων.
β) Αν απαντήσατε ότι ο αριθµός των υπαλλήλων πρέπει να είναι ανάλογος των πελα-
τών, µπράβο! Ο αριθµός των υποκαταστηµάτων που θα ανοίξουν, δεν είναι προ-
καθορισµένος αλλά αποτελεί µεταβλητή του προβλήµατος. Αν καθορισθεί ο αριθ-
µός των υπαλλήλων που χρειάζονται σε σχέση µε τους προβλεπόµενους πελάτες,
µπορεί κατόπιν να υπολογισθεί και ο αριθµός των απαιτούµενων υποκαταστη-
µάτων λαµβάνοντας υπ’ όψιν τον αριθµό υπαλλήλων που απαιτούνται για ένα
µέσο υποκατάστηµα.
γ) Αν απαντήσατε το (γ), έχετε µερικώς δίκιο. Πρέπει µάλλον να σκεφθήκατε ότι ο
αριθµός των υποκαταστηµάτων είναι προκαθορισµένος, ή έστω µπορεί να υπο-
λογισθεί µε κάποια άλλη µέθοδο. Στην περίπτωση αυτή χρειάζεται ένας ελάχι-
στος αριθµός υπαλλήλων για κάθε υποκατάστηµα, συν ένας επιπλέον αριθµός
υπαλλήλων ανάλογα µε τον αριθµό των πελατών. Αν όµως λάβετε υπ’ όψιν σας
ότι ο αριθµός των υποκαταστηµάτων θα πρέπει να είναι ανάλογος µε τον αριθµό
των πελατών, τότε καταλήγετε στη λύση (β) που είναι και η σωστή.
2.2
Αν και είναι δυνατό να διαπιστώσουµε τη σχέση των παραµέτρων k2 και l2 από τις
κλίσεις των ευθειών προσφοράς και ζήτησης των διαγραµµάτων, είναι ασφαλέστε-
ρο να χρησιµοποιήσουµε τις εξισώσεις (2.1) και (2.2). Ξεκινώντας από κάποια αρχι-
κή τιµή
υπολογίζουµε τα Q0 και Q2 από τις εξισώσεις (2.1) και (2.2):
και
Αν θέσουµε ως άγνωστη (µε το σύµβολο ?) τη σχέση µεταξύ των Q2 και Q0 (δηλα-
δή Q2?Q0), καταλήγουµε στη σχέση:
Είναι προφανές ότι αν k2 = l2, και τα δύο µέλη της σχέσης είναι 0 και εποµένως Q2 = Q0.
Αν k2 > l2, τότε διαιρώντας και τα δύο µέλη της σχέσης µε (k2–l2)(k2+l2) παίρνουµε:
η οποία είναι ίδια µε την υπόθεσή µας, αν αντιστοιχίσουµε το ? µε >. Εποµένως, Q2
> Q0. Αν, τέλος, k2 < l2, διαιρώντας και τα δύο µέλη της σχέσης µε (k2–l2)(k2+l2), η
τυχόν ανισότητα αλλάζει φορά και παίρνουµε:
η οποία είναι ίδια µε την υπόθεσή µας, αν αντιστοιχίσουµε το ? µε <. Εποµένως, Q2
< Q0.
Επειδή η σχέση των Q2 και Q0 καθορίζει και την ισορροπία του συστήµατος, κατα-
λήγουµε στις αντιστοιχίες:
(α)~(2)
(β)~(1)
(γ)~(3)
2.3
Ο πιο εύκολος τρόπος να δώσετε απάντηση στο πρόβληµα αυτό είναι να τρέξετε το
πρόγραµµα κρατώντας όλες τις παραµέτρους σταθερές και µεταβάλλοντας µόνο το
m. Μπορείτε όµως να οδηγηθείτε στη σωστή απάντηση σκεφτόµενοι την επίδραση
της µάζας του σώµατος στην έλξη του ελατηρίου και την απόσβεση που προκαλεί
το υγρό. Όσο πιο µεγάλη είναι η µάζα του σώµατος, τόσο πιο δύσκολα µπορεί να τη
k l
k lP1 1
2 20
-+
?
Pk l
k l01 1
2 2
?-+
k l k l P k l k l2 2 2 2 0 2 2 1 1-( ) +( ) -( ) -( )?
Q ll
kk l l P2 1
2
21 1 2 0= + - -( )
Q k k P0 1 2 0= -
Pk l
k l01 1
2 2
> -+
2 1 5∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 1 6 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
µετακινήσει το ελατήριο, δίνοντάς του µεγάλη επιτάχυνση. Εποµένως, µια αύξηση
της µάζας θα έχει ως αποτέλεσµα την αύξηση της περιόδου ταλαντώσεων. Το συµπέ-
ρασµα αυτό αποκλείει τις προτάσεις (α) και (δ). Αντίθετα από το ελατήριο, το σύστη-
µα απόσβεσης προσπαθεί να εµποδίσει την κίνηση του σώµατος. Όσο πιο µεγάλη
είναι η µάζα του σώµατος, τόσο πιο δύσκολα θα εµποδιστεί η κίνησή του. Εποµέ-
νως, µια αύξηση της µάζας θα έχει ως αποτέλεσµα τη µείωση του ρυθµού απόσβε-
σης. Το συµπέρασµα αυτό αποκλείει τις προτάσεις (β) και (δ). Η µόνη πρόταση που
αποµένει είναι η (γ), που είναι και η σωστή.
3.1
α) Στο ανώτερο ιεραρχικό επίπεδο των µεθοδολογιών προσοµοίωσης βρίσκεται ο
διαχειριστής. Αυτό είναι το πρόγραµµα που διαχειρίζεται το χρόνο της προσο-
µοίωσης και ελέγχει τις βασικές λειτουργίες της προσοµοίωσης ανεξάρτητα από
µεθοδολογία.
β) Οι τρεις µεθοδολογίες προσοµοίωσης διαφέρουν κυρίως ως προς το δεύτερο
ιεραρχικό επίπεδο. Σ΄ αυτό το επίπεδο γίνεται η διάκριση ανάµεσα σε στην εκτέ-
λεση γεγονότων, δραστηριοτήτων, ή διεργασιών.
γ) Τα γεγονότα ενός τµήµατος µοντέλου αποµονώνονται από τα γεγονότα ενός
άλλου τµήµατος κατά την προσοµοίωση διεργασιών. Πράγµατι, αυτή η µεθοδο-
λογία προσοµοίωσης διασπά το µοντέλο σε επί µέρους τµήµατα, προσοµοιώνο-
ντας το κάθε τµήµα χωριστά.
δ) Οι ρουτίνες τυχαίων αριθµών υλοποιούνται στο τρίτο επίπεδο ιεραρχίας των προ-
γραµµάτων προσοµοίωσης. Οι ρουτίνες αυτές δεν έχουν σχέση µε τη µεθοδολο-
γία προσοµοίωσης, αποτελώντας µόνο µια λεπτοµέρεια της υλοποίησης.
3.2
α) Αν απαντήσατε ανεξάρτητο, έχετε δίκιο. Το πότε µια µηχανή θα παρουσιάσει
βλάβη είναι ένα τυχαίο γεγονός και εποµένως δεν εξαρτάται από κάποιο άλλο.
β) Αν απαντήσατε ανεξάρτητο, µάλλον θα πρέπει να ξανασκεφθείτε το µοντέλο σας.
Η επισκευή µιας µηχανής αρχίζει όποτε παρουσιάσει βλάβη ή όποτε τελειώσει η
επισκευή µιας άλλης µηχανής. Εποµένως, το γεγονός αυτό είναι εξαρτηµένο και
αν ήταν αυτή η απάντησή σας, µπράβο!
γ) Αν απαντήσατε ανεξάρτητο, έχετε δίκιο. Το πότε θα τελειώσει η επισκευή µιας
µηχανής εξαρτάται από τυχαίους παράγοντες (το µέγεθος της βλάβης την ταχύ-
τητα του συντηρητή, κ.λπ.), αλλά όχι από κάποιο άλλο γεγονός.
δ) Αν απαντήσατε ανεξάρτητο, µάλλον θα πρέπει να ξανασκεφθείτε το µοντέλο σας,
εκτός και αν είστε εργοδότης που επιτρέπει στους υπαλλήλους του να καθίσουν
όποτε θέλουν. Κανονικά, ο συντηρητής µπορεί να καθίσει µόνο όταν τελειώσει
τη συντήρηση της τελευταίας µηχανής, που παρουσίασε βλάβη. Εποµένως, το
γεγονός αυτό είναι εξαρτηµένο και αν ήταν αυτή η απάντησή σας, µπράβο!
3.3
Τρεις από τις καταστάσεις των οντοτήτων του µοντέλου του συνεργείου είναι:
1. Μια µηχανή βρίσκεται σε λειτουργία
2. Μια µηχανή επισκευάζεται
3. Μια µηχανή περιµένει για επισκευή
Η πρώτη κατάσταση είναι ενεργός γιατί η µηχανή δεν περιµένει να συµβεί κάποιο
γεγονός. Η διάρκεια της κατάστασης µπορεί να προσδιορισθεί από δειγµατοληψία
τυχαίας κατανοµής, αν θεωρήσουµε ότι το σύστηµα είναι στοχαστικό. Αν θεωρήσα-
τε ότι η κατάσταση είναι αδρανής γιατί δεν αφορά την αλληλεπίδραση δύο οντοτή-
των, σκεφθείτε ότι αυτό δεν είναι πάντα απαραίτητο. Είναι περισσότερο σηµαντικό
να λαµβάνετε υπ’ όψιν σας πότε τελειώνει η κατάσταση µιας οντότητας.
Η δεύτερη κατάσταση είναι επίσης ενεργός γιατί αφορά την αλληλεπίδραση δύο
οντοτήτων: της µηχανής και του συντηρητή. Η διάρκειά της µπορεί επίσης να προσ-
διορισθεί από δειγµατοληψία τυχαίας κατανοµής.
Η τρίτη κατάσταση είναι αδρανής, γιατί η διάρκειά της εξαρτάται από κάποιο γεγονός,
και συγκεκριµένα, από το πότε θα τελειώσει η επισκευή της προηγούµενης µηχανής.
3.4
α) Αν απαντήσατε «λάθος», έχετε δίκιο! Πράγµατι, ο χρόνος λήξης ορίζεται ως η
τελική προθεσµία κατά την οποία µπορεί να συµβεί ένα διατµηµατικό γεγονός
και όχι ως ο χρόνος κατά τον οποίο τελειώνει µια εργασία. Αν απαντήσατε
«σωστό», ίσως σκεφθήκατε την κυριολεκτική έννοια του όρου, που όµως δεν
ισχύσει στην περίπτωση της προσοµοίωσης διεργασιών
β) Αν απαντήσατε «σωστό», θα πρέπει να σκεφθείτε ότι η σωστή µεταφορά των δια-
τµηµατικών σηµάτων από τµήµα σε τµήµα απαιτεί συγχρονισµό ανάµεσα στα
διάφορα τµήµατα του µοντέλου. Αυτό προϋποθέτει ο χρόνος να προχωρεί οµοι-
όµορφα για όλα τα τµήµατα του µοντέλου. Εποµένως, η σωστή απάντηση είναι
«λάθος».
2 1 7∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 1 8 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
γ) Αν απαντήσατε «σωστό», µπράβο! Τα διατµηµατικά σήµατα αφορούν συγκε-
κριµένες εργασίας αποστολής και παραλαβής. Αν απαντήσατε «λάθος», µην ανη-
συχείτε, διότι η απάντηση στο ερώτηµα αυτό δεν διευκρινίζεται στο σώµα της
ενότητας 3.5. Θα µπορούσατε όµως να σκεφθείτε ότι κάθε διατµηµατικό σήµα
καθορίζεται από την εργασία που το περιµένει, εποµένως αφορά αυτήν και µόνο.
δ) Αν απαντήσατε «λάθος», έχετε δίκιο. Από το διάγραµµα χρονικής αλληλουχίας
φαίνεται ότι η έναρξη κάθε διεργασίας αποτελεί ξεχωριστό γεγονός. Αυτό έπρε-
πε να σας οδηγήσει στο συµπέρασµα ότι αποτελεί ανεξάρτητο γεγονός και όχι
εξαρτηµένο από το τέλος της προηγούµενης εργασίας. Αν απαντήσατε «σωστό»,
το λάθος σας δεν είναι πολύ σηµαντικό γιατί κάθε εργασία αρχίζει µετά τη λήξη
της προηγούµενης, όχι όµως αµέσως µετά.
3.5
Τα συστατικά µέρη ενός δικτύου Petri δίνονται στην παράγραφο 3.6.1 και είναι οι
θέσεις, οι µεταβάσεις, η συνάρτηση εξόδου, και η συνάρτηση εξόδου.
3.6
α) Αν απαντήσατε «σωστό», έχετε δίκιο. Πουθενά δεν φαίνεται ότι οι θέσεις εξόδου
µιας µετάβασης θα πρέπει να είναι διαφορετικές από τις θέσεις εισόδου της. Αν
απαντήσατε «λάθος», πιθανόν να θεωρήσατε ότι οι συναρτήσεις εισόδου και εξό-
δου είναι διαφορετικές, και εποµένως, τα πεδία τιµών τους θα πρέπει να είναι δια-
φορετικά. Αυτό όµως δεν αληθεύει.
β) Αν απαντήσατε «σωστό», έχετε δίκιο κατά 90% γιατί µπορεί να θεωρήσατε τοπο-
θέτηση κουπονιών ακόµη και την τοποθέτηση µηδενικών κουπονιών σε κάποιες
θέσεις. Αν κυριολεκτήσουµε όµως, το µαρκάρισµα δεν απαιτεί τοποθέτηση κου-
πονιών σε όλες τις θέσεις. Η σωστή απάντηση, λοιπόν, είναι «λάθος».
γ) Αν απαντήσατε «σωστό», µπράβο! Η πυροδότηση µιας µετάβασης αφαιρεί ένα
κουπόνι µόνο από τις θέσεις εισόδου της. Εποµένως, θα παραµείνει τουλάχιστον
ένα κουπόνι σε κάθε θέση εισόδου της µετάβασης που πυροδοτήθηκε, και κάθε
άλλη µετάβαση που ήταν ενεργοποιηµένη πριν την πυροδότηση, θα παραµείνει
ενεργοποιηµένη. ∆εν είναι λοιπόν δυνατό να έχουµε σύγκρουση. Αν απαντήσα-
τε «λάθος», σκεφθείτε ότι σύγκρουση σηµαίνει απενεργοποίηση µιας µετάβασης,
όταν πυροδοτηθεί κάποια άλλη.
δ) Αν απαντήσατε «λάθος», έχετε δίκιο! Το νέο µαρκάρισµα που προκύπτει από την
πυροδότηση µιας µετάβασης δεν είναι απαραίτητα διαφορετικό από το προη-
γούµενο, γιατί µπορεί να ξανατοποθετούνται κουπόνια στις θέσεις από τις οποί-
ες αφαιρέθηκαν. Αν απαντήσατε «σωστό», ίσως δεν σκεφθήκατε ότι το µαρκά-
ρισµα ορίζεται από τον αριθµό των κουπονιών σε κάθε θέση. Αν λοιπόν δύο µαρ-
καρίσµατα έχουν τον ίδιο ακριβώς αριθµό κουπονιών σε κάθε θέση του δικτύου,
είναι ταυτόσηµα.
4.1
Οι παράγοντες που επηρεάζουν την επιλογή της γλώσσας προσοµοίωσης δίνονται
στην υποενότητα 4.1.1. Μπορείτε να αναφέρετε το κόστος απόκτησης της γλώσσας,
την ευκολία εκµάθησης, τη συµβατότητα µε υπολογιστικά συστήµατα, τις δυνατό-
τητες τεκµηρίωσης, την ευελιξία της γλώσσας κτλ. Αν δεν θυµάστε τουλάχιστον
πέντε από αυτούς του παράγοντες, ξαναδιαβάσετε την ενότητα 4.1.1.
4.2
α) Αν απαντήσατε «σωστό», έχετε δίκιο. Η ερώτηση αναφέρεται στη δυνατότητα
να πάρουµε ένα πρόγραµµα που γράψαµε σε ένα υπολογιστικό σύστηµα και να
το τρέξουµε σε άλλο. Αν υποθέσουµε ότι το σύστηµα όπου θα µεταφέρουµε το
πρόγραµµα είναι παρόµοιο µε το αρχικό σύστηµα και ότι η γλώσσα προσοµοίω-
σης παράγει εκτελέσιµο κώδικα, τότε η µεταφερσιµότητα των δύο τύπων είναι
περίπου η ίδια. Αν όµως το σύστηµα προορισµού είναι διαφορετικό από το αρχι-
κό, είναι πολύ πιο πιθανό να βρούµε µεταγλωττιστή για µια γλώσσα γενικής χρή-
σεως παρά να βρούµε τη γλώσσα προσοµοίωσης, στην οποία αναπτύξαµε το πρό-
γραµµά µας.
β) Η απάντηση στην ερώτηση αυτή δεν είναι προφανής. Αν απαντήσατε «λάθος»,
µπράβο! Αν το µοντέλο µας χρειάζεται ειδικές αριθµητικές πράξεις (π.χ. µιγαδι-
κών αριθµών), η µεγάλη ευελιξία των γλωσσών γενικής χρήσεως επιτρέπει πάντα
την κατασκευή ενός µοντέλου. Αντίθετα, η γλώσσα προσοµοίωσης πιθανόν να
µην επιτρέπει την περιγραφή πολύπλοκων διαδικασιών. Αν απαντήσατε «σωστό»,
δεν κάνετε µεγάλο λάθος γιατί ο σκοπός των γλωσσών προσοµοίωσης είναι να
διευκολύνουν την κατασκευή µοντέλων προσοµοίωσης. Εποµένως, θεωρητικά,
η κατασκευή µοντέλων είναι πιο εύκολη µε γλώσσα προσοµοίωσης. Θα πρέπει
όµως να λάβετε υπ’ όψιν σας ότι οι γλώσσες προσοµοίωσης ποτέ δεν προσφέ-
ρουν την ευελιξία εκείνη, την οποία προσφέρουν οι γλώσσες γενικής χρήσεως.
γ) Αν απαντήσατε «σωστό», έχετε δίκιο. Τα µοντέλα προσοµοίωσης είναι στην µεγά-
λη τους πλειοψηφία στοχαστικά, και για το λόγο αυτό, οι κατασκευαστές γλωσ-
σών προσοµοίωσης περιλαµβάνουν πάντα τις ευκολίες παραγωγής τυχαίων δειγ-
2 1 9∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 2 0 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
µάτων. Αν απαντήσατε «λάθος», ίσως θεωρήσατε ότι η παραγωγή τυχαίων δειγ-
µάτων δεν είναι τόσο «βασικό» χαρακτηριστικό µιας γλώσσας.
δ) Για να απαντήσετε στην ερώτηση αυτή θα πρέπει να λάβετε υπόψη σας ότι τη
γλώσσα γενικής χρήσεως που χρησιµοποιούµε την γνωρίζουµε, ενώ τη γλώσσα
προσοµοίωσης πιθανόν να χρειασθεί να τη µάθουµε. Στην περίπτωση αυτή, είναι
πάντα γρηγορότερο να κατασκευάσουµε το µοντέλο µας στη γλώσσα γενικής
χρήσεως που γνωρίζουµε καλά. Εποµένως, η σωστή απάντηση είναι «λάθος».
4.3
Η MODSIM III είναι µεταγλώσσα, παράγει, δηλαδή, πηγαίο κώδικα µιας γλώσσας
γενικής χρήσεως. Η απάντηση στο ερώτηµα αυτό δίνεται στον Πίνακα 4.1.
Οι οντότητες που κινούνται σε ένα µοντέλο GPSS ονοµάζονται δοσοληψίες. Αυτή
είναι και η βασική διαφορά της GPSS από τις άλλες γλώσσες προσοµοίωσης. Η κίνη-
ση των δοσοληψιών στο µοντέλο είναι η βασική αρχή της προσµοίωσης διεργασίας
στη GPSS.
Οι ουρές µε πεπερασµένη χωρητικότητα ονοµάζονται αποθήκες στην GPSS και το
µπλοκ εισόδου µπορεί να εµποδίσει την είσοδο. Αν απαντήσατε «Οι ουρές µε άπει-
ρη χωρητικότητα ονοµάζονται ουρές στην GPSS …», θα έπρεπε να λάβετε υπόψη
σας ότι το µπλοκ QUEUE δεν εµποδίζει ποτέ την είσοδο µιας δοσοληψίας.
Η γλώσσα προσοµοίωσης SIMULA θεωρείται ο πρόγονος του αντικειµενοστραφούς
προγραµµατισµού. Η απάντηση στο ερώτηµα αυτό δίνεται στην παράγραφο 4.1.5,
όπου αναφέρεται ότι η SIMULA ήταν η πρώτη γλώσσα που περιλάµβανε τις ιδέες
των αντικειµένων και της κληρονοµικότητας.
4.4
Το είδος της οντότητας δεν είναι απολύτως απαραίτητο, γιατί το σύστηµα είναι πολύ
πιθανό να διαθέτει οντότητες µόνο ενός είδους. Αυτό είναι αλήθεια σε πολλά συστή-
µατα, στα οποία οι οντότητες είναι πελάτες (τράπεζα, κουρείο, ταχυδροµείο κ.λπ.)
Ο χρόνος εισόδου στην ουρά είναι απολύτως απαραίτητο να κρατείται για κάθε οντό-
τητα, έτσι ώστε να µπορεί να υπολογισθεί ο συνολικός χρόνος παραµονής στην ουρά.
Ο χρόνος εξόδου από την ουρά δεν είναι δυνατόν να τοποθετείται στη δοµή δεδο-
µένων της ουράς, γιατί δεν είναι γνωστός µέχρι να βγει η οντότητα από την ουρά.
Αλλά τη στιγµή που βγαίνει η οντότητα από την ουρά έτσι κι αλλιώς αφαιρείται και
η εγγραφή της από την ουρά.
Ο αύξων αριθµός της οντότητας δεν είναι απαραίτητο να κρατείται για κάθε οντό-
τητα που εισέρχεται στην ουρά, γιατί δεν χρειάζεται για τον υπολογισµό κάποιου
στατιστικού δεδοµένου. Το πόσες οντότητες εισήλθαν ή εξήλθαν από την ουρά µπο-
ρεί να κρατείται σε µία ή δύο µεταβλητές.
Το γενικό συµπέρασµα είναι ότι για τα περισσότερα µοντέλα, το µόνο χαρακτηρι-
στικό που χρειάζεται διατηρείται για κάθε οντότητα της ουράς είναι ο χρόνος εισό-
δου της σ΄ αυτήν.
5.1
α) Αν απαντήσατε ότι ο µετρητής ραδιενέργειας παράγει τυχαίους αριθµούς, µπρά-
βο! Τα σωµατίδια, που καταµετρούνται από το µετρητή, εκπέµπονται µε πραγ-
µατικά τυχαίο τρόπο από το ραδιενεργό υλικό. Εποµένως σε κάθε δεδοµένη χρο-
νική στιγµή, τα δύο τελευταία ψηφία της µέτρησης είναι τυχαία. Αν απαντήσατε
µη τυχαίους ή ψευδοτυχαίους αριθµούς, µη στεναχωριέστε. Οι παράµετροι του
προβλήµατος είναι τέτοιοι (χρόνος ανάµεσα στις µετρήσεις, ραδιενέργεια του
υλικού), που θα µπορούσαν υπό ορισµένες προϋποθέσεις, να µην παράγονται
τυχαίοι αριθµοί.
β) Προσέξτε ότι το πρόβληµα αναφερόταν στην πληκτρολόγηση ενός βιβλίου. Αυτό
σηµαίνει ότι η δακτυλογράφος γράφει λέξεις και, εποµένως, πληκτρολογεί τα
γράµµατα των λέξεων. Είναι γνωστό ότι η συχνότητα εµφάνισης των γραµµάτων
(σε οποιαδήποτε γλώσσα) δεν είναι η ίδια. Στα Ελληνικά, η συχνότητα εµφάνι-
σης του άλφα είναι πολύ πιο µεγάλη από τη συχνότητα εµφάνισης του ψι. Επο-
µένως, οι αριθµοί που παράγονται από το πρόγραµµα δεν είναι δυνατόν να είναι
τυχαίοι, και αυτή είναι η σωστή απάντηση.
γ) Αν στην ερώτηση αυτή απαντήσατε «τυχαίοι», δεν µπορεί κανείς να σας κατη-
γορήσει ότι δεν µελετήσατε το βιβλίο, αφού αυτό ακριβώς αναφέρεται στην ενό-
τητα 5.1. Το πρόβληµα όµως τόνιζε ότι το πρόγραµµα αρχίζει τον υπολογισµό
από το πρώτο ψηφίο. Κάθε φορά λοιπόν που το πρόγραµµα εκτελείται, επανα-
λαµβάνεται η ίδια σειρά ψηφίων, γεγονός που καθιστά τη σειρά ψευδοτυχαία.
5.2
Οι ιδιότητες αυτές δίνονται στην ενότητα 5.2. Μπορείτε να αναφέρετε την επανα-
ληψιµότητα, την υψηλή ταχύτητα παραγωγής, τη µεγάλη περίοδο, την ανεξαρτησία
από hardware κ.λπ.
2 2 1∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 2 2 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
5.3
α) Η ιδιότητα της επαναληψιµότητας είναι επιθυµητή στους ψευδοτυχαίους αριθ-
µούς αλλά όχι στους πραγµατικά τυχαίους αριθµούς. Πράγµατι, αυτή είναι η µόνη
ιδιότητα των ψευδοτυχαίων αριθµών που είναι επιθυµητή.
β) Οι τυχαίοι αριθµοί είναι οµοιόµορφα κατανεµηµένοι στο διάστηµα [0,1]. Η πρότα-
ση αυτή δίνεται σχεδόν αυτούσια στην ενότητα 5.2. Αν προσθέσατε «ανεξάρτητοι
και οµοιόµορφα …», µπράβο! Αυτό δείχνει ότι δίνετε σηµασία στη λεπτοµέρεια.
γ) Από τις γεννήτριες λευκού θορύβου µπορούν να παραχθούν τυχαίοι αριθµοί. Και
αυτή η πρόταση δίνεται σχεδόν αυτούσια στην ενότητα 5.1.
δ) Η παραγωγή τυχαίων αριθµών µε ηλεκτρονικό υπολογιστή πρέπει να χαρακτη-
ρίζεται από µεγάλη ταχύτητα και µικρό αποθηκευτικό όγκο. Το δεύτερο κενό της
πρότασης θα έπρεπε να σας βοηθήσει για το πρώτο. Αν παρόλα αυτά απαντήσα-
τε «µεγάλη περίοδο», έχετε, φυσικά, επίσης δίκιο, γιατί η µεγάλη περίοδος είναι
πάντα επιθυµητή στους ψευδοτυχαίους αριθµούς.
5.4
Οι έλεγχοι αυτοί αναπτύσσονται στην ενότητα 5.4. Θα µπορούσατε να αναφέρετε
τον έλεγχο συχνότητας, τον φασµατικό έλεγχο, τον έλεγχο διαστήµατος, τον έλεγχο
συνέχειας. τον σειριακό έλεγχο, κ.λπ.
5.5
Όπως αναφέρεται στην ενότητα 5.3, οι γραµµικές ισοϋπόλοιπες γεννήτριες συµβολί-
ζονται µε LCG(a,c,m,Z0). Εποµένως, για τη γεννήτρια LCG(30,31,32,33) έχουµε a =
30, c = 31, m = 32, και Z0 = 33 και ο τύπος που αντιστοιχεί στις τιµές αυτές είναι ο (β).
5.6
α) Αν απαντήσατε το (α), µάλλον θα πρέπει να µελετήσετε θεωρία πιθανοτήτων.
Ήδη το άθροισµα των δύο πρώτων πιθανοτήτων είναι µεγαλύτερο από τη µονά-
δα, πόσο µάλλον αν προστεθούν και οι p3, p4, … Μη ξεχνάτε ότι το άθροισµα
όλων των πιθανοτήτων ενός γεγονότος είναι 1.
β) Το ίδιο µε το (α) ισχύει και για το (β). Το άθροισµα των δύο πρώτων πιθανοτή-
των είναι 1. Τι θα γίνει αν προσθέσουµε και τις p3, p4…;
γ) Αν απαντήσατε το (γ), µπράβο! Οι γνώσεις σας στις πιθανότητες είναι πολύ καλές.
Θα έπρεπε να σκεφθείτε ότι αφού ο µέσος όρος των τυχαίων αριθµών είναι 0.5,
δηλαδή στο µέσο του διαστήµατος [0,1], οι αριθµοί έχουν την ίδια πιθανότητα
να βρίσκονται πάνω ή κάτω από αυτόν. Αν λοιπόν υποθέσουµε ότι κάποιος αριθ-
µός εµφανίσθηκε στο ένα διάστηµα, ο επόµενος αριθµός έχει 50% πιθανότητα
να εµφανισθεί στο ίδιο διάστηµα και 50% πιθανότητα να εµφανισθεί στο άλλο.
∆εδοµένου ότι ο πρώτος αριθµός µπορεί να είναι σε οποιοδήποτε από τα δύο δια-
στήµατα, η πιθανότητα να έχουµε σειρά (συνέχεια) ενός αριθµού είναι 0.5. Αντί-
στοιχα, η πιθανότητα για συνέχεια δύο αριθµών είναι (πιθανότητα του δεύτερου
αριθµού στο ίδιο διάστηµα µε τον πρώτο) Χ (πιθανότητα του τρίτου αριθµού στο
άλλο διάστηµα) ή 0.5 ¥ 0.5 = 0.25. Με τον ίδιο τρόπο µπορούµε να υπολογίσου-
µε ότι pi = 0.5i.
δ) Η επιλογή του (δ) είναι µάλλον απίθανη. Αν παρόλα αυτά την κάνατε, µη στεναχω-
ριέστε. Το γεγονός ότι οι τυχαίοι αριθµοί είναι οµοιόµορφα κατανεµηµένοι στο [0,1]
ίσως σας οδήγησε στη σκέψη ότι οι συνέχειες πρέπει να έχουν τις ίδιες πιθανότητες.
5.7
α) Η µέθοδος του αντίστροφου µετασχηµατισµού χρησιµοποιεί τη συνάρτηση
αθροιστικής πιθανότητας της κατανοµής. Εποµένως, η σωστή απάντηση είναι
«Λάθος». Αν απαντήσατε «Σωστό», µάλλον θα πρέπει να ξαναδιαβάσετε την ενό-
τητα 5.5, όπου αναλύεται πότε χρησιµοποιείται η κάθε µέθοδος.
β) Αν απαντήσατε «Λάθος», έχετε δίκιο! Παρόλο που η µέθοδος της
αποδοχής–απόρριψης χρησιµοποιείται όταν δεν γνωρίζουµε τη συνάρτηση αθροι-
στικής πιθανότητας της κατανοµής, τίποτε δεν εµποδίζει την εφαρµογή της όταν
γνωρίζουµε τη συνάρτηση αθροιστικής πιθανότητας της κατανοµής. Αν απαντή-
σατε «Σωστό», ίσως σκεφθήκατε το πότε µπορεί να χρησιµοποιηθεί µόνο αυτή
η µέθοδος και όχι το πότε επιλέγουµε ποια θα χρησιµοποιήσουµε.
γ) Και εδώ η σωστή απάντηση είναι «Λάθος». Πράγµατι, η συνθετική µέθοδος µπο-
ρεί να συνδυαστεί είτε µε τη µέθοδο του αντίστροφου µετασχηµατισµού είτε µε
τη µέθοδο της αποδοχής–απόρριψης για τα επί µέρους τµήµατα της κατανοµής.
Αν απαντήσατε «Σωστό», µη στεναχωριέστε. Ίσως παρασυρθήκατε από το Παρά-
δειγµα που δίνεται στην υποενότητα 5.5.3.
δ) Η απάντηση στην ερώτηση αυτή είναι µάλλον εύκολη και είναι «Λάθος». Πράγ-
µατι, στο παράδειγµα της υποενότητας 5.5.4 η εµπειρική µέθοδος χρησιµοποιεί-
ται για µια κατανοµή (την κανονική), της οποίας γνωρίζουµε τη συνάρτηση
πυκνότητας πιθανότητας.
2 2 3∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 2 4 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
5.8
α) Η µέθοδος Monte Carlo συχνά αναφέρεται εσφαλµένα ως προσοµοίωση Monte
Carlo. Η πρόταση αυτή αναφέρεται σχεδόν αυτούσια στην ενότητα 5.6.
β) Κατά τη µέθοδο Monte Carlo εκφράζουµε την άγνωστη ποσότητα ως συνάρτηση
γνωστών ποσοτήτων και πιθανοτήτων. Το πρώτο κενό τέθηκε σκοπίµως, για να
µη δοθεί η λύση του (α). Για τα άλλα δύο κενά, η πρόταση αναφέρεται σχεδόν
αυτούσια στην ενότητα 5.6.
γ) Ρίχνοντας τη βελόνα µε τη µέθοδο του Buffon οι προσανατολισµοί της βελόνας
είναι ισοπίθανοι. Αν εδώ βάλατε στο κενό τη λέξη τυχαίοι, έχετε φυσικά δίκιο,
αλλά το τυχαίοι είναι µάλλον προφανές. Το ισοπίθανοι είναι που βοηθάει στην
επίλυση του προβλήµατος του Buffon.
6.1
Ποιες από τις παρακάτω προσοµοιώσεις είναι σταθερής κατάστασης και ποιες τερ-
µατιζόµενες;
α) Αν και δεν προσδιορίζεται η ποσότητα που µας ενδιαφέρει, η προσοµοίωση αυτή
είναι εξ ορισµού τερµατιζόµενη, γιατί ο αγώνας των αυτοκινήτων κάποτε θα
τελειώσει. Σε περίπτωση που απαντήσατε σταθερής κατάστασης δεν έχετε από-
λυτα άδικο, αν θεωρήσατε ότι µας ενδιαφέρουν οι µέσοι χρόνοι περιστροφής στην
πίστα ή κάποια άλλη ποσότητα, η οποία δεν εξαρτάται από το τέλος του αγώνα.
β) Αν απαντήσατε σταθερής κατάστασης, έχετε δίκιο!. Και πάλι δεν προσδιορίζε-
ται η ποσότητα που µας ενδιαφέρει, αλλά η διαδικασία φόρτωσης–εκφόρτωσης
των πλοίων στο λιµάνι είναι τόσο µακρόχρονη, και οι παράµετροι διαφέρουν τόσο
πολύ µεταξύ τους (ένα µικρό πλοίο φορτώνεται πολύ πιο γρήγορα από ένα µεγά-
λο), ώστε είναι σχεδόν βέβαιο ότι µας ενδιαφέρει η κίνηση του λιµανιού σε στα-
θερή κατάσταση.
γ) Θα προσέξατε βέβαια ότι ήταν τονισµένο το ιδιωτική. Σε µια ιδιωτική τράπεζα,
εξυπηρετούνται όλοι οι πελάτες που βρίσκονται µέσα στην τράπεζα την ώρα που
κλείνει. Αυτό επηρεάζει το µέσο µήκος της ουράς, που είναι η ποσότητα που µας
ενδιαφέρει. Εποµένως, θα πρέπει να θεωρήσουµε την προσοµοίωση τερµατιζό-
µενη. Αν απαντήσατε σταθερής κατάστασης, πιθανόν να µη λάβατε υπόψη σας
τι γίνεται όταν το µεσηµέρι κλείνει η τράπεζα.
δ) Αν απαντήσατε ότι η προσοµοίωση αυτή είναι σταθερής κατάστασης, έχετε
δίκιο, γιατί η λειτουργία της διασταύρωσης δεν σταµατά ποτέ. Υπάρχει όµως και
η δυνατότητα να χρησιµοποιήσουµε τερµατιζόµενη προσοµοίωση, αν µας ενδια-
φέρει να µετρήσουµε πόσα αυτοκίνητα θα περάσουν σε διάστηµα µιας ώρας ή
στους 100 πρώτους κύκλους σηµατοδότησης, κ.λπ.
6.2
Οι µέθοδοι αυτοί αναφέρονται στην ενότητα 6.2 και είναι η σύγκριση του αριθµού
των µετρήσεων πάνω ή κάτω από το µέσο όρο, η µεταβολή του κινούµενου µέσου
όρου, η σχέση των παρατηρήσεων µε το µέγιστο και ελάχιστο των προηγουµένων
παρατηρήσεων, κ.λπ.
6.3
α) Αν απαντήσατε το (α), µπράβο. Επειδή, όπως επισηµάνθηκε, η διασταύρωση δεν
είναι µποτιλιαρισµένη, σε κάθε κύκλο σηµατοδότησης περνούν όλα τα αυτοκί-
νητα που περιµένουν στην ουρά. Αυτό σηµαίνει ότι ο κάθε κύκλος δεν διαφέρει
από τον επόµενο, εκτός φυσικά από τις στατιστικές διαφορές. Εποµένως, µετά
τον πρώτο κύκλο, όπου αρχίζει η προσέλευση των αυτοκινήτων στη διασταύρω-
ση, το σύστηµα βρίσκεται σε σταθερή κατάσταση.
β) Αν απαντήσατε το (β), µη στεναχωριέστε. Είναι θέµα εκτίµησης και ίσως θεω-
ρήσατε ότι µετά τον πρώτο κύκλο τελειώνει η µεταβατική κατάσταση και, επο-
µένως, η σταθερή κατάσταση αρχίζει από τον τρίτο κύκλο.
6.4
α) Το µέσο µήκος ουράς σε µια τράπεζα είναι εξαρτηµένη ποσότητα γιατί είναι
πάντα συνάρτηση του χρόνου. Αρκεί να σκεφθείτε τον τρόπο υπολογισµού του
που δίνεται στην υποενότητα 6.3.2. Αν απαντήσατε ανεξάρτητο, σκεφθείτε ότι,
αν µια ουρά έχει µήκος 1 για 1 λεπτό και µήκος 9 για 100 λεπτά, τότε το µέσο
µήκος δεν είναι 5 αλλά πολύ κοντά στο 9.
β) Αν απαντήσατε ότι το µέγιστο µήκος ουράς σε µια τράπεζα είναι ανεξάρτητη από
το χρόνο ποσότητα, έχετε δίκιο! Αρκεί να σκεφθείτε ότι όσος χρόνος και να περά-
σει από την εµφάνιση της µέγιστης τιµής, η τιµή αυτή δεν αλλάζει.
γ) Αυτή είναι η πιο δύσκολη από τις 4 ερωτήσεις. Ο αριθµός µηδενικών περιπτώ-
σεων φαίνεται να αλλάζει µε την πάροδο του χρόνου, αφού όλο και περισσότε-
ρες νέες περιπτώσεις προστίθενται. Παρόλα αυτά, η σωστή απάντηση είναι ανε-
ξάρτητη του χρόνου, γιατί η τιµή της δεν εξαρτάται από το χρόνο. Αρκεί να σκε-
φθείτε ότι, αν κάποια στιγµή ο αριθµός των µηδενικών περιπτώσεων είναι x, µετά
2 2 5∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
2 2 6 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
την πάροδο κάποιου χρόνου χωρίς την εµφάνιση νέας µηδενικής περίπτωσης, ο
αριθµός των περιπτώσεων παραµένει x. Αν απαντήσατε ότι είναι εξαρτηµένη
ποσότητα, ίσως παραπλανηθήκατε από το γεγονός ότι η ποσότητα συνεχώς αυξά-
νει µε τον πάροδο του χρόνου, όσο εµφανίζονται νέες µηδενικές περιπτώσεις.
δ) Αν η απάντησή σας στην ερώτηση αυτή είναι ανεξάρτητη, µπράβο. Η εξήγηση
είναι η ίδια µε την ερώτηση (β).
6.5
α) Αν απαντήσατε προσφέρεται, έχετε δίκιο. Το σύστηµα της διασταύρωσης αποτε-
λείται από διαδοχικούς κύκλους σηµατοδότησης, οι οποίοι µπορούν να αποτελέ-
σουν εξ ορισµού τους κύκλους αναγέννησης. Αν απαντήσατε ότι δεν προσφέρεται,
δεν έχετε πολύ άδικο. Ίσως συγκρίνατε την ερώτηση αυτή µε το ερώτηση (α) της
Άσκησης Αυτοαξιολόγησης 3. Με δεδοµένο ότι τώρα δεν διευκρινίζεται αν η δια-
σταύρωση είναι µποτιλιαρισµένη ή όχι, πιθανόν να θεωρήσατε ότι ο ένας κύκλος
επηρεάζει τον επόµενο µε τον αριθµό των αυτοκινήτων που δεν προλαβαίνουν να
περάσουν. Παρόλα αυτά όµως, οι κύκλοι είναι στατιστικά ισοδύναµοι.
β) Στο ερώτηµα αυτό η απάντηση εξαρτάται από πόσο συχνά χαλάνε οι µηχανές. Αν
οι µηχανές χαλάνε σπάνια, που είναι και το πιο πιθανό, τότε ως σηµεία αναγέν-
νησης µπορούν να θεωρηθούν οι χρόνοι κατά τους οποίους λειτουργούν όλες οι
µηχανές. Εποµένως, το σύστηµα προσφέρεται για προσοµοίωση µε τη µέθοδο
της αναγέννησης. Αν βέβαια οι µηχανές χαλάνε πολύ συχνά και υπάρχουν πάντα
κάποιες χαλασµένες, δεν είναι εύκολο να προσδιορισθούν σηµεία αναγέννησης.
γ) Αν απαντήσατε ότι προσφέρεται, έχετε δίκιο! Σε µια τράπεζα µε λίγους πελάτες
υπάρχουν αρκετές χρονικές περίοδοι κατά τις οποίες η ουρά είναι άδεια (και οι
ταµίες αδρανείς). Οι περίοδοι αυτές µπορούν να χρησιµοποιηθούν ως σηµεία ανα-
γέννησης. Αν απαντήσατε ότι δεν προσφέρεται, µάλλον θα πρέπει να ξαναδια-
βάσετε την υποενότητα 6.4.3 για να κατανοήσετε τα σηµεία αναγέννησης.
δ) Αν απαντήσατε ότι δεν προσφέρεται, έχετε δίκιο!. Σε αντίθεση µε την ερώτηση
(γ), όταν η τράπεζα έχει πολλούς πελάτες, η ουρά είναι πάντα γεµάτη, οι ταµίες
πάντα απασχοληµένοι και, εποµένως, δεν είναι εύκολο να προσδιορισθούν σηµεία
αναγέννησης. Αν απαντήσατε ότι προσφέρεται, ίσως έχετε ανακαλύψει κάποια
σηµεία αναγέννησης που δεν είναι προφανή.
6.6
α) Αν απαντήσατε «Λάθος», έχετε δίκιο. Όπως φαίνεται και στα σχηµατικά δια-
γράµµατα των δύο µεθόδων, κατά τη µέθοδο των επαναλήψεων χρειάζεται να
υπολογισθεί η µεταβατική κατάσταση για κάθε επανάληψη. Αντίθετα, στη µέθο-
δο των µέσων παρτίδων η µεταβατική κατάσταση υπολογίζεται µόνο µία φορά.
Αν απαντήσατε «Σωστό», συγκρίνετε τον αριθµό των παρατηρήσεων που πρέπει
να γίνουν µε κάθε µέθοδο. Με τη µέθοδο των επαναλήψεων γίνονται k(m+m0)
παρατηρήσεις, ενώ µε τη µέθοδο των µέσων παρτίδων γίνονται µόνο km+m0
παρατηρήσεις.
β) Αν απαντήσατε «Σωστό», µπράβο. Κατά τη µέθοδο των επαναλήψεων, οι παρα-
τηρήσεις της κάθε επανάληψης είναι τελείως ανεξάρτητες από τις παρατηρήσεις
των άλλων επαναλήψεων, αφού η προσοµοίωση αρχίζει από την αρχή µε άλλους
σπόρους των γεννητριών. Αντίθετα, στη µέθοδο των µέσων παρτίδων οι µετρή-
σεις µιας παρτίδας επηρεάζουν την επόµενη, αφού αποτελούν στην ουσία µια
σειρά παρατηρήσεων. Περιµένει λοιπόν κανείς η πρώτη µέθοδος να δίνει πιο
αξιόπιστα αποτελέσµατα. Αν απαντήσατε «Λάθος», δεν έχετε απόλυτα λάθος.
Ίσως σκεφθήκατε ότι µπορεί µεν µια παρτίδα να επηρεάζει την επόµενη, αλλά
δεν επηρεάζει όλες τις άλλες. Αν ο αριθµός των παρτίδων είναι µεγάλος, οι παρα-
τηρήσεις των παρτίδων είναι ανεξάρτητες µεταξύ τους. Αυτό είναι σωστό, και
αυτός είναι ο λόγος για τον οποίο η µέθοδος των µέσων παρτίδων θεωρείται αξιό-
πιστη και χρησιµοποιείται συχνά.
γ) Αν απαντήσατε «Σωστό», έχετε δίκιο. Πράγµατι, οι επαναλήψεις είναι ανεξάρτη-
τες η µία από την άλλη, πράγµα που σηµαίνει ότι µπορούν να «τρέχουν» σε δια-
φορετικούς επεξεργαστές. Αντίθετα, οι παρατηρήσεις κατά τη µέθοδο των µέσων
παρτίδων είναι συνεχόµενες, και για να γίνουν οι παρατηρήσεις της i παρτίδας
πρέπει πρώτα να γίνουν οι παρατηρήσεις της i–1 παρτίδας. Αυτό σηµαίνει ότι οι
παρτίδες δεν µπορούν να «τρέχουν» σε διαφορετικούς επεξεργαστές παράλληλα.
Αν απαντήσατε «Λάθος», µην ανησυχείτε. Η ερώτηση προϋπέθετε γνώσεις υπο-
λογιστών (τί είναι παράλληλη επεξεργασία, κ.λπ.), τις οποίες ίσως να µην έχετε.
2 2 7∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ∞ ™ ∫ ∏ ™ ∂ ø ¡ ∞ À ∆ √ ∞ • π √ § √ ° ∏ ™ ∏ ™
∞·ÓÙ‹ÛÂȘ ¢Ú·ÛÙËÚÈÔًوÓ
1.1
∆ίνονται παρακάτω ενδεικτικές απαντήσεις στις ερωτήσεις της ∆ραστηριότητας
αυτής:
α) Ο κατάλογος χαρακτηριστικών του συστήµατος δίνεται στον Πίνακα 1.5
¶›Ó·Î·˜ 1.5
Οντότητες, χαρακτηριστικά και δραστηριότητες του µοντέλου
Οντότητες Χαρακτηριστικά ∆ραστηριότητες
Πελάτισσες Υπηρεσία που ζητάειΧτένισµα, Βάψιµο, Κούρεµα
Περιποίηση νυχιών, Πληρωµή
Κοµµώτριες Ειδικότητα Χτένισµα, Βάψιµο, Κούρεµα
Μανικιουρίστα Περιποίηση
Ταµείο Πληρωµή
β) Το διάγραµµα ροής του συστήµατος δίνεται στο Σχήµα 1.14.
Kούρεµα
Bάψιµο
Xτένισµα
Περιποίησηrνυχιών
Tαµείο
30%
20%
20%50%
80%
™¯‹Ì· 1.14
∆ιάγραµµα ροής
του κοµµωτηρίου
Kούρεµα
Bάψιµο
Xτένισµα
Περιποίησηrνυχιών
Tαµείο
30%
20%20%
100% 100%
™¯‹Ì· 1.15
Σηµεία ουρών και
ποσοστά τους
γ) Τα σηµεία όπου δηµιουργούνται ουρές στο σύστηµα φαίνονται στο Σχήµα 1.15
µε τρεις τελείες. Τα ποσοστά των πελατισσών που περιµένουν σε κάθε ουρά δίνο-
νται κάτω από τις τελείες.
2 3 0 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
1.2
• Το µοντέλο που είναι κατάλληλο για την περίπτωση αυτή θα πρέπει να είναι:
µαθηµατικό γιατί µπορεί να περιγραφεί µε µαθηµατικές εξισώσεις, στοχαστικό
γιατί οι δραστηριότητες εξαρτώνται από τυχαίους παράγοντες, και δυναµικό γιατί
η κατάστασή του µεταβάλλεται µε την πάροδο του χρόνου.
• Ο κατάλογος χαρακτηριστικών του µοντέλου δίνεται στον Πίνακα 1.6:
¶›Ó·Î·˜ 1.6
Οντότητες, γεγονότα και δραστηριότητες του µοντέλου
Οντότητες Γεγονότα ∆ραστηριότητες
ΛεωφορείοΆφιξη στη στάση Αναχώρηση
από τη στάση
Κίνηση Επιβίβαση επιβατών
Αποβίβαση επιβατών
Επιβάτης Άφιξη στη στάσηΕπιβίβαση στο λεωφορείο
Αποβίβαση από το λεωφορείο
1.3
α) Το µοντέλο που είναι κατάλληλο για την περίπτωση αυτή θα πρέπει να είναι:
µαθηµατικό γιατί µπορεί να περιγραφεί µε µαθηµατικές εξισώσεις, στοχαστικό
γιατί οι δραστηριότητες εξαρτώνται από τυχαίους παράγοντες και δυναµικό γιατί
η κατάστασή του µεταβάλλεται µε την πάροδο του χρόνου.
β) Ο κατάλογος χαρακτηριστικών του µοντέλου δίνεται στον Πίνακα 1.7.
¶›Ó·Î·˜ 1.7
Οντότητες, γεγονότα και δραστηριότητες του µοντέλου
Οντότητες Γεγονότα ∆ραστηριότητες
Αυτοκίνητο
Άφιξη στο βενζινάδικο
Άφιξη για πλύσιµο
Άφιξη για αλλαγή λαδιών
Άντληση βενζίνης
Πλύσιµο
Αλλαγή λαδιών
Πληρωµή
ΥπάλληλοςΈναρξη εξυπηρέτησης
Τέλος εξυπηρέτησης
Άντληση βενζίνης
Πλύσιµο
Αλλαγή λαδιών
γ) Οι δραστηριότητες άντληση βενζίνης, πλύσιµο, αλλαγή λαδιών και πληρωµή είναι
στοχαστικές γιατί δεν έχουν σταθερό χρόνο. Οι χρόνοι τους εξαρτώνται από
τυχαίους παράγοντες όπως το µέγεθος του αυτοκινήτου, η ποσότητα της βενζί-
νης που απαιτείται, ο τύπος του λαδιού που απαιτείται, κτλ. Επιπλέον, επειδή ο
χρόνος ανάµεσα στις αφίξεις των αυτοκινήτων είναι τυχαίος, η δραστηριότητα
των αφίξεων (δραστηριότητα που παρεµβάλλεται ανάµεσα σε δύο αφίξεις αυτο-
κινήτων) είναι επίσης στοχαστική δραστηριότητα.
1.4
Ένα παράδειγµα χρήσης λογιστικού φύλλου για προσοµοίωση είναι ο υπολογισµός
ενός δισδιάστατου ηλεκτροστατικού πεδίου σύµφωνα µε την εξίσωση του Laplace.
Χωρίς να εισέλθουµε σε λεπτοµέρειες της επίλυσης, που ξεφεύγουν από το εύρος
του βιβλίου αυτού, είναι αρκετό να αναφέρουµε το απλοποιηµένο πρόβληµα ως εξής:
∆ίνεται ένα ορθογώνιο παραλληλόγραµµο, στα όρια του οποίου το ηλεκτροστατικό
δυναµικό είναι γνωστό. Το πεδίο στο εσωτερικό του παραλληλόγραµµου µπορεί να
υπολογισθεί χωρίζοντας το παραλληλόγραµµο µε οριζόντιες και κάθετες γραµµές
και υπολογίζοντας το δυναµικό των σηµείων τοµής, από το δυναµικό των γειτονι-
κών τους σηµείων. Το διάγραµµα του προβλήµατος δίνεται στο Σχήµα 1.16.
Σε κάθε σηµείο εντός του παραλληλογράµµου το δυναµικό υπολογίζεται από τον τύπο:
(1.1)
Είναι προφανές ότι η εξίσωση αυτή είναι αναδροµική επειδή και στον υπολογισµό
των δυναµικών στα σηµεία B, C, D και E χρησιµοποιείται το δυναµικό του σηµείου
A. Ένα λογιστικό φύλλο αποτελεί πολύ καλό εργαλείο γι΄ αυτό το είδος της προσο-
µοίωσης. Σε κάθε κελί που αντιστοιχεί στην περίµετρο του παραλληλογράµµου τοπο-
θετούµε την τιµή του πεδίου στο σηµείο αυτό. Σε κάθε κελί του εσωτερικού τοπο-
θετούµε τον τύπο (formula) (1.1). Κατόπιν, πληκτρολογώντας επαναληπτικά το F9
(recalculate), υπολογίζονται επαναληπτικά οι τιµές του πεδίου στα εσωτερικά σηµεία.
PP P P P
AB C D E= + + +
4
2 3 1∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
ΑντλίαΈναρξη άντλησης
Τέλος άντλησηςΆντληση βενζίνης
ΠλυντήριοΈναρξη πλυσίµατος
Τέλος πλυσίµατοςΠλύσιµο
ΤαµείοΈναρξη πληρωµής
Τέλος πληρωµήςΠληρωµή
2 3 2 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
Μετά από ορισµένες επαναλήψεις οι τιµές αυτές σταθεροποιούνται στις πραγµατι-
κές τιµές του ηλεκτροστατικού πεδίου στο εσωτερικό του παραλληλογράµµου.
™¯‹Ì· 1.16
Σηµεία
υπολογισµού
του δυναµικού
AD C
B
E
Γνωστό δυναµικό
3.1
Οι ενεργές καταστάσεις του προβλήµατος αυτού είναι η µεταφορά µε φορτηγό (απα-
σχολεί και φορτηγό και οδηγό) και η ανάπαυση των οδηγών. Αντιστοίχως, οι αδρα-
νείς καταστάσεις είναι οι αναµονές για µεταφορά και οι επιστροφές των οδηγών. Ένα
ενδεικτικό διάγραµµα κύκλου δραστηριοτήτων του συστήµατος αυτού δίνεται στο
Σχήµα 3.18.
3.2
Ένα ενδεικτικό δίκτυο Petri του συστήµατος αυτού δίνεται στο Σχήµα 3.19. Οι έννοι-
ες των θέσεων είναι:
Οι έννοιες των θέσεων και µεταβάσεων του δικτύου είναι οι εξής:
p1: ∆ιεργασία έτοιµη προς εκτέλεση
p2: ∆ιαθέσιµος δίσκος
p3: ∆ιαθέσιµος εκτυπωτής
p4: ∆ιεργασία έχει τον έλεγχο του δίσκου
p5: ∆ιεργασία έχει τον έλεγχο του εκτυπωτή
p6: ∆ιεργασία έχει τον έλεγχο του δίσκου και του εκτυπωτή
t1, t4: ∆ιεργασία παίρνει το έλεγχο του δίσκου
t2, t3: ∆ιεργασία παίρνει το έλεγχο του εκτυπωτή
t5: ∆ιεργασία ελευθερώνει τον δίσκο και τον εκτυπωτή
Στο µαρκάρισµα του Σχήµατος 3.19 φαίνονται να υπάρχουν δύο διεργασίες έτοιµες
προς εκτέλεση και η διαθεσιµότητα ενός δίσκου και ενός εκτυπωτή.
2 3 3∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
Aνάπαυσηr
έµπειρουr
οδηγού
Eλεύθεροr
µεγάλοr
φορτηγό
Έµπειροςr
οδηγός ταξιδεύειr
µε µεγάλοr
φορτηγό
Έµπειροςr
οδηγόςr
έτοιµος γιαr
ανάπαυση
Aναµονή γιαr
φορτηγό
Έµπειροςr
οδηγός ταξιδεύειr
µε µικρόr
φορτηγό
Eλεύθεροr
µικρόr
φορτηγό
Άπειρος οδηγόςr
ταξιδεύει µεr
µικρό φορτηγό
Aναµονή γιαr
µικρόr
φορτηγό
Άπειροςr
οδηγόςr
έτοιµος γιαr
ξεκούραση
Aνάπαυσηr
άπειρου οδηγού
™¯‹Ì· 3.18
∆ιάγραµµα κύκλου
δραστηριοτήτων της
∆ραστηριότητας 1
2 3 4 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
Με το µαρκάρισµα αυτό, είναι ενεργοποιηµένες τόσο η t1 όσο και η t2. Αν η µία διερ-
γασία πάρει τον δίσκο και η άλλη τον εκτυπωτή, το σύστηµα οδηγείται σε αδιέξοδο
όπως φαίνεται στο Σχήµα 3.20. Η κάθε διεργασία έχει το ένα περιφερειακό και περι-
µένει για το άλλο, µε αποτέλεσµα καµία µετάβαση να µην είναι πλέον ενεργοποιη-
µένη. Πρέπει να σηµειωθεί ότι το δίκτυο των Σχηµάτων 3.19 και 3.29 δεν περιλαµ-
βάνει όλες τις δυνατές µεταβάσεις που µπορεί να έχει αυτό το σύστηµα. Για παρά-
δειγµα, δεν φαίνεται η δυνατότητα να τελειώσει η εκτέλεση µιας διεργασίας έχοντας
πάρει µόνο το ένα από τα δύο περιφερειακά.
™¯‹Ì· 3.19
Μαρκαρισµένο δίκτυο Petri της ∆ραστηριότητας 2
™¯‹Ì· 3.20
Κατάσταση αδιεξόδου του δικτύου Petri
της ∆ραστηριότητας 2
p1
p2 p3
p4 p5
p6
t1
t3 t4
t5
t2
p2 p3
p4 p5
p6
p1
t3t4
t1
t5
t2
3.3
Το δίκτυο Petri αυτού του συστήµατος δίνεται στο Σχήµα 3.21.
Οι θέσεις του δικτύου αυτού αντιστοιχούν στις καταστάσεις των διεργασιών που
δόθηκαν κατά την περιγραφή του συστήµατος:
p1: Ελεύθερος επεξεργαστής
p2: ∆ιεργασίες έτοιµες προς επεξεργασία (κατάσταση Α)
p3: ∆ιεργασία τρέχει, χρησιµοποιώντας τον επεξεργαστή (κατάσταση Β)
p4: ∆ιεργασία περιµένει να τελειώσει η είσοδος/έξοδος (κατάσταση Γ)
Οι έννοιες των µεταβάσεων είναι:
t1: ∆ιεργασία παίρνει το έλεγχο του επεξεργαστή και αρχίζει να τρέχει
t2: Τελειώνει το κβάντο χρόνου εκτέλεσης της διεργασίας
t3: Η διεργασία που τρέχει ζητάει είσοδο/έξοδο
t4: Τελειώνει η είσοδος/έξοδος που περιµένει µια διεργασία
2 3 5∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
p2
p3
p4
p1
t1
t2
t3 t4 ™¯‹Ì· 3.21
∆ίκτυο Petri
του λειτουργικού
συστήµατος
2 3 6 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
4.1
Στο µοντέλο GPSS του συστήµατος αυτού, οι τεχνίτες µοντελοποιούνται µε δοσο-
ληψίες. Μια ενδεικτική προσοµοίωση µπορεί να γίνει µε το πρόγραµµα:
SIMULATE
*
GENERATE ,,,5 ¢ËÌÈÔ˘ÚÁ›· ÙˆÓ 5 Ù¯ÓÈÙÒÓ
BACK ADVANCE 60,10 √ οı Ù¯ӛÙ˘ ηٷÛ΢¿˙ÂÈ ¤Ó· ·ÁÁ›Ô,
QUEUE OVEN ÂÚÈ̤ÓÂÈ ÛÙËÓ Ô˘Ú¿ ÁÈ· ÙÔ ÊÔ‡ÚÓÔ
SEIZE OVEN Î·È ‚¿˙ÂÈ ÙÔ ·ÁÁÂ›Ô ÙÔ˘ ÛÙÔ ÊÔ‡ÚÓÔ
DEPART OVEN √ Ù¯ӛÙ˘ ‚Á·›ÓÂÈ ·fi ÙËÓ Ô˘Ú¿
ADVANCE 35,5 Î·È ÂÚÈ̤ÓÂÈ Ó· „Ëı› ÙÔ ·ÁÁÂ›Ô ÙÔ˘
RELEASE OVEN √ Ù¯ӛÙ˘ ‚Á¿˙ÂÈ ÙÔ ¤ÙÔÈÌÔ ·ÁÁÂ›Ô ·fi ÙÔ ÊÔ‡ÚÓÔ
TRANSFER ,BACK Î·È ËÁ·›ÓÂÈ Ó· ηٷÛ΢¿ÛÂÈ ÙÔ ÂfiÌÂÓÔ
*
GENERATE 480,1 ∆Ô ÂÚÁ·ÛÙ‹ÚÈÔ ÏÂÈÙÔ˘ÚÁ› ÁÈ· 8 ÒÚ˜ = 480 ÏÂÙ¿
TERMINATE 1
*
START 1
END
4.2
Ο καλύτερος τρόπος µοντελοποίησης πολλαπλών εξυπηρετητών είναι η αποθήκη
(STORAGE). Αυτό χρησιµοποιείται στο παρακάτω ενδεικτικό πρόγραµµα GPSS:
SIMULATE
XPDIS FUNCTION RN1,C24
0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7,1.2/.75,1.36
.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/.95,2.99/.96,3.2
.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998,6.2/.999,7/.9998,8
pprrooggrraamm List_Array;
vvaarr list : array[1..n,1..3] ooff iinntteeggeerr;
pprroocceedduurree insert(event,time:iinntteeggeerr;var start:iinntteeggeerr);
vvaarr I,j,previous:iinntteeggeerr;
bbeeggiinn
iiff start=0 tthheenn bbeeggiinn (* ∞Ó Ë Ï›ÛÙ· Â›Ó·È ¿‰ÂÈ· *)
list[1,1]:=event; (* ÙÔ ÁÂÁÔÓfi˜ ÙÔÔıÂÙÂ›Ù·È *)
list[1,2]:=time; (* ÛÙË ı¤ÛË 1 ÙÔ˘ ›Ó·Î· *)
2 3 7∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
STORAGE S$TAMIES,4 ∏ ÙÚ¿Â˙· ¤¯ÂÈ 4 ٷ̛˜
GENERATE 5,FN$XPDIS √È ÂÏ¿Ù˜ ¤Ú¯ÔÓÙ·È Ì ÂÎıÂÙÈ΋ ηٷÓÔÌ‹,
QUEUE TQUEUE ÂÚÈ̤ÓÔ˘Ó ÛÙËÓ Ô˘Ú¿
ENTER TAMIES Î·È ËÁ·›ÓÔ˘Ó ÛÙÔÓ ÚÒÙÔ ‰È·ı¤ÛÈÌÔ Ù·Ì›·
DEPART TQUEUE ‚Á·›ÓÔÓÙ·˜ ·fi ÙËÓ Ô˘Ú¿
ADVANCE 12,FN$XPDIS ∏ Â͢ËÚ¤ÙËÛË ·ÎÔÏÔ˘ı› ÂÎıÂÙÈ΋ ηٷÓÔÌ‹
LEAVE TAMIES ªÂ ÙÔ Ù¤ÏÔ˜ Ù˘ Â͢ËÚ¤ÙËÛ˘,
TERMINATE Ô ÂÏ¿Ù˘ ʇÁÂÈ ·fi ÙÔ Û‡ÛÙËÌ·
*
GENERATE 480 ∏ ÙÚ¿Â˙· Â›Ó·È ·ÓÔȯً › ÔÎÙÒ ÒÚ˜
TERMINATE 1
*
START 1
END
4.3
Για τη υλοποίηση του προγράµµατος αυτού χρησιµοποιείται µια παραλλαγή του προ-
γράµµατος του Σχήµατος 4.21. Στον πίνακα έχει προστεθεί µια τρίτη στήλη που
περιέχει τους δείκτες στο επόµενο στοιχείο της λίστας. Η µεταβλητή start είναι
δείκτης στο πρώτο στοιχείο της λίστας. Ένα ενδεικτικό πρόγραµµα δίνεται παρα-
κάτω. Σηµειώστε ότι το πρόγραµµα αυτό δεν ελέγχει µήπως έχει γεµίσει ο πίνακας.
2 3 8 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
list[1,3]:=0; (* fiÔ˘ Î·È ÙÂÏÂÈÒÓÂÈ Ë Ï›ÛÙ· *)
start:=1;
eenndd
eellssee
previous:=0; (* ∞ÏÏÈÒ˜, „¿¯ÓÂÈ Á·È ÙË ÛˆÛÙ‹ *)
i:=start; (* ı¤ÛË ÙÔ˘ ÁÂÁÔÓfiÙÔ˜ *)
wwhhiillee (time>list[i,2] and list[i,3]<>0) ddoo
bbeeggiinn
previous:=i
i:=list[i,3];
eenndd;;
iiff list[I,3]=0 tthheenn previous :=i (* ∆Ô ÁÂÁÔÓfi˜ ÌÔÚ› Ó· Ì›*)
j:=1;
wwhhiillee (list[j,1]<>free) ddoo (* 濯ÓÂÈ ÁÈ· ÌÈ· ¿‰ÂÈ· ÁÚ·ÌÌ‹ *)
j:=j+1; (* ÙÔ˘ ›Ó·Î· *)
list[j,1]:=event; (* µ¿˙ÂÈ ÙÔ ÁÂÁÔÓfi˜ ÛÙËÓ ¿‰ÂÈ· *)
list[j,2]:=time; (* ı¤ÛË *)
list[j,3]:=list[previous,3] (* Î·È Â·Ó·Û˘Ó‰¤ÂÈ ÙË Ï›ÛÙ· *)
list[previous,3]=j
eenndd;
eenndd;
pprroocceedduurree extract(vvaarr start:iinntteeggeerr;vvaarr event,time:iinntteeggeerr);
vvaarr i:iinntteeggeerr;
bbeeggiinn (* ∂Í¿ÁÂÙ·È ÚÒÙ· ÙÔ ÁÂÁÔÓfi˜ *)
event:=list[start,1]; (* ·fi ÙËÓ ÚÒÙË ı¤ÛË Ù˘ *)
time:=list[start,2]; (* Ï›ÛÙ·˜, Î·È Ô ·Ú¯ÈÎfi˜ *)
list[start,1]=free; (* ‰Â›ÎÙ˘ ‰Â›¯ÓÂÈ ÛÙË Ó¤· *)
start:=list[start,3] (* ÚÒÙË ı¤ÛË Ù˘ Ï›ÛÙ·˜ *)
eenndd;
eenndd;
5.1
Επειδή το m είναι δύναµη του 2 (8=23), για να έχουµε µέγιστη περίοδο θα πρέπει το
a να είναι ισοϋπόλοιπο µε το 1 µόντουλο 4 και το c να είναι περιττός αριθµός. Μπο-
ρούµε λοιπόν, να επιλέξουµε a = 5 και c = 1. Από όσα αναφέρονται στην ενότητα
5.3, ο αρχικός σπόρος δεν επηρεάζει την περίοδο της γεννήτριας. Μπορούµε λοιπόν
να επιλέξουµε Z0 = 1 και να πάρουµε τη σειρά: 1,6,7,4,5,2,3,0,1, … Ο κύκλος των
τυχαίων αριθµών δίνεται στο Σχήµα 5.18.
2 3 9∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
™¯‹Ì· 5.18
Κύκλος τυχαίων
αριθµών
της γεννήτριας
LCG(5,1,8,1)
Aρχικόςr
σπόρος
∆εξιόστροφηr
αλληλουχία
1
6
7
4
5
2
3
0
5.2
Αν και η µορφή της συνάρτησης κατανοµής πιθανότητας θα υπεδείκνυε τη χρήση
της συνθετικής µεθόδου, τα τυχαία δείγµατα θα παραχθούν µε τη µέθοδο της απο-
δοχής απόρριψης, όπως επιβάλει η εκφώνηση. Για την εφαρµογή αυτής της µεθόδου
λαµβάνονται οι τυχαίοι αριθµοί ανά ζεύγη, και ελέγχεται αν η τιµή του ενός τυχαί-
ου αριθµού είναι κάτω από την τιµή της συνάρτησης για τον άλλο τυχαίοι αριθµό .
Αυτό ισχύει επειδή η µέγιστη τιµή της συνάρτησης είναι 1 και, εποµένως, δε χρειά-
ζεται µετασχηµατισµό για τον τυχαίο αριθµό που συγκρίνεται µε την τιµή της συνάρ-
τησης. Για την καλύτερη οπτική αντίληψη της συνάρτησης, η γραφική της παρά-
σταση δίνεται στο Σχήµα 5.19.
2 4 0 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
Παίρνοντας τους τυχαίους αριθµούς ανά ζεύγη σχηµατίζουµε τον Πίνακα 5.6.
¶›Ó·Î·˜ 5.6
Τυχαία δείγµατα µε τη µέθοδο της αποδοχής – απόρριψης
F(x)
1
0 x
™¯‹Ì· 5.19
Γραφική
παράσταση
της συνάρτησης
της δραστηριότητας 2
U1 U2 = W1 V1 = 2U1 f(V1) W1 < f(V1); ∆εκτό;
0,71 0,47 1,42 0,5 ΝΑΙ ΝΑΙ
0,11 0,02 0,22 0,22 ΝΑΙ ΝΑΙ
0,68 0,53 1,36 0,5 ΟΧΙ ΟΧΙ
0,58 0,29 1,16 0,5 ΝΑΙ ΝΑΙ
0,30 0,30 0,6 0,6 ΝΑΙ ΝΑΙ
0,28 0,05 0,56 0,56 ΝΑΙ ΝΑΙ
Εποµένως, τα πέντε ζητούµενα δείγµατα είναι: 1.42, 0.22, 1.16, 0.6 και 0.56.
6.1
Βάσει του διαγράµµατος 6.4, δίνονται στον παρακάτω πίνακα οι τιµές της µεταβλη-
τής και του χρόνου για κάθε διάστηµα:
Για τον υπολογισµό των ζητούµενων ροπών θα χρησιµοποιηθούν οι τύποι (6.2)
και (6.3). Ο τύπος (6.2) γίνεται:
δίνοντας για τη µέση τιµή:
Ο τύπος (6.3) γίνεται:
δίνοντας για τη διακύµανση:
Εποµένως, η τυπική απόκλιση είναι:
s x = =4 2911 2 0715. .
s x2
2
135
100 6 36 4 169 6 81 7 64 5 121 7
135
10 6 6 4 13 6 9 7 8 5 11 7
4 2911
= ¥ + ¥ + ¥ + ¥ + ¥ + ¥( ) -
- ¥ + ¥ + ¥ + ¥ + ¥ + ¥( )ÈÎÍ
ùûú
= .
s x j j
j
j j
j
x T x T2 2
1
6
1
62
135
135
= -È
ÎÍÍ
ù
ûúú= =
 Â
x = ¥ + ¥ + ¥ + ¥ + ¥ + ¥( ) =135
10 6 6 4 13 6 9 7 8 5 11 7 9 7714.
x x Tj j
j
==
Â135
1
6
2 4 1∞ ¶ ∞ ¡ ∆ ∏ ™ ∂ π ™ ¢ ƒ∞ ™ ∆ ∏ ƒ π √ ∆ ∏ ∆ ø ¡
i xi Ti xi2
1 10 6 100
2 6 4 36
3 13 6 169
4 9 7 81
5 8 5 64
6 11 7 121
E˘ÚÂÙ‹ÚÈÔ
ADVANCE, 118
ALGOL, 111
Αpple, 98
Assembly, 100
Bell Telecommunications, 112
buffer, 105
Buffon, 185
C++, 108
CACI, 102, 103, 107
CLEAR, 125
COMPILER, 102
DATAGRAPH, 103
debugging, 103
DEMOS, 111
DEPART, 120
END, 126
ENTER, 121
facility. βλ. εγκατάσταση
FORTRAN, 101, 112
FUNCTION, 126
GASP, 100
GENERATE, 114–115
GPSS, 112
βασικά µπλοκ, 114
εντολές ελέγχου, 123
παραδείγµατα, 128
IBM, 112
interrupt, 69
Kolmogorov–Smirnoff, 171
Laplace, 185
LEAVE, 121
LIBSIM, 102
LIBSIMG, 103
Macintosh, 98
2 4 4 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
mainframe, 101
MODSIM, 107
Monte Carlo
µέθοδος, 185–190
PASCAL, 146
Petri. βλ. δίκτυα Petri
QUEUE, 120
RAND Corporation, 157
RELEASE, 118
RESET, 125
seed. βλ. σπόρος
SEIZE, 118
SIMDEBUG, 103
SIMDRAW, 102, 109
SIMLAB, 102
SIMSCRIPT, 101
SIMULA, 111
SIMULATE, 124
SIMVIDEO, 103
SMALLTALK, 111
START, 123–124
storage, 121, βλ. επίσης αποθήκη
STORAGE, 126
Tausworthe, 170
TERMINATE, 116
transaction, βλ. δοσοληψία
TRANSFER, 122
UNIX, 98, 101, 102
VMS, 101, 102
Windows 95/NT, 102
Yule, 172
αδρανής κατάσταση, 65
αθροιστική πιθανότητα
εκθετικής κατανοµής, 175
οµοιόµορφης κατανοµής, 177
τυχαίων αριθµών, 161
2 4 5X X X
αναγέννηση, βλ. µέθοδος
ανάλυση συστηµάτων, 15
αναλυτικό µοντέλο, 26
ανεξάρτητο. βλ. γεγονός
ανοικτό σύστηµα, 19
αποθήκη, 121
αποµονωτής, 105
αποσφαλµατιστής, 105
αριθµητικό µοντέλο, 26
αρχικές συνθήκες, 196
ασφάλεια. βλ. δίκτυα Petri
αυτοσυσχέτιση, 171
βαθµός χρήσης, 195
γεγονός, 34, 144
ανεξάρτητο, 61
εξαρτηµένο, 61
ορισµός, 34
γεννήτριες τυχαίων αριθµών, 164
Tausworthe, 170
αθροιστικές, 170
γραµµικές ισοϋπόλοιπες, 166
δευτεροβάθµιες, 170
ιδιότητες, 162
µεσαίων τετραγώνων, 164
περίοδος, 165
πολλαπλασιαστικές, 169
γλώσσα
γενικής χρήσεως, 144
δυνατότητες, 99
επιλογή, 98
προσοµοίωσης, 97
δειγµατοληψία, 173
διάγραµµα κύκλου δραστηριοτήτων, 65
διακοπή, 69
διακριτό σύστηµα, 19
διατµηµατική επικοινωνία
ορισµός, 73
E À ƒ ∂ ∆ ∏ ƒ π √
2 4 6 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
διατµηµατικό σήµα
ορισµός, 73
διαχειριστής προσοµοίωσης, 60
δίκτυα Petri
ασφάλεια, 86
γραφήµατα, 80
δοµή, 79
εκτέλεση, 82
θέση, 78–79
κατάσταση, 85
µαρκάρισµα, 82
µετάβαση, 78–79
µοντελοποίηση, 87
ορισµός, 79
πυροδότηση, 83
σύγκρουση, 85
διµερές γράφηµα, 81
δοµές δεδοµένων, 144
δοσοληψία, 113
δραστηριότητα,
ενδογενής, 18
εξωγενής, 18
ορισµός, 16
προσδιορισµένη, 18
στοχαστική, 18
δραστηριότητες
B, 72
C, 72
δυναµικό µοντέλο, 26
εγκατάσταση, 117
εκθετική κατανοµή, 175
εκτέλεση, 82
ελεγχόµενες µεταβλητές, 45
ενδογενής δραστηριότητα, 18
ενεργός κατάσταση, 65
εντολές ελέγχου, 123
εξαρτηµένο. βλ. γεγονός
2 4 7E À ƒ ∂ ∆ ∏ ƒ π √
εξοµοίωση
ορισµός, 11
εξυπηρετητής, 117
εξωγενής δραστηριότητα, 18
επαναληψιµότητα, 158
εργασία
αναστολή, 74
ορισµός, 73
ηλεκτρονική λυχνία, 157
ισοϋπόλοιποι αριθµοί
ορισµός, 164
ιστού, µοντέλο 48
κανονική κατανοµή, 181
κατανοµή
εκθετική, 175
κανονική, 181
οµοιόµορφη, 160, 176
κατάσταση
αδρανής, 65
δικτύου Petri, 85
ενεργός, 65
σταθερή, 196
συστήµατος, 17
κατευθυνόµενο γράφηµα, 80
κινούµενος µέσος όρος, 197
κλειστό σύστηµα, 19
κουπόνι, 82
ενεργοποιό, 83
λευκός θόρυβος, 157
λίστα, συνδεδεµένη 144
µαθηµατικό µοντέλο, 26
µαρκάρισµα, 82
µέθοδος
Monte Carlo, 185–190
αναγέννησης, 206
επαναλήψεων, 203
µέσων παρτίδων, 205
2 4 8 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
τριών φάσεων, 72
µέθοδος δειγµατοληψίας
αντίστροφου µετασχηµατισµού, 173
αποδοχής–απόρριψης, 177
εµπειρική, 180
συνθετική, 178
µετάβαση, 78
ενεργοποιηµένη, 83
µεταβατική φάση, 196
µέτρο απόδοσης, 197
µήκος τρεξίµατος, 198
µοντέλο
αναλυτικό, 26
αριθµητικό, 26
δυναµικό, 26
ιστού, 26
κατασκευή, 31
µαθηµατικό, 26
οικονοµικό, 42
ορισµός, 22
προσδιορισµένο, 24
προσοµοίωσης, 30
στατικό, 26
στοχαστικό, 24
τύποι, 24
φυσικό, 25
µοντελοποίηση, 23, 31
µπλοκ, 113
ADVANCE, 118
DEPART, 120
ENTER, 121
GENERATE, 114–115
LEAVE, 121
QUEUE, 120
RELEASE, 118
SEIZE, 118
TERMINATE, 116
2 4 9E À ƒ ∂ ∆ ∏ ƒ π √
TRANSFER, 122
οικονοµικά µοντέλα, 42
οµοιόµορφη κατανοµή, 160, 176
οντότητα
ορισµός, 16
ουρά χρονική, 144
π, 185
υπολογισµός, 185–190
παρτίδα, 205
περιβάλλον συστήµατος, 17
περίοδος, 165
πίνακαςγεγονότων, 146
πολυγράφηµα, 80
προσαρµοζόµενο σύστηµα, 19
προσδιορισµένη δραστηριότητα, 18
προσοµοίωση
αρχικές συνθήκες, 196
γεγονότων, 59, 61
γλώσσες, 97
διαχειριστής, 60
διεργασιών, 59, 73
δραστηριοτήτων, 59, 65
λειτουργίες, 96
µεταβατική φάση, 196
µοντέλο, 30
ορισµός, 11
τερµατιζόµενη, 195
τύποι, 195
φάσεις, 196
πυκνότητα πιθανότητας
εκθετικής κατανοµής, 175
κανονικής κατανοµής, 181
οµοιόµορφης κατανοµής, 160, 176
τυχαίων αριθµών, 160
πυροδότηση, βλ. δίκτυα Petri
ρολόι προσοµοίωσης, 34
σπόρος, 164
2 5 0 M √ ¡ ∆ ∂ § √ ¶ √ π ∏ ™ ∏ ∫ ∞ π ¶ ƒ √ ™ √ ª √ π ø ™ ∏
στατικό µοντέλο, 26
στατιστική ανάλυση, 199
στοχαστική δραστηριότητα, 18
σύγκρουση. βλ. δίκτυα Petri
συλλογή δεδοµένων, 199
συνδεδεµένη λίστα, 144
συνεχές σύστηµα, 19
σύνθεση συστηµάτων, 15
σύστηµα
ανάλυση, 15
ανάλυση ευαισθησίας, 50
ανοικτό, 19
διακριτό, 19
κατάσταση, 17
κλειστό, 19
ορισµός, 15
περιβάλλον, 17
προσαρµοζόµενο, 19
συνεχές, 19
σύνθεση, 15
ταξινόµηση, 20
Συστήµατα Λήψης Αποφάσεων, 41–42
ταξινόµηση συστηµάτων, 20
τερµατιζόµενη προσοµοίωση, 195
τυχαία µεταβλητή, 173
τυχαίο δείγµα, 173
τυχαίοι αριθµοί
ιδιότητες, 162
τυχαίος αριθµός, 157
φάσεις της προσοµοίωσης, 196
χαρακτηριστικό, 16
χρονική λίστα, 144