强化学习分组调度优化问题

人工智能 强化学习 优化
2021-10-24 13:01:19

我不确定这种问题的名称,但无论如何,情况如下。

将教师分配到小组中,并考虑他们的每项工作量、可用性等。还有一些其他软/硬约束(平等/不平等),例如

  • 每组至少有2名教师
  • 小组中的每个人都有相似的工作量
  • 组中的总工作量低于某个值
  • 所有人都具有不同的专业知识

和更多...

我正在尝试构建一个次优的解决方案来解决这个问题。线性/非线性编程似乎不适用于分组问题。我正在考虑遗传算法或强化学习。

这个问题可以通过使用 RL 或 DRL 来解决吗?我试图将组定义为状态,并且操作包括“assignToGroup”和“removeFromGroup”。以及如何解决这个问题的任何想法或建议?

非常感谢

1个回答

通常可以通过将问题的某些部分描述为状态,将其他部分描述为动作,以及您想要优化的一些测量作为奖励,将问题描述为强化学习任务。但是,这并不总是有帮助。

我怀疑您的问题属于“RL 没那么有用”类别。您可以试一试,也许希望找到可行的解决方案,但要花费不合理的时间来找到最佳解决方案。

您在这里似乎遇到的是组合优化中的问题。有许多适用的算法,免费书籍Clever Algorithms: Nature-Inspired Programming Recipes中描述了一个很好的选择- 最好由您的约束的具体细节和问题的大小来确定。

如果许多约束是软约束并且可以分配成本,则您可以使用遗传算法(基因组按顺序分配)或模拟退火。