Тема 1. Введение в имитационное моделирование
Люди пытались предсказывать будущее с древних времен. Короли прибегали к услугам волшебников и предсказателей. Различные религии использовали пророков. Провидцы, такие как французский аптекарь Мишель де Ностредаме (более известный как Нострадамус), прославились своими предсказаниями будущего. Другие пытались делать прогнозы, основываясь на датах рождения людей и расположении звезд в этот момент. Хрустальные шары, кости и карты таро использовались как инструменты для исследования будущего.
Безусловно, методы, практикуемые современными аналитиками, несравнимы с методами прогнозирования, используемыми в давние времена. Однако есть и общие моменты. Например, каждый предсказатель стремился устранить риск, связанный с будущим событием и уменьшить связанную с этим неопределенность. Пророк пытался сделать это с помощью магии, доступной в то время. Сегодня аналитик использует современную «магию», основанную на математических принципах, информатике и статистике.
Имитационное моделирование можно в широком смысле определить следующим образом: «Использование компьютера для имитации поведения объектов в реальном мире, согласно предположениям, принятым в форме математических, логических или статистических отношений, которые разрабатываются и формируются в виде модели».
Использование имитационного моделирования для анализа социально-экономических систем имеет много преимуществ по сравнению с другими методами принятия решений.
Среди этих преимуществ:
1. С имитационной моделью можно экспериментировать, не опасаясь сбоев в деятельности реально существующих систем. В системах, которые уже существуют, тестирование новых идей может быть трудным, дорогостоящим или вовсе невозможным. Имитационное моделирование позволяет разрабатывать модель и сравнивать ее с реальной системой, чтобы обеспечить точное отражение всех процессов. В процессе моделирования могут быть проверены любые модификации системы и любые режимы работы, а затем может быть принято решение о внедрении изменений в рамках реальной системы.
2. Концепция или идея изменений могут быть протестированы до этапа реального внедрения. Это тестирование может выявить непредвиденные недостатки проекта изменений, а имитационная модель может послужить инструментом для его улучшения. Без такого тестирования изменения в реальной системе могут оказаться очень дорогостоящими или даже невозможными для реализации.
3. Обнаружение непредвиденных проблем или ошибок. Детальное моделирование реальной системы может помочь выявить непредвиденные проблемы или ошибки, которые могут быть заложены в структуре предлагаемой системы. Обнаружив эти проблемы до внедрения проекта изменения реальной системы, можно избежать дополнительных затрат времени и средств на отладку и доработку проекта системы. Кроме того, в процессе экспериментов с имитационной моделью могут быть обнаружены возможности улучшения функционирования реальной системы.
4. Рост знаний о системе – одно из основных преимуществ процесса имитационного моделирования. В начале реализации нового проекта, особенно при моделировании сложных систем, знания часто неравномерно распределены среди множества разных людей. Каждый человек является экспертом в своей области. Чтобы разработать адекватную и полезную модель, всю эту информацию необходимо собрать вместе, а затем структурировать. Этот процесс объединения всех частей знания о системе представляет большую ценность. В ситуации, когда моделирование проводится на регулярной основе, необходимо установить каналы для процесса сбора информации. Это значительно ускорит процесс моделирования.
5. Скорость анализа. После того, как модель была разработана, можно запускать моделируемую систему со скоростями, намного превышающими те, которых можно было бы достичь в реальном мире. Процесс моделирования может занять от нескольких секунд до нескольких часов для получения итоговых результатов. Но эти результаты могут представлять минуты, часы, дни или даже годы системного времени.
6. Определение параметров системы. Чтобы создать действующую модель, важно знать все аспекты моделируемой системы. Если существуют неправильные или неполные представления о системе, модель будет неточной, и ее нельзя будет использовать в качестве инструмента анализа и прогнозирования. Поэтому разработка имитационной модели заканчивается тем, что аналитик полностью определяет все параметры, относящиеся к работе системы. Если отдельные параметры не могут быть определены с достаточной точностью, следует предусмотреть возможные последствия их изменения, что и позволяет сделать работа с имитационной моделью.
7. Рост креативности. Наличие имитационной модели может повысить уровень креативности при проектировании системы. Например, инженер может представить два возможных решения конкретной проблемы на заводе. Одно из решений гарантированно работает, но стоит дороже. Второе решение включает в себя новую технологию, которая является менее дорогостоящей, но несколько более рискованной. Без применения каких-либо средств анализа двух возможных направлений действий скорее всего будет выбрано более консервативное решение. Если же существует модель системы, можно попробовать реализовать и сравнить оба потенциальных решения. В этом случае творческий потенциал инженера может быть реализован без риска неудачи и финансовых потерь.
Все эти преимущества имитационного моделирования имеют в основе общую идею: снижение риска. Моделирование – это один из основных методов снижения риска. В результате применения имитационного моделирования неопределенность относительно ожидаемых результатов работы новой системы или влияния вносимых изменений в существующую систему значительно снижается.
Общие ограничения имитационного моделирования
Моделирование – не идеальное лекарство, которое работает в каждом случае, помогая устранить любой риск от принятия решений в условиях неопределенности.
Можно отметить следующие слабые стороны имитационного моделирования:
1. Относительно большие финансовые затраты. Создание компьютерной модели часто может быть достаточно дорогостоящим методом анализа систем. Хотя сейчас доступны относительно недорогие программные пакеты для имитационного моделирования, большинство проектов моделирования сложных систем связаны с большими инвестициями в обучение персонала, приобретение программного обеспечения, совершенствование аппаратного обеспечения и т.п.
2. Большие временны?е затраты. Моделирование не всегда позволяет получить быстрые ответы на вопросы. В большинстве случаев этапы имитационного моделирования, такие как сбор данных, разработка модели, анализ результатов моделирования и создание отчетов, потребуют значительных затрат времени. Процесс моделирования можно ускорить двумя основными способами: уменьшение детализации модели и использование общей библиотеки кода (шаблонов). Снижая уровень детализации, ответы на общие вопросы можно получить гораздо быстрее. Однако при использовании этого подхода следует соблюдать осторожность. Устранение ключевых деталей может серьезно повлиять на качество модели. В ситуациях, когда будет выполняться много подобных проектов моделирования, может быть создана общая библиотека кода. Этот повторно используемый ресурс позволит не изобретать заново колесо для реализации каждого нового проекта моделирования.
3. Часто дает только приблизительные ответы. Моделирование дискретных событий основывается на использовании генераторов случайных чисел для обеспечения работы модели. Поскольку на входе имеем случайный элемент, некоторая неопределенность также будет связана с выходом модели. Для получения значимых результатов нужно будет использовать методы статистики, как инструмент для интерпретации результатов. Все выходы имитационной модели являются только оценками истинного поведения системы. Важно признать этот факт и трактовать результаты моделирования как приблизительные, и использовать статистическое тестирование для получения адекватных выводов.
4. Не всегда можно проверить модель на адекватность. Процесс проверки на адекватность позволяет сделать вывод, что компьютерная модель довольно точно представляет реальную систему. Когда система еще не существует, это может стать серьезной проблемой.
5. Излишнее доверие. Еще одна проблема, которая может возникнуть в ходе имитационного моделирования, – это стремление пользователей воспринимать результаты моделирования как истину в последней инстанции. Моделирование – это инструмент, используемый людьми, подверженный любым ошибкам, которые может совершить человек. Отчеты о результатах должны всегда подвергаться строгому контролю со стороны конечного пользователя. Следует использовать не только статистическое тестирование, но и здравый смысл в качестве механизма для принятия окончательного решения. Если выходные данные не соответствуют ожиданиям экспертов и здравому смыслу, их нужно проанализировать более внимательно.
Виды имитационного моделирования
Обычно для изучения инженерной и бизнес-среды используются несколько видов имитационного моделирования (ИМ). К ним относятся: непрерывное ИМ, метод Монте-Карло, дискретно-событийное ИМ и агентное моделирование.
Непрерывное имитационное моделирование
Непрерывное имитационное моделирование связано с использованием набора уравнений, представляющих реальную систему непрерывно с течением времени. Эта система может состоять из алгебраических уравнений, теоретико-игровых моделей, статистических или дифференциальных уравнений, настроенных таким образом, чтобы непрерывно меняться. Примером непрерывного моделирования является модель системы газопровода.
Другим примером непрерывного моделирования является модель конкуренции между двумя популяциями. Биологические модели этого типа известны как модель «хищник – жертва». Окружающая среда состоит из двух популяций, которые взаимодействуют друг с другом. Хищники зависят от добычи как источника питания. Если количество хищников растет слишком быстро, то добыча будет уменьшаться, хищники будут голодать – их количество станет уменьшаться. Если количество хищников уменьшится, число потенциальных жертв увеличится и т.д. Эта взаимосвязь может быть проанализирована с помощью непрерывного моделирования с использованием частных производных.
Рост населения страны, рост городов, предсказание возникновения ураганов, прогнозирование погоды, распространение инфекционных заболеваний – все это примеры систем, которые являются подходящими кандидатами для разработки непрерывных имитационных моделей. Термин «системная динамика», впервые использованный Джеем Форрестером в 1950-х годах, также используется для описания непрерывного имитационного моделирования. Системная динамика описывает поведение системы через анализ взаимосвязанных, взаимодействующих циклов обратной связи, каждый из которых может прямо или косвенно воздействовать на другие циклы.
Непрерывное моделирование обычно разрабатывается с использованием специального математического программного обеспечения, такого как MATLAB или Mathematica, специализированного программного обеспечения для моделирования, такого как Simulink, или разрабатывается с использованием традиционных языков программирования, таких как Visual Basic или C++.
Имитационное моделирование методом Монте-Карло
Название города Монте-Карло вызывает мысли об азартных играх, шансах на выигрыш. Джон фон Нейман использовал кодовое название «Монте-Карло» для своих экспериментов, основанных на использовании случайных чисел и проведенных в г. Лос-Аламос (США) во время первых исследований по созданию атомной бомбы. Название стало популярным и теперь используется для представления имитаций, которые являются схемой, использующей случайные числа, которая используется для решения определенных стохастических или детерминированных проблем, когда течение времени не играет никакой роли.
Последняя часть этого определения (течение времени не играет никакой роли) отличает метод Монте-Карло от дискретного моделирования событий. Метод Монте-Карло обычно удаляет время из модели, в то время как моделирование дискретных событий основано на учете фактора времени.
Дискретно-событийное имитационное моделирование
Моделирование дискретных событий характеризуется наличием в модели блоков времени, в течение которых ничего не происходит, а затем каждый блок времени заканчивается событием, которое изменяет состояние системы. Примером, иллюстрирующим дискретное моделирование, является простая очередь у банкомата, состоящая из клиентов банка. Клиенты прибывают, ждут обслуживания, если банкомат занят, получают обслуживание и затем уходят.
Агентное моделирование
Агентно-ориентированное моделирование рассматривает одновременное взаимодействие нескольких агентов для имитации, воссоздания, изучения и прогнозирования сложных явлений. Концепция агентно-ориентированного моделирования заключается в том, что общее поведение системы возникает при взаимодействии отдельных агентов на микроуровне. Индивидуальные агенты моделируются в соответствии со своими индивидуальными характеристиками и обычно считаются рациональными, действующими в своих собственных интересах, которые могут быть экономическими или социальными. Модель использует локальную эвристику и простые правила принятия решений, которые вместе создают общую большую среду.
Большинство агентных моделей имеют следующие элементы:
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).
Таблица 1.1
Виды ПО для ИМ

В течение 1990-х годов производители пакетов имитационного моделирования фокусировались на предоставлении инструментов конечным пользователям. Программное обеспечение, такое как AutoMod и Micro Saint, приобрело популярность благодаря функциям автоматического сбора входных данных, бесплатному развертыванию программ и графическому интерфейсу.
Кроме того, появилось сетевое моделирование. Такой подход к разработке средств моделирования реализуется через сеть Интернет, в частности, с помощью веб-браузера. Интернет все больше становится средой для разработки приложений в сфере имитационного моделирования. Еще одна развивающаяся область моделирования, агентное моделирование, начала набирать популярность в 1990-х годах и нашла применение в различных сферах бизнеса, социальной и технической областях. Агентные модели были разработаны для решения проблем: формирования цепочки поставок, оценки поведения потребителей, социального взаимодействия, управления трудовыми ресурсами, анализа фондового рынка, структуры транспортных потоков и т.д. Модели, основанные на агентах, позволяли проверить, как изменения в локальном поведении влияют на поведение, возникающее в больших масштабах.
По мере развития имитационного моделирования в 2000-х годах данная сфера продолжала расти как по объему продаж, так и по количеству и ассортименту программных продуктов. Сегодня сотни программных продуктов для имитационного моделирования доступны для решения задач в самых разных областях бизнеса, экономики и управления.
Больше книг — больше знаний!
Заберите 30% скидку новым пользователям на все книги Литрес с нашим промокодом
ПОЛУЧИТЬ СКИДКУДанный текст является ознакомительным фрагментом.