پرش به محتویات

اصول شبیه‌سازی رویداد گسسته

سیستم: مجموعه ای از اجزا (مانند افراد و ماشین‌ها) که در طول زمان برای رسیدن به یک یا چند هدف با هم در تعامل هستند. یک مدل شبیه‌سازی به طور کلی متشکل از اجزای زیر است:

  • مدل: یک نمایش انتزاعی از یک سیستم است که معمولاً شامل روابط ساختاری، منطقی یا ریاضی است و سیستم را از نظر حالت، اجزا، ویژگی‌های آن‌ها، مجموعه‌ها، فرایندها، رویدادها، فعالیت‌ها و تأخیرها توصیف می‌کند.
  • وضعیت سیستم: مجموعه‌ای از متغیرها که تمام اطلاعات لازم برای توصیف سیستم در هر لحظه را در بر می‌گیرند.
  • موجودیت: هر شیء یا جزئی در سیستم که نیاز به نمایش صریح در مدل دارد (مانند یک سرور، یک مشتری، یک ماشین).
  • ویژگی‌ها: خصوصیات یک موجودیت خاص (مانند اولویت یک مشتری منتظر، مسیر حرکت یک شغل در یک کارگاه).
  • لیست: مجموعه‌ای از اجزای مرتبط (به صورت دائمی یا موقت) که به ترتیب منطقی مرتب شده‌اند (مانند تمام مشتریانی که در حال حاضر در صف انتظار هستند و به ترتیب ورود اولویت‌بندی شده‌اند).. موجودیت‌های موجود در یک لیست همیشه بر اساس قاعده‌ای خاص مرتب می‌شوند، مانند اولویت ورود، اولویت خروج یا رتبه‌بندی بر اساس ویژگی خاصی از موجودیت، مانند اولویت یا تاریخ سررسید.
  • رویداد: رخداد آنی که حالت یک سیستم را تغییر می‌دهد (مانند ورود یک مشتری جدید).
  • اعلان: سندی که وقوع یک رویداد در زمان حال یا آینده را همراه با هر داده مرتبط برای اجرای رویداد ثبت می‌کند؛ حداقل، این سند شامل نوع رویداد و زمان وقوع رویداد است.
  • لیست رویدادها1: لیستی از اطلاعیه‌های رویداد برای رویدادهای آتی که بر اساس زمان وقوع مرتب شده‌اند؛ همچنین به عنوان لیست رویدادهای آتی شناخته می‌شود.
  • فعالیت: مدت زمانی با طول مشخص (مانند زمان سرویس‌دهی یا زمان بین ورودها) که زمان شروع آن مشخص است (اگرچه ممکن است بر اساس یک توزیع آماری تعریف شود). فعالیت معمولاً نشان دهنده زمان خدمات‌رسانی، زمان بین ورودها یا هر زمان پردازش دیگری است که مدت آن توسط مدل‌ساز مشخص و تعریف شده است. مدت زمان یک فعالیت می‌تواند به روش‌های مختلفی مشخص شود:
  • متعین: به عنوان مثال، همیشه دقیقاً 5 دقیقه
  • تصادفی: به عنوان مثال، به صورت تصادفی از مجموعه {2، 5، 7} با احتمالات برابر انتخاب می‌شود
  • تابع: وابسته به متغیرهای سیستم و/یا ویژگی‌های موجودیت - به عنوان مثال، زمان بارگیری یک کشتی حامل سنگ آهن به عنوان تابعی از وزن مجاز بار کشتی و نرخ بارگیری به تن در ساعت.
  • ساعت: متغیری که نشان‌دهنده زمان شبیه‌سازی شده است. سیستم‌هایی که در اینجا بررسی می‌شوند، پویا هستند؛ یعنی با گذشت زمان تغییر می‌کنند. بنابراین، حالت سیستم، ویژگی‌های موجودیت‌ها، تعداد موجودیت‌های فعال، محتوای مجموعه‌ها و فعالیت‌ها و تأخیرهای در حال اجرا، همه تابعی از زمان هستند و دائماً در طول زمان تغییر می‌کنند. خود زمان توسط متغیری به نام ساعت نمایش داده می‌شود.
  • تأخیر: بر خلاف یک فعالیت، مدت زمان یک تأخیر توسط مدل‌ساز از قبل مشخص نمی‌شود، بلکه توسط شرایط سیستم تعیین می‌شود. اغلب، مدت زمان یک تأخیر اندازه‌گیری می‌شود و یکی از خروجی‌های مورد نظر یک اجرای مدل است. معمولاً، یک تأخیر زمانی پایان می‌یابد که مجموعه‌ای از شرایط منطقی برقرار شود یا یک یا چند رویداد دیگر رخ دهد. به عنوان مثال، تأخیر یک مشتری در یک صف انتظار ممکن است به تعداد و مدت زمان خدمات‌رسانی به مشتریان دیگر در صف و همچنین در دسترس بودن سرورها و تجهیزات بستگی داشته باشد.

