У меня есть 3 идентичных набора, представленных одним типом агента для productionSuite, и я хочу использовать циклы, чтобы установить наборы как свободные и занятые. Агент productionOrder должен быть отправлен только в свободные комнаты.
У меня есть параметр assignSuite в агенте ProductionOrder, который равен случайному набору, выбранному в источнике на main. Я начал пробовать циклы в этом источнике, которые относятся к диаграмме состояний для агента ProductionSuite. Я думаю, что мне нужен кусок кода, чтобы определить ProductionSuite как 0,1,2, а затем проверить с помощью цикла, есть ли у них ProductionOrder или нет.
[Источник]
(Оригинальный код)
agent=ProductionOrder
agent.assignedSuite = productionSuite(uniform_discr(0,2));
deliver("Suite is Scheduled", agent.assignedSuite);
(новый код)
Действие:
`if ( productionSuite(0).inState(idle))
agent.assignedSuite = productionSuite(0);
agent.receive("Suite is Scheduled");
if ( productionSuite(1).inState(idle))
agent.assignedSuite = productionSuite(1);
agent.receive("Suite is Scheduled");
if ( productionSuite(2).inState(idle))
agent.assignedSuite = productionSuite(2);
agent.receive("Suite is Scheduled");`
ошибка, которую я получаю, заключается в том, что простоя не может быть решена как переменная. Хотя я не уверен, что это лучший метод для использования. Можно также использовать некоторые указания относительно того, когда группировать комплекты или мне следует определять их отдельно.