Optaplanner 在调试日志中显示零硬约束违规,但当我使用 SolutionManager 解释分数时显示违规

问题描述 投票:0回答:1

运行优化模型时,终端上打印的 optaplanner 日志显示零硬约束违规“最佳分数(0hard/0medium/-1056704soft)”。之后,我打印了计算出的解决方案的硬分数,并且它正确地打印了零。然而,在程序的下一行中,当我尝试使用 SolutionManager 库进行分数解释时,它显示特定约束的 -1hard/0medium/0soft。

在检查解决方案时,我意识到实际上存在硬约束违规。谁能解释为什么这种违规行为没有显示在初始日志中以及为什么硬分打印为零?

optaplanner timefold
1个回答
0
投票

闻起来像 OptaPlanner 或 Timefold 中的分数损坏

在您的

environmentMode=FAST_ASSERT
FULL_ASSERT
中本地打开
application.properties
(或
SolverConfig
)。不要提交该更改。运行 10 倍时间即可达到相同点。这将在发生任何分数损坏时将其清除,并且应该为您提供有关涉及哪个约束的线索。然后第二部分开始:找出原因。

© www.soinside.com 2019 - 2024. All rights reserved.