Optaplanner:与多个线程提交的多个用户合作

时间:2014-07-04 12:18:36

标签: optaplanner

我想知道我们是否有一个可以被许多用户同时使用的规划问题。我们如何使用optaplanner处理这个问题并为所有用户提供最佳解决方案?

1 个答案:

答案 0 :(得分:1)

如果每个用户(或用户组)都有自己独立的Solution个实例,则称为多租户。例如:护士安排网络应用程序,为多家独立医院提供服务。 1医院(=租户)的规划不影响其他医院(=其他租户)的规划。基本上,每个租户都有自己的Solver实例。

如果多个用户在同一个Solution实例上进行协作,那么只有1个Solver实例可以解决这个问题。要么所有用户在Solver.solve()开始之前都提交了他们的要求和愿望,要么 - 在实时计划的情况下 - 他们在Solver.addProblemFactChange()的同时添加/更改他们的要求/愿望。{{1}}解决。例如:医院的所有护士都会在午夜之前提交他们的免费休息日请求。午夜过后,Solver会安排医院,并考虑这些要求。

这两者都不是多线程解决,这是一个不同的主题(但与用户无关,因此与您的问题无关)。