Основы имитационного моделирования

 

Содержание

1. Основы имитационного моделирования                                                      5

1.1. Суть имитационного  моделирования. Основные понятия.                      5

1.2. Дискретно-событийное  моделирование                                                                         8

1.3. Непрерывное моделирование                                                                                         13

Список литературы.                                                                                          18

 

Введение.

В исследовании операций широко применяются как аналитические, так и статистические модели. Каждый из этих типов имеет свои преимущества и недостатки. Аналитические модели более грубы, учитывают меньшее число факторов, всегда требуют каких-то допущений и упрощений. Зато результаты расчета по ним легче обозримы, отчетливее отражают присущие явлению основные закономерности. А, главное, аналитические модели больше приспособлены для поиска оптимальных решений. Статистические модели, по сравнению, с аналитическими, более точны и подробны, не требуют столь грубых допущений, позволяют учесть большое (в теории – неограниченно большое) число факторов. Но и у них – свои недостатки: громоздкость, плохая обозримость, большой расход машинного времени, а главное, крайняя трудность поиска оптимальных решений, которые приходятся искать «на ощупь», путем догадок и проб. Наилучшие работы в области исследования операций основаны на совместном применении аналитических и статистических моделей. Аналитическая модель дает возможность в общих чертах разобраться в явлении, наметить как бы контур основных закономерностей. Любые уточнения могут быть получены с помощью статистических моделей. Имитационное моделирование применяется к процессам, в ход которых может время от времени вмешиваться человеческая воля. Человек, руководящий операцией, может в зависимости от сложившейся обстановки, принимать те или другие решения, подобно тому, как шахматист, глядя на доску, выбирает свой очередной ход. Затем приводится в действие математическая модель, которая показывает, какое ожидается изменение обстановки в ответ на это решение и к каким последствиям оно приведет спустя некоторое время. Следующее «текущее решение» принимается уже с учетом реальной новой обстановки и т.д. В результате многократного повторения такой процедуры руководитель как бы «набирает опыт», учится на своих и чужих ошибках и постепенно выучивается принимать правильные решения – если не оптимальные, то почти оптимальные.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Основы имитационного  моделирования

 

1.1. Суть имитационного  моделирования. Основные понятия.

 

Устройство или процесс обычно именуется системой. Для научного исследования системы мы прибегаем к определенным допущениям, касающимся ее функционирования. Эти допущения, как правило, имеющие вид математических или логических отношений, составляют модель, с помощью которой можно получить представление о поведении соответствующей системы.

Если отношения, которые образуют модель, достаточно просты для получения точной информации по интересующим нас вопросам, то можно использовать математические методы. Такого рода решение называется аналитическим. Однако большинство существующих систем являются очень сложными, и для них невозможно создать реальную модель, описанную аналитически. Такие модели следует изучать с помощью моделирования. При моделировании компьютер используется для численной оценки модели, а с помощью полученных данных рассчитываются ее реальные характеристики.

Моделирование может, например, использоваться при рассмотрении производственной компанией возможности постройки больших дополнительных помещений для одного из ее заводов, если руководство компании не уверено, что потенциальный рост производительности сможет оправдать затраты на строительство. Невозможно соорудить помещения, а затем убрать их в случае нерентабельности, в то время как моделирование работы завода в его текущем состоянии и с якобы созданными дополнительными помещениями помогает в решении этой проблемы

Имитационное моделирование может применяться в самых различных сферах деятельности. Ниже приведен список задач, при решении которых моделирование особенно эффективно:

  • проектирование и анализ производственных систем;
  • оценка различных систем вооружений и требований к их материально-техническому обеспечению;
  • определение требований к оборудованию и протоколам сетей связи;
  • определение требований к оборудованию и программному обеспечению различных компьютерных систем;
  • проектирование и анализ работы транспортных систем, например аэропортов, автомагистралей, портов и метрополитена;
  • оценка проектов создания различных организаций массового обслуживания, например центров обработки заказов, заведений быстрого питания, больниц, отделений связи;
  • модернизация различных процессов в деловой сфере;
  • определение политики в системах управления запасами;
  • анализ финансовых и экономических систем.

Имитационное моделирование — один из наиболее распространенных методов, а возможно, и самый распространенный метод, исследования операций и теории управления

Более широкому распространению имитационного моделирования воспрепятствовали несколько факторов. Во-первых, модели, применяемые для исследования больших систем, все больше усложняются, что, в свою очередь, затрудняет написание для них компьютерных программ. В последние годы эту задачу удалось существенно облегчить благодаря появлению мощных программных продуктов, автоматически предоставляющих многие элементы, необходимые для «программирования» имитационной модели. Во-вторых, моделирование сложных систем часто требует много компьютерного времени. Однако по мере увеличения быстродействия и снижения стоимости компьютеров данная проблема также постепенно становится решаемой.

