نرم‌افزار شبیه‌ساز **AnyLogic** ساخت شرکت The AnyLogic Company می باشد .

تاریخچه نرم‌افزار AnyLogic
--------------------------

در اویل دهه ۹۰ تمایل بسیار زیادی به رویکرد مدل‌های ریاضی و شبیه‌سازی فرایندهای موازی به وجود آمد. این رویکرد می‌توانست برای تحلیل درستی فرایندهای موازی یا توزیع به کار برده شود. تیم تحقیق و توسعه در دانشگاه سنت پترزبورگ برای تحلیل چنین شرایطی و برای کاربرد ابزار شبیه‌سازی یک نرم‌افزار جدید به نام COVERS را توسعه داد. این نرم‌افزار امکان ساخت مدل گرافیکی شبیه‌سازی از ساختار و رفتار سامانه را فراهم می‌نمود. این نرم‌افزار در یک تحقیق در شرکت HP نیز مورد استفاده قرار گرفت.
در سال ۱۹۹۸ موفقیت در پروژه توسعه نرم‌افزار COVERS باعث شد تا عضو تیم سازنده نرم‌افزار تصمیم به ثبت یک شرکت تجاری بگیرند. هدف این شرکت توسعه یک نرم‌افزار شبیه‌سازی نسل جدید بود. تأکید برای توسعه نرم‌افزار بر روی موارد زیر بود: شبیه‌سازی، تحلیل کارایی، رفتار سامانه‌های احتمالی، بهینه‌سازی و متصور ساختن (Visualization) بود. نرم‌افزار در سال ۲۰۰۰ بر پایه آخرین دستاوردهای تکنولوژی اطلاعات منتشر شد. یک نرم‌افزار شئی گرا (Object Oriented)، اجزای استاندارد UML، زبان پیشرفته جاوا، GUI پیشرفته و…
این نرم‌افزار AnyLogic نام‌گذاری شد. دلیل این نام‌گذاری این بود که این نرم‌افزار هر سه رویکرد مشهور در زمینه مدلسازی را

Three business simulation approaches
پشتیبانی می‌کرد که عبارت بودند از:

* سامانه‌های پویا (System Dynamics)
* شبیه‌سازی گسسته پیشامد (Discrete Event Simulation)
* مدلسازی عامل بنیان (Agent-Based Modeling)

همچنین ترکیب تمامی رویکردهای فوق در یک مدل نرم‌افزاری نیز فراهم شده بود. اولین نسخه AnyLogic 4.0 نامگذاری شد چرا که آخرین نسخه نرم‌افزار COVERS 3.0 بود.
پیشرفت بسیار بزرگی در سال ۲۰۰۳ وقتی AnyLogic 5.0 منتشر شد اتفاق افتاد. این نسخه از نرم‌افزار AnyLogic بر شبیه‌سازی در حوزه‌های زیر متمرکز شده بود:

* بازار و رقابت در آن (Market and Competition)
* سامانه‌های درمانی (Healthcare)
* سامانه‌های تولیدی (manufacturing)
* زنجیره عرضه (Supply chain)
* سامانه‌های لجستیکی (Logistics)
* خرده فروشی (Retailer)
* فرایندهای تجاری (Business Processes)
* پویایی اجتماعی و بوم‌سازگانی (Social and Ecosystem Dynamics)
* صنایع دفاعی (Defense)
* مدیریت پروژه و دارایی‌ها (Project and Asset Management)
* زیربنای تکنولوژی اطلاعات (IT Infrastructure)
* شبیه‌سازی سامانه‌های ترافیکی و شبیه‌سازی عابرین پیاده (Pedestrain Dynamics and Traffic Simulation)
* سامانه‌های فضایی (Aerospace)

آخرین ورژن اصلی نرم‌افزار به نام AnyLogic 7.0 در سال ۲۰۱۴ منتشر شد. این ورژن از نرم‌افزار AnyLogic دارای پلاتفرم چند منظوره بود که این نرم‌افزار را قادر می‌سازد تا بر روی سامانه عامل‌های Linux, Mac OS, Windows نصب شده و مورد استفاده قرار گیرد.

نرم‌افزار شبیه‌سازی AnyLogic و زبان برنامه‌نویسی Java
-----------------------------------------------------

نرم‌افزار AnyLogic هم دارای زبان مدلسازی به صورت گرافیکی است و هم می‌توان با استفاده از زبان Java مدل شبیه‌سازی را توسعه داد. استفاده از جاوا این امکان را به کاربران می‌دهد تا بدون حد و مرز با استفاده از کدهای جاوا مدل شبیه‌سازی سامانه مورد نظر خود را به صورت کاملاً منعطف بسازند.  

همچنین با استفاده از نرم‌افزار AnyLogic می‌توان مدل را به صورت Java Applet ایجاد کرد که بر روی هر مرورگر (Browser) استانداردی مانند IE, FireFox و… اجرا شود. این قابلیت این امکان را به مدلساز می‌دهد تا مدل ساخته شده از سامانه مورد نظر را به راحتی بر روی اینترنت به اشتراک بگذارد. همچنین در ارائه مدل در مکان‌هایی که نرم‌افزار نصب نیست نیز کاربرد بسیار زیادی داشته و مدلسازی به راحتی می‌تواند مدل
شبیه‌سازی که به صورت Java Applet درآمده‌است را توسط مرورگرهای استاندارد نمایش دهد.

مدلسازی با استفاده از شبیه‌سازی چند روشی (Multi-method simulation modeling)
---------------------------------------------------------------------------

How simulation approaches correspond to the level of abstraction
مدلهای شبیه‌سازی در نرم‌افزار AnyLogic می‌تواند برپایه سه رویکرد شبیه‌سازی اصلی یعنی شبیه‌سازی گسسته پیشامد (DES)، سامانه‌های پویا (SD)و عامل بنیان (AB) ساخته شود.  

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

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

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

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

زبان شبیه‌سازی
--------------

Simulation language constructions provided by AnyLogic
در نرم‌افزار شبیه‌سازی AnyLogic، زبان برنامه‌نویسی بر پایه آیتم‌های زیر است:  

۱. **استوک (Stock) و دیاگرام‌های جریان (Flow Diagrams)**: که برای مدلسازی سامانه‌های پویا مورد استفاده قرار می‌گیرند.  

۲.**StateCharts**: که معمولاً در مدلسازی عامل بنیان مورد استفاده قرار می‌گیرند؛ ولی در شبیه‌سازی گسسته پیشامد نیز مثلاً برای تعریف خرابی در ماشین‌ها مورد استفاده قرار می‌گیرد.  

۳.**Action Charts**: برای تعریف الگوریتم‌هایی که در شبیه‌سازی گسسته پیشامد (مانند الگوریتم موجود در مراکز تماس) یا عامل بنیان (مثلاً برای تعریف منطق تصمیم‌گیری عامل‌ها) مورد نیاز است، کاربرد دارد.  

۴.**Process Flowcharts**: به عنوان ساختار اولیه‌ای برای تعریف فرایند در شبیه‌سازی گسسته پیشامد مورد استفاده قرار می‌گیرد. با نگاه کردن به این نمودار جریان می‌توان به این مطلب پی برد که چرا در بعضی از مواقع به شبیه‌سازی گسسته پیشامد، شبیه‌سازی فرایند محور (Process Centric) نیز گفته می‌شود.
همچنین زبان برنامه‌نویسی شامل موارد زیر نیز می‌شود:

* ساختن سطوح پایینی مدل (متغیرها، روابط، پارامترها، پیشامدها و…)
* شکل‌های نمایشی (خط، دایره و…)
* ابزارهای تحلیلی (پایگاه داده، هیستوگرام، نمودارها و…)
* ابزارهای ارتباطی به پایگاه‌های داده
* شکل‌های استاندارد
* چهارچوب‌های طراحی آزمایش‌ها

Libraryهای موجود در نرم‌افزار AnyLogic
--------------------------------------

نرم‌افزار AnyLogic دارای Libraryهای زیر است:

* **The Process Modeling Library**: برای ساختن مدل‌های گسسته پیشامد از سامانه‌ها تولیدی، زنجیره عرضه، لجستیکی، درمانی و… مورد استفاده قرار می‌گیرد. با استفاده از این Library می‌توان مدل‌های واقعی را بر حسب اجزای موجود در سامانه (مشتریان، وسایل، قطعات و…)، فرایندها، صف‌ها و منابع ایجاد کرد.
* **Pedestrain Library**: برای شبیه‌سازی جریان عابرین پیاده مورد استفاده قرار می‌گیرد. این قسمت این امکان را ایجاد می‌کند که جریان افراد را در ایستگاه‌های مترو، ایستکاه‌های تست بازرسی، خیابان‌ها، مراکز خرید و… شبیه‌سازی نمود. مدل ساخته شده امکان جمع‌آوری اطلاعات و میزان تجمع افراد در مناطق مختلف را دارا است. با استفاده از Pedestrain Library می‌توان نقاط گلوگاهی، طول صف‌ها، شناسایی نقاط مشکل احتمالی مانند شکل نامناسب راهروها، جایگاه نامناسب موانع و… را شناسایی نمود. افراد در مدل به صورت پیوسته در مسافت‌ها حرکت می‌کنند و این حرکت با در نظر گرفتن تمامی موارد فاصله افراد از یکدیگر، موانع، دیوارها و… انجام می‌گیرد.
* **The Rail Yard Library**: با استفاده از این قسمت می‌توان تمامی فرایندهای موجود در سامانه‌های ریلی را شبیه‌سازی نمود. مدل شبیه‌سازی سامانه‌های ریلی را می‌توان با شبیه‌سازی گسسته پیشامد یا عامل بنیان ترکیب نمود.

همچنین کاربران می‌توانند Library مختص سامانه خودشان را نیز ایجاد و به نرم‌افزار اضافه کنند.

جستارهای وابسته
---------------

* Comparison of agent-based modeling software
* List of computer simulation software
* List of discrete event simulation software
* شبیه‌سازی کامپیوتری

منابع
-----


* Wikipedia contributors, "AnyLogic," Wikipedia, The Free Encyclopedia,  (accessed August 6, 2009).

پیوند به بیرون
--------------

* وب‌گاه رسمی نرم‌افزار AnyLogic
* راهنمای برخط نرم‌افزار AnyLogic
* مجموعه‌ای از فیلم‌های نرم‌افزار شبیه‌سازی AnyLogic
* اطلاعات کامل درباره نرم افزار AnyLogic