شبیه‌سازی و صف

شبیه سازی

شبیه سازی در دهه 60 میلادی بطور چشمگیری وارد ادبیات مدیریت شد. شبیه سازی تقلید از رفتار یک سیستم یا فرآیند در طول زمان است وقتی که نخواهیم از سعی و خطا استفاده کنیم و همینطور زمانی که به هردلیلی نمی‌توانیم یک مدل ریاضی (یا غیر ریاضی) دقیق از سیستم تهیه کنیم. لذا با استفاده از آمارهای گذشته مربوط به رفتار سیستم، یک مدل مفهومی تهیه می‌کنیم و آن مدل را جوری تنظیم می‌کنیم که رفتارش بر طبق رفتار دوره‌های گذشته ی آن باشد.

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

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

پاسخ این است که اینها روش های حل هستند نه مدل. یعنی در آن حالت ما توانستیم سیستم را بصورت ریاضی مدل کنیم ولی حلش پیچیده است اما در شبیه‌سازی خود سیستم پیچیده است و بهتر است که از شبیه‌سازی استفاده کنیم.

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

درکل شرایطی که بهتر است از شبیه‌سازی استفاده کنیم، شامل موارد زیر می باشد:

1. حالت عدم اطمینان در سیستم: یعنی بطور دقیق متغیرهای موثر بر رفتار سیستم و میزان دقیق تاثیر آنها را بر سیستم ندانیم.

2. رفتار پویا: یعنی این که بدانیم سیستم در طول زمان رفتار یکسانی ندارد و در حال تغییر است.

3. مکانیزم‌های بازخورد: یعنی بدانیم که متغیرهای مختلف به طور متفاوتی بر روی هم تاثیر گذارند.

اصلا چرا شبیه‌سازی کنیم؟

خوب پاسخ این سوال همان پاسخی است که برای سوال "چرا مدل سازی کنیم" باید داد:

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

اما سیستم به چه معناست؟ پاسخ کامل این سوال در حوزه دریای اصول مدیریت و رهبری داده شده است. اما اینجا مثال هایی از سیستم‌هایی که آنها را شبیه‌سازی می‌کنند می توان زد:

_ شبیه‌سازی سیستم حمل و نقل شهری: با توجه به آمار ترافیکی قبلی در ساعات مختلف اگر مدت چراغ های راهنمایی را کم یا زیاد کنیم چه می‌شود؟ یعنی دنبال این هستیم که بهترین زمان‌ها را برای چراغ های راهنمایی بنحوی تعیین کنیم که ترافیک به حداقل رسد. (اگر با سعی و خطا بخواهیم  این موضوع را بفهمیم مردم چه بلایی سر ما می آورند؟)

_ شبیه‌سازی سیستم ترافیک فرودگاهی: مثلا می‌خواهیم بفهمیم اگر چندتا خط هواپیمایی جدید را اضافه کنیم ساعت ها را چطور باید تنظیم کنیم و ...(فکر کنید با سعی و خطا در چنین سیستمی، نتیجه چه می‌شود؟!!)

_ شبیه‌سازی سیستم‌های اقتصادی: اگر یک قانون جدید برای صادرات یا واردات یا تعرفه گمرکی یا هدفمندی یارانه‌ها یا ... تصویب کنیم، چه تاثیری روی تورم یا نرخ بیکاری یا سایر شاخص های اقتصادی می گذارد؟ (با سعی و خطا؟! یعنی فاجعه)

_ شبیه‌سازی سیستم جنگ‌های نظامی: با استراتژی‌های (تعریف استراتژی در دریای اصول مدیریت و رهبری) مختلف حمله احتمال موفقیت چقدر است؟

_ شبیه‌سازی تغییر یک خط تولید در یک سیستم پیچیده تولیدی: مثلا اگر یک دستگاه تراش را اضافه کنیم سرعت تولید چقدر افزایش پیدا می‌کند و این افزایش سرعت، ارزش خرید یک دستگاه تراش را دارد یا نه؟

_ شبیه‌سازی صف انتظار در یک سیستم بانکی: جهت تعیین مثلا تعداد باجه‌های مناسب پذیرش مشتریان

در فرآیند شبیه سازی آیتم های مختلفی دخیل هستند:

متغیر های سیستم (متغیر های حالت): این متغیر ها عبارتند از مختصاتی از سیستم که با زمان تغییر می کنند که خود بر دو نوع هستند:

الف : متغیر های مستقل (یا ورودی) که در خارج از مدل تعیین می شوند (برون زا)، مانند تقاضا در یک سیستم موجودی و یا مقدار نزول باران در هر بارندگی.

ب : متغیر های وابسته (یا خروجی) آن هایی هستند که مقادیرشان در داخل سیستم ایجاد می شود (درون زا) مانند اندازه و زمان سفارش موجودی.

پارامتر های سیستم: عبارتند از مختصاتی از سیستم که در طول زمان اجرای شبیه سازی بدون تغییر باقی می مانند. در یک سیستم موجودی این پارامتر ها ممکن است مربوط به قیمت واحد، زمان رسیدن محصولات جدید، محدودیت بودجه و غیره باشد.

قواعد تصمیم سیستم: نمایانگر عکس العمل از پیش تعیین شده سیستم از طریق متغیرهای قابل کنترل نسبت به مقادیر مفروضات غیر قابل کنترل می باشد. در مطالعات شبیه سازی معمولاً قواعد تصمیمی که سیستم را هدایت می کنند، مورد توجه قرار می گیرند. قواعد مختلف ارزیابی می شوند، تا آن موردی که بهترین عملکرد را در پی دارد برگزیده شود.

فرآیند شبیه‌سازی

مراحل شبیه سازی شامل 10 گام و به شرح زیر است :

