הרצאה 9: CTMC מבוא לתורת התורים תורת התורים למערכת תורים שלושה מרכיבים עיקריים: -- זרם של צרכנים שזמני המופע שלהם הם תהליך נקודות T1, T1 + T2,, T1 + + T, -- דרישות שרות של הצרכנים, שהם סדרה של משתנים מקריים בלתי תלויים שוי התפלגות S1, S2,, S, -- שרתים המספקים את השרותים סימון שלושת השדות של :Kigma תור עם זרם מופעים פואסוני תור עם זמני שרות אכספוננציאליים תור עם שרת יחיד: הצרוף: (פרמטר ( λ הסימון הוא M / / (פרמטר ( µ הסימון הוא / M / / /1 M / M /1 תורים שנדבר עליהם: (חסר זכרון (memoryless תור של שרת יחיד עם מופעים פואסוניים ושרות אכספוננציאלי M / M / K / K M / M / M / M / s M / M /1 מספר המקומות במערכת), שהם תורי לידה ומוות. בין מופעים בלתי תלויים מהתפלגות כללית, כמו כן נדבר גם על רשתות תורים. דוגמאות לתורים: סופרמרקט בנקים שדות תעופה נוסעים מטוסים בהמתנה לנחיתה מטוסים בהמתנה להמראה שערי עליה למטוס תנועת רכב בכבישים מרכזית טלפון מודלים של ארלנג M / G /1 שירות כללי, (השדה הרביעי הוא GI / M /1 GI / G /1 Call Ceters ועוד. מופעים עם זמנים 1
א( ב( ה( ג( ד( לימודי מוסמך בלוגיסטיקה מערכות תקשורת, אינטרנט, טלפוניה סלולרית מתגים להעברת נתונים data switches מה נרצה לחשב: ( הסתברות סטציונרית שהמערכת ריקה ( תוחלת מספר השרתים העסוקים תוחלת מספר הצרכנים במערכת (עם או בלי אלה שבשרות) תוחלת זמן ההמתנה לשרות ותוחלת זמן השהיה במערכת ( אחוז הצרכנים שהולכים לאיבוד בגלל מערכת מלאה. t t ( ( סימונים נוספים: מספר הצרכנים במערכת בזמן כמות העבודה במערכת בזמן Q( t) W ( t) זמן המתנה של הצרכן ה זמן השהיה של הצרכן ה V W M / M / K / K M / M /1 תורי לידה ומות ראינו כבר את התורים תור / M : M / לפי הנוסחה הרגילה: λ0λ1 λ 1 λλ λ λ = 0 = 0 = 0, = 0,1, 2, µ 1µ 2 µ (2 ) ( ) µ µ µ! µ π π π π λ λ / µ ρ ρ ρ 1 = π = π0 = π0 e, π0 = e, π = e = 0 = 0! µ! : M / M / t M / G / תור / G : M / תוצאה מפתיעה: הוכחה: בתור מספר הצרכנים בגילים ושאורך חייהם עולה על מספר הצרכנים במערכת הוא כמו בתור x עד x + dx הוא כל אלה שהופיעו בזמן x לפני כלומר שמספרם בערך ((x λdx(1 )G לכן בסה"כ מכל המופיעים אלה שנמצאים x λdx λg( x) dx = λe( S) בשרות הם סכום של פואסונים, שהוא פואסוני, עם פרמטר: = ρ 0 2
תור : M / M / s π π λ = π0, = 0,1,, s,! µ λ = π0, = s + 1, s + 2, s s! s µ תרגיל 1 בתחנת דלק יש שתי משאבות ומקום לעוד 3 מכוניות ממתינות. בהנחה של חוסר זכרון בנה מודל. עבור הגעות בקצב של 15 מכוניות בשעה, וזמן תדלוק ממוצע של 10 דקות, חשב: אחוז מכוניות שלא נכנסות, זמן המתנה ממוצע, זמן שהיה ממוצע, אחוז הזמן שיש משאבה פנויה. חזור על החישובים כאשר מוסיפים עוד משאבה במקום אחד ממקומות ההמתנה הצגה גרפית של תורים: 3
ב( א( ד( ג( לימודי מוסמך בלוגיסטיקה תרגיל 2 סימולציות: בכל אחת מהסימולציות הבאות יצר 40 צרכנים ותאר את תהליך השרות שלהם. M ( λ = 5) / M ( µ = 7) /1 ( M ( λ = 5) / D( µ = 7) /1 ( D( λ = 5) / M ( µ = 7) /1 ( M ( λ = 10) / M ( µ = 7) / 2 ( (D פרושו התפלגות דטרמיניסטית משכי זמן שוים לכולם) עבור כל סימולציה צייר את אורך התור כפונקציה של הזמן. חשב את זמן השהיה הממוצע ואת זמן ההמתנה הממוצע. תרגיל 3: הסבר במה נבדל תור M/M/2 מתור M/M/1 עם שרת שעובד פי 2 יותר מהר. (רמז: ניתן לראות זאת על ידי סימולציה של מספר קטן של צרכנים עקרונית יש כאן שנים או שלושה הבדלים, ודי הרבה דברים דומים. ניתן להתחיל כשיש מערכת ריקה ומגיע צרכן יחיד ואז לראות מהציור מה ההבדל. אותו דבר במצב שהשרתים פנויים ומגיעים בבת אחת 5 צרכנים, ולבסוף לראות מה קורה כשיש צרכן אחד במערכת והוא בשרות, ומגיע עוד צרכן.) מספר נוסחאות כלליות: הדינמיקה של התור: זמן שהיה = זמן המתנה + זמן שרות: אורך התור = הגעות עזיבות: 4
נוסחת לינדלי: ההמתנה של הצרכן הבא = המתנה + שרות של הנוכחי פחות זמן בין המופעים או 0 נוסחת ליטל: במילים: אם מתחילים וגומרים במערכת ריקה, אז במשך זמן T שבו משרתים N צרכנים ניתן לסכם או את מספר הצרכנים בכל יחידת זמן (בזמן רציף זה חישב אינטגרל), או את זמני השהיה של הצרכנים. אותו שויון קיים בקירוב עבור זמן ארוך כל עוד המערכת יציבה וזמני השהיה של הצרכנים הם יציבים. 5
תרגיל : 4 בדוק את נוסחת ליטל עבור כל אחת מהסימולציות שביצעת. תורים נוצרים בגלל שונות בתהליך המופעים ובזמני השרות: חישוב זמן המתנה בתור M/M/1 זמן השהיה של צרכן מורכב מזמן המתנה ועוד זמן שרות. זמן ההמתנה הוא משך השרות של כל הצרכנים שנמצאים בתור לפניו. לכן, הסיכוי שהוא ישהה זמן x יש לו צפיפות לפי נוסחת הסתברות שלמה: fw ( x) = P( Q( t ) = ) fs ( ) 1+ + S + S x = 0 + 1 µ x x (1 ) e µ = ρ ρ = 0! ( λ µ ) x = ( µ λ) e התצאה הזו נכונה אבל עשינו הנחה לא מוצדקת בקבלת התוצאה. הסבר בפעם הבאה 6
ב( ג( א( ד( לימודי מוסמך בלוגיסטיקה סיכום התרגילים תרגיל 1 בתחנת דלק יש שתי משאבות ומקום לעוד 3 מכוניות ממתינות. בהנחה של חוסר זכרון בנה מודל. עבור הגעות בקצב של 15 מכוניות בשעה, וזמן תדלוק ממוצע של 10 דקות, חשב: אחוז מכוניות שלא נכנסות, זמן המתנה ממוצע, זמן שהיה ממוצע, אחוז הזמן שיש משאבה פנויה. חזור על החישובים כאשר מוסיפים עוד משאבה במקום אחד ממקומות ההמתנה תרגיל 2 סימולציות: בכל אחת מהסימולציות הבאות יצר 40 צרכנים ותאר את תהליך השרות שלהם. M ( λ = 5) / M ( µ = 7) /1 ( M ( λ = 5) / D( µ = 7) /1 ( D( λ = 5) / M ( µ = 7) /1 ( M ( λ = 10) / M ( µ = 7) / 2 ( (D פרושו התפלגות דטרמיניסטית משכי זמן שוים לכולם) עבור כל סימולציה צייר את אורך התור כפונקציה של הזמן. חשב את זמן השהיה הממוצע ואת זמן ההמתנה הממוצע. תרגיל 3: הסבר במה נבדל תור M/M/2 מתור M/M/1 עם שרת שעובד פי 2 יותר מהר. (רמז: ניתן לראות זאת על ידי סימולציה של מספר קטן של צרכנים עקרונית יש כאן שנים או שלושה הבדלים, ודי הרבה דברים דומים. ניתן להתחיל כשיש מערכת ריקה ומגיע צרכן יחיד ואז לראות מהציור מה ההבדל. אותו דבר במצב שהשרתים פנויים ומגיעים בבת אחת 5 צרכנים, ולבסוף לראות מה קורה כשיש צרכן אחד במערכת והוא בשרות, ומגיע עוד צרכן.) תרגיל : 4 בדוק את נוסחת ליטל עבור כל אחת מהסימולציות שביצעת. מקורות: פרק 8 בספר של קולקרני על תורים פרק 1 בספר של Kelly מסכם נהדר את הנושא של הפיכות בזמן בתהליכי מרקוב, מודל אהרנפסט, ותהליכי לידה ומוות. מומלץ!! דפים מהפרק הראשון נמצאים באתר הספריה עבור הקורס. את הספר של http://statslab.cam.ac.uk/~frak/books/kelly_book.html אפשר להוריד בשלמותו מ Kelly 7