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

问题描述

基于天的加油站

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

我尝试使用 exit 和 enter 块通过集合和以下代码在 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 个实例?

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

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

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

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

确保正确处理错误,很明显。