Drools Planner constructionHeuristic java.lang.ClassCastException

时间:2013-10-03 13:35:40

标签: java drools drools-planner

我尝试使用 Drools Planner 5.4.Final Contruction Heuristic Type BEST_FIT初始化解决方案。

<constructionHeuristic>
    <constructionHeuristicType>BEST_FIT</constructionHeuristicType>
</constructionHeuristic>

在运行时评估期间发生以下错误

java.lang.ClassCastException: org.drools.planner.config.constructionheuristic.ConstructionHeuristicSolverPhaseConfig cannot be cast to org.drools.planner.config.localsearch.LocalSearchSolverPhaseConfig

有人有任何提示吗?

由于

这是堆栈跟踪

com.thoughtworks.xstream.converters.ConversionException: Element constructionHeuristic of type org.drools.planner.config.constructionheuristic.ConstructionHeuristicSolverPhaseConfig is not defined as field in type org.drools.planner.config.localsearch.LocalSearchSolverPhaseConfig
---- Debugging information ----
class               : org.drools.planner.config.localsearch.LocalSearchSolverPhaseConfig
required-type       : org.drools.planner.config.localsearch.LocalSearchSolverPhaseConfig
converter-type      : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
line number         : 23
class[1]            : org.drools.planner.config.solver.SolverConfig
version             : null
-------------------------------
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter: writeValueToImplicitCollection (line:399)
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter: doUnmarshal (line:330)
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter: unmarshal (line:230)
com.thoughtworks.xstream.core.TreeUnmarshaller: convert (line:72)
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller: convert (line:65)
com.thoughtworks.xstream.core.TreeUnmarshaller: convertAnother (line:66)
com.thoughtworks.xstream.core.TreeUnmarshaller: convertAnother (line:50)
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter: doUnmarshal (line:318)
com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter: unmarshal (line:230)
com.thoughtworks.xstream.core.TreeUnmarshaller: convert (line:72)
com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller: convert (line:65)
com.thoughtworks.xstream.core.TreeUnmarshaller: convertAnother (line:66)
com.thoughtworks.xstream.core.TreeUnmarshaller: convertAnother (line:50)
com.thoughtworks.xstream.core.TreeUnmarshaller: start (line:134)
com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy: unmarshal (line:32)
com.thoughtworks.xstream.XStream: unmarshal (line:1035)
com.thoughtworks.xstream.XStream: unmarshal (line:1019)
com.thoughtworks.xstream.XStream: fromXML (line:895)
org.drools.planner.config.XmlSolverFactory: configure (line:95)
org.drools.planner.config.XmlSolverFactory: configure (line:85)
org.drools.planner.config.XmlSolverFactory: configure (line:78)

1 个答案:

答案 0 :(得分:1)

根据堆栈跟踪,您正在执行类似

的操作
<solver>
  ...
  <localSearch>
    <constructionHeuristic>
       ...    
    </constructionHeuristic>
    ...
  </localSearch>
<solver>

虽然应该是这样的:

<solver>
  ...
  <constructionHeuristic>
    ...    
  </constructionHeuristic>
  <localSearch>
    ...
  </localSearch>
<solver>