Лекция 4 Основы моделирования в системе GPSS Word 1

advertisement
Лекция 4
Основы моделирования в системе GPSS
Word
1
Вопросы лекции
1.
2.
Основные блоки и команды языка GPSS
Построение моделей в системе GPSS Word
2
Основные блоки и команды языка GPSS
Основные модельные блоки

Блок генерации транзактов
GENERATE A,B,C,D,Е
А – время между соседними генерациями
В – модификатор значения А: интервал времени равномерно распределен
в интервале [ A-B, A+B]
C – время создания транзакта
D – граничное число транзактов, которое может быть введено в модель
через данный блок GENETATE
E – приоритет транзактов
GENERATE
A,B,C,D,E
Блок GENERATE имитирует поток заявок, поступающих в систему путем
задания интервала времени между соседними заявками в потоке.
3
Основные блоки и команды языка GPSS
GENERATE
A,B,C,D,E
Operands





A - Mean inter generation time. Optional. The operand must be Null, Name, Number,
String, ParenthesizedExpression, or DirectSNA. You may not use Transaction
Parameters.
B - Inter generation time half-range or Function Modifier. Optional. The operand
must be Null, Name, Number, String, ParenthesizedExpression, or DirectSNA. You
may not use Transaction Parameters.
C - Start delay time. Time increment for the first Transaction. Optional. The operand
must be Null, Name, Number, String, ParenthesizedExpression, or DirectSNA. You
may not use Transaction Parameters.
D - Creation limit. The default is no limit. Optional. The operand must be Null, Name,
PosInteger, String, ParenthesizedExpression, or DirectSNA. You may not use
Transaction Parameters.
E - Priority level. Optional. Zero is the default. The operand must be Null, Name,
integer, String, ParenthesizedExpression, or DirectSNA. You may not use Transaction
Parameters.
4
Основные блоки и команды языка GPSS
Примеры описания входного потока
GЕNЕRATE 60
; задает генерацию заявок через каждые 60 единиц времени
GANARATE 60,5
; генерация заявок с интервалом времени, значения которого равномерно
распределены в диапазоне [55;65]
При моделировании важно выбрать соответствие модельного времени с
временем реальным процесса.
1 ед. модельного времени

{1 с, 1мин, 1ч, 0,001с, 1год, …}
Соответствие модельного времени реальному задает исследователь сам
(перед написанием модели) !!!
Например,
GЕNЕRATE 1 ; генерация заявок раз в минуту (1 ед. мод. вр. = 1 мин)
GЕNЕRATE 60 ; генерация заявок раз в минуту ( 1 ед. мод. вр. = 1 с)
5
Основные блоки и команды языка GPSS

Блок удаления транзактов из модели
ТERMINATE A
А – необязательный операнд, задающий значение инкрементального
уменьшения счетчика числа завершений модельных прогонов

Задание значения счетчика завершений
START А
А – величина счетчика завершений
Элементарная модель потока заявок
Модель 1 ( равномерный поток)
GENERATE 10,5
TERMINATE 1
Start 1000
Модель имитирует поток из 1000 заявок, в котором значение интервала
времени равномерно распределено в диапазоне [5,15].
6
Основные блоки и команды языка GPSS
Блок задержки транзактов ADVANCE
ADVANCE
ADVANCE A,B
A,B
Операнды
А –обязательный операнд, задающий среднее времени, после
которого транзакт должен выйти из цепи будущих событий, т.е.
задержан до момента наступления события продолжения
движения по модельным блокам
B – значение отклонения или функция модифицирующая
величину А (равномерное отклонение в интервале А+В)
Примеры.
ADVANCE 60
; обеспечивает задержку на 60 ед. модельно времени
ADVANCE 101.6, 50.3
; транзакт задерживается на время, равномерно распределенное в
интервале ( 101,6 - 50,3; 101,6 + 50,3).
7
Основные блоки и команды языка GPSS
Блок статистической обработки
TABULATE A,B
А – имя таблицы, сбора и обработки статистических данных
TABULATE
B
A
Например, когда транзакты входят в блок TABULATE
TABULATE
Sales ;
осуществляется статистическая обработка параметра,
заданного в таблице Sales, описанной в команде Table
8
Основные блоки и команды языка GPSS
Команда TABLE определяет статистическую частость
значений.
NAME TABLE A,B,C,D
Метка/Операнд
 NAME – метка (имя) объекта.

