各位好
雖然本職是網路 但最近上司叫我寫個單位內用的簡單排班工具
搜了一陣子之後決定用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判斷之類的,弄到頭很痛還是做不出來。
煩請各位前輩解惑 謝謝