- •Исследование производительности комплекса технических средств сапр
- •1.1 Постановка задачи
- •1.2 Составление имитационной модели комплекса технических средств сапр
- •1.3. Общие сведения о языке моделирования gpss.
- •1.3.1. Блоки генерации и удаления заявок
- •1.3.2. Блоки, описывающие действие транзакта по отношению к обслуживающему устройству
- •1.3.3. Блоки, управляющие маршрутизацией транзактов
- •1.3.4. Вспомогательные блоки
- •1.4 Задание
- •1. Задание;
1.3.4. Вспомогательные блоки
З
адание
функций
распределения.
Оператор FUNCTION.
Функции
f
распределения,
отличного
от равномерного, задаются в GPSS
в виде
их кусочно-постоянной аппроксимации,
как это показано на рис. 3. Здесь на
оси абсцисс отложены значения случайной
величины P,
равномерно распределенной на интервале
[0,1],
используемой в качестве аргумента для
аппроксимирующей функции. Значения Р1,
P2,…,Pi,…,
1
суть правые границы участков
кусочно-постоянной аппроксимации
исходной функции f.
Количество правых границ точно
соответствует числу участков аппроксимации,
а следовательно, и значений аппроксимирующей
функции. Для задания аппроксимирующих
значений используется оператор FUNCTION.
Функции GPSS
являются
стандартными числовыми атрибутами с
групповым именем FN.
Функции
могут иметь имена как символические,
так и числовые. Символические имена
могут состоять не более, чем из 5 символов,
причем первые три символа должны быть
алфавитными. Имена функций задаются в
позициях
2÷6. В поле операции, начиная с
позиции
9, записывается служебное слово
FUNCTION.
В поле
операндов задается номер генератора
случайных чисел, позволяющего получить
равномерно распределенные числа в
интервале от 0 до 1 и число значений,
которые может принимать случайная
переменная. Операнд А
оператора
FUNCTION
записывается в виде RNj;
где j
= 1…8
номер генератора случайных чисел. При
моделировании можно попользовать любой
из восьми генераторов случайных чисел.
Операнд B
состоит
из символа D
и числа
значений, которые может получить
случайная переменная.
В следующей
записи, начиная с первой
позиции,
задается кусочно-постоянная аппроксимация
функции f
в виде
последовательности пар чисел. В каждой
паре на первом месте задается аргумент,
в качестве которого здесь принимается
правая граница интервала аппроксимации
(Pi)
и затем отделенное от него запятой
соответствующее числовое значение
аппроксимирующей функции. Пары значений
отделяются друг от друга символом /
(косой чертой) и должны располагаться
в порядке возрастания значений аргумента
Pi.
Пример 18. Случайная величина принимает значение 4 с вероятностью P1 = 0,2, значение 8 с вероятностью Р2 = 0,5 и значение 5 с вероятностью Р3 = 0,3. Определить соответствующую функцию на языке GPSS:
VER FUNCTION RN4,D3
.2,4/.7,8/1,5
Здесь .2 правая граница интервала аппроксимации функции VER на котором она принимает значение 4; .7 правая граница интервала (.7 = .2 + .5), на котором функция VER равна 8 и, наконец, 1 правая граница последнего интервала (1 = .2 + .5 + .3),на котором функция VER равна 5. На месте операнда А указан используемый здесь 4-й генератор случайных равномерно распределенных чисел (RN4), а на месте операнда B D3 размерность (число пар значений) массива задания функции VER. На рис 4,а показан вид заданной функции VER. Из-за свойств равномерного распределения подобное задание не является единственным. Так, на рис. 4,б показан другой способ задания функции, VER, полностью идентичный первому. В этом случае запись с парами значений будет содержать
.3,5/. 5,4/1,8
Распределение, отличное от равномерного, в блоке ADVANCE указывается следующим образом: в качестве операнда А задается соответствующая функция распределения. Операнд B задается равным 0 или принимается по умолчанию.
Пример 19. Время задержки определяется в соответствии с функцией распределения, заданной в предыдущем примере. Определить блок ADVANCE:
ADVANCE FN$VER
Знак $ используется для разделения группового имени FN и символического имени VER.
Задание начальных значений сохраняемым величинам. Карта INITIAL. Для присвоения сохраняемым величинам начальных значений используется карта INITIAL. Начиная с 8-й позиции, в поле операторов записывается служебное олово GPSS INITIAL. В поле операторов, начиная с 19-й позиции, записывается конструкция вида: имя сохраняемой величины, значение. Имя сохраняемой величины состоит из группового имени и символического или числового.
Пример 20. INITIAL X$REM,25 полнословной величине с символическим именем REM присваивается начальное значение, равное 25.
С помощью одной карты INITIAL можно определить начальные значения для нескольких сохраняемых величин. В этом случае для разделения пар имя сохраняемой величины и значение используется знак / (косой чертой).
Пример 21. INITIAL XH$PAR1,35/Х7,83 полусловной сохраняемой величине с символическим именем PAR1 присвоится начальное значение 35, а полнословной сохраняемой величине с числовым именем 7 присвоится начальное значение, равное 83.
В модели разрешается использовать несколько записей INITIAL, которые рекомендуется располагать до блока GENERATE. Перед началом моделирования интерпретатор GPSS обнуляет значения сохраняемых величин.
Арифметические переменные. Карта VARIABLE. Арифметические переменные являются стандартными числовыми атрибутами. Групповое имя для арифметических переменных V. Арифметические переменные в GPSS бывают целыми и действительными. Ниже будут рассматриваться целые арифметические переменные. Целые арифметические переменные задаются с помощью карты VARIABLE. В поле имени задается имя переменной. Имя может содержать от трех до пяти алфавитно-цифровых символов, причем первые три символа должны быть буквами. В поле операции записывается служебное олово GPSS VARIABLE. В поле операндов определяется арифметическое выражение. Пробелы при записи арифметических выражений не допускаются. Арифметическое выражение должно начинаться с 19 позиции. Арифметическое выражение представляет собой стандартные числовые атрибуты, константы, соединенные знаками арифметических операций: +, –, *, /,@, означающие соответственно сложение, вычитание, умножение, деление, деление по модулю. При делении результатом операции является целая часть частного. При делении по модулю результатом операции является остаток. Отметим, что все данные, участвующие в арифметическом выражении, должны быть целыми. Результатом выполнения арифметического выражения также являются целые числа. Знак "–" в арифметическом выражении используется только в качестве бинарного. Арифметические выражения вычисляются в той точке модели, где происходит обращение к соответствующему стандартному числовому атрибуту.
Пример 22. PARM VARIABLE X$DATA+5
ADVANCE V$PARM
При входе транзакта в блок ADVANCE он задерживается на количество единиц времени, определенное с помощью карты VARIABLE. Сначала определяется значение арифметической переменной PARM как суммы сохраняемой величины с символическим именем DATA и константы, равной 5, а затем определенное значение подставляется в качестве операнда А в блок ADVANCE.
