انی‌لاجیک کیست؟ توضیح بده.
نرم‌افزار شبیه‌ساز AnyLogic ساخت شرکت The AnyLogic Company می باشد .تاریخچه نرم‌افزار AnyLogic.در اویل دهه ۹۰ تمایل بسیار زیادی به رویکرد مدل‌های ریاضی و شبیه‌سازی فرایندهای موازی به وجود آمد. این رویکرد می‌توانست برای تحلیل درستی فرایندهای موازی یا توزیع به کار برده شود. تیم تحقیق و توسعه در دانشگاه سنت پترزبورگ برای تحلیل چنین شرایطی و برای کاربرد ابزار شبیه‌سازی یک نرم‌افزار جدید به نام COVERS را توسعه داد. این نرم‌افزار امکان ساخت مدل گرافیکی شبیه‌سازی از ساختار و رفتار سامانه را فراهم می‌نمود. این نرم‌افزار در یک تحقیق در شرکت HP نیز مورد استفاده قرار گرفت.در سال ۱۹۹۸ موفقیت در پروژه توسعه نرم‌افزار COVERS باعث شد تا عضو تیم سازنده نرم‌افزار تصمیم به ثبت یک شرکت تجاری بگیرند. هدف این شرکت توسعه یک نرم‌افزار شبیه‌سازی نسل جدید بود. تأکید برای توسعه نرم‌افزار بر روی موارد زیر بود: شبیه‌سازی، تحلیل کارایی، رفتار سامانه‌های احتمالی، بهینه‌سازی و متصور ساختن (Visualization) بود. نرم‌افزار در سال ۲۰۰۰ بر پایه آخرین دستاوردهای تکنولوژی اطلاعات منتشر شد. یک نرم‌افزار شئی گرا (Object Oriented)، اجزای استاندارد UML، زبان پیشرفته جاوا، GUI پیشرفته و…این نرم‌افزار AnyLogic نام‌گذاری شد. دلیل این نام‌گذاری این بود که این نرم‌افزار هر سه رویکرد مشهور در زمینه مدلسازی راپشتیبانی می‌کرد که عبارت بودند از:همچنین ترکیب تمامی رویکردهای فوق در یک مدل نرم‌افزاری نیز فراهم شده بود. اولین نسخه AnyLogic 4.0 نامگذاری شد چرا که آخرین نسخه نرم‌افزار COVERS 3.0 بود.پیشرفت بسیار بزرگی در سال ۲۰۰۳ وقتی AnyLogic 5.0 منتشر شد اتفاق افتاد. این نسخه از نرم‌افزار AnyLogic بر شبیه‌سازی در حوزه‌های زیر متمرکز شده بود:آخرین ورژن اصلی نرم‌افزار به نام AnyLogic 7.0 در سال ۲۰۱۴ منتشر شد. این ورژن از نرم‌افزار AnyLogic دارای پلاتفرم چند منظوره بود که این نرم‌افزار را قادر می‌سازد تا بر روی سامانه عامل‌های Linux, Mac OS, Windows نصب شده و مورد استفاده قرار گیرد.نرم‌افزار شبیه‌سازی AnyLogic و زبان برنامه‌نویسی Java.نرم‌افزار AnyLogic هم دارای زبان مدلسازی به صورت گرافیکی است و هم می‌توان با استفاده از زبان Java مدل شبیه‌سازی را توسعه داد. استفاده از جاوا این امکان را به کاربران می‌دهد تا بدون حد و مرز با استفاده از کدهای جاوا مدل شبیه‌سازی سامانه مورد نظر خود را به صورت کاملاً منعطف بسازند.همچنین با استفاده از نرم‌افزار AnyLogic می‌توان مدل را به صورت Java Applet ایجاد کرد که بر روی هر مرورگر (Browser) استانداردی مانند IE, FireFox و… اجرا شود. این قابلیت این امکان را به مدلساز می‌دهد تا مدل ساخته شده از سامانه مورد نظر را به راحتی بر روی اینترنت به اشتراک بگذارد. همچنین در ارائه مدل در مکان‌هایی که نرم‌افزار نصب نیست نیز کاربرد بسیار زیادی داشته و مدلسازی به راحتی می‌تواند مدلشبیه‌سازی که به صورت Java Applet درآمده‌است را توسط مرورگرهای استاندارد نمایش دهد.مدلسازی با استفاده از شبیه‌سازی چند روشی (Multi-method simulation modeling).مدلهای شبیه‌سازی در نرم‌افزار AnyLogic می‌تواند برپایه سه رویکرد شبیه‌سازی اصلی یعنی شبیه‌سازی گسسته پیشامد (DES)، سامانه‌های پویا (SD)و عامل بنیان (AB) ساخته شود.شبیه‌سازی گسسته پیشامد و مدلسازی سامانه‌های پویا رویکردهای سنتی در زمینه شبیه‌سازی هستند؛ ولی رویکرد شبیه‌سازی عامل بنیان (AB) یک رویکرد جدید است. از لحاظ تکنیکی، سامانه‌های پویا برای فرایندهای پیوسته مورد استفاده قرار می‌گیرد. شبیه‌سازی گسسته پیشامد نیز همان‌طور که از نامش نیز مشخص است برای شبیه‌سازی سامانه‌های گسسته کاربرد دارد. شبیه‌سازی عامل بنیان نیز در سامانه‌های گسسته مورد استفاده قرار می‌گیرد.شبیه‌سازی گسسته پیشامد و سامانه‌های پویا از گذشته در دانشگاه‌ها تدریس می‌شود. دانشجویان رشته‌های صنایع، مدیریت، اقتصاد، تحقیق در عملیات و… از جمله گروه‌هایی هستند که شبیه‌سازی به آن‌ها در دانشگاه‌ها تدریس می‌شود؛ ولی در عالم واقعیت هیچ تعاملی بین گروه‌های شبیه‌سازی گسسته پیشامد و گروه‌های سامانه‌های پویا وجود نداشته و این دوگروه به صورت دو گروه کاملاً مستقل فعالیت‌های علمی انجام می‌دادند.مدلسازی عامل بنیان به صورت یک مبحث کاملاً آکادمیک مطرح است. اگرچه افزایش تقاضا برای بهینه‌سازی فرایندهای تجاری به صورت جامع باعث شده‌است تا مدلسازان حرفه‌ای به سمت استفاده از روش‌های ترکیبی برای مدلسازی سامانه‌های پیچیده روی بیاورند که روش مدلسازی عامل بنیان را نیز شامل می‌شود.حال به بررسی هر یک از رویکردهای شبیه‌سازی و ارتباط آن با میزان خلاصه سازی سامانه (Abstraction) در فرایند مدلسازی پرداخته می‌شود.مدلسازی سامانه‌های پویا معمولاً در سطوح کلان مورد استفاده قرار می‌گیرد که در آن به جزئیات کمتر پرداخته می‌شود. شبیه‌سازی گسسته پیشامد بر عکس سامانه‌های پویا، با سطوح جزئیات بسیار بالا و متوسط سرکار دارد و خلاصه سازی در آن در اکثر مواقع بسیار کم است. در این میان شبیه‌سازی عامل تنها رویکردی در شبیه‌سازی است که در همه سطوح جزئیات می‌توان از آن استفاده کرد. در واقع محدودیتی برای استفاده آن در سامانه‌ها وجود ندارد و از جزئیات بسیار پایین تا سطوح کلان می‌توان از آن استفاده کرد. به عنوان مثال عامل‌ها (Agents) می‌توانند از یک عابر پیاده، ماشین‌ها یا ربات‌ها باشند تا سطح کلان‌تر مثلاً مشتریان یا رقابت بین شرکت‌ها.نرم‌افزار AnyLogic به مدلسازان این امکان را می‌دهد تا سه رویکرد ذکر شده را با هم در یک مدل شبیه‌سازی ترکیب کنند. نکته قابل توجه آن است که برای ترکیب آن‌ها هیچ چهارچوبی وجود نداشته و بسته به نوع مسئله امکان ترکیب هر رویکردی با دیگری وجود دارد. به عنوان مثال، یک مدلساز تمایل دارد که برای مدلسازی مسئله حمل و نقل، وسایل حمل و نقل را با استفاده از مدلسازی عامل بنیان استفاده کند و برای شبیه‌سازی سامانه داخلی از شبیه‌سازی گسسته پیشامد استفاده کند. ممکن است مدلساز دیگری برای مدلسازی این سامانه از ترکیب عامل بنیان با سامانه‌ها پویا استفاده کند.زبان شبیه‌سازی.در نرم‌افزار شبیه‌سازی AnyLogic، زبان برنامه‌نویسی بر پایه آیتم‌های زیر است:۱. استوک (Stock) و دیاگرام‌های جریان (Flow Diagrams): که برای مدلسازی سامانه‌های پویا مورد استفاده قرار می‌گیرند.۲.StateCharts: که معمولاً در مدلسازی عامل بنیان مورد استفاده قرار می‌گیرند؛ ولی در شبیه‌سازی گسسته پیشامد نیز مثلاً برای تعریف خرابی در ماشین‌ها مورد استفاده قرار می‌گیرد.۳.Action Charts: برای تعریف الگوریتم‌هایی که در شبیه‌سازی گسسته پیشامد (مانند الگوریتم موجود در مراکز تماس) یا عامل بنیان (مثلاً برای تعریف منطق تصمیم‌گیری عامل‌ها) مورد نیاز است، کاربرد دارد.۴.Process Flowcharts: به عنوان ساختار اولیه‌ای برای تعریف فرایند در شبیه‌سازی گسسته پیشامد مورد استفاده قرار می‌گیرد. با نگاه کردن به این نمودار جریان می‌توان به این مطلب پی برد که چرا در بعضی از مواقع به شبیه‌سازی گسسته پیشامد، شبیه‌سازی فرایند محور (Process Centric) نیز گفته می‌شود.همچنین زبان برنامه‌نویسی شامل موارد زیر نیز می‌شود:Libraryهای موجود در نرم‌افزار AnyLogic.نرم‌افزار AnyLogic دارای Libraryهای زیر است:همچنین کاربران می‌توانند Library مختص سامانه خودشان را نیز ایجاد و به نرم‌افزار اضافه کنند.