تأخیر گاهی اوقات انتظار مشروط و فعالیت انتظار بدون شرط نامیده می‌شود. پایان یک فعالیت یک رویداد است که اغلب رویداد اولیه نامیده می‌شود و با قرار دادن یک اطلاعیه رویداد در لیست رویدادهای آتی مدیریت می‌شود. در مقابل، تأخیرها با قرار دادن موجودیت مرتبط در یک لیست دیگر، مانند یک صف انتظار، تا زمانی که شرایط سیستم اجازه پردازش موجودیت را بدهد، مدیریت می‌شوند. پایان یک تأخیر گاهی اوقات رویداد مشروط یا ثانویه نامیده می‌شود، اما چنین رویدادهایی با اعلان همراه نیستند و در لیست رویدادهای آینده نیز قرار نمی‌گیرند.

یک مدل شبیه سازی بر اساس پاسخ سوالات زیر طراحی می‌شود:

  1. هر رویداد چگونه بر حالت سیستم، ویژگی‌های موجودیت‌ها و محتوای مجموعه‌ها تأثیر می‌گذارد؟
  2. فعالیت‌ها چگونه تعریف می‌شوند (مثلاً قطعی، احتمالی یا به صورت یک تابع)؟
  3. چه رویدادی آغاز یا پایان هر فعالیت را مشخص می‌کند؟
  4. آیا فعالیت می‌تواند صرف نظر از حالت سیستم آغاز شود یا آغاز آن مشروط به قرار گرفتن سیستم در یک وضعیت خاص است؟ (به عنوان مثال، یک "فعالیت" ماشین‌کاری نمی‌تواند آغاز شود مگر اینکه ماشین متوقف و سالم باشد.)
  5. کدام رویدادها آغاز (و پایان) هر نوع تأخیری را منجر می‌شوند؟
  6. تحت چه شرایطی یک تأخیر آغاز یا پایان می‌یابد؟
  7. وضعیت سیستم در زمان صفر چیست؟
  8. چه رویدادهایی باید در زمان صفر برای "آماده‌سازی" مدل، یعنی برای شروع شبیه‌سازی، ایجاد شوند؟

شبیه‌سازی رویدادهای گسسته، مدل‌سازی یک سیستم در طول زمان است که تمام تغییرات وضعیت آن در نقاط گسسته زمانی، یعنی زمانی که یک رویداد رخ می‌دهد، اتفاق می‌افتد. یک شبیه‌سازی با تولید دنباله‌ای از مقاطع زمانی سیستم که تکامل سیستم در طول زمان را نشان می‌دهند، پیش می‌رود. یک مقطع زمانی مشخص در یک زمان مشخص (\(CLOCK = t\)) نه تنها شامل وضعیت سیستم در زمان t است، بلکه شامل لیستی از تمام فعالیت‌های در حال اجرا و زمان پایان هر یک از این فعالیت‌ها، وضعیت تمام موجودیت‌ها و عضویت فعلی تمام مجموعه‌ها، به علاوه مقادیر فعلی آمار تجمعی و شمارنده‌هایی است که برای محاسبه آمارهای خلاصه در پایان شبیه‌سازی استفاده خواهند شد.

