[jboss-svn-commits] JBL Code SVN: r30821 - in labs/jbossrules/trunk/drools-planner: drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider and 33 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Dec 25 08:19:45 EST 2009
Author: ge0ffrey
Date: 2009-12-25 08:19:43 -0500 (Fri, 25 Dec 2009)
New Revision: 30821
Added:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AcceptorConfig.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Acceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAcceptor.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/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAcceptor.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptorTest.java
Removed:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/accepter/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AccepterConfig.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Accepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAccepter.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/accepter/
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepterTest.java
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/LocalSearchSolverConfig.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/DefaultDecider.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/TabuPropertyEnabled.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/forager/AcceptedForager.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/definition/ScoreDefinition.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/LectureSwitchMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/PeriodChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/RoomChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/ExamSwitchMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/PeriodChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/RoomChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/lessonschedule/solver/move/TimeslotChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/manners2009/solver/move/SeatDesignationSwitchMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nqueens/solver/move/YChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedDesignationSwitchMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/simple/move/DayChangeMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MatchSwapMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MultipleMatchListRotateMove.java
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseShortSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationShortSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/solver/examinationSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/lessonschedule/solver/lessonScheduleSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/manners2009/solver/manners2009SolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/benchmark/nqueensSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/solver/nqueensSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/benchmark/patientAdmissionScheduleSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/breakNl14SolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/smartTravelingTournamentSolverBenchmarkConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/simple/simpleTravelingTournamentSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/smart/smartTravelingTournamentSolverConfig.xml
labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/test/resources/org/drools/planner/examples/nqueens/solver/nqueensSmokeSolverConfig.xml
labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt
Log:
Rename accepter to acceptor
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/LocalSearchSolverConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/LocalSearchSolverConfig.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/LocalSearchSolverConfig.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -13,7 +13,7 @@
import org.drools.RuleBaseFactory;
import org.drools.compiler.DroolsParserException;
import org.drools.compiler.PackageBuilder;
-import org.drools.planner.config.localsearch.decider.accepter.AccepterConfig;
+import org.drools.planner.config.localsearch.decider.acceptor.AcceptorConfig;
import org.drools.planner.config.localsearch.decider.forager.ForagerConfig;
import org.drools.planner.config.localsearch.decider.selector.SelectorConfig;
import org.drools.planner.config.localsearch.decider.deciderscorecomparator.DeciderScoreComparatorFactoryConfig;
@@ -51,8 +51,8 @@
= new DeciderScoreComparatorFactoryConfig();
@XStreamAlias("selector")
private SelectorConfig selectorConfig = new SelectorConfig();
- @XStreamAlias("accepter")
- private AccepterConfig accepterConfig = new AccepterConfig();
+ @XStreamAlias("acceptor")
+ private AcceptorConfig acceptorConfig = new AcceptorConfig();
@XStreamAlias("forager")
private ForagerConfig foragerConfig = new ForagerConfig();
@@ -121,12 +121,12 @@
this.selectorConfig = selectorConfig;
}
- public AccepterConfig getAccepterConfig() {
- return accepterConfig;
+ public AcceptorConfig getAcceptorConfig() {
+ return acceptorConfig;
}
- public void setAccepterConfig(AccepterConfig accepterConfig) {
- this.accepterConfig = accepterConfig;
+ public void setAcceptorConfig(AcceptorConfig acceptorConfig) {
+ this.acceptorConfig = acceptorConfig;
}
public ForagerConfig getForagerConfig() {
@@ -211,7 +211,7 @@
DefaultDecider decider = new DefaultDecider();
decider.setDeciderScoreComparator(deciderScoreComparatorFactoryConfig.buildDeciderScoreComparatorFactory());
decider.setSelector(selectorConfig.buildSelector());
- decider.setAccepter(accepterConfig.buildAccepter());
+ decider.setAcceptor(acceptorConfig.buildAcceptor());
decider.setForager(foragerConfig.buildForager());
return decider;
}
@@ -256,10 +256,10 @@
} else if (inheritedConfig.getSelectorConfig() != null) {
selectorConfig.inherit(inheritedConfig.getSelectorConfig());
}
- if (accepterConfig == null) {
- accepterConfig = inheritedConfig.getAccepterConfig();
- } else if (inheritedConfig.getAccepterConfig() != null) {
- accepterConfig.inherit(inheritedConfig.getAccepterConfig());
+ if (acceptorConfig == null) {
+ acceptorConfig = inheritedConfig.getAcceptorConfig();
+ } else if (inheritedConfig.getAcceptorConfig() != null) {
+ acceptorConfig.inherit(inheritedConfig.getAcceptorConfig());
}
if (foragerConfig == null) {
foragerConfig = inheritedConfig.getForagerConfig();
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/accepter)
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AccepterConfig.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/accepter/AccepterConfig.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AccepterConfig.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,284 +0,0 @@
-package org.drools.planner.config.localsearch.decider.accepter;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.thoughtworks.xstream.annotations.XStreamAlias;
-import com.thoughtworks.xstream.annotations.XStreamImplicit;
-import org.apache.commons.lang.ObjectUtils;
-import org.drools.planner.core.localsearch.decider.accepter.Accepter;
-import org.drools.planner.core.localsearch.decider.accepter.CompositeAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.greatdeluge.GreatDelugeAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.simulatedannealing.SimulatedAnnealingAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.MoveTabuAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.PropertyTabuAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.SolutionTabuAccepter;
-
-/**
- * @author Geoffrey De Smet
- */
- at XStreamAlias("accepter")
-public class AccepterConfig {
-
- private Accepter accepter = null; // TODO make into a list
- private Class<Accepter> accepterClass = null;
-
- @XStreamImplicit(itemFieldName = "accepterType")
- private List<AccepterType> accepterTypeList = null;
-
- protected Integer completeMoveTabuSize = null;
- protected Integer partialMoveTabuSize = null;
- protected Integer completeUndoMoveTabuSize = null;
- protected Integer partialUndoMoveTabuSize = null;
- protected Integer completePropertyTabuSize = null;
- protected Integer partialPropertyTabuSize = null;
- protected Integer completeSolutionTabuSize = null;
- protected Integer partialSolutionTabuSize = null;
-
- protected Double greatDelugeWaterLevelUpperBoundRate = null;
- protected Double greatDelugeWaterRisingRate = null;
-
- public Accepter getAccepter() {
- return accepter;
- }
-
- public void setAccepter(Accepter accepter) {
- this.accepter = accepter;
- }
-
- public Class<Accepter> getAccepterClass() {
- return accepterClass;
- }
-
- public void setAccepterClass(Class<Accepter> accepterClass) {
- this.accepterClass = accepterClass;
- }
-
- public List<AccepterType> getAccepterTypeList() {
- return accepterTypeList;
- }
-
- public void setAccepterTypeList(List<AccepterType> accepterTypeList) {
- this.accepterTypeList = accepterTypeList;
- }
-
- public Integer getCompleteMoveTabuSize() {
- return completeMoveTabuSize;
- }
-
- public void setCompleteMoveTabuSize(Integer completeMoveTabuSize) {
- this.completeMoveTabuSize = completeMoveTabuSize;
- }
-
- public Integer getPartialMoveTabuSize() {
- return partialMoveTabuSize;
- }
-
- public void setPartialMoveTabuSize(Integer partialMoveTabuSize) {
- this.partialMoveTabuSize = partialMoveTabuSize;
- }
-
- public Integer getCompleteUndoMoveTabuSize() {
- return completeUndoMoveTabuSize;
- }
-
- public void setCompleteUndoMoveTabuSize(Integer completeUndoMoveTabuSize) {
- this.completeUndoMoveTabuSize = completeUndoMoveTabuSize;
- }
-
- public Integer getPartialUndoMoveTabuSize() {
- return partialUndoMoveTabuSize;
- }
-
- public void setPartialUndoMoveTabuSize(Integer partialUndoMoveTabuSize) {
- this.partialUndoMoveTabuSize = partialUndoMoveTabuSize;
- }
-
- public Integer getCompletePropertyTabuSize() {
- return completePropertyTabuSize;
- }
-
- public void setCompletePropertyTabuSize(Integer completePropertyTabuSize) {
- this.completePropertyTabuSize = completePropertyTabuSize;
- }
-
- public Integer getPartialPropertyTabuSize() {
- return partialPropertyTabuSize;
- }
-
- public void setPartialPropertyTabuSize(Integer partialPropertyTabuSize) {
- this.partialPropertyTabuSize = partialPropertyTabuSize;
- }
-
- public Integer getCompleteSolutionTabuSize() {
- return completeSolutionTabuSize;
- }
-
- public void setCompleteSolutionTabuSize(Integer completeSolutionTabuSize) {
- this.completeSolutionTabuSize = completeSolutionTabuSize;
- }
-
- public Integer getPartialSolutionTabuSize() {
- return partialSolutionTabuSize;
- }
-
- public void setPartialSolutionTabuSize(Integer partialSolutionTabuSize) {
- this.partialSolutionTabuSize = partialSolutionTabuSize;
- }
-
- public void setGreatDelugeWaterLevelUpperBoundRate(Double greatDelugeWaterLevelUpperBoundRate) {
- this.greatDelugeWaterLevelUpperBoundRate = greatDelugeWaterLevelUpperBoundRate;
- }
-
- public void setGreatDelugeWaterRisingRate(Double greatDelugeWaterRisingRate) {
- this.greatDelugeWaterRisingRate = greatDelugeWaterRisingRate;
- }
-
- // ************************************************************************
- // Builder methods
- // ************************************************************************
-
- public Accepter buildAccepter() {
- List<Accepter> accepterList = new ArrayList<Accepter>();
- if (accepter != null) {
- accepterList.add(accepter);
- }
- if (accepterClass != null) {
- try {
- accepterList.add(accepterClass.newInstance());
- } catch (InstantiationException e) {
- throw new IllegalArgumentException("accepterClass (" + accepterClass.getName()
- + ") does not have a public no-arg constructor", e);
- } catch (IllegalAccessException e) {
- throw new IllegalArgumentException("accepterClass (" + accepterClass.getName()
- + ") does not have a public no-arg constructor", e);
- }
- }
-
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.MOVE_TABU))
- || completeMoveTabuSize != null || partialMoveTabuSize != null) {
- MoveTabuAccepter moveTabuAccepter = new MoveTabuAccepter();
- moveTabuAccepter.setUseUndoMoveAsTabuMove(false);
- if (completeMoveTabuSize != null) {
- moveTabuAccepter.setCompleteTabuSize(completeMoveTabuSize);
- }
- if (partialMoveTabuSize != null) {
- moveTabuAccepter.setPartialTabuSize(partialMoveTabuSize);
- }
- accepterList.add(moveTabuAccepter);
- }
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.UNDO_MOVE_TABU))
- || completeUndoMoveTabuSize != null || partialUndoMoveTabuSize != null) {
- MoveTabuAccepter undoMoveTabuAccepter = new MoveTabuAccepter();
- undoMoveTabuAccepter.setUseUndoMoveAsTabuMove(true);
- if (completeUndoMoveTabuSize != null) {
- undoMoveTabuAccepter.setCompleteTabuSize(completeUndoMoveTabuSize);
- }
- if (partialUndoMoveTabuSize != null) {
- undoMoveTabuAccepter.setPartialTabuSize(partialUndoMoveTabuSize);
- }
- accepterList.add(undoMoveTabuAccepter);
- }
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.PROPERTY_TABU))
- || completePropertyTabuSize != null || partialPropertyTabuSize != null) {
- PropertyTabuAccepter propertyTabuAccepter = new PropertyTabuAccepter();
- if (completePropertyTabuSize != null) {
- propertyTabuAccepter.setCompleteTabuSize(completePropertyTabuSize);
- }
- if (partialPropertyTabuSize != null) {
- propertyTabuAccepter.setPartialTabuSize(partialPropertyTabuSize);
- }
- accepterList.add(propertyTabuAccepter);
- }
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.SOLUTION_TABU))
- || completeSolutionTabuSize != null || partialSolutionTabuSize != null) {
- SolutionTabuAccepter solutionTabuAccepter = new SolutionTabuAccepter();
- if (completeSolutionTabuSize != null) {
- solutionTabuAccepter.setCompleteTabuSize(completeSolutionTabuSize);
- }
- if (partialSolutionTabuSize != null) {
- solutionTabuAccepter.setPartialTabuSize(partialSolutionTabuSize);
- }
- accepterList.add(solutionTabuAccepter);
- }
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.SIMULATED_ANNEALING))) {
- SimulatedAnnealingAccepter simulatedAnnealingAccepter = new SimulatedAnnealingAccepter();
- accepterList.add(simulatedAnnealingAccepter);
- }
- if ((accepterTypeList != null && accepterTypeList.contains(AccepterType.GREAT_DELUGE))
- || greatDelugeWaterLevelUpperBoundRate != null || greatDelugeWaterRisingRate != null) {
- double waterLevelUpperBoundRate = (Double) ObjectUtils.defaultIfNull(
- greatDelugeWaterLevelUpperBoundRate, 1.20);
- double waterRisingRate = (Double) ObjectUtils.defaultIfNull(
- greatDelugeWaterRisingRate, 0.0000001);
- accepterList.add(new GreatDelugeAccepter(waterLevelUpperBoundRate, waterRisingRate));
- }
- if (accepterList.size() == 1) {
- return accepterList.get(0);
- } else if (accepterList.size() > 1) {
- CompositeAccepter compositeAccepter = new CompositeAccepter();
- compositeAccepter.setAccepterList(accepterList);
- return compositeAccepter;
- } else {
- SolutionTabuAccepter solutionTabuAccepter = new SolutionTabuAccepter();
- solutionTabuAccepter.setCompleteTabuSize(1500); // TODO number pulled out of thin air
- return solutionTabuAccepter;
- }
- }
-
- public void inherit(AccepterConfig inheritedConfig) {
- // inherited accepters get compositely added
- if (accepter == null) {
- accepter = inheritedConfig.getAccepter();
- }
- if (accepterClass == null) {
- accepterClass = inheritedConfig.getAccepterClass();
- }
- if (accepterTypeList == null) {
- accepterTypeList = inheritedConfig.getAccepterTypeList();
- } else {
- List<AccepterType> inheritedAccepterTypeList = inheritedConfig.getAccepterTypeList();
- if (inheritedAccepterTypeList != null) {
- for (AccepterType accepterType : inheritedAccepterTypeList) {
- if (!accepterTypeList.contains(accepterType)) {
- accepterTypeList.add(accepterType);
- }
- }
- }
- }
- if (completeMoveTabuSize == null) {
- completeMoveTabuSize = inheritedConfig.getCompleteMoveTabuSize();
- }
- if (partialMoveTabuSize == null) {
- partialMoveTabuSize = inheritedConfig.getPartialMoveTabuSize();
- }
- if (completeUndoMoveTabuSize == null) {
- completeUndoMoveTabuSize = inheritedConfig.getCompleteUndoMoveTabuSize();
- }
- if (partialUndoMoveTabuSize == null) {
- partialUndoMoveTabuSize = inheritedConfig.getPartialUndoMoveTabuSize();
- }
- if (completePropertyTabuSize == null) {
- completePropertyTabuSize = inheritedConfig.getCompletePropertyTabuSize();
- }
- if (partialPropertyTabuSize == null) {
- partialPropertyTabuSize = inheritedConfig.getPartialPropertyTabuSize();
- }
- if (completeSolutionTabuSize == null) {
- completeSolutionTabuSize = inheritedConfig.getCompleteSolutionTabuSize();
- }
- if (partialSolutionTabuSize == null) {
- partialSolutionTabuSize = inheritedConfig.getPartialSolutionTabuSize();
- }
- }
-
- public static enum AccepterType {
- MOVE_TABU,
- UNDO_MOVE_TABU,
- PROPERTY_TABU,
- SOLUTION_TABU,
- SIMULATED_ANNEALING,
- GREAT_DELUGE,
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AcceptorConfig.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/accepter/AccepterConfig.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AcceptorConfig.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/config/localsearch/decider/acceptor/AcceptorConfig.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,284 @@
+package org.drools.planner.config.localsearch.decider.acceptor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.thoughtworks.xstream.annotations.XStreamAlias;
+import com.thoughtworks.xstream.annotations.XStreamImplicit;
+import org.apache.commons.lang.ObjectUtils;
+import org.drools.planner.core.localsearch.decider.acceptor.Acceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.CompositeAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.greatdeluge.GreatDelugeAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.simulatedannealing.SimulatedAnnealingAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.MoveTabuAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.PropertyTabuAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.SolutionTabuAcceptor;
+
+/**
+ * @author Geoffrey De Smet
+ */
+ at XStreamAlias("acceptor")
+public class AcceptorConfig {
+
+ private Acceptor acceptor = null; // TODO make into a list
+ private Class<Acceptor> acceptorClass = null;
+
+ @XStreamImplicit(itemFieldName = "acceptorType")
+ private List<AcceptorType> acceptorTypeList = null;
+
+ protected Integer completeMoveTabuSize = null;
+ protected Integer partialMoveTabuSize = null;
+ protected Integer completeUndoMoveTabuSize = null;
+ protected Integer partialUndoMoveTabuSize = null;
+ protected Integer completePropertyTabuSize = null;
+ protected Integer partialPropertyTabuSize = null;
+ protected Integer completeSolutionTabuSize = null;
+ protected Integer partialSolutionTabuSize = null;
+
+ protected Double greatDelugeWaterLevelUpperBoundRate = null;
+ protected Double greatDelugeWaterRisingRate = null;
+
+ public Acceptor getAcceptor() {
+ return acceptor;
+ }
+
+ public void setAcceptor(Acceptor acceptor) {
+ this.acceptor = acceptor;
+ }
+
+ public Class<Acceptor> getAcceptorClass() {
+ return acceptorClass;
+ }
+
+ public void setAcceptorClass(Class<Acceptor> acceptorClass) {
+ this.acceptorClass = acceptorClass;
+ }
+
+ public List<AcceptorType> getAcceptorTypeList() {
+ return acceptorTypeList;
+ }
+
+ public void setAcceptorTypeList(List<AcceptorType> acceptorTypeList) {
+ this.acceptorTypeList = acceptorTypeList;
+ }
+
+ public Integer getCompleteMoveTabuSize() {
+ return completeMoveTabuSize;
+ }
+
+ public void setCompleteMoveTabuSize(Integer completeMoveTabuSize) {
+ this.completeMoveTabuSize = completeMoveTabuSize;
+ }
+
+ public Integer getPartialMoveTabuSize() {
+ return partialMoveTabuSize;
+ }
+
+ public void setPartialMoveTabuSize(Integer partialMoveTabuSize) {
+ this.partialMoveTabuSize = partialMoveTabuSize;
+ }
+
+ public Integer getCompleteUndoMoveTabuSize() {
+ return completeUndoMoveTabuSize;
+ }
+
+ public void setCompleteUndoMoveTabuSize(Integer completeUndoMoveTabuSize) {
+ this.completeUndoMoveTabuSize = completeUndoMoveTabuSize;
+ }
+
+ public Integer getPartialUndoMoveTabuSize() {
+ return partialUndoMoveTabuSize;
+ }
+
+ public void setPartialUndoMoveTabuSize(Integer partialUndoMoveTabuSize) {
+ this.partialUndoMoveTabuSize = partialUndoMoveTabuSize;
+ }
+
+ public Integer getCompletePropertyTabuSize() {
+ return completePropertyTabuSize;
+ }
+
+ public void setCompletePropertyTabuSize(Integer completePropertyTabuSize) {
+ this.completePropertyTabuSize = completePropertyTabuSize;
+ }
+
+ public Integer getPartialPropertyTabuSize() {
+ return partialPropertyTabuSize;
+ }
+
+ public void setPartialPropertyTabuSize(Integer partialPropertyTabuSize) {
+ this.partialPropertyTabuSize = partialPropertyTabuSize;
+ }
+
+ public Integer getCompleteSolutionTabuSize() {
+ return completeSolutionTabuSize;
+ }
+
+ public void setCompleteSolutionTabuSize(Integer completeSolutionTabuSize) {
+ this.completeSolutionTabuSize = completeSolutionTabuSize;
+ }
+
+ public Integer getPartialSolutionTabuSize() {
+ return partialSolutionTabuSize;
+ }
+
+ public void setPartialSolutionTabuSize(Integer partialSolutionTabuSize) {
+ this.partialSolutionTabuSize = partialSolutionTabuSize;
+ }
+
+ public void setGreatDelugeWaterLevelUpperBoundRate(Double greatDelugeWaterLevelUpperBoundRate) {
+ this.greatDelugeWaterLevelUpperBoundRate = greatDelugeWaterLevelUpperBoundRate;
+ }
+
+ public void setGreatDelugeWaterRisingRate(Double greatDelugeWaterRisingRate) {
+ this.greatDelugeWaterRisingRate = greatDelugeWaterRisingRate;
+ }
+
+ // ************************************************************************
+ // Builder methods
+ // ************************************************************************
+
+ public Acceptor buildAcceptor() {
+ List<Acceptor> acceptorList = new ArrayList<Acceptor>();
+ if (acceptor != null) {
+ acceptorList.add(acceptor);
+ }
+ if (acceptorClass != null) {
+ try {
+ acceptorList.add(acceptorClass.newInstance());
+ } catch (InstantiationException e) {
+ throw new IllegalArgumentException("acceptorClass (" + acceptorClass.getName()
+ + ") does not have a public no-arg constructor", e);
+ } catch (IllegalAccessException e) {
+ throw new IllegalArgumentException("acceptorClass (" + acceptorClass.getName()
+ + ") does not have a public no-arg constructor", e);
+ }
+ }
+
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.MOVE_TABU))
+ || completeMoveTabuSize != null || partialMoveTabuSize != null) {
+ MoveTabuAcceptor moveTabuAcceptor = new MoveTabuAcceptor();
+ moveTabuAcceptor.setUseUndoMoveAsTabuMove(false);
+ if (completeMoveTabuSize != null) {
+ moveTabuAcceptor.setCompleteTabuSize(completeMoveTabuSize);
+ }
+ if (partialMoveTabuSize != null) {
+ moveTabuAcceptor.setPartialTabuSize(partialMoveTabuSize);
+ }
+ acceptorList.add(moveTabuAcceptor);
+ }
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.UNDO_MOVE_TABU))
+ || completeUndoMoveTabuSize != null || partialUndoMoveTabuSize != null) {
+ MoveTabuAcceptor undoMoveTabuAcceptor = new MoveTabuAcceptor();
+ undoMoveTabuAcceptor.setUseUndoMoveAsTabuMove(true);
+ if (completeUndoMoveTabuSize != null) {
+ undoMoveTabuAcceptor.setCompleteTabuSize(completeUndoMoveTabuSize);
+ }
+ if (partialUndoMoveTabuSize != null) {
+ undoMoveTabuAcceptor.setPartialTabuSize(partialUndoMoveTabuSize);
+ }
+ acceptorList.add(undoMoveTabuAcceptor);
+ }
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.PROPERTY_TABU))
+ || completePropertyTabuSize != null || partialPropertyTabuSize != null) {
+ PropertyTabuAcceptor propertyTabuAcceptor = new PropertyTabuAcceptor();
+ if (completePropertyTabuSize != null) {
+ propertyTabuAcceptor.setCompleteTabuSize(completePropertyTabuSize);
+ }
+ if (partialPropertyTabuSize != null) {
+ propertyTabuAcceptor.setPartialTabuSize(partialPropertyTabuSize);
+ }
+ acceptorList.add(propertyTabuAcceptor);
+ }
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.SOLUTION_TABU))
+ || completeSolutionTabuSize != null || partialSolutionTabuSize != null) {
+ SolutionTabuAcceptor solutionTabuAcceptor = new SolutionTabuAcceptor();
+ if (completeSolutionTabuSize != null) {
+ solutionTabuAcceptor.setCompleteTabuSize(completeSolutionTabuSize);
+ }
+ if (partialSolutionTabuSize != null) {
+ solutionTabuAcceptor.setPartialTabuSize(partialSolutionTabuSize);
+ }
+ acceptorList.add(solutionTabuAcceptor);
+ }
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.SIMULATED_ANNEALING))) {
+ SimulatedAnnealingAcceptor simulatedAnnealingAcceptor = new SimulatedAnnealingAcceptor();
+ acceptorList.add(simulatedAnnealingAcceptor);
+ }
+ if ((acceptorTypeList != null && acceptorTypeList.contains(AcceptorType.GREAT_DELUGE))
+ || greatDelugeWaterLevelUpperBoundRate != null || greatDelugeWaterRisingRate != null) {
+ double waterLevelUpperBoundRate = (Double) ObjectUtils.defaultIfNull(
+ greatDelugeWaterLevelUpperBoundRate, 1.20);
+ double waterRisingRate = (Double) ObjectUtils.defaultIfNull(
+ greatDelugeWaterRisingRate, 0.0000001);
+ acceptorList.add(new GreatDelugeAcceptor(waterLevelUpperBoundRate, waterRisingRate));
+ }
+ if (acceptorList.size() == 1) {
+ return acceptorList.get(0);
+ } else if (acceptorList.size() > 1) {
+ CompositeAcceptor compositeAcceptor = new CompositeAcceptor();
+ compositeAcceptor.setAcceptorList(acceptorList);
+ return compositeAcceptor;
+ } else {
+ SolutionTabuAcceptor solutionTabuAcceptor = new SolutionTabuAcceptor();
+ solutionTabuAcceptor.setCompleteTabuSize(1500); // TODO number pulled out of thin air
+ return solutionTabuAcceptor;
+ }
+ }
+
+ public void inherit(AcceptorConfig inheritedConfig) {
+ // inherited acceptors get compositely added
+ if (acceptor == null) {
+ acceptor = inheritedConfig.getAcceptor();
+ }
+ if (acceptorClass == null) {
+ acceptorClass = inheritedConfig.getAcceptorClass();
+ }
+ if (acceptorTypeList == null) {
+ acceptorTypeList = inheritedConfig.getAcceptorTypeList();
+ } else {
+ List<AcceptorType> inheritedAcceptorTypeList = inheritedConfig.getAcceptorTypeList();
+ if (inheritedAcceptorTypeList != null) {
+ for (AcceptorType acceptorType : inheritedAcceptorTypeList) {
+ if (!acceptorTypeList.contains(acceptorType)) {
+ acceptorTypeList.add(acceptorType);
+ }
+ }
+ }
+ }
+ if (completeMoveTabuSize == null) {
+ completeMoveTabuSize = inheritedConfig.getCompleteMoveTabuSize();
+ }
+ if (partialMoveTabuSize == null) {
+ partialMoveTabuSize = inheritedConfig.getPartialMoveTabuSize();
+ }
+ if (completeUndoMoveTabuSize == null) {
+ completeUndoMoveTabuSize = inheritedConfig.getCompleteUndoMoveTabuSize();
+ }
+ if (partialUndoMoveTabuSize == null) {
+ partialUndoMoveTabuSize = inheritedConfig.getPartialUndoMoveTabuSize();
+ }
+ if (completePropertyTabuSize == null) {
+ completePropertyTabuSize = inheritedConfig.getCompletePropertyTabuSize();
+ }
+ if (partialPropertyTabuSize == null) {
+ partialPropertyTabuSize = inheritedConfig.getPartialPropertyTabuSize();
+ }
+ if (completeSolutionTabuSize == null) {
+ completeSolutionTabuSize = inheritedConfig.getCompleteSolutionTabuSize();
+ }
+ if (partialSolutionTabuSize == null) {
+ partialSolutionTabuSize = inheritedConfig.getPartialSolutionTabuSize();
+ }
+ }
+
+ public static enum AcceptorType {
+ MOVE_TABU,
+ UNDO_MOVE_TABU,
+ PROPERTY_TABU,
+ SOLUTION_TABU,
+ SIMULATED_ANNEALING,
+ GREAT_DELUGE,
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/DefaultDecider.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/DefaultDecider.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/DefaultDecider.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -6,7 +6,7 @@
import org.drools.planner.core.localsearch.LocalSearchSolver;
import org.drools.planner.core.localsearch.LocalSearchSolverScope;
import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.accepter.Accepter;
+import org.drools.planner.core.localsearch.decider.acceptor.Acceptor;
import org.drools.planner.core.localsearch.decider.forager.Forager;
import org.drools.planner.core.localsearch.decider.selector.Selector;
import org.drools.planner.core.localsearch.decider.deciderscorecomparator.DeciderScoreComparatorFactory;
@@ -27,7 +27,7 @@
protected DeciderScoreComparatorFactory deciderScoreComparatorFactory;
protected Selector selector;
- protected Accepter accepter;
+ protected Acceptor acceptor;
protected Forager forager;
protected boolean verifyUndoMoveIsUncorrupted = false;
@@ -49,8 +49,8 @@
selector.setDecider(this);
}
- public void setAccepter(Accepter accepter) {
- this.accepter = accepter;
+ public void setAcceptor(Acceptor acceptor) {
+ this.acceptor = acceptor;
}
public Forager getForager() {
@@ -72,7 +72,7 @@
public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
deciderScoreComparatorFactory.solvingStarted(localSearchSolverScope);
selector.solvingStarted(localSearchSolverScope);
- accepter.solvingStarted(localSearchSolverScope);
+ acceptor.solvingStarted(localSearchSolverScope);
forager.solvingStarted(localSearchSolverScope);
}
@@ -80,7 +80,7 @@
deciderScoreComparatorFactory.beforeDeciding(stepScope);
stepScope.setDeciderScoreComparator(deciderScoreComparatorFactory.createDeciderScoreComparator());
selector.beforeDeciding(stepScope);
- accepter.beforeDeciding(stepScope);
+ acceptor.beforeDeciding(stepScope);
forager.beforeDeciding(stepScope);
}
@@ -132,7 +132,7 @@
private void processMove(MoveScope moveScope) {
Score score = moveScope.getStepScope().getLocalSearchSolverScope().calculateScoreFromWorkingMemory();
moveScope.setScore(score);
- double acceptChance = accepter.calculateAcceptChance(moveScope);
+ double acceptChance = acceptor.calculateAcceptChance(moveScope);
moveScope.setAcceptChance(acceptChance);
forager.addMove(moveScope);
}
@@ -140,21 +140,21 @@
public void stepDecided(StepScope stepScope) {
deciderScoreComparatorFactory.stepDecided(stepScope);
selector.stepDecided(stepScope);
- accepter.stepDecided(stepScope);
+ acceptor.stepDecided(stepScope);
forager.stepDecided(stepScope);
}
public void stepTaken(StepScope stepScope) {
deciderScoreComparatorFactory.stepTaken(stepScope);
selector.stepTaken(stepScope);
- accepter.stepTaken(stepScope);
+ acceptor.stepTaken(stepScope);
forager.stepTaken(stepScope);
}
public void solvingEnded(LocalSearchSolverScope localSearchSolverScope) {
deciderScoreComparatorFactory.solvingEnded(localSearchSolverScope);
selector.solvingEnded(localSearchSolverScope);
- accepter.solvingEnded(localSearchSolverScope);
+ acceptor.solvingEnded(localSearchSolverScope);
forager.solvingEnded(localSearchSolverScope);
}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter)
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/AbstractAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,41 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter;
-
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.localsearch.StepScope;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract superclass for {@link Accepter}.
- * @see Accepter
- * @author Geoffrey De Smet
- */
-public abstract class AbstractAccepter implements Accepter {
-
- protected final transient Logger logger = LoggerFactory.getLogger(getClass());
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
- // Hook which can be optionally overwritten by subclasses.
- }
-
- public void beforeDeciding(StepScope stepScope) {
- // Hook which can be optionally overwritten by subclasses.
- }
-
- public void stepDecided(StepScope stepScope) {
- // Hook which can be optionally overwritten by subclasses.
- }
-
- public void stepTaken(StepScope stepScope) {
- // Hook which can be optionally overwritten by subclasses.
- }
-
- public void solvingEnded(LocalSearchSolverScope localSearchSolverScope) {
- // Hook which can be optionally overwritten by subclasses.
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/AbstractAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/AbstractAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,41 @@
+package org.drools.planner.core.localsearch.decider.acceptor;
+
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.localsearch.StepScope;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Abstract superclass for {@link Acceptor}.
+ * @see Acceptor
+ * @author Geoffrey De Smet
+ */
+public abstract class AbstractAcceptor implements Acceptor {
+
+ protected final transient Logger logger = LoggerFactory.getLogger(getClass());
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
+ // Hook which can be optionally overwritten by subclasses.
+ }
+
+ public void beforeDeciding(StepScope stepScope) {
+ // Hook which can be optionally overwritten by subclasses.
+ }
+
+ public void stepDecided(StepScope stepScope) {
+ // Hook which can be optionally overwritten by subclasses.
+ }
+
+ public void stepTaken(StepScope stepScope) {
+ // Hook which can be optionally overwritten by subclasses.
+ }
+
+ public void solvingEnded(LocalSearchSolverScope localSearchSolverScope) {
+ // Hook which can be optionally overwritten by subclasses.
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Accepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/Accepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Accepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,20 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter;
-
-import org.drools.planner.core.localsearch.LocalSearchSolverLifecycleListener;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-
-/**
- * An Accepter accepts or rejects a selected move for the Decider.
- * Notice that the Forager can still ignore the advice of the Accepter.
- * @see AbstractAccepter
- * @author Geoffrey De Smet
- */
-public interface Accepter extends LocalSearchSolverLifecycleListener {
-
- /**
- * @param moveScope not null
- * @return never negative; if rejected 0.0; if accepted higher than 0.0 (ussually 1.0)
- */
- double calculateAcceptChance(MoveScope moveScope);
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Acceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/Accepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Acceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/Acceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,20 @@
+package org.drools.planner.core.localsearch.decider.acceptor;
+
+import org.drools.planner.core.localsearch.LocalSearchSolverLifecycleListener;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+
+/**
+ * An Acceptor accepts or rejects a selected move for the Decider.
+ * Notice that the Forager can still ignore the advice of the Acceptor.
+ * @see AbstractAcceptor
+ * @author Geoffrey De Smet
+ */
+public interface Acceptor extends LocalSearchSolverLifecycleListener {
+
+ /**
+ * @param moveScope not null
+ * @return never negative; if rejected 0.0; if accepted higher than 0.0 (ussually 1.0)
+ */
+ double calculateAcceptChance(MoveScope moveScope);
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/CompositeAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,70 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter;
-
-import java.util.List;
-
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-
-/**
- * Combines several accepters into one.
- * Multiplies the accept chance of its accepters.
- * For example: combine solution and property tabu to do tabu on both.
- * @author Geoffrey De Smet
- */
-public class CompositeAccepter extends AbstractAccepter {
-
- protected List<Accepter> accepterList;
-
- public void setAccepterList(List<Accepter> accepterList) {
- this.accepterList = accepterList;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
- for (Accepter accepter : accepterList) {
- accepter.solvingStarted(localSearchSolverScope);
- }
- }
-
- @Override
- public void beforeDeciding(StepScope stepScope) {
- for (Accepter accepter : accepterList) {
- accepter.beforeDeciding(stepScope);
- }
- }
-
- public double calculateAcceptChance(MoveScope moveScope) {
- double acceptChance = 1.0;
- for (Accepter accepter : accepterList) {
- acceptChance *= accepter.calculateAcceptChance(moveScope);
- }
- return acceptChance;
- }
-
- @Override
- public void stepDecided(StepScope stepScope) {
- for (Accepter accepter : accepterList) {
- accepter.stepDecided(stepScope);
- }
- }
-
- @Override
- public void stepTaken(StepScope stepScope) {
- for (Accepter accepter : accepterList) {
- accepter.stepTaken(stepScope);
- }
- }
-
- @Override
- public void solvingEnded(LocalSearchSolverScope localSearchSolverScope) {
- for (Accepter accepter : accepterList) {
- accepter.solvingEnded(localSearchSolverScope);
- }
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/CompositeAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/CompositeAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,70 @@
+package org.drools.planner.core.localsearch.decider.acceptor;
+
+import java.util.List;
+
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+
+/**
+ * Combines several acceptors into one.
+ * Multiplies the accept chance of its acceptors.
+ * For example: combine solution and property tabu to do tabu on both.
+ * @author Geoffrey De Smet
+ */
+public class CompositeAcceptor extends AbstractAcceptor {
+
+ protected List<Acceptor> acceptorList;
+
+ public void setAcceptorList(List<Acceptor> acceptorList) {
+ this.acceptorList = acceptorList;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
+ for (Acceptor acceptor : acceptorList) {
+ acceptor.solvingStarted(localSearchSolverScope);
+ }
+ }
+
+ @Override
+ public void beforeDeciding(StepScope stepScope) {
+ for (Acceptor acceptor : acceptorList) {
+ acceptor.beforeDeciding(stepScope);
+ }
+ }
+
+ public double calculateAcceptChance(MoveScope moveScope) {
+ double acceptChance = 1.0;
+ for (Acceptor acceptor : acceptorList) {
+ acceptChance *= acceptor.calculateAcceptChance(moveScope);
+ }
+ return acceptChance;
+ }
+
+ @Override
+ public void stepDecided(StepScope stepScope) {
+ for (Acceptor acceptor : acceptorList) {
+ acceptor.stepDecided(stepScope);
+ }
+ }
+
+ @Override
+ public void stepTaken(StepScope stepScope) {
+ for (Acceptor acceptor : acceptorList) {
+ acceptor.stepTaken(stepScope);
+ }
+ }
+
+ @Override
+ public void solvingEnded(LocalSearchSolverScope localSearchSolverScope) {
+ for (Acceptor acceptor : acceptorList) {
+ acceptor.solvingEnded(localSearchSolverScope);
+ }
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/greatdeluge/GreatDelugeAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,71 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.greatdeluge;
-
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-import org.drools.planner.core.localsearch.decider.accepter.AbstractAccepter;
-import org.drools.planner.core.score.Score;
-
-/**
- * TODO Under construction. Feel free to create a patch to improve this accepter!
- * @author Geoffrey De Smet
- */
-public class GreatDelugeAccepter extends AbstractAccepter {
-
- protected final double waterLevelUpperBoundRate;
- protected final double waterRisingRate;
- // TODO lowerboundRate when waterLevel rises on every MoveScope (not just every step) to reset waterlevel to upperbound
-// protected final double waterLevelLowerBoundRate;
-
- protected Score waterLevelScore = null;
-
- public GreatDelugeAccepter(double waterLevelUpperBoundRate, double waterRisingRate) {
- this.waterLevelUpperBoundRate = waterLevelUpperBoundRate;
- this.waterRisingRate = waterRisingRate;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
- if (waterLevelUpperBoundRate < 1.0) {
- throw new IllegalArgumentException("The greatDelugeWaterLevelUpperBoundRate (" + waterLevelUpperBoundRate
- + ") should be 1.0 or higher.");
- }
- if (waterRisingRate <= 0.0 || waterRisingRate >= 1.0) {
- throw new IllegalArgumentException("The greatDelugeWaterRisingRate (" + waterRisingRate
- + ") should be between 0.0 and 1.0 (preferably very close to 0.0).");
- }
- waterLevelScore = localSearchSolverScope.getBestScore().multiply(waterLevelUpperBoundRate);
- Score perfectMaximumScore = localSearchSolverScope.getScoreDefinition().getPerfectMaximumScore();
- if (waterLevelScore.compareTo(perfectMaximumScore) > 0) {
- throw new IllegalArgumentException("The waterLevelScore (" + waterLevelScore
- + ") should not be higher than the perfectMaximumScore(" + perfectMaximumScore + ").");
- }
- }
-
- public double calculateAcceptChance(MoveScope moveScope) {
- if (moveScope.getScore().compareTo(waterLevelScore) >= 0) {
- return 1.0;
- } else {
- return 0.0;
- }
- }
-
- @Override
- public void stepTaken(StepScope stepScope) {
- if (stepScope.getStepIndex() == stepScope.getLocalSearchSolverScope().getBestSolutionStepIndex()) {
- // New best score
- waterLevelScore = stepScope.getLocalSearchSolverScope().getBestScore().multiply(waterLevelUpperBoundRate);
- } else {
- Score perfectMaximumScore = stepScope.getLocalSearchSolverScope().getScoreDefinition()
- .getPerfectMaximumScore();
- Score waterLevelAugend = perfectMaximumScore.substract(waterLevelScore).multiply(waterRisingRate);
- waterLevelScore = waterLevelScore.add(waterLevelAugend);
- // TODO maybe if waterlevel is higher than bestScore, than ...
- }
- }
-
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/greatdeluge/GreatDelugeAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,71 @@
+package org.drools.planner.core.localsearch.decider.acceptor.greatdeluge;
+
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor;
+import org.drools.planner.core.score.Score;
+
+/**
+ * TODO Under construction. Feel free to create a patch to improve this acceptor!
+ * @author Geoffrey De Smet
+ */
+public class GreatDelugeAcceptor extends AbstractAcceptor {
+
+ protected final double waterLevelUpperBoundRate;
+ protected final double waterRisingRate;
+ // TODO lowerboundRate when waterLevel rises on every MoveScope (not just every step) to reset waterlevel to upperbound
+// protected final double waterLevelLowerBoundRate;
+
+ protected Score waterLevelScore = null;
+
+ public GreatDelugeAcceptor(double waterLevelUpperBoundRate, double waterRisingRate) {
+ this.waterLevelUpperBoundRate = waterLevelUpperBoundRate;
+ this.waterRisingRate = waterRisingRate;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
+ if (waterLevelUpperBoundRate < 1.0) {
+ throw new IllegalArgumentException("The greatDelugeWaterLevelUpperBoundRate (" + waterLevelUpperBoundRate
+ + ") should be 1.0 or higher.");
+ }
+ if (waterRisingRate <= 0.0 || waterRisingRate >= 1.0) {
+ throw new IllegalArgumentException("The greatDelugeWaterRisingRate (" + waterRisingRate
+ + ") should be between 0.0 and 1.0 (preferably very close to 0.0).");
+ }
+ waterLevelScore = localSearchSolverScope.getBestScore().multiply(waterLevelUpperBoundRate);
+ Score perfectMaximumScore = localSearchSolverScope.getScoreDefinition().getPerfectMaximumScore();
+ if (waterLevelScore.compareTo(perfectMaximumScore) > 0) {
+ throw new IllegalArgumentException("The waterLevelScore (" + waterLevelScore
+ + ") should not be higher than the perfectMaximumScore(" + perfectMaximumScore + ").");
+ }
+ }
+
+ public double calculateAcceptChance(MoveScope moveScope) {
+ if (moveScope.getScore().compareTo(waterLevelScore) >= 0) {
+ return 1.0;
+ } else {
+ return 0.0;
+ }
+ }
+
+ @Override
+ public void stepTaken(StepScope stepScope) {
+ if (stepScope.getStepIndex() == stepScope.getLocalSearchSolverScope().getBestSolutionStepIndex()) {
+ // New best score
+ waterLevelScore = stepScope.getLocalSearchSolverScope().getBestScore().multiply(waterLevelUpperBoundRate);
+ } else {
+ Score perfectMaximumScore = stepScope.getLocalSearchSolverScope().getScoreDefinition()
+ .getPerfectMaximumScore();
+ Score waterLevelAugend = perfectMaximumScore.substract(waterLevelScore).multiply(waterRisingRate);
+ waterLevelScore = waterLevelScore.add(waterLevelAugend);
+ // TODO maybe if waterlevel is higher than bestScore, than ...
+ }
+ }
+
+}
\ No newline at end of file
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/simulatedannealing/SimulatedAnnealingAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,43 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.simulatedannealing;
-
-import org.drools.planner.core.localsearch.decider.MoveScope;
-import org.drools.planner.core.localsearch.decider.accepter.AbstractAccepter;
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.score.Score;
-
-/**
- * TODO Under construction. Feel free to create a patch to improve this accepter!
- * @author Geoffrey De Smet
- */
-public class SimulatedAnnealingAccepter extends AbstractAccepter {
-
- protected boolean compareToBestScore = false;
-
- public void setCompareToBestScore(boolean compareToBestScore) {
- this.compareToBestScore = compareToBestScore;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- public double calculateAcceptChance(MoveScope moveScope) {
- Score compareScore = compareToBestScore
- ? moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()
- : moveScope.getStepScope().getLocalSearchSolverScope().getLastCompletedStepScope().getScore();
- // TODO Support for decision score
- Score moveScore = moveScope.getScore();
- if (moveScore.compareTo(compareScore) > 0) {
- // It's better so accept it.
- return 1.0;
- }
- double timeGradient = moveScope.getStepScope().getTimeGradient();
- LocalSearchSolverScope localSearchSolverScope = moveScope.getStepScope().getLocalSearchSolverScope();
- // TODO This algorithm might be nice, but the normal temparture based algorithm should also be possible
- double scoreDelta = 1.0 - localSearchSolverScope.getScoreDefinition().calculateTimeGradient(
- localSearchSolverScope.getStartingScore(), compareScore, moveScore);
- double acceptChance = Math.exp(timeGradient * scoreDelta);
- return acceptChance;
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/simulatedannealing/SimulatedAnnealingAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/simulatedannealing/SimulatedAnnealingAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,43 @@
+package org.drools.planner.core.localsearch.decider.acceptor.simulatedannealing;
+
+import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor;
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.score.Score;
+
+/**
+ * TODO Under construction. Feel free to create a patch to improve this acceptor!
+ * @author Geoffrey De Smet
+ */
+public class SimulatedAnnealingAcceptor extends AbstractAcceptor {
+
+ protected boolean compareToBestScore = false;
+
+ public void setCompareToBestScore(boolean compareToBestScore) {
+ this.compareToBestScore = compareToBestScore;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ public double calculateAcceptChance(MoveScope moveScope) {
+ Score compareScore = compareToBestScore
+ ? moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()
+ : moveScope.getStepScope().getLocalSearchSolverScope().getLastCompletedStepScope().getScore();
+ // TODO Support for decision score
+ Score moveScore = moveScope.getScore();
+ if (moveScore.compareTo(compareScore) > 0) {
+ // It's better so accept it.
+ return 1.0;
+ }
+ double timeGradient = moveScope.getStepScope().getTimeGradient();
+ LocalSearchSolverScope localSearchSolverScope = moveScope.getStepScope().getLocalSearchSolverScope();
+ // TODO This algorithm might be nice, but the normal temparture based algorithm should also be possible
+ double scoreDelta = 1.0 - localSearchSolverScope.getScoreDefinition().calculateTimeGradient(
+ localSearchSolverScope.getStartingScore(), compareScore, moveScore);
+ double acceptChance = Math.exp(timeGradient * scoreDelta);
+ return acceptChance;
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,130 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.tabu;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-import org.drools.planner.core.localsearch.decider.accepter.AbstractAccepter;
-import org.drools.planner.core.localsearch.decider.accepter.Accepter;
-
-/**
- * Abstract superclass for all TabuAccepters.
- * @see Accepter
- * @author Geoffrey De Smet
- */
-public abstract class AbstractTabuAccepter extends AbstractAccepter {
-
- protected int completeTabuSize = -1;
- protected int partialTabuSize = 0;
- protected boolean aspirationEnabled = true;
-
- protected Map<Object, Integer> tabuToStepIndexMap;
- protected List<Object> tabuSequenceList;
-
- public int getCompleteTabuSize() {
- return completeTabuSize;
- }
-
- public void setCompleteTabuSize(int completeTabuSize) {
- this.completeTabuSize = completeTabuSize;
- }
-
- public void setPartialTabuSize(int partialTabuSize) {
- this.partialTabuSize = partialTabuSize;
- }
-
- public void setAspirationEnabled(boolean aspirationEnabled) {
- this.aspirationEnabled = aspirationEnabled;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
- if (completeTabuSize < 0) {
- throw new IllegalArgumentException("The completeTabuSize (" + completeTabuSize
- + ") cannot be negative.");
- }
- if (partialTabuSize < 0) {
- throw new IllegalArgumentException("The partialTabuSize (" + partialTabuSize
- + ") cannot be negative.");
- }
- if (completeTabuSize + partialTabuSize == 0) {
- throw new IllegalArgumentException("The sum of completeTabuSize and partialTabuSize should be at least 1.");
- }
- tabuToStepIndexMap = new HashMap<Object, Integer>(completeTabuSize + partialTabuSize);
- tabuSequenceList = new LinkedList<Object>();
- }
-
- public double calculateAcceptChance(MoveScope moveScope) {
- Collection<? extends Object> tabus = findTabu(moveScope);
- int maximumTabuStepIndex = -1;
- for (Object tabu : tabus) {
- Integer tabuStepIndexInteger = tabuToStepIndexMap.get(tabu);
- if (tabuStepIndexInteger != null) {
- maximumTabuStepIndex = Math.max(tabuStepIndexInteger, maximumTabuStepIndex);
- }
- }
- if (maximumTabuStepIndex < 0) {
- // The move isn't tabu at all
- return 1.0;
- }
- if (aspirationEnabled) {
- // Doesn't use the deciderScoreComparator because shifting penalties don't apply
- if (moveScope.getScore().compareTo(
- moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()) > 0) {
- 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());
- return 0.0;
- }
- double acceptChance = calculatePartialTabuAcceptChance(tabuStepCount - completeTabuSize);
- logger.debug(" Proposed move ({}) is partially tabu with accept chance ({}).",
- moveScope.getMove(), acceptChance);
- return acceptChance;
- }
-
- protected double calculatePartialTabuAcceptChance(int partialTabuTime) {
- // The + 1's are because acceptChance should not be 0.0 or 1.0
- // when (partialTabuTime == 0) or (partialTabuTime + 1 == partialTabuSize)
- return ((double) (partialTabuTime + 1)) / ((double) (partialTabuSize + 1));
- }
-
- @Override
- public void stepTaken(StepScope stepScope) {
- Collection<? extends Object> tabus = findNewTabu(stepScope);
- for (Object tabu : tabus) {
- // required to push tabu to the end of the line
- if (tabuToStepIndexMap.containsKey(tabu)) {
- tabuToStepIndexMap.remove(tabu);
- tabuSequenceList.remove(tabu);
- }
- int maximumTabuListSize = completeTabuSize + partialTabuSize; // is at least 1
- while (tabuSequenceList.size() >= maximumTabuListSize) {
- Iterator<Object> it = tabuSequenceList.iterator();
- Object removeTabu = it.next();
- it.remove();
- tabuToStepIndexMap.remove(removeTabu);
- }
- tabuToStepIndexMap.put(tabu, stepScope.getStepIndex());
- tabuSequenceList.add(tabu);
- }
- }
-
- protected abstract Collection<? extends Object> findTabu(MoveScope moveScope);
-
- protected abstract Collection<? extends Object> findNewTabu(StepScope stepScope);
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/AbstractTabuAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/AbstractTabuAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,130 @@
+package org.drools.planner.core.localsearch.decider.acceptor.tabu;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.localsearch.decider.acceptor.AbstractAcceptor;
+import org.drools.planner.core.localsearch.decider.acceptor.Acceptor;
+
+/**
+ * Abstract superclass for all Tabu Acceptors.
+ * @see Acceptor
+ * @author Geoffrey De Smet
+ */
+public abstract class AbstractTabuAcceptor extends AbstractAcceptor {
+
+ protected int completeTabuSize = -1;
+ protected int partialTabuSize = 0;
+ protected boolean aspirationEnabled = true;
+
+ protected Map<Object, Integer> tabuToStepIndexMap;
+ protected List<Object> tabuSequenceList;
+
+ public int getCompleteTabuSize() {
+ return completeTabuSize;
+ }
+
+ public void setCompleteTabuSize(int completeTabuSize) {
+ this.completeTabuSize = completeTabuSize;
+ }
+
+ public void setPartialTabuSize(int partialTabuSize) {
+ this.partialTabuSize = partialTabuSize;
+ }
+
+ public void setAspirationEnabled(boolean aspirationEnabled) {
+ this.aspirationEnabled = aspirationEnabled;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
+ if (completeTabuSize < 0) {
+ throw new IllegalArgumentException("The completeTabuSize (" + completeTabuSize
+ + ") cannot be negative.");
+ }
+ if (partialTabuSize < 0) {
+ throw new IllegalArgumentException("The partialTabuSize (" + partialTabuSize
+ + ") cannot be negative.");
+ }
+ if (completeTabuSize + partialTabuSize == 0) {
+ throw new IllegalArgumentException("The sum of completeTabuSize and partialTabuSize should be at least 1.");
+ }
+ tabuToStepIndexMap = new HashMap<Object, Integer>(completeTabuSize + partialTabuSize);
+ tabuSequenceList = new LinkedList<Object>();
+ }
+
+ public double calculateAcceptChance(MoveScope moveScope) {
+ Collection<? extends Object> tabus = findTabu(moveScope);
+ int maximumTabuStepIndex = -1;
+ for (Object tabu : tabus) {
+ Integer tabuStepIndexInteger = tabuToStepIndexMap.get(tabu);
+ if (tabuStepIndexInteger != null) {
+ maximumTabuStepIndex = Math.max(tabuStepIndexInteger, maximumTabuStepIndex);
+ }
+ }
+ if (maximumTabuStepIndex < 0) {
+ // The move isn't tabu at all
+ return 1.0;
+ }
+ if (aspirationEnabled) {
+ // Doesn't use the deciderScoreComparator because shifting penalties don't apply
+ if (moveScope.getScore().compareTo(
+ moveScope.getStepScope().getLocalSearchSolverScope().getBestScore()) > 0) {
+ 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());
+ return 0.0;
+ }
+ double acceptChance = calculatePartialTabuAcceptChance(tabuStepCount - completeTabuSize);
+ logger.debug(" Proposed move ({}) is partially tabu with accept chance ({}).",
+ moveScope.getMove(), acceptChance);
+ return acceptChance;
+ }
+
+ protected double calculatePartialTabuAcceptChance(int partialTabuTime) {
+ // The + 1's are because acceptChance should not be 0.0 or 1.0
+ // when (partialTabuTime == 0) or (partialTabuTime + 1 == partialTabuSize)
+ return ((double) (partialTabuTime + 1)) / ((double) (partialTabuSize + 1));
+ }
+
+ @Override
+ public void stepTaken(StepScope stepScope) {
+ Collection<? extends Object> tabus = findNewTabu(stepScope);
+ for (Object tabu : tabus) {
+ // required to push tabu to the end of the line
+ if (tabuToStepIndexMap.containsKey(tabu)) {
+ tabuToStepIndexMap.remove(tabu);
+ tabuSequenceList.remove(tabu);
+ }
+ int maximumTabuListSize = completeTabuSize + partialTabuSize; // is at least 1
+ while (tabuSequenceList.size() >= maximumTabuListSize) {
+ Iterator<Object> it = tabuSequenceList.iterator();
+ Object removeTabu = it.next();
+ it.remove();
+ tabuToStepIndexMap.remove(removeTabu);
+ }
+ tabuToStepIndexMap.put(tabu, stepScope.getStepIndex());
+ tabuSequenceList.add(tabu);
+ }
+ }
+
+ protected abstract Collection<? extends Object> findTabu(MoveScope moveScope);
+
+ protected abstract Collection<? extends Object> findNewTabu(StepScope stepScope);
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/MoveTabuAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,41 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.tabu;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-import org.drools.planner.core.move.Move;
-
-/**
- * @author Geoffrey De Smet
- */
-public class MoveTabuAccepter extends AbstractTabuAccepter {
-
- protected boolean useUndoMoveAsTabuMove = true;
-
- public void setUseUndoMoveAsTabuMove(boolean useUndoMoveAsTabuMove) {
- this.useUndoMoveAsTabuMove = useUndoMoveAsTabuMove;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- protected Collection<? extends Object> findTabu(MoveScope moveScope) {
- return Collections.singletonList(moveScope.getMove());
- }
-
- @Override
- protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
- Move tabuMove;
- if (useUndoMoveAsTabuMove) {
- tabuMove = stepScope.getUndoStep();
- } else {
- tabuMove = stepScope.getStep();
- }
- return Collections.singletonList(tabuMove);
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/MoveTabuAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/MoveTabuAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,41 @@
+package org.drools.planner.core.localsearch.decider.acceptor.tabu;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.move.Move;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class MoveTabuAcceptor extends AbstractTabuAcceptor {
+
+ protected boolean useUndoMoveAsTabuMove = true;
+
+ public void setUseUndoMoveAsTabuMove(boolean useUndoMoveAsTabuMove) {
+ this.useUndoMoveAsTabuMove = useUndoMoveAsTabuMove;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ protected Collection<? extends Object> findTabu(MoveScope moveScope) {
+ return Collections.singletonList(moveScope.getMove());
+ }
+
+ @Override
+ protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
+ Move tabuMove;
+ if (useUndoMoveAsTabuMove) {
+ tabuMove = stepScope.getUndoStep();
+ } else {
+ tabuMove = stepScope.getStep();
+ }
+ return Collections.singletonList(tabuMove);
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/PropertyTabuAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,29 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.tabu;
-
-import java.util.Collection;
-
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-
-/**
- * @author Geoffrey De Smet
- */
-public class PropertyTabuAccepter extends AbstractTabuAccepter {
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- protected Collection<? extends Object> findTabu(MoveScope moveScope) {
- TabuPropertyEnabled tabuPropertyEnabled = (TabuPropertyEnabled) moveScope.getMove();
- return tabuPropertyEnabled.getTabuProperties();
- }
-
- @Override
- protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
- TabuPropertyEnabled tabuPropertyEnabled = (TabuPropertyEnabled) stepScope.getStep();
- return tabuPropertyEnabled.getTabuProperties();
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/PropertyTabuAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/PropertyTabuAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,29 @@
+package org.drools.planner.core.localsearch.decider.acceptor.tabu;
+
+import java.util.Collection;
+
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class PropertyTabuAcceptor extends AbstractTabuAcceptor {
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ protected Collection<? extends Object> findTabu(MoveScope moveScope) {
+ TabuPropertyEnabled tabuPropertyEnabled = (TabuPropertyEnabled) moveScope.getMove();
+ return tabuPropertyEnabled.getTabuProperties();
+ }
+
+ @Override
+ protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
+ TabuPropertyEnabled tabuPropertyEnabled = (TabuPropertyEnabled) stepScope.getStep();
+ return tabuPropertyEnabled.getTabuProperties();
+ }
+
+}
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAccepter.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAccepter.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,34 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.tabu;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-
-/**
- * @author Geoffrey De Smet
- */
-public class SolutionTabuAccepter extends AbstractTabuAccepter {
-
- public SolutionTabuAccepter() {
- // Disable aspiration by default because it's useless on solution tabu
- aspirationEnabled = false;
- }
-
- // ************************************************************************
- // Worker methods
- // ************************************************************************
-
- @Override
- protected Collection<? extends Object> findTabu(MoveScope moveScope) {
- return Collections.singletonList(moveScope.getWorkingSolution());
- }
-
- @Override
- protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
- // TODO this should be better done in stepTaken
- return Collections.singletonList(stepScope.createOrGetClonedSolution());
- }
-
-}
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAcceptor.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/SolutionTabuAccepter.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAcceptor.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/SolutionTabuAcceptor.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,34 @@
+package org.drools.planner.core.localsearch.decider.acceptor.tabu;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class SolutionTabuAcceptor extends AbstractTabuAcceptor {
+
+ public SolutionTabuAcceptor() {
+ // Disable aspiration by default because it's useless on solution tabu
+ aspirationEnabled = false;
+ }
+
+ // ************************************************************************
+ // Worker methods
+ // ************************************************************************
+
+ @Override
+ protected Collection<? extends Object> findTabu(MoveScope moveScope) {
+ return Collections.singletonList(moveScope.getWorkingSolution());
+ }
+
+ @Override
+ protected Collection<? extends Object> findNewTabu(StepScope stepScope) {
+ // TODO this should be better done in stepTaken
+ return Collections.singletonList(stepScope.createOrGetClonedSolution());
+ }
+
+}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/TabuPropertyEnabled.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/accepter/tabu/TabuPropertyEnabled.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/acceptor/tabu/TabuPropertyEnabled.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,4 +1,4 @@
-package org.drools.planner.core.localsearch.decider.accepter.tabu;
+package org.drools.planner.core.localsearch.decider.acceptor.tabu;
import java.util.Collection;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/forager/AcceptedForager.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/forager/AcceptedForager.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/decider/forager/AcceptedForager.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,13 +7,14 @@
import org.drools.planner.core.localsearch.StepScope;
import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.localsearch.decider.acceptor.Acceptor;
import org.drools.planner.core.move.Move;
import org.drools.planner.core.score.Score;
/**
* An AcceptedForager is a Forager which forages accepted moves and ignores unaccepted moves.
- * @See Forager
- * @See Accepter
+ * @see Forager
+ * @see Acceptor
* @author Geoffrey De Smet
*/
public class AcceptedForager extends AbstractForager {
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/definition/ScoreDefinition.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/definition/ScoreDefinition.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/score/definition/ScoreDefinition.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -39,7 +39,7 @@
/**
* @TODO rename because
- * org.drools.planner.core.localsearch.decider.accepter.simulatedannealing.SimulatedAnnealingAccepter
+ * org.drools.planner.core.localsearch.decider.acceptor.simulatedannealing.SimulatedAnnealingAcceptor
* also uses it
* @param startScore never null
* @param endScore never null
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/accepter)
Deleted: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepterTest.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/accepter/greatdeluge/GreatDelugeAccepterTest.java 2009-12-25 10:25:32 UTC (rev 30817)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAccepterTest.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -1,75 +0,0 @@
-package org.drools.planner.core.localsearch.decider.accepter.greatdeluge;
-
-import java.util.Random;
-
-import junit.framework.TestCase;
-import org.drools.planner.core.localsearch.LocalSearchSolverScope;
-import org.drools.planner.core.localsearch.StepScope;
-import org.drools.planner.core.localsearch.decider.MoveScope;
-import org.drools.planner.core.localsearch.decider.accepter.Accepter;
-import org.drools.planner.core.move.DummyMove;
-import org.drools.planner.core.score.DefaultSimpleScore;
-import org.drools.planner.core.score.Score;
-import org.drools.planner.core.score.definition.SimpleScoreDefinition;
-
-/**
- * @author Geoffrey De Smet
- */
-public class GreatDelugeAccepterTest extends TestCase {
-
- public void testCalculateAcceptChance() {
- // Setup
- Accepter accepter = new GreatDelugeAccepter(1.20, 0.01);
- LocalSearchSolverScope localSearchSolverScope = createLocalSearchSolverScope();
- accepter.solvingStarted(localSearchSolverScope);
- StepScope stepScope = new StepScope(localSearchSolverScope);
- stepScope.setStepIndex(0);
- accepter.beforeDeciding(stepScope);
- // Pre conditions
- MoveScope a1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-2000));
- MoveScope a2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1300));
- MoveScope a3 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1200));
- MoveScope b1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1200));
- MoveScope b2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-100));
- MoveScope c1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1100));
- MoveScope c2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-120));
- // Do stuff
- assertEquals(0.0, accepter.calculateAcceptChance(a1));
- assertEquals(0.0, accepter.calculateAcceptChance(a2));
- assertEquals(1.0, accepter.calculateAcceptChance(a3));
- // TODO reable a thorough test of great deluge
-// accepter.stepTaken(stepScope);
-// assertEquals(0.0, accepter.calculateAcceptChance(b1));
-// assertEquals(1.0, accepter.calculateAcceptChance(b2));
-// accepter.stepTaken(stepScope);
-// assertEquals(0.0, accepter.calculateAcceptChance(c1));
-// accepter.stepTaken(stepScope);
-// assertEquals(1.0, accepter.calculateAcceptChance(c2));
-// accepter.stepTaken(stepScope);
-// // Post conditions
-// accepter.solvingEnded(localSearchSolverScope);
- }
-
- private LocalSearchSolverScope createLocalSearchSolverScope() {
- LocalSearchSolverScope localSearchSolverScope = new LocalSearchSolverScope();
- localSearchSolverScope.setScoreDefinition(new SimpleScoreDefinition());
- localSearchSolverScope.setWorkingRandom(new Random() {
- public double nextDouble() {
- return 0.2;
- }
- });
- localSearchSolverScope.setBestScore(DefaultSimpleScore.valueOf(-1000));
- StepScope lastStepScope = new StepScope(localSearchSolverScope);
- lastStepScope.setScore(DefaultSimpleScore.valueOf(-1000));
- localSearchSolverScope.setLastCompletedStepScope(lastStepScope);
- return localSearchSolverScope;
- }
-
- public MoveScope createMoveScope(StepScope stepScope, Score score) {
- MoveScope moveScope = new MoveScope(stepScope);
- moveScope.setMove(new DummyMove());
- moveScope.setScore(score);
- return moveScope;
- }
-
-}
\ No newline at end of file
Copied: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptorTest.java (from rev 30817, labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/accepter/greatdeluge/GreatDelugeAccepterTest.java)
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptorTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/test/java/org/drools/planner/core/localsearch/decider/acceptor/greatdeluge/GreatDelugeAcceptorTest.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -0,0 +1,75 @@
+package org.drools.planner.core.localsearch.decider.acceptor.greatdeluge;
+
+import java.util.Random;
+
+import junit.framework.TestCase;
+import org.drools.planner.core.localsearch.LocalSearchSolverScope;
+import org.drools.planner.core.localsearch.StepScope;
+import org.drools.planner.core.localsearch.decider.MoveScope;
+import org.drools.planner.core.localsearch.decider.acceptor.Acceptor;
+import org.drools.planner.core.move.DummyMove;
+import org.drools.planner.core.score.DefaultSimpleScore;
+import org.drools.planner.core.score.Score;
+import org.drools.planner.core.score.definition.SimpleScoreDefinition;
+
+/**
+ * @author Geoffrey De Smet
+ */
+public class GreatDelugeAcceptorTest extends TestCase {
+
+ public void testCalculateAcceptChance() {
+ // Setup
+ Acceptor acceptor = new GreatDelugeAcceptor(1.20, 0.01);
+ LocalSearchSolverScope localSearchSolverScope = createLocalSearchSolverScope();
+ acceptor.solvingStarted(localSearchSolverScope);
+ StepScope stepScope = new StepScope(localSearchSolverScope);
+ stepScope.setStepIndex(0);
+ acceptor.beforeDeciding(stepScope);
+ // Pre conditions
+ MoveScope a1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-2000));
+ MoveScope a2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1300));
+ MoveScope a3 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1200));
+ MoveScope b1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1200));
+ MoveScope b2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-100));
+ MoveScope c1 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-1100));
+ MoveScope c2 = createMoveScope(stepScope, DefaultSimpleScore.valueOf(-120));
+ // Do stuff
+ assertEquals(0.0, acceptor.calculateAcceptChance(a1));
+ assertEquals(0.0, acceptor.calculateAcceptChance(a2));
+ assertEquals(1.0, acceptor.calculateAcceptChance(a3));
+ // TODO reable a thorough test of great deluge
+// acceptor.stepTaken(stepScope);
+// assertEquals(0.0, acceptor.calculateAcceptChance(b1));
+// assertEquals(1.0, acceptor.calculateAcceptChance(b2));
+// acceptor.stepTaken(stepScope);
+// assertEquals(0.0, acceptor.calculateAcceptChance(c1));
+// acceptor.stepTaken(stepScope);
+// assertEquals(1.0, acceptor.calculateAcceptChance(c2));
+// acceptor.stepTaken(stepScope);
+// // Post conditions
+// acceptor.solvingEnded(localSearchSolverScope);
+ }
+
+ private LocalSearchSolverScope createLocalSearchSolverScope() {
+ LocalSearchSolverScope localSearchSolverScope = new LocalSearchSolverScope();
+ localSearchSolverScope.setScoreDefinition(new SimpleScoreDefinition());
+ localSearchSolverScope.setWorkingRandom(new Random() {
+ public double nextDouble() {
+ return 0.2;
+ }
+ });
+ localSearchSolverScope.setBestScore(DefaultSimpleScore.valueOf(-1000));
+ StepScope lastStepScope = new StepScope(localSearchSolverScope);
+ lastStepScope.setScore(DefaultSimpleScore.valueOf(-1000));
+ localSearchSolverScope.setLastCompletedStepScope(lastStepScope);
+ return localSearchSolverScope;
+ }
+
+ public MoveScope createMoveScope(StepScope stepScope, Score score) {
+ MoveScope moveScope = new MoveScope(stepScope);
+ moveScope.setMove(new DummyMove());
+ moveScope.setScore(score);
+ return moveScope;
+ }
+
+}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/LectureSwitchMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/LectureSwitchMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/LectureSwitchMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.curriculumcourse.domain.Lecture;
import org.drools.planner.examples.curriculumcourse.domain.Period;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/PeriodChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/PeriodChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/PeriodChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.curriculumcourse.domain.Lecture;
import org.drools.planner.examples.curriculumcourse.domain.Period;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/RoomChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/RoomChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/curriculumcourse/solver/move/RoomChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.curriculumcourse.domain.Lecture;
import org.drools.planner.examples.curriculumcourse.domain.Room;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/ExamSwitchMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/ExamSwitchMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/ExamSwitchMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.examination.domain.Exam;
import org.drools.planner.examples.examination.domain.Period;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/PeriodChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/PeriodChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/PeriodChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.examination.domain.Exam;
import org.drools.planner.examples.examination.domain.Period;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/RoomChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/RoomChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/examination/solver/move/RoomChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.examination.domain.Exam;
import org.drools.planner.examples.examination.domain.Room;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/lessonschedule/solver/move/TimeslotChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/lessonschedule/solver/move/TimeslotChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/lessonschedule/solver/move/TimeslotChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -8,7 +8,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.lessonschedule.domain.Lesson;
import org.drools.planner.examples.lessonschedule.domain.Timeslot;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/manners2009/solver/move/SeatDesignationSwitchMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/manners2009/solver/move/SeatDesignationSwitchMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/manners2009/solver/move/SeatDesignationSwitchMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -8,7 +8,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.runtime.rule.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.manners2009.domain.Seat;
import org.drools.planner.examples.manners2009.domain.SeatDesignation;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nqueens/solver/move/YChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nqueens/solver/move/YChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/nqueens/solver/move/YChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.nqueens.domain.Queen;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -8,7 +8,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.runtime.rule.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.pas.domain.Bed;
import org.drools.planner.examples.pas.domain.BedDesignation;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedDesignationSwitchMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedDesignationSwitchMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/pas/solver/move/BedDesignationSwitchMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -8,7 +8,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.runtime.rule.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.pas.domain.Bed;
import org.drools.planner.examples.pas.domain.BedDesignation;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/simple/move/DayChangeMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/simple/move/DayChangeMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/simple/move/DayChangeMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -8,7 +8,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.travelingtournament.domain.Day;
import org.drools.planner.examples.travelingtournament.domain.Match;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MatchSwapMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MatchSwapMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MatchSwapMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -7,7 +7,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.travelingtournament.domain.Day;
import org.drools.planner.examples.travelingtournament.domain.Match;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MultipleMatchListRotateMove.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MultipleMatchListRotateMove.java 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/java/org/drools/planner/examples/travelingtournament/solver/smart/move/MultipleMatchListRotateMove.java 2009-12-25 13:19:43 UTC (rev 30821)
@@ -10,7 +10,7 @@
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.drools.WorkingMemory;
import org.drools.FactHandle;
-import org.drools.planner.core.localsearch.decider.accepter.tabu.TabuPropertyEnabled;
+import org.drools.planner.core.localsearch.decider.acceptor.tabu.TabuPropertyEnabled;
import org.drools.planner.core.move.Move;
import org.drools.planner.examples.travelingtournament.domain.Day;
import org.drools.planner.examples.travelingtournament.domain.Match;
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseShortSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseShortSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseShortSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -37,11 +37,11 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
<!--<completeSolutionTabuSize>500</completeSolutionTabuSize>-->
<!--<completePropertyTabuSize>10</completePropertyTabuSize>-->
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/benchmark/curriculumCourseSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -55,10 +55,10 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completePropertyTabuSize>10</completePropertyTabuSize>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/curriculumcourse/solver/curriculumCourseSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -32,10 +32,10 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completePropertyTabuSize>10</completePropertyTabuSize>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -54,11 +54,11 @@
<!--<shuffle>true</shuffle>-->
<!--</selector>-->
<!--</selector>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<greatDelugeWaterLevelUpperBoundRate>1.30</greatDelugeWaterLevelUpperBoundRate>-->
<!--<greatDelugeWaterRisingRate>0.000000143</greatDelugeWaterRisingRate>-->
<!--<completePropertyTabuSize>10</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--<forager>-->
<!--<foragerType>FIRST_RANDOMLY_ACCEPTED</foragerType>-->
<!--</forager>-->
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationShortSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationShortSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationShortSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -36,10 +36,10 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completePropertyTabuSize>10</completePropertyTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/benchmark/examinationSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -52,10 +52,10 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completePropertyTabuSize>10</completePropertyTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -81,10 +81,10 @@
<relativeSelection>0.004</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completePropertyTabuSize>10</completePropertyTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -110,10 +110,10 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completeMoveTabuSize>7</completeMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -136,10 +136,10 @@
<moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.ExamSwitchMoveFactory</moveFactoryClass>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completePropertyTabuSize>10</completePropertyTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -162,9 +162,9 @@
<moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.ExamSwitchMoveFactory</moveFactoryClass>
</selector>
</selector>
- <accepter>
- <accepterType>SIMULATED_ANNEALING</accepterType>
- </accepter>
+ <acceptor>
+ <acceptorType>SIMULATED_ANNEALING</acceptorType>
+ </acceptor>
<forager>
<foragerType>FIRST_RANDOMLY_ACCEPTED</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/solver/examinationSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/solver/examinationSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/examination/solver/examinationSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -41,11 +41,11 @@
<relativeSelection>0.002</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<completeSolutionTabuSize>500</completeSolutionTabuSize>
<completePropertyTabuSize>10</completePropertyTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>FIRST_BEST_SCORE_IMPROVING</foragerType>
</forager>
@@ -53,9 +53,9 @@
<!--<moveFactoryClass>org.drools.planner.examples.examination.solver.move.factory.PeriodChangeExaminationMoveFactory</moveFactoryClass>-->
<!--<shuffleMovesEveryStep>true</shuffleMovesEveryStep>-->
<!--</selector>-->
- <!--<accepter>-->
- <!--<accepterType>SIMULATED_ANNEALING</accepterType>-->
- <!--</accepter>-->
+ <!--<acceptor>-->
+ <!--<acceptorType>SIMULATED_ANNEALING</acceptorType>-->
+ <!--</acceptor>-->
<!--<forager>-->
<!--<foragerType>FIRST_RANDOMLY_ACCEPTED</foragerType>-->
<!--</forager>-->
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/lessonschedule/solver/lessonScheduleSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/lessonschedule/solver/lessonScheduleSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/lessonschedule/solver/lessonScheduleSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -10,9 +10,9 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.lessonschedule.solver.move.factory.LessonScheduleMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeUndoMoveTabuSize>10</completeUndoMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/manners2009/solver/manners2009SolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/manners2009/solver/manners2009SolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/manners2009/solver/manners2009SolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -13,9 +13,9 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.manners2009.solver.move.factory.SeatDesignationSwitchMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1000</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
<!--<foragerType>FIRST_BEST_SCORE_IMPROVING</foragerType>-->
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/benchmark/nqueensSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/benchmark/nqueensSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/benchmark/nqueensSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -22,9 +22,9 @@
<solverBenchmark>
<name>Move tabu</name>
<localSearchSolver>
- <accepter>
+ <acceptor>
<completeMoveTabuSize>5</completeMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -33,9 +33,9 @@
<solverBenchmark>
<name>Undo move tabu</name>
<localSearchSolver>
- <accepter>
+ <acceptor>
<completeUndoMoveTabuSize>5</completeUndoMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -44,9 +44,9 @@
<solverBenchmark>
<name>Solution tabu</name>
<localSearchSolver>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1000</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/solver/nqueensSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/solver/nqueensSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/nqueens/solver/nqueensSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -14,9 +14,9 @@
<moveFactoryClass>org.drools.planner.examples.nqueens.solver.move.factory.NQueensMoveFactory</moveFactoryClass>
<!-- Real world problems require to use of <relativeSelection> or <absoluteSelection>. -->
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1000</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/benchmark/patientAdmissionScheduleSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/benchmark/patientAdmissionScheduleSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/benchmark/patientAdmissionScheduleSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -45,10 +45,10 @@
<relativeSelection>0.0010</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1000</completeSolutionTabuSize>
<completeUndoMoveTabuSize>3</completeUndoMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/pas/solver/patientAdmissionScheduleSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -26,10 +26,10 @@
<relativeSelection>0.0010</relativeSelection>
</selector>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1000</completeSolutionTabuSize>
<completeUndoMoveTabuSize>3</completeUndoMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/breakNl14SolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/breakNl14SolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/breakNl14SolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -13,9 +13,9 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.travelingtournament.solver.smart.move.factory.SmartTravelingTournamentMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>3000</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/smartTravelingTournamentSolverBenchmarkConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/smartTravelingTournamentSolverBenchmarkConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/benchmark/smart/smartTravelingTournamentSolverBenchmarkConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -17,10 +17,10 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.travelingtournament.solver.smart.move.factory.SmartTravelingTournamentMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
<completeMoveTabuSize>7</completeMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
@@ -52,151 +52,151 @@
<!--<termination>-->
<!--<maximumMinutesSpend>2</maximumMinutesSpend>-->
<!--</termination>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>10</completeSolutionTabuSize>-->
<!--<completeMoveTabuSize>10</completeMoveTabuSize>-->
<!--<completePropertyTabuSize>10</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeMoveTabuSize>20</completeMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeMoveTabuSize>30</completeMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeMoveTabuSize>40</completeMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeUndoMoveTabuSize>30</completeUndoMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completePropertyTabuSize>20</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completePropertyTabuSize>30</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completePropertyTabuSize>40</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeMoveTabuSize>5</completeMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeMoveTabuSize>30</completeMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeUndoMoveTabuSize>5</completeUndoMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeUndoMoveTabuSize>30</completeUndoMoveTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completePropertyTabuSize>5</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completePropertyTabuSize>30</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeMoveTabuSize>30</completeMoveTabuSize>-->
<!--<completePropertyTabuSize>30</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeUndoMoveTabuSize>30</completeUndoMoveTabuSize>-->
<!--<completePropertyTabuSize>30</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeUndoMoveTabuSize>5</completeUndoMoveTabuSize>-->
<!--<completePropertyTabuSize>5</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
<!--<solverBenchmark>-->
<!--<localSearchSolver>-->
- <!--<accepter>-->
+ <!--<acceptor>-->
<!--<completeSolutionTabuSize>1500</completeSolutionTabuSize>-->
<!--<completeUndoMoveTabuSize>30</completeUndoMoveTabuSize>-->
<!--<completePropertyTabuSize>30</completePropertyTabuSize>-->
- <!--</accepter>-->
+ <!--</acceptor>-->
<!--</localSearchSolver>-->
<!--</solverBenchmark>-->
</solverBenchmarkSuite>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/simple/simpleTravelingTournamentSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/simple/simpleTravelingTournamentSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/simple/simpleTravelingTournamentSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -10,9 +10,9 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.travelingtournament.solver.simple.move.factory.SimpleTravelingTournamentMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/smart/smartTravelingTournamentSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/smart/smartTravelingTournamentSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/main/resources/org/drools/planner/examples/travelingtournament/solver/smart/smartTravelingTournamentSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -19,10 +19,10 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.travelingtournament.solver.smart.move.factory.SmartTravelingTournamentMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>1500</completeSolutionTabuSize>
<completeMoveTabuSize>7</completeMoveTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/test/resources/org/drools/planner/examples/nqueens/solver/nqueensSmokeSolverConfig.xml
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/test/resources/org/drools/planner/examples/nqueens/solver/nqueensSmokeSolverConfig.xml 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-examples/src/test/resources/org/drools/planner/examples/nqueens/solver/nqueensSmokeSolverConfig.xml 2009-12-25 13:19:43 UTC (rev 30821)
@@ -12,9 +12,9 @@
<selector>
<moveFactoryClass>org.drools.planner.examples.nqueens.solver.move.factory.NQueensMoveFactory</moveFactoryClass>
</selector>
- <accepter>
+ <acceptor>
<completeSolutionTabuSize>10</completeSolutionTabuSize>
- </accepter>
+ </acceptor>
<forager>
<foragerType>MAX_SCORE_OF_ALL</foragerType>
</forager>
Modified: labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt
===================================================================
--- labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt 2009-12-25 11:16:13 UTC (rev 30820)
+++ labs/jbossrules/trunk/drools-planner/src/main/assembly/docs/UpgradeFromPreviousVersionRecipe.txt 2009-12-25 13:19:43 UTC (rev 30821)
@@ -224,4 +224,15 @@
Before:
<maximumHouresSpend>2</maximumHouresSpend>
After:
- <maximumHoursSpend>2</maximumHoursSpend>
\ No newline at end of file
+ <maximumHoursSpend>2</maximumHoursSpend>
+
+
+Accepter has been renamed to Acceptor
+Before:
+ <accepter>
+ ...
+ </accepter>
+After:
+ <acceptor>
+ ...
+ </acceptor>
More information about the jboss-svn-commits
mailing list