Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας"— Μεταγράφημα παρουσίασης:

1 Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας
Προσομοίωση και Γλώσσες Προσομοίωσης Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας

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

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

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

5 Συστήματα και χαρακτηριστικά τους
Σύστημα είναι ένα σύνολο αλληλεπιδρώντων στοιχείων τα οποία συνεργάζονται μεταξύ τους ή λειτουργούν συλλογικά για την επίτευξη κάποιου σκοπού. Συστήματα και χαρακτηριστικά τους Σύστημα Οντότητες Χαρακτηριστικά Δραστηριότητες Τράπεζα Πελάτες Υπόλοιπο Πίστωση Κατάθεση Ανάληψη Παντοπωλείο Κατάλογος ψώνιων Πληρωμή Δίκτυο υπολογιστών Πακέτα Μέγεθος Μετάδοση Βενζινάδικο Αυτοκίνητα Τύπος βενζίνης Ανελκυστήρας Επιβάτες Όροφος εισόδου Όροφος εξόδου Είσοδος στον ανελκυστήρα Αποθήκη Ανταλλακτικά Κόστος Είδος Προμήθεια Πώληση Πανεπιστήμιο Φοιτητές Έτος σπουδών Βαθμολογία Εξετάσεις

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

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

8 Γλώσσες προσομοίωσης Γενικά χαρακτηριστικά των γλωσσών προσομοίωσης:
Άποψη του κόσμου (προσανατολισμός σε γεγονότα, δραστηριότητες, ή διεργασίες). Μηχανισμός ροής χρόνου (αυξάνουν αυτόματα το χρόνο και διατηρούν λίστα με τα μελλοντικά γεγονότα). Περιλαμβάνουν γεννήτρια τυχαίων αριθμών. Οι γεννήτριες των γλωσσών παράγουν συνήθως αριθμούς ομοιόμορφα κατανεμημένους στο διάστημα 0 μέχρι 1, όπως αναπτύσσεται στο επόμενο κεφάλαιο. Περιλαμβάνουν γεννήτρια τυχαίων δειγμάτων που να ακολουθούν την κατανομή που προσδιορίζει ο χρήστης. Έχουν ικανότητες συλλογής δεδομένων του μοντέλου. Παρέχουν στοιχειώδη στατιστική ανάλυση των δεδομένων που έχουν συλλέξει. Παρέχουν διαγνωστικά στοιχεία και βοήθεια στην ανίχνευση λαθών.

9 Σύγκριση γλωσσών Όνομα γλώσσας 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++ Υπολογιστικό σύστημα Οποιοσδήποτε υπολογιστής που διαθέτει μεταγλωττιστή FORTRAN ή PL/I (σε συστήματα διαμοιρασμού χρόνου) PC, Macintosh, πολλές πλατφόρμες UNIX και πολλά μεγάλα συστήματα διαμοιρασμού χρόνου PC, McIntosh, πολλές πλατφόρμες UNIX και πολλά μεγάλα συστήματα διαμοιρασμού χρόνου PC, UNIX PC, McIndosh, Linux και Solaris Μέθοδος προγραμματισμού Εντολή Μπλοκ Εντολή κσι functional block Άποψη του Κόσμου Γεγονότος Διεργασία (Δοσοληψία) Γεγονότος ή Διεργασίας Διεργασίας Διαχείριση μνήμης Σταθερή Δυναμική Τύπος γλώσσας Μεταγλωττιστής Διερμηνευτής (μεταγλωττιστής στην έκδοση GPSS/H) Μεταγλώσσα: παράγει C++ πηγαίο κώδικα Διερμηνευτής Κόστος Χαμηλό Μέσο Υψηλό Σχετικά υψηλό

10 Παράδειγμα με GPSS 70% Unleaded 75% 30% 100% Super 30% 25% 70%

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

12 Πρόγραμμα SIMULATE EXPON FUNCTION RN2,C24 0,0/.1,.104/.2,.222/.3,.355/.4,.509/.5,.69/.6,.915/.7, ,1.36/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94, ,2.99/.96,3.2/.97,3.5/.98,3.9/.99,4.6/.995,5.3/.998, ,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 RELEASE SUPR TERMINATE στο πλυντήριο ενω τα άλλα φεύγουν WASHER TRANSFER BOTH,,BYEBYE Αν δεν υπάρχουν θέσεις αναμονής WAIT ENTER WASQ τα αυτοκίνητα φεύγουν SEIZE WASR LEAVE WASQ ADVANCE 25,5 RELEASE WASR Όσα αυτοκίνητα πλυθούν αναχωρούν BYEBYE TERMINATE κι αυτά GENERATE Χρόνος προσομοίωσης 1 εβδομάδα TERMINATE 1 START Αρχή της πρώτης εκτέλεσης STORAGE S$WASQ,3 Χώρος αναμονής 3 αυτοκίνητα CLEAR Μηδενισμός στατιστικών START Αρχή της δεύτερης εκτέλεσης STORAGE S$WASQ,4 Χώρος αναμονής 4 αυτοκίνητα START Αρχή τρίτης εκτέλεσης STORAGE S$WASQ,5 Χώρος αναμονής 5 αυτοκίνητα START Αρχή τέταρτης εκτέλεσης END Τέλος προσομοίωσης

13 Αποτελέσματα Δεύτερη εκτέλεση με χώρο αναμονής για 3 αυτοκίνητα
BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BLOCK CURRENT TOTAL BYEBYE WASHER WAIT SUPER Τρίτη εκτέλεση με χώρο αναμονής για 4 αυτοκίνητα BYEBYE WASHER WAIT SUPER Τέταρτη εκτέλεση με χώρο αναμονής για 5 αυτοκίνητα BYEBYE WASHER WAIT

14 Αποτελέσματα Θέσεις αναμονής n1 n2 n3 l 2 357 315 42 11.76% 3 376 343
33 8.78% 4 402 26 6.47% 5 358 345 13 3.63%

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

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

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

18 Παράδειγμα προγράμματος 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); 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;

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

20 Βιβλιογραφία 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 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 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.


Κατέβασμα ppt "Μάνος Ρουμελιώτης Πανεπιστήμιο Μακεδονίας"

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google