شبیه سازی کامپیوتری چیست؟

folder_openشبیه سازی
commentبدون دیدگاه
هوش مصنوعی

شبیه سازی کامپیوتری چیست؟

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

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

شبیه سازی کامپیوتری

انواع شبیه سازی کامپیوتری

در حالت کلی شبیه سازی کامپیوتری را میتوان به دو قسمت تقسیم نمود:

  • شبیه سازی مبتنی بر معادله (Euqation-based simulation)
  • شبیه سازی مبتنی بر عامل (agent-based simlation)

هر دو نوع شبیه سازی کامپیوتری ذکر شده نیز برای سه هدف فهم (understanding)، پیش بینی (Prediction) و اکتشاف (Exploratory) مورد استفاده قرار می‌گیرند.

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

شبیه سازی کامپیوتری مبتنی بر معادله (equation-based) معمولاً در مواقعی مورد استفاده قرار میگیرد که قوانین حاکم بر سیستم مورد بررسی بتواند به صورت روابط ریاضی و معادلات دیفرانسیل بیان شوند. مدلهای فیزیکی نمونه‌ای از شبیه سازی مبتنی بر معادله هستند.

مدلسازی سیستمهای پویا (System dynamics modeling) یا مدلسازی سیستمهای دینامیکی نیز مثال دیگری از شبیه سازی کامپیوتری مبتنی بر معادله است که با استفاده از آن رفتار سیستمها را در سطح کلان مورد بررسی قرار می‌دهند.

معرفی مدلسازی سیستمهای پویا system dynamics

شبیه سازی کامپیوتری مبتنی بر عامل

شبیه سازی مبتنی بر عامل (Agent based modeling) همانطور که از نام آن پیدا است مبتنی بر عنصرهایی است که عامل نامیده می‌شوند. این عاملها دارای رفتار مستقل هستند و همچنین قابلیت تعامل و تاثیرگذاری و تاثیرپذیری را دارند.

در ابتدا شبیه سازی مبتنی بر عامل در علوم رفتاری و اجتماعی رایج بود اما در سالهای اخیر با توجه به انعطاف بسیار بالای آن، در تمامی حوزه ها به کار گرفته شده است. در ادبیات موضوع شبیه سازی مبتنی بر عامل را با نامهای “مدلسازی عامل بنیان” و مدلسازی عامل محور نیز نامگذاری میکنند.

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

مدلسازی عامل محور

نرم افزارهای موجود جهت شبیه سازی کامپیوتری

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

  • نرم افزار شبیه سازی AnyLogic: در حال حاضر برترین ابزار شبیه سازی کامپیوتری، نرم افزار AnyLogic است. این نرم افزار هم شبیه سازی مبتنی بر معادله و هم شبیه سازی مبتنی بر عامل را پشتیبانی میکند و امکان استفاده ترکیبی از آنها را نیز فراهم کرده است.
  • نرم افزار MATLAB: نرم افزار جهت توسعه کدهای مربوط به شبیه سازی و علوم داده است و در بسیاری از رشته های مهندسی و علمی مورد استفاده قرار می‌گیرد.
  • نرم افزار SIMIO: این نرم افزار یکی از نرم افزارهای شبیه سازی است که به صورت شئی گرا توسعه داده شده است و در آن سعی شده است که تا حد امکان بدون نیاز به برنامه نویسی و کدنویسی مدل شبیه سازی ساخته شود.
  • نرم افزار شبیه سازی Arena: این نرم افزار جهت ساخت مدلهای شبیه سازی گسسته پیشامد کاربرد دارد. نرم افزار Arena تا سال 2016 محبوبیت بالایی در بین سایر ابزارهای شبیه سازی را به دست آورده بود. ولی این محبوبیت از سال 2016 به دلیل عدم به روزآوری نرم افزار و عدم بهره‌گیری از مزایای شئی گرایی، رو به نزول است.
  • نرم افزار شبیه سازی Simul8: این نرم افزار جهت ساخت مدلهای شبیه سازی پیشامد گسسته مورد استفاده قرار میگیرد.
  • نرم افزار شبیه سازی Vensim: این نرم افزار برای مدلسازی سیستمهای پویا طراحی شده است.
  • نرم افزار شبیه سازی Netlogo: این نرم افزار مختص شبیه سازی سیستمهای مبتنی بر عامل است. این نرم افزار رایگان است و به روزآوری آن توسط جامعه آکادمیک صورت می‌گیرد.

پیشنهاد میکنیم مطلب “مقایسه نرم افزارهای شبیه سازی” را مطالعه نمایید.

مراحل لازم جهت انجام شبیه سازی کامپیوتری

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

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

جهت اطلاعات بیشتر، مطلب “انجام پروژه شبیه سازی” را مطالعه نمایید.

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

همانطور که ذکر شد، AnyLogic برترین ابزار شبیه سازی است که امکان ساخت مدل شبیه سازی کامپیوتری را فراهم نموده است. این نرم افزار با پشتیبانی از هر سه رویکرد شبیه سازی که عبارت است از شبیه سازی گسسته پیشامد (Discrete Event Simulation)، مدلسازی سیستم های پویا (System Dynamics) و مدلسازی عامل بنیان (Agent-based Modeling)، امکان ساخت مدل شبیه سازی کامپیوتری با هر پیچیدگی و ابعادی را فراهم نموده است.
نرم افزار AnyLogic با استفاده از زبان برنامه نویسی جاوا توسعه داده شده است و برای ساخت مدل شبیه سازی کامپیوتری از انعطاف این زبان برنامه نویسی هم بهره مند خواهید بود. نرم افزار شبیه سازی AnyLogic علاوه بر طراحی ابزارهای عمومی مختلف برای ساخت مدل شبیه سازی، دارای کتابخانه های تخصصی مانند ترافیک، انبار و جابحایی مواد، انتقال مایعات، سیستم های ازدحام و تخلیه و … است که با استفاده از آنها به راحتی میتوان مدل شبیه سازی تخصصی را ایجاد نمود.
در صورتی که تمایل دارید نحوه ساخت مدل شبیه سازی کامپیوتری با استفاده از نرم افزار AnyLogic را یاد بگیرید، پیشنهاد میکنیم در دوره های آموزش نرم افزار AnyLogic که توسط شرکت شبیه پردازان به عنوان نماینده رسمی این نرم افزار ارائه میشود، شرکت نمایید.

 

جهت کسب اطلاعات بیشتر، به لینک دوره آموزش نرم افزار شبیه سازی AnyLogic مراجعه نمایید.

آموزش عمومی شبیه‌سازی
Tags: , , , , , , , ,

Related Posts

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست