根据天数填充服务块,即按顺序填充它们 5 天

Fill service block based on days i.e. to fill them in sequential for 5 days

根据日期加油站

基于日期的加油站我试图让模型执行以下操作:我有一个带有队列的 5 服务块。我需要模型为每个服务块分配一天,即在第 1 天填充第一个服务块。然后在第二天填充服务块2,第三天填充第三个服务块,第四天填充第四个服务块,第五天填充第五个服务块。一旦第五个服务块完成,它将再次从服务块 1 开始。

我尝试通过集合和以下代码使用退出和进入块在 5 个服务块之间进行迭代:

double minSize = min(collection, sp -> (sp.Curing_Drying1.size()));

return findFirst(collection, sp -> (sp.Curing_Drying1.size()) == minSize).enter; 

请参阅附图以进一步说明。

queue and delay Exit and enter with collection

当前模型没有分配每个服务或延迟块在特定日期工作。任何人都可以建议如何分配每个服务块按顺序工作一天。

所以你想在给定的日子里将代理发送到 subProcess 个实例?

您可以在 SubProcess 中添加一个 int 参数 allowedDay。将其设置为每个值 0-4。

然后在您的 exit 块中,使用当前模型时间决定将您的代理发送到哪里:

for (SubProcess currProcess : collection) {
    if (currProcess.allowedDay == (int)time(DAY)) {
        currProcess.enter.take(agent);
    }
}

诀窍是 (int)time(DAY) 将当前模型时间转换为天数。

显然,确保正确处理错误。