发布时间:2025-12-09 11:59:06 浏览次数:2
import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类static ImmutableMap<String, SolverConfig> getConfigsFromBenchmark( String xml) { final PlannerBenchmarkFactory plannerBenchmarkFactory = PlannerBenchmarkFactory .createFromFreemarkerXmlReader(new StringReader(xml)); final PlannerBenchmark plannerBenchmark = plannerBenchmarkFactory.buildPlannerBenchmark(); final PlannerBenchmarkRunner pbr = (PlannerBenchmarkRunner) plannerBenchmark; final ImmutableMap.Builder<String, SolverConfig> builder = ImmutableMap.builder(); for (final SolverBenchmarkResult sbr : pbr.getPlannerBenchmarkResult() .getSolverBenchmarkResultList()) { builder.put(sbr.getName().replaceAll(" ", NAME_SEPARATOR), sbr.getSolverConfig()); } return builder.build();} import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类public static void main(String[] args) { List<Roster> rosterList = generateRosters(); SolverFactory<Roster> solverFactory = SolverFactory.createFromXmlResource( "org/optaplanner/openshift/employeerostering/server/solver/employeeRosteringSolverConfig.xml"); PlannerBenchmarkFactory benchmarkFactory = PlannerBenchmarkFactory.createFromSolverFactory(solverFactory); PlannerBenchmark plannerBenchmark = benchmarkFactory.buildPlannerBenchmark(rosterList); plannerBenchmark.benchmark();} import org.optaplanner.benchmark.api.PlannerBenchmarkFactory; //导入依赖的package包/类public void buildAndBenchmark(String[] args) { boolean aggregator = false; ArgOption argOption = null; for (String arg : args) { if (arg.equalsIgnoreCase(AGGREGATOR_ARG)) { aggregator = true; } else if (benchmarkArgumentMap.containsKey(arg)) { if (argOption != null) { throw new IllegalArgumentException("The args (" + Arrays.toString(args) + ") contains arg name (" + argOption.getName() + ") and arg name (" + arg + ")."); } argOption = benchmarkArgumentMap.get(arg); } else { throw new IllegalArgumentException("The args (" + Arrays.toString(args) + ") contains an arg (" + arg + ") which is not part of the recognized args (" + benchmarkArgumentMap.keySet() + " or " + AGGREGATOR_ARG + ")."); } } if (argOption == null) { argOption = benchmarkArgumentMap.values().iterator().next(); } PlannerBenchmarkFactory plannerBenchmarkFactory = argOption.buildPlannerBenchmarkFactory(); if (!aggregator) { PlannerBenchmark plannerBenchmark = plannerBenchmarkFactory.buildPlannerBenchmark(); plannerBenchmark.benchmark(); } else { BenchmarkAggregatorFrame.createAndDisplay(plannerBenchmarkFactory); }}