[jboss-svn-commits] JBL Code SVN: r19729 - labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Apr 26 03:36:00 EDT 2008


Author: ge0ffrey
Date: 2008-04-26 03:36:00 -0400 (Sat, 26 Apr 2008)
New Revision: 19729

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java
Log:
aspiration

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java	2008-04-26 04:36:09 UTC (rev 19728)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java	2008-04-26 07:36:00 UTC (rev 19729)
@@ -63,10 +63,6 @@
 
     @Override
     public double calculateAcceptChance(MoveScope moveScope) {
-        if (aspirationEnabled
-                && moveScope.getScore() > moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()) {
-            return 1.0;
-        }
         Collection<? extends Object> tabus = findTabu(moveScope);
         int maximumTabuStepIndex = -1;
         for (Object tabu : tabus) {
@@ -79,6 +75,11 @@
             // The move isn't tabu at all
             return 1.0;
         }
+        if (aspirationEnabled
+                && moveScope.getScore() > moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()) {
+            logger.debug("    Proposed move ({}) is tabu, but aspiration undoes its tabu.", moveScope.getMove());
+            return 1.0;
+        }
         int tabuStepCount = moveScope.getStepScope().getStepIndex() - maximumTabuStepIndex - 1;
         if (tabuStepCount < completeTabuSize) {
             logger.debug("    Proposed move ({}) is complete tabu.", moveScope.getMove());

Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java	2008-04-26 04:36:09 UTC (rev 19728)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java	2008-04-26 07:36:00 UTC (rev 19729)
@@ -11,6 +11,11 @@
  */
 public class SolutionTabuAccepter extends AbstractTabuAccepter {
 
+    public SolutionTabuAccepter() {
+        // Disable aspiration by default because it's useless on solution tabu
+        aspirationEnabled = false;
+    }
+
     // ************************************************************************
     // Worker methods
     // ************************************************************************




More information about the jboss-svn-commits mailing list