OptaPlanner - 如何在构造启发阶段配置选择过滤器?

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

我尝试在 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 中添加选择过滤器的正确方向吗?

java constraints optaplanner heuristics timefold
1个回答
0
投票

这里有龙。

来自此文档部分,这是正确的 CH 功率调整配置的示例:

  <constructionHeuristic>
    <queuedEntityPlacer>
      <entitySelector id="placerEntitySelector">
        <!-- your filter? -->
  
      </entitySelector>
      <changeMoveSelector>
        <entitySelector mimicSelectorRef="placerEntitySelector"/>
        <valueSelector>
          
        </valueSelector>
      </changeMoveSelector>
    </queuedEntityPlacer>
  </constructionHeuristic>

话虽如此,根据我的经验,这可能是解决您想要解决的扩展问题的错误兔子洞。

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