Я использую конфигурацию MoveSelector в ConstructionHeuristic Phase. Он отлично работает с настройкой filterClass и comparatorClass в EntitySelector.OptaPlanner: ValueSelector не может использовать ValueRangeType.FROM_PLANNING_ENTITY_PROPERTY
Однако в сеансе ValueSelector я не могу использовать переменную планирования ValueRangeType.FROM_PLANNING_ENTITY_PROPERTY. Это бросает это исключение: java.lang.IllegalArgumentException: valueSelectorConfig (ValueSelectorConfig (строка)) с resolvedCacheType (фаза) и resolvedSelectionOrder (отсортированный) должно быть основано на EntityIndependentValueSelector (FromEntityPropertyValueSelector (строка)). Проверьте аннотации @ValueRangeProvider.
Пример NQueen Config: ...
<changeMoveSelector>
<entitySelector mimicSelectorRef="placerEntitySelector">
</entitySelector>
<valueSelector>
<variableName>row</variableName>
<cacheType>PHASE</cacheType>
<selectionOrder>SORTED</selectionOrder>
<sorterComparatorClass>..RowWeightStrength</sorterComparatorClass>
</valueSelector>
</changeMoveSelector>
....
** Мне нужно использовать valueRange зависит от моего планирования Entity, чтобы использовать PossibleRowList для каждой королевы (для ради производительности) Любое предложение пожалуйста? Заранее спасибо.
«ValueRangeType.FROM_PLANNING_ENTITY_PROPERTY» - это optaplanner 6.0 IIRC, вы можете обновить до 6.1 или 6.2, просто следуйте [рецепту обновления] (https://github.com/droolsjbpm/optaplanner/blob/master/optaplanner-distribution /src/main/assembly/filtered-resources/UpgradeFromPreviousVersionRecipe.txt) –