SelectOutput5


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

У объекта есть три режима работы: Условия, Вероятности и Номер выхода.

Поступивший агент покидает объект SelectOutput5 в тот же момент времени.

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

Иногда требуется иметь более пяти выходов. Используя блоки SelectOutputIn и SelectOutputOut, вы можете создать один большой блок SelectOutput с требуемым количеством выходов.

Параметры

Использовать
Режим работы объекта. Определяет, как будет производиться маршрутизация агентов: будут ли для определения того, на какой выход нужно перенаправлять агентов, использоваться заданные Условия, будут ли агенты случайно распределяться в соответствии с тем, какие для выходных портов заданы Вероятности, или же заданное выражение будет вычисляться, чтобы получить номер выходного порта (Номер выхода), через который агент должен покинуть этот блок.
Имя: type
Изменить значение: set_type(new value)
Допустимые значения: Вероятности (SelectOutput5.TYPE_PROBABILITIES)
Условия - SelectOutput5.TYPE_CONDITIONS
Номер выхода - SelectOutput5.TYPE_EXIT_NUMBERS
Вероятность 1 .. 5 [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Вероятности] Выражение, вычисляющее вероятность того, что текущий агент покинет объект через порт out1 .. out3, out5.
Тип значения: double
Локальная переменная: T agent - агент.
Значение по умолчанию: 0.2 - не зависит от поступающих агентов и просто разделяет поток агентов на пять равных частей.
Условие 1 .. 4 [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Условия] Условие, проверяемое для входящего агента. Если Условие N будет выполнено (равно true), то агент покинет объект через порт outN. Если нет - то будет проверяться следующее условие, Условие N + 1. Если не будет выполнено ни одно из условий, то агент покинет объект через пятый выходной порт out5.
Тип значения: boolean
Локальная переменная: T agent - агент.
Номер выхода [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Номер выхода] Выражение, используемое для вычисления номера выходного порта, через который агент должен покинуть этот блок. Выражение может зависеть как от агента, так и от каких-то внешних факторов. Результат должен быть целым числом в диапазоне от одного до пяти.
Тип значения: int
Локальная переменная: T agent - агент.
Значение по умолчанию: uniform_discr( 1, 5 ) - не зависит от поступающих агентов и просто разделяет поток агентов на пять равных частей.
Действия
Во всех этих действиях актуальный агент доступен как локальная переменная agent.
При входе [код]
Код, выполняемый, когда агент поступает в объект.
При выходе 1, 2, .. , 5 [код]
Код, выполняемый, когда агент покидает объект через порт out1, out2, ...

Порты

in
Входной порт.
out1, out2, out3, out4, out5
Выходные порты для агентов, для которых Условие 1, Условие 2, и т.д. возвращают true.