我正在使用OptaPlanner来解决调度问题。 有许多限制,但我现在遇到的问题是最小,最长工作时间。
解决方案空间巨大。
想象一下,尝试将数百人安排在一周到一个月的任何地方。 每天都有变化的变化(如果不是1000,则编号为100s)。 这包括一天退休的可能性,这是所有变化中的一种。
解决方案空间是 |员工| * | Day1Shifts | * | Day2Shifts | * ...... * | DayNShifts |
在兼职工作的情况下(例如16到24)的最小/最大工作时间的硬约束非常难以满足,因为在任何一天选择空转的概率都很低。
有没有办法引导OptaPlanner让它更快地达到解决这类问题的可行解决方案。
我已经实施了增量分数计算,对于非常大的问题(30天500人),我绝对是每秒3,4K计算范围
任何帮助将不胜感激。