解决方案克隆性能提示

时间:2015-11-12 15:48:53

标签: optaplanner

我们目前正在努力改善我们在OptaPlanner中实施的规划问题的性能。我们的模型有大约45,000个链式变量,在对应用程序进行分析之后,似乎主要的瓶颈在于克隆。 FieldAccessingSolutionCloner方法调用消耗了大约90%的CPU运行时间。

我们已经尝试通过减少PlanningEntities中的Maps和Sets的数量来使我们的对象模型更轻量级,在可能的情况下将字段更改为基元,但是根据您自己的OptaPlanner经验,您对如何加速提供任何建议克隆表现?

1 个答案:

答案 0 :(得分:2)

您是否尝试过编写自定义克隆程序?查看文档。 默认值需要依赖反射,因此速度较慢。

此外,域模型的结构会影响您需要克隆的数量(无论您是否定制): 如果删除解决方案和规划实体类,您的其他域类是否仍然可以编译? 如果是,那么克隆是最小的。如果不是,那就不是。