我在 ConstructionHeuristic 阶段使用 MoveSelector 配置。它适用于在 EntitySelector 中配置 filterClass 和 compareClass。
但是,在 ValueSelector 会话中,我无法使用“ValueRangeType.FROM_PLANNING_ENTITY_PROPERTY”计划变量。它抛出这个异常: java.lang.IllegalArgumentException : 具有resolvedCacheType (PHASE) 和resolvedSelectionOrder (SORTED) 的valueSelectorConfig (ValueSelectorConfig(row)) 需要基于EntityIndependentValueSelector (FromEntityPropertyValueSelector(row))。检查您的 @ValueRangeProvider 注释。
示例 NQueen 配置:...
<changeMoveSelector>
<entitySelector mimicSelectorRef="placerEntitySelector">
</entitySelector>
<valueSelector>
<variableName>row</variableName>
<cacheType>PHASE</cacheType>
<selectionOrder>SORTED</selectionOrder>
<sorterComparatorClass>..RowWeightStrength</sorterComparatorClass>
</valueSelector>
</changeMoveSelector>
……
** 我需要使用 valueRange 取决于我的计划实体,以便为每个 Queen 使用 PossibleRowList(为了性能)有什么建议吗?提前致谢。