Скачать презентацию Механизм продвижения времени Лекция 2 Механизм продвижения времени Скачать презентацию Механизм продвижения времени Лекция 2 Механизм продвижения времени

Механизм продвижения временти.ppt

  • Количество слайдов: 100

Механизм продвижения времени Лекция 2 Механизм продвижения времени Механизм продвижения времени Лекция 2 Механизм продвижения времени

o Имитационное моделирование – метод исследования динамических систем, в котором реальный объект (система) заменяются o Имитационное моделирование – метод исследования динамических систем, в котором реальный объект (система) заменяются имитационной моделью. Механизм продвижения времени 2

o o Процесс моделирования сопровождается отображением реального объекта (системы) в модель, которая выполняется, изменяя o o Процесс моделирования сопровождается отображением реального объекта (системы) в модель, которая выполняется, изменяя свое состояние с течением времени. Время необратимо, оно не замедляется и не ускоряется. Механизм продвижения времени 3

o o Состояние системы определяется состоянием её элементов Каждый элемент обладает набором свойств (характеристик). o o Состояние системы определяется состоянием её элементов Каждый элемент обладает набором свойств (характеристик). Механизм продвижения времени 4

Физическое время (physical-Tp) o o Время, которое используется в реальной (физической) моделируемой системе. Например, Физическое время (physical-Tp) o o Время, которое используется в реальной (физической) моделируемой системе. Например, мы моделируем работу некоторого предприятия в течение рабочего дня с 8. 00 до 17. 00. Механизм продвижения времени 5

Модельное время (simulation time - Ts) o o o Это представление физического времени в Модельное время (simulation time - Ts) o o o Это представление физического времени в модели. Так работу предприятия в модельном времени можно представить отрезком времени [8. 00, 17. 00], за единицу модельного времени (h) можно принять временной интервал в 1 минуту, в 10 минут, в 30 минут, в один час и т. д. Ts = Tp/h. Механизм продвижения времени 6

Процессорное время (wallclock time - Tw) o o Это время работы симулятора на компьютере. Процессорное время (wallclock time - Tw) o o Это время работы симулятора на компьютере. Иногда (при использовании тренажёров) продвижение модельного времени должно быть синхронизировано с процессорным. Такое моделирование называют моделированием в реальном времени (real time). Действительно, при использовании тренажёров человек погружается с виртуальную среду, которая Механизм продвижения должна выглядеть как можно времени более реалистичной. 7

as-fast-as-possible o o С другой стороны моделирование должно выполняться как можно скорее , т. as-fast-as-possible o o С другой стороны моделирование должно выполняться как можно скорее , т. е. модельное время продвигается с гораздо большей скоростью, чем процессорное. Например, работа некоторого физического процесса длится несколько суток, единицу модельного времени выбирают равной одному часу, а процесс моделирования на компьютере выполняется за 30 минут. Механизм продвижения времени 8

Последовательное моделирование n o o Известно, что существуют различные виды имитационных моделей, в основе Последовательное моделирование n o o Известно, что существуют различные виды имитационных моделей, в основе которых лежит та или иная концепция: События (events) Процессы (processes) Объекты (objects) или агенты (agents) Непрерывные (continues) модели (системная динамика). Механизм продвижения времени 9

События, активности, процессы Активность 2 Активность 1 Событие 2 Событие 3 Появление транзакта Начало События, активности, процессы Активность 2 Активность 1 Событие 2 Событие 3 Появление транзакта Начало первой активности 1 Начало второй активности Событие 4 Конец первой активности Механизм продвижения времени Событие 5 Конец второй активности Время. Tim e 10

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

Событийно-ориентированное моделирование o В событийно-ориентированных системах моделирования приняты следующие соглашения: n модель продвигается во Событийно-ориентированное моделирование o В событийно-ориентированных системах моделирования приняты следующие соглашения: n модель продвигается во времени от события к событию, которые изменяют состояние модели, n логика наступления событий определяет последовательность смены состояний модели, которые связаны с наступлением этих событий; n время продвигается от события к событию; Механизм продвижения времени 12

Примеры o o SIMSCRIPT, SMPL [56] и т. д. Механизм продвижения времени 13 Примеры o o SIMSCRIPT, SMPL [56] и т. д. Механизм продвижения времени 13

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

Примеры o o GPSS АSPOL Механизм продвижения времени 15 Примеры o o GPSS АSPOL Механизм продвижения времени 15

