是否有一种通过编程配置移动选择过滤器的方法?
https://www.optaplanner.org/docs/optaplanner/latest/move-and-neighborhood-selection/move-and-neighborhood-selection.html#filteredMoveSelection
我有一个SpringBoot应用程序,它以编程方式配置OP,例如设置终止配置。我想告诉OP使用移动选择过滤器,而不必使用上面文档中描述的XML文件。
提前谢谢。
解算器配置XML和SolverConfig
之间存在直接的1对1映射。如果您已经可以设置终止配置,则可以设置其他任何内容。
具体来说,从解算器配置中,可以访问阶段配置列表。在那里,找到本地搜索阶段配置。最后,在那里,找到要筛选的选择器,并设置筛选器。
默认情况下,阶段配置列表可能为空。OptaPlanner通常会在运行时自动添加构造启发式和本地搜索。如果是这种情况,则需要将这些阶段明确添加到配置列表中,包括选择器配置。
正如您自己在上面的评论中指出的那样,这个答案可能会为您提供一切,包括一个代码示例。