Лабораторная работа № 2. МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ПОТОКОВ С РАЗЛИЧНЫМИ РАСПРЕДЕЛЕНИЯМИ
Цель работы: изучение основных распределений случайных величин,
схем устройств, описывающих потоки обработки заявок.
Блоки изменения маршрута следования транзакта
TRANSFER A,B,C,D - перемещает активный транзакт в новый блок.
A - режим блока перехода. Может принимать значения BOTH, ALL, PICK, FN, P, SBR, SIM либо числовое выражение.
B - номер блока или расположение. Имя параметра или номер в режиме P.
C - номер блока или расположение. Увеличивающее значение в режиме FN или P.
D - увеличение для номера блока в режиме ALL. По умолчанию равен 1.
Режимы блока:
- Безусловный переход. Когда операнд A отсутствует, переход осуществляется в безусловном режиме.
В этом случае всегда осуществляется переход к блоку, указанному в операнде B.
TRANSFER ,New_Place
При попадании активного транзакта в блок происходит переход к блоку с меткой New_Place.
- Дробный режим. Когда операнд A не является ключевым словом, блок TRANSFER работает в дробном режиме.
В этом случае активный транзакт переходит к блоку, указанному в операнде C с вероятностью из операнда A.
Если операнд A принимает значения положительного целого, то это интерпретируется как тысячная доля и
переводится в вероятность. В противном случае переходит к блоку, указанному в операнде B, или
к следующему блоку за TRANSFER, если операнд отсутствует.
TRANSFER .45,,New_Place
Транзакт перейдет к блоку с меткой New_Place с вероятностью 0.45. И с вероятностью 0.55 к следующему
за ним блоку.
- Режим BOTH. В этом режиме блок, в который должен быть направлен транзакт предварительно тестируется,
может ли транзакт в него войти. Если может, то заходит в него, иначе тестируется второй. В случае когда
ни в один из блоков транзакт войти не может, он остается в блоке TRANSFER.
TRANSFER BOTH,First_Place,Second_Place
Транзакт войдет в блок First_Place, если он свободен, иначе попытается войти в блок Second_Place,
и если уж туда войти не сможет, то останется в блоке TRANSFER до момента освобождения одного
из блоков.
- Режим ALL. В этом режиме тестируются блоки, начиная с указанного в операнде B до блока, указанного
в операнде С, с шагом в номерах блоков из операнда D.
TRANSFER ALL,First_Place,Last_Place,2
Когда активный транзакт войдет в этот блок, то сначала будет протестирован блок First_Place,
в случае успеха перейдет на него, иначе будет тестировать по порядку все после First_Place до
Last_Place с шагом между блоками равным 2.
- Режим PICK. В этом режиме положение блока для перехода выбирается с помощью генератора случайных
чисел. Положение выбирается в интервале от блока, указанного в операнде B, до блока, указанного
в операнде C.
TRANSFER PICK,First_Place,Last_Place
Блок перехода будет определен случайно между First_Place и Last_Place. Генератор может быть назначен
с помощью команды меню Edit->Settings->Random Numbers.
- Режим функции. Номер блока перехода выбирается с помощью функции, указанной в блоке B с увеличением
положения на операнд C.
TRANSFER FN,Func1,4
При входе в блок вычисляется значение функции Func1, увеличивается на 4, таким образом определяется место перехода.
- Режим параметра. Номер блока для перехода вычисляется как сумма значения параметра, указанного
в операнде B и величины в операнде C.
TRANSFER P,Placemarker,1
Произойдет переход на блок следующий за указанным в параметре с названием Placemarker.
- Режим подпрограммы. Переход при этом осуществляется к блоку, указанному в операнде B, но
в параметр, указанный в блоке C, сохраняется значение текущего блока TRANSFER.
TRANSFER SBR,New_Place,Placemarker
Переход будет осуществлен к блоку New_place и параметр Placemarker примет значение номера блока
TRANSFER. Для возврата к этому блоку успользуется режим параметра, приведенный выше.
- Синхронный режим. Переход осуществляется к блокам в зависимости от состояния индикатора Delay.
Индикатор Delay устанавливается, когда активный транзакт отвергается некоторым блоком, и снимается,
когда он входит в блок.
TRANSFER SIM,Nodelay_Place,Delay_Place
Транзакт перейдет к блоку Nodelay_Place, если индикатор Delay не установлен, и к блоку Delay_Place
в противном случае.
Распределения случайных величин в GPSS
Имеется более 20 встроенных функций, описывающих различные распределения. Эти распределения
применимы для широкого класса задач. Каждая процедура требует задания специфических
параметров. Первый параметр - номер генератора случайных чисел. Другие параметры зависят от
типа распределения. Они могут, например, описывать смещение, сжатие и форму функции плотности распределения.
Таблица 1. Встроенные функции распределения случайных величин.
Распределние | Функция | Параметры |
Бета | Beta(A,B,C,D,E) | A - номер генератора случайных чисел, [B,C] - интервал генерируемых значений, D и E - определяющие значения формы распределения. |
Биномиальное | Binomial(A,B,C) | B - количество независимых испытаний Бернулли, С - вероятность успешных испытаний Бернулли. |
Дискретно-равномерное | DUniform(A,B,C) | [B,C] - интервал генерируемых значений |
Экспоненциальное | Exponential(A,B,C) | B - величина сдвига, C - величина сжатия. |
Экстремальное значение типа A | ExtValA(A,B,C) | B - величина сдвига, C - величина сжатия. |
Экстремальное значение типа B | ExtValB(A,B,C) | B - величина сдвига, C - величина сжатия. |
Гамма | Gamma(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Геометрическое | Geometric(A,B) | B - вероятность успешных испытаний Бернулли. |
Обратное Гаусса | InvGauss(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Обратное Вейбулла | InvWeibull(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Лапласа | Laplace(A,B,C) | B - величина сдвига, C - величина сжатия. |
Логистическое | Logistic(A,B,C) | B - величина сдвига, C - величина сжатия. |
Логлапласово | LogLaplace(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Логлогистическое | LogLogis(A,B,C,D,E) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Логнормальное | LogNormal(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Отрицательное биномиальное | NegBinom(A,B,C) | B - количество независимых испытаний Бернулли, после которого возвращается число безуспешных испытаний, С - вероятность успешных испытаний Бернулли. |
Нормальное | Normal(A,B,C) | B - среднее значение, C - стандартное отклонение. |
Парето | Pareto(A,B,C) | B - величина сдвига, C - величина сжатия. |
Пирсона типа 5 | Pearson5(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Пирсона типа 6 | Pearson6(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Пуассона | Poisson(A,B) | B - среднее значение. |
Треугольное | Triangular(A,B,C,D) | [B,C] - интервал генерируемых значений, D - мода распределения. |
Равномерное | Uniform(A,B,C) | [B,C] - интервал генерируемых значений. |
Вейбулла | Weibull(A,B,C,D) | B - величина сдвига, C - величина сжатия, D - определяющее значение формы распределения. |
Примеры обращения к функциям распределения
ADVANCE (VarBit+(Exponential(3,Mean)))
ASSIGN 3,((Normal(2,Mean,Variance))#2.45)
GENERATE (Exponential(11,0,X$Mat))
Практическое задание
- Необходимо построить модель обработки заявок согласно схеме, приведенной на рис. 1.
Рис. 1. Схема модели обработки заявок.
На схеме обозначены следующие элементы: gen - генератор заявок, con1 и con2 - элементы
разветвления, fac1 и fac2 - устройства обработки, term - завершение обработки.
Генератор формирует заявки с интервалом времени n, подчиненому
случайному распределению. Устройства обрабатывают заявки за время
m1 и m2 соответственно. Разветвление
происходит по случайному закону с равномерным распределением и вероятностью y1 и y2.
Значения параметров и распределения указаны в таблице 2.
Постройте диаграмму распределения времени обработки заявки в модели. Определите
среднее значение и среднеквадратичное отклонение.
Таблица 2. Данные для модели.
Вариант | n |
m1 | m2 |
y1 | y2 |
1 | Экспоненц., b=5.6, l=3.4 | Равном., [0.8, 3.5] | Равном., [1.4, 2.8] | 0.5 | 0.7 |
2 | Лапласа, a=4.6, b=2.8, l=1.7 | Треугол., [0.9, 2.4], c=1.6 | Треугол., [1.5, 2.9], c=2.1 | 0.4 | 0.8 |
3 | Логистич., b=4.6, l=3.2 | Равном., [2.1, 5.3] | Равном., [2.5, 4.2] | 0.4 | 0.6 |
4 | Экспоненц., b=4.7, l=3.9 | Равном., [0.9, 3.1] | Равном., [2.1, 3.5] | 0.4 | 0.5 |
5 | Лапласа, a=3.2, b=2.8, l=3.0 | Треугол., [1.7, 3.2], c=2.4 | Треугол., [1.9, 4.8], c=2.7 | 0.4 | 0.8 |
6 | Логистич., b=3.6, l=2.6 | Равном., [1.6, 3.3] | Равном., [2.7, 4.7] | 0.5 | 0.7 |
7 | Лапласа, a=3.5, b=2.1, l=2.1 | Треугол., [0.5, 2.7], c=1.7 | Треугол., [1.8, 3.3], c=2.3 | 0.5 | 0.7 |
8 | Логистич., b=2.6, l=2.9 | Равном., [0.8, 3.2] | Равном., [2.0, 5.0] | 0.5 | 0.5 |
9 | Экспоненц., b=6.6, l=2.7 | Равном., [1.2, 5.3] | Равном., [1.7, 2.9] | 0.3 | 0.3 |
10 | Логистич., b=3.6, l=2.9 | Равном., [1.7, 4.8] | Равном., [2.3, 4.4] | 0.5 | 0.7 |
11 | Лапласа, a=5.1, b=3.7, l=0.7 | Треугол., [0.7, 3.1], c=1.8 | Треугол., [2.5, 3.9], c=3.2 | 0.6 | 0.3 |
12 | Экспоненц., b=4.6, l=3.1 | Равном., [3.8, 9.5] | Равном., [1.9, 3.6] | 0.6 | 0.2 |
13 | Логистич., b=4.4, l=3.8 | Равном., [2.7, 4.2] | Равном., [2.9, 4.8] | 0.6 | 0.8 |
14 | Лапласа, a=4.1, b=2.4, l=2.3 | Треугол., [1.2, 2.9], c=1.9 | Треугол., [1.8, 4.0], c=2.5 | 0.2 | 0.6 |
15 | Экспоненц., b=8.3, l=3.9 | Равном., [2.5, 6.1] | Равном., [1.8, 4.8] | 0.5 | 0.8 |
17 | Логистич., b=4.9, l=3.4 | Равном., [2.9, 5.0] | Равном., [1.8, 3.8] | 0.3 | 0.9 |
18 | Логистич., b=4.0, l=5.6 | Равном., [2.5, 5.1] | Равном., [3.1, 4.9] | 0.4 | 0.6 |
19 | Экспоненц., b=4.9, l=2.4 | Равном., [1.8, 4.8] | Равном., [3.5, 7.2] | 0.2 | 0.9 |
20 | Лапласа, a=3.6, b=3.8, l=1.5 | Треугол., [1.9, 4.4], c=3.0 | Треугол., [1.2, 3.6], c=2.6 | 0.5 | 0.7 |
- Рассмотрим системы фазового типа. Каждая заявка в такой системе проходит ряд фаз, время задержки
в которой определяется случайной величиной, имеющей экпоненциальное распределение.
Этапы решения задачи:
- создать модель системы с заданным распределением (Табл. 3), используя функцию
экспоненциального распределения, то есть воссоздав структуру системы;
- провести эксперименты с моделью;
- построить диаграмму распределения случайной величины, описывающей время обработки
заявки в системе;
- сравнить результаты экспериментов с теоретическими функциями распределения;
то есть найти величину отклонения экспериментальной функции распределения от теоретической.
Таблица 3. Данные для моделей.
Вариант | Распределние | Параметры |
1 | Эрланга | r=5, m=4.5. |
2 | гиперэкспоненциальное | r=4, y1=0.2, m1=3.5, y2=0.4, m2=4.2, y3=0.3, m3=3.8, y4=0.1, m4=4.7. |
3 | Кокса | r=4, m1=3.7, y1=0.5, m2=4.2, y2=0.7, m3=5.1, y3=0.1, m4=4.7, y4=0. |
4 | гиперэрланговское | r=4, y=0.6, m=4.8. |
5 | Эрланга | r=6, m=6.3. |
6 | гиперэкспоненциальное | r=4, y1=0.3, m1=3.9, y2=0.5, m2=3.2, y3=0.1, m3=2.8, y4=0.1, m4=4.2. |
7 | Кокса | r=4, m1=3.9, y1=0.4, m2=4.9, y2=0.3, m3=7.1, y3=0.3, m4=3.7, y4=0. |
8 | гиперэрланговское | r=6, y=0.4, m=5.9. |
9 | Эрланга | r=6, m=5.7. |
10 | гиперэкспоненциальное | r=3, y1=0.4, m1=3.9, y2=0.2, m2=4.7, y3=0.4, m3=4.5. |
11 | Кокса | r=5, m1=3.8, y1=0.6, m2=4.9, y2=0.5, m3=3.5, y3=0.2, m4=4.8, y4=0.6, m5=3.9, y5=0. |
12 | гиперэрланговское | r=7, y=0.3, m=5.7. |
13 | Кокса | r=3, m1=2.7, y1=0.6, m2=3.7, y2=0.6, m3=4.9, y3=0. |
14 | гиперэрланговское | r=6, y=0.7, m=3.7. |
15 | Эрланга | r=5, m=4.9. |
16 | гиперэкспоненциальное | r=4, y1=0.2, m1=4.9, y2=0.3, m2=2.2, y3=0.4, m3=3.8, y4=0.1, m4=4.7. |
17 | Кокса | r=4, m1=5.9, y1=0.6, m2=3.5, y2=0.7, m3=5.4, y3=0.5, m4=4.7, y4=0. |
18 | гиперэрланговское | r=5, y=0.5, m=4.5. |
19 | Эрланга | r=7, m=4.9. |
20 | гиперэкспоненциальное | r=3, y1=0.4, m1=2.8, y2=0.2, m2=4.9, y3=0.4, m3=5.7. |
Следующая работа
Главная страница
|