Удаляет избранных агентов из поступающего агента-контейнера и пересылает их далее через порт 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
- Выходной порт для агентов, извлеченных из агента-контейнера.
-
Как мы можем улучшить эту статью?
-