我尝试在 CH 阶段添加选择过滤器,如下所示在solverConfig.xml中:
<constructionHeuristic>
<constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
<changeMoveSelector>
<entitySelector>
<filterClass>org.example.entity.ShiftFilter
</filterClass>
</entitySelector>
</changeMoveSelector>
</constructionHeuristic>
将其添加到配置后,求解器无法启动。相同的过滤器在本地搜索阶段工作得很好。
solve api响应中的错误如下:
The <constructionHeuristic> contains a changeMoveSelector (ChangeMoveSelectorConfig(EntitySelectorConfig(null), null)) that contains an entitySelector (EntitySelectorConfig(null)) without explicitly configuring the <queuedEntityPlacer>
有人可以帮我指出如何在 CH 中添加选择过滤器的正确方向吗?
这里有龙。
来自此文档部分,这是正确的 CH 功率调整配置的示例:
<constructionHeuristic>
<queuedEntityPlacer>
<entitySelector id="placerEntitySelector">
<!-- your filter? -->
</entitySelector>
<changeMoveSelector>
<entitySelector mimicSelectorRef="placerEntitySelector"/>
<valueSelector>
</valueSelector>
</changeMoveSelector>
</queuedEntityPlacer>
</constructionHeuristic>
话虽如此,根据我的经验,这可能是解决您想要解决的扩展问题的错误兔子洞。