получение времени ожидания для разных типов агентов AnyLogic - PullRequest
0 голосов
/ 25 марта 2020

Я надеюсь, что вы все в безопасности,

Предположим, у меня есть эта система, которая показана на первой фотографии. Есть 2 источника, которые связаны с 2 различными типами агентов. они подаются с одной и той же задержки.

Моя цель: найти время ожидания агента из первых источников и агентов из вторых источников.

Что я сделал : Сначала я использовал набор данных timeMeasureEnd. Я запустил симуляцию и затем проверил datasets_Log в журналах. (см. фото 2).

Моя проблема: я не могу знать, какие агенты из источника 1, а какие из источника 2. он просто дает мне индекс агента на основе FIFO.

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

Что я пытался: 1. Я пытался сохранить идентификатор агента в наборе данных, но он не показывался в журналах. 2. Я создал одну дополнительную очередь и назначил ей набор данных. Идентификатор агента, а также время ожидания вводятся в наборе данных, затем я сравнивал идентификатор агента. но это заняло бы много времени.

Я буду sh Я ясно дал понять.

Одним словом: мне нужно получить источник и время ожидания агента.

Спасибо

фото 1 фото 2

1 Ответ

0 голосов
/ 26 марта 2020

Вариант 1:

просто создайте переменную в вашем агенте с именем source (это может быть целое число)

Если ваш агент приходит из источника, при выходе вы может сделать agent.source = 0; если он исходит из source1, вы можете сделать agent.source = 1;

После этого для задержки вы можете использовать следующее для времени задержки

agent.source==0 ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1 

конечно delayForAgentsComingFromSource - это число.

Опция 2:

Если вашими типами агентов являются Мяу (источник) и Мяу2 (источник1), вы можете в задержке сделать следующее:

agent instanceof Meow ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1
...