اصول شبیه سازی
شبیه سازی یکی از تکنیک های بسیار پر کاربرد در تمامی حوزه های مهندسی صنایع می باشد و آشنایی با آن می تواند مهندسین را در ورود به بازار کار آماده سازد و یادگیری آن به تمامی مهندسین گرامی توصیه می گردد.
تعریف شبیه سازی
شبیه سازی(simulation)،تکنیکی است که امکان نمایش فرآیند ها،منابع،کالاها و خدمات را در قالب یک مدل پویای کامپیوتری فراهم می سازد.
به طور دقیق تر،شبیه سازی رایانه ای،ابزاری قدرتمند برای پشتیبانی از تصمیم های مدیریت و کاهش ریسک ها در فرآیند تصمیم گیری با استفاده از تحلیل و ارزیابی سناریو های مختلف و استراتژی های گوناگون می باشد.
شبیه سازی کاربرد های فراوانی در زمینه های مختلفی از جمله مهندسی ایمنی،آزمایشات،آموزش و بازی های کامپیوتری دارد.
اغلب آزمایشات کامپیوتری برای مطالعه مدل های شبیه سازی استفاده می شود.
شبیه سازی همچنین با مدل سازی های مهندسی سیستم های طبیعی یا انسانی برای کسب آگاهی از نحوه عملکرد آن ها نیز استفاده می گردد.
همچنین برای نشان دادن تاثیرات و عواقب یک تصمیم نیز مورد استفاده قرار می گیرد.
یک کاربرد مهم شبیه سازی زمانی است که به دلیل در دسترس نبودن و یا مخاطره آمیز بودن و یا اینکه سیستم طراحی شده هنوز ساخته نشده است،نمی توان سیستم اصلی را درگیر نمود.
اما در حالاتی نیز ممکن است شبیه سازی منجر به نتایج مورد نظر نشود که در این مواقع استفاده از راه حل های دیگر برای حل مسئله توصیه می گردد.
این حالات شامل موارد زیر هستند:
مسئله به طور کامل بررسی و مطالعات لازم انجام نشده باشد.
هدف فرموله شده ای برای مسئله تا کنون ارائه نشده باشد.
زمانی که می توان مسئله را از راه محاسبات جبری حل کرد و به سرانجام رساند و نتیجه گیری کرد.
زمانی که از جواب های احتمالی مسئله بی اطلاع باشیم.
زمانی که بهره وری سیستم بالا باشد و ورود به سیستم از الگوی خاصی پیروی نکند.
موارد استفاده از شبیه سازی
با توجه به مطالبی که بیان شد و با گسترش چشمگیر این تکنیک مفید در دنیای امروزی،موارد استفاده گوناگونی در بخش های مختلف صنعت وجود دارد که برخی از آن ها به شرح زیر هستند:
- انواع خط تولید(مثل خودروسازی،تولید فولاد و غیره)
- در کارخانه ها،سیستم های حمل و نفل و لجستیک
- فرودگاه ها و خطوط هوایی
- مدیریت زنجیره تامین(SCM)و سیستم های توزیع(DS)
- صنایع پتروشیمی،نفت و گاز
- انواع سیستم های صف نظیر فرودگاه ها،ایستگاه قطار و غیره برای کاستن از تشکیل صفوف طولانی و کاستن از انبوهی جمعیت
فواید شبیه سازی
با توجه به کاربرد های فراوان شبیه سازی در حوزه های مختلف،استفاده از شبیه سازی فواید زیادی را در بر دارد که به برخی از آن ها اشاره می کنیم:
1- تجربه واقعی
در حالی که قرار دادن کارمندان در شرایط مختلف روی کاغذ(به صورت تئوری)،امری مفید است اما نمی تواند جای تجربه واقعی را بگیرد.
گرچه زمانی که تجربه واقعی قابل دسترسی نیست،شبیه سازی ما را هرچه بیشتر به هدف نزدیک تر می کند.
شبیه سازی موقعیتی برای تجربه دنیای واقعی را فراهم می کند و ارزان تر،سریع تر و کارا ترین راه است که به افراد در درک چگونگی رفتار در شرایط دنیای واقعی کمک می نماید.
2- تکرار
به منظور حصول اطمینان از تجربه موفقیت آمیز یادگیری و نتایج مطلوب مورد نظر باید تکرار انجام پذیرد.
اما وقتی قصد یاد دادن به فردی را داریم،تکرار کردن سوالات به صورت مکرر راه مناسبی به نظر نمی رسد.
در چنین شرایطی شبیه سازی به کمک شما می آید.از طریق شبیه سازی سناریو های مختلف،می توانیم آزمایش را تکرار کنیم تا به نتیجه مطلوب برسیم.
3- تکنولوژی
شبیه سازی یک تکنیک است که امروزه تکنولوژی لازم برای استفاده کارامد از آن را داریم.
تکنولوژی های جدید اجازه می دهند تا شبیه سازی هایی را درمحیط وب با ابزار های پیشرفته ای که اجازه خلق شرایطی را که یک کارمند با آن مواجه است را می دهد،انجام دهیم.
نهایتا،تکنولوژی شبیه سازی جدید اجازه می دهد تا نتایج دقیقی از عملکرد کارمندان داشته باشیم و در نتیجه بتوانیم عملکرد آن ها را ردیابی و بهینه سازی کنیم.
بر خلاف باور عموم،شبیه سازی می تواند به راحتی به سیستم های مدیریتی اضافه شود که هم در سطح مدیریتی و هم برای کارمندان فواید بی شماری را در بر خواهد داشت.
انواع شبیه سازی:
شبیه سازی فیزیکی (Physical Simulation)، به شبیه سازی اطلاق میشود که در آن اشیاء بدلی و مجازی جایگزین اجسام واقعی میشوند. این اجسام فیزیکی اغلب به دلیل کوچکتر یا ارزانتر بودن از شیء یا سیستم واقعی انتخاب میشوند.
شبیه سازی تعاملی (Interactive Simulation)، نوعی خاص از شبیه سازی فیزیکی است که اغلب با همکاری یک یا دستهای از انسانها صورت میگیرد. برای مثال شبیهساز (Simulator) پرواز یا قایقرانی و حتی شبیهساز رانندگی در این دسته قرار میگیرند.
شبیه سازی مداوم (Continuous Simulation)، نوعی است مبتنی بر زمان پیوسته به جای گامهای زمانی گسسته است. این گونه شبیهسازی ها اغلب نیاز به محاسبات عددی و حل معادلات دیفرانسیل دارند.
شبیه سازی رویداد گسسته (Discrete Event Simulation)، یک شبیه سازی بر اساس مراحل یا گامهای زمانی گسسته است که برای نشان دادن لحظههای حساس انتخاب شده است. در این شبیهسازی، مقادیر متغیرها در هر دوره مختلف، مستقل از یکدیگر هستند.
شبیه سازی تصادفی (Random Simulation) نوعی از شبیه سازی ها است که در آن برخی از متغیرها یا فرآیندها، تحت تاثیر پدیدههای تصادفی هستند و با استفاده از روشها یا تکنیکهای مونت کارلو (Monte Carlo Methods) و بهرهگیری از اعداد شبه تصادفی (Pseudo Random)، شبیه سازی صورت میگیرد. بدین ترتیب تکرار شبیهسازی با همان شرایط، نتایج مختلفی را در یک بازه اطمینان خاص ایجاد میکند.
شبیه سازی قطعی (Deterministic Simulation)، یک شبیه سازی است که برپایه عوامل تصادفی ساخته نشده، بنابراین متغیرها توسط الگوریتمهای قطعی تنظیم میشوند. در این گونه شبیهسازی ها، تکرار عمل شبیهسازی در شرایط یکسان، نتایج سازگار و همسانی خواهد داشت.
شبیه سازی ترکیبی (Hybrid Simulation)، به ترکیبی از شبیه سازی ها رویدادهای، زمان-پیوسته و زمان-گسسته مربوط میشود و منجر به ادغام معادلات دیفرانسیل بین دو رویداد متوالی عددی میشود تا تعداد ناپیوستگیها را کاهش دهد. معمولا این گونه ریاضیات را به نام معادلات دیفرانسیل تصادفی میشناسیم.
شبیه سازی مستقل (Stand-alone Simulation) نوعی از شبیه سازی ها است که توسط رایانه، برنامهریزی و به تنهایی روی یک ایستگاه کاری (Workstation) اجرا می شود.
شبیه سازی توزیع شده (Distributed Simulation)، روشی است که از بیش از یک رایانه استفاده میکند تا دسترسی به منابع مختلف میسر شود. به عنوان مثال چند کاربر که برنامه کاربردی یا سیستمهای عامل مختلفی را اجرا یا مجموعه دادههای توزیع شده را به کار میگیرند، نمونههایی کلاسیک از شبیه سازی تعاملی توزیع شده (DIS) هستند.
شبیه سازی موازی (Parallel Simulation)، بر روی چندین پردازنده انجام میشود. این کار معمولا به علت توزیع بار محاسباتی اتفاق میافتد و بخصوص زمانی که لازم است محاسبات با کارایی بالا رخ دهد از این روش استفاده میشود.
شبیه سازی قابل تعامل (Inter-operable)، در آن چندین مدل، یا شبیه ساز، به صورت محلی با یکدیگر توافق دارند و از طریق شبکه به صورت توزیع شده عمل میکنند. یک نمونه کلاسیک از این گونه شبیه سازی ها میتواند معماری سطح بالا (High Level Architecture) باشد.
مدل سازی و شبیه سازی خدماتی (Modeling & Simulation as a Service) که روشی برای شبیهسازی ارائه خدمات در اینترنت محسوب میشود.
شبیه سازی در تجزیه و تحلیل خرابی (Simulation in failure analysis)، نوعی از شبیه سازی ها است که در آن ما محیط و شرایط را به شکلی تنظیم میکنیم که علت خرابی تجهیزات شناسایی و مشخص شود. این بهترین و سریعترین روش برای شناسایی علت خرابی بدون ایجاد خسارت جانی و مالی است.
گامهای اساسی در بررسی مبتنی بر شبیهسازی
گامهای اساسی بررسی مبتنی بر شبیهسازی به شرح زیر است:
۱ – صورت بندی مسئله: هر بررسی مبتنی بر شبیهسازی را باید با صورت بندی مسئله شروع کرد و تحلیلگر از درک درست درباره مسئله اطمینان حاصل کند.
۲ – تعیین اهداف و طرح کلی پروژه: اهداف شبیهسازی پرسشهایی را مطرح می کند که باید پاسخ آنها را با استفاده از شبیهسازی بدست آورد.
۳ – مدلسازی: ساختن مدل سیستم را کاری هنری و علمی میشناسند. مناسب ترین شیوه مدل سازی، آغاز کار با مدل ساده و پیچیده کردن تدریجی آن است. توصیه میشود که استفاده کننده از مدل در ساختن مدل حضور یابد.
شرکت دادن استفاده کننده از مدل در این کار، هم کیفیت مدل بدست آمده را بالا میبرد و هم بر اطمینان خاطر استفاده کننده از مدل در عمل را افزایش می دهد.
۴ – گردآوری دادهها: بین ساختن مدل و گرد آوری دادههای ورودی مورد نیاز، رابطه متقابل مداومی وجود دارد. همچنان که پیچیدگی مدل تغییر میکنند.
عناصر داده ای مورد نیاز نیز تغییر میکنند. به علاوه، چون گردآوری دادهها بخش بزرگی از مجموع مدت مورد نیاز برای انجام شبیهسازی را در بر میگیرد، لازم است که ان را تا حد ممکن زود و معمولا همراه با مراحل اولیه مدل سازی آغاز کرد.
۵ – برنامه نویسی: چون شبیه سازی سیستم های واقعی به مدلهایی نتیجه میشود که به مقدار زیادی ذخیره سازی و محاسبات اطلاعاتی نیاز دارند، مدل را باید به زبان رقمی برای کامپیوتر ترجمه کرد. مدل سازی باید تصمیم بگیرد که با چه زبانی نوشته شود.
۶ – وارسی برنامه: وارسی مربوط به برنامه کامپیوتری آماده شده برای مدل شبیهسازی است. آیا برنامه کامپیوتری به خوبی کار میکند؟ در مورد مدلهای پیچیده، برنامه نویسی کامل مدل به طریقی موفقیت آمیز بدون غلط و خطا، امری دشوار است.
وظیفه برنامه نویس این است که کنترل کند ما به ازای واقعی تمامی روابط در برنامه درست وارد شده است یا نه؟
۷ – معتبرسازی مدل: معتبرسازی مدل به معنای مشخص کردن این است که آیا مدل معرف دقیقی از سیستم واقعی است یا نه؟ معتبرسازی معمولا از طریق محک زدن مدل انجام میگیرد، یعنی فرایند تکرار شونده ای که مسئول مقایسه مدل با رفتار سیستم واقعی است.
در مثال بانک که در بالا آمده، دادههای مربوط به طول صف انتظار در شرایط فعلی گردآوری شد. آیا مدل شبیهسازی از عهده پیش بینی این معیار عملکرد سیستم بر میآید؟
۸ – طرح آزمایشی: در هر طرح آزمایشی باید تصمیمهای در مورد طول مدت اجراهای شبیهسازی و تعداد تکرار هر اجرا اتخاذ کرد.
۹ – اجراهای مدل و تحلیل نتایج: اجراهای مکرر مدل و سپس تحلیل آنها به منظور برآورد معیارهای عملکرد طرحها از سیستمی که شبیهسازی میشوند، در این بخش انجام می شود.
۱۰ – اجراهای بیشتر: براساس اجراهای کامل شده، تحلیل گر تعیین میکند که آیا اجراهای دیگری مورد نیاز است یا نه و اگر چنین است، این اجراها از چه طرحی باید پیروی کنند.
۱۱ – مستند سازی برنامه و گزارش نتایج: به دلایل متعددی، مستند سازی برنامه لازم است. اگر قرار باشد برنامه توسط همان تحلیلگر یا تحلیل گران دیگر باز هم مورد استفاده واقع شود، درک چگونگی کارکرد برنامه ممکن است لازم باشد.
۱۲ – اجرا: موفقیت گام اجرا به این موضوع بستگی دارد که یازده مرحله قبلی چقدر خوب انجام شده است. موفقیت این مرحله همچنین به میزان شرکت دادن استفاده کننده نهایی مدل در تمام فرایند شبیهسازی از سوی طراح سیستم، بستگی دارد.
اگر استفاده کننده از مدل به طور کامل در فرایند مدل سازی شرکت داده شده باشد و اگر ماهیت مدل و خروجیهای آن را درک کند، احتمال اجرایی شدن مدل افزایش مییابد.
مزایا و معایب شبیهسازی
تحلیلگر باید قبل از استفاده از شبیهسازی، از مزایا و معایب آن مطلع باشد. از جمله مزایای شبیهسازی میتوان به موارد زیر اشاره کرد:
۱ – میتوان از مدل شبیهسازی برای تحلیل طرحهای پیشنهادی استفاده کرد و دیگر نیاز به پیاده سازی طرحهای پیشنهادی در سیستم واقعی برای بررسی طرح ها نیست.
۲ – معمولا دستیابی به دادههای شبیهسازی بسیار کم هزینه تر از فراهم آوردن دادههای مربوط به سیستم واقعی است.
۳ – به کار بردن روشهای شبیهسازی معمولا آسانتر از روشهای تحلیل است. بنابراین، شمار استفاده کنندگان بالقوه روشهای شبیهسازی بسیار بیشتر از روشهای تحلیلی است.
۴ – در حالی که معمولا مدلهای تحلیلی به فرضهای ساده کننده متعددی نیاز دارند تا از لحاظ ریاضی کاربرد پذیر شوند، مدلهای شبیهسازی چنین محدودیتهایی ندارد.
با استفاده از مدلهای تحلیلی، معمولا تنها تعداد محدودی از معیارهای سنجش عملکرد سیستم را می توان محاسبه کند، در صورتی که دادههای تولید شده از مدلهای شبیهسازی به منظور برآورد هر معیار سنجش متصور عملکرد سیستم کاربرد پذیر است.
از معایب روشهای شبیهسازی میتوان به موارد زیر اشاره کرد:
۱ – معمولا، به اجراهای فراوانی در مورد هر مدل شبیهسازی نیازمندیم و همین مساله ممکن است به هزینههای محاسباتی زیاد منجر شود.
۲ – در مواردی که روشهای تحلیلی کافی به نظر میرسد استفاده از روشهای شبیهسازی منجر به فراموشی روشهای ریاضی میشود.


