我正在使用 quarkus 和 optaplanner 开发一个项目,我正在尝试访问和修改解算器的配置,以添加启发式方法、更改搜索算法等。
我正在使用solverJob和solverManager,quarkus似乎向我隐藏了求解器的配置。我基本上遵循 Quarkus 教程 ( https://quarkus.io/guides/optaplanner ) 的步骤。
public PlannerSolution solve() {
UUID problemId = UUID.randomUUID();
SolverJob<PlannerSolution, UUID> solverJob;
solverJob = solverManager.solve(problemId, problem);
PlannerSolution solution;
try {
// Wait until the solving ends
System.out.println("Waiting................");
solution = solverJob.getFinalBestSolution();
System.out.println("Done");
} catch (InterruptedException | ExecutionException e) {
throw new IllegalStateException("Solving failed.", e);
}
return solution;
}
我也在使用constraintProvider API。 有没有办法让我访问和修改 quarkus 自动创建的配置?我已经尝试过使用solverFactory和xml conf文件的基本方法,但quarkus对此一点也不高兴。
提前谢谢您!
最佳答案
要更改默认求解器配置,请在项目的类路径上创建 XML 配置文件。 optaplanner-quarkus 扩展默认尝试读取 solverConfig.xml
。在项目中,它应该位于:
.../src/main/resources/solverConfig.xml
配置文件的默认位置可以由 application.properties
中的属性 quarkus.optaplanner.solver-config-xml
覆盖。
关于java - Optaplanner 和 Quarkus 求解器配置更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63137461/