OptaPlanner 6.1.0.Final を使用しています。ValueSelector 構成で FilterClass を使用しようとすると、次の例外が発生しました。
原因: com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter$UnknownFieldException: そのようなフィールドはありません org.optaplanner.core.config.heuristic.selector.value.ValueSelectorConfig.filterClass
OptaPlanner ドキュメント (7.2.4. Filtered selection) によると、FilterClass は ValueSelector でも動作するはずです。
...apply it on a lower levels, such as a filterClass on the entitySelector or valueSelector:
<changeMoveSelector>
<entitySelector>
<filterClass>...EntityFilter</filterClass>
</entitySelector>
</changeMoveSelector>
これは Planner のバグですか? または、計画変数のフィルタリング クラスを持つ他の方法はありますか? 事前にお時間をいただき、ご提案いただきありがとうございます。
以下は私の構成です:
<changeMoveSelector>
<entitySelector mimicSelectorRef="placerEntitySelector">
</entitySelector>
<valueSelector>
<variableName>room</variableName>
<cacheType>PHASE</cacheType>
<selectionOrder>SORTED</selectionOrder>
<filterClass>..SelectionFilter</filterClass>
</valueSelector>
</changeMoveSelector>