A – аргумент таблицы, значения которого табулируются в
виде частотного распределения..

B – нижний интрервал значений ( верхня границя первого
частотного класса)

C – ширина интервала.

D – количество интервалов ( частотных классов)
9
Основы моделирования в системе GPSS Word
Пример
Sales
TABLE M1, 0,0.5, 10
Данная команда предписывает

фиксировать время пребывания транзакты в системе (М1параметр транзакта (системный числовой атрибут ),

определять средние значения М1

строить гистограмму частоты попадания значений М1 в каждый
из 10 интервалов модельного времени в диапазоне от 0 с шагом
0.5 .
Оценка частости попадания интервалы от 0 до 5 с шагом 0.5. Всего
10 интервалов
0,5 | 1,0 | 1,5 | 2,0| 2,5 | … | 5
10
Построение моделей в системе GPSS Word
Элементарная модель простейшего потока заявок
Модель 2 ( с расчётом интервала)
Tinter
TSRV
Table M1,0,0.5,20 ; табуляция от 0 с шагом 0.5 20-ти интервалов
FVARIABLE -1#LOG((1+RN1)/1000); интенсивность - 1 заявка/1
ед.модельного времени
GENERATE 1
ADVANCE V$TSRV
TABULATE Tinter
TERMINATE 1
Start
10000
В модель вводятся 10000 транзактов. Каждый задерживается
блоком ADVANCE на длительность Tsrv ( в соответствии
разыгранным значением Dt по экспоненциальному
распределению). Блок ТABULATE учитывает разыгранное
значение Dt и блок TARMINATE выводит транзакты из модели
(счетчик завершений уменьшается на 1).
11
Построение моделей в системе GPSS Word
Расчет значения переменной TSRV
TSRV
FVARIABLE -1#LOG((1+RN1)/1000)
В данном случае, задана интенсивность - 1
заявка/1ед.модельного времени
Расчет значений переменной TSRV основан на применении
соотношения между значением ДСЧ i и экспоненциально
распределенной величиной ∆ti
Dti  
1

ln  i
Интервал времени Dt между соседними заявками в
простейшем потоке ( экспоненциальным распределением Dt)
подчинен распределению:
Р(Dt) = Р(<Dt)=1- λe –λDt
p (Dt) = λe –λDt
Генератор случайных чисел ( ГСЧ) RN1 выдает случайное
целое число в диапазоне 0…999
12
Построение моделей в системе GPSS Word
Расчет значения переменной TSRV
TSRV



FVARIABLE -1#LOG((1+RN1)/1000)
Алгоритм генерации псевдослучайных чисел в GPSS World
базируется на мультипликативном конгруэнтном алгоритме
Лемера полного периода.
Период последовательности равен 231-2 и он не включает
0, т.е. алгоритм дает псевдослучайные числа на интервале
[ 0 ; 2147483647 ] и генерирует 2 147 483 646
уникальных случайных чисел до момента их повторения.
Системный числовой атрибут класса RN выдает числа от 0
до 999 включительно.
Для вычислений случайных функций используются
случайные числа в диапазоне от 0 до 0,999999
включительно.
13
Построение моделей в системе GPSS Word
Листинг программы моделирования простейшего потока
заявок
14
Построение моделей в системе GPSS Word
Диаграмма значений интервала времени между заявками
15
Построение моделей в системе GPSS Word
Элементарная модель простейшего потока заявок
( на основе встроенной функции Exponential)
Модель 3
Tinter
Table M1,0,0.5,20
GENERATE 1
ADVANCE (Exponential(1,0,1))
Tabulate Tinter
TERMINATE 1
Start 10000
В модели используется встроенная функция экспоненциального
распределения
Real = EXPONENTIAL(Stream, Locate, Scale)
16
Построение моделей в системе GPSS Word
Real = EXPONENTIAL(Stream, Locate, Scale)
Аргументи



Stream – номер генератора случайных чисел ( целое число).
Обязательный. Действительное целое число.
Locate (  ) – значение сдвига которое используется для описания
распределения. Обязательный. Действительное число. Может
определяться из выражения Expression.
Scale (  ) – показатель распределения . Строго положительный.
позитивним. Обязательный. Действительное число. Может определяться
из выражения Expression.
Возвращаемое значение функции

Real – действиельное число, которое выдается как отдельное значение
вероятностного распределения
Функция плотности вероятности
 1 ( x  ) /  , x  
 e
f ( x)   

0

17
Построение моделей в системе GPSS Word
Листинг программы моделирования простейшего потока заявок
18
Построение моделей в системе GPSS Word
Диаграмма значений интервала времени между заявками
19
Построение моделей в системе GPSS Word
Вопрос ???
 Почему в моделях перед табуляцией используется
блок задержки ?
МОДЕЛЬ 2
GENERATE 1
ADVANCE V$TSRV
TABULATE Tinter
TERMINATE 1
Start 10000
МОДЕЛЬ 3
GENERATE 1
ADVANCE (Exponential(1,0,1))
Tabulate Tinter
TERMINATE 1
Start 10000
20
Основные блоки и команды языка GPSS
Для имитации работы обслуживающих устройств с системе используются
блоки

SEIZE – при входе в блок транзакт выполняет попытку получить
право овладеть прибором .

RELEASE – при входе транзакта в блок прибор освобождается

PREEMPT – при входе в блок транзакт выполняет попытку получить
право овладеть прибором, с возможностью перемещения ранее
занявшего прибор транзакта.

RETURN – при входе транзакта в блок возвращается право
использования прибором

FAVAIL – при входе транзакта в блок прибор переводится в состояние
доступности.

FUNAVAIL – при входе транзакта в блок прибор переводится в
состояние недоступности.
21
Основные блоки и команды языка GPSS
Например,
SEIZE
A
SEIZE A
RELEASE А
RELEASE
A
Описывают прибор А, который занимается транзактом, если
свободен в момент его поступления в блок SEIZE и освобождение
прибора при поступлении в блок RELEASE .
Блоки SEIZ и RELEASE - это парные блоки
22
Основные блоки и команды языка GPSS
Блоки моделирующие работу очереди

Блок занятия очереди
QUEUE А
QUEUE
B
A
A – имя очереди

Блок освобождения очереди
DEPART A
DEPURT
A
B
А – имя очереди
Данные блоки ведут статистический учет параметров очереди:

Длину очереди,

Среднюю длину очереди
 Время пребывания транзакта в очереди
23
Основные блоки и команды языка GPSS
Блоки многоканального устройства (МКУ)

задание емкости МКУ
A STORАGE B
A – имя многоканального устройства
B – емкость многоканального устройства

Блок МКУ
ENTER
A,B
ENTER
B
A
А – имя прибора
В – число единиц емкости, на которые надо уменьшать
емкость многоканального устройства при вхождении в блок
транзакта (по умолчанию В=1)
24
Основные блоки и команды языка GPSS
Блоки многоканального устройства (МКУ)

Блок освобождения МКУ
LEAVE
A,В
LEAVE
A
B
А – имя прибора
В – число единиц емкости, на которые надо увеличить
емкость многоканального устройства( по умолчанию В=1) при
вхождении в блок транзакта

Блоки принудительного изменения состояния МКУ


SAVAIL – переводит МКУ в доступное состояние.
SUNAVAIL – переводит МКУ в недоступное состояние.
25
Литература







Кудрявцев Е.М. GPSS Word. Основы имитационного
моделирования различных систем.- М. ДМК Пресс, 2004
Учебное пособие по GPSS Word./Перевод с англ. – Казань,
Изд-во «Мастер – Лайн», 2002
Богуш К.Ю., Богуш Ю.П., Шиян А.И. GPSS World Моделювання
телекомунікаційних систем та мереж. Посібник для
дипломного проектування . – ICЗЗІ НТУУ КПІ, 2010
Боев В.Д. Моделирование систем. Инструментальные средства
GPSS World.- СПб, БХВ- Петербург, 2004
Максимей И.В. Имитационное моделирование на ЭВМ. - М.:
Радио и связь, 1988.
Шрайбер Т.Дж. Моделирование на GPSS: Пер. с англ. - М.:
Машиностроение, 1980.
GPSS/PC general purpose simulation. Reference Manual. Minuteman software. P.O. Box 171. Stow, Massachusetts 01775,
1986.
26
Спасибо за внимание!
27
Download