我尝试在本地搜索中实现NearbySelector时遇到此错误。本地搜索配置。我尝试了随机和原始选择顺序:
<changeMoveSelector>
<entitySelector id="entitySelector1"/>
<selectionOrder>ORIGINAL</selectionOrder>
<valueSelector>
<nearbySelection>
<originEntitySelector mimicSelectorRef="entitySelector1"/>
<nearbyDistanceMeterClass>NearbyGrainMeter</nearbyDistanceMeterClass>
<parabolicDistributionSizeMaximum>40</parabolicDistributionSizeMaximum>
</nearbySelection>
</valueSelector>
</changeMoveSelector>错误:
java.lang.IllegalArgumentException: The nearbySelectorConfig (NearbySelectionConfig()) with randomSelection (false) has distribution parameters.
at org.optaplanner.core.config.heuristic.selector.common.nearby.NearbySelectionConfig.buildNearbyRandom(NearbySelectionConfig.java:226)
at org.optaplanner.core.config.heuristic.selector.common.nearby.NearbySelectionConfig.applyNearbyValueSelector(NearbySelectionConfig.java:205)
at org.optaplanner.core.config.heuristic.selector.value.ValueSelectorConfig.buildValueSelector(ValueSelectorConfig.java:293)
at org.optaplanner.core.config.heuristic.selector.move.generic.ChangeMoveSelectorConfig.buildBaseMoveSelector(ChangeMoveSelectorConfig.java:84)
at org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig.buildMoveSelector(MoveSelectorConfig.java:252)
at org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig.buildMoveSelector(MoveSelectorConfig.java:241)
at org.optaplanner.core.config.heuristic.selector.move.composite.UnionMoveSelectorConfig.buildBaseMoveSelector(UnionMoveSelectorConfig.java:77)
at org.optaplanner.core.config.heuristic.selector.move.MoveSelectorConfig.buildMoveSelector(MoveSelectorConfig.java:252)
at org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig.buildMoveSelector(LocalSearchPhaseConfig.java:289)
at org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig.buildDecider(LocalSearchPhaseConfig.java:155)
at org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig.buildPhase(LocalSearchPhaseConfig.java:141)
at org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig.buildPhase(LocalSearchPhaseConfig.java:54)
at org.optaplanner.core.config.solver.SolverConfig.buildPhaseList(SolverConfig.java:446)
at org.optaplanner.core.config.solver.SolverConfig.buildSolver(SolverConfig.java:349)
at org.optaplanner.core.impl.solver.AbstractSolverFactory.buildSolver(AbstractSolverFactory.java:61)
at App.main(App.java:168)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:282)
at java.lang.Thread.run(Thread.java:748)```
Does anyone understand what is happening?发布于 2020-09-15 16:38:06
附近的选择需要RANDOM选择顺序,而您的ChangeMoveSelector配置指定<selectionOrder>ORIGINAL</selectionOrder>。
您是否可以尝试将其更改为:<selectionOrder>RANDOM</selectionOrder>?
https://stackoverflow.com/questions/63882118
复制相似问题