From ed48ddc07cc3bcc0b27074d268281c4db9db3c20 Mon Sep 17 00:00:00 2001 From: Marcel Kronfeld Date: Mon, 14 Mar 2011 15:00:52 +0000 Subject: [PATCH] Merging rev. 789 (Seitz branch), the AbstractOptimizationProblem now stores the old fitness value in each indy right before a new evaluation. --- .../server/go/problems/AbstractOptimizationProblem.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/eva2/server/go/problems/AbstractOptimizationProblem.java b/src/eva2/server/go/problems/AbstractOptimizationProblem.java index bc69954d..4fedd21c 100644 --- a/src/eva2/server/go/problems/AbstractOptimizationProblem.java +++ b/src/eva2/server/go/problems/AbstractOptimizationProblem.java @@ -74,9 +74,13 @@ implements InterfaceOptimizationProblem /*, InterfaceParamControllable*/, Serial } /** - * + * Tag for data fields concerning a solution to an abstract optimization problem. */ public static final String STAT_SOLUTION_HEADER = "solution"; + /** + * Store the old fitness array before evaluation. + */ + public static final String OLD_FITNESS_KEY = "oldFitness"; int parallelthreads = 1; @@ -166,6 +170,7 @@ implements InterfaceOptimizationProblem /*, InterfaceParamControllable*/, Serial for (int i = 0; i < population.size(); i++) { tmpIndy = (AbstractEAIndividual) population.get(i); + tmpIndy.putData(OLD_FITNESS_KEY, tmpIndy.getFitness()); synchronized (tmpIndy) { tmpIndy.resetConstraintViolation(); this.evaluate(tmpIndy);