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

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

    XMLWordPrintable

Details

    • Undefined
    • NEW
    • NEW

    Description

      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.

      Attachments

        Activity

          People

            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

            Dates

              Created:
              Updated:
              Resolved: