Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Механизмы продвижения времени




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

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

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

В качестве примера рассмотрим механизм продвижения времени от события к событию в системе массового обслуживания с одним обслуживающим устройством (рис. 4.2).

Рис. 4.2. Механизм продвижения времени от события к событию СМО с одним ОУ

Здесь использованы следующие обозначения:

t1 ‑ время поступления требования i (t0 = 0);

Аi = ti – ti-1 ‑ время между поступлениями требований i и i ‑1;

Si, ‑ время, потраченное устройством на обслуживание требования i
(без учета времени задержки требования в очереди);

Di ‑ время задержки требования i в очереди;

сi = ti + Di, + Si, ‑ время ухода требования i по завершении обслуживания;

еi ‑ время возникновения события i любого типа (значение i, принимаемое часами модельного времени без учета значения е0 = 0).

Каждый из определенных параметров, как правило, будет случайной величиной. Предположим, что нам известны распределения вероятностей для времени между поступлением требований A1 A2,... и для времени обслуживания S1 S2,... и что они имеют функции распределения, обозначенные как FA и FS соответственно. (FA и FS вычисляются путем сбора данных в интересующей нас системе и последующего определения распределений по этим данным).

Алгоритм имитационного моделирования СМО М/М/1 можно описать следующим образом:

1. В момент времени е0 = 0 устройство находится в состоянии незанятости. Время поступления первого требования определяется путем генерации значения А1 из FA и прибавления его к 0. После этого часы модельного времени переводятся на время возникновения следующего (первого) события e1 = t1. (на рис. 4.2 изогнутые стрелки представляют продвижение часов модельного времени). Поскольку на момент поступления требования t1 устройство находится в состоянии незанятости, оно немедленно начинает обслуживание с задержкой требования в очереди D1=0, и его состояние меняется на занятое.

2. Время c1 завершения обслуживания поступившего требования определяется путем генерации значения S1 из FS и прибавления его к t1.

3. И наконец, время поступления второго требования t2 вычисляется по формуле t2 = t1 + А2, где значение А2 генерируется из FA.

4. Если t2 <c1, как показано на рис. 4.2, часы модельного времени переводятся с e1 на время следующего события е2 = t2. (Если бы c1 было меньше t2, часы были бы переведены с e1 на c1.).Так как требование, поступившее в момент времени t2, обнаруживает, что устройство обслуживания уже занято, число требований в очереди увеличивается с 0 до 1, а время поступления требования записывается в список событий. Однако в этот раз время обслуживания требования S2 не генерируется. Время поступления третьего требования вычисляется по формуле t3 = t2 + А3.

5. Если c1< t3, как показано на рис. 4.2, часы модельного времени переводятся с е2 на время возникновения следующего события е3 = c1.

6. Когда требование, обслуживание которого завершено, уходит, начинается обслуживание требования в очереди (того, которое поступило в момент времени t2): вычисляется время его задержки в очереди D2 = c1t2 и с2 = с1 + S2 (теперь S2 генерируется из FS), а число требований в очереди меняется с 1 на 0.

7. Если t3<c2, часы модельного времени переводятся с е3 на время возникновения следующего события е4 = t3, и т,д.

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

Отметим также, что различают два типа событий, связанных с появлением входных требований: первый тип – это события, приводящие к смене состояния СМО (т.е. УО), с «свободно» на «занято» или обратно, второй – это события, не приводящие к смене состояния УО. На рис. 4.2 типы событий чередуются: к типу 1 относятся нечетные события, к типу 2 – чётные.







Дата добавления: 2014-11-12; просмотров: 928. Нарушение авторских прав


Рекомендуемые страницы:


Studopedia.info - Студопедия - 2014-2020 год . (0.002 сек.) русская версия | украинская версия