В силу многозначности понятия «модель» в науке и технике не существует единой классификации видов моделирования: классификацию можно проводить по характеру моделей, по характеру моделируемых объектов, по сферам приложения моделирования (в технике, физических науках, кибернетике и т. д.).
Например, можно выделить следующие виды моделирования:
- информационное моделирование;
- компьютерное моделирование;
- математическое моделирование;
- цифровое моделирование;
- логическое моделирование;
- педагогическое моделирование;
- психологическое моделирование;
- структурное моделирование;
- физическое моделирование;
- имитационное моделирование;
- эволюционное моделирование;
- и другие.
Рассмотрим основные принципы, на которых основано моделирование. Основная проблема при составлении алгоритмов на машине с последовательной обработкой процессов состоит в том, что при моделировании необходимо отслеживать множество процессов, которые в реальном времени происходят параллельно.
В связи с этим алгоритмы моделирования имеют свои особенности:
- продвижение системы во времени, отслеживание временной координаты;
- обеспечение синхронной работы объектов, из которых состоит моделируемая система.
В настоящий момент известны четыре основных принципа регламентации событий: принцип dt; принцип особых состояний; принцип последовательной проводки заявок; принцип параллельной работы объектов.
Принцип dt состоит в том, что алгоритмом моделирования имитируется движение, то есть изменение состояния системы, в фиксированные моменты времени: t, t+dt, t+2dt.
Для этого создается счетчик времени (модельные часы), который на каждом цикле увеличивает свое значение на величину шага во времени dt. Таким образом, изменения системы отслеживаются такт за тактом в заданные моменты: t, t+dt, t+2dt. Принцип dt является наиболее универсальный принципом, так как применяется для очень широкого класса систем. Он же является наиболее простым в реализации, поскольку принцип dt совпадает с пониманием человека о времени, как о последовательном явлении, текущем с постоянным темпом и позволяет рассмотреть систему в динамике.
Принцип особых состояний строится на том, что нет необходимости моделировать работу системы в моменты, когда она находится в обычном состоянии, т.е. когда нет изменений состояния системы, поэтому вводится понятие особого состояния, как состояния, когда характеристики системы меняются. Соответственно моделирование проводится только в изолированные и определенные моменты времени. Преимущество данного принципа по сравнению с принципом dt в экономии машинного времени.
Принцип последовательной проводки заявки строится на том, что при моделировании рассматривается только одна поступающая в СМО заявка и только после завершения обслуживания текущей заявки происходит переход к моделированию следующей. Такой принцип позволяет отслеживать путь обработки заявки в каждый момент времени, но сильно ограничивает возможности модели.
Приведенные три принципа на практике применяются в совокупности, что позволяет строить близкие к исследуемым объектам модели, но такие модели обладают одним существенным недостатком – они плохо модернизируются. Для устранения указанного недостатка был разработан принцип объектного моделирования, позволяющий строить сколь угодно сложные системы без изменения их составляющих. Сущность принципа состоит в том, что составные части СМО моделируются по отдельности, то есть разрабатываются модели для генератора запросов, для очередей и для узлов обработки. Естественно, что при разработке моделей так же применяются приведенные выше три принципа моделирования.
Как уже отмечалось выше, для моделирования рассматриваемой системы будет применяться математический аппарат, и поэтому мы опустим описание некоторых видов моделирования.
Модели могут принимать различную форму, в зависимости от способа мышления исследователя, его взгляда на мир, используемой алгебры. Использование различных математических аппаратов впоследствии приводит к различным возможностям в решении задач.
Модели могут быть: феноменологические и абстрактные; активные и пассивные; статические и динамические; дискретные и непрерывные; детерминированные и стохастические; функциональные и объектные.
Феноменологические модели сильно привязаны к конкретному явлению. Изменение ситуации часто приводит к тому, что моделью воспользоваться в новых условиях достаточно сложно. Это происходит оттого, что при составлении модели её не удалось построить с точки зрения подобия внутреннему строению моделируемой системы. Феноменологическая модель передаёт внешнее подобие.
Абстрактная модель воспроизводит систему с точки зрения её внутреннего устройства, копирует её более точно. У неё больше возможностей, шире класс решаемых задач.
Активные модели взаимодействуют с пользователем; могут не только, как пассивные, выдавать ответы на вопросы пользователя, когда тот об этом попросит, но и сами активируют диалог, меняют его линию, имеют собственные цели. Все это происходит за счёт того, что активные модели могут самоизменяться.
Статические модели описывают явления без развития. Динамические модели прослеживают поведение систем, поэтому используют в своей записи, например, дифференциальные уравнения, производные от времени.
Дискретные модели изменяют состояние переменных скачком, потому что не имеют детального описания связи причин и следствий, часть процесса скрыта от исследователя. Непрерывные модели более точны, содержат в себе информацию о деталях перехода.
Если следствие точно определено причиной, то модель представляет процесс детерминировано. Если из-за неизученности деталей не удаётся описать точно связь причин и следствий, а возможно только описание в целом, статистически (что часто и бывает для сложных систем), то модель строится с использованием понятия вероятности.
Если параметр, описывающий свойство объекта, в любых его точках имеет одинаковое значение, то это система с сосредоточенными параметрами. Если параметр принимает разные значения в разных точках объекта, то говорят, что он распределён, а модель, описывающая объект, — распределённая. Иногда модель копирует структуру объекта, но параметры объекта сосредоточенны, тогда модель — структурная.
Если описание идёт с точки зрения поведения, то модель построена по функциональному признаку. Если описание каждого объекта отделено от описания другого объекта, если описываются свойства объекта, из которых вытекает его поведение, то модель является объектно-ориентированной.
Каждый подход имеет свои достоинства и недостатки. Разные математические аппараты имеют разные возможности для решения задач, разные потребности в вычислительных ресурсах. Один и тот же объект может быть описан различными способами. Поэтому выбор типа модели очень важен – от него будет завесить то, насколько удобно будет реализовываться модель и насколько точно она будет выполнять свои функции.
Приведённая выше классификация является идеальной. Модели сложных систем обычно имеют комплексный вид, используют в своём составе сразу несколько представлений. Если удаётся свести модель к одному типу, для которого уже сформулирована алгебра, то исследование модели, решение задач на ней существенно упрощается, становится типовым. Для этого модель должна быть различными способами приведена к каноническому виду, то есть к виду, для которого уже сформулирована алгебра, её методы. В зависимости от используемого типа модели (алгебраические, дифференциальные, графы и т. д.) на разных этапах её исследования используются различные математические аппараты.
В последнее время, в связи со снижением стоимости вычислительной техники и увеличением ее производительности, огромную популярность получило компьютерное моделирование, в силу этого, а так же того, что для решения рассматриваемой в работе задачи лучшей моделью будет именно компьютерная модель (обоснование этого будет дано в следующем параграфе) в дальнейшем мы будем рассматривать только компьютерные модели.
Рассмотрим этапы разработки модели. Этот вопрос довольно широко рассмотрен в литературе, и разные авторы выделяют различные этапы, но все их можно объединить в следующие основные блоки:
Постановка задачи
На этом этапе ставится цель разработки модели, строится описание задачи и проводится анализ моделируемого объекта или системы. Здесь под задачей понимается проблема, которую необходимо решить. Так же на этом этапе необходимо четко формулировать (в виде цели), что же должно быть получено в результате решения поставленных задач. Здесь же выявляются основные сущности, связи и процессы, протекающие с исследуемой системе, а так же определяются границы, рассмотрения модели.
Разработка модели
Этот этап характеризуется построением трех видов модели: информационной, знаковой и непосредственно компьютерной. Первая модель подразумевает исследование системы и выделение всех значимых свойств объекта, их параметров, действий и связей. Такая модель часто строится либо в виде словесного описания, либо в виде схем, таблиц либо и того и другого. На этом шаге применяются такие инструменты как RationalRose, «Аналитик», IDEF по технологии SADT, Stratum и другие. Этот шаг позволяет формализовать изучаемый объект и сглаживает переход к следующему шагу – разработке математической (знаковой) модели. Математическая модель представляет собой более строгое описание системы, позволяя переходить от реальных сущностей к представлению в виде математических формул и цифр. И уже на основе информационной и математической модели строится компьютерная модель, представляющая собой совокупность таблиц с данным. В компьютерной модели выделяется три типа данных: исходные данные (данные о модели), промежуточные расчеты и результаты.
Эксперимент
После разработки компьютерной модели проводится один или ряд компьютерных экспериментов. Результаты эксперимента сравниваются с ожидаемыми или с известными (данные полученные с реальной системы) результатами. Если данные не верны, то проводится поиск и устранение ошибки в модели, то есть проводиться отладка модели.
Анализ результатов моделирования
После проведения отладки, проводится сбор данных и их анализ. На этом этапе делаются выводы о степени адекватности модели и выносятся предложения по совершенствованию модели и, как желаемый результат, совершенствованию моделируемого процесса или объекта.
Рассмотрим теперь, что же из себя представляет имитационное моделирование.
Имитационная модель – это экономико-математическая модель изучаемой системы, предназначенная для использования в процессе имитации. Эксперимент над которой – это наблюдение за результатами расчетов по данной программе при различных задаваемых значениях.
Имитационное моделирование является мощным инструментом исследования поведения реальных систем. Методы имитационного моделирования позволяют собрать необходимую информацию о поведении системы путем создания ее компьютеризованной модели. Эта информация используется затем для проектирования системы. Имитационное моделирование не решает оптимизационных задач, а скорее представляет собой технику оценки значений функциональных характеристик моделируемой системы, позволяя выявлять проблемные места в системе.
Современное имитационное моделирование применяется в основном для исследования СМО. Это не ограничивает применение имитационного моделирования, поскольку на практике любую ситуацию исследования операций или принятия решений можно в той или иной мере рассматривать как систему массового обслуживания. По этой причине методы имитационного моделирования находят широкое применение в задачах, возникающих в процессе создания систем массового обслуживания, систем связи; в экономических и коммерческих задачах, включая оценки поведения потребителя, определение цен, экономическое прогнозирование деятельности фирм; в социальных и социально-психометрических задачах; в задачах анализа военных стратегий и тактик.
Предшественником современного имитационного моделирования считается метод Монте-Карло, основная идея которого состоит в использовании выборки случайных чисел для получения вероятностных или детерминированных оценок каких-либо величин. Основное различие между современными методами имитации и методом Монте-Карло заключается в том, что в последнем время не является обязательным фактором, а получаемые оценки "статичны". Метод Монте-Карло применяется для вычисления площадей фигур, ограниченных кривыми, или, в более общем случае, вычисления кратных интегралов, вычисления констант и т.п.
Имитация является случайным экспериментом, поэтому любой результат, полученный путем имитационного моделирования, подвержен экспериментальным ошибкам и, следовательно, как в любом статистическом эксперименте, должен основываться на результатах соответствующих статистических проверок.
Выделяют два типа имитационных моделей: непрерывные и дискретные.
Непрерывные модели используются для систем, поведение которых изменяется непрерывно во времени. Непрерывные имитационные модели обычно представляются в виде разностно-дифференциальных уравнений, которые описывают взаимодействие между различными элементами системы. Типичным примером непрерывной имитационной модели является изучение динамики народонаселения мира.
Дискретные модели имеют дело с системами, поведение которых изменяется лишь в заданные моменты времени. Типичным примером такой модели является очередь. При этом задача моделирования состоит в оценивании операционных характеристик обслуживающей системы, таких, например, как среднее время ожидания или средняя длина очереди. Такие характеристики системы массового обслуживания изменяют свои значения либо в момент появления клиента, либо при завершении обслуживания. В других случаях в системе ничего существенного (с точки зрения имитационного моделирования) не происходит. Те моменты времени, в которые в системе происходят изменения, определяют события модели (например, приход или уход клиента). То, что эти события происходят в дискретные моменты, указывает, что процесс протекает в дискретном времени, откуда и появилось название дискретное моделирование.
Имитационное моделирование представляет собой статистический эксперимент. Его результаты должны основываться на соответствующих статистических проверках (с использованием, например, доверительных интервалов и методов проверки гипотез).
Для выполнения этой задачи получаемые наблюдения и имитационный эксперимент должны удовлетворять следующим трем требованиям:
- наблюдения имеют стационарные распределения, т.е. распределения не изменяются во время проведения эксперимента;
- наблюдения подчиняются нормальному распределению;
- наблюдения независимы.
Иногда на практике результаты имитационного моделирования не удовлетворяют ни одному из этих требований. Тем не менее, их выполнение гарантирует наличие корректных способов сбора наблюдений над имитационной моделью.
Рассмотрим сначала вопрос о стационарности распределений. Результаты наблюдений над моделью зависят от продолжительности периода имитации. Начальный период неустойчивого поведения модели обычно называется переходным. Когда результаты имитационного эксперимента стабилизируются, говорят, что система работает в установившемся режиме. Продолжительность переходного периода определяется в значительной степени начальными характеристиками модели, и невозможно предсказать, когда наступит установившийся режим. В общем случае, чем длиннее продолжительность прогона модели, тем выше шанс достичь установившегося состояния.
Рассмотрим теперь второе требование, состоящее в том, что наблюдения над имитационной моделью должны иметь нормальное распределение. Это требование можно выполнить, если привлечь центральную предельную теорему, утверждающую, что распределение среднего выборки является асимптотически нормальным независимо от распределения генеральной совокупности, из которой взята выборка. Центральная предельная теорема, таким образом, есть главное средство удовлетворения требования о нормальности распределения.
Рассматривая третье требование, стоит заметить, что природа имитационного эксперимента не гарантирует независимости между последовательными наблюдениями над моделью. Однако использование выборочных средних для представления отдельных наблюдений позволяет смягчить проблему, связанную с отсутствием независимости. Для этого, в частности, следует увеличивать интервал времени имитации для получения выборочного среднего.
Понятия переходного и установившегося состояний имеют силу в ситуациях, именуемых незаканчивающейся имитацией, т.е. имитацией, применяемой к системам, которые функционируют бесконечно долго. При заканчивающейся имитации (например, работа деканата, для которого четко определен режим работы), переходное поведение является частью нормального функционирования системы и, следовательно, не может игнорироваться. Единственным выходом в такой ситуации является увеличение, насколько это возможно, числа наблюдений.
Выделяют три наиболее общих метода сбора информации в процессе имитационного моделирования: метод подынтервалов, метод повторения и метод циклов. Рассмотрим кратко каждый из них.
Идея метода подынтервалов состоит в том, что информация с переходного (начального) периода не учитывается, а остальная разбивается в соответствии с временными отрезками на n групп. Далее требуемая информация (например, размер очереди) усредняется в пределах группы и рассматривается как единственное значение для группы.
Преимущество данного метода в нивелировании влияния переходных периодов на общие данные модели. К недостаткам метода относится то, что границы групп коррелированны, что нарушает предположение о независимости (данная проблема решается увеличением длинны интервалов и времени моделирования), а так же невозможность применять в моделях с заканчивающейся имитацией.
Метод повторов предполагает проведение независимого моделирования для каждого наблюдения и усреднения искомого значения для каждого запуска модели. В этом метода, так же как и в методе подынтервалов не учитывается начальный период. Применение независимых запусков модели исключает корреляцию между группами. Недостатком данного метода является то, что в некоторых случаях информация может оказаться под сильным влиянием начального (переходного) периода. Для устранения такого недостатка необходимо увеличивать как число повторов, так и длину временного интервала моделирования.
Развитием метода подынтервалов является метод циклов. Целью разработки данного метода была идея уменьшения влияния автокорреляции путем выбора групп так, что каждая группа имеет одинаковые начальные условия (для очереди таким условием может являться состояние, когда очередь пуста). В отличие от метода подынтервалов, в данном методе длины групп будут различны и сказать заранее, где начнется новая группа, а где закончится нельзя, но можно предположить, что в стационарных условиях такие точки будут расположены более-менее равномерно.