مکانیسم پیشبرد زمان شبیه‌سازی و تضمین وقوع همه رویدادها با اولویت صحیح زمانی، بر اساس لیست رویدادهای آتی (FEL) است. این لیست شامل تمام رویدادهایی است که قرار است در آینده رخ دهند. زمانبندی یک رویداد آتی به این معنی است که در لحظه شروع یک فعالیت، مدت زمان آن محاسبه یا به صورت نمونه‌ای از یک توزیع آماری انتخاب می‌شود؛ و رویداد پایان فعالیت، همراه با زمان وقوع آن، در لیست رویدادهای آتی قرار می‌گیرد. در دنیای واقعی، اکثر رویدادهای آتی برنامه‌ریزی نمی‌شوند، بلکه صرفاً اتفاق می‌افتند - مانند خرابی‌های تصادفی یا ورودهای تصادفی. در مدل، چنین رویدادهای تصادفی با پایان برخی فعالیت‌ها نشان داده می‌شوند که به نوبه خود با یک توزیع آماری نشان داده می‌شوند.

در لحظه زمانی t، لیست رویدادهای آتی شامل تمام رویدادهای برنامه‌ریزی‌شده قبلی و زمان‌های وقوع مرتبط با آن‌ها (\(t_1, t_2, …, t_n\)) است. لیست رویدادهای بر اساس زمان وقوع رویداد مرتب می‌شود.

\[t < t_1 \leq t_2 \leq t_3 \leq … \leq t_n\]

ایجاد یا عدم ایجاد یک رویداد یک احتمال است، اما اگر یک رویداد ایجاد شود، با قرار دادن آن‌ها در موقعیت مناسب خود در لیست رویدادهای آتی برنامه‌ریزی می‌شوند. سپس مقطع زمانی سیستم به روز رسانی می‌شود و این فرآیند تا پایان شبیه‌سازی تکرار می‌شود. دنباله‌ای از اقداماتی که یک شبیه‌ساز (یا زبان شبیه‌سازی) برای پیشبرد ساعت و ساخت مقاطع زمانی جدید از سیستم باید انجام دهد، الگوریتم برنامه‌ریزی رویداد/پیشروی زمان نامیده می‌شود.

طول و محتوای لیست با پیشرفت شبیه‌سازی دائماً در حال تغییر است و بنابراین مدیریت کارآمد آن در شبیه‌سازی تأثیر قابل توجهی بر زمان اجرای مدل خواهد داشت. مدیریت یک لیست، پردازش لیست نامیده می‌شود. عملیات اصلی پردازش لیست شامل حذف رویداد قریب‌الوقوع، افزودن یک رویداد جدید به لیست و گاهی حذف یا لغو برخی رویدادها است. از آنجایی که رویداد قریب‌الوقوع معمولاً در بالای لیست قرار دارد، حذف آن تا حد ممکن کارآمد است. افزودن یک رویداد جدید (و لغو یک رویداد قدیمی) نیاز به جستجوی لیست دارد. کارایی این جستجو به مرتب‌سازی منطقی لیست و نحوه انجام جستجو بستگی دارد. در واقع تمام مجموعه‌های یک مدل به ترتیب منطقی خاصی نگهداری می‌شوند و عملیات افزودن و حذف موجودیت‌ها از مجموعه نیز به تکنیک‌های کارآمد پردازش لیست نیاز دارند.

هر شبیه‌سازی باید دارای یک رویداد توقف باشد که در اینجا E نامیده می‌شود و مشخص می‌کند که شبیه‌سازی چه مدت اجرا خواهد شد. به طور کلی دو روش برای توقف یک شبیه‌سازی وجود دارد:

  1. در زمان 0، یک رویداد توقف شبیه‌سازی در زمان \(T_E\) برنامه‌ریزی می‌شود. بنابراین، قبل از شبیه‌سازی، مشخص است که شبیه‌سازی در بازه زمانی \([0, T_E]\) اجرا خواهد شد. مثال: شبیه‌سازی یک کارگاه تولیدی به مدت \(T_E=40\).
  2. طول اجرای \(T_E\) توسط خود شبیه‌سازی تعیین می‌شود. به طور کلی، \(T_E\) زمان وقوع یک رویداد مشخص E است. مثال: \(T_E\) می‌تواند زمان تکمیل صدمین سرویس در یک مرکز خدمات خاص باشد. \(T_E\) می‌تواند زمان خرابی یک سیستم پیچیده باشد. در یک شبیه‌سازی نبرد \(T_E\) می‌تواند زمان خروج از نبرد یا نابودی کامل (هر کدام زودتر رخ دهد) باشد. \(T_E\) می‌تواند زمانی باشد که یک مرکز توزیع آخرین کارتن سفارشات روزانه را ارسال می‌کند.

