![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Краткие теоретические сведения. При описании имитационных моделей сложных систем часто появляется необходимость передать транзакты в блоки
При описании имитационных моделей сложных систем часто появляется необходимость передать транзакты в блоки, которые непосредственно не следуют за данным блоком. Для выполнения таких передач в GPSS используется блок TRANSFER. Этот блок может работать в нескольких режимах передачи транзактов. Режим передачи определяется операндом, указанным после этого блока. Рассмотрим наиболее часто используемые режимы работы блока TRANSFER.
Основные блоки: TRANSFER – блок, осуществляющий перенаправление транзакции. Существует несколько вариантов перенаправления:
TRANSFER, < метка> - данный блок осуществляет безусловное перенаправление транзакции на блок по указанной метке.
TRANSFER BOTH, [< метка1> ], < метка2> - данный вариант блока осуществляет переход в первый из двух доступных блоков: метка1 – метка блока, в который осуществляется переход, если он свободен (по умолчанию, следующий блок); метка2 – метка блока, в который осуществляется переход, если он свободен и первый блок занят.
TRANSFER < вероятность>, [< метка1> ], < метка2> - данный блок осуществляет перенаправление транзакции на два заданных блока с заданной вероятностью: вероятность – вещественное выражение – вероятность перехода транзакции по метке «метка2»; метка1 – метка блока, в который осуществляется перенаправление каждой транзакции с вероятностью 1 – «вероятность»; метка2 – метка блока, в который осуществляется перенаправление каждой транзакции с вероятностью «вероятность». Пример перехода по вероятности: TRANSFER.75, Place_0_25, Place_0_75
TRANSFER ALL, < метка1> [, < меткаn> ][, < количество блоков> ] – данный блок аналогичен блоку TRANSFER BOTH за исключением того, что позволяет указать диапазон блоков (вместо двух), отстоящих друг от друга в описании модели на фиксированное количество блоков. метка1 – метка первого блока; меткаn – метка последнего блока (последний ∼ первому, если не указана); количество блоков – расстояние между «соседними» блоками в блоках (1 по умолчанию).
TRANSFER PICK, < метка1>, < меткаn> - данный блок перенаправляет каждую входящую в него транзакцию в один из блоков, расположенных между заданными метками, случайным образом (с одинаковой вероятностью). метка1 – метка первого блока; меткаn – метка последнего блока.
Замечание: для блока TRANSFER ALL блоки, указываемые в качестве направления перехода (между метками «метка1» и «меткаn»), могут располагаться на некотором расстоянии друг от друга. Этим данный блок отличается от блока TRANSFER PICK, для которого блоки-направления должны находиться непосредственно друг за другом. Если есть необходимость разместить между ними другие блоки, можно воспользоваться блоками безусловного перехода.
|