Получить параметр агента определенной группы населения в Anylogic

У меня есть следующая проблема, и я хотел бы получить помощь. Ситуация:

Агент А в популяции X, агент Б в популяции Y

Я хочу установить переменную varA агента A в varB агента B. Агент A и агент B находятся в разных популяциях X и Y, но агент B является единственным агентом в группе B, параметр par1 которого равен параметру par1 агента A,

Я пытаюсь записать это в функцию, которая вызывается всякий раз, когда мне нужно обновить этот конкретный параметр, но мне это не удается.

Любая помощь очень ценится.

Best Heinz_S

1 ответ

Решение

Скажем, имена ваших групп населения - popX и popY... Первоначально varA отличается от varB, и вы хотите сделать их равными в соответствии с их соответствием параметру par1

Следующая функция будет сопоставлять все агенты в ваших группах населения, которые имеют равные par1 и делают varA равным varB во всех случаях. Вы, вероятно, можете использовать stream() более эффективно... но я не знаю как.

for(int i=0;i<popX.size();i++){
    for(int j=0;j<popY.size();j++){
        if(popX.get(i).par1==popY.get(j).par1){
            popX.get(i).varA=popY.get(j).varB;
        }
    }
}
Другие вопросы по тегам