logo search
Обработка данных / Томашевский_Имитационное моделирование в среде GPSS_2003

4.10. Моделирование многоканальных устройств

Устройство в GPSSиспользуют для моделирования одиночного устройства обслуживания. Два или более обслуживающих устройст­ва, работающих параллельно, могут моделироваться вGPSSдвумя или более одноканачьными устройствами. Обычно это необходимо, когда отдельные устройства являются разнородными, например, имеют различную интенсивность обслуживания.

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

Количество устройств, которое моделируется каждым из МКУ, определяется пользователем. В этом смысле употребляют термин «емкость МКУ». Эта емкость заранее должна быть определена пользователем, чтобы интерпретатор знал, сколько устройств использует данное МКУ.

Блоки ENTER (ВОЙТИ) иLEAVE(ВЫЙТИ). Использование МКУ аналогично использованию одиночного устройства. Элементом, который занимает и использует МКУ, является транзакт. При моделировании МКУ события происходят в следующем порядке:

1) транзакт ожидает своей очереди, если это необходимо;

2) транзакт занимает устройство;

3) устройство осуществляет обслуживание на протяжении неко­торого интервала времени;

4) транзакт освобождает устройство.

Блоки ENTERиLEAVEмоделируют события 2 и 4. Формат блоков:

Таблица 4.10

Операнд

Значение

Результат по умолчанию

А

Имя МКУ

Ошибка

В

Количество занимаемых одно­временно устройств

1

Когда транзакт входит в блок ENTER, интерпретатор выполня­ет следующие действия:

1) увеличивает счетчик входов МКУ на значение операндаВ;

2) увеличивает текущее содержимое МКУ на значение операндаВ;

3) уменьшает доступную емкость МКУ на значение операндаВ.

Когда транзакт входит в блок LEAVE, интерпретатор выполняет обратные действия:

1) уменьшает текущее содержимое МКУ на значение операндаВ;

2) увеличивает доступную емкость МКУ на значение операндаВ.

Операнду Вможно присвоить значение, отличное от единицы.

Например, пусть транзакт моделирует корабль, А МКУ – причалы в порту. В зависимости от размера корабль может занимать нескольких причалов, т.е.B>1.

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

STORAGE

CAP.

REMAIN

MIN

MAX

EN­TRIES

AVL.

AVE.C.

UTIL

RETRY

DELAY

RPOOL

3

3

0

1

50

1

0,99

0,33

0

0

Поле STORAGE определяет имя или номер МКУ.

Поле САР. определяет емкость МКУ, заданную операторомSTORAGE

Поле REMAIN определяет количество единиц свободной емко­сти МКУ в конце периода моделирования.

Поле MINопределяет минимальное количество используемой емкости МКУ за период моделирования.

Поле МАХопределяет максимальное количество используемой емкости МКУ за период моделирования.

Поле ENTRIES определяет количество входов в МКУ за период моделирования.

Поле AVL. определяет состояние готовности МКУ в конце пе­риода моделирования: 1 – МКУ готов, 0 – не готов.

Поле AVE.Cопределяет среднее значение занятой емкости за период моделирования.

Поле UTIL. определяет средний коэффициент использования всех устройств МКУ.

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

Поле DELAY определяет количество транзактов. ожидающих возможности входа в блокENTER.

Для GPSS/PCстатистику о работе МКУ можно наблюдать в ок­не МКУ, перейдя в это окноcпомощью клавиш [ALT+S]. А для GPSS World – в окне Storages Window.

Определение емкости МКУ. Все используемые в модели МКУ должны быть заранее описаны, т.е. должно быть определено количе­ство однотипных устройств, входящих в МКУ. Для этого использует­ся операторSTORAGE (ХРАНИЛИЩЕ или ПАМЯТЬ), определяю­щий емкость МКУ. НазваниеSTORAGE становится понятным, если представить себе, что МКУ это автоматизированный склад или мно­гоэтажный гаражcопределенным числом мест, которое и задает этот оператор. В таких случаях МКУ определяет не количество одинаковых устройств для обслуживания, А количество одинаковых мест для хранения.

Формат оператора задания емкости МКУ:

Таблица 4.11

Поле

Информация в поле

Метка

Символическое имя МКУ

Операция

STORAGE

Операнд А

Емкость МКУ

Пример 4.9

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

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

Пример 4.10

Необходимо найти наилучшую комбинацию среди значений пар «количество механиков – количество кранов» за один этап моделиро­вания. Для этого нужно использовать следующую последователь­ность операторов STORAGE и командSTART:

Действия, выполняемые оператором CLEAR описаны в пара­графе 4.27. КомандаRESULT используется только вGPSS/PC. Отме­тим, что второй параметр командыRESULT указывает на ячейку со­храняемых величин, в которой хранится значение критерия, по кото­рому сравнивают комбинации пар значений.