想象一下一个有几十个兼职员工的小型本地企业(在我的情况下是狗托儿所)。目标是自动创建每周员工计划。我的问题是针对该问题探索哪种算法方法。
需要牢记许多限制,主要是(1)人员配备和(2)每个班次的需求,不仅是每个班次需要多少员工,而且每个班次需要的技能(例如某个班次,您可能需要一个知道如何开车去接送狗的人,或者另一个需要知道如何给狗洗澡的人等等。
其他限制包括诸如避免或要求某些员工连任的事情-一方面可能是由于人格冲突,或者另一方面是由于渗透需要从高级到初级员工进行培训。
另外,还有一些偏好要考虑在内。有些工作人员更喜欢连续两天早上而不是星期一和星期四,等等。我们知道我们不能总是适应每个人的喜好。实际上,我们有一个层次结构,即员工在选择时会优先考虑。
我很想知道有一种方法可以将这个问题减少或表达为现有的,已经解决的算法。但是我不知道该探索哪种算法。哪种现有的特定算法最有前途?
4
en.wikipedia.org/wiki/Schedule_%28workplace%29和en.wikipedia.org/wiki/Nurse_scheduling_problem
有可用的完整的解决方案从JBoss Drools的网站:optaplanner.org -你需要编纂调度限制,比如每周最长工作时间等
—
BobDalgleish
我怀疑这与SAT问题等效,后者已知是NP完全的,但是毫无疑问,好的算法会得到合理的结果。
—
戴维·康拉德