Моделирование дискретных событий характеризуется наличием в модели блоков времени, в течение которых ничего не происходит, а затем каждый блок времени заканчивается событием, которое изменяет состояние системы. Примером, иллюстрирующим дискретное моделирование, является простая очередь у банкомата, состоящая из клиентов банка. Клиенты прибывают, ждут обслуживания, если банкомат занят, получают обслуживание и затем уходят.
Агентно-ориентированное моделирование рассматривает одновременное взаимодействие нескольких агентов для имитации, воссоздания, изучения и прогнозирования сложных явлений. Концепция агентно-ориентированного моделирования заключается в том, что общее поведение системы возникает при взаимодействии отдельных агентов на микроуровне. Индивидуальные агенты моделируются в соответствии со своими индивидуальными характеристиками и обычно считаются рациональными, действующими в своих собственных интересах, которые могут быть экономическими или социальными. Модель использует локальную эвристику и простые правила принятия решений, которые вместе создают общую большую среду.
Большинство агентных моделей имеют следующие элементы:
1) множественные агенты, смоделированные и масштабированные с различными уровнями детализации;
2) эвристика и правила принятия решений;
3) адаптивное поведение или обучение;
4) правила взаимодействия или топология;
5) среда для взаимодействия.
В целом, моделирование эволюционировало в силу естественного стремления человека к устранению риска из процесса принятия решений. В древние времена правители часто полагались на пророков, чтобы предсказать исход военных действий. В наше время одно и то же желание проявляется в сложных военных моделях, используемых для тщательного изучения и статистического прогнозирования результатов конкретных действий и маневров. Методология изменилась, но общие цели остаются прежними: сокращение рисков и принятие более эффективных решений.
Ранние попытки применения моделирования можно обнаружить еще до начала Второй мировой войны, когда Джон фон Нейман и Станислав Улам разработали метод моделирования Монте-Карло, чтобы помочь в создании атомного оружия. Современная эра имитационного моделирования началась в 1950-х годах, когда новые концепции и методы для создания имитационных моделей были реализованы с помощью программ на доступных компьютерных языках, таких как машинный код, язык ассемблера или FORTRAN. Компьютерная техника в то время была дорогой, медленной и не всегда надежной. Имеющиеся языки программирования в полной мере не подходили для создания имитационных моделей.
В начале 1960-х годов Джеффри Гордон из IBM представил компьютерный язык под названием GPSS (General Purpose Simulation System). Этот новый язык впервые был использован в компании IBM для анализа сложных систем, но быстро получил широкое признание среди различных организаций, в том числе военных. В 1962 году Герберт Карр разработал язык моделирования SIMSCRIPT. Это программное обеспечение было создано в качестве инструмента моделирования запасов для военно-воздушных сил США. Примерно в это же время норвежские ученые Даль и Ньюгард разработали язык SIMULA, который, помимо того что был языком имитационного моделирования, был первым объектно-ориентированным языком программирования.
В марте 1964 года в Стэнфордском университете состоялся семинар по языкам имитационного моделирования, который стал первым официальным местом для разработчиков и пользователей имитационного моделирования для обмена идеями. Необходимость проведения ежегодной конференции была очевидной, и в 1967 году состоялась первая Зимняя конференция по имитационному моделированию. К 1968 году «Общество имитационного моделирования» стало официальным спонсором регулярных конференций и получило широкую известность как ведущая организация для практиков имитационного моделирования.
В начале 1980-х годов появление персонального компьютера привело к дальнейшим изменениям в сфере имитационного моделирования. Два новых языка имитационного моделирования были разработаны в это время: язык SLAM, разработанный в корпорации Pritsker в 1980 году, и язык SIMAN, разработанный компанией Systems Modeling Corporation в 1983 году. В 1980-е годы также появились многочисленные инструменты для имитационного моделирования. В то же время производители программного обеспечения продолжили расширять свои линейки продуктов с помощью пакетов анимации, инструментальных средств разработки моделирования и усовершенствования существующих языков.
К 1990-м годам рынок имитационного моделирования стал более коммерческим и сегментированным. Программное обеспечение (ПО) для имитационного моделирования было разбито на восемь основных категорий с многочисленными предложениями в каждой области (табл. 1.1).
Виды ПО для ИМ