[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