[jboss-svn-commits] JBL Code SVN: r16646 - in labs/jbossrules/trunk/drools-solver: drools-solver-core/src/main/java/org/drools/solver/core/score/calculator and 3 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Nov 16 10:44:01 EST 2007
Author: ge0ffrey
Date: 2007-11-16 10:44:01 -0500 (Fri, 16 Nov 2007)
New Revision: 16646
Added:
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/app/ExaminationBenchmarkApp.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/benchmark/examinationSolverBenchmarkConfig.xml
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/config/localsearch/decider/selector/SelectorConfig.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/calculator/AbstractScoreCalculator.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/solver/examinationSolverConfig.xml
Log:
examination benchmarker
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/config/localsearch/decider/selector/SelectorConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/config/localsearch/decider/selector/SelectorConfig.java 2007-11-16 15:18:20 UTC (rev 16645)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/config/localsearch/decider/selector/SelectorConfig.java 2007-11-16 15:44:01 UTC (rev 16646)
@@ -1,6 +1,7 @@
package org.drools.solver.config.localsearch.decider.selector;
import com.thoughtworks.xstream.annotations.XStreamAlias;
+import org.drools.solver.core.localsearch.decider.selector.CachedMoveListMoveFactory;
import org.drools.solver.core.localsearch.decider.selector.MoveFactory;
/**
@@ -11,6 +12,7 @@
private MoveFactory moveFactory = null;
private Class<MoveFactory> moveFactoryClass = null;
+ private Boolean shuffleMovesEveryStep = null;
public MoveFactory getMoveFactory() {
return moveFactory;
@@ -28,7 +30,13 @@
this.moveFactoryClass = moveFactoryClass;
}
- // ************************************************************************
+ public Boolean getShuffleMovesEveryStep() {
+ return shuffleMovesEveryStep;
+ }
+
+ public void setShuffleMovesEveryStep(Boolean shuffleMovesEveryStep) {
+ this.shuffleMovesEveryStep = shuffleMovesEveryStep;
+ }// ************************************************************************
// Builder methods
// ************************************************************************
@@ -37,7 +45,13 @@
return moveFactory;
} else if (moveFactoryClass != null) {
try {
- return moveFactoryClass.newInstance();
+ MoveFactory moveFactory = moveFactoryClass.newInstance();
+ if (shuffleMovesEveryStep != null)
+ {
+ ((CachedMoveListMoveFactory) moveFactory).setShuffleListEveryStep(
+ shuffleMovesEveryStep.booleanValue());
+ }
+ return moveFactory;
} catch (InstantiationException e) {
throw new IllegalArgumentException("moveFactoryClass (" + moveFactoryClass.getName()
+ ") does not have a public no-arg constructor", e);
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/calculator/AbstractScoreCalculator.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/calculator/AbstractScoreCalculator.java 2007-11-16 15:18:20 UTC (rev 16645)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/score/calculator/AbstractScoreCalculator.java 2007-11-16 15:44:01 UTC (rev 16646)
@@ -1,10 +1,12 @@
package org.drools.solver.core.score.calculator;
+import java.io.Serializable;
+
/**
* Makes it easier to implement a ScoreCalculator.
* @author Geoffrey De Smet
*/
-public abstract class AbstractScoreCalculator implements ScoreCalculator {
+public abstract class AbstractScoreCalculator implements ScoreCalculator, Serializable {
// ************************************************************************
// Worker methods
Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/app/ExaminationBenchmarkApp.java (from rev 16644, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/nqueens/app/NQueensBenchmarkApp.java)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/app/ExaminationBenchmarkApp.java (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/app/ExaminationBenchmarkApp.java 2007-11-16 15:44:01 UTC (rev 16646)
@@ -0,0 +1,26 @@
+package org.drools.solver.examples.itc2007.examination.app;
+
+import java.io.File;
+
+import org.drools.solver.examples.common.app.CommonBenchmarkApp;
+import org.drools.solver.examples.nqueens.app.NQueensBenchmarkApp;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class ExaminationBenchmarkApp extends CommonBenchmarkApp {
+
+ public static final String SOLVER_BENCHMARK_CONFIG
+ = "/org/drools/solver/examples/itc2007/examination/benchmark/examinationSolverBenchmarkConfig.xml";
+ public static final File SOLVER_BENCHMARK_RESULT_FILE
+ = new File("local/data/itc2007/examination/examinationSolverBenchmarkResult.xml");
+
+ public static void main(String[] args) {
+ new NQueensBenchmarkApp(SOLVER_BENCHMARK_CONFIG, SOLVER_BENCHMARK_RESULT_FILE).process();
+ }
+
+ public ExaminationBenchmarkApp(String solverBenchmarkConfig, File resultFile) {
+ super(solverBenchmarkConfig, resultFile);
+ }
+
+}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/benchmark/examinationSolverBenchmarkConfig.xml (from rev 16644, labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/nqueens/benchmark/nqueensSolverBenchmarkConfig.xml)
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/benchmark/examinationSolverBenchmarkConfig.xml (rev 0)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/benchmark/examinationSolverBenchmarkConfig.xml 2007-11-16 15:44:01 UTC (rev 16646)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<solverBenchmarkSuite>
+ <solvedSolutionVerbosity>ALL</solvedSolutionVerbosity>
+ <solvedSolutionFilesDirectory>local/data/itc2007/examination/solved</solvedSolutionFilesDirectory>
+ <sortSolverBenchmarks>true</sortSolverBenchmarks>
+ <!-- solverBenchmarkResultComparator -->
+
+ <inheritedUnsolvedSolutionFile>data/itc2007/examination/unsolved/exam_comp_set1.xml</inheritedUnsolvedSolutionFile>
+ <inheritedLocalSearchSolver>
+ <scoreDrl>/org/drools/solver/examples/itc2007/examination/solver/examinationScoreRules.drl</scoreDrl>
+ <scoreCalculator>
+ <scoreCalculatorType>HARD_AND_SOFT_CONSTRAINTS</scoreCalculatorType>
+ </scoreCalculator>
+ <finish>
+ <!--<maximumSecondsSpend>429</maximumSecondsSpend>-->
+ <maximumStepCount>100</maximumStepCount>
+ </finish>
+ </inheritedLocalSearchSolver>
+
+ <solverBenchmark>
+ <localSearchSolver>
+ <selector>
+ <moveFactoryClass>org.drools.solver.examples.itc2007.examination.solver.ExaminationMoveFactory</moveFactoryClass>
+ <shuffleMovesEveryStep>true</shuffleMovesEveryStep>
+ </selector>
+ <accepter>
+ <accepterType>SIMULATED_ANNEALING</accepterType>
+ </accepter>
+ <forager>
+ <foragerType>FIRST_RANDOMLY_ACCEPTED</foragerType>
+ </forager>
+ </localSearchSolver>
+ </solverBenchmark>
+</solverBenchmarkSuite>
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/solver/examinationSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/solver/examinationSolverConfig.xml 2007-11-16 15:18:20 UTC (rev 16645)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/resources/org/drools/solver/examples/itc2007/examination/solver/examinationSolverConfig.xml 2007-11-16 15:44:01 UTC (rev 16646)
@@ -9,9 +9,8 @@
<!--<maximumStepCount>100</maximumStepCount>-->
</finish>
<selector>
- <moveFactory class="org.drools.solver.examples.itc2007.examination.solver.ExaminationMoveFactory">
- <shuffleListEveryStep>true</shuffleListEveryStep>
- </moveFactory>
+ <moveFactoryClass>org.drools.solver.examples.itc2007.examination.solver.ExaminationMoveFactory</moveFactoryClass>
+ <shuffleMovesEveryStep>true</shuffleMovesEveryStep>
</selector>
<!--<accepter>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
More information about the jboss-svn-commits
mailing list