Объектно-ориентированное моделирование o o o Модель представляет собой совокупность объектов. Объекты включают данные и Объектно-ориентированное моделирование o o o Модель представляет собой совокупность объектов. Объекты включают данные и операции над ними. Объекты представляют собой модель «актора» , который может выполнить работу, изменить своё состояние и взаимодействовать с другими объектами. Объекты являются основой современных языков программирования. Объекты являются естественным способом описания системы. Механизм продвижения времени 16

Примеры o Примером объектно-ориентированного подхода является SIMULA. Механизм продвижения времени 17 Примеры o Примером объектно-ориентированного подхода является SIMULA. Механизм продвижения времени 17

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

Примеры o o Any. Logiс www. xjtec. ru Механизм продвижения времени 19 Примеры o o Any. Logiс www. xjtec. ru Механизм продвижения времени 19

Непрерывные (системная динамика) и гибридные модели o o o Состояние модели изменяется не в Непрерывные (системная динамика) и гибридные модели o o o Состояние модели изменяется не в дискретные моменты времени, связанные с возникновением событий, а непрерывно в течение всего времени моделирования. Непрерывное моделирование применяется для исследования непрерывных систем моделирования (к примеру, движение объектов, течение жидкости) или агрегированных моделей дискретных систем (например, рынок, цепочки поставок, население). Модель описывается дифференциальными уравнениями. Механизм продвижения времени 20

Основные компоненты имитационной модели o o o o o Часы Список событий Программные средства Основные компоненты имитационной модели o o o o o Часы Список событий Программные средства сбора статистики Подпрограмма инициализации Подпрограмма продвижения времени Подпрограммы, реализующие события Библиотечные подпрограммы Генератор статистических отчётов Управляющая программа Механизм продвижения времени 21

Принципы продвижения модельного времени Компьютерное моделирование Дискретное моделирование t (time stepped) Непрерывное моделирование Особые Принципы продвижения модельного времени Компьютерное моделирование Дискретное моделирование t (time stepped) Непрерывное моделирование Особые моменты времени (event driven) Механизм продвижения времени 22

Существует два принципа представления времени: o o t; особые моменты времени. Механизм продвижения времени Существует два принципа представления времени: o o t; особые моменты времени. Механизм продвижения времени 23

Первый способ – это продвижение времени на фиксированные промежутки времени o o o Это Первый способ – это продвижение времени на фиксированные промежутки времени o o o Это принцип восходит к численным методам решения задач анализа (дифференцирования, интегрирования, дифференциальных уравнений). Продвижение на фиксированные промежутки времени очень часто применяется и в непрерывном моделировании. В методическом отношении этот способ достаточно прост. Состояние системы меняется через фиксированные промежутки времени. Тем не менее, возникает проблема выбора величины t. Механизм продвижения времени 24

Изменение времени через фиксированные промежутки E 1 S 0 S 1 E 2 S Изменение времени через фиксированные промежутки E 1 S 0 S 1 E 2 S 2 E 3 S 3 Механизм продвижения времени E 4 S 4 E 5 S 5 25

