О, вы идете по мутной воде с плохими практиками ... ваши узлы должны принадлежать к пулу ресурсов, а это значит, что вместо узла у вас должен быть агент с узлом в нем ... Таким образом, вы этого не делаетевообще нужна любая коллекция.
Другой вариант - создать небольшой класс, который будет иметь узел и доступность ... и, возможно, количество агентов, присутствующих в данный момент в этом узле.Просто создайте новый класс и добавьте эти 3 переменные.Затем в начале модели вы добавляете экземпляры этого класса в коллекцию availableNodes, и затем вы можете просто сделать Class.numberOfAgents + = 1 или - = 1 в зависимости от того, какие агенты добавляются к узлу.Чтобы найти доступного агента, вы можете затем сделать TheClass x=findFirst(availableNodes, a->a.numberOfAgents==0);
, а затем вы можете отправить своих агентов на x.node;
Также есть возможность продолжать делать то, что вы делаете ... но я даже не будуиди туда, потому что это будет беспорядок.