gpt4 book ai didi

java - 如何为 optaplanner 运行/实现 Benchmark?

转载 作者:行者123 更新时间:2023-12-01 09:44:50 28 4
gpt4 key购买 nike

我需要使用 OptaPlanner 进行基准测试方面的帮助。我遇到了两个问题。首先是查看对所提供示例进行基准测试的结果。我看到车辆路线示例有两个应用程序。其中之一是 VehicleRoutingBenchmarkApp。我运行了这个应用程序,并认为会生成 index.html 但事实并非如此。所以我不清楚如何做到这一点。

第二个问题是实现。我只是在试验,所以我按照 VehicleRoutingApp.main() 中的文档的指示添加了代码片段,以便我可以看到会发生什么。

Documentation link here .

System.out.println("-------------- benchmark stuff --------------");
PlannerBenchmarkFactory plannerBenchmarkFactory = PlannerBenchmarkFactory.createFromXmlResource(
"org/optaplanner/examples/vehiclerouting/benchmark/vehicleRoutingBenchmarkConfig.xml");
PlannerBenchmark plannerBenchmark = plannerBenchmarkFactory.buildPlannerBenchmark();
plannerBenchmark.benchmark();

其结果是输出日志的持续流。很难理解它所传达的内容。我如何将所有这些转换成一个漂亮的 GUI,就像我相信 index.html 应该做的那样?提前致谢。

我得到的跟踪堆栈如下:

Exception in thread "main" java.lang.IllegalStateException: The directory dataDir (C:\Intellij\Workspace\optaplanner-developer\data\vehiclerouting) does not exist.
Either the working directory should be set to the directory that contains the data directory (which is not the data directory itself), or the system property org.optaplanner.examples.dataDir should be set properly.
The data directory is different in a git clone (optaplanner/optaplanner-examples/data) and in a release zip (examples/sources/data).
In an IDE (IntelliJ, Eclipse, NetBeans), open the "Run configuration" to change "Working directory" (or add the system property in "VM options").
at org.optaplanner.examples.common.persistence.AbstractSolutionDao.<init>(AbstractSolutionDao.java:46)
at org.optaplanner.examples.common.persistence.XStreamSolutionDao.<init>(XStreamSolutionDao.java:32)
at org.optaplanner.examples.vehiclerouting.persistence.VehicleRoutingDao.<init>(VehicleRoutingDao.java:25)
at org.optaplanner.examples.vehiclerouting.persistence.VehicleRoutingImporter.<init>(VehicleRoutingImporter.java:57)
at org.optaplanner.examples.vehiclerouting.persistence.VehicleRoutingFileIO.<init>(VehicleRoutingFileIO.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at org.optaplanner.core.config.util.ConfigUtils.newInstance(ConfigUtils.java:46)
at org.optaplanner.benchmark.config.ProblemBenchmarksConfig.buildSolutionFileIO(ProblemBenchmarksConfig.java:149)
at org.optaplanner.benchmark.config.ProblemBenchmarksConfig.buildProblemBenchmarkList(ProblemBenchmarksConfig.java:111)
at org.optaplanner.benchmark.config.SolverBenchmarkConfig.buildSolverBenchmark(SolverBenchmarkConfig.java:88)
at org.optaplanner.benchmark.config.PlannerBenchmarkConfig.buildPlannerBenchmark(PlannerBenchmarkConfig.java:210)
at org.optaplanner.benchmark.impl.XStreamXmlPlannerBenchmarkFactory.buildPlannerBenchmark(XStreamXmlPlannerBenchmarkFactory.java:156)
at org.optaplanner.examples.common.app.CommonBenchmarkApp.buildAndBenchmark(CommonBenchmarkApp.java:68)
at org.optaplanner.examples.vehiclerouting.app.VehicleRoutingBenchmarkApp.main(VehicleRoutingBenchmarkApp.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

最佳答案

对于那些尝试学习 optaplanner 并有同样问题的人,解决方案在您引用的 benchmarkConfig.xml 中文件。您应该创建一个 .xml有一个根 <plannerBenchmark>标签。在其中您可以添加另一个名为 <benchmarkDiretory> 的标签。 。您可以在此处指定生成报告的位置。请务必设置您的<inputSolutionFile>指向正确的数据集,可以是 .xml.vrp 。其余的就像魔术​​一样。

应类似于以下内容:

<plannerBenchmark>
<benchmarkDirectory>local/data/report/vehiclerouting</benchmarkDirectory>
.....
<inputSolutionFile>data/vehiclerouting/unsolved/TestCase_1.xml</inputSolutionFile>
.....
</plannerBenchmark>

关于java - 如何为 optaplanner 运行/实现 Benchmark?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38152617/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com