Страница 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).
Таблица 1.1
Виды ПО для ИМ
В течение 1990-х годов производители пакетов имитационного моделирования фокусировались на предоставлении инструментов конечным пользователям. Программное обеспечение, такое как AutoMod и Micro Saint, приобрело популярность благодаря функциям автоматического сбора входных данных, бесплатному развертыванию программ и графическому интерфейсу.
Кроме того, появилось сетевое моделирование. Такой подход к разработке средств моделирования реализуется через сеть Интернет, в частности, с помощью веб-браузера. Интернет все больше становится средой для разработки приложений в сфере имитационного моделирования. Еще одна развивающаяся область моделирования, агентное моделирование, начала набирать популярность в 1990-х годах и нашла применение в различных сферах бизнеса, социальной и технической областях. Агентные модели были разработаны для решения проблем: формирования цепочки поставок, оценки поведения потребителей, социального взаимодействия, управления трудовыми ресурсами, анализа фондового рынка, структуры транспортных потоков и т.д. Модели, основанные на агентах, позволяли проверить, как изменения в локальном поведении влияют на поведение, возникающее в больших масштабах.
По мере развития имитационного моделирования в 2000-х годах данная сфера продолжала расти как по объему продаж, так и по количеству и ассортименту программных продуктов. Сегодня сотни программных продуктов для имитационного моделирования доступны для решения задач в самых разных областях бизнеса, экономики и управления.
Тема 2. Языки имитационного моделирования
Языки имитационного моделирования предназначены для разработки соответствующего программного обеспечения, которое может быть использовано для создания множества приложений имитационного моделирования. В некотором смысле эти языки сопоставимы с FORTRAN, C++, Visual Basic или Java, но они также включают определенные функции, облегчающие процесс имитационного моделирования. Некоторые примеры современных языков моделирования: GPSS / H, GPSS / PC, SLX и SIMSCRIPT III. Языки моделирования существуют для дискретной, непрерывной и агентной парадигм имитационного моделирования.
Специализированные функции обычно отличают языки моделирования от общих языков программирования. Эти функции призваны освободить аналитика от повторного создания программных инструментов и процедур, используемых практически во всех приложениях моделирования. Мало того, что разработка этих функций была бы трудоемкой и трудной, но без них согласованность модели могла бы варьироваться, и потребовались бы дополнительные отладка, валидация и верификация. Большинство языков моделирования предоставляют следующие функции:
1) симулятор часов или механизм для продвижения моделируемого времени;
2) методы планирования событий;
3) инструменты сбора и анализа статистики использования различных ресурсов и объектов;
4) методы представления ограниченных ресурсов;
5) инструменты для представления результатов;
6) средства отладки и обнаружения ошибок;
7) генераторы случайных чисел и связанные с ними наборы инструментов;
8) общие рамки для создания модели.
Хотя уже многие имитационные модели разработаны с использованием специальных языков моделирования, некоторые аналитики по-прежнему предпочитают полагаться на традиционные языки программирования для разработки подобных моделей. В других случаях разрабатывают специальные расширения для добавления возможностей традиционному языку программирования. Например, Repast Simphony является бесплатным и открытым источником, агентно-ориентированным инструментарием моделирования, который добавляет функции к языку Java, чтобы упростить создание и использование имитационной модели.
Мотивы использования языка программирования общего назначения следующие:
– знания и навыки программиста: разработчики уже знают язык программирования общего назначения. У них может не быть времени или желания изучать специальный язык имитационного моделирования;
– гибкость: языки программирования по своей сути являются более гибкими, предоставляя аналитику свободу создавать модель с использованием предпочтительной методологии;