Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

20
Τμήμα Διοίκησης Τεχνολογίας - 2008 1 Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας http://www.etl.uom.gr/mr/ Προσομοίωση και Γλώσσες Προσομοίωσης

description

Προσομοίωση και Γλώσσες Προσομοίωσης. Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας http://www.etl.uom.gr/mr/. Θέματα. Προσομοίωση και Εξομοίωση Συστήματα και μοντέλα Τύποι προσομοίωσης Γλώσσες προσομοίωσης Παράδειγμα με GPSS Παράδειγμα με MODSIM. Τι είναι Προσομοίωση;. - PowerPoint PPT Presentation

Transcript of Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Page 1: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 11

Μάνος ΡουμελιώτηςΠανεπιστήμιο Μακεδονίαςhttp://www.etl.uom.gr/mr/

Προσομοίωση και Γλώσσες Προσομοίωσης

Προσομοίωση και Γλώσσες Προσομοίωσης

Page 2: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 22

• Προσομοίωση και Εξομοίωση• Συστήματα και μοντέλα• Τύποι προσομοίωσης• Γλώσσες προσομοίωσης• Παράδειγμα με GPSS• Παράδειγμα με MODSIM

Θέματα

Page 3: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 33

Προσομοίωση είναι μια μέθοδος μελέτης ενός συστήματος και εξοικείωσης με τα χαρακτηριστικά του με τη βοήθεια ενός άλλου συστήματος το οποίο στις περισσότερες περιπτώσεις είναι ηλεκτρονικός υπολογιστής.

Τι είναι Προσομοίωση;

Page 4: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 44

Διαφορά προσομοίωσης από εξομοίωση

Προσομοιούμενο σύστημα Α320

Μοντέλο συστήματος

Σύστημα προσομοίωσης (υπολογιστής)

Χρήστης

Εξομοιούμενο σύστημα Α320

Σύστημα εξομοίωσης (μετατροπές)

Φορέας συστήματος εξομοίωσης (Α310)

Χρήστης

Προσομοίωση Εξομοίωση

Page 5: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 55

Συστήματα

Σύστημα είναι ένα σύνολο αλληλεπιδρώντων στοιχείων τα οποία συνεργάζονται μεταξύ τους ή λειτουργούν συλλογικά για την επίτευξη κάποιου σκοπού.

Συστήματα και χαρακτηριστικά τους

Σύστημα Οντότητες

Χαρακτηριστικά

Δραστηριότητες

Τράπεζα Πελάτες ΥπόλοιποΠίστωση

ΚατάθεσηΑνάληψη

Παντοπωλείο Πελάτες Κατάλογος ψώνιων

Πληρωμή

Δίκτυο υπολογιστών

Πακέτα Μέγεθος Μετάδοση

Βενζινάδικο Αυτοκίνητα Τύπος βενζίνης Πληρωμή

Ανελκυστήρας Επιβάτες Όροφος εισόδουΌροφος εξόδου

Είσοδος στον ανελκυστήρα

Αποθήκη Ανταλλακτικά

ΚόστοςΕίδος

ΠρομήθειαΠώληση

Πανεπιστήμιο Φοιτητές Έτος σπουδώνΒαθμολογία

Εξετάσεις

Page 6: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 66

Μοντέλα

Μοντέλο είναι μία αναπαράσταση ενός φυσικού συστήματος ή οργανισμού ή φυσικού φαινομένου ή ακόμη και μίας ιδέας.

Ως δεύτερος ορισμός: Μοντέλο είναι το σύνολο των πληροφοριών ενός συστήματος που έχει συγκεντρωθεί με σκοπό τη μελέτη του συστήματος.

Τύποι μοντέλων

ΣτατικόΣτατικό

ΦυσικόΜαθηματικό

ΔυναμικόΔυναμικό

Αριθμητικό ΑριθμητικόΑναλυτικό

Προσομοίωση

Page 7: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 77

Τύποι προσομοίωσης

Στα συνεχή συστήματα οι μεταβολές της κατάστασης είναι κατά κύριο λόγο ομαλές. Οι δραστηριότητες δηλαδή, μεταβάλλουν συνεχώς την κατάσταση του συστήματος και όχι μόνον όταν τελειώσουν. Παράδειγμα τέτοιου συστήματος είναι ένα αυτοκίνητο.Στα διακριτά συστήματα οι μεταβολές είναι κυρίως ασυνεχείς, πράγμα που σημαίνει, ότι η κατάσταση του συστήματος αλλάζει μόλις τελειώσει μία δραστηριότητα. Παράδειγμα διακριτού συστήματος είναι μια τράπεζα.

