我有 3 个相同的套件,由 productionSuite 的一种代理类型表示,我想使用循环将套件设置为空闲和忙碌。productionOrder 的代理只需要发送到空闲房间。
我在ProductionOrder 代理中有一个assignedSuite 参数,它等于在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");`
我得到的错误是空闲不能作为变量解析。虽然我不确定这是最好的使用方法。也可以在何时对套件进行分组或我是否应该单独定义它们时使用一些方向。