每天轮班次数和护士可用性不同的护士调度
Nurse Scheduling With Varying Number of Shifts Per Day and Varying Nurse Availability
我正在使用 C# 中的 Google OR 工具构建 CP-SAT 模型,以解决护士调度问题的变体,其中每天轮班次数和可用护士数量各不相同在任何一天轮班工作。
按照 ShiftSchedulingSat.cs 中的这个示例,我发现如果知道每天的轮班次数和每天的员工人数,有一种方法可以轻松实现这一点。我如何修改它以满足我的要求?
var model = new CpModel();
IntVar[,,] work = new IntVar[numEmployees, numShifts, numDays];
foreach (int e in Range(numEmployees))
{
foreach (int s in Range(numShifts))
{
foreach (int d in Range(numDays))
{
work[e, s, d] = model.NewBoolVar($"work{e}_{s}_{d}");
}
}
}
创建护士的最大数量,并强制下班人数,或强制部分护士下班。
我正在使用 C# 中的 Google OR 工具构建 CP-SAT 模型,以解决护士调度问题的变体,其中每天轮班次数和可用护士数量各不相同在任何一天轮班工作。
按照 ShiftSchedulingSat.cs 中的这个示例,我发现如果知道每天的轮班次数和每天的员工人数,有一种方法可以轻松实现这一点。我如何修改它以满足我的要求?
var model = new CpModel();
IntVar[,,] work = new IntVar[numEmployees, numShifts, numDays];
foreach (int e in Range(numEmployees))
{
foreach (int s in Range(numShifts))
{
foreach (int d in Range(numDays))
{
work[e, s, d] = model.NewBoolVar($"work{e}_{s}_{d}");
}
}
}
创建护士的最大数量,并强制下班人数,或强制部分护士下班。