Изменение маршрута движения транзактов

Блок TRANSFER(передавать) предназначен для передачи входящего в него транзакта в другой блок модели. Он имеет формат:

TRANSFER [A],[B],[C],[D]

Операнды В и С являются метками блоков, куда направляется транзакт. Операнд А задаёт режим выбора блока, к которому направляется транзакт, существует 9 режимов:

§ , – безусловный режим;

§ . – статистический, выбор одного из двух с заданной вероятностью;

§ BOTH – последовательный выбор одного из двух блоков;

§ ALL – последовательный выбор одного из нескольких блоков;

§ PICK – выбор одного из нескольких случайным образом;

§ FN – функциональный режим, выбор по заданной функции;

§ Р – параметрический;

§ SBR – подпрограммный;

§ SIM – одновременный.

В режиме безусловного перехода операнд А пуст и все транзакты отправляются к блоку, указанному в блоке В. Например,
TRANSFER ,MET1

В статистическом режиме значение операнда А, записываемое после точки как трёхзначное десятичное число, показывает вероятность (долю) транзактов, которые должны быть отправлены в блок с меткой С, остальные в блок В или к следующему блоку, если операнд Вопущен. Примеры:

TRANSFER .7,MET1,MET2;70 % идёт на метку MET2, 30 % – на MET1

TRANSFER .4,,MET2 ;40 % идёт на метку, 60 % – в блок ниже

Если блоки с меткой MET1, MET2заняты, то транзакт остаётся в блоке TRANSFER и повторяет попытку перехода в каждый следующий момент модельного времени.

В режиме BOTH транзакт проверяет два пути: сначала возможность войти в блок с меткой В, затем в С, если оба заняты, то ждёт.

В режиме ALL транзакт проверяет возможность войти в любой блок, начиная с блока, указанного в операнде В, и заканчивая блоком, указанным С. Операнд В определяет шаг изменения номера проверяемого блока.

В функциональном режиме вычисляется значение функции, имя которой указано в операнде В, берётся целая часть, полученное число складывается с С (может быть 0) и в блок с этим номером направляется транзакт.

Общая постановка задачи

Перед выполнением лабораторной работы изучите теоретическую часть, последовательно выполните все указанные в примере действия, выполните индивидуальные задания, оформите отчет, в соответствии с приведенными требованиями. Отчет должен содержать:

· титульный лист, вид которого прилагается.

· название лабораторной работы;

· цель лабораторной работы;

· формулировку заданий;

· каткое описание хода выполнения заданий;

· результаты выполнения индивидуальных заданий;

· выводы по работе.

Список индивидуальных заданий

Список индивидуальных заданий приведен в приложении 1.

Пример выполнения работы

Рассмотрим процесс разработки модели в GPSS. на конкретном примере:

В парикмахерской два зала: причёсок и маникюрный. В маникюрном зале один мастер, в зале причёсок 2 мастера. Около 60 % приходящих клиентов пришли сделать причёску, из них 25 % затем хотят сделать маникюр. Если очередь к мастерам более одного человека, то клиент уходит. Поток клиентов простейший со средним значением 10 мин , время обслуживания в маникюрном зале 30 ± 10 мин, в зале причёски 60 ± 10 мин

Построить модель, имитирующую работу салона в течение 12-ти часов. Определить коэффициенты загрузки мастеров и количество ушедших клиентов.

Для моделирования:

Установите свободно распространяемую студенческую версию GPSS World (как описано в теории). После установки GPSS/World в списке программ Пуск/Все программы/ GPSS World Student Version выберите GPSS World Student Version.

В результате откроется среда моделирования GPSS/World (рисунок 1).

Изменение маршрута движения транзактов - student2.ru

Рисунок 1- Среда моделирования GPSS/World

Далее необходимо выбрать пункт меню File/New и в открывшемся диалоговом окне Новый документ – Создать Model. В результате будет открыто окно Untitled Model1, в котором необходимо набрать текст программы (рисунок 2). При наборе блоков удобно пользоваться окном Insert GPSS blocks (вставить блок), которое вызывается в меню Edit/Insert GPSS blocks (рисунок 3).Выбрав в нём нужный блок, заполняем последовательно поля ввода для каждого операнда. Здесь удобно вводить метки и комментарии.

SIMULATE

PRICH STORAGE 2 ;заводим 2 мастера причёсок

GENERATE (exponential(1,0,10)) ;генерируем клиентов

TRANSFER .6,Z_MAN,Z_PRICH ;60 % на причёску, 40 % – маникюр

Z_PRICH TEST L Q$OCHPRICH,2,NEOBS;длина очереди меньше двух?

QUEUE OCHPRICH ;становимся в очередь

ENTER PRICH ;занимаем мастера причёсок

DEPART OCHPRICH ;покидаем очередь

ADVANCE 60,10 ;обслуживаемся

LEAVE PRICH ;освобождаем мастера

TRANSFER .75,,VYIHOD ;75 % уходят, 25 % пошли на маникюр, ниже

Z_MAN TEST L Q$OCHMAN,2,NEOBS;проверяем очередь на маникюр

QUEUE OCHMAN

SEIZE MAN ;занимаем мастера по маникюру

DEPART OCHMAN

ADVANCE 30,10

RELEASE MAN ;освобождаем мастера

VYIHOD TERMINATE ;все обслуженные клиенты уходят

NEOBS TERMINATE ;здесь необслуженные клиенты

GENERATE 720 ;фиктивный блок времени

TERMINATE 1

START 1

Для моделирования простейшего потока воспользуемся встроенной библиотечной функцией exponential(a,b,c), задающей показательный закон распределения. Аргумент а означает номер генератора случайных чисел (любое число от 0 до 127), в определяет сдвиг, с – среднее значение. Для того чтобы различать клиентов, ушедших из-за очереди более 1 человека, введём два TERMINATE с разными метками. Для проверки очереди используем блок TEST и СЧА длины очереди Q$имя.

Изменение маршрута движения транзактов - student2.ru

Рисунок 2- Окно с программой

Изменение маршрута движения транзактов - student2.ru

Рисунок 3 - Окно Insert GPSS blocks

Файл с программой нужно сохранить в своей специально созданной для этой работы папке в файле с расширением .gps (пункты меню File/Save; File/Save As).

Для запуска программы на выполнение необходимо выбрать пункт меню Command/Create Simulation.

В среде моделирования различают объекты:

· модель – разрабатывается на языке GPSS, состоит из блоков, создаётся при помощи встроенного текстового редактора;

· процесс моделирования – результат трансляции модели, получаемый после командыCreate Simulation,при наличии ошибок транслятор выдаёт список сообщений об ошибках в окне JOURNAL;

· отчёт по моделированию – автоматически создаваемый файл, содержащий статистическую информацию об объектах, накопленную в процессе моделирования.

Наши рекомендации