我正在使用Optaplanner 6.2.0.CR4
和Drools
开展一个顶点项目,以逐步对解决方案进行评分。问题与Optaplanner's Nurse Rostering example
非常相似,但复杂程度稍高。我想知道是否有任何常见的陷阱可以减慢我在代码中寻找的Drools。解算器很快就会运行Construction Phase
,但是当它到达local search phase
时会碰壁。 Drools正在插入许多额外的东西,比如计算每个工资期的工作日,每个工资期特定持续时间的空闲时间等等,我在想我编写规则的方式可能就是问题。
答案 0 :(得分:1)
请参阅文档"Score performance tricks"。特别要注意你的“每秒平均得分计算次数”。它应该高于1000
,最好高于10000
。
使用the OptaPlanner benchmarker。这将成为您在这次活动中最好的朋友,推动我:)
注意:问问自己:“更快”是什么意思?你想在同一时间获得更好的结果吗?你想要更快地获得相同的结果吗?和/或者你想扩展更多?可能存在权衡选择 - 使用OptaPlanner Benchmarker来看看所有3个方面的纯粹收益,还可以看到这3个方面之间的权衡。