使用Google OR工具在类变量上添加约束

时间:2018-10-16 22:54:19

标签: python or-tools

我有一组Employees,每个员工都有一个关联的开始时间和结束时间。每个员工都是Python中的一个namedtuple。

Employee = namedtuple("Employee", ["start_time", "end_time", "name"])

开始时间和结束时间是datetime.time()对象。 例如,veronica = Employee(datetime.time(9, 30, 0), datetime.time(14, 30, 0), "Veronica")

我正在使用Google OR进行计划优化的工具,并且我想添加一个约束,该约束仅允许在该时间段内有空的人员被放置在指定的班次中。

我该怎么做?谢谢。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

为什么不预先计算每个员工和每个班次以筛选哪个员工可以在哪个班次上工作。然后仅为兼容的班次添加1个布尔变量?

通常来说,排班计划可以看一下:

https://github.com/google/or-tools/blob/stable/examples/python/shift_scheduling_sat.py