@@ -0,0 +1,3225 @@
+package org.jboss.qa.brms.performance.realworld.conferencescheduling;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collections;%0A%0Aimport org.jboss.qa.brms.performance.AbstractPlannerBenchmark;%0Aimport org.jboss.qa.brms.performance.calculatecounttermination.ConferenceSchedulingTermination;%0Aimport org.jboss.qa.brms.performance.examples.conferencescheduling.ConferenceScheduling;%0Aimport org.jboss.qa.brms.performance.examples.conferencescheduling.domain.ConferenceSolution;%0Aimport org.openjdk.jmh.annotations.Benchmark;%0Aimport org.openjdk.jmh.annotations.Param;%0Aimport org.optaplanner.core.api.solver.SolverFactory;%0Aimport org.optaplanner.core.config.constructionheuristic.ConstructionHeuristicPhaseConfig;%0Aimport org.optaplanner.core.config.domain.ScanAnnotatedClassesConfig;%0Aimport org.optaplanner.core.config.localsearch.LocalSearchPhaseConfig;%0Aimport org.optaplanner.core.config.localsearch.LocalSearchType;%0Aimport org.optaplanner.core.config.score.director.ScoreDirectorFactoryConfig;%0Aimport org.optaplanner.core.config.solver.SolverConfig;%0Aimport org.optaplanner.core.config.solver.termination.TerminationConfig;%0A%0Apublic class ConferenceSchedulingBenchmark extends AbstractPlannerBenchmark%3CConferenceSolution%3E %7B%0A%0A    private static final String CONFERENCE_SCHEDULING_DOMAIN_PACKAGE = %22org.jboss.qa.brms.performance.examples.conferencescheduling%22;%0A    private static final String CONFERENCE_SCHEDULING_DROOLS_SCORE_RULES_FILE = %22org/jboss/qa/brms/performance/examples/conferencescheduling/solver/conferenceSchedulingScoreRules.drl%22;%0A%0A    @Param(%7B%22TALKS_36_TIMESLOTS_12_ROOMS_5%22, %22TALKS_108_TIMESLOTS_18_ROOMS_10%22, %22TALKS_216_TIMESLOTS_18_ROOMS_20%22%7D)%0A    private ConferenceScheduling.DataSet dataSet;%0A%0A    @Override%0A    public void initSolution() %7B%0A        super.setSolution(new ConferenceScheduling().loadSolvingProblem(dataSet));%0A    %7D%0A%0A    @Override%0A    public void initSolver() %7B%0A        SolverFactory%3CConferenceSolution%3E solverFactory = SolverFactory.createEmpty();%0A        SolverConfig solverConfig = solverFactory.getSolverConfig();%0A%0A        ScanAnnotatedClassesConfig scanAnnotatedClassesConfig = new ScanAnnotatedClassesConfig();%0A        scanAnnotatedClassesConfig.setPackageIncludeList(Collections.singletonList(CONFERENCE_SCHEDULING_DOMAIN_PACKAGE));%0A%0A        ScoreDirectorFactoryConfig scoreDirectorFactoryConfig = new ScoreDirectorFactoryConfig();%0A        scoreDirectorFactoryConfig.setScoreDrlList(Collections.singletonList(CONFERENCE_SCHEDULING_DROOLS_SCORE_RULES_FILE));%0A%0A        LocalSearchPhaseConfig localSearchPhaseConfig = new LocalSearchPhaseConfig();%0A        localSearchPhaseConfig.setLocalSearchType(LocalSearchType.TABU_SEARCH);%0A%0A        solverConfig.setPhaseConfigList(Arrays.asList(new ConstructionHeuristicPhaseConfig(), localSearchPhaseConfig));%0A        solverConfig.setScoreDirectorFactoryConfig(scoreDirectorFactoryConfig);%0A        solverConfig.setScanAnnotatedClassesConfig(scanAnnotatedClassesConfig);%0A        solverConfig.setTerminationConfig(new TerminationConfig().withTerminationClass(ConferenceSchedulingTermination.class));%0A%0A        super.setSolver(solverFactory.buildSolver());%0A    %7D%0A%0A    @Benchmark%0A    public ConferenceSolution benchmark() %7B%0A        return super.benchmark();%0A    %7D%0A%7D%0A

Add Conference Scheduling benchmark