[jboss-svn-commits] JBL Code SVN: r19624 - 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
Fri Apr 18 09:48:19 EDT 2008


Author: ge0ffrey
Date: 2008-04-18 09:48:19 -0400 (Fri, 18 Apr 2008)
New Revision: 19624

Modified:
   labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.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-18 13:06:26 UTC (rev 19623)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java	2008-04-18 13:48:19 UTC (rev 19624)
@@ -19,6 +19,7 @@
 
     protected int completeTabuSize = -1;
     protected int partialTabuSize = 0;
+    protected boolean aspirationEnabled = true;
 
     protected Map<Object, Integer> tabuToStepIndexMap;
     protected List<Object> tabuSequenceList;
@@ -35,6 +36,10 @@
         this.partialTabuSize = partialTabuSize;
     }
 
+    public void setAspirationEnabled(boolean aspirationEnabled) {
+        this.aspirationEnabled = aspirationEnabled;
+    }
+
     // ************************************************************************
     // Worker methods
     // ************************************************************************
@@ -58,8 +63,10 @@
 
     @Override
     public double calculateAcceptChance(MoveScope moveScope) {
-        // TODO aspiration
-
+        if (aspirationEnabled
+                && moveScope.getScore() > moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()) {
+            return 1.0;
+        }
         Collection<? extends Object> tabus = findTabu(moveScope);
         int maximumTabuStepIndex = -1;
         for (Object tabu : tabus) {




More information about the jboss-svn-commits mailing list