دیدگاه‌های شبیه‌سازی

سه دیدگاه اصلی برای شبیه‌سازی سیستم‌ها وجود دارد:

  1. دیدگاه برنامه‌ریزی رویداد 2: در این روش، شبیه‌سازی بر اساس وقوع رویدادها پیش می‌رود. هر رویداد، تغییری در وضعیت سیستم ایجاد می‌کند. زمان وقوع هر رویداد تعیین شده و شبیه‌ساز با رسیدن به زمان هر رویداد، وضعیت سیستم را به‌روزرسانی می‌کند. به عنوان مثال، در یک صف انتظار، هر ورودی جدید به صف و خروج هر مشتری از صف، یک رویداد محسوب می‌شود. این روش برای سیستم‌هایی که تغییرات ناگهانی و گسسته‌ای دارند، مناسب است.

  2. دیدگاه تعامل فرآیند 3: در این روش، شبیه‌سازی بر اساس تعامل بین اجزای مختلف سیستم صورت می‌گیرد. هر جزء سیستم به عنوان یک فرآیند در نظر گرفته می‌شود که می‌تواند با سایر فرآیندها تعامل داشته باشد. مثلاً در یک کارخانه، هر ماشین یا کارگر به عنوان یک فرآیند در نظر گرفته می‌شود و تعامل آن‌ها با هم باعث تولید محصول می‌شود. این روش برای سیستم‌هایی که شامل چندین فرآیند موازی هستند، مناسب است.

  3. دیدگاه اسکن فعالیت 4: در این روش، شبیه‌ساز به طور مداوم وضعیت همه اجزای سیستم را بررسی می‌کند تا ببیند کدام فعالیت‌ها قابل انجام هستند. سپس، فعالیت‌های قابل انجام را انجام داده و وضعیت سیستم را به‌روزرسانی می‌کند. این روش برای سیستم‌هایی که دارای فعالیت‌های موازی و همزمان هستند، مناسب است.

ویژگی دیدگاه برنامه‌ریزی رویداد دیدگاه تعامل فرآیند دیدگاه اسکن فعالیت
مبنای پیشبرد شبیه‌سازی وقوع رویدادها (تغییرات گسسته) تعامل بین فرآیندها (تعامل اجزا) اسکن مداوم فعالیت‌ها
واحد اصلی شبیه‌سازی رویداد فرآیند فعالیت
نوع سیستم مناسب سیستم‌های دارای تغییرات ناگهانی و گسسته سیستم‌های دارای فرآیندهای موازی سیستم‌های دارای فعالیت‌های همزمان
مزایا دقت بالا در مدیریت رویدادهای مهم مناسب برای مدل‌سازی فرآیندهای پیچیده و وابستگی‌ها ساده‌سازی اجرای فعالیت‌ها
معایب پیچیدگی در تعریف و مدیریت رویدادها نیاز به تعریف تعامل‌های بین فرآیندها سربار محاسباتی در اسکن وضعیت‌ها
مثال سیستم صف انتظار فرآیند تولید در کارخانه فعالیت‌های همزمان در پروژه‌ها

مزایای دیدگاه اسکن فعالیت

  • سادگی مفاهیم: این روش نسبت به روش‌های دیگر مانند برنامه‌ریزی رویداد، مفاهیم ساده‌تری دارد و به مدل‌ساز اجازه می‌دهد تا مدل‌های مدولارتر و قابل نگهداری‌تری ایجاد کند.
  • انعطاف‌پذیری: این روش برای مدل‌سازی سیستم‌هایی با شرایط پیچیده و متغیر مناسب است.
  • تعدیل‌پذیری: مدل‌های ایجاد شده با استفاده از این روش، به راحتی قابل تغییر و توسعه هستند.

معایب دیدگاه اسکن فعالیت

  • کاهش سرعت شبیه‌سازی: در این روش، در هر گام زمانی باید شرایط همه فعالیت‌ها بررسی شود که ممکن است به خصوص برای سیستم‌های بزرگ، زمان‌بر باشد و سرعت شبیه‌سازی را کاهش دهد.

روش سه مرحله‌ای برای بهبود دیدگاه اسکن فعالیت

