是否可以通过编程方式(在运行时)而不是通过注释来定义 PlanningVariables?

Is it possible to define PlanningVariables programmatically (at runtime) instead of through annotations?

老实说,我没有尝试太多,因为我一定是完全错过(或未能识别)文档中的相关部分。

这就是我问的原因:

我有一个针对给定优化的工作域模型。我可以在更改 PlanningVariable 时使用域进行非常相似的优化。我不想拥有 2 个几乎相同的域,它们仅在 PlanningVariable 上有所不同,我希望只有一个域并能够按需切换 PlanningVariable。

这有意义吗?

恐怕还没有这样的 API 允许这样做(有一个 jira)。但我看到你减少代码重复的动机。 我只能建议尽可能多地共享域 类。在这种情况下,如果您说域仅在 PlanningVariable 上不同,则需要有单独的 @PlanningEntity 和 @PlanningSolution 类。更进一步,它们可能有一个共同的祖先来进一步减少重复。

solverConfig.xml(2 个 SolverFactories 中的每一个)中,您可以使用 <entityClass><solutionClass> 来使用其中一个。