شبیه سازی کامپیوتری چیست؟
در تعریف واژه شبیه سازی کامپیوتری یک تعریف جامع وجود ندارد. چرا که کاربرد آن بسیار وسیع بوده و متناسب با آن ممکن است در برخی مواقع دارای تعاریف متمایزی باشد. اما در تعریف کلی میتوان شبیه سازی کامپیوتری را برنامهای نامید که در محیط کامپیوتر توسعه داده میشود و هدف آن تقلید رفتار است. این رفتار ممکن است متعلق به یک سیستم واقعی باشد و یا ممکن است متعلق به یک سیستم فرضی باشد.
شبیه سازی کامپیوتری ابزاری است که با استفاده آن میتوان رفتارهای پیچیده را تحلیل نمود. رفتارهایی که گاهاً با ساخت مدل ذهنی قادر به تجسم و حل آنها نیستیم. دلیل توسعه این برنامه در محیط کامپیوتر نیز بهره گیری از توان بیشتر کامپیوتر نسبت به ذهن انسان است. بنابراین این برنامه با استفاده از توان محاسباتی و سخت افزاری، رفتار مورد نظر را تقلید و شبیه سازی میکند.
انواع شبیه سازی کامپیوتری
در حالت کلی شبیه سازی کامپیوتری را میتوان به دو قسمت تقسیم نمود:
- شبیه سازی مبتنی بر معادله (Euqation-based simulation)
- شبیه سازی مبتنی بر عامل (agent-based simlation)
هر دو نوع شبیه سازی کامپیوتری ذکر شده نیز برای سه هدف فهم (understanding)، پیش بینی (Prediction) و اکتشاف (Exploratory) مورد استفاده قرار میگیرند.
شبیه سازی کامپیوتری مبتنی بر معادله
شبیه سازی کامپیوتری مبتنی بر معادله (equation-based) معمولاً در مواقعی مورد استفاده قرار میگیرد که قوانین حاکم بر سیستم مورد بررسی بتواند به صورت روابط ریاضی و معادلات دیفرانسیل بیان شوند. مدلهای فیزیکی نمونهای از شبیه سازی مبتنی بر معادله هستند.
مدلسازی سیستمهای پویا (System dynamics modeling) یا مدلسازی سیستمهای دینامیکی نیز مثال دیگری از شبیه سازی کامپیوتری مبتنی بر معادله است که با استفاده از آن رفتار سیستمها را در سطح کلان مورد بررسی قرار میدهند.
شبیه سازی کامپیوتری مبتنی بر عامل
شبیه سازی مبتنی بر عامل (Agent based modeling) همانطور که از نام آن پیدا است مبتنی بر عنصرهایی است که عامل نامیده میشوند. این عاملها دارای رفتار مستقل هستند و همچنین قابلیت تعامل و تاثیرگذاری و تاثیرپذیری را دارند.
در ابتدا شبیه سازی مبتنی بر عامل در علوم رفتاری و اجتماعی رایج بود اما در سالهای اخیر با توجه به انعطاف بسیار بالای آن، در تمامی حوزه ها به کار گرفته شده است. در ادبیات موضوع شبیه سازی مبتنی بر عامل را با نامهای “مدلسازی عامل بنیان” و “مدلسازی عامل محور“ نیز نامگذاری میکنند.
تفاوت اصلی شبیه سازی کامپیوتری مبتنی بر عامل با شبیه سازی مبتنی بر معادله در این است که در اینجا صحبتی از معادلات اصلی و مرکزی وجود ندارد. عاملها دارای رفتار هستند و رفتار آنها توسط قوانین محلی خودشان تعیین میشود. از زاویه دیگر در شبیه سازی مبتنی بر عامل، ما با عاملهای فعال (active) روبرو هستیم که به عنوان یک جزء دارای استقلال، حافظه و رفتار تعریف میشوند.
مثال شبیه سازی کامپیوتری
شبیه سازی دارای کاربردهای بسیار زیادی است که در زیر به برخی از آنها اشاره میشود:
- شبیه سازی زنجیره تامین
- شبیه سازی سیستم های ساخت و تولید
- شبیه سازی سیستمهای حمل و نقل و انبارداری
- شبیه سازی سیستمهای ریلی
- شبیه سازی فرآیندهای معدنی و صنایع معدنی
- شبیه سازی سیستمهای نفت و گاز و پتروشیمی
- شبیه سازی ترمینال و بندر
- شبیه سازی سیستمهای درمان
- شبیه سازی فرآیندهای تجاری
- شبیه سازی مدیریت داراییها
- شبیه سازی فرآیندهای بازاریابی
- شبیه سازی فرآیندهای اجتماعی
- شبیه سازی سیستمهای دفاعی
با کلیک کردن بر روی هر یک از کاربردهای ذکر شده، مدلهای نمونه شبیه سازی کامپیوتری را میتوانید مشاهده کنید.
نرم افزارهای موجود جهت شبیه سازی کامپیوتری
نرم افزارهای شبیه سازی مختلفی برای ساخت مدلهای شبیه سازی توسعه داده شدهاند. در زیر به برخی از آنها اشاره شده است:
- نرم افزار شبیه سازی AnyLogic: در حال حاضر برترین ابزار شبیه سازی کامپیوتری، نرم افزار AnyLogic است. این نرم افزار هم شبیه سازی مبتنی بر معادله و هم شبیه سازی مبتنی بر عامل را پشتیبانی میکند و امکان استفاده ترکیبی از آنها را نیز فراهم کرده است.
- نرم افزار MATLAB: نرم افزار جهت توسعه کدهای مربوط به شبیه سازی و علوم داده است و در بسیاری از رشته های مهندسی و علمی مورد استفاده قرار میگیرد.
- نرم افزار SIMIO: این نرم افزار یکی از نرم افزارهای شبیه سازی است که به صورت شئی گرا توسعه داده شده است و در آن سعی شده است که تا حد امکان بدون نیاز به برنامه نویسی و کدنویسی مدل شبیه سازی ساخته شود.
- نرم افزار شبیه سازی Arena: این نرم افزار جهت ساخت مدلهای شبیه سازی گسسته پیشامد کاربرد دارد. نرم افزار Arena تا سال 2016 محبوبیت بالایی در بین سایر ابزارهای شبیه سازی را به دست آورده بود. ولی این محبوبیت از سال 2016 به دلیل عدم به روزآوری نرم افزار و عدم بهرهگیری از مزایای شئی گرایی، رو به نزول است.
- نرم افزار شبیه سازی Simul8: این نرم افزار جهت ساخت مدلهای شبیه سازی پیشامد گسسته مورد استفاده قرار میگیرد.
- نرم افزار شبیه سازی Vensim: این نرم افزار برای مدلسازی سیستمهای پویا طراحی شده است.
- نرم افزار شبیه سازی Netlogo: این نرم افزار مختص شبیه سازی سیستمهای مبتنی بر عامل است. این نرم افزار رایگان است و به روزآوری آن توسط جامعه آکادمیک صورت میگیرد.
پیشنهاد میکنیم مطلب “مقایسه نرم افزارهای شبیه سازی” را مطالعه نمایید.
مراحل لازم جهت انجام شبیه سازی کامپیوتری
جهت انجام شبیه سازی کامپیوتری، مراحل مشخصی باید انجام گیرد. این مراحل از اهمیت بسیار بالایی برخوردارند و عدم توجه به هر کدام از آنها منجر به شکست شبیه سازی میشود. در زیر به هر یک از مراحل اشاره شده است:
- شناخت سیستم: در این فاز میبایست سیستم مورد نظر جهت ساخت مدل شبیه سازی به صورت کامل شناسایی شود و اهداف مورد نظر و محدودیت ها تعریف شوند
- انتخاب رویکرد مناسب شبیه سازی کامپیوتری: بعد از مرحله شناخت سیستم، رویکرد مناسب جهت شبیه سازی کامپیوتری از بین رویکردهای شبیه سازی گسسته پیشامد، مدلسازی سیستمهای پویا و مدلسازی عامل بنیان انتخاب میگردد.
- جمع آوری داده های ورودی مورد نیاز و تحلیل آماری: بعد از شناخت سیستم و انتخاب رویکرد مناسب شبیه سازی، داده های مورد نیاز جمع آوری میگردند و عملیات پاکسازی، برازش تابع توزیع احتمالی، شناسایی نقاط پرت (outlier) و … انجام میشود.
- ساخت مدل شبیه سازی: بعد از انتخاب نرم افزار مناسب شبیه سازی بر اساس رویکرد شبیه سازی انتخاب شده، مدل شبیه سازی در نرم افزار توسعه داده میشود و داده های جمعآوری شده به عنوان داده های ورودی مساله وارد مدل شبیه سازی میشوند.
- اعتبارسنجی مدل شبیه سازی: در این مرحله تست میشود که آیا مدل شبیه سازی رفتاری مشابه با سیستم مورد بررسی دارد یا خیر. در صورت تایید، میتوان فاز تحلیل سناریوها و بهینه سازی را آغاز نمود. در غیر اینصورت میبایست مساله از دو منظر جمع آوری اشتباه داده های ورودی و مدلسازی مغایر با سیستم مورد بررسی قرار گیرد.
- سناریوسازی و بهینه سازی: بعد از تایید اعتبار مدل شبیه سازی، سناریوهای مختلف در آن پیاده سازی و نتایج مورد بررسی قرار میگیرد. همچنین میتوان فرآیند بهینه سازی بر روی متغیرهای تصمیم مدل شبیه سازی انجام شود.
- جمعبندی و نتیجهگیری: در این مرحله بر اساس خروجیهای فاز قبلی، بهترین سناریو و بهترین مقدار برای متغیرهای سیستم استخراج میشود و تصمیمات مربوطه اتخاذ میگردد.
جهت اطلاعات بیشتر، مطلب “انجام پروژه شبیه سازی” را مطالعه نمایید.
ساخت مدل شبیه سازی با نرم افزار AnyLogic
جهت کسب اطلاعات بیشتر، به لینک “دوره آموزش نرم افزار شبیه سازی AnyLogic“ مراجعه نمایید.