Система — это совокупность объектов, например людей или механизмов, функционирующих и взаимодействующих друг с другом для достижения определенной цели. Данное определение предложено Шмидтом и Тейлором [Schmidt and Taylor, 1970].

Состояние системы определяется как совокупность переменных, необходимых для описания системы на определенный момент времени в соответствии с задачами исследования

Существуют системы двух типов: дискретные и непрерывные. В дискретной системе переменные состояния в различные периоды времени меняются мгновенно. Банк можно назвать примером дискретной системы, поскольку переменные состояния, например количество посетителей в банке, меняются только по прибытии нового посетителя, по окончании обслуживания или уходе посетителя, раньше находившегося в банке. В непрерывной системе переменные меняются беспрерывно во времени. Самолет, движущийся в воздухе, может служить примером непрерывной системы, поскольку переменные состояния (например, положение и скорость) меняются постоянно по отношению ко времени. На практике система редко является полностью дискретной или полностью непрерывной. Но в каждой системе, как правило, превалирует один тип изменений, по нему мы и определяем ее либо как дискретную, либо как непрерывную.

В определенные моменты функционирования большинства систем возникает необходимость их исследования с целью получения представления о внутренних отношениях между их компонентами или вычисления их производительности в новых условиях эксплуатации. На рисунке 1 изображены различные способы исследования системы. Рассмотрим их подробнее.

Рисунок 1- Способы исследования системы



 

При наличии возможности физически изменить систему (если это рентабельно) и запустить ее в действие в новых условиях лучше всего поступить именно так, поскольку в этом случае вопрос об адекватности полученного результата исчезает сам собой. Однако часто такой подход неосуществим либо из-за слишком больших затрат на его осуществление, либо в силу разрушительного воздействия на саму систему. Более того, система может и не существовать на самом деле, но мы хотим изучить различные ее конфигурации, чтобы выбрать наиболее эффективный способ выполнения. Примерами таких систем могут служить сети связи или стратегические системы ядерных вооружений. Поэтому необходимо создать модель, представляющую систему, и исследовать ее как заменитель реальной системы. При использовании модели всегда возникает вопрос — действительно ли она в такой степени точно отражает саму систему, чтобы можно было принять решение, основываясь на результатах исследования.

 

1.2. Дискретно-событийное  моделирование

 

Дискретно-событийное моделирование используется для построения модели, отражающей развитие системы во времени, когда состояния переменных меняются мгновенно в конкретные моменты времени. (Говоря математическим языком, система может меняться только в исчислимое количество моментов времени.) В такие моменты времени происходят события, при этом событие определяется как мгновенное возникновение, которое может изменить состояние системы. Хотя теоретически дискретно-событийное моделирование можно осуществлять с помощью вычислений вручную, количество данных, которые должны сохраняться и обрабатываться при моделировании большинства реальных систем, диктует необходимость применения вычислительных машин.

Динамическая природа дискретно-событийных имитационных моделей требует, чтобы мы следили за текущим значением имитационного времени по мере функционирования имитационной модели. Нам необходим также механизм для продвижения имитационного времени от одного значения к другому. В имитационной модели переменная, обеспечивающая текущее значение модельного времени, называется часами модельного времени.

Существует два основных подхода к продвижению модельного времени: продвижение времени от события к событию и продвижение времени с постоянным шагом.

При использовании продвижения времени от события к событию часы модельного времени в исходном состоянии устанавливаются в 0 и определяется время возникновения будущих событий. После этого часы модельного времени переходят на время возникновения ближайшего события, и в этот момент обновляются состояние системы с учетом произошедшего события, а также сведения о времени возникновения будущих событий. Затем часы модельного времени продвигаются ко времени возникновения следующего (нового) ближайшего события, обновляется состояние системы и определяется время будущих событий, и т. д. Процесс продвижения модельного времени от времени возникновения одного события ко времени возникновения другого продолжается до тех пор, пока не будет выполнено какое-либо условие останова, указанное заранее. Поскольку в дискретно-событийной имитационной модели все изменения происходят только во время возникновения событий, периоды бездействия системы просто пропускаются, и часы переводятся со времени возникновения одного события на время возникновения другого.

Хотя моделирование применяется к самым разнообразным реальным системам, все дискретно-событийные имитационные модели включают ряд общих компонентов. Логическая организация этих компонентов позволяет обеспечивать программирование, отладку и последующее изменение программы имитационной модели. В частности, дискретно-собьггийная имитационная модель, которая использует механизм продвижения времени от события к событию и написана на универсальном языке, содержит следующие компоненты:

  • состояние системы — совокупность переменных состояния, необходимых для описания системы в определенный момент времени;
  • часы модельного времени — переменная, указывающая текущее значение модельного времени;
  • список событий — список, содержащий время возникновения каждого последующего типа событий;
  • статистические счетчики — переменные, предназначенные для хранения статистической информации о характеристике системы;
  • программа инициализации — подпрограмма, устанавливающая в исходное состояние имитационную модель в момент времени, равный 0;
  • синхронизирующая программа — подпрограмма, которая отыскивает следующее событие в списке событий и затем переводит часы модельного времени на время возникновения этого события;
  • программа обработки событий — подпрограмма, обновляющая состояние системы, когда происходит событие определенного типа (для каждого типа событий существует отдельная программа обработки событий);
  • библиотечные программы - набор подпрограмм, применяемых для генерации случайных наблюдений из распределений вероятностей, которые были определены как часть имитационной модели;
  • генератор отчетов - подпрограмма, которая считывает оценки (со статистических счетчиков) критериев оценки работы и выдает отчет по окончании моделирования;
  • основная программа — подпрограмма, которая вызывает синхронизирующую программу, для того чтобы определить следующее событие, а затем передает управление соответствующей событийной программе с целью обеспечения заданного обновления состояния системы. Основная программа может также контролировать необходимость прекращения моделирования и вызывать генератор отчетов по его окончании.

Логические отношения (поток управления) между данными компонентами показаны на рисунке 1.2. Моделирование начинается в момент времени, равный 0. При этом основная программа вызывает программу инициализации, которая устанавливает часы модельного времени в 0, затем задает исходное состояние системы, устанавливает в исходное состояние статистические счетчики и инициализирует список событий. После возвращения управления основной программе она вызывает синхронизирующую программу, чтобы определить тип ближайшего события. Если следующим должно произойти событие типа i, часы имитационного времени  переводятся на время возникновения события типа i, и управление возвращается основной программе. Основная программа активизирует программу обработки событий i, при этом происходят три типа действий: первое — обновляется состояние системы в соответствии с произошедшим событием типа i; второе — собирается информация о критериях оценки работы системы путем обновления статистических счетчиков; третье — генерируется время возникновения будущих событий, и информация о нем добавляется в список событий. Часто при определении времени будущих событий возникает необходимость сгенерировать случайные наблюдения из распределения вероятностей; такое наблюдение будем называть случайной величиной. После полного завершения обработки в программе обработки событий i или в основной программе выполняется проверка с целью определить (относительно некоторого условия останова), следует ли прервать моделирование. И если моделирование должно быть завершено, из основной программы вызывается генератор отчета, для того чтобы считать оценки (со статических счетчиков) необходимых критериев работы и создать отчет. Если время прекращения моделирования еще не настало, управление снова передается основной программе, и цикл «основная программа—синхронизирующая программа—основная программа—программа обработки событий—проверка условия прекращения имитации» повторяется до тех пор, пока условие останова не будет выполнено.

Cистема — это четко определенная совокупность объектов. Объекты характеризуются с помощью значений, именуемых атрибутами. В дискретно-событийной имитационной модели эти атрибуты являются частью состояния системы. Объекты с каким-либо общим свойством часто объединяются в списки (в файлы, либо наборы). Для каждого объекта существует запись в списке, состоящем из атрибутов объектов. Порядок размещения объектов в списке определяется некоторым правилом.

Рисунок 1.2. Поток управления в механизме продвижения времени от события к событию

Такой подход к имитационному моделированию называется планированием событий, поскольку время будущих событий явно указано в модели и запланировано в модельном будущем. Существует альтернативный подход к имитационному моделированию, именуемый процессным подходом. При этом моделирование рассматривается с точки зрения отдельных объектов, участвующих в нем, и разработанный код описывает «опыт» отдельного «типичного» объекта по мере его «перемещения» по системе. Для разработки такого рода имитационных моделей требуется специальное программное обеспечение имитационного моделирования.

 

1.3. Непрерывное моделирование

 

Непрерывное моделирование — это моделирование системы по времени с помощью представления, в котором переменные состояния меняются непрерывно по отношению ко времени. Как правило, в непрерывных имитационных моделях используются дифференциальные уравнения, которые устанавливают отношения для скоростей изменения переменных состояния во времени. Если дифференциальные уравнения очень просты, их можно решать аналитически, чтобы представить значения переменных состояния для всех значений времени как функцию значений переменных состояния в момент времени 0. При больших непрерывных моделях аналитическое решение невозможно, но для численного интегрирования дифференциальных уравнений в случае с заданными специальными значениями для переменных состояния в момент времени 0 используются технологии численного анализа, например интегрирование Рунге-Кутта.

 

Преимущества, недостатки и ошибки моделирования

 

Популярности моделирования в этой сфере способствуют его преимущества.

- Большинство из сложных  реальных систем со стохастическими  элементами не могут быть точно описаны с помощью математических моделей, которые можно оценить аналитически, поэтому моделирование становится единственно возможным методом их исследования.

- Моделирование позволяет  оценить эксплуатационные показатели  существующей системы при некоторых  проектных условиях эксплуатации.

- Путем моделирования можно сравнивать предлагаемые альтернативные варианты проектов системы (или альтернативные стратегии эксплуатации для конкретной системы), чтобы определить, какой из них больше соответствует указанным требованиям.

- При моделировании мы можем обеспечить гораздо более эффективный контроль условий эксперимента, нежели при экспериментировании с самой системой.

- Моделирование позволяет  изучить длительный интервал  функционирования системы (скажем, экономической) в сжатые сроки  или, наоборот, изучить более подробно работу системы в развернутый интервал времени.

Конечно, моделирование имеет и свои недостатки.

- Каждый из прогонов  стохастической имитационной модели  позволяет получить лишь оценки настоящих характеристик модели для определенного набора входных параметров. Следовательно, для каждого изучаемого набора входных параметров понадобится несколько независимых прогонов модели. По этой причине имитационные модели не столь удобны при оптимизации, как при сравнении определенного числа альтернативных проектов системы. Однако с помощью аналитической модели, в случае, если она подходит для решения данной задачи, часто можно легко получить точные настоящие характеристики модели для различных наборов входных параметров. Поэтому, если доступна или может быть легко разработана аналитическая модель, адекватная системе, лучше использовать именно ее, а не обращаться к имитационному моделированию.

- Обычно разработка имитационных  моделей дорого стоит и занимает  много времени.

- Большое число данных, получаемых в результате исследования  посредством моделирования, или убедительное влияние реалистичной анимации часто приводят к тому, что результатам такого исследования доверяют больше, чем это оправдано. Если модель не является адекватным представлением изучаемой системы, результаты моделирования (какими бы убедительными они ни казались) будут содержать мало полезной информации о действительной системе.

Принимая решение, подходит ли исследование посредством моделирования к конкретной ситуации, следует учитывать все указанные преимущества и недостатки имитационного моделирования. Кроме того, обратите внимание, что в некоторых исследованиях можно использовать как аналитические модели, так и имитационное моделирование. В частности, моделирование может быть использовано для проверки обоснованности допущений, необходимых для аналитической модели. И наоборот, аналитическая модель может предложить рациональные альтернативы для исследования системы посредством моделирования.

Однако успешному исследованию с помощью модели могут помешать такие обстоятельства:

1. нечеткая постановка  задач в начале исследования  системы посредством моделирования;

2. недостаточный уровень  проработки деталей модели;

3. недостаток согласованности  с руководством в процессе исследования системы посредством моделирования;

4. неправильное понимание  моделирования руководством;

5. подход к исследованию  системы посредством моделирования  как к простому упражнению в программировании;

6. отсутствие в команде, работающей над моделированием системы, специалистов со знанием методологии моделирования;

7. недостаточная подборка  данных по системе;

8. использование в явном  виде программного обеспечения  для моделирования, сложные макро операторы которого не могут быть надлежащим образом подтверждены документально и не могут реализовать нужную модельную логику;

9. ошибочность убеждений  в том, что для работы с простыми  в употреблении пакетами программ для моделирования, почти не нуждающимися в программировании, достаточно более низкого уровня технической подготовки;

10. неправильное использование  анимации;

11. неверное определение  источников случайных величин  в реальных системах;

12. использование произвольных  распределений (то есть нормальных, равномерных и треугольных) в качестве входных параметров моделирования;

13. анализ выходных данных, полученных в результате одного  прогона имитационной модели, с помощью формул, допускающих независимость;

14. отношение к выходным  статистическим данным, полученным  на основании единственного прогона определенного проекта системы, как к единственно правильным ответам;

15. сравнение альтернативных  проектов системы на основе  одного прогона каждого проекта;

16. использование неправильных  критериев оценки работы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 

Список литературы.

 

  1. Имитационное моделирование производственных систем / Под. ред. А.А. Вавилова. – М.:
  2. Моделирование сложных систем по экспериментальным данным – М.: Радио и связь, 1987. – 120с.
  3. Моделирование сложных систем – М. : Наука, 1978 Шеннон Р.
  4. Имитационное моделирование систем - искусство и наука: Пер. с англ. - М.: Мир, 1978. Максимей И.В.

 

 

 


Основы имитационного моделирования