使用 Optaplanner 对实时规划算法进行基准测试

Benchmark a real-time planning algorithm using Optaplanner

我正在尝试对实时规划算法进行基准测试,但似乎找不到如何做,Optaplanner 支持吗?

我已经成功 运行 使用我的问题的离线版本进行基准测试。我已经实施 SolutionFileIO 来读取我的问题实例并将它们转换为解决方案。我已阅读文档并看到了与基准测试相关的 video,但找不到我要找的内容。

或者,我可以 运行 使用我自己的框架的实时算法,但这需要我手动定义我想要 运行 的所有 Optaplanner 启发式算法(当使用矩阵设置)。有没有一种方法可以根据基准 xml 定义来实例化求解器(在 Java 中)?这将允许我 运行 我自己的实时基准,同时仍然使用 Optaplanner 基准定义。

还触发 ProblemFactChange 事件(= real-time 计划)的基准配置尚未受支持,vote for this jira您希望基准配置是什么样的?

要破解重用基准配置中的求解器,请将 PlannerBenchmark 转换为 PlannerBenchmarkRunner 并使用 getPlannerBenchmarkResult().getSolverBenchmarkResultList(),但这会放弃大量编排(包括报告) .相反,如果您可以成功覆盖 SubSingleBenchmarkResult,您就不会失去该编排(但您的黑客攻击会更深入)。

无论你最终做了什么,请分享你的基准配置是什么样子的,因为这会在我们为未来的 OptaPlanner 版本实施它时给我们灵感。