Anylogic - динамическая спецификация ресурсов для захвата - PullRequest
0 голосов
/ 24 октября 2019

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

Например, у меня может быть, скажем, 100 пулов ресурсов, каждый из которых представляет свой тип ресурса (например, инструменты в инструментальной комнате). Каждому агенту в моей модели нужна своя комбинация и количество ресурсов (в моем примере это были бы инструменты). Когда мой агент входит в блок захвата, чтобы захватить его список ресурсов, я хочу, чтобы агент мог указать, какие ресурсы (инструменты или наборы ресурсов) ему требуются.

Возможно ли добиться этого с помощью "Настроить«Выбор ресурса» и «Условия выбора ресурса»? Или есть другой способ добиться этого?

1 Ответ

1 голос
/ 24 октября 2019

Вы можете использовать параметр «Выбор пользовательского ресурса», предполагая, что все необходимые ресурсы находятся в одном пуле ресурсов.

Предположим, что у ваших ресурсов есть строковый параметр «myType». Теперь входящий агент может выбрать захват только тех ресурсов, для которых unit.myType.equals("Mechanics").

Очевидно, вы можете сделать это настолько гибко, насколько захотите.

В вашем объекте «Захватить» вы также можете изменитьстатическое присвоение пулов, из которых будет осуществляться захват, путем переключения на динамическую настройку. Теперь вы чрезвычайно гибки в том, какие пулы использовать и (в пределах пула), какие юниты захватывать ...

enter image description here

...