optaplanner - Optaplanner:solver.getBestScore 和solver.explainBestScore 显示不同的结果?
问题描述
我正在运行我的 optaplannner 代码并收到了一些奇怪的结果。在我的整个求解过程终止之前的本地搜索过程的最后一步中,求解器更改了其“当前”分数。然而,“最好成绩”保持不变。
18:30:36.384 DEBUG [main] o.o.c.i.l.DefaultLocalSearchPhase DefaultLocalSearchPhase.java:133
> LS step (205), time spent (200026), score (-250hard/-9soft), best score (-240hard/-9soft), accepted/selected move count (0/2), picked move (roughplan.domain.Restock@508de524 {50 -> 30}).
18:30:36.384 INFO [main] o.o.c.i.l.DefaultLocalSearchPhase DefaultLocalSearchPhase.java:151
> Local Search phase (5) ended: time spent (200026), best score (-240hard/-9soft), score calculation speed (35/sec), step total (206).
18:30:36.400 INFO [main] o.o.c.i.s.DefaultSolver DefaultSolver.java:230
> Solving ended: time spent (200042), best score (-240hard/-9soft), score calculation speed (40/sec), phase total (8), environment mode (REPRODUCIBLE).
如果我想收到我的分数,solver.getBestScore 和solver.explainBestScore 会显示不同的结果。此外,solver.getBestSolution 显示与solver.explainBestScore 相同的分数。
> Explanation of score (-250hard/-9soft):
> Score: -240hard/-9soft
我反复遇到这个错误,与求解器终止的特定本地搜索阶段无关。在“FULL_ASSERT”上运行它不会引发任何异常,而且我还认为我的所有@DeepPlanningClone 注释都是正确的。
解决方案
推荐阅读
- html - 防止浮动右断线
- python - 函数不会存储值
- r - 如何找到每个 GROUP 的最大出现标签并用新标签替换其余标签(最大出现次数)?
- android - Android 9(仅观察到)使用 Room(对于非图像):行太大,无法放入 CursorWindow requiredPos=0,totalRows=1
- android - 解析包含对象 (Klaxon) (Kotlin) 的 API 数据
- bash - 通过 csv 文件创建 hive 表包含 shell 中的列类型
- reactjs - 错误:无法加载在“.eslintrc”中声明的解析器“babel-eslint”:在 create-react-app 中找不到模块“babel-eslint”
- python - 为什么在尝试使用 PyPy3 运行脚本时会出现 ModuleNotFoundError?
- pandas - Beautifulsoup 中的导入类
- android - 如何通过单击按钮根据微调器中选择的项目更改 URL?安卓