[jboss-svn-commits] JBL Code SVN: r18607 - in labs/jbossrules/trunk/drools-solver: drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Feb 27 15:01:45 EST 2008
Author: ge0ffrey
Date: 2008-02-27 15:01:45 -0500 (Wed, 27 Feb 2008)
New Revision: 18607
Modified:
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/DefaultLocalSearchSolver.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/AbstractStartingSolutionInitializer.java
labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/StartingSolutionInitializer.java
labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/solver/solution/initializer/ExaminationStartingSolutionInitializer.java
Log:
isSolutionInitialized() method added to starting solution initializer
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/DefaultLocalSearchSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/DefaultLocalSearchSolver.java 2008-02-27 19:06:17 UTC (rev 18606)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/localsearch/DefaultLocalSearchSolver.java 2008-02-27 20:01:45 UTC (rev 18607)
@@ -147,8 +147,13 @@
logger.info("Solving with random seed ({}).", randomSeed);
random = new Random(randomSeed);
if (startingSolutionInitializer != null) {
- logger.info("Initializing solution if needed.");
- startingSolutionInitializer.intializeSolution();
+ Solution solution = evaluationHandler.getSolution();
+ if (!startingSolutionInitializer.isSolutionInitialized(solution)) {
+ logger.info("Initializing solution.");
+ startingSolutionInitializer.initializeSolution(solution);
+ } else {
+ logger.debug("Solution is already initialized.");
+ }
}
stepIndex = 0;
stepScore = evaluationHandler.fireAllRulesAndCalculateStepScore();
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/AbstractStartingSolutionInitializer.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/AbstractStartingSolutionInitializer.java 2008-02-27 19:06:17 UTC (rev 18606)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/AbstractStartingSolutionInitializer.java 2008-02-27 20:01:45 UTC (rev 18607)
@@ -1,6 +1,7 @@
package org.drools.solver.core.solution.initializer;
import org.drools.solver.core.Solver;
+import org.drools.solver.core.solution.Solution;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,4 +22,8 @@
// Worker methods
// ************************************************************************
+ public boolean isSolutionInitialized(Solution solution) {
+ return false;
+ }
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/StartingSolutionInitializer.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/StartingSolutionInitializer.java 2008-02-27 19:06:17 UTC (rev 18606)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-core/src/main/java/org/drools/solver/core/solution/initializer/StartingSolutionInitializer.java 2008-02-27 20:01:45 UTC (rev 18607)
@@ -1,12 +1,15 @@
package org.drools.solver.core.solution.initializer;
import org.drools.solver.core.SolverAware;
+import org.drools.solver.core.solution.Solution;
/**
* @author Geoffrey De Smet
*/
public interface StartingSolutionInitializer extends SolverAware {
- void intializeSolution();
+ boolean isSolutionInitialized(Solution solution);
+ void initializeSolution(Solution solution);
+
}
\ No newline at end of file
Modified: labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/solver/solution/initializer/ExaminationStartingSolutionInitializer.java
===================================================================
--- labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/solver/solution/initializer/ExaminationStartingSolutionInitializer.java 2008-02-27 19:06:17 UTC (rev 18606)
+++ labs/jbossrules/trunk/drools-solver/drools-solver-examples/src/main/java/org/drools/solver/examples/itc2007/examination/solver/solution/initializer/ExaminationStartingSolutionInitializer.java 2008-02-27 20:01:45 UTC (rev 18607)
@@ -12,6 +12,7 @@
import org.drools.FactHandle;
import org.drools.WorkingMemory;
import org.drools.solver.core.evaluation.EvaluationHandler;
+import org.drools.solver.core.solution.Solution;
import org.drools.solver.core.solution.initializer.AbstractStartingSolutionInitializer;
import org.drools.solver.examples.common.domain.PersistableIdComparator;
import org.drools.solver.examples.itc2007.examination.domain.Exam;
@@ -29,13 +30,17 @@
*/
public class ExaminationStartingSolutionInitializer extends AbstractStartingSolutionInitializer {
- public void intializeSolution() {
- Examination examination = (Examination) solver.getEvaluationHandler().getSolution();
- if (!examination.isInitialized()) {
- initializeExamList(examination);
- }
+ @Override
+ public boolean isSolutionInitialized(Solution solution) {
+ Examination examination = (Examination) solution;
+ return examination.isInitialized();
}
+ public void initializeSolution(Solution solution) {
+ Examination examination = (Examination) solution;
+ initializeExamList(examination);
+ }
+
private void initializeExamList(Examination examination) {
EvaluationHandler evaluationHandler = solver.getEvaluationHandler();
List<Period> periodList = examination.getPeriodList();
More information about the jboss-svn-commits
mailing list