برای رفع مشکل کاهش سرعت شبیه‌سازی در دیدگاه اسکن فعالیت، روش سه مرحله‌ای پیشنهاد شده است. در این روش، فعالیت‌ها به دو دسته تقسیم می‌شوند:

  • فعالیت‌های نوع B5: فعالیت‌هایی که حتماً انجام می‌شوند و نیازی به بررسی شرایط ندارند.
  • فعالیت‌های نوع C6: فعالیت‌هایی که انجام آن‌ها به برقراری شرایط خاصی بستگی دارد.

مراحل روش سه مرحله‌ای:

  1. مرحله 1: رویداد بعدی از لیست رویدادهای آینده (FEL) خارج شده و زمان شبیه‌سازی به زمان وقوع آن رویداد تغییر می‌کند.
  2. مرحله 2: تمام فعالیت‌های نوع B که در مرحله قبل از FEL خارج شده‌اند، اجرا می‌شوند. این مرحله باعث تغییر در وضعیت سیستم می‌شود.
  3. مرحله 3: شرایط شروع همه فعالیت‌های نوع C بررسی می‌شود و اگر شرایط یک فعالیت برقرار باشد، آن فعالیت آغاز می‌شود. این مرحله تا زمانی ادامه می‌یابد که دیگر هیچ فعالیت نوع C قابل شروع نباشد.

مزایای روش سه مرحله‌ای:

  • افزایش سرعت شبیه‌سازی: با جدا کردن فعالیت‌های نوع B و C و اولویت‌بندی اجرای فعالیت‌های نوع B، سرعت شبیه‌سازی افزایش می‌یابد.
  • کاهش تعداد بررسی‌ها: با حذف بررسی‌های غیرضروری، زمان صرف شده برای بررسی شرایط فعالیت‌ها کاهش می‌یابد.
  • تلفیق مزایای دو روش: این روش ترکیبی از مزایای روش‌های برنامه‌ریزی رویداد (اجرای فعالیت‌های نوع B بر اساس زمانبندی) و اسکن فعالیت (بررسی شرایط برای فعالیت‌های نوع C) است.

شبیه‌سازی دستی

برای شبیه سازی دستی ابتدا اجزای سیستم مشخص می‌شوند، سپس در گام‌های مشخصی وضعیت سیستم به روزآوری می‌شود.

مثال سیستم فروشگاهی

  • وضعیت سیستم:
    • \(LQ(t)\): طول صف مشتری در انتظار در زمان \(t\)
    • \(LS(t)\): طول صف سرویس در زمان \(t\)
  • موجودیت‌ها:
    • مشتری
    • فروشنده
  • رویدادها:
    • \((A, t)\): رویداد ورود در زمان \(t\)
    • \((D, t)\): رویداد خروج در زمان \(t\)
    • \((E, 60)\): رویداد توقف در زمان 60
  • فعالیت‌ها:
    • ورود
    • سرویس
  • تاخیر:
    • زمان انتظار مشتری در صف
فاصله زمانی بین ورود مشتریان زمان خدمات‌رسانی
1 4
1 2
6 5
3 4
7 1
5 5
2 4
4 1
1 4
زمان تعداد مشتریان در صف تعداد مشتریان در حال خدمات‌دهی لیست رویدادهای آینده توضیحات تعداد مشتریان وارد شده حداکثر طول صف
0 0 1 \((A, 1) (D, 4) (E, 60)\) اولین مشتری وارد می‌شود. 0 0
1 1 1 \((A, 2) (D, 4) (E, 60)\) مشتری دوم وارد می‌شود. مشتری اول در صف انتظار می‌ماند. 1 1
2 2 1 \((A, 2) (D, 4) (E, 60)\) مشتری سوم وارد می‌شود. مشتری دوم و سوم در صف انتظار می‌مانند. 2 2
4 1 1 \((A, 2) (D, 4) (E, 60)\) خدمات مشتری اول پایان می‌یابد. مشتری دوم شروع به دریافت خدمات می‌کند. 4 2
6 0 1 \((A, 2) (D, 4) (E, 60)\) مشتری چهارم وارد می‌شود. 6 2
8 1 1 \((A, 2) (D, 4) (E, 60)\) مشتری پنجم وارد می‌شود. مشتری چهارم در صف انتظار می‌ماند. 8 2
11 1 1 \((A, 2) (D, 4) (E, 60)\) مشتری ششم وارد می‌شود. مشتری پنجم در صف انتظار می‌ماند. خدمات مشتری دوم پایان می‌یابد. 11 2
15 0 1 \((A, 2) (D, 4) (E, 60)\) خدمات مشتری چهارم پایان می‌یابد. 15 2
16 0 0 \((A, 18) (E, 60)\) خدمات مشتری پنجم پایان می‌یابد. 16 2
18 0 1 \((A, 2) (D, 4) (E, 60)\) مشتری ششم وارد می‌شود. 16 2
23 0 1 \((A, 2) (D, 4) (E, 60)\) مشتری هفتم وارد می‌شود. خدمات مشتری ششم پایان می‌یابد. 21 2

