Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-2343

Benchmark: .buildPlannerBenchmark(problems) duplicates problems and misses data in report

XMLWordPrintable

    • Undefined
    • NEW
    • NEW

      Given 2 problems results in:

      And worse, only the last solver config is shown in the BEST_SCORE graphs:

      This is because the graph files's filename presume that the problem names are unique. Which isn't a bad thing.

      The real bug is caused by the fact that InstanceProblemProvider's equals() uses the SolutionCloner, but ProblemBenchmarksFactory#buildProblemProviderList creates a new SolutionDesriptor (and therefore SolutionCloner) for every Solver benchmarks. So they are not equal between solver benchmarks.

      Proposal A) Remove SolutionCloner from that equals. Is this risky?

      Proposal B) make sure they use the same SolutionDescriptor. Well, if they have different Solverconfigs they might actually have different solution descriptors configured somehow. Especially once we support domain model externalization in the solver config.

      B) is infeasible: it might be a benchmark to test 2 solution cloners, such as gizmo and reflection.

              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: