Как я могу разделить своих агентов в AnyLogic, чтобы один всегда обращался к услуге, а остальные - к другой? - PullRequest
0 голосов
/ 24 мая 2018

Я объясню мою проблему.Я добавляю две картинки части моего сценария. изображение 1 изображение 2

Я хотел бы знать, как разделить мои группы агентов на 1 или 5агенты, так что член группы всегда идет в билетную кассу, в то время как другие члены группы идут в службу.Например, я бы хотел, чтобы группа из 3 человек ходила 1 в кассе, а остальные 2 ходили в службу и ставили там очередь.

Заранее спасибо за ваши ответы!

1 Ответ

0 голосов
/ 24 мая 2018

Вот что я бы сделал:

Во-первых, ваш агент группы создаст переменную groupId, определенную как int.

Во-вторых, в main создайте эту структуру: structure groupSize - int int currentGroupId - int с начальным значением, равным 1 Функция getGroupSize имеет следующий код:

groupSize=uniform_discr(1, 5);
return groupSize;

В вашем источнике в агентах за прибытие:

getGroupSize()

В вашем источнике в действии on at exit:

agent.groupId=currentGroupId;
currentGroupId++;

И, наконец, в selectOutput, который вы используете, если условие истинно со следующим условием:

agent.groupId==1

И следующеекод в действии ввода:

if(groupSize==agent.groupId)
    currentGroupId=1;
...