在我的问题中,我有4种不同类型的规划实体,有些问题没有一种或多种类型的实体,我在配置文件中为所有这些实体设置了移动生成器,我想在得到问题后删除一个或多个这样的生成器。这是为了避免 "从永无止境的循环中解脱出来 "以及相关的减速(我测得步骤时间增加了42%)。
虽然文档中写道
解算器配置XML中的每一个元素都是以
*Config
类或*Config
包名空间中的org.optaplanner.core.config
.
我甚至无法访问移动生成器--它们似乎都在一些后方。protected
方法或字段。
问题是:一旦给我一个问题文件,给我XML配置文件的路径,我如何在运行时删除一些移动生成器?
如果你不配置任何移动选择器,你就会得到默认的移动选择器(改变和交换移动).所以删除这些的技巧是在solverConfig.xml中配置一些。
<solver>
...
<constructionHeuristics>
<unionMoveSelector>
...
</>
</>
<localSearch>
<unionMoveSelector>
...
</>
</>
</>
参见文档中关于移动选择的章节。