1 / 20

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

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

Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

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

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

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

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

  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.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 Τέλος προσομοίωσης

  13. Αποτελέσματα Δεύτερη εκτέλεση με χώρο αναμονής για 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

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

  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); 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;

  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. 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.

More Related