агент не может подключиться к себе ошибка при попытке подключения к случайному агенту при запуске в anylogic - PullRequest
0 голосов
/ 01 октября 2019

У меня есть группа агентов в среде, и я пытаюсь создать сеть агентов, которые будут представлять семью, подключаясь к другим агентам с таким же происхождением. family - это набор двунаправленных ссылок в агенте.

Я использовал код при запуске

for(int i =0; i<5000; i++){
population.get(i).family.connectTo(randomFrom(population));
}

При запуске я получаю сообщение об ошибке

Error during model startup
root.population[4005]:
Cannot connect an agent to itself

Как я могу удалить эту ошибку?

1 Ответ

0 голосов
/ 01 октября 2019

Вы просто ищете других агентов, пока этот другой агент не является вами:

for(int i =0; i<5000; i++){
    Agent randomOtherAgent = randomFrom(population);
    while (randomOtherAgent.equals(population.get(i)) { 
        randomOtherAgent = randomFrom(population); // try to find someone else
    }
    // now you found someone not equal to yourself
    population.get(i).family.connectTo(randomOtherAgent);
}
...