使用Tabu Search配置solverConfig时Move类报错求助
解决OptaPlanner Solver配置文件错误
问题根源
你的配置文件存在XML注释语法错误,导致解析器无法正确识别注释内容,触发XML结构无效的错误。具体问题出在注释的写法上:
- 错误写法:
<!--termination><secondsSpentLimit>30</secondsSpentLimit></termination--> - 正确的XML注释要求注释内容被完整包裹在
<!--和-->之间,且起始符号后、结束符号前需要保留空格,标签内容要正确嵌套在注释块内。
修正后的配置文件
以下是修复注释格式并保持原有逻辑的正确配置:
<?xml version="1.0" encoding="UTF-8"?> <solver> <solutionClass>org.acme.foodpackaging.domain.PackagingSchedule</solutionClass> <entityClass>org.acme.foodpackaging.domain.Job</entityClass> <entityClass>org.acme.foodpackaging.domain.Line</entityClass> <!-- Define the score function --> <scoreDirectorFactory> <constraintProviderClass>org.acme.foodpackaging.solver.FoodPackagingConstraintProvider</constraintProviderClass> </scoreDirectorFactory> <!-- Configuração do algoritmo de busca --> <!-- <termination> <secondsSpentLimit>30</secondsSpentLimit> </termination> --> <!-- Configuração do First-Fit --> <!-- <constructionHeuristic> <constructionHeuristicType>FIRST_FIT</constructionHeuristicType> </constructionHeuristic> --> <!-- Configuração do Tabu Search --> <localSearch> <localSearchType>TABU_SEARCH</localSearchType> </localSearch> <!-- <localSearch> <localSearchType>SIMULATED_ANNEALING</localSearchType> </localSearch> --> </solver>
额外提示
如果修复注释后仍有错误,需要确认:
solutionClass、entityClass对应的类路径是否正确,类是否存在于项目中constraintProviderClass是否实现了ConstraintProvider接口,且路径无误- OptaPlanner版本与配置语法是否匹配(不同版本的配置可能有细微差异)
内容的提问来源于stack exchange,提问作者Ricardo Miguel
相关产品推荐
相关产品推荐

