- Lektsia - бесплатные рефераты, доклады, курсовые работы, контрольные и дипломы для студентов - https://lektsia.info -

Управление временем в последовательном имитационном моделировании

Известно, что большую роль в имитационных моделях играет фактор времени. По определению имитационное моделирование является методом исследования динамических систем, в котором реальный объект (система) заменяются имитационной моделью. Процесс моделирования сопровождается отображением реального объекта (системы) в модель, которая выполняется, изменяя свое состояние с течением времени, причём время необратимо, оно не замедляется и не ускоряется. Состояние системы определяется состоянием её элементов, а каждый элемент обладает набором свойств (характеристик).
Прежде всего, следует определить, что следует понимать под термином «время» в имитационном моделировании. В работе Fujimoto и других работах по имитационному моделированию различают: физическое (physical), модельное (system time) и процессорное (wallclock time). Рассмотрим более подробно все эти 3 разновидности:
- Физическоевремя (physical-Tp) – это время, которое используется в реальной (физической) системе, которую моделируют. Например, мы моделируем работу некоторого предприятия в течение рабочего дня с 8.00 до 17.00.
- Модельное время (simulation time - Ts) – это представление физического времени в модели. Так работу предприятия в модельном времени можно представить отрезком времени [8.00,17.00], за единицу модельного времени (h) можно принять временной интервал в 1 минуту, в 10 минут, в 30 минут, в один час и т.д. Ts = Tp/h.
- Процессорное время (wallclock time - Tw) – время работы симулятора на компьютере. Так, например, моделирование предприятия может занять 1 час работы на компьютере.
Моделирование должно выполняться как можно скорее (as-fast-as-possible), т.е. модельное время продвигается с гораздо большей скоростью, чем процессорное. Например, работа некоторого физического процесса длится несколько суток, единицу модельного времени выбирают равной одному часу, а процесс моделирования на компьютере выполняется за 30 минут.
Иногда (при использовании тренажёров) продвижение модельного времени должно быть синхронизировано с процессорным. Такое моделирование называют моделированием в реальном времени (real time). Действительно, при использовании тренажёров человек погружается с виртуальную среду, которая должна выглядеть как можно более реалистичной.
Итак, одной из важнейших задач системы имитации является продвижение модельного времени. Вначале кратко рассмотрим алгоритм продвижения модельного времени в последовательном моделировании.
Известно, что существуют различные виды имитационных моделей, в основе которых лежит та или иная концепция:
- События (events).
- Процессы (processes).
- Объекты (objects) или агенты (agents).
- Непрерывные (continues) модели (системная динамика).
Событие – это изменение состояния системы, причём событие происходит мгновенно. В промежутке между двумя событиями модель остаётся неизменной. Процесс – это последовательность активностей, а активность – это элементарная работы по переводу системы из одного состояния в другое. Активность начинается и завершается событием.
Как уже говорилось ранее, система моделирования, управляющая выполнением модели, должна уметь продвигать модель из одного состояния в другое. Продвижение модели из одного состояния в другое выполняется по определённым правилам, эти правила определяют сценарий поведения модели во времени, причинно-следственные связи между активностями. Управляющая программа, которая выполняет продвижение времени называется симулятором.
В зависимости от того, какая концепция лежит в основании имитационной модели, системы моделирования делятся процессо-ориентированные, событийно-ориентированные, объектно-ориентированные, агентные.
Рассмотрим более подробно событийно-ориентированное моделирование
В событийно-ориентированных системах моделирования приняты следующие соглашения:
- модель продвигается во времени от события ei к событию ej, которые изменяют состояние модели,
- логика наступления событий определяет последовательность смены состояний модели, которые связаны с наступлением этих событий;
- время продвигается от события к событию;
Пусть время – частично упорядоченное множество T ={t1, t2,…,tn}. Пусть существует множество событий ei Î E, i = 1,2..,n. Любое событие может включать преобразование Sch: E ´ T ´ E, т.е. событие ei (выполняющееся в момент времени ti) может планировать выполнение другого события ej в момент времени tj и размещать его в календаре событий. Календарь событий состоит из элементов, каждый из которых содержит два поля:
- ссылку на запланированное событие (ei);
- модельное время, на которое запланировано событие (ti).
Таким образом, можно сказать, что календарь событий (обозначим его SE) – это список элементов li, где каждый элемент li представляет собой пару (ei , ti).
Управляющая программа (симулятор) должна выбрать из календаря событий событие с минимальным временем.Это время становитсятекущим модельным временем. Симулятор присваивает системной переменной с текущим модельным временем (назовём эту переменную именем Systemtime) минимальное значение времени, на которое запланировано событие из календаря событий, т.е. Systemtime = min (ti). Далее симулятор передаёт управление событию ei (с минимальным временем).
Цель: Необходимо выбрать очередное событие в календаре событий и передать ему управление: