如何配置OptaPlanner的分区搜索,以便可以将本地搜索选项单独应用于每个创建的分区?

时间:2018-03-23 00:54:51

标签: optaplanner

我使用分区搜索功能来解决非常大的VRPTW类问题。我已经实现了一个能够很好地完成工作的SolutionPartitioner。

不幸的是,有时会有1000个客户的分区,在这种情况下,我会使用附近的选择来加速计算。不幸的是,对于其他较小的分区(200个以下的客户),相同的附近选择配置比没有附近选择的结果更糟。

此外,使用一些启发式方法,我可以指定一组自定义的“智能”移动(在移动工厂中),这有助于更快地找到最佳解决方案,但有时将所有这些移动用于每个创建的分区都是不合适的。

是否可以单独为每个分区配置本地搜索选项?

1 个答案:

答案 0 :(得分:0)

目前在7.7中,不可能为不同的分区配置不同的子解算器算法,因为PartitionedSearchPhaseConfig.java不支持(但是?)。

请在文本文件中创建一个解决方案配置XML的样子。然后create a jira为它。

这与(未实现的)对超启发式的支持有关,它可以配置求解器配置以根据输入大小调整算法,例如使用不同的选择器。

我认为超启发式可能直接解决了这个问题,并且它被分区的事实并不重要,因为<hyperheuristic>将嵌套到<partionedSearch>并且会切换到附近和非根据需要在每个分区附近。