Перемещение агентов с другими агентами с использованием Pickup / Dropoff из PML в Anylogic без дублирования кода - PullRequest
0 голосов
/ 09 июля 2019

Информация: Вопрос был обновлен с дополнительным объяснением

Я хочу перевезти агента (например, бананы) с движущимся агентом (например, грузовиком) из места A в место B, гдеНапример, место A - это место, где бананы, где выщипаны, а место B - это место для хранения бананов.Таким образом, бананы просто транспортируются на грузовике.В частности, перемещаемый агент (бананы) не является ресурсом (в смысле Anylogic PLM) и не имеет верхнего предела количества.

Существуют различные способы решения этой проблемы, но большинство из них либотребует какой-то элемент в модели, который мне не нужен или не нужен (например, система стеллажей / поддонов в случае блока 'Rack Store') или требует, чтобы агентами были ресурсы Anylogic.

Какописанный в этом ответе , имеет смысл использовать pickup и dropoff для этой задачи.Проблема в том, что перемещаемый агент не транспортируется, поэтому ответ не решает мой вопрос.Чтобы объяснить далее, когда агент, который должен быть перемещен (бананы) сбрасывается в целевом местоположении (место B), он просто вновь появляется в своем первоначальном местоположении (место A), даже если грузовик, который подобрал их черезблок захвата переместился на место B.

Я сделал минимальный пример этого здесь.enter image description here

Как я уже говорил, «транспорт» работает, только если я добавляю отдельный блок «moveTo1» для упавших агентов.

Есть ли какие-либо простыеи очевидный способ справиться с этой довольно простой задачей транспортировки в Anylogic, не имея многократных блоков перемещения или других обходных путей?Я знаю, что существует ResourceAttach, но для этого требуется, чтобы агент был перемещен как ресурсы, а есть RackStore, для которого требуется система стеллажей / паллет, которая мне не нужна или не нужна в моей модели.

То, что я хочу знать, это то, что «стандартный» способ Anylogic мог бы сделать это.

Заранее большое спасибо!

1 Ответ

1 голос
/ 10 июля 2019

Теперь я понимаю, в чем ваша проблема ...

Когда вы используете dropoff, блок, который следует за ним, должен определить новое местоположение агентов, в противном случае они остаются на том же месте. Вы можете использовать блок moveTo с прыжком, чтобы агенты телепортировались в местоположение Вы хотите, чтобы они были: moveTo

Почти во всех блоках PML вы можете определить местоположение агента в свойствах, и это тот случай, когда необходимо использовать это свойство.

...