فرآیند شبیه سازی

 

1. تدوین مسئله و تعیین هدف: برای یافتن جواب مسئله باید فهمید که اصل آن چیست؟

بنابراین اولین قدم در آزمایش شبیه ­سازی (همانند هر آزمایش دیگری) تعیین هدف آزمایش است، چون این هدف است که نحوه آزمایش، جزئیات لازم و نتایج نهایی را تعیین می­ کند.


شبیه سازی

2. تعریف سیستم: در این مرحله می­بایست تعیین کرد که از چه روش ­ها و تکنیک ­هایی میتوان برای بررسی و مطالعه سیستم استفاده كرد. تعریف سیستم در حقیقت، تعیین اجزای سیستم، عناصر و عوامل داخلی و خارجی محیط سیستم و پارامترها و متغیرهای سیستم را شامل می­ شود. پس از آن، روابط و قوانین حاکم میان ویژگی‌های سیستم و متغیرهای آن مشخص و یا فرموله شده، سپس چگونگی رفتار سیستم مورد بررسی قرار می گیرد و جزئیات حاصل از تغییر متغیرها در سیستم معلوم می‌شود.

شبیه سازی چیست؟

3. پاسخ به این سوال كه آیا در تمامی تصمیم ­گیری ­ها باید از مدل شبیه ­سازی استفاده كرد؟ اگر شرایط واقعی چندان پیچیده نباشد و بتوان با استفاده از روش ­های تجزیه و تحلیل به حل مسئله پرداخت، طبیعتاً نیازی به استفاده از مدل شبیه­ سازی نیست. ولی اگر با توجه به شرایط پیچیده و ریسك بالا، فقط از شبیه­ سازی می ­توان استفاده کرد، پس کاربرد روش شبیه­ سازی خواهد بود.

مراحل شبیه سازی

4 . تدوین مدل: هنر مدل‌سازی عبارت است از توانایی تحلیل مسئله، چکیده‌سازی خصایص آن، انتخاب مفروضات و سپس تکمیل و توسعه مدل تا زمانی که تقریب مفیدی از واقعیت به‌‌دست آید. هرچه مدل کامل‌تر باشد، وضعیت پیچیده را روشن‌تر منعکس می­ کند.

شبیه سازی

5. تدارک و جمع آوری داده ­ها: هر مطالعه ­ای، مستلزم جمع ­آوری داده­‌ها است. در یک مدل شبیه­ سازی، داده ­های ورودی، باید با اطلاعات مربوط به اجزای سیستم و ارتباط میان آن ها رابطه نزدیک داشته باشد. در این زمان تحلیل­گر باید تصمیم بگیرد چه داده­ هایی مورد نیازند و چگونه باید این اطلاعات را جمع‌آوری كرد.

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

اعتبار مدل شبیه سازی

7. تعیین اعتبار مدل: این مرحله، مهم­ترین و مشکل ­ترین مرحله از مراحل شبیه‌سازی است. تعیین اعتبار، یعنی آنکه آیا مدل ساخته‌ شده رفتار یک سیستم واقعی را به‌درستی شبیه سازی و توصیف می­ كند؟

بنابراین آنچه كه اهمیت دارد قابل اعتماد بودن مدل است نه حقیقت ساختار آن.

شبیه سازی و صف

8. برنامه­ ریزی استراتژیکی و تاکتیکی: برنامه استراتژیک یعنی طرح آزمایشی که اطلاعات مطلوب از آن حاصل می­ شود و برنامه­ ریزی تاکتیکی یعنی تعیین این موضوع که هریک از آزمون­ های مشخص شده در طرح آزمایش، چگونه صورت می­ گیرد.

آزمایش و تفسیر شبیه سازی

9. آزمایش و تفسیر: در این مرحله، اشتباهات و نواقص برنامه ­ریزی آشکار می‌شود و مراحل اجرا شده مورد بازبینی قرار می‌گیرد.

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

سیستمهای صف

هدف از سیستم‌های صف متوازن نمودن هزینه‌های فراهم آوردن خدمت و هزینه مربوط به انتظار مشتری است.

هر چقدر ظرفیت خدمت‌دهی افزایش یابد، هزینه‌ آن نیز افزایش می‌یابد و تعداد مشتریان در صف و زمان انتظار آن‌ها و هزینه انتظار مشتری نیز کاهش می‌یابد.

خصوصیات سیستم

1- محدود یا نامحدود بودن جمعیت (بانک یا تعمیرگاه)

2- تعداد خدمت‌دهنده و تعداد مسیرهای خدمت‌دهی

3- الگوهای ورود مشتریان و خدمت‌دهی

4- نظام حاکم در ارایه خدمت(بانک، رستوران یا بیمارستان)

نحوه ارزیابی عملکرد سیستم

-متوسط تعداد مشتریان در سیستم یا صف

-متوسط زمان انتظار مشتری در سیستم یا صف

-کارآیی یا درصدی از ظرفیت که مورد استفاده قرار گرفته

-احتمال اینکه هیچ مشتری در سیستم نباشد یا احتمال اینکه چند مشتری در سیستم باشد.

برخی از انواع مدلها:

مدل1: نرخ ورود پواسن، نرخ خدمت دهی نمایی با یک مسیر خدمت‌دهی

صف

مدل2: نرخ ورود پواسن، نرخ خدمت دهی نمایی با چند خدمت‌دهی

سیستم صف

مدل3: نرخ ورود پواسن، نرخ خدمت دهی نمایی با یک چند خدمت دهنده

صف و شبیه سازی

گردآورنده مطالب و مولف:   محمد بزازی              مشاور علمی: -                   ویراستاران:  ویدا محمدی، مرتضی محمدی

نظرات کاربران

نظر خودتان را بنویسید