440 likes | 539 Views
עקרונות בסיסיים בסימולציה. סימולציה. הקדמה לסימולציה. Machine (Server). Arriving Blank Parts. Departing Finished Parts. 7. 6. 5. 4. Queue (FIFO). Part in Service. דוגמא לסימולציה - המערכת. מטרות מרכזיות: הערכת ייצור צפוי זמן שהייה בתור, אורך תור, נצילות מכונה יחידות זמן
E N D
עקרונות בסיסיים בסימולציה סימולציה הקדמה לסימולציה
Machine (Server) Arriving Blank Parts Departing Finished Parts 7 6 5 4 Queue (FIFO) Part in Service דוגמא לסימולציה - המערכת • מטרות מרכזיות: • הערכת ייצור צפוי • זמן שהייה בתור, אורך תור, נצילות מכונה • יחידות זמן • חייבות הגדרה – יכולות להשתנות במקומות שונים • יחידות שנבחרות צריכות להיות סבירות ולהתאים לסימולציה סימולציה עקרונות בסיסיים בסימולציה
דוגמא לסימולציה - המערכת • זמן אתחול: 0 • יחידת זמן:דקות • קלט: • Part Number Arrival Time Interarrival Time Service Time • 1 0.00 1.73 2.90 • 2 1.73 1.35 1.76 • 3 3.08 0.71 3.39 • 4 3.79 0.62 4.52 • 5 4.41 14.28 4.46 • 6 18.69 0.70 4.36 • 7 19.39 15.52 2.07 • 8 34.91 3.15 3.36 • 9 38.06 1.76 2.37 • 10 39.82 1.00 5.38 • 11 40.82 . . • . . . . • . . . . סימולציה עקרונות בסיסיים בסימולציה
מספר החלקים שיצאו מוכנים לגמרי (p) דוגמא לסימולציה – מטרות הלימוד סימולציה עקרונות בסיסיים בסימולציה
N – מספר החלקים שסיימו המתנה בתור Wqi – זמן השהייה בתור של חלק i WQ1 = 0 N> 1 דוגמא לסימולציה – מטרות הלימוד • זמן שהיה ממוצע בתור סימולציה עקרונות בסיסיים בסימולציה
דוגמא לסימולציה – מטרות הלימוד • זמן שהייה מקסימלי בתור של חלק מסוים – סימולציה עקרונות בסיסיים בסימולציה
Q(t) = number of parts in queue at time t דוגמא לסימולציה – מטרות הלימוד • ממוצע מספר החלקים הנמצאים בתור – אורך התור הממוצע סימולציה עקרונות בסיסיים בסימולציה
דוגמא לסימולציה – מטרות הלימוד • מספר חלקים מקסימלי בתור • אורך התור המקסימלי סימולציה עקרונות בסיסיים בסימולציה
TSi = time in system of part i דוגמא לסימולציה – מטרות הלימוד • ממוצע ומקסימום זמן שהיה במערכת(זמן מחזור) של החלקים סימולציה עקרונות בסיסיים בסימולציה
דוגמא לסימולציה – מטרות הלימוד • נצילותמכונת העיבוד סימולציה עקרונות בסיסיים בסימולציה
אפשרויות ניתוח – ניחוש חינוכי • נתונים: • זמן בין מופעי ממוצע – 4.08 דקות • זמן שירות ממוצע – 3.46 דקות • מסקנות "יבשות": • המערכת תהיה יציבה • אם האינטרוולים יהיו כמו הממוצעים – לא יהיה תור סימולציה עקרונות בסיסיים בסימולציה
מודל M/M/1 • זמן בין מופעי – מתפלג אקספוננציאלית • זמן שירות - מתפלג אקספוננציאלית • שרת אחד • לכן נוכל להשתמש בנוסחאות: • זמן המתנה ממוצע בתור: אפשרויות ניתוח – תורת התורים סימולציה עקרונות בסיסיים בסימולציה
אפשרויות ניתוח – תורת התורים • אבל... • חובה שתמיד זמן השירות יהיה קטן מהזמן הבין המופעי • מתאים לסימולציות ארוכות טווח • לכן בדרך כלל נשתמש במודל זה להערכות מקורבות בלבד. סימולציה עקרונות בסיסיים בסימולציה
אפשרויות ניתוח – סימולציה • מאפשרת לדמות מודלים מורכבים • צפייה בפרטים וגם בתמונה הכוללת סימולציה עקרונות בסיסיים בסימולציה
חלקי מודל הסימולציה • ישויות – Entities • "מסתובבות“במערכת • משנות מצב • משפיעות על מצב המערכת, על ישויות אחרות ועל מדדי הביצוע. • מושפעות גם כן • בדרך כלל נוצרות, נמצאות ונעלמות בזמן/באירוע מסויים • לכל ישות -> סוגים, לכל סוג -> מופעים • ישות מזויפת – faked entity סימולציה עקרונות בסיסיים בסימולציה
חלקי מודל הסימולציה • תכונות – Attributes • מודבקות לישויות עצמאיות • תכונה מדביקים לישויות • ערכים של תכונות מדביקים למופעים של ישויות • בדוגמא: • תכונות נדביק לישות מסוג חלק – זמן הגעה, עדיפות וכו' • ערכים של תכונות נדביק למופעים של הישות "חלק" סימולציה עקרונות בסיסיים בסימולציה
חלקי מודל הסימולציה • משתנים גלובלייםGlobal Variables • חלקי אינפורמציה המתארים מספר מאפיינים על המערכת, בדרך כלל ללא קשר לכמה/אילו ישויות יהיו במערכת. • לא מודבקים לישויות • לעולם יהיו ייחודיים • שני סוגים • Built-in ע"י ה – ARENA • מוגדרים ע"י המשתמש סימולציה עקרונות בסיסיים בסימולציה
חלקי מודל הסימולציה • משאבים Resources - • ישות מחזיקה משאב כאשר הוא פנוי ומשחררת אותו בתום השימוש • לעיתים ישות יכולה לקבל שירות ממספר משאבים בו זמנית סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים • הגעה – חלק חדש מגיע: • תזמן את החלק הבא להגיע בזמן ההגעה הבא על ידי הצבת רשומת "אירוע חדש של הגעת חלק" בתוך ה – event calendar. • עדכן את הסטטיסטיקות הרציפות(בין הגעת החלק האחרון עד עכשיו): • Area under Q(t) • Max of Q(t) • Area under B(t) • אחסן את זמן ההגעה של החלק(TNOW) בתכונה של החלק. זה יידרש לאחר מכן לחישוב הזמן הכולל במערכת ואולי זמן השהיה בתור. • אם המכונה שובתת, החלק החדש מגיע ישירות אליה(זמן שהיה בתור=0), המכונה הופכת לעסוקה ותזמן את סוף זמן השירות של החלק. • אם המכונה עסוקה, שים את החלק בסוף התור, הוסף 1 לאורך התור. סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים • עזיבה – חלק מסיים שירות ומוכן לצאת: • הוסף 1 לצובר של מספר החלקים המוכנים. • חשב את הזמן הכולל לשהייה במערכת של החלק ע"י ה – TNOW פחות זמן ההגעה למערכת(שנשמר בתכונה בזמן אירוע הגעה) • עדכן את הסטטיסטיקות הרציפות: • Area under Q(t) • Max of Q(t) • Area under B(t) • אם יש חלקים בתור, הוצא את הראשון, חשב את הזמן ששהה בתור והתחל את השירות במכונה באמצעות הקצאת אירוע חדש של עזיבת החלק את המערכת. • אם התור ריק, הפוך את המכונה למושבתת. במקרה זה אין אירוע חדש של עזיבת חלק שצריך להקצות. סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים • סוף – סיום הסימולציה: • עדכן את הסטטיסטיקות הרציפות לסוף הסימולציה. • חשב את הסיכום הסופי של המדדים. סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים - מעקב סימולציה עקרונות בסיסיים בסימולציה
Setup סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 0.00, Initialize סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 0.00, Arrival of Part 1 1 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 1.73, Arrival of Part 2 2 1 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 2.90, Departure of Part 1 2 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 3.08, Arrival of Part 3 3 2 סימולציה עקרונות בסיסיים בסימולציה
t = 3.79, Arrival of Part 4 סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה 4 3 2 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 4.41, Arrival of Part 5 5 4 3 2 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 4.66, Departure of Part 2 5 4 3 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 8.05, Departure of Part 3 5 4 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 12.57, Departure of Part 4 5 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 17.03, Departure of Part 5 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 18.69, Arrival of Part 6 6 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 19.39, Arrival of Part 7 7 6 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים – ביצוע הסימולציה t = 20.00, The End 7 6 סימולציה עקרונות בסיסיים בסימולציה
סימולציה ידנית – מונחית אירועים • סיום הסימולציה וסיכום: • זמן שהיה ממוצע בתור: • מספר חלקים ממוצע בתור • נצילות המכונה סימולציה עקרונות בסיסיים בסימולציה
סימולציה מונחית אירועים מול סימולציה מונחית תהליך • סימולציה מונחית אירועים: • שליטה מוחלטת • גמישות ביחס לתכונות • ניתן לדעת בכל זמן מצב כל רכיב • סימולציה מונחית תהליך: • נקודת מבט של ישות • תרשים זרימה סימולציה עקרונות בסיסיים בסימולציה
סימולציה מונחית אירועים מול סימולציה מונחית תהליך • סימולציה מונחית תהליך מנקודת מבט של ישות: • "צור את עצמך" (הגעת ישות) • כתוב את זמן ההגעה שלך על אחד מהתכונות שלך כך שתדע את זמן הגעתך מאוחר יותר כשתצטרך לחדש את "זמן המתנה בתור" וכן את "זמן במערכת" • שים את עצמך בסוף התור • חכה בתור עד שהמכונה תהיה לא עסוקה (זה יכול להיות 0 זמן אם יש לך מזל) • תפוס את המכונה (וכמובן צא מהתור) • חשב את הזמן שהמתנת בתור ורשום זאת • הישאר במכונה לזמן מסוים בהתאם לדרישות המכונה • שחרר את המכונה (כך שישויות אחרות יוכלו להשתמש בה) • הוסף 1 למונה הגמורים ורשום את זמן שהייתך במערכת • הוצא עצמך מהמערכת ולך... סימולציה עקרונות בסיסיים בסימולציה
אקראיות בסימולציה • קלט אקראי – פלט אקראי: • הסימולציה שהרצנו – מתאימה ליום מסוים בשעה מסוימת • מה אם נרצה יום טיפוסי? • שכפול הדוגמא: • ביצוע 5 הרצות לא תלויות: סימולציה עקרונות בסיסיים בסימולציה
אקראיות בסימולציה • שכפול הדוגמא...המשך: • מכיוון שההרצות הן בלתי תלויות ובהתפלגויות זהות, ניתן להגדיר רווח בר סמך לערך MUE שהוא מדד ביצועים צפוי (או ממוצע המדגם של מספר אינסופי של הרצות): סימולציה עקרונות בסיסיים בסימולציה
אקראיות בסימולציה • השוואת אלטרנטיבות: • הכפלת קצב הגעת היישויות מערך • מרכזי של 5 לערך של 2.5 דקות. סימולציה עקרונות בסיסיים בסימולציה
עקרונות בסיסיים בסימולציה סימולציה הקדמה לסימולציה