مثال حمل مواد معدنی

شش کامیون بزرگ برای حمل سنگ آهن از ابتدای یک معدن کوچک به سمت خط آهن استفاده می‌شوند. هر کامیون توسط یکی از دو بارگیر بارگیری می‌شود و بلافاصله پس از بارگیری، برای وزن شدن به باسکول منتقل می‌شود. هم بارگیرها و هم باسکول دارای یک صف انتظار هستند که کامیون‌ها بر اساس ترتیب ورود به آن منتظر می‌شوند. زمان جابه‌جایی کامیون از بارگیر به باسکول بسیار کوتاه است. پس از وزن شدن، کامیون به مدت زمانی مشخص برای تخلیه بار حرکت کرده و سپس به صف بارگیری بازمی‌گردد.

Dump truck process example

  • وضعیت سیستم:
    • \(LQ(t)\): طول صف بارگیری
    • \(LS(t)\): تعداد کامیون بارگیری شده
    • \(WQ(t)\): طول صف باسکول
    • \(W(t)\): تعداد کامیون وزن شده
  • موجودیت‌ها:
    • کامیون‌ها: \(DT_1, DT_2, ..., DT_6\)
  • رویدادها:
    • \((ALQ, t, DT_i)\): ورود \(DT_i\) به صف بارگیری در زمان \(t\)
    • \((EL, t, DT_i)\): اتمام بارگیری \(DT_i\) در زمان \(t\)
    • \((EW, t, DT_i)\): اتمام توزین\(DT_i\) در زمان \(t\)
  • فعالیت‌ها:
    • بارگیری
    • توزین
    • سفر
  • تاخیرات:
    • صف بارگیری
    • صف توزین
زمان بارگذاری (دقیقه) احتمال احتمال تجمعی بازه اعداد تصادفی
5 0.30 0.30 0.0 ≤ R < 0.3
10 0.50 0.80 0.3 ≤ R < 0.8
15 0.20 1.00 0.8 ≤ R ≤ 1.0
زمان توزین (دقیقه) احتمال احتمال تجمعی بازه اعداد تصادفی
12 0.70 0.70 0.0 ≤ R < 0.7
16 0.30 1.00 0.7 ≤ R ≤ 1.0
زمان سفر (دقیقه) احتمال احتمال تجمعی بازه اعداد تصادفی
40 0.40 0.40 0.0 ≤ R < 0.4
60 0.30 0.70 0.4 ≤ R < 0.7
80 0.20 0.90 0.7 ≤ R < 0.9
100 0.10 1.00 0.9 ≤ R ≤ 1.0

تولید اعداد تصادفی

