寻找使 Drools / Optaplanner 更快的方法

Looking for ways to make Drools / Optaplanner faster

我正在开展一个顶点项目,使用 Optaplanner 6.2.0.CR4Drools 对解决方案进行增量评分。该问题与 Optaplanner's Nurse Rostering example 非常相似,只是增加了一点复杂性。我想知道是否有任何常见的陷阱会降低 Drools 的速度,我可以在我的代码中寻找这些陷阱。求解器运行 Construction Phase 非常快,但在到达 local search phase 时撞墙了。 Drools 插入了很多额外的东西,比如计算每个支付周期的工作天数、每个支付周期的特定持续时间块等,我认为我编写规则的方式可能是问题所在。

参见文档 "Score performance tricks"。尤其要注意你的 "average score calculation count per second"。应该在1000以上,最好在10000.

以上

使用the OptaPlanner benchmarker.它会是你最好的朋友,推我:)

注意:问问自己:"faster" 是什么意思?您想要同时获得更好的结果吗?您想要更快地获得相同的结果吗? And/Or 你想横向扩展更多吗?可能需要做出权衡选择 - 使用 OptaPlanner Benchmarker 查看所有 3 个方面的纯收益,但也可视化这 3 个方面之间的权衡。