Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Имитационное моделирование бизнес-процессов.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.68 Mб
Скачать

5.3.36 Блок test

Блок предназначен для проверки соотношения между двумя величинами.

TEST A,B,C {L,LE,G,GE,E,NE}

L - <

LE - <=

G - >

GE - >=

E - =

NE - <>

Операнд А. Первая величина {К, СЧА, СЧА*}.

Операнд В. Вторая величина {К, СЧА, СЧА*}.

Операнд С. Блок для перехода транзакта [метка].

Операнд С и принцип использования блока TEST аналогичны блоку GATE.

5.3.37 Блок transfer в режиме all

TRANSFER A,B,C,D

Операнд А. Режим {ALL}

Операнд В. Первый блок {метка}

Операнд С. Последний блок {метка}.

Операнд D. Шаг {k}.

Разность между номерами блоков, указанных соответственно операндами С и В, должна быть кратна шагу, указанному операндом D. Транзакт, поступающий в блок TRANSFER, последовательно проверяет указанные пути. Если переход ни по одному из указанных путей невозможен, то повторяется проверка путей.

5.4. Цель работы

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

5.5. Задание на лабораторную работу

  1. Написать программу на языке GPSS, которая формирует непрерывные

случайные величины с экспоненциальным законом распределения.

  1. Отладить программу и запустить ее на выполнение.

  2. Проанализировать результаты работы программы средствами Microsoft

Excel V 7.0 (проверить статистическую гипотезу экспоненциального распределения случайных величин сформулированных в программе).

5.6. Порядок выполнения работы

В сжатом виде порядок выполнения работы представлен в схеме:

Метод построения модели на gpss

В GPSS для моделирования экспоненциального распределения случайной величины при среднем значении, равном 1, используется функция EXP FUNCTION RN$1, C24.

Если среднее значение случайной величины отлично от единицы, то в блоках GENERATE и ADVANCE ссылка на функцию EXP задается так:

GENERATE среднее значение, FN$EXP.

В случае моделирования случайных величин их значение находят из решения уравнения:

U=F(xi) (1)

где Ui – случайная величина, равномерно распределенная в интервале [0;1];

F(xi) – функция распределения искомой случайной величины.

Такой способ получил название «Способ обратной функции», т. к. требует отыскания функции, обратной к F(xi).

Для данного распределения

(2)

(3)

(4)

Функция распределения получается интегрированием f(x):

(5)

(6)

Исходные данные

λ=0.05, нижняя граница интервала = 10, ширина интервала = 10, количество интервалов = 16, количество случайных чисел=250.

Определим: mx= 1/ λ =20 (экспоненц.).

Q -схема математической модели:

И

Таблица определений GPSS модели:

Элементы модели

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

Транзакты:

Сегмент модели

Функции:

EXP

Таблицы:

TIME

Единицы модельного времени

Для моделирования случайной величины

Экспоненциальная функция распределения

Накопление статистики

Пример программы, построенной по исходным данным:

SIMULATE

TIME EQU 1

EXP EQU 1

TIME TABLE P$1-,10,10,16

EXP FUNCTION RN$1,C24

0,0/.1,.104/.2,.222/.3,.335/.4,.509/.5,.69/.6,.915/.7,1.2/

.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/

.95,2.99/.96,3.2/.97,3.5/.98,3.9/..99,4.6/.995,5.3/

.998,6.2/.999,7/.9998,8

GENERATE 20,FN$EXP

MARK 1

TABULATE TIME

TERMINETE 1

START 251

END

Обозначение блоков программы:

TIME EQU 1 – название таблицы и объявление ее в системе

EXP EQU 1 – название функции и объявление ее в системе

TIME TABLE P$1-,10,10,16 – заносимое в таблицу TIME значение равно разности между величиной параметра 1 текущего и предшествующего транзакта. Верхняя граница интервала 10, ширина 10, число интервалов 16.

EXP FUNCTION RN$1,C24 – EXP определяется как функция, аргументом которой является генератор случайных чисел RN$1 со значениями аргумента от 0 до 1, числа с плавающей запятой. Тип функции – непрерывный (С), количество пар точек 24.

0,0/.1,.104/.2,.222/.3,.335/.4,.509/.5,.69/.6,.915/.7,1.2/

.75,1.38/.8,1.6/.84,1.83/.88,2.12/.9,2.3/.92,2.52/.94,2.81/

.95,2.99/.96,3.2/.97,3.5/.98,3.9/..99,4.6/.995,5.3/

.998,6.2/.999,7/.9998,8 – показатель экспоненциального распределения.

GENERATE 20,FN$EXP – вводит транзакты в модель, где генерируются транзакты со средним значением интервалов времени 20 (λ – интенсивность потока заявок, т. е. среднее количество заявок в единицу времени).

MARK 1 – записывает текущее значение таймера в таблицу TIME.

TABULATE TIME – заносит значения в таблицу TIME

TERMINETE 1 – удаляет записанный в таблицу транзакт

START 251 – выполняет модели 251 раз (количество случайных чисел, увеличенное на единицу)

Порядок компиляции программы:

  1. Загрузиться под DOS.

  2. Создать на выделенном вам диске (U:) каталог – GPSS (SHIFT+F7), в который необходимо скопировать с диска E:\ из каталога MODELIR файлы: Gps1.exe, Gps2.exe, Gps3.exe.

  3. На диске U:\ в каталоге GPSS создать файл с любым именем и расширением «.gps» (SHIFT-F4), набрать текст программы и сохранить его (F2). Для редактирования файла «имя.gps» нажать F4.

  4. Для трансляции программы в командной строке написать: Gps1.exe имя_файла.gps

Проверить наличие ошибок, для этого нажать CTRL+O и просмотреть сообщение о количестве ошибок, при обнаружение ошибок открыть создавшийся файл «имя.lst» (F3) и посмотреть где находятся ошибки, устранить их в исходной программе (имя.gps) и повторить пункт 4.

  1. В командной строке написать: Gps2.exe имя_файла.lst

Проверить наличие ошибок, при обнаружении ошибок устранить их в исходной программе и повторить пункт 4.

  1. В командной строке написать: Gps3.exe имя_файла.lst

Появится черный экран (имя.gps), там где мигает курсор набрать «qui» для выхода.

  1. После проделанной последовательности действий в нашем каталоге должен появиться файл «имя.lst», нужно войти в него (F3) и посмотреть результат.