Η προσομοίωση μπορεί να είναι είτε συνεχής είτε διακριτή, ανάλογα με το σύστημα που προσομοιώνεται

Page 8: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 88

Γλώσσες προσομοίωσης

Γενικά χαρακτηριστικά των γλωσσών προσομοίωσης:

1. Άποψη του κόσμου (προσανατολισμός σε γεγονότα, δραστηριότητες, ή διεργασίες).

2. Μηχανισμός ροής χρόνου (αυξάνουν αυτόματα το χρόνο και διατηρούν λίστα με τα μελλοντικά γεγονότα).

3. Περιλαμβάνουν γεννήτρια τυχαίων αριθμών. Οι γεννήτριες των γλωσσών παράγουν συνήθως αριθμούς ομοιόμορφα κατανεμημένους στο διάστημα 0 μέχρι 1, όπως αναπτύσσεται στο επόμενο κεφάλαιο.

4. Περιλαμβάνουν γεννήτρια τυχαίων δειγμάτων που να ακολουθούν την κατανομή που προσδιορίζει ο χρήστης.

5. Έχουν ικανότητες συλλογής δεδομένων του μοντέλου. 6. Παρέχουν στοιχειώδη στατιστική ανάλυση των δεδομένων που έχουν συλλέξει. 7. Παρέχουν διαγνωστικά στοιχεία και βοήθεια στην ανίχνευση λαθών.

Page 9: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 99

Σύγκριση γλωσσών

Όνομα γλώσσας GASP GPSS SIMSCRIPT MODSIM SIMULINK

Ερμηνεία ονόματος General Activity Simulation Program (Γενικό Πρόγραμμα Προσομοίωσης Δραστηριοτήτων)

General Purpose Simulation Language (Σύστημα Προσομοίωσης Γενικής Χρήσεως)

SIMulation SCRIPT MODular SIMulation language

Καμία Συγκεκριμένη

Γλώσσα υλοποίησης FORTRAN ή PL/I Assembly Assembly, C C++ C++

Υπολογιστικό σύστημα Οποιοσδήποτε υπολογιστής που διαθέτει μεταγλωττιστή FORTRAN ή PL/I (σε συστήματα διαμοιρασμού χρόνου)

PC, Macintosh, πολλές πλατφόρμες UNIX και πολλά μεγάλα συστήματα διαμοιρασμού χρόνου

PC, McIntosh, πολλές πλατφόρμες UNIX και πολλά μεγάλα συστήματα διαμοιρασμού χρόνου

PC, UNIX PC, McIndosh, Linux και Solaris

Μέθοδος προγραμματισμού

Εντολή Μπλοκ Εντολή Εντολή Εντολή κσι functional block

Άποψη του Κόσμου Γεγονότος Διεργασία (Δοσοληψία) Γεγονότος ή Διεργασίας

Γεγονότος ή Διεργασίας

Διεργασίας

Διαχείριση μνήμης Σταθερή Δυναμική Δυναμική Δυναμική Δυναμική

Τύπος γλώσσας Μεταγλωττιστής Διερμηνευτής (μεταγλωττιστής στην έκδοση GPSS/H)

Μεταγλωττιστής Μεταγλώσσα: παράγει C++ πηγαίο κώδικα

Διερμηνευτής

Κόστος Χαμηλό Μέσο Υψηλό Υψηλό Σχετικά υψηλό

Page 10: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1010

Παράδειγμα με GPSS

Super

Unleaded

25%

75%30%

30%

70%

70%

100%

Page 11: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1111

Διάγραμμα μπλοκ

UNLD

10,FN$EXPON

8,3

SUPR

WASH

WASHER

GENERATE

QUEUE

SEIZE

RELEASE

ADVANCE

DEPART

TERMINATE

TRANSFER

UNLDQ

.25

UNLDQ

TRANSFER

UNLD

.30

QUEUE

SEIZE

DEPART

ADVANCE

RELEASE

TRANSFER

TERMINATE

SUPRQ

SUPRQ

SUPR

8,3

.30

SEIZE

ADVANCE

RELEASE

ENTER

LEAVE

WASQ

WASR

WASQ

WASR

25,5

TERMINATE

TRANSFER

BOTH

BYEBYE

BYEBYE

Page 12: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1212

Πρόγραμμα

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 Η αρχική χωρητικότητα αναμονής GENERATE 8,FN$EXPON στο πλυντήριο είναι 2 αυτοκίνητα TRANSFER .25,,SUPER Το 25% των αυτοκινήτων πηγαίνουν QUEUE UNLDQ για βενζίνη SUPER ενώ το SEIZE UNLD υπόλοιπο 75% μπαίνει στην ουρά DEPART UNLDQ για αμόλυβδη βενζίνη. 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 Χρόνος προσομοίωσης 1 εβδομάδα TERMINATE 1 START 1 Αρχή της πρώτης εκτέλεσης STORAGE S$WASQ,3 Χώρος αναμονής 3 αυτοκίνητα CLEAR Μηδενισμός στατιστικών START 1 Αρχή της δεύτερης εκτέλεσης STORAGE S$WASQ,4 Χώρος αναμονής 4 αυτοκίνητα CLEAR Μηδενισμός στατιστικών START 1 Αρχή τρίτης εκτέλεσης STORAGE S$WASQ,5 Χώρος αναμονής 5 αυτοκίνητα CLEAR Μηδενισμός στατιστικών START 1 Αρχή τέταρτης εκτέλεσης END Τέλος προσομοίωσης

Page 13: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1313

ΑποτελέσματαΔεύτερη εκτέλεση με χώρο αναμονής για 3 αυτοκίνητα BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL 1 1247 11 322 21 1 343 2 1247 12 322 22 342 3 6 925 13 1 322 BYEBYE 375 4 919 14 321 24 1 5 919 15 321 25 1 6 1 919 16 237 7 918 WASHER 376 8 918 WAIT 343 9 626 19 343 SUPER 322 20 343

Τρίτη εκτέλεση με χώρο αναμονής για 4 αυτοκίνητα BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL 1 1330 11 334 21 1 370 2 1330 12 334 22 369 3 996 13 334 BYEBYE 398 4 996 14 334 24 1 5 996 15 334 25 1 6 1 996 16 239 7 995 WASHER 402 8 995 WAIT 3 373 9 688 19 370 SUPER 334 20 370

Τέταρτη εκτέλεση με χώρο αναμονής για 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 1 293 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

Page 14: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1414

Αποτελέσματα

Θέσεις αναμονής

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%

Page 15: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1515

Προσoμοίωση με MODSIM

Page 16: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1616

Προσoμοίωση με MODSIM

Page 17: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1717

Προσoμοίωση με MODSIM

Page 18: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1818

Παράδειγμα προγράμματος MODSIM

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;

Page 19: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 1919

Στατιστικά Αποτελέσματα

Page 20: Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας etl.uom.gr/mr

Τμήμα Διοίκησης Τεχνολογίας - 2008Τμήμα Διοίκησης Τεχνολογίας - 2008 2020

Βιβλιογραφία

N.L. Biggs, Introduction to Computing With Pascal, Oxford Univ Press, 1989.G.M. Birtwistle, DEMOS - Discrete Event Modeling on SIMULA, Macmillan, London, 1979. CACI, MODSIM III User's Manual, La Jolla, California, 1997. CACI, SIMPROCESS User's Manual, La Jolla, California, 1997. CACI, Windows SIMSCRIPT II.5, User's Manual, La Jolla, California, 1997. O. Dahl, K. Nygaard, "SIMULA - an Algol-based simulation language," Comm ACM, Vol. 9, No. 9, 1966, pp. 671-678. G. Gordon, System Simulation, Prentice-Hall Englewood Cliffs, NJ, 1969. 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. E. Horowitz, S. Sahni, Fundamentals of Data Structures in Pascal, W. H. Freeman & Co. 1994.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. M. Pidd, Computer Simulation in Management Science, 3η έκδοση, Wiley, 1992. A.A.B. Pritsker, The GASP IV Simulation Language, Wiley, New York, 1974. E.C. Russel, SIMSCRIPT II.5 Programming Language, CACI, Los Angeles, 1987. Stahl, Introduction to Simulation with GPSS on the PC, Macintosh and VAX, Prentice-Hall, 1990. T.J. Schriber, An Introduction to Simulation Using Gpss/H, John Wiley & Sons, 1991.