زمان بارگیری 10 5 5 10 15 10 10
زمان توزین 12 12 12 16 12 16
زمان سفر 60 100 40 40 80
زمان حالت سیستم صف بارگیر صف توزین لیست رویدادهای آینده آمار تجمعی
\(0\) \(3, 2\) \(0, 1\) \(DT_4, DT_5, DT_6\) \((EL, 5, DT_3)\), \((EL, 10, DT_2)\), \((EW, 12, DT_1)\) \(0, 0\)
\(5\) \(2, 2\) \(1, 1\) \(DT_5, DT_6\) \((EL, 10, DT_2)\), \((EL, 5 + 5, DT_4)\), \((EW, 12, DT_1)\) \(10, 5\)
\(10\) \(1, 2\) \(2, 1\) \(DT_6\) \(DT_3, DT_2\) \((EL, 10, DT_4)\), \((EW, 12, DT_1)\), \((EL, 10+10, DT_5)\)
\(10\) \(0, 2\) \(3, 1\) \(DT_3, DT_2, DT_4\) \((EW, 12, DT_1)\), \((EL, 20, DT_5)\), \((EL, 10+15, DT_6)\)
\(12\) \(0, 2\) \(2, 1\) \(DT_2, DT_4\) \((EL, 20, DT_5)\), \((EW, 12 + 12, DT_3)\), \((EL, 25, DT_6)\), \((ALQ, 12+60, DT_1)\)
\(20\) \(0, 1\) \(3, 1\) \(DT_2, DT_4, DT_5\) \((EW, 24, DT_3)\), \((EL, 25, DT_6)\), \((ALQ, 72, DT_1)\)
\(24\) \(0, 1\) \(2, 1\) \(DT_4, DT_5\) \((EL, 25, DT_6)\), \((EW, 24 + 12, DT_2)\), \((ALQ, 72, DT_1)\), \((ALQ, 24 + 100, DT_3)\)
\(25\) \(0, 0\) \(3, 1\) \(DT_4, DT_5, DT_6\) \((EW, 36, DT_2)\), \((ALQ, 72, DT_1)\), \((ALQ, 124, DT_3)\)
\(36\) \(0, 0\) \(2, 1\) \(DT_5, DT_6\) \((EW, 36 + 16, DT_4)\), \((ALQ, 72, DT_1)\), \((ALQ, 36+40, DT_2)\), \((ALQ, 124, DT_3)\)
\(52\) \(0, 0\) \(1, 1\) \(DT_6\) \((EW, 52+12, DT_5)\), \((ALQ, 72, DT_1)\), \((ALO, 76, DT_2)\), \((ALO, 52+40, DT_4)\), \((ALQ, 124, DT_3)\)
\(64\) \(0, 0\) \(0, 1\) \((ALQ, 72, DT_1)\), \((ALO, 76, DT_2)\), \((EW, 64+ 16, DT_6)\), \((ALQ, 92, DT_4)\), \((ALQ, 124, DT_3)\), \((ALQ, 64+80, DT_5)\)
\(72\) \(0, 1\) \(0, 1\) \((ALQ, 76, DT_2)\), \((EW, 80, DT_6)\), \((EL, 72 + 10, DT_1)\), \((ALQ, 92, DT_4)\), \((ALQ, 124, DT_3)\), \((ALQ, 144, DT_5)\)
\(76\) \(0, 2\) \(0, 1\) \((EW, 80, DT_6)\), \((EL, 82, DT_1)\), \((EL, 76+10, DT_2)\), \((ALQ. 92, DT_4)\), \((ALQ, 124, DT_3)\), \((ALQ, 144, DT_5)\)

تمرینات پایان فصل

  • مثال فروشگاه را با داده‌های زیر تا 30 دقیقه شبیه‌سازی کنید
فواصل زمانی بین ورودها زمان‌های سرویس
1 3
5 5
6 4
3 1
8 5
  • مثال فروشگاه را تا زمانی که هفتمین مشتری خارج شود شبیه‌سازی کنید

  • مثال حمل مواد معدنی را با داده‌های زیر شبیه‌سازی کنید

زمان بارگیری زمان توزین زمان سفر
10 12 40
5 16 60
10 12 40
10 12 80
5 16 100
10 12 40
5 12 40
  • بیست کامیون حمل بار سنگین به طور همزمان از تهران به سمت سمنان حرکت می کنند. از تجربه گذشته، مشخص شده است که یک کامیون برای انجام این سفر به 6 ± 2 ساعت زمان نیاز دارد. چهل درصد رانندگان برای استراحت توقف می کنند، که 15 ± 5 دقیقه زمان اضافی می برد. موقعیت را به شرح زیر مدل کنید. برای حل مساله می‌توانید از نرم‌افزارهای کامپیوتری استفاده کنید.

    • برای هر راننده، احتمال 40 درصد برای توقف استراحت وجود دارد. آخرین کامیون چه زمانی به سمنان می رسد؟
    • به گونه ای مدل کنید که دقیقاً 40 درصد از رانندگان برای استراحت توقف کنند. آخرین کامیون چه زمانی به سمنان می رسد؟

  1. Future Event List (FEL) 

  2. Event Scheduling 

  3. Process Interaction 

  4. Activity Scanning 

  5. Bounded 

  6. Conditional