AnyLogic
Развернуть
Размер шрифта

Dropoff

Удаляет избранных агентов из поступающего агента-контейнера и пересылает их далее через порт outDropoff. Так же, как и блок Pickup, который используется для добавления агентов в агента-контейнер, блок Dropoff извлекает агентов согласно заданному режиму: либо все агенты, либо определенное их количество, либо те, для которых будет выполняться заданное условие (которое может зависеть как от агента-контейнера, так и от содержащихся в нем агентов). Вся операция занимает нулевое время.

Обратите внимание, что на момент проверки условия агент все еще будет в контейнере, но при выполнении действия При оставлении агент уже будет удален из агента-контейнера.

Вы можете управлять процессом удаления агентов путем задания различных Условий извлечения агентов, например, чтобы извлекать только те агенты типа Passenger, место назначения destination (заданное с помощью параметра типа агента) которых равно here, укажите Passenger в качестве типа агента-контейнера и напишите условие извлечения агентов: agent.destination == here.

Если после извлечения необходимых вам агентов вам не нужно сохранять агента-контейнер, вы можете использовать вместо блока Dropoff блок Unbatch.

Демо-модель: Pickup and Dropoff Открыть страницу модели в AnyLogic Cloud. Там можно запустить модель или скачать ее по ссылке Исходные файлы модели.

Параметры

Тип контейнера
Тип агентов-контейнеров, поступающих в блок через порт in. Упоминается ниже как TContainer.
Значение по умолчанию: Agent
Тип элемента
Тип агентов, извлекаемых из агента-контейнера и покидающих блок через порт outDropoff. Упоминается ниже как T.
Значение по умолчанию: Agent
Оставлять
Определяет режим извлечения агентов из агента-контейнера: должен ли блок извлекать Все доступные агенты, либо их Заданное количество (если доступно), либо извлекать тех агентов, для которых выполняется заданное условие (Пока выполняется условие).
Имя: dropoffType
Изменить значение: set_dropoffType(новое значение)
Значение по умолчанию: Пока выполняется условие
Допустимые значения:
Dropoff.ALL — Все доступные агенты
Dropoff.QUANTITY — Заданное количество (если доступно)
Dropoff.BY_CONDITION — Пока выполняется условие
Условие
[Виден, если Оставлять: Пока выполняется условие]
Условие, вычисляемое для каждого агента, содержащегося в агенте-контейнере, и определяющее, должен ли данный агент быть извлечен из контейнера. Условие может зависеть как от агента-контейнера, так и от содержащихся в нем агентов-"кандидатов" на извлечение.
Тип значения: boolean
Локальные переменные:
T agent — агент-"кандидат" на извлечение из контейнера
TContainer container — агент-контейнер
Значение по умолчанию: true(из контейнера будут извлекаться все агенты)
Количество
[Виден, если Оставлять: Заданное количество (если доступно)]
Выражение, возвращающее количество агентов, которое должно быть извлечено из агента-контейнера (если в нем будет содержаться такое количество агентов).
Тип значения: int
Локальная переменная: TContainer container — агент-контейнер
Значение по умолчанию: 1
Специфические
Выталкивать агентов
Если опция выбрана (true), то агенты, созданные этим блоком, будут немедленно вытолкнуты дальше независимо от состояния следующего блока. Если опция не выбрана, агенты будут не выталкиваться, а выходить постепенно: только когда следующий блок готов принять еще одного агента, он запрашивает его у этого блока, и тогда агент проходит дальше.
Синтаксис: boolean pushProtocol
Значение по умолчанию: false

Действия

При входе
Код, выполняемый, когда агент-контейнер поступает в блок.
Локальная переменная: TContainer container — агент-контейнер
При оставлении
Код, выполняемый для каждого агента, извлекаемого из контейнера.
Локальные переменные:
T agent — извлеченный из контейнера агент
TContainer container — агент-контейнер
При выходе
Код, выполняемый, когда агент-контейнер покидает блок.
Локальная переменная: TContainer container — агент-контейнер
При уходе по оставлению
Код, выполняемый для каждого агента, извлекаемого из контейнера, когда он покидает блок.
Локальные переменные:
T agent — извлеченный из контейнера агент
TContainer container — агент-контейнер

Порты

in
Входной порт.
out
Выходной порт.
outDropoff
Выходной порт для агентов, извлеченных из агента-контейнера.
Как мы можем улучшить эту статью?