Anylogic присваивает значение всем сущностям, а не только одному

Мой источник имеет следующий код в поле "Вкл при выходе": TRUCK.ID_number = параметр; параметр = параметр + 1;

Затем каждый грузовик получит ID: 1, 2, 3, ...

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

Например: когда грузовик 4 (ID = 4) создается в источнике, все другие грузовики получают идентификатор 4, поэтому я не могу знать правильный идентификатор каждого грузовика.

Что я делаю неправильно?

2 ответа

Решение

Несколько вещей. Во-первых, вам нужно использовать ключевое слово agent в поле кода onExit. Так что в вашем случае, agent.ID_number=parameter, Пожалуйста, ознакомьтесь с этими конкретными ключевыми словами, которые появляются повсюду в полях кода AnyLogic. Я называю это "волшебной лампочкой", также смотрите мой блог на эту тему:

Волшебная лампочка

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

Ответ: используйте entity.ID_number= параметр

Другие вопросы по тегам