[jboss-svn-commits] JBL Code SVN: r33466 - in labs/jbossrules/trunk/drools-planner: drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Sun Jun 13 06:42:43 EDT 2010
Author: ge0ffrey
Date: 2010-06-13 06:42:43 -0400 (Sun, 13 Jun 2010)
New Revision: 33466
Added:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/AverageScoreSolverBenchmarkComparator.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/WorstScoreSolverBenchmarkComparator.java
Removed:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/MaxScoreSolverBenchmarkComparator.java
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmark.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultHardAndSoftScore.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultSimpleScore.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/Score.java
labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt
Log:
typo in Score method + AverageScoreSolverBenchmarkComparator + rename to WorstScoreSolverBenchmarkComparator
Added: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/AverageScoreSolverBenchmarkComparator.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/AverageScoreSolverBenchmarkComparator.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/AverageScoreSolverBenchmarkComparator.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -0,0 +1,23 @@
+package org.drools.planner.benchmark;
+
+import java.util.Comparator;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.core.score.Score;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class AverageScoreSolverBenchmarkComparator implements Comparator<SolverBenchmark> {
+
+ private WorstScoreSolverBenchmarkComparator worstScoreSolverBenchmarkComparator
+ = new WorstScoreSolverBenchmarkComparator();
+
+ public int compare(SolverBenchmark a, SolverBenchmark b) {
+ return new CompareToBuilder()
+ .append(a.getAverageScore(), b.getAverageScore())
+ .append(a, b, worstScoreSolverBenchmarkComparator)
+ .toComparison();
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/MaxScoreSolverBenchmarkComparator.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/MaxScoreSolverBenchmarkComparator.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/MaxScoreSolverBenchmarkComparator.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -1,21 +0,0 @@
-package org.drools.planner.benchmark;
-
-import java.util.Comparator;
-
-import org.apache.commons.lang.builder.CompareToBuilder;
-
-/**
- * @author Geoffrey De Smet
- */
-public class MaxScoreSolverBenchmarkComparator implements Comparator<SolverBenchmark> {
-
- public int compare(SolverBenchmark a, SolverBenchmark b) {
- SolverBenchmarkResult aResult = a.getWorstResult();
- SolverBenchmarkResult bResult = b.getWorstResult();
- return new CompareToBuilder()
- .append(aResult.getScore(), bResult.getScore())
- .append(- aResult.getTimeMillisSpend(), - bResult.getTimeMillisSpend())
- .toComparison();
- }
-
-}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmark.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmark.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmark.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -7,6 +7,7 @@
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import org.drools.planner.config.localsearch.LocalSearchSolverConfig;
+import org.drools.planner.core.score.Score;
/**
* @author Geoffrey De Smet
@@ -99,16 +100,28 @@
}
}
- public SolverBenchmarkResult getWorstResult() {
- SolverBenchmarkResult worstResult = null;
+ public List<Score> getScoreList() {
+ List<Score> scoreList = new ArrayList<Score>(solverBenchmarkResultList.size());
for (SolverBenchmarkResult solverBenchmarkResult : solverBenchmarkResultList) {
- if (worstResult == null || solverBenchmarkResult.getScore().compareTo(worstResult.getScore()) < 0
- || (solverBenchmarkResult.getScore().equals(worstResult.getScore())
- && solverBenchmarkResult.getTimeMillisSpend() > worstResult.getTimeMillisSpend())) {
- worstResult = solverBenchmarkResult;
+ scoreList.add(solverBenchmarkResult.getScore());
+ }
+ return scoreList;
+ }
+
+ /**
+ * Note that the average score
+ * @return the average score
+ */
+ public Score getAverageScore() {
+ Score totalScore = null;
+ for (SolverBenchmarkResult solverBenchmarkResult : solverBenchmarkResultList) {
+ if (totalScore == null) {
+ totalScore = solverBenchmarkResult.getScore();
+ } else {
+ totalScore.add(solverBenchmarkResult.getScore());
}
}
- return worstResult;
+ return totalScore.divide(solverBenchmarkResultList.size());
}
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/SolverBenchmarkSuite.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -316,7 +316,7 @@
public void benchmarkingEnded() {
if (sortSolverBenchmarks) {
if (solverBenchmarkComparator == null) {
- solverBenchmarkComparator = new MaxScoreSolverBenchmarkComparator();
+ solverBenchmarkComparator = new AverageScoreSolverBenchmarkComparator();
}
Collections.sort(solverBenchmarkList, solverBenchmarkComparator);
}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/WorstScoreSolverBenchmarkComparator.java (from rev 33444, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/MaxScoreSolverBenchmarkComparator.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/WorstScoreSolverBenchmarkComparator.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/benchmark/WorstScoreSolverBenchmarkComparator.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -0,0 +1,25 @@
+package org.drools.planner.benchmark;
+
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+import org.apache.commons.lang.builder.CompareToBuilder;
+import org.drools.planner.core.score.Score;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class WorstScoreSolverBenchmarkComparator implements Comparator<SolverBenchmark> {
+
+ public int compare(SolverBenchmark a, SolverBenchmark b) {
+ List<Score> aScoreList = a.getScoreList();
+ Collections.sort(aScoreList);
+ List<Score> bScoreList = b.getScoreList();
+ Collections.sort(bScoreList);
+ return new CompareToBuilder()
+ .append(bScoreList.toArray(), aScoreList.toArray()) // Descending (start with the worst scores)
+ .toComparison();
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -62,10 +62,10 @@
} else {
Score perfectMaximumScore = stepScope.getLocalSearchSolverScope().getScoreDefinition()
.getPerfectMaximumScore();
- Score waterLevelAugend = perfectMaximumScore.substract(waterLevelScore).multiply(waterRisingRate);
+ Score waterLevelAugend = perfectMaximumScore.subtract(waterLevelScore).multiply(waterRisingRate);
waterLevelScore = waterLevelScore.add(waterLevelAugend);
// TODO maybe if waterlevel is higher than bestScore, than ...
}
}
-}
\ No newline at end of file
+}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultHardAndSoftScore.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultHardAndSoftScore.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultHardAndSoftScore.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -57,12 +57,12 @@
// Worker methods
// ************************************************************************
- public HardAndSoftScore add(HardAndSoftScore augend) {
- return new DefaultHardAndSoftScore(this.hardScore + augend.getHardScore(),
- this.softScore + augend.getSoftScore());
+ public HardAndSoftScore add(HardAndSoftScore augment) {
+ return new DefaultHardAndSoftScore(this.hardScore + augment.getHardScore(),
+ this.softScore + augment.getSoftScore());
}
- public HardAndSoftScore substract(HardAndSoftScore subtrahend) {
+ public HardAndSoftScore subtract(HardAndSoftScore subtrahend) {
return new DefaultHardAndSoftScore(this.hardScore - subtrahend.getHardScore(),
this.softScore - subtrahend.getSoftScore());
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultSimpleScore.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultSimpleScore.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/DefaultSimpleScore.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -32,11 +32,11 @@
// Worker methods
// ************************************************************************
- public SimpleScore add(SimpleScore augend) {
- return new DefaultSimpleScore(this.score + augend.getScore());
+ public SimpleScore add(SimpleScore augment) {
+ return new DefaultSimpleScore(this.score + augment.getScore());
}
- public SimpleScore substract(SimpleScore subtrahend) {
+ public SimpleScore subtract(SimpleScore subtrahend) {
return new DefaultSimpleScore(this.score - subtrahend.getScore());
}
@@ -80,4 +80,4 @@
return Integer.toString(score);
}
-}
\ No newline at end of file
+}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/Score.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/Score.java 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/Score.java 2010-06-13 10:42:43 UTC (rev 33466)
@@ -12,17 +12,17 @@
/**
* Returns a Score whose value is (this + augend).
- * @param augend value to be added to this Score
+ * @param augment value to be added to this Score
* @return this + augend
*/
- S add(S augend);
+ S add(S augment);
/**
* Returns a Score whose value is (this - subtrahend).
* @param subtrahend value to be subtracted from this Score
* @return this - subtrahend, rounded as necessary
*/
- S substract(S subtrahend);
+ S subtract(S subtrahend);
/**
* Returns a Score whose value is (this × multiplicand).
Modified: labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt
===================================================================
--- labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt 2010-06-13 09:08:48 UTC (rev 33465)
+++ labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt 2010-06-13 10:42:43 UTC (rev 33466)
@@ -300,6 +300,7 @@
}
}
+
A benchmarker config no longer supports solvedSolutionVerbosity (only ALL was supported anyway).
Before in *BenchmarkConfig.xml:
<solvedSolutionVerbosity>ALL</solvedSolutionVerbosity>
@@ -316,3 +317,15 @@
<solverBenchmarkSuite>
<benchmarkDirectory>local/data/nurserostering</benchmarkDirectory>
...
+
+Benchmarker: the class MaxScoreSolverBenchmarkComparator has been renamed to WorstScoreSolverBenchmarkComparator.
+
+A benchmarker no longer uses WorstScoreSolverBenchmarkComparator by default.
+It now uses AverageScoreSolverBenchmarkComparator by default.
+
+
+The method Score.substract has been renamed to Score.subtract
+Before in *Score.java:
+ public ...Score substract(...Score subtrahend) {
+After in *Score.java:
+ public ...Score subtract(...Score subtrahend) {
More information about the jboss-svn-commits
mailing list