Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003.doc
Скачиваний:
189
Добавлен:
31.05.2015
Размер:
13.56 Mб
Скачать

Примеры фрагментов gpss-моделейcиспользованием сча и параметров гранзактов

Пример 4.31

Определение функции, значения которой зависят от текущего содержимого блока cименемPPP. Вид зависимости задан в табл. 4.32.

Таблица 4.32

Текущее содержи­мое блока с именем РРР

0

1,2 или 3

4 или 5

6

7 и боль­ше

Значение функции

1

4

2

4

5

Пример 4.32

Определение функции, значения которой были бы вдвое больше текущей длины очереди ALPHAдля значений 0, 1, 2, 3, 4. Для ос­тальных значений содержимого очереди значение функции должно быть равно 10.

Это можно сделать двумя способами:

1) cпомощью дискретной функции, определяемой 6 значениями;

2) cпомощью непрерывной функции, определяемой 2 значениями.

Первый способ:

Второй способ:

Пример 4.33 [10]

В CMOcодним устройством и очередью поступает пуассоновский поток заявокcинтенсивностью 12 приходов за 1 ч. Обслужива­ние имеет экспоненциальное распределение, но среднее время обслуживания зависит от числа заявок, которые находятся в очереди к устройству. Эта зависимость приведена в табл. 4.33. Промоделиро­вать обслуживание 500 заявок.

Таблица 4.33

Длина очереди

0

1 или 2

3,4 или 5

6 и больше

Среднее время обслуживания, мин

5.5

5.0

4.5

4.0

Таблица 4.34 (Таблица определений)

Элементы GPSS

Интерпретация

Транзакты

Заявки

Устройство

SURVR

Обслуживающее устройство

Функции:

MEAN

XPDIS

Функция, определяющая среднее время обслужива­ния в зависимости от длины очереди

Функция розыгрыша случайных чисел в соответст­вии с экспоненциальным законом со средним значе­нием 1

Очередь

WAIT

Регистратор очереди для сбора статистики о состоя­нии очереди перед устройством

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

Единица модельного времени – 1 c.

Программа:

Пример 4.34[10]

Устройство cэкспоненциальным временем обслуживания имеет свойство уменьшать интенсивность своей работы на протяжении восьмичасового рабочего дня. В течение первых двух часов ему тре­буется в среднем 12 мин для выполнения обслуживания. В течение последующих двух часов среднее время обслуживания составляет 15 мин. В течение пятого, шестого и седьмого часа – 17 мин, в тече­ние восьмого часа – 20 мин. Предполагая, что единица времени в мо­дели равна 0,1 мин, определить функцию, значения которой давали бы среднее время, необходимое устройству для выполнения обслуживания. Также показать, как эту функцию нужно использовать в блокеADVANCE. (СЧАC1– текущее значение относительного вре­мени работы модели).

Фрагмент программы:

Пример 4.35 [10]

Ситуация, описанная в примере 4.34, предполагает, что среднее время обслуживания увеличивается скачкообразно. Более реально полагать, что среднее время возрастает постепенно в течение дня. Определить непрерывную функцию, которая описывала бы увеличе­ние времени обслуживания в соответствии cправилом: в нулевой момент времени среднее время равно 12 мин, к концу второго часа оно увеличивается до 15 мин, к концу четвертого часа – до 17 мин, к концу седьмого – до 20 мин, А к концу восьмого – до 25 мин. Считать, что среднее время обслуживания на указанных интервалах времени увеличивается непрерывно и равномерно.

Фрагмент программы: