روش شبیه سازی – بهینه سازی ( simulation-optimization) چیست؟
شبیه سازی در واقع تقلید رفتار یک سیستم واقعی در در محیط کامپیوتری است. این مدل شبیه سازی قادر است همان رفتاری را از خود نشان دهد که در دنیای واقعی مشاهده میکنیم. همچنین با وارد کردن تغییرات در مدل شبیه سازی، به راحتی میتوانیم نتایج آن را بدون ریسکهایی مانند هزینهای و زمانی مشاهده کنیم. بنابراین مدل شبیهسازی ورودی را از مدلساز میگیرد و خروجی را نشان میدهد. حال اگر تعیین ورودی به جای مدلساز توسط الگوریتم بهینه ساز صورت گیرد، روش شبیه سازی – بهینه سازی (simulation – optimization) و یا به اختصار SO شکل میگیرد. این فرآیند عموماً به صورت رفت و برگشتی انجام میشود. این روش نامهای دیگری مانند بهینه سازی مبتنی بر شبیه سازی و الگوریتم بهینه سازی – شبیه سازی نیز نامیده میشود.
در روش simulation-optimization، مدل شبیه سازی از وضعیت فعلی سیستم ساخته میشود. سپس با تعریف تابع هدف و متغیرهای تصمیم و محدودیتها، مدل شبیه سازی به یک بهینه ساز متصل میشود. بهینه ساز مقادیر مربوط به متغیرهای تصمیم را با در نظر گرفتن محدودیتها و در جهت رسیدن به بهترین مقدار تابع هدف تعیین مینمایند.
الگوریتمهای بهینه سازی در این روش میتواند روشهایی مانند الگوریتم ژنتیک (GA)، الگوریتم جستجوی ممنونه (TS)، الگوریتم تبرید شبیه سازی شده (SA) و الگوریتم های مشابه باشد.
مزایای استفاده از روش SO
مزایای استفاده از روش SO نسبت به حل مساله صرفاً با روشهای بهینهسازی مانند مدلسازی ریاضی عبارت است از:
- لحاظ نمودن پیچیدگیهای دنیای واقعی، عدم قطعیتها و فرآیندهای احتمالی در مدل شبیه سازی
- لحاظ نمودن پیچیدگیهای مدل شبیه سازی در فرآیند بهینه سازی
- امکان بهره گیری از روشهای سیستماتیک و پارامتریک جهت استخراج جواب بهینه
- صرفهجویی در زمان برای حل مساله
برخی از نرم افزارهای شبیهسازی، امکان بهرهگیری از روش SO را فراهم میکنند. نرم افزار شبیه سازی AnyLogic نیز این امکان را برای مدلسازان ارائه نموده است که به راحتی بعد از ساخت مدل شبیه سازی با هر یک از رویکردهای شبیه سازی گسسته پیشامد (Discrete Event Siumlation)، سیستم های پویا (System Dynamics) و مدلسازی عامل بنیان (Agent-based Modeling)، آن را با الگوریتمهای بهینه سازی ترکیب نمایند و مقدار بهینه متغیرهای تصمیم را استخراج کنند.