我想知道我们是否有一个可以被许多用户同时使用的规划问题。我们如何使用optaplanner处理这个问题并为所有用户提供最佳解决方案?
答案 0 :(得分:1)
如果每个用户(或用户组)都有自己独立的Solution
个实例,则称为多租户。例如:护士安排网络应用程序,为多家独立医院提供服务。 1医院(=租户)的规划不影响其他医院(=其他租户)的规划。基本上,每个租户都有自己的Solver
实例。
如果多个用户在同一个Solution
实例上进行协作,那么只有1个Solver
实例可以解决这个问题。要么所有用户在Solver.solve()
开始之前都提交了他们的要求和愿望,要么 - 在实时计划的情况下 - 他们在Solver.addProblemFactChange()
的同时添加/更改他们的要求/愿望。{{1}}解决。例如:医院的所有护士都会在午夜之前提交他们的免费休息日请求。午夜过后,Solver会安排医院,并考虑这些要求。
这两者都不是多线程解决,这是一个不同的主题(但与用户无关,因此与您的问题无关)。