如何在OptaPlanner中删除运行时的移动生成器?

问题描述 投票:0回答:1

在我的问题中,我有4种不同类型的规划实体,有些问题没有一种或多种类型的实体,我在配置文件中为所有这些实体设置了移动生成器,我想在得到问题后删除一个或多个这样的生成器。这是为了避免 "从永无止境的循环中解脱出来 "以及相关的减速(我测得步骤时间增加了42%)。

虽然文档中写道

解算器配置XML中的每一个元素都是以 *Config 类或 *Config 包名空间中的 org.optaplanner.core.config.

我甚至无法访问移动生成器--它们似乎都在一些后方。protected 方法或字段。

问题是:一旦给我一个问题文件,给我XML配置文件的路径,我如何在运行时删除一些移动生成器?

java optaplanner
1个回答
0
投票

如果你不配置任何移动选择器,你就会得到默认的移动选择器(改变和交换移动).所以删除这些的技巧是在solverConfig.xml中配置一些。

<solver>
  ...
  <constructionHeuristics>
    <unionMoveSelector>
      ...
    </>
  </>
  <localSearch>
    <unionMoveSelector>
      ...
    </>
  </>
</>

参见文档中关于移动选择的章节。

© www.soinside.com 2019 - 2024. All rights reserved.