Mοντελοποίηση και...

Post on 01-Feb-2020

30 views 0 download

Transcript of Mοντελοποίηση και...

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

ίστα

απο

τελε

σµάτ

ων

του

µοντ

έλου

του

πρα

τηρί

ου β

ενζί

νης.

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