Job scheduling 每天不同班次和不同护士可用性的护士排班
我正在使用Google或C#中的工具构建一个CP-SAT模型,以解决护士排班问题的一个变体,其中每天有可变的班次,并且在任何给定的一天都有可变数量的护士可以轮班 根据中的这个示例,如果知道每天的班次和员工数量,我发现有一种方法可以轻松实现这一点。我如何修改它以满足我的需求Job scheduling 每天不同班次和不同护士可用性的护士排班,job-scheduling,constraint-programming,or-tools,Job Scheduling,Constraint Programming,Or Tools,我正在使用Google或C#中的工具构建一个CP-SAT模型,以解决护士排班问题的一个变体,其中每天有可变的班次,并且在任何给定的一天都有可变数量的护士可以轮班 根据中的这个示例,如果知道每天的班次和员工数量,我发现有一种方法可以轻松实现这一点。我如何修改它以满足我的需求 var model = new CpModel(); IntVar[,,] work = new IntVar[numEmployees, numShifts, numDays]; foreach (int e in Ra
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}");
}
}
}
创建最大数量的护士,并强制轮班,或强制某些护士轮班。锯齿状3D阵列是否不太理想?适合您的是什么。看看代码,你每天要计算nums。如果您可以限制总和中的布尔变量列表,则可以。