我正在努力解决一个在员工排班中有理由的优化问题 . 问题是:

  • 我有人员配备水平(特定时间内需要的员 Worker 数,这是一整天,即24列) .

  • 我有根据州法律和员工偏好定义的工作时间规则 .

我认为在考虑所有规则和偏好之后,输出是由人员配备水平产生的变化 .

大多数排班解决方案分两步进行,首先从人员配置水平转变,然后再向员工转移 . 我想要类似于branch and price的东西,这只是一个步骤 . (我不希望任何人阅读此链接,仅供参考:))

现在,我在想为什么要实现整个分支和价格算法并使用已经存在的东西,像GurobiOptaplanner这样的求解器 . 求解者可能会对固定事实进行研究并尝试将其中最好的事物与变量(在这种情况下为员工)相匹配,但它们并不具有产生事实的本质(在这种情况下会发生变化) .

我只需要解答这个问题应该解决的方法,我不希望有人在这里提出任何实现 . 那么,我应该使用求解器来解决这些问题或构建我自己的算法 . 抬头?