א ב ג ד ה לימודי מוסמך בלוגיסטיקה הרצאה 0: תורת התורים נוסחאות כלליות ותורים של שרת יחיד תרגיל בתחנת מוניות יש מקום ל מוניות ויש מקום לשלושה נוסעים ממתינים. כאשר נוסע מגיע ויש מוניות ממתינות הוא עוזב מיד, עם אחת המוניות. אם אין מונית ויש מקום להמתין הוא ממתין בתור. אם אין מקום להמתין הוא לא נכנס לתחנה הולך לאיבוד). אם מונית מגיעה לתחנה ויש נוסעים היא עוזבת מיד עם אחד הנוסעים. אם אין נוסעים ויש מקום המונית ממתינה לנוסעים. אחרת המונית עוזבת בלי להיכנס כלל לתחנה. המוניות מגיעות לתחנה בתהליך פואסון בקצב = 9 λ מוניות לשעה. הנוסעים מגיעים לתחנה בתהליך פואסון בקצב = 6 µ נוסעים לשעה. הצג מערכת זו על ידי תהליך מרקוב בזמן רציף t X וענה על השאלות הבאות: צייר דיאגרמה של המצבים ושל קצבי המעבר. השתמש בשיטות של ניתוח תהליכי לידה ומוות כדי לחשב את ההסתברויות הסטציונריות של התהליך. מה ההסתברות שנוסע שמגיע לתחנה ימצא מיד מונית. איזה חלק מהמוניות לא ייכנסו כלל לתחנה. מהו זמן ההמתנה הממוצע של נוסע שמגיע ונכנס לתחנה כאשר אין בה מוניות. מספר נוסחאות כלליות: הדינמיקה של התור: זמן שהיה = זמן המתנה + זמן שרות: אורך התור = הגעות עזיבות: נוסחת לינדלי: ההמתנה של הצרכן הבא = המתנה ועוד שרות של הנוכחי פחות הזמן בין המופעים, או 0 נוסחת ליטל:
במילים: אם מתחילים וגומרים במערכת ריקה, אז במשך זמן T שבו משרתים צרכנים ניתן לסכם או את מספר הצרכנים בכל יחידת זמן בזמן רציף זה חישוב אינטגרל), או את זמני השהיה של הצרכנים. אותו שויון קיים בקירוב עבור זמן ארוך כל עוד המערכת יציבה וזמני השהיה של הצרכנים הם יציבים. m : שימוש בנוסחת ליטל: אחוז הזמן שהשרת עסוק הוא נכנסים בקצב λ שוהים זמן ממוצע אז אבל זה ממוצע של או 0 צרכנים או צרכן ולכן = L = 0 P server empty) + P server busy) L = λm = תרגיל : בדוק את נוסחת ליטל עבור כל אחת מהסימולציות שביצעת בתרגיל הקודם.
תורים נוצרים בגלל שונות בתהליך המופעים ובזמני השרות: בדוגמא הראשונה והשניה העומס זהה, והשרת עסוק 0.9 מהזמן, אבל בדוגמא הראשונה אין בכלל המתנה,.9 E Q t)) = ובדוגמא השניה יש בממוצע כפי שחישבנו לתור M/M/ 9 =.9 = חישוב זמן המתנה בתור M/M/ זמן השהיה של צרכן מורכב מזמן המתנה ועוד זמן שרות. זמן ההמתנה הוא משך השרות של כל הצרכנים שנמצאים בתור לפניו. לכן, הסיכוי שהוא ישהה זמן x יש לו צפיפות לפי נוסחת הסתברות שלמה: fw x) = P Q t ) = n) fs ) + + Sn + S x n= 0 n+ n n µ x x ) e µ = n= 0 n! µ λ) x = µ λ) e התוצאה הזו נכונה אבל עשינו הנחה לא מוצדקת בקבלת התוצאה. 3
בדוגמא הראשונה המספר הממוצע של נסתכל שוב בדוגמאות ו שבהן ראינו שתור נוצר בגלל שונויות. כלומר: צרכנים שמגיעים לא רואים 0.9 אבל כל צרכן שמגיע רואה מערכת ריקה. צרכנים במערכת הוא בהכרח את המצב הממוצע של המערכת לפי ההגיון הם צריכים אולי לראות פחות מהממוצע ומיד אחרי ההגעה צריך אולי לראות יותר מהממוצע. זהו ממוצע על פני כל הזמנים ) T גדול) T E Q t)) Q t) dt T 0 הממוצע במצב יציב הוא: לעומת זאת tn)) E Q tm)) Q ממוצע על פני כל הצרכנים ) גדול) n = מה שרואים הצרכנים המגיעים הוא: בדרך כלל אין שום סיבה לחשוב ששני הגדלים שוים. אם צרכנים מגיעים לתור בזמנים שהם משפט: average) : PASTA poisson arrivals see time ממוצע על פני כל הצרכנים שוה תהליך פואסון אז הם רואים בממוצע בדיוק את הממוצע לאורך זמן ארוך. לממוצע על פני כל הזמנים. לפי PASTA בתור M/M/ הממוצעת שיש בתור בממוצע כל פני כל הזמנים. מוצדק. כמות העבודה הממוצעת שיש בתור ברגע שמגיע צרכן שוה לכמות העבודה לכן החישוב שעשינו לזמן ההמתנה בתור היה M/M/ עוד דוגמא לשימוש ב : PASTA אמרנו שבתחנת הדלק, או בתור M/M/K/K הסיכוי שצרכן שמגיע מוצא שאין מקום עבורו במערכת הוא בדיוק PASTA π. K זה נכון בגלל שהמופעים הם בתהליך פואסון ולכן יש לנו חוק שימור עבודה n כמות העבודה במערכת קופצת ב S n כאשר מגיע צרכן ויורדת כל הזמן בקצב כל עוד יש צרכנים במערכת. שימו לב כמות העבודה לא תלויה במשטר השרות: FCFS או LCFS או sharing) PS processor או מדיניות עדיפויות כלשהי. בכולם סה"כ העבודה במערכת זהה לתמונה. 4
: תור M/G/ ). W t n t n נחשב את זמן השהיה הממוצע בתור. צרכן שמגיע ברגע רואה לפניו את נניח שהשרות הוא שם אחר הוא FIFO first in first out אז זהו זמן ההמתנה שלו, T FCFS זמן ההמתנה הממוצע: עבור גדולים מקבלים T V = Vn = W tn) = W t) dt n= n= PASTA T 0 נסתכל בתמונה ונראה כי: T W t) dt = VnSn + Sn ) 0 n= לכן נקבל: נוסחת חינצ'ין פולטשק T V = W t) dt VnSn Sn ) T = 0 T + n= + c = λ Vm + E S )) = λ Vm + m s ) + c = V + m s ) + c V = m s זמן שהיה ממוצע: + c W = m s + m + c E Q ) s V = λv = מספר צרכנים ממוצע בתור ממתינים) לפי ליטל ומספר צרכנים ממוצע במערכת, לפי ליטל 5
n במערכת + c E Q) = W = V + = s + λ λ טרנספורם לפלאס: אין לנו נוסחה עבור ההתפלגות של המשתנה הרצף שהוא התפלגות זמן ההמתנה של הצרכן ה M/G/ במצב יציב, אבל יש נוסחה מפורשת לטרנספורם לפלאס שלה: sx sx Ψ X s) = E e ) = e f X x) dx 0 µ x sx µ x µ X exp µ ), f X x) = µ e, Ψ X s) = e µ e dx = 0 µ + s נוסחת חינצ'ין פולטשק עבור טרנספורם לפלאס של זמן ההמתנה בתור: Vn : Ψ V s) = n s λ + λ Ψ S n s) זה מאפשר לחשב נומרית כל הסתברות שרוצים עבור התור M/G/ תור GI/M/ זמני השרות אכספוננציאליים חסרי זכרון. הזמנים הבין מופעיים הם בלתי תלויים שוי התפלגות מהתפלגות H עם צפיפות. h אורך התור וכמות העבודה כבר אינם תהליכי מרקוב. אבל ניתן להסתכל על התהליך ברגעי ההגעה של הצרכנים, ואז לפי חוסר הזכרון התהליך ברגעים אלה הוא כן מרקובי. זה נקרא תהליך מרקוב משוכן process).embedded Markov. n מספר הצרכנים לפני רגע ההגעה של הצרכן ה Qn = Q tn נגדיר: אז Q n הוא שרשרת מרקוב בזמן בדיד. נגדיר: ν k µ t) µ t k = P Qn+ = i + k Qn = i) = e h t) dt 0 k! ν ν 0 ν ν ν 0 ν P = ν0 ν k ν אז מטריצת המעבר עבור התהליך Q n היא מכאן מקבלים כי ההתפלגות הסטציונרית של מספר הצרכנים שרואה צרכן שמגיע היא גאומטרית עם: 6
k P Qn = k) = uk = α ) α, α = ΨT µ α )) < למשואה עבור α יש פתרון יחיד בין 0 ל אם ורק אם למערכת קיים ההתפלגות הסטציונרית של אורך התור בזמן כלשהו לא רק ברגע הגעה) היא: π0 = P Q t) = k) = k πk = α ) α k =,, תור GI/G/ לתור GI/G/ אין נוסחאות מפורשות לשום מדד של ביצועי התור. פתרון משואות מסובכות או על ידי קירובים. נניח כי קצב המופע והזמן הבינמופעי מתפלג H עם צפיפות כל חישוב דורש הערכה נומרית על ידי h g הוא λ נניח כי קצב השרות הוא µ וזמן השרות מתפלג G עם צפיפות חסם קינגמן וקירוב במצב של : heavy traffic ca + c V = m s שימו לב לתור GI/G/ בעומס כבד זמן ההמתנה הוא בקירוב: 7
V + c = m s + V = m = a c לבין מופעי אכספוננציאלי) M/G/ זמן המתנה הוא ) M/M/ זמן המתנה הוא = s c לשרות אכספוננציאלי) בתור בתור קירובי נוזלים וקירובי דיפוזיה אם נסתכל בתהליך ההגעות t )A ונסתכל על הזמן ביחידות של ונספור את מספר המגיעים ביחידות A t) = A t) λt של אז לפי חוק המספרים הגדולים נקבל בקירוב כי: באותו אופן, אם השרת עובד ברציפות במשך זמן t שרות שנסמנו ב אז כאשר סופרים זמן ביחידות של ואנחנו סופרים את מספר הצרכנים המצטבר שיקבלו וצרכנים ביחידות של מקבלים: S t) A t) = λ t, S t) = µ t. S t) = S t) µ t קירוב הנוזלים של תהליך ההגעות ותהליך השרותים הוא: אם מתחילים עם כמות נוזלים התחלתית 0)Q אז קירוב נוזלים של התור הוא : ) λ µ ) + + Q t) = Q0) + A t) S t) = Q0) + ) t קירוב הנוזלים מבוסס על החוק החזק של המספרים הגדולים ומתעלם לגמרי מהאקראיות. 8
שימוש במשפט הגבול המרכזי נותן לנו קירוב לסטיות האקראיות מקירוב הנוזלים. אם נסתכל בתהליך ההגעות ביחידות זמן של ונחסיר ממנו את קירוב הנוזלים ונחלק בשורש של נקבל לפי משפט הגבול המרכזי הגירסה הפונקציונלית) כי: ˆ A t) A t) A t) = BM t), BM t) 0, λcat). λc a כאשר t) BM הוא תנועה בראונית עם ממוצע 0 ועם פרמטר דיפוזיה ˆ S t) S t) S t) = BM t), BM t) 0, µ cst) באותו אופן לתהליך השרות λ =, µ אז ההפרש בין ) = d אם קצב המופע וקצב השרות קרובים מאוד זה לזה כך ש מספר המופעים ומספר השרותים הוא בקירוב: ˆ ˆ ) ) ˆ Z t = A t S t) BM t), BM t) dt, λcat) אבל חלק מהזמן התור ריק ואז לא עוזבים צרכנים. ˆ התהליך t Z הוא אורך תור אם עובדים כל הזמן. קירוב דיפוזיה של תור כאשר קצב מופע קרוב מאוד לקצב השרות הוא: ˆ ) ˆ ) ˆ Q t = Z t + Y t) 0, ˆ Y 0) = 0, ˆ ), ˆ ) ˆ Y t Y t increases only when Q t) = 0 RBM reflected Brownian motion or ˆ לתהליך t Q קוראים תנועה בראונית משוקפת או מבוקרת regulated Brownian motion 9
א ב ג ה ד לימודי מוסמך בלוגיסטיקה תרגיל 3: סימולציה בנושא של שיתוף משאבים. צרכנים מגיעים בתהליך פואסון עם קצב. λ לכל צרכן יש דרישת לשרות אכספוננציאלי עם קצב µ ממוצע. µ רוצים להשוות בין מספר צורות שרות. יש שני תורים נפרדים כל אחד עם שרת יחיד, וצרכן שמגיע בוחר להצטרף לאחד מהם בהסתברות. יש שני תורים נפרדים, וצרכנים נשלחים לתור האחד או השני לסירוגין. יש שני תורים נפרדים, וצרכן שמגיע מצטרף לתור הקצר יותר. יש שני שרתים עם תור יחיד. יש שרת יחיד שעובד במהירות כפולה זמן השרות אצלו הוא חצי מדרישת השרות. השוה על ידי סימולציה שבה אתה יוצר 00 צרכנים עם זמני הגעה ודרישות שרות לכל אחד מהם, ואחר כך אתה מעביר את אותם הצרכנים דרך כל אחת מחמש מערכות השרות האלה. בנה היסטוגרמה של זמני השהיה במערכת לכל אופציה. רבעון תחתון, רבעון עליון ובנה דיאגרמת קופסה עבורם plot).box הנתונים לסימולציה: λ µ = 0.5, λ = 0., = = 0.8 µ חשב ממוצע, סטית תקן, מקסימום, מינימום, חציון, 0
א ב ג ד ה א ב ה ג ד לימודי מוסמך בלוגיסטיקה סיכום התרגילים תרגיל בתחנת מוניות יש מקום ל מוניות ויש מקום לשלושה נוסעים ממתינים. כאשר נוסע מגיע ויש מוניות ממתינות הוא עוזב מיד, עם אחת המוניות. אם אין מונית ויש מקום להמתין הוא ממתין בתור. אם אין מקום להמתין הוא לא נכנס לתחנה הולך לאיבוד). אם מונית מגיעה לתחנה ויש נוסעים היא עוזבת מיד עם אחד הנוסעים. אם אין נוסעים ויש מקום המונית ממתינה לנוסעים. אחרת המונית עוזבת בלי להיכנס כלל לתחנה. המוניות מגיעות לתחנה בתהליך פואסון בקצב = 9 λ מוניות לשעה. הנוסעים מגיעים לתחנה בתהליך פואסון בקצב = 6 µ נוסעים לשעה. הצג מערכת זו על ידי תהליך מרקוב בזמן רציף t X וענה על השאלות הבאות: צייר דיאגרמה של המצבים ושל קצבי המעבר. השתמש בשיטות של ניתוח תהליכי לידה ומוות כדי לחשב את ההסתברויות הסטציונריות של התהליך. מה ההסתברות שנוסע שמגיע לתחנה ימצא מיד מונית. איזה חלק מהמוניות לא ייכנסו כלל לתחנה. מהו זמן ההמתנה הממוצע של נוסע שמגיע ונכנס לתחנה כאשר אין בה מוניות. : תרגיל בדוק את נוסחת ליטל עבור כל אחת מהסימולציות שביצעת. תרגיל 3: סימולציה בנושא של שיתוף משאבים. צרכנים מגיעים בתהליך פואסון עם קצב. λ לכל צרכן יש דרישת לשרות אכספוננציאלי עם קצב µ ממוצע. µ רוצים להשוות בין מספר צורות שרות.. יש שני תורים נפרדים כל אחד עם שרת יחיד, וצרכן שמגיע בוחר להצטרף לאחד מהם בהסתברות יש שני תורים נפרדים, וצרכנים נשלחים לתור האחד או השני לסירוגין. יש שני תורים נפרדים, וצרכן שמגיע מצטרף לתור הקצר יותר. יש שני שרתים עם תור יחיד. יש שרת יחיד שעובד במהירות כפולה זמן השרות אצלו הוא חצי מדרישת השרות. השוה על ידי סימולציה שבה אתה יוצר 00 צרכנים עם זמני הגעה ודרישות שרות לכל אחד מהם, ואחר כך אתה מעביר את אותם הצרכנים דרך כל אחת מחמש מערכות השרות האלה. בנה היסטוגרמה של זמני השהיה במערכת לכל אופציה. רבעון תחתון, רבעון עליון ובנה דיאגרמת קופסה עבורם plot).box הנתונים לסימולציה: λ µ = 0.5, λ = 0., = = 0.8 µ חשב ממוצע, סטית תקן, מקסימום, מינימום, חציון, מקורות: פרק 8 בספר של קולקרני על תורים - פרק בספר של Kelly - רשימות מקורס קצר שהעברתי בתאילנד וסינגפור בדף הקורס באתר שלי - רשימות הרצאות של פרופסור משה חביב מירושלים, ב http://pluto.huji.ac.il/~haviv/book3.pdf