各位好
虽然本职是网络 但最近上司叫我写个单位内用的简单排班工具
搜了一阵子之后决定用or-tools做
骨架是套官网那个简单版本的排班工具
https://developers.google.com/optimization/scheduling/employee_scheduling#assign_nurses_to_shifts
再加上参考这个
https://blog.csdn.net/weixin_42608414/article/details/110447228
只用一个BoolVar跟><=实做了一些简单的条件约束
平均分配班次, 上班间隔, 平日假日班...之类的
现在的问题是 想做避免连续排班的部分
用“连续”相关的关键字
查到网络上提供的方法都是在讲“昨天A班不接今天B班”的约束(同blog的约束6)
但我想要做的是 “不管上班日期是否连续 A班上完下次上班都不要接B班”
查过感觉OnlyEnforceIf之类的可以做到,但or-tool生出来的物件都没有办法单独抓
value出来当成key用或做if判断之类的,弄到头很痛还是做不出来。
烦请各位前辈解惑 谢谢