طابور الخادم الواحد: المحاكاة حدثا بعد حدث
يتتبع هذا القسم محاكاة حاسوبية لطابور FIFO بخادم واحد، حدثا بعد حدث. نبدأ من نظام فارغ عند t = 0، ونطبق روتيني حدث الوصول وحدث المغادرة، ونأخذ لقطة (snapshot) للتمثيل الحاسوبي بعد كل حدث من الأحداث الـ13، ونتوقف عند t = 8.6 حين ينتهي انتظار العميل السادس. بعد ذلك يحول مولد التقارير العدادات الإحصائية إلى مقاييس الأداء الثلاثة.
الأهداف
- استرجاع مفاهيم الطوابير التي تحتاجها المحاكاة: الوصول، والخدمة، والـ
FIFO، والتأخير في الطابور، وQ(t)وB(t). - وصف كيف ينظم برنامج محاكاة الأحداث المتقطعة حول تقديم الزمن إلى الحدث التالي.
- تسمية كل متغير حالة، وقائمة الأحداث، والعدادات الإحصائية الأربعة.
- تطبيق قواعد التحديث الدقيقة لروتيني حدث الوصول وحدث المغادرة.
- تتبع الأحداث الـ13 كلها في التمرين حتى
t = 8.6وإعداد اللقطة بعد كل حدث. - حساب
d(n)وq(n)وu(n)وشرح ما يقوله كل منها عن النظام.
1. مفاهيم الطوابير التي نحتاجها
العناصر الأساسية
- العميل (customer): أي شيء يصل إلى منشأة ويحتاج إلى خدمة (أشخاص، آلات، شاحنات، رسائل بريد إلكتروني).
- الخادم (server): أي مورد يقدم الخدمة. وهو في أي لحظة إما مشغول (busy) أو خامل (idle).
- مجتمع العملاء (calling population): العملاء المحتملون. نعده هنا غير محدود، فلا يتأثر معدل الوصول بعدد العملاء الموجودين فعلا في النظام.
- سعة النظام (system capacity): غير محدودة في هذا التمرين.
العميل الذي ينتظر يكون في الطابور. أما العميل الذي تجري خدمته فهو داخل النظام لكنه ليس في الطابور.
الوصول والخدمة
هو زمن ما بين الوصول (inter-arrival time) للعميل i-1 والعميل i، ولذلك فإن زمن وصول أي عميل هو المجموع التراكمي لأزمنة ما بين الوصول. و هو زمن الخدمة (service time) للعميل i. وكلاهما متغير عشوائي مستقل ومتماثل التوزيع (IID)، وغالبا ما يكون أسيا، وهو ما يعطي وصولا من نوع بواسون (Poisson). وفي هذا التمرين تعطى القيم كما يلي:
| العميل | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|---|
| 0.4 | 1.2 | 0.5 | 1.7 | 0.2 | 1.6 | 0.2 | 1.4 | 1.9 | |
| زمن الوصول | 0.4 | 1.6 | 2.1 | 3.8 | 4.0 | 5.6 | 5.8 | 7.2 | 9.1 |
| 2.0 | 0.7 | 0.2 | 1.1 | 3.7 | 0.6 |
قاعدة الطابور
تحدد قاعدة الطابور (queue discipline) أي عميل منتظر يخدم بعد ذلك حين يتحرر الخادم: FIFO (الداخل أولا يخرج أولا)، أو LIFO (الداخل أخيرا يخرج أولا)، أو SIRO (الخدمة بترتيب عشوائي)، أو SPT (أقصر زمن معالجة أولا)، أو PR (حسب الأولوية). يستخدم هذا الدرس FIFO، فيبدأ العملاء الخدمة بترتيب وصولهم: العميل k يستخدم زمن الخدمة ، والموقع الأول في مصفوفة أزمنة الوصول يخص دائما العميل التالي في الخدمة.
التأخير في الطابور
التأخير (delay) للعميل i هو الزمن الذي ينتظره في الطابور: زمن بدء خدمته مطروحا منه زمن وصوله. إذا كان الخادم خاملا عند وصوله تبدأ الخدمة فورا ويكون ، ويبقى هذا التأخير الصفري تأخيرا مرصودا يحتسب. وبوجه عام، زمن المغادرة هو زمن الوصول زائد التأخير زائد زمن الخدمة.
Q(t) و B(t)
Q(t)هو عدد العملاء في الطابور عند الزمنt(العميل الذي تجري خدمته لا يحتسب).B(t)هي دالة الانشغال (busy function):1إذا كان الخادم مشغولا عند الزمنt، و0إذا كان خاملا.
كلتا الدالتين لا تتغير إلا عند الأحداث، فهي ثابتة بين أي حدثين. والمساحة تحت كل منهما مجموع مستطيلات، مساحة كل منها القيمة مضروبة في طول الفترة.
مقاييس الأداء الثلاثة
حيث تأخير العميل ، و عدد التأخيرات التي يرصدها التشغيل، و زمن انتهاء التشغيل (عند اكتمال التأخير رقم )، و و الدالتان السلميتان أعلاه. وكل تكامل هو المساحة تحت الدالة من إلى .
| المقياس | المعنى |
|---|---|
d(n) | متوسط الزمن الذي ينتظره العميل في الطابور (average delay in queue) |
q(n) | متوسط عدد العملاء المنتظرين موزونا بالزمن (time-average number in queue) |
u(n) | نسبة زمن التشغيل التي يكون فيها الخادم مشغولا (server utilization) |
يريد العملاء أن يكون d(n) وq(n) صغيرين، وتريد المؤسسة أن يكون u(n) مرتفعا. والتصميم الجيد يوازن بين الأمرين.
قاعدة التوقف
يتوقف التشغيل حين يرصد n تأخيرا في الطابور، وهنا n = 6. ويجري هذا الفحص بعد كل حدث. وفي التمرين يحدث ذلك عند t = 8.6، حين يغادر العميل 5 ويبدأ العميل 6 خدمته، فيكون T(6) = 8.6. لاحظ أن التشغيل لا يتوقف عند وصول العميل 6 (عند 5.6)، بل يتوقف حين ينتهي انتظاره.
2. كيف ينظم البرنامج
تقديم الزمن إلى الحدث التالي
- اضبط ساعة المحاكاة على 0.
- اقرأ أزمنة الأحداث المستقبلية من قائمة الأحداث.
- قدم الساعة إلى الحدث الأقرب، أي أصغر زمن في القائمة.
- نفذ ذلك الحدث، أي تحديث حالة النظام والعدادات الإحصائية، وربما قائمة الأحداث.
- كرر حتى تتحقق قاعدة التوقف.
تقفز الساعة من حدث إلى الحدث الذي يليه، وتتخطى فترات عدم النشاط. والبديل هو تقديم الزمن بخطوات ثابتة (fixed-increment time advance)، إذ تتحرك الساعة بخطوات متساوية ويعامل كل حدث يقع داخل الخطوة كأنه وقع في نهايتها، وهذا أقل دقة.
مكونات نموذج محاكاة الأحداث المتقطعة
| المكون | الدور |
|---|---|
| حالة النظام (system state) | متغيرات تصف النظام عند زمن معين |
| ساعة المحاكاة (simulation clock) | القيمة الحالية للزمن المحاكى |
| قائمة الأحداث (event list) | زمن الحدث التالي من كل نوع (هنا: الوصول التالي، والمغادرة التالية) |
| العدادات الإحصائية (statistical counters) | متغيرات تجمع المعلومات عن الأداء |
| روتين التهيئة (initialization routine) | يهيئ النموذج عند الزمن 0 |
| روتين التوقيت (timing routine) | يحدد الحدث التالي من قائمة الأحداث ويقدم الساعة إليه |
| روتين الحدث (event routine) | يتولى تحديث حالة النظام حين يقع حدث من نوعه (روتين لكل نوع) |
| روتين المكتبة (library routine) | يولد قيما عشوائية من التوزيعات المختارة |
| مولد التقارير (report generator) | يحسب مقاييس الأداء من العدادات في النهاية |
| البرنامج الرئيسي (main program) | يستدعي روتين التوقيت، ثم روتين الحدث المناسب، ويفحص شرط الانتهاء، ويستدعي مولد التقارير |
مسار البرنامج الرئيسي
- البداية.
- روتين التهيئة: ضبط الساعة على 0، وتهيئة الحالة والعدادات وقائمة الأحداث.
- كرر ما يلي:
- روتين التوقيت: تحديد نوع الحدث التالي
i، وتقديم الساعة. - روتين الحدث
i: تحديث الحالة، وتحديث العدادات، وجدولة الأحداث المستقبلية (ويمده روتين المكتبة بالقيم العشوائية). - انتهت المحاكاة؟ لا: عودة إلى روتين التوقيت. نعم: الانتقال إلى مولد التقارير.
- روتين التوقيت: تحديد نوع الحدث التالي
- مولد التقارير: حساب التقديرات، وكتابة التقرير.
- النهاية.
في هذا التمرين تعطى قيم A وS، فلا يفعل روتين المكتبة أكثر من تسليم القيمة التالية من القائمة.
3. التمثيل الحاسوبي
الحالة والساعة وقائمة الأحداث والعدادات
| الجزء | المتغير | المعنى | عند t = 0 |
|---|---|---|---|
| حالة النظام | حالة الخادم | 1 مشغول، 0 خامل | 0 |
| حالة النظام | العدد في الطابور | العملاء المنتظرون، دون العميل الذي تجري خدمته | 0 |
| حالة النظام | أزمنة الوصول | زمن وصول كل عميل منتظر، بترتيب الطابور | فارغة |
| حالة النظام | زمن آخر حدث | قيمة الساعة عند الحدث السابق | 0 |
| الساعة | الساعة | الزمن المحاكى الحالي | 0 |
| قائمة الأحداث | A | زمن الوصول التالي | 0.4 |
| قائمة الأحداث | D | زمن المغادرة التالية، ∞ حين يكون الخادم خاملا | ∞ |
| العدادات | عدد التأخيرات | التأخيرات المرصودة حتى الآن | 0 |
| العدادات | إجمالي التأخير | مجموع تلك التأخيرات | 0 |
| العدادات | المساحة تحت Q(t) | المساحة المتراكمة تحت منحنى طول الطابور | 0 |
| العدادات | المساحة تحت B(t) | المساحة المتراكمة تحت دالة الانشغال | 0 |
توجد مصفوفة أزمنة الوصول لأن البرنامج يحتاج زمن وصول العميل المنتظر حين يبدأ خدمته أخيرا، كي يحسب تأخيره.
القاعدة 1: تحديث المساحتين أولا، بالحالة السابقة
حيث قيمة الساعة الجديدة، و زمن آخر حدث، و و عدد العملاء في الطابور وحالة الخادم قبل أن يغيرهما الحدث:
كل تكامل هنا عداد مساحة: من إلى قيمته قبل الحدث، ومن إلى قيمته بعده. ثم اجعل زمن آخر حدث مساويا للساعة، فتصبح مساوية لـ.
بين آخر حدث واللحظة الحالية بقي طول الطابور وحالة الخادم على قيمتيهما القديمتين، وذلك المستطيل هو ما يضيفه العداد.
القاعدة 2: روتين حدث الوصول
- تحديث المساحتين بالحالة السابقة.
- جدولة الوصول التالي: ، حيث قيمة الساعة و
iالعميل الذي يصل الآن. - إذا كان الخادم مشغولا: إضافة 1 إلى العدد في الطابور، وتخزين قيمة الساعة في الموقع الفارغ التالي من مصفوفة أزمنة الوصول.
- إذا كان الخادم خاملا: التأخير 0، فيضاف 1 إلى عدد التأخيرات (ويبقى إجمالي التأخير دون تغيير)، وتصبح حالة الخادم 1، وتجدول مغادرة هذا العميل .
- جعل زمن آخر حدث مساويا للساعة، .
القاعدة 3: روتين حدث المغادرة
- الطابور فارغ: تحديث المساحتين، وجعل حالة الخادم 0 و
D = ∞، وجعل زمن آخر حدث مساويا للساعة. - الطابور غير فارغ: تحديث المساحتين، وحساب تأخير العميل الداخل إلى الخدمة بطرح الزمن الأول في المصفوفة من الساعة، وإضافته إلى إجمالي التأخير وإضافة 1 إلى عدد التأخيرات، وجدولة للعميل الجديد ، وطرح 1 من العدد في الطابور وإزاحة كل زمن في المصفوفة موقعا واحدا إلى الأمام، وجعل زمن آخر حدث مساويا للساعة.
يجب حساب التأخير قبل إزاحة المصفوفة، لأن زمن وصول العميل الداخل إلى الخدمة يبقى في الموقع الأول حتى الإزاحة فقط.
4. تتبع الأحداث حدثا بعد حدث
يضم التشغيل التالي 13 حدثا. نعرض لكل حدث: اختيار روتين التوقيت، ثم التحديثات بترتيبها، ثم اللقطة بعد الحدث. الأحداث الأربعة الأولى هي المعروضة في شرائح التمرين، وبقية الأحداث تكمل التمرين.
t = 0: التهيئة
الساعة 0، والخادم خامل، والطابور فارغ، وكل العدادات 0. أول حدث هو دائما وصول، فيكون A = A1 = 0.4 وD = ∞.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 0 | 0 | فارغة | 0 | 0.4 | ∞ | 0 | 0 | 0 | 0 |
الحدث 1، t = 0.4: وصول العميل 1
- روتين التوقيت: قائمة الأحداث تحوي
A = 0.4وD = ∞، والأصغر هو A = 0.4. - المساحتان أولا، بالحالة السابقة:
Q: 0 + 0 × (0.4 - 0) = 0وB: 0 + 0 × (0.4 - 0) = 0. - جدولة الوصول التالي:
A = 0.4 + 1.2 = 1.6(باستخدامA2). - الخادم خامل: يبدأ العميل 1 خدمته فورا، والتأخير
0، وعدد التأخيرات1. - حالة الخادم
1، وجدولة المغادرة:D = 0.4 + 2.0 = 2.4(باستخدامS1).
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 0.4 | 1 | 0 | فارغة | 0.4 | 1.6 | 2.4 | 1 | 0 | 0 | 0 |
الحدث 2، t = 1.6: وصول العميل 2
- روتين التوقيت: قائمة الأحداث تحوي
A = 1.6وD = 2.4، والأصغر هو A = 1.6. - المساحتان أولا، بالحالة السابقة:
Q: 0 + 0 × (1.6 - 0.4) = 0وB: 0 + 1 × (1.6 - 0.4) = 1.2. - جدولة الوصول التالي:
A = 1.6 + 0.5 = 2.1(باستخدامA3). - الخادم مشغول: ينضم العميل 2 إلى الطابور،
Q = 1، ويخزن الزمن1.6في الموقع 1.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 1.6 | 1 | 1 | 1.6 | 1.6 | 2.1 | 2.4 | 1 | 0 | 0 | 1.2 |
الحدث 3، t = 2.1: وصول العميل 3
- روتين التوقيت: قائمة الأحداث تحوي
A = 2.1وD = 2.4، والأصغر هو A = 2.1. - المساحتان أولا، بالحالة السابقة:
Q: 0 + 1 × (2.1 - 1.6) = 0.5وB: 1.2 + 1 × (2.1 - 1.6) = 1.7. - جدولة الوصول التالي:
A = 2.1 + 1.7 = 3.8(باستخدامA4). - الخادم مشغول: ينضم العميل 3 إلى الطابور،
Q = 2، ويخزن الزمن2.1في الموقع 2.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.1 | 1 | 2 | 1.6, 2.1 | 2.1 | 3.8 | 2.4 | 1 | 0 | 0.5 | 1.7 |
الحدث 4، t = 2.4: مغادرة العميل 1
- روتين التوقيت: قائمة الأحداث تحوي
A = 3.8وD = 2.4، والأصغر هو D = 2.4. - المساحتان أولا، بالحالة السابقة:
Q: 0.5 + 2 × (2.4 - 2.1) = 1.1وB: 1.7 + 1 × (2.4 - 2.1) = 2.0. - يغادر العميل 2 الطابور: التأخير
2.4 - 1.6 = 0.8، ويقرأ قبل الإزاحة. - إجمالي التأخير
0 + 0.8 = 0.8، وعدد التأخيرات2. - جدولة المغادرة:
D = 2.4 + 0.7 = 3.1(باستخدامS2). - Q = 1، وتزاح المصفوفة موقعا واحدا إلى الأمام: 2.1.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 2.4 | 1 | 1 | 2.1 | 2.4 | 3.8 | 3.1 | 2 | 0.8 | 1.1 | 2.0 |
الحدث 5، t = 3.1: مغادرة العميل 2
- روتين التوقيت: قائمة الأحداث تحوي
A = 3.8وD = 3.1، والأصغر هو D = 3.1. - المساحتان أولا، بالحالة السابقة:
Q: 1.1 + 1 × (3.1 - 2.4) = 1.8وB: 2.0 + 1 × (3.1 - 2.4) = 2.7. - يغادر العميل 3 الطابور: التأخير
3.1 - 2.1 = 1.0، ويقرأ قبل الإزاحة. - إجمالي التأخير
0.8 + 1.0 = 1.8، وعدد التأخيرات3. - جدولة المغادرة:
D = 3.1 + 0.2 = 3.3(باستخدامS3). - Q = 0، وتزاح المصفوفة موقعا واحدا إلى الأمام: فارغة.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 3.1 | 1 | 0 | فارغة | 3.1 | 3.8 | 3.3 | 3 | 1.8 | 1.8 | 2.7 |
الحدث 6، t = 3.3: مغادرة العميل 3
- روتين التوقيت: قائمة الأحداث تحوي
A = 3.8وD = 3.3، والأصغر هو D = 3.3. - المساحتان أولا، بالحالة السابقة:
Q: 1.8 + 0 × (3.3 - 3.1) = 1.8وB: 2.7 + 1 × (3.3 - 3.1) = 2.9. - الطابور فارغ: حالة الخادم
0وD = ∞.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 3.3 | 0 | 0 | فارغة | 3.3 | 3.8 | ∞ | 3 | 1.8 | 1.8 | 2.9 |
الحدث 7، t = 3.8: وصول العميل 4
- روتين التوقيت: قائمة الأحداث تحوي
A = 3.8وD = ∞، والأصغر هو A = 3.8. - المساحتان أولا، بالحالة السابقة:
Q: 1.8 + 0 × (3.8 - 3.3) = 1.8وB: 2.9 + 0 × (3.8 - 3.3) = 2.9. - جدولة الوصول التالي:
A = 3.8 + 0.2 = 4.0(باستخدامA5). - الخادم خامل: يبدأ العميل 4 خدمته فورا، والتأخير
0، وعدد التأخيرات4. - حالة الخادم
1، وجدولة المغادرة:D = 3.8 + 1.1 = 4.9(باستخدامS4).
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 3.8 | 1 | 0 | فارغة | 3.8 | 4.0 | 4.9 | 4 | 1.8 | 1.8 | 2.9 |
الحدث 8، t = 4.0: وصول العميل 5
- روتين التوقيت: قائمة الأحداث تحوي
A = 4.0وD = 4.9، والأصغر هو A = 4.0. - المساحتان أولا، بالحالة السابقة:
Q: 1.8 + 0 × (4.0 - 3.8) = 1.8وB: 2.9 + 1 × (4.0 - 3.8) = 3.1. - جدولة الوصول التالي:
A = 4.0 + 1.6 = 5.6(باستخدامA6). - الخادم مشغول: ينضم العميل 5 إلى الطابور،
Q = 1، ويخزن الزمن4.0في الموقع 1.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 4.0 | 1 | 1 | 4.0 | 4.0 | 5.6 | 4.9 | 4 | 1.8 | 1.8 | 3.1 |
الحدث 9، t = 4.9: مغادرة العميل 4
- روتين التوقيت: قائمة الأحداث تحوي
A = 5.6وD = 4.9، والأصغر هو D = 4.9. - المساحتان أولا، بالحالة السابقة:
Q: 1.8 + 1 × (4.9 - 4.0) = 2.7وB: 3.1 + 1 × (4.9 - 4.0) = 4.0. - يغادر العميل 5 الطابور: التأخير
4.9 - 4.0 = 0.9، ويقرأ قبل الإزاحة. - إجمالي التأخير
1.8 + 0.9 = 2.7، وعدد التأخيرات5. - جدولة المغادرة:
D = 4.9 + 3.7 = 8.6(باستخدامS5). - Q = 0، وتزاح المصفوفة موقعا واحدا إلى الأمام: فارغة.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 4.9 | 1 | 0 | فارغة | 4.9 | 5.6 | 8.6 | 5 | 2.7 | 2.7 | 4.0 |
الحدث 10، t = 5.6: وصول العميل 6
- روتين التوقيت: قائمة الأحداث تحوي
A = 5.6وD = 8.6، والأصغر هو A = 5.6. - المساحتان أولا، بالحالة السابقة:
Q: 2.7 + 0 × (5.6 - 4.9) = 2.7وB: 4.0 + 1 × (5.6 - 4.9) = 4.7. - جدولة الوصول التالي:
A = 5.6 + 0.2 = 5.8(باستخدامA7). - الخادم مشغول: ينضم العميل 6 إلى الطابور،
Q = 1، ويخزن الزمن5.6في الموقع 1.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 5.6 | 1 | 1 | 5.6 | 5.6 | 5.8 | 8.6 | 5 | 2.7 | 2.7 | 4.7 |
الحدث 11، t = 5.8: وصول العميل 7
- روتين التوقيت: قائمة الأحداث تحوي
A = 5.8وD = 8.6، والأصغر هو A = 5.8. - المساحتان أولا، بالحالة السابقة:
Q: 2.7 + 1 × (5.8 - 5.6) = 2.9وB: 4.7 + 1 × (5.8 - 5.6) = 4.9. - جدولة الوصول التالي:
A = 5.8 + 1.4 = 7.2(باستخدامA8). - الخادم مشغول: ينضم العميل 7 إلى الطابور،
Q = 2، ويخزن الزمن5.8في الموقع 2.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 5.8 | 1 | 2 | 5.6, 5.8 | 5.8 | 7.2 | 8.6 | 5 | 2.7 | 2.9 | 4.9 |
الحدث 12، t = 7.2: وصول العميل 8
- روتين التوقيت: قائمة الأحداث تحوي
A = 7.2وD = 8.6، والأصغر هو A = 7.2. - المساحتان أولا، بالحالة السابقة:
Q: 2.9 + 2 × (7.2 - 5.8) = 5.7وB: 4.9 + 1 × (7.2 - 5.8) = 6.3. - جدولة الوصول التالي:
A = 7.2 + 1.9 = 9.1(باستخدامA9). - الخادم مشغول: ينضم العميل 8 إلى الطابور،
Q = 3، ويخزن الزمن7.2في الموقع 3.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 7.2 | 1 | 3 | 5.6, 5.8, 7.2 | 7.2 | 9.1 | 8.6 | 5 | 2.7 | 5.7 | 6.3 |
الحدث 13، t = 8.6: مغادرة العميل 5
- روتين التوقيت: قائمة الأحداث تحوي
A = 9.1وD = 8.6، والأصغر هو D = 8.6. - المساحتان أولا، بالحالة السابقة:
Q: 5.7 + 3 × (8.6 - 7.2) = 9.9وB: 6.3 + 1 × (8.6 - 7.2) = 7.7. - يغادر العميل 6 الطابور: التأخير
8.6 - 5.6 = 3.0، ويقرأ قبل الإزاحة. - إجمالي التأخير
2.7 + 3.0 = 5.7، وعدد التأخيرات6. - جدولة المغادرة:
D = 8.6 + 0.6 = 9.2(باستخدامS6). - Q = 2، وتزاح المصفوفة موقعا واحدا إلى الأمام: 5.8, 7.2.
- يبلغ عدد التأخيرات
6، وهيn: تحققت قاعدة التوقف، ويعمل مولد التقارير.
| الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|
| 8.6 | 1 | 2 | 5.8, 7.2 | 8.6 | 9.1 | 9.2 | 6 | 5.7 | 9.9 | 7.7 |
التشغيل كله في جدول واحد
| الحدث | النوع | الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | تهيئة | 0 | 0 | 0 | فارغة | 0 | 0.4 | ∞ | 0 | 0 | 0 | 0 |
| 1 | وصول 1 | 0.4 | 1 | 0 | فارغة | 0.4 | 1.6 | 2.4 | 1 | 0 | 0 | 0 |
| 2 | وصول 2 | 1.6 | 1 | 1 | 1.6 | 1.6 | 2.1 | 2.4 | 1 | 0 | 0 | 1.2 |
| 3 | وصول 3 | 2.1 | 1 | 2 | 1.6, 2.1 | 2.1 | 3.8 | 2.4 | 1 | 0 | 0.5 | 1.7 |
| 4 | مغادرة 1 | 2.4 | 1 | 1 | 2.1 | 2.4 | 3.8 | 3.1 | 2 | 0.8 | 1.1 | 2.0 |
| 5 | مغادرة 2 | 3.1 | 1 | 0 | فارغة | 3.1 | 3.8 | 3.3 | 3 | 1.8 | 1.8 | 2.7 |
| 6 | مغادرة 3 | 3.3 | 0 | 0 | فارغة | 3.3 | 3.8 | ∞ | 3 | 1.8 | 1.8 | 2.9 |
| 7 | وصول 4 | 3.8 | 1 | 0 | فارغة | 3.8 | 4.0 | 4.9 | 4 | 1.8 | 1.8 | 2.9 |
| 8 | وصول 5 | 4.0 | 1 | 1 | 4.0 | 4.0 | 5.6 | 4.9 | 4 | 1.8 | 1.8 | 3.1 |
| 9 | مغادرة 4 | 4.9 | 1 | 0 | فارغة | 4.9 | 5.6 | 8.6 | 5 | 2.7 | 2.7 | 4.0 |
| 10 | وصول 6 | 5.6 | 1 | 1 | 5.6 | 5.6 | 5.8 | 8.6 | 5 | 2.7 | 2.7 | 4.7 |
| 11 | وصول 7 | 5.8 | 1 | 2 | 5.6, 5.8 | 5.8 | 7.2 | 8.6 | 5 | 2.7 | 2.9 | 4.9 |
| 12 | وصول 8 | 7.2 | 1 | 3 | 5.6, 5.8, 7.2 | 7.2 | 9.1 | 8.6 | 5 | 2.7 | 5.7 | 6.3 |
| 13 | مغادرة 5 | 8.6 | 1 | 2 | 5.8, 7.2 | 8.6 | 9.1 | 9.2 | 6 | 5.7 | 9.9 | 7.7 |
التأخيرات الستة
| العميل | الوصول | بدء الخدمة | التأخير |
|---|---|---|---|
| 1 | 0.4 | 0.4 | 0 |
| 2 | 1.6 | 2.4 | 0.8 |
| 3 | 2.1 | 3.1 | 1.0 |
| 4 | 3.8 | 3.8 | 0 |
| 5 | 4.0 | 4.9 | 0.9 |
| 6 | 5.6 | 8.6 | 3.0 |
إجمالي التأخير هو مجموع التأخيرات الستة:
وجد العميلان 1 و4 الخادم خاملا، فتأخير كل منهما 0، لكن كلا منهما يحتسب مع ذلك في عدد التأخيرات.
5. Q(t) و B(t) والمساحتان
Q(t)
| الفترة | Q(t) | الطول | المساحة (Q مضروبا في الطول) |
|---|---|---|---|
| من 0 إلى 1.6 | 0 | 1.6 | 0 |
| من 1.6 إلى 2.1 | 1 | 0.5 | 0.5 |
| من 2.1 إلى 2.4 | 2 | 0.3 | 0.6 |
| من 2.4 إلى 3.1 | 1 | 0.7 | 0.7 |
| من 3.1 إلى 4.0 | 0 | 0.9 | 0 |
| من 4.0 إلى 4.9 | 1 | 0.9 | 0.9 |
| من 4.9 إلى 5.6 | 0 | 0.7 | 0 |
| من 5.6 إلى 5.8 | 1 | 0.2 | 0.2 |
| من 5.8 إلى 7.2 | 2 | 1.4 | 2.8 |
| من 7.2 إلى 8.6 | 3 | 1.4 | 4.2 |
بتجميع الفترات حسب طول الطابور:
وهذه هي القيمة نفسها التي بلغها عداد المساحة تحت Q عند t = 8.6: فروتينات الأحداث تبني المجموع نفسه مستطيلا بعد مستطيل.
B(t)
| الفترة | B(t) | الطول |
|---|---|---|
| من 0 إلى 0.4 | 0 | 0.4 |
| من 0.4 إلى 3.3 | 1 | 2.9 |
| من 3.3 إلى 3.8 | 0 | 0.5 |
| من 3.8 إلى 8.6 | 1 | 4.8 |
6. مولد التقارير
حين يصل عدد التأخيرات إلى 6 يستدعي البرنامج الرئيسي مولد التقارير:
| المقياس | القيمة | ما يقوله |
|---|---|---|
d(6) | 0.95 | انتظر العميل في المتوسط 0.95 دقيقة في الطابور |
q(6) | 1.15 | في المتوسط عبر الزمن، كان عدد العملاء المنتظرين في الطابور 1.15 |
u(6) | 0.90 | كان الخادم مشغولا 89.5 بالمئة من الوقت |
تكتب شريحة التمرين معدل الاستغلال 0.9، وهو بمنزلتين عشريتين 0.90.
7. الأخطاء الشائعة
- تحديث المساحتين بالحالة الجديدة. عند
t = 2.1يزداد طول الطابور من 1 إلى 2. التحديث الصحيح هو0 + 1 × (2.1 - 1.6) = 0.5، أما استخدام القيمة الجديدة فيعطي0 + 2 × (2.1 - 1.6) = 1.0، وهذا خطأ. - نسيان
D = ∞حين يصبح الخادم خاملا. عندt = 3.3يكون الطابور فارغا، فيصبح الخادم خاملا وD = ∞، ويكون الحدث التالي عندئذ هو الوصول عند3.8. أما قيمةDالقديمة فتجعل روتين التوقيت يختار مغادرة لعميل غير موجود. ويجب أيضا أن تنخفض حالة الخادم إلى 0، فلا يضاف شيء إلى المساحة تحتB(t)من 3.3 إلى 3.8. - إزاحة المصفوفة قبل حساب التأخير. عند
t = 2.4تحوي المصفوفة1.6, 2.1. تأخير العميل 2 هو2.4 - 1.6 = 0.8. أما الإزاحة أولا فتعطي2.4 - 2.1 = 0.3، وهو محسوب من زمن وصول العميل 3 لا العميل 2. - قاعدة التوقف. يتوقف التشغيل حين يبلغ عدد التأخيرات
6، عندt = 8.6، فيكونT(6) = 8.6. ولا يتوقف عند وصول العميل 6 (5.6) ولا عند مغادرته (9.2).
مراجعة ذاتية سريعة: التأخيرات الصفرية تحتسب في عدد التأخيرات، والعدادات لا تنقص أبدا، وبعد كل حدث يساوي زمن آخر حدث قيمة الساعة.
8. تدريب
تتبع كل تشغيل حدثا بعد حدث، بدءا من لقطة t = 0، حتى يصل عدد التأخيرات إلى n. أعط اللقطة بعد كل حدث، ثم احسب d(n) وq(n) وu(n). الإجابات في نهاية هذه الصفحة.
التشغيل 1: n = 4
| i | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| 0.5 | 0.3 | 1.8 | 0.4 | 0.6 | |
| 1.2 | 0.6 | 0.7 | 1.1 |
التشغيل 2: n = 5
| i | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 1.0 | 0.5 | 0.6 | 2.5 | 0.3 | 0.4 | 1.1 | |
| 1.4 | 0.8 | 0.5 | 1.2 | 1.3 |
قائمة فحص لكل حدث:
- اختر الأصغر من
AوDواضبط الساعة عليه. - أضف و إلى المساحتين، حيث زمن آخر حدث.
- الوصول: جدولة الوصول التالي، ثم انضمام العميل إلى الطابور أو بدء خدمته.
- المغادرة: الطابور الفارغ يعطي
D = ∞، وإلا فاحسب التأخير أولا ثم أزح. - اجعل زمن آخر حدث مساويا للساعة، وقارن عدد التأخيرات بـ
n.
أهم النقاط
- تقفز الساعة من حدث إلى حدث: .
- في كل حدث يجري تحديث المساحتين أولا، بالحالة السابقة.
- الخادم الخامل يعني دائما
D = ∞. - المغادرة تقرأ التأخير قبل إزاحة مصفوفة أزمنة الوصول.
- ينتهي التشغيل حين يبلغ عدد التأخيرات
n، وT(n)هو قيمة الساعة عندئذ. - يقسم مولد التقارير إجمالي التأخير على
n، وكل مساحة علىT(n).
الإجابات
التشغيل 1
الحدث 1، t = 0.5: وصول العميل 1. المساحتان أولا، بالحالة السابقة: Q: 0 + 0 × (0.5 - 0) = 0 وB: 0 + 0 × (0.5 - 0) = 0. جدولة الوصول التالي: A = 0.5 + 0.3 = 0.8 (باستخدام A2). الخادم خامل: يبدأ العميل 1 خدمته فورا، والتأخير 0، وعدد التأخيرات 1. حالة الخادم 1، وجدولة المغادرة: D = 0.5 + 1.2 = 1.7 (باستخدام S1).
الحدث 2، t = 0.8: وصول العميل 2. المساحتان أولا، بالحالة السابقة: Q: 0 + 0 × (0.8 - 0.5) = 0 وB: 0 + 1 × (0.8 - 0.5) = 0.3. جدولة الوصول التالي: A = 0.8 + 1.8 = 2.6 (باستخدام A3). الخادم مشغول: ينضم العميل 2 إلى الطابور، Q = 1، ويخزن الزمن 0.8 في الموقع 1.
الحدث 3، t = 1.7: مغادرة العميل 1. المساحتان أولا، بالحالة السابقة: Q: 0 + 1 × (1.7 - 0.8) = 0.9 وB: 0.3 + 1 × (1.7 - 0.8) = 1.2. يغادر العميل 2 الطابور: التأخير 1.7 - 0.8 = 0.9، ويقرأ قبل الإزاحة. إجمالي التأخير 0 + 0.9 = 0.9، وعدد التأخيرات 2. جدولة المغادرة: D = 1.7 + 0.6 = 2.3 (باستخدام S2). Q = 0، وتزاح المصفوفة موقعا واحدا إلى الأمام: فارغة.
الحدث 4، t = 2.3: مغادرة العميل 2. المساحتان أولا، بالحالة السابقة: Q: 0.9 + 0 × (2.3 - 1.7) = 0.9 وB: 1.2 + 1 × (2.3 - 1.7) = 1.8. الطابور فارغ: حالة الخادم 0 وD = ∞.
الحدث 5، t = 2.6: وصول العميل 3. المساحتان أولا، بالحالة السابقة: Q: 0.9 + 0 × (2.6 - 2.3) = 0.9 وB: 1.8 + 0 × (2.6 - 2.3) = 1.8. جدولة الوصول التالي: A = 2.6 + 0.4 = 3.0 (باستخدام A4). الخادم خامل: يبدأ العميل 3 خدمته فورا، والتأخير 0، وعدد التأخيرات 3. حالة الخادم 1، وجدولة المغادرة: D = 2.6 + 0.7 = 3.3 (باستخدام S3).
الحدث 6، t = 3.0: وصول العميل 4. المساحتان أولا، بالحالة السابقة: Q: 0.9 + 0 × (3.0 - 2.6) = 0.9 وB: 1.8 + 1 × (3.0 - 2.6) = 2.2. جدولة الوصول التالي: A = 3.0 + 0.6 = 3.6 (باستخدام A5). الخادم مشغول: ينضم العميل 4 إلى الطابور، Q = 1، ويخزن الزمن 3.0 في الموقع 1.
الحدث 7، t = 3.3: مغادرة العميل 3. المساحتان أولا، بالحالة السابقة: Q: 0.9 + 1 × (3.3 - 3.0) = 1.2 وB: 2.2 + 1 × (3.3 - 3.0) = 2.5. يغادر العميل 4 الطابور: التأخير 3.3 - 3.0 = 0.3، ويقرأ قبل الإزاحة. إجمالي التأخير 0.9 + 0.3 = 1.2، وعدد التأخيرات 4. جدولة المغادرة: D = 3.3 + 1.1 = 4.4 (باستخدام S4). Q = 0، وتزاح المصفوفة موقعا واحدا إلى الأمام: فارغة. يبلغ عدد التأخيرات 4، وهي n: تحققت قاعدة التوقف، ويعمل مولد التقارير.
| الحدث | النوع | الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | تهيئة | 0 | 0 | 0 | فارغة | 0 | 0.5 | ∞ | 0 | 0 | 0 | 0 |
| 1 | وصول 1 | 0.5 | 1 | 0 | فارغة | 0.5 | 0.8 | 1.7 | 1 | 0 | 0 | 0 |
| 2 | وصول 2 | 0.8 | 1 | 1 | 0.8 | 0.8 | 2.6 | 1.7 | 1 | 0 | 0 | 0.3 |
| 3 | مغادرة 1 | 1.7 | 1 | 0 | فارغة | 1.7 | 2.6 | 2.3 | 2 | 0.9 | 0.9 | 1.2 |
| 4 | مغادرة 2 | 2.3 | 0 | 0 | فارغة | 2.3 | 2.6 | ∞ | 2 | 0.9 | 0.9 | 1.8 |
| 5 | وصول 3 | 2.6 | 1 | 0 | فارغة | 2.6 | 3.0 | 3.3 | 3 | 0.9 | 0.9 | 1.8 |
| 6 | وصول 4 | 3.0 | 1 | 1 | 3.0 | 3.0 | 3.6 | 3.3 | 3 | 0.9 | 0.9 | 2.2 |
| 7 | مغادرة 3 | 3.3 | 1 | 0 | فارغة | 3.3 | 3.6 | 4.4 | 4 | 1.2 | 1.2 | 2.5 |
التشغيل 2
الحدث 1، t = 1.0: وصول العميل 1. المساحتان أولا، بالحالة السابقة: Q: 0 + 0 × (1.0 - 0) = 0 وB: 0 + 0 × (1.0 - 0) = 0. جدولة الوصول التالي: A = 1.0 + 0.5 = 1.5 (باستخدام A2). الخادم خامل: يبدأ العميل 1 خدمته فورا، والتأخير 0، وعدد التأخيرات 1. حالة الخادم 1، وجدولة المغادرة: D = 1.0 + 1.4 = 2.4 (باستخدام S1).
الحدث 2، t = 1.5: وصول العميل 2. المساحتان أولا، بالحالة السابقة: Q: 0 + 0 × (1.5 - 1.0) = 0 وB: 0 + 1 × (1.5 - 1.0) = 0.5. جدولة الوصول التالي: A = 1.5 + 0.6 = 2.1 (باستخدام A3). الخادم مشغول: ينضم العميل 2 إلى الطابور، Q = 1، ويخزن الزمن 1.5 في الموقع 1.
الحدث 3، t = 2.1: وصول العميل 3. المساحتان أولا، بالحالة السابقة: Q: 0 + 1 × (2.1 - 1.5) = 0.6 وB: 0.5 + 1 × (2.1 - 1.5) = 1.1. جدولة الوصول التالي: A = 2.1 + 2.5 = 4.6 (باستخدام A4). الخادم مشغول: ينضم العميل 3 إلى الطابور، Q = 2، ويخزن الزمن 2.1 في الموقع 2.
الحدث 4، t = 2.4: مغادرة العميل 1. المساحتان أولا، بالحالة السابقة: Q: 0.6 + 2 × (2.4 - 2.1) = 1.2 وB: 1.1 + 1 × (2.4 - 2.1) = 1.4. يغادر العميل 2 الطابور: التأخير 2.4 - 1.5 = 0.9، ويقرأ قبل الإزاحة. إجمالي التأخير 0 + 0.9 = 0.9، وعدد التأخيرات 2. جدولة المغادرة: D = 2.4 + 0.8 = 3.2 (باستخدام S2). Q = 1، وتزاح المصفوفة موقعا واحدا إلى الأمام: 2.1.
الحدث 5، t = 3.2: مغادرة العميل 2. المساحتان أولا، بالحالة السابقة: Q: 1.2 + 1 × (3.2 - 2.4) = 2.0 وB: 1.4 + 1 × (3.2 - 2.4) = 2.2. يغادر العميل 3 الطابور: التأخير 3.2 - 2.1 = 1.1، ويقرأ قبل الإزاحة. إجمالي التأخير 0.9 + 1.1 = 2.0، وعدد التأخيرات 3. جدولة المغادرة: D = 3.2 + 0.5 = 3.7 (باستخدام S3). Q = 0، وتزاح المصفوفة موقعا واحدا إلى الأمام: فارغة.
الحدث 6، t = 3.7: مغادرة العميل 3. المساحتان أولا، بالحالة السابقة: Q: 2.0 + 0 × (3.7 - 3.2) = 2.0 وB: 2.2 + 1 × (3.7 - 3.2) = 2.7. الطابور فارغ: حالة الخادم 0 وD = ∞.
الحدث 7، t = 4.6: وصول العميل 4. المساحتان أولا، بالحالة السابقة: Q: 2.0 + 0 × (4.6 - 3.7) = 2.0 وB: 2.7 + 0 × (4.6 - 3.7) = 2.7. جدولة الوصول التالي: A = 4.6 + 0.3 = 4.9 (باستخدام A5). الخادم خامل: يبدأ العميل 4 خدمته فورا، والتأخير 0، وعدد التأخيرات 4. حالة الخادم 1، وجدولة المغادرة: D = 4.6 + 1.2 = 5.8 (باستخدام S4).
الحدث 8، t = 4.9: وصول العميل 5. المساحتان أولا، بالحالة السابقة: Q: 2.0 + 0 × (4.9 - 4.6) = 2.0 وB: 2.7 + 1 × (4.9 - 4.6) = 3.0. جدولة الوصول التالي: A = 4.9 + 0.4 = 5.3 (باستخدام A6). الخادم مشغول: ينضم العميل 5 إلى الطابور، Q = 1، ويخزن الزمن 4.9 في الموقع 1.
الحدث 9، t = 5.3: وصول العميل 6. المساحتان أولا، بالحالة السابقة: Q: 2.0 + 1 × (5.3 - 4.9) = 2.4 وB: 3.0 + 1 × (5.3 - 4.9) = 3.4. جدولة الوصول التالي: A = 5.3 + 1.1 = 6.4 (باستخدام A7). الخادم مشغول: ينضم العميل 6 إلى الطابور، Q = 2، ويخزن الزمن 5.3 في الموقع 2.
الحدث 10، t = 5.8: مغادرة العميل 4. المساحتان أولا، بالحالة السابقة: Q: 2.4 + 2 × (5.8 - 5.3) = 3.4 وB: 3.4 + 1 × (5.8 - 5.3) = 3.9. يغادر العميل 5 الطابور: التأخير 5.8 - 4.9 = 0.9، ويقرأ قبل الإزاحة. إجمالي التأخير 2.0 + 0.9 = 2.9، وعدد التأخيرات 5. جدولة المغادرة: D = 5.8 + 1.3 = 7.1 (باستخدام S5). Q = 1، وتزاح المصفوفة موقعا واحدا إلى الأمام: 5.3. يبلغ عدد التأخيرات 5، وهي n: تحققت قاعدة التوقف، ويعمل مولد التقارير.
| الحدث | النوع | الساعة | حالة الخادم | العدد في الطابور | أزمنة الوصول | زمن آخر حدث | A | D | عدد التأخيرات | إجمالي التأخير | المساحة تحت Q(t) | المساحة تحت B(t) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | تهيئة | 0 | 0 | 0 | فارغة | 0 | 1.0 | ∞ | 0 | 0 | 0 | 0 |
| 1 | وصول 1 | 1.0 | 1 | 0 | فارغة | 1.0 | 1.5 | 2.4 | 1 | 0 | 0 | 0 |
| 2 | وصول 2 | 1.5 | 1 | 1 | 1.5 | 1.5 | 2.1 | 2.4 | 1 | 0 | 0 | 0.5 |
| 3 | وصول 3 | 2.1 | 1 | 2 | 1.5, 2.1 | 2.1 | 4.6 | 2.4 | 1 | 0 | 0.6 | 1.1 |
| 4 | مغادرة 1 | 2.4 | 1 | 1 | 2.1 | 2.4 | 4.6 | 3.2 | 2 | 0.9 | 1.2 | 1.4 |
| 5 | مغادرة 2 | 3.2 | 1 | 0 | فارغة | 3.2 | 4.6 | 3.7 | 3 | 2.0 | 2.0 | 2.2 |
| 6 | مغادرة 3 | 3.7 | 0 | 0 | فارغة | 3.7 | 4.6 | ∞ | 3 | 2.0 | 2.0 | 2.7 |
| 7 | وصول 4 | 4.6 | 1 | 0 | فارغة | 4.6 | 4.9 | 5.8 | 4 | 2.0 | 2.0 | 2.7 |
| 8 | وصول 5 | 4.9 | 1 | 1 | 4.9 | 4.9 | 5.3 | 5.8 | 4 | 2.0 | 2.0 | 3.0 |
| 9 | وصول 6 | 5.3 | 1 | 2 | 4.9, 5.3 | 5.3 | 6.4 | 5.8 | 4 | 2.0 | 2.4 | 3.4 |
| 10 | مغادرة 4 | 5.8 | 1 | 1 | 5.3 | 5.8 | 6.4 | 7.1 | 5 | 2.9 | 3.4 | 3.9 |