Optaplanner Easy vs 增量分数计算速度

Optaplanner Easy vs Incremental Score Calculation Speed

我首先编写了一个简单的分数计算器,同时开始使用 Optaplanner 根据需要添加硬约束和软约束。完成该工作后,我将其转换为增量分数计算器 运行 许多测试并使用内置 FULL_ASSERT 环境以确保它按预期工作并产生与简易分数计算器相同的分数。然后我关闭 FULL_ASSERT 并将日志记录更改为仅信息,运行 求解器首先使用增量计算器,然后使用简易计算器。

在日志中,我看到 'score calculation speed' 但我无法在文档中找到更高的数字是更好还是更差,或者是否可以用这种方式比较 2 个评分计算器。这让我感到困惑,因为在我看来,每秒的数字越高越好,但如果是这样的话,那么我的增量计算器比简单的计算器慢得多。

有谁知道以下两个中哪个更好,或者甚至不应该这样比较它们?:

查看代码,我可以看到每次调用 setCalculatedScore 时计算计数(该数字基于此)都会增加,但是,这可能只是意味着增量分数计算器不必将其设置为通常,不知道它是如何工作的。

谢谢

分数越高计算速度越好

注意:

  • 转动 FAST_ASSERT 或 FULL_ASSERT 会大大减慢它的速度。也许您忘记为增量基准 运行.
  • 关闭它
  • 您可以通过添加包含简单元素的 <assertionScoreDirectorFactory> 元素来更好地验证增量元素。请参阅文档。