[jboss-svn-commits] JBL Code SVN: r33550 - labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jun 18 14:41:20 EDT 2010


Author: ge0ffrey
Date: 2010-06-18 14:41:20 -0400 (Fri, 18 Jun 2010)
New Revision: 33550

Modified:
   labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java
   labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java
Log:
show average calculate count per second

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java	2010-06-18 16:49:32 UTC (rev 33549)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java	2010-06-18 18:41:20 UTC (rev 33550)
@@ -150,7 +150,7 @@
     }
 
     public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
-        localSearchSolverScope.resetTimeMillisSpend();
+        localSearchSolverScope.reset();
         if (randomSeed != null) {
             logger.info("Solving with random seed ({}).", randomSeed);
             localSearchSolverScope.setWorkingRandom(new Random(randomSeed));
@@ -194,10 +194,15 @@
         bestSolutionRecaller.solvingEnded(localSearchSolverScope);
         termination.solvingEnded(localSearchSolverScope);
         decider.solvingEnded(localSearchSolverScope);
-        logger.info("Solved at step index ({}) with time spend ({}) for best score ({}).", new Object[] {
+        long timeMillisSpend = localSearchSolverScope.calculateTimeMillisSpend();
+        long averageCalculateCountPerSecond = localSearchSolverScope.getCalculateCount() * 1000L / timeMillisSpend;
+        logger.info("Solved at step index ({}) with time spend ({}) for best score ({})"
+                + " with average calculate count per second ({}).",
+                new Object[] {
                 localSearchSolverScope.getLastCompletedStepScope().getStepIndex(),
-                localSearchSolverScope.calculateTimeMillisSpend(),
-                localSearchSolverScope.getBestScore()
+                timeMillisSpend,
+                localSearchSolverScope.getBestScore(),
+                averageCalculateCountPerSecond
         });
     }
 

Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java	2010-06-18 16:49:32 UTC (rev 33549)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java	2010-06-18 18:41:20 UTC (rev 33550)
@@ -9,7 +9,6 @@
 import org.drools.RuleBase;
 import org.drools.StatefulSession;
 import org.drools.WorkingMemory;
-import org.drools.planner.core.move.Move;
 import org.drools.planner.core.score.calculator.ScoreCalculator;
 import org.drools.planner.core.score.Score;
 import org.drools.planner.core.score.constraint.ConstraintOccurrence;
@@ -37,6 +36,7 @@
     private Random workingRandom;
 
     private Score startingScore;
+    private long calculateCount;
 
     private int bestSolutionStepIndex;
     private Solution bestSolution;
@@ -105,6 +105,10 @@
         this.startingScore = startingScore;
     }
 
+    public long getCalculateCount() {
+        return calculateCount;
+    }
+
     public int getBestSolutionStepIndex() {
         return bestSolutionStepIndex;
     }
@@ -145,11 +149,13 @@
         workingMemory.fireAllRules();
         Score score = workingScoreCalculator.calculateScore();
         workingSolution.setScore(score);
+        calculateCount++;
         return score;
     }
 
-    public void resetTimeMillisSpend() {
+    public void reset() {
         startingSystemTimeMillis = System.currentTimeMillis();
+        calculateCount = 0L;
     }
 
     public long calculateTimeMillisSpend() {



More information about the jboss-svn-commits mailing list