Неэффективность t o o o С уменьшением t уменьшается ошибка моделирования (оно становится более Неэффективность t o o o С уменьшением t уменьшается ошибка моделирования (оно становится более точным), но увеличивается объем вычислений (количество состояний растёт). Для достаточно гладких систем можно подобрать величину t и получить достаточно точные результаты. Но для многих систем использование фиксированного шага крайне неэффективно Механизм продвижения времени 26

Переменный шаг o o o Если состояние медленно меняется на одних интервалах, но быстро Переменный шаг o o o Если состояние медленно меняется на одних интервалах, но быстро на других, то целесообразно сделать этот шаг переменным. Именно таким образом организовано продвижение времени в системах с автоматическим изменением шага. Шаг увеличивается на участках, где состояние системы меняется редко и уменьшается на участках с частым изменением состояния системы. Тем не менее, если мы можем пропустить момент времени, когда состояние системы изменяется. Вследствие этого, ошибка может быть чрезмерно большой. Необходимо использовать механизм, который позволял бы устранять такие ошибки. Механизм продвижения времени 27

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

Продвижение времени от события к событию E 1 S 0 S 1 E 2 Продвижение времени от события к событию E 1 S 0 S 1 E 2 E 3 S 2 S 3 Механизм продвижения времени E 4 S 4 E 5 S 5 29

Начальное состояние модели одноканальной Состояние обслуживающего устройства Система Момент времени последнего события Часы Список Начальное состояние модели одноканальной Состояние обслуживающего устройства Система Момент времени последнего события Часы Список событий Состояние системы A: 0. 4 Начальное время равно 0 0 0 D: 0 0 0 Статистика 0 Нет заявок в очереди Время появления Количество заявок обслуженных Механизм продвижения времени заявок 0 Очередь 30

Состояние системы в момент обслуживания первой заявки Состояние обслуживающего Момент времени устройства последнего события Состояние системы в момент обслуживания первой заявки Состояние обслуживающего Момент времени устройства последнего события Система Появилась первая заявка в момент времени 0, 4 Часы Список событий Состояние системы A: 1. 6 0. 4 D: 2. 4 0 1 0 0 0. 4 Статистика 0 Нет заявок в очереди Время появления заявок Количество обслуженных заявок Механизм продвижения времени 0 Текущая очередь 31

Состояние системы в момент времени появления второй заявки Состояние обслуживающего устройства Система Момент времени Состояние системы в момент времени появления второй заявки Состояние обслуживающего устройства Система Момент времени последнего события Часы Список событий Состояние системы A: 2. 1 Начальное время равно 0, 4 1. 6 D: 2. 4 0 1 1 0 1. 6 0 0. 4 Статистика 0 Заявка в очереди Время появления заявок Механизм продвижения времени Количество обслуженны х заявок 1 Текущая очередь 32

Состояние системы в момент выполнения третьего события Состояние обслуживающего устройства Система Часы A: 3. Состояние системы в момент выполнения третьего события Состояние обслуживающего устройства Система Часы A: 3. 8 1 2 1. 6 ю. 0 2. 1 D: 2. 4 2. 1 0 Статистика 0 2. 1 Список событий Состояние системы Событие прихода заявки 2. 1 0. 4 Момент времени последнего события 2 1. 6 Время Очередь Количество появления заявок обслуженны заявок увеличила х заявок сь Механизм продвижения времени Текущая очередь 33

Состояние системы после выполнения события, связанного с окончанием обслуживания заявки прибором Состояние обслуживающего устройства Состояние системы после выполнения события, связанного с окончанием обслуживания заявки прибором Состояние обслуживающего устройства Система Момент времени последнего события Часы Список событий Состояние системы A: 3. 8 Событие прихода заявки 2. 1 2. 4 2. 1 ю. 0 D: 4. 2 3. 8 ю. 1 1 2. 4 0 0 0. 4 Статистика 1 2. 1 1 . 6 1 Одна заявка ушла из очереди Время Количество Механизм продвижения времени появления обслуженных заявок текущая очередь 34

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

o o o В списке событий располагаются события, связанные с появлением заявки (A – o o o В списке событий располагаются события, связанные с появлением заявки (A – arrival), и окончанием обслуживания (D – departure). Средства для сбора статистики накапливают информацию о количестве обслуженных заявок и о текущей длине очереди. Первоначально в списке событий A=0, 4 (появление первой заявки запланировано на 0, 4). Механизм продвижения времени 36

Первая заявка o o o Появление первой заявки сопровождается следующими действиями: поскольку обслуживающее устройство Первая заявка o o o Появление первой заявки сопровождается следующими действиями: поскольку обслуживающее устройство не занято, то оно начинает обслуживание заявки. Кроме того, выполняется планирование появления второй заявки (A=1. 6) и планирование события, связанного с завершением обслуживания первой заявки (D=2. 4). Очередь остаётся пустой, а состояние обслуживающего устройства становится равным 1, что означает, что статус устройства – «занято» Механизм продвижения времени 37

Состояние системы в момент появления второй заявки o o o Часы переводятся на время, Состояние системы в момент появления второй заявки o o o Часы переводятся на время, равное 1. 6. , планируется появление новой заявки (A=2. 1), заявки появились в очереди, поскольку первая заявка ещё не обслужена. Механизм продвижения времени 38

Третья заявка o o o Новая заявка появляется в момент времени, равный 2. 1. Третья заявка o o o Новая заявка появляется в момент времени, равный 2. 1. Устройство занято, поэтому заявка направляется в очередь. Происходит планирование появления новой заявки на момент времени 3. 8. Момент времени завершения обслуживания остаётся неизменным. Первая заявка так ещё и не обслужена. Очередь увеличилась на 1. Механизм продвижения времени 39

o o Далее управляющая программа извлекает очередное событие с минимальным временем из списка событий. o o Далее управляющая программа извлекает очередное событие с минимальным временем из списка событий. Время наступления следующего события – окончание обслуживания первой заявки– 2. 4. Итак, часы устанавливаются на момент времени = 2. 4. Очередная заявка из очереди заявок занимает обслуживающее устройство. Механизм продвижения времени 40

o o В очереди остаётся только одна заявка, о чём свидетельствует переменная «Текущая очередь» o o В очереди остаётся только одна заявка, о чём свидетельствует переменная «Текущая очередь» , предназначенная для сбора статистики. Количество обслуженных заявок также увеличивается на 1. Механизм продвижения времени 41

Календарь событий o o И в событийно-ориентированном моделировании, и в процессо-ориентированном механизм продвижения времени Календарь событий o o И в событийно-ориентированном моделировании, и в процессо-ориентированном механизм продвижения времени связан со списком запланированных (или будущих) событий (GPSS или списком управляющих событий в Симула-67). Список событий (event list) ещё называют календарём событий. Механизм продвижения времени 42

o Календарь событий состоит из элементов, каждый из которых содержит два поля: n n o Календарь событий состоит из элементов, каждый из которых содержит два поля: n n o ссылку на запланированное событие (ei); модельное время, на которое запланировано событие (ti). Таким образом, можно сказать, что календарь событий (обозначим его SE) – это список элементов li, где каждый элемент li представляет собой пару (ei, ti). Механизм продвижения времени 43

Алгоритм продвижения времени o o Управляющая программа (симулятор) должна выбрать из календаря событий событие Алгоритм продвижения времени o o Управляющая программа (симулятор) должна выбрать из календаря событий событие с минимальным временем. Это время становится текущим модельным временем. Симулятор присваивает системной переменной с текущим модельным временем (назовём эту переменную именем Systemtime) минимальное значение времени, на которое запланировано событие из календаря событий, т. е. Systemtime = min (ti). Далее симулятор передаёт управление событию ei (с минимальным временем). Механизм продвижения времени 44

Цель: Необходимо выбрать очередное событие в календаре событий и передать ему управление: o o Цель: Необходимо выбрать очередное событие в календаре событий и передать ему управление: o o o WHILE (не конец моделирования) Просмотреть список SE = {li}, где li = (ei, ti), 0<=i<=n и выбрать элемент с минимальным временем ti. Systemtime = min(ti) Передать управление событию ei из элемента li=(ei, ti). Обработать это событие. Если событие ei запланировало новое событие ej , то его следует поместить в список событий SE END-LOOP Механизм продвижения времени 45

Квазипараллельное выполнение o o Если сразу несколько событий запланировано на одно и то же Квазипараллельное выполнение o o Если сразу несколько событий запланировано на одно и то же время, то они выполняются последовательно друг за другом (квазипараллельно), системное время systemtime не изменяется до тех пор, пока все эти события не будут обработаны. Механизм продвижения времени 46

o o Для того, чтобы поиск был эффективным обычно список запланированных событий упорядочивают по o o Для того, чтобы поиск был эффективным обычно список запланированных событий упорядочивают по возрастанию. В событийно-ориентированном механизме продвижения времени обработка очередного события связана с планированием нового события ej, выполнение которого запланировано на некоторый момент времени tj. Таким образом, в календаре событий появляется новый элемент lj=(ej, tj). Симулятор должен поместить новый элемент в календарь событий, причём упорядоченность во возрастанию должна быть сохранена. Механизм продвижения времени 47

o Если число элементов в списке SE велико, поиск события с минимальным временем (и o Если число элементов в списке SE велико, поиск события с минимальным временем (и включение в список нового элемента) может занять много времени. ei ti Механизм продвижения времени 48

Оптимизация o o o При моделировании замкнутых СМО предпринимается поиск с начала и конца Оптимизация o o o При моделировании замкнутых СМО предпринимается поиск с начала и конца списка. В Simscript 2 для различных типов событий используют разные списки. Алгоритм, работающий со списком и дополнительным указателем на середину списка. Сначала происходит сравнение с нужным элементом, а потом поиск происходит в нужной половине списка. Механизм продвижения времени 49

o o o Алгоритм, работающий с множеством событий в виде бинарного дерева. Наряду с o o o Алгоритм, работающий с множеством событий в виде бинарного дерева. Наряду с календарём событий хранится массив указателей на элементы списка. Таким образом, список событий делится на подсписки (между двумя соседними указателями). Эти подсписки соответствуют интервалам системного времени. Длины всех интервалов равны фиксированному значению. Механизм продвижения времени 50

o o Это значение задаётся пользователем. При планировании нового события вычисляется его индекс в o o Это значение задаётся пользователем. При планировании нового события вычисляется его индекс в массиве указателей, после чего новый элемент календаря событий может быть размещён в соответствующем его подсписке. Механизм продвижения времени 51

СМО o Система массового обслуживания Заявки Обслуживающее устройство A/B/1 Механизм продвижения времени 52 СМО o Система массового обслуживания Заявки Обслуживающее устройство A/B/1 Механизм продвижения времени 52

Одноканальное устройство o M/M/1 o M/M/n Механизм продвижения времени 53 Одноканальное устройство o M/M/1 o M/M/n Механизм продвижения времени 53

Многоканальное устройство Емкость многоканального устройства Механизм продвижения времени 54 Многоканальное устройство Емкость многоканального устройства Механизм продвижения времени 54

o o Однофазная СМО Многофазная СМО Механизм продвижения времени 55 o o Однофазная СМО Многофазная СМО Механизм продвижения времени 55

o o Замкнутая СМО- заявка не покидает систему СМО с ограниченным количеством мест в o o Замкнутая СМО- заявка не покидает систему СМО с ограниченным количеством мест в очереди Приоритетная СМО -выбор заявок из очереди: n n n FIFO LIFO RAND Механизм продвижения времени 56

Автозаправка 0 устройство свободно K= 1 устройство занято L – Длина очереди Состояние системы Автозаправка 0 устройство свободно K= 1 устройство занято L – Длина очереди Состояние системы определяется занятостью устройства и длиной очереди Механизм продвижения времени 57

o o o Состояние меняется не непрерывно, а в дискретные моменты времени Множество этих o o o Состояние меняется не непрерывно, а в дискретные моменты времени Множество этих моментов можно разбить на классы однотипных событий Присвоим классам следующие идентификаторы: T 1 - моменты прихода заявки в СМО T 2 - моменты окончания обслуживания заявки устройством TS – системное время Механизм продвижения времени 58

o o o Состояние изменяется различным образом в моменты времени T 1 и T o o o Состояние изменяется различным образом в моменты времени T 1 и T 2 T 1: приход заявки. Заявка может быть обслужена, если устройство не занято If k = 0 then k: =1 Встать в очередь, если устройство занято If k=1 then L: =L+1; Механизм продвижения времени 59

o o o T 2: в момент окончания обслуживания устройство освобождается If L=0 then o o o T 2: в момент окончания обслуживания устройство освобождается If L=0 then k: =0 If L<>0 then L: =L-1 Пусть в нулевой момент времени нет заявок. Следующий момент изменения состояния системы – T 1. Пусть есть программа, которая генерирует случайные величины по некоторому закону распределения Механизм продвижения времени 60

o o o T 1: = τ T 2: = σ σ – интервал o o o T 1: = τ T 2: = σ σ – интервал времени, по истечение которого завершается обслуживание заявки TS: = T 1 Системное время указывает в какой момент времени мы рассматриваем системуи делит значения всех остальных временных переменных на n n настоящие будущие Механизм продвижения времени 61

o o o На первом шаге T 1 – настоящий момент времени T 2 o o o На первом шаге T 1 – настоящий момент времени T 2 – будущий момент времени Спланируем будущий момент времени: T 1: =T 1+ τ Теперь имеем два будущих момента TS: = min(T 1, T 2) Механизм продвижения времени 62

o Введем переменную TIP o 1, T 1<=T 2 o TIP = 2, T o Введем переменную TIP o 1, T 1<=T 2 o TIP = 2, T 1>T 2 o Механизм продвижения времени 63

o Далее, после того, как произошло обслуживание заявки планируем будущий момент обслуживания: o T o Далее, после того, как произошло обслуживание заявки планируем будущий момент обслуживания: o T 2: =T 2+σ o Если в очереди нет заявок, то их надо дождаться, тогда: o T 2: =T 1+ σ Механизм продвижения времени 64

Генерирование σ, τ T 1: =τ, T 2: =T 1+ σ TIP=1, K: =0, Генерирование σ, τ T 1: =τ, T 2: =T 1+ σ TIP=1, K: =0, l: =0 TIP=? Генерация τ T 1: =T 1+ τ L=? K: =1 L: =L+1 K: =0 генерация σ T 2: =T 1+ σ L: =L-1, генерация σ T 2: =T 2+σ Вычисление TIP, TS: = min(T 1, T 2) Механизм продвижения времени 65

Языки, ориентированные на события o o o Пример: SMPL Написан на основе Фортрана Программа Языки, ориентированные на события o o o Пример: SMPL Написан на основе Фортрана Программа состоит из: n n n Инициирующая секция, в которой устанавливаются начальные значения переменных, описываются устройства и очереди; Управляющая подпрограмма, работающая со списком событий; Подпрограммы, реализующие события Механизм продвижения времени 66

Языки, ориенированные на процессы o o o Пример: GPSS, ASPOL Программа состоит из процессов Языки, ориенированные на процессы o o o Пример: GPSS, ASPOL Программа состоит из процессов и схем их взаимодействия Средствами языка обычно задаются процессы и ресурсы, которыми они владеют: Reserve(v 1); Hold(t); Release(v 1). Механизм продвижения времени 67

Интерпретатор для процессоориентированного языка Инициализация Process request(unit); Integer unit; Real ts, tc; Reserve(disk(unit)); Hold(ts); Интерпретатор для процессоориентированного языка Инициализация Process request(unit); Integer unit; Real ts, tc; Reserve(disk(unit)); Hold(ts); Reserve(channel); Hold(tc); Release(channel); Release(disk(unit)); End process; Распределение памяти очередь Список задержек устройство Механизм продвижения времени Список готовых процессов 68

Сбор статистики o o В процессе моделирования осуществляется сбор данных о ходе имитационного эксперимента. Сбор статистики o o В процессе моделирования осуществляется сбор данных о ходе имитационного эксперимента. Эти данные обрабатываются в определенные моменты имитационного прогона: n n o в контрольных точках, в конце прогона Пользователь получает отчет, включающий статистические оценки в качестве результатов. Механизм продвижения времени 69

Элементы систем имитационного моделирования o Общими элементами, используемыми в общецелевых системах имитационного моделирования, основанных Элементы систем имитационного моделирования o Общими элементами, используемыми в общецелевых системах имитационного моделирования, основанных на математической модели систем массового обслуживания являются: n n одноканальные устройства – обслуживающие средства единичной емкости (т. е. в каждый момент времени на таком устройстве может обслуживаться только одна заявка); многоканальные устройства – средства обслуживания, имеющие несколько одинаковых по характеристикам обслуживающих каналов, которые могут независимо друг от друга выделяться для обслуживания различных заявок; заявка может запросить для обслуживания несколько каналов; Механизм продвижения времени 70

n очереди – «буферы» , в которых накапливаются заявки, ожидающие обслуживания. Механизм продвижения времени n очереди – «буферы» , в которых накапливаются заявки, ожидающие обслуживания. Механизм продвижения времени 71

o Основными операциями, которые можно выполнить над одноканальным устройством, являются: n n n o o Основными операциями, которые можно выполнить над одноканальным устройством, являются: n n n o операции его резервирования для обслуживания (занятия устройства заявкой), освобождения устройства после обслуживания заявки, проверки состояния устройства (свободно/занято). В некоторых системах реализуются специальные операции: n захвата устройств более приоритетными заявками с выталкиванием обслуживающихся заявок. Механизм продвижения времени 72

Примеры таких устройств продавец, банкомат, касса, станок, на котором может обрабатываться одна деталь, и Примеры таких устройств продавец, банкомат, касса, станок, на котором может обрабатываться одна деталь, и т. п. Механизм продвижения времени 73

o Для многоканальных устройств: n при резервировании устройства для обслуживания указывается необходимое для обслуживания o Для многоканальных устройств: n при резервировании устройства для обслуживания указывается необходимое для обслуживания заявки количество каналов, которые занимаются заявкой на время обслуживания. n В конце обслуживания заявка может освободить только выделенные ей каналы. Механизм продвижения времени 74

Примеры многоканального устройства o автоматические камеры хранения, абонентские ящики, сейфы в банке и т. Примеры многоканального устройства o автоматические камеры хранения, абонентские ящики, сейфы в банке и т. п. Механизм продвижения времени 75

Для очередей выполняются следующие основные операции: o o o постановки заявки в очередь, удаление Для очередей выполняются следующие основные операции: o o o постановки заявки в очередь, удаление из очереди, определение длины очереди. Механизм продвижения времени 76

o Очереди также могут отличаться своими характеристиками: n n n для них могут быть o Очереди также могут отличаться своими характеристиками: n n n для них могут быть реализованы различные дисциплины постановки заявок (FIFO (First In First Out), LIFO (Last In First Out), приоритетная дисциплина (заявки ранжируются в очереди в зависимости от своих характеристик, определяющих их важность, срочность их обслуживания, т. е. приоритет)); может ограничиваться максимальная длина очереди (при превышении этой длины заявки либо получают отказ в постановке в очередь, либо выталкивают из нее менее приоритетные заявки). Механизм продвижения времени 77

Для одноканальных устройств: o o общее число выполненных запросов TC (изменяется процедурами резервирования и Для одноканальных устройств: o o общее число выполненных запросов TC (изменяется процедурами резервирования и захвата устройства); суммарное время обслуживания BT (сумма периодов занятого ожидания – накапливается процедурой освобождения устройства в соответствии с формулой: BT=BT+Time. Now–TR, где Time. Now – текущее время (время освобождения), TR – момент резервирования устройства); Механизм продвижения времени 78

Для одноканальных устройств o o o среднее время занятости вычисляется по формуле BT/TC; процент Для одноканальных устройств o o o среднее время занятости вычисляется по формуле BT/TC; процент использования (коэффициент загрузки системы) вычисляется по формуле BT/Modelling. Time (Modelling. Time – время моделирования); число вытолкнутых с обслуживания заявок (для устройств с возможностью захвата) увеличивается процедурами захвата устройства; Механизм продвижения времени 79

Для одноканальных устройств o o o суммарное время обслуживания захватчиков; среднее время обслуживания захватчиков; Для одноканальных устройств o o o суммарное время обслуживания захватчиков; среднее время обслуживания захватчиков; процент времени, когда устройство было занято обслуживанием захватчиков (считается аналогично проценту использования). Механизм продвижения времени 80

Сбор статистики для очередей: o o o количество заявок, поставленных в очередь (увеличивается процедурами Сбор статистики для очередей: o o o количество заявок, поставленных в очередь (увеличивается процедурами постановки в очередь); количество всех заявок, прошедших через очередь TC (увеличивается процедурами выбора заявок из очереди); количество заявок с нулевым ожиданием (увеличивается процедурами выбора заявок из очереди); Механизм продвижения времени 81

Для очередей o суммарное время ожидания HT (накапливается процедурами извлечения заявок из очереди); среднее Для очередей o суммарное время ожидания HT (накапливается процедурами извлечения заявок из очереди); среднее время ожидания MW=WT/TC; среднеквадратичное отклонение времени ожидания o где SW 2 – сумма квадратов времен ожидания; o o Механизм продвижения времени 82

Для очередей o средняя длина очереди n n o o o (вычисляется по формуле Для очередей o средняя длина очереди n n o o o (вычисляется по формуле STL/Modelling. Time, где STL – сумма произведений длины очереди на промежутки времени, в течение которых эти длины не изменялись); максимальная длина очереди; количество заявок, получивших отказ в постановке в очередь (для очередей с ограниченной длиной); количество заявок, вытолкнутых из очереди (для очередей с ограниченной длиной). Механизм продвижения времени 83

Для многоканальных устройств o o o счетчик запросов к устройству на выделение каналов; общая Для многоканальных устройств o o o счетчик запросов к устройству на выделение каналов; общая сумма величин запросов; средняя величина запроса; среднеквадратичное отклонение величины запроса; среднее количество занятых устройств; Механизм продвижения времени 84

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

Планирование эксперимента и средства повышения точности результатов имитации Механизм продвижения времени Планирование эксперимента и средства повышения точности результатов имитации Механизм продвижения времени

На точность результатов моделирования может повлиять: o o выбор начальных условий при инициализации модели; На точность результатов моделирования может повлиять: o o выбор начальных условий при инициализации модели; выбор условий завершения моделирования. Механизм продвижения времени 87

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

Способы инициализации модели (определения начальных условий): o реализация стратегии «пуст и свободен» – n Способы инициализации модели (определения начальных условий): o реализация стратегии «пуст и свободен» – n n в начале моделирования все очереди пусты; все устройства свободны; Механизм продвижения времени 89

Планирование эксперимента o заполнение модели заявками: n n в соответствии с модальными (наиболее вероятными) Планирование эксперимента o заполнение модели заявками: n n в соответствии с модальными (наиболее вероятными) значениями определяются длины очередей и очереди наполняются соответствующим количеством заявок, определяется наиболее вероятное состояние одноканальных устройств (если наиболее вероятное состояние занятое, на обслуживание ставится заявка) и наиболее вероятный процент загрузки многоканальных (и они заполняются на эту долю); Механизм продвижения времени 90

Планирование эксперимента o o в соответствии со средними значениями Другие варианты: n необходимо получить Планирование эксперимента o o в соответствии со средними значениями Другие варианты: n необходимо получить соответствующие оценки, которые могут получены в результате пробных прогонов, в ходе которых они могут уточняться. Механизм продвижения времени 91

Естественные начальные условия o Для некоторых систем начальные условия являются естественными (например, при моделировании Естественные начальные условия o Для некоторых систем начальные условия являются естественными (например, при моделировании магазина все его продавцы и кассиры свободны при его открытии). Механизм продвижения времени 92

Система с непрерывной работой o o Для других систем (например, если моделируется некоторый период Система с непрерывной работой o o Для других систем (например, если моделируется некоторый период функционирования системы, которая работает непрерывно в течение длительного времени и к моменту начала моделирования находится в определенном «непустом» состоянии). Тогда встает проблема определения начальных условий. Механизм продвижения времени 93

Реализация процедур отсечения Планирование эксперимента Механизм продвижения времени Реализация процедур отсечения Планирование эксперимента Механизм продвижения времени

Суть метода отсечения o o o Собранная за определенный начальный период статистика о поведении Суть метода отсечения o o o Собранная за определенный начальный период статистика о поведении системы «стирается» Моделирование продолжается при установившемся состоянии системы (с наполненными очередями, наполненными или свободными (как получилось) устройствами) Статистика начинает накапливаться заново. Механизм продвижения времени 95

Определение точки отсечения o o Если для реализации отсечения написать процедуру, в ней должно Определение точки отсечения o o Если для реализации отсечения написать процедуру, в ней должно определяться, в какой момент времени система перешла в стационарное состояние, и именно в этот момент реализовать отсечение (сброс накопленной статистики). Для этого необходимо сравнивать текущее состояние системы в определенные моменты прогона с некоторым «эталонным» состоянием. Определение «эталонного» состояния, определение моментов сравнения -сложная задача Чаще реализуют возможность создания контрольных точек, в которых пользователь может вызвать процедуры сброса статистики «вручную» . Механизм продвижения времени 96

Определение стратегии завершения Планирование эксперимента Механизм продвижения времени Определение стратегии завершения Планирование эксперимента Механизм продвижения времени

o o o Для некоторых систем конечные условия являются естественными, определяемыми сценариями поведения объектов o o o Для некоторых систем конечные условия являются естественными, определяемыми сценариями поведения объектов реальной системы. В некоторых случаях пользователь должен сам определить стратегию завершения моделирования. Как и при определении начальных условий, определение стратегии завершения достаточно сложная задача. Механизм продвижения времени 98

Варианты завершения: o o o завершить обслуживание всех заявок, находящихся в системе (включая те, Варианты завершения: o o o завершить обслуживание всех заявок, находящихся в системе (включая те, которые поставлены в очереди, т. е. конечное состояние – «пуст и свободен» ); завершить обслуживание тех заявок, которые находятся на обслуживании, не начиная обслуживание новых; немедленно прекратить моделирование, оставив все элементы системы в том состоянии, в котором они находятся. Механизм продвижения времени 99

Влияние условий завершения o o Конечное состояние системы может повлиять на результаты (особенно если Влияние условий завершения o o Конечное состояние системы может повлиять на результаты (особенно если период моделирование недостаточно продолжительный), поэтому следует учитывать это влияние. Уточнить результаты можно, выполнив несколько прогонов. Механизм продвижения времени 100