Многоканальные устройства

При моделировании одинаковых параллельно работающих устройств GPSS предоставляет объект, называемый многоканальным устройством. Количество устройств, которое моделируется каждым из МКУ, определяется пользователем.

При моделировании МКУ происходит следующая цепь событий: транзакт ожидает своей очереди, если это необходимо; транзакт занимает устройство (блок ENTER (войти)); устройство осуществляет обслуживание на протяжении неко­торого интервала времени; транзакт освобождает устройство (блок LEAVE (выйти)).

Формат записи блоков ENTER, LEAVE следующий:

ENTER A[,B]; LEAVE A[,B],

где А – имя МКУ;

В – количество занимаемых одно­временно устройств (значение В по умолчанию равно единице).

Когда транзакт входит в блок ENTER, увеличиваются значение счетчика входов МКУ на значение операнда В и текущее содержимое МКУ на значение операнда В, уменьшается доступная емкость МКУ на значение операнда В.

Когда транзакт входит в блок LEAVE, интерпретатор выполняет обратные действия: уменьшает текущее содержимое МКУ на значение операнда В, увеличивает доступную емкость МКУ на значение операнда В.

Операнду В можно присвоить значение, отличное от единицы. Например, пусть транзакт моделирует автомобиль, а МКУ – места на автомобильной стоянке. В зависимости от размера автомобиль может занимать несколько мест, тогда значение операнда В будет больше 1.

Если в модели используются объекты типа МКУ, то в файле стандартной статистики будет представлена информация об этих объектах (см. прил. 2).

МКУ можно наблюдать в окне Storages Window [1, 4].

Все используемые в модели МКУ должны быть заранее описаны пользователем, т.е. должно быть определено количе­ство однотипных устройств, входящих в МКУ, или емкость МКУ. Для этого применяется оператор STORAGE (хранилище или память).

Оператор STORAGE имеет следующий формат:

<Метка> STORAGE А,

где метка – символическое имя МКУ;

А – емкость МКУ.

Существует возможность периодически переопределять емкость МКУ при выполнении нескольких прогонов за один этап моделирования. Для этого в программу между оператором START предыдущего прогона и оператором START по­следующего прогона вводят новое определение емкостей. [4]

П р и м е р задания МКУ. Пусть система состоит из восьми механиков и десяти подъем­ных кранов, тогда в GPSS-модель могут быть введены МКУ MECHANIC емкостью 8 и CRAN емкостью 10:

MECHANIC STORAGE 8

CRAN STORAGE 10

П р и м е р использования МКУ для моделирования системы. [5]

Морские судна двух типов прибывают в порт, где происходит их разгрузка. В порту есть два буксира, обеспечивающих ввод и вывод кораблей из порта. К первому типу судов относятся корабли малого тоннажа, которые требуют использования одного буксира. Корабли второго типа имеют большие размеры, и для их ввода и вывода из порта требуется два буксира. Из-за различия размеров двух типов кораблей необходимы и причалы различного размера. Кроме того, корабли имеют различное время погрузки-разгрузки. Исходные данные приведены в табл. 1.1.

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

Таблица 1.1. Исходные данные

Значение Тип корабля
   
Интервал прибытия, мин 130 ± 30 390 ± 60
Время входа в порт, мин 30 ± 7 45 ± 12
Количество доступных причалов    
Время погрузки-разгрузки, час 12 ± 2 18 ± 4
Время выхода из порта, мин 20 ± 5 35 ± 10

Программа, реализующая модель согласно поставленной задаче, приведена ниже.

PRCH1 STORAGE 6; 6 причалов для кораблей первого типа

PRCH2 STORAGE 3; 3 причала для кораблей второго типа

BUKS STORAGE 2; 2 буксира

; Корабли первого типа

generate 130,30; Подход к порту

queue type1

enter PRCH1; Получение причала

enter BUKS; Получение буксира

depart type1

ADVANCE 30,7; Буксирование до причала

LEAVE BUKS; Освобождение буксира

ADVANCE 720,120; Погрузка-разгрузка

enter BUKS; Получение буксира

LEAVE PRCH1; Освобождение причала

ADVANCE 20,5; Буксирование (отчаливание)

LEAVE BUKS; Освобождение буксира

TERMINATE

; Корабли второго типа

generate 390,60

queue type2

enter PRCH2

enter BUKS,2

depart type2

ADVANCE 45,12

LEAVE BUKS,2

ADVANCE 1080,240

enter BUKS,2

LEAVE PRCH2

ADVANCE 35,10

LEAVE BUKS,2

TERMINATE

generate 48000

TERMINATE 1

START 1

Среднее время ожидания кораблями каждого типа входа в порт получаем в конце моделирования из стандартной статистики об очередях: оно равно показателю AVERAGE TIME соответствующей очереди. (Эти же значения дают СЧА QT$TYPE1 и QT$TYPE2).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: