From: Gary P. <gpa...@gm...> - 2009-07-31 07:56:44
|
Removed the option of calculating the fitness of the Entity without incrementing the associated fitness evaluation. Signed-off-by: Gary Pampara <gpa...@gm...> --- .../cilib/bioinf/rnaprediction/RNAParticle.java | 2 +- .../net/sourceforge/cilib/boa/bee/AbstractBee.java | 10 +--------- .../java/net/sourceforge/cilib/ec/Individual.java | 10 +--------- .../DifferentialEvolutionIterationStrategy.java | 2 +- .../java/net/sourceforge/cilib/entity/Entity.java | 7 ------- .../java/net/sourceforge/cilib/entity/Harmony.java | 12 +----------- .../crossover/BlendCrossoverStrategy.java | 4 ++-- .../crossover/OnePointCrossoverStrategy.java | 4 ++-- .../crossover/UniformCrossoverStrategy.java | 4 ++-- .../cilib/problem/OptimisationProblem.java | 1 + ...NeighbourhoodBestSentriesDetectionStrategy.java | 2 +- .../RandomSentriesDetectionStrategy.java | 2 +- .../RandomSentryDetectionStrategy.java | 2 +- .../RandomSentryPointsDetectionStrategy.java | 2 +- .../TopologyBestSentryDetectionStrategy.java | 2 +- .../cilib/pso/particle/AbstractParticle.java | 10 +--------- .../cilib/pso/particle/ParticleDecorator.java | 4 ++-- .../cilib/pso/particle/StandardParticle.java | 4 ++-- .../entity/topologies/VonNeumannTopologyTest.java | 2 +- 19 files changed, 23 insertions(+), 63 deletions(-) diff --git a/src/main/java/net/sourceforge/cilib/bioinf/rnaprediction/RNAParticle.java b/src/main/java/net/sourceforge/cilib/bioinf/rnaprediction/RNAParticle.java index 7acca1b..a294456 100644 --- a/src/main/java/net/sourceforge/cilib/bioinf/rnaprediction/RNAParticle.java +++ b/src/main/java/net/sourceforge/cilib/bioinf/rnaprediction/RNAParticle.java @@ -324,7 +324,7 @@ public class RNAParticle extends AbstractParticle { * {@inheritDoc} */ @Override - public void calculateFitness(boolean count) { + public void calculateFitness() { // TODO Auto-generated method stub } diff --git a/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java b/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java index ddef6ac..ceea52b 100644 --- a/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java +++ b/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java @@ -97,15 +97,7 @@ public abstract class AbstractBee extends AbstractEntity implements HoneyBee { */ @Override public void calculateFitness() { - this.calculateFitness(true); - } - - /** - * {@inheritDoc} - */ - @Override - public void calculateFitness(boolean count) { - this.getProperties().put(EntityType.FITNESS, getFitnessCalculator().getFitness(this, count)); + this.getProperties().put(EntityType.FITNESS, getFitnessCalculator().getFitness(this, true)); } /** diff --git a/src/main/java/net/sourceforge/cilib/ec/Individual.java b/src/main/java/net/sourceforge/cilib/ec/Individual.java index a236ba8..c1ea82f 100644 --- a/src/main/java/net/sourceforge/cilib/ec/Individual.java +++ b/src/main/java/net/sourceforge/cilib/ec/Individual.java @@ -145,15 +145,7 @@ public class Individual extends AbstractEntity { */ @Override public void calculateFitness() { - calculateFitness(true); - } - - /** - * {@inheritDoc} - */ - @Override - public void calculateFitness(boolean count) { - this.getProperties().put(EntityType.FITNESS, this.getFitnessCalculator().getFitness(this, count)); + this.getProperties().put(EntityType.FITNESS, this.getFitnessCalculator().getFitness(this, true)); } /** diff --git a/src/main/java/net/sourceforge/cilib/ec/iterationstrategies/DifferentialEvolutionIterationStrategy.java b/src/main/java/net/sourceforge/cilib/ec/iterationstrategies/DifferentialEvolutionIterationStrategy.java index 478b09f..881fa0d 100644 --- a/src/main/java/net/sourceforge/cilib/ec/iterationstrategies/DifferentialEvolutionIterationStrategy.java +++ b/src/main/java/net/sourceforge/cilib/ec/iterationstrategies/DifferentialEvolutionIterationStrategy.java @@ -101,7 +101,7 @@ public class DifferentialEvolutionIterationStrategy extends AbstractIterationStr // Replace the parent (current) if the offspring is better Entity offspringEntity = offspring.get(0); boundaryConstraint.enforce(offspringEntity); - offspringEntity.calculateFitness(false); + offspringEntity.calculateFitness(); if (offspringEntity.getFitness().compareTo(current.getFitness()) > 0) { // the trial vector is better than the parent current.setCandidateSolution(offspring.get(0).getCandidateSolution()); diff --git a/src/main/java/net/sourceforge/cilib/entity/Entity.java b/src/main/java/net/sourceforge/cilib/entity/Entity.java index c6d84bb..0c67599 100644 --- a/src/main/java/net/sourceforge/cilib/entity/Entity.java +++ b/src/main/java/net/sourceforge/cilib/entity/Entity.java @@ -75,13 +75,6 @@ public interface Entity extends Comparable<Entity>, Cloneable, Serializable { public void calculateFitness(); /** - * Calculate the fitness of the <code>Entity</code>. This method may or may not - * increment the number of fitness evaluations of the algorithm. - * @param count Add or do not add this fitness evaluation to the algorithm global count. - */ - public void calculateFitness(boolean count); - - /** * Returns the {@linkplain Entity} fitness. * @return The {@linkplain Fitness} of the {@linkplain Entity}. */ diff --git a/src/main/java/net/sourceforge/cilib/entity/Harmony.java b/src/main/java/net/sourceforge/cilib/entity/Harmony.java index 984a3d7..85fe665 100644 --- a/src/main/java/net/sourceforge/cilib/entity/Harmony.java +++ b/src/main/java/net/sourceforge/cilib/entity/Harmony.java @@ -21,12 +21,10 @@ */ package net.sourceforge.cilib.entity; -import net.sourceforge.cilib.type.types.Types; import net.sourceforge.cilib.math.random.generator.MersenneTwister; import net.sourceforge.cilib.problem.Fitness; import net.sourceforge.cilib.problem.InferiorFitness; import net.sourceforge.cilib.problem.OptimisationProblem; -import net.sourceforge.cilib.type.types.Type; import net.sourceforge.cilib.type.types.container.StructuredType; /** @@ -82,15 +80,7 @@ public class Harmony extends AbstractEntity { */ @Override public void calculateFitness() { - calculateFitness(true); - } - - /** - * {@inheritDoc} - */ - @Override - public void calculateFitness(boolean count) { - Fitness fitness = getFitnessCalculator().getFitness(this, count); + Fitness fitness = getFitnessCalculator().getFitness(this, true); this.getProperties().put(EntityType.FITNESS, fitness); } diff --git a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategy.java b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategy.java index 96e4dbe..43ea467 100644 --- a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategy.java +++ b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategy.java @@ -132,8 +132,8 @@ public class BlendCrossoverStrategy extends CrossoverStrategy { */ } - offspring1.calculateFitness(false); - offspring2.calculateFitness(false); + offspring1.calculateFitness(); + offspring2.calculateFitness(); offspring.add(offspring1); offspring.add(offspring2); diff --git a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategy.java b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategy.java index e7f900b..8c73685 100644 --- a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategy.java +++ b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategy.java @@ -80,8 +80,8 @@ public class OnePointCrossoverStrategy extends CrossoverStrategy { offspringVector2.insert(j, offspringVector1.get(j).getClone()); } - offspring1.calculateFitness(false); - offspring2.calculateFitness(false); + offspring1.calculateFitness(); + offspring2.calculateFitness(); offspring.add(offspring1); offspring.add(offspring2); diff --git a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategy.java b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategy.java index 8be479e..1230a38 100644 --- a/src/main/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategy.java +++ b/src/main/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategy.java @@ -91,8 +91,8 @@ public class UniformCrossoverStrategy extends CrossoverStrategy { } } - offspring1.calculateFitness(false); - offspring2.calculateFitness(false); + offspring1.calculateFitness(); + offspring2.calculateFitness(); offspring.add(offspring1); offspring.add(offspring2); diff --git a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java index e300bd5..a5437c2 100644 --- a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java +++ b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java @@ -43,6 +43,7 @@ public interface OptimisationProblem extends Problem { /** * {@inheritDoc} */ + @Override public OptimisationProblem getClone(); /** diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/NeighbourhoodBestSentriesDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/NeighbourhoodBestSentriesDetectionStrategy.java index ba791bf..5365fe9 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/NeighbourhoodBestSentriesDetectionStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/NeighbourhoodBestSentriesDetectionStrategy.java @@ -51,7 +51,7 @@ public class NeighbourhoodBestSentriesDetectionStrategy<E extends PopulationBase for (Entity sentry : sentries) { double previousFitness = sentry.getFitness().getValue(); - sentry.calculateFitness(false); + sentry.calculateFitness(); double currentFitness = sentry.getFitness().getValue(); if(Math.abs(previousFitness - currentFitness) >= epsilon) { diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentriesDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentriesDetectionStrategy.java index ec5a662..d2f2c3f 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentriesDetectionStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentriesDetectionStrategy.java @@ -86,7 +86,7 @@ public class RandomSentriesDetectionStrategy<E extends PopulationBasedAlgorithm> // check for change double previousFitness = sentry.getFitness().getValue(); - sentry.calculateFitness(false); + sentry.calculateFitness(); double currentFitness = sentry.getFitness().getValue(); if (Math.abs(previousFitness - currentFitness) >= epsilon) { diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryDetectionStrategy.java index 3ec957b..11f0fb3 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryDetectionStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryDetectionStrategy.java @@ -78,7 +78,7 @@ public class RandomSentryDetectionStrategy<E extends PopulationBasedAlgorithm> e for (Entity nextSentry : sentryList) { double oldSentryFitness = nextSentry.getFitness().getValue(); - nextSentry.calculateFitness(false); + nextSentry.calculateFitness(); double newSentryFitness = algorithm.getOptimisationProblem().getFitness(nextSentry.getCandidateSolution(), false).getValue(); if(Math.abs(oldSentryFitness - newSentryFitness) >= theta) { diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryPointsDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryPointsDetectionStrategy.java index eb39d9e..f20cb29 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryPointsDetectionStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryPointsDetectionStrategy.java @@ -86,7 +86,7 @@ public class RandomSentryPointsDetectionStrategy<E extends PopulationBasedAlgori if (algorithm.getIterations() % interval == 0) { for (Entity sentry : sentries) { double previousFitness = sentry.getFitness().getValue(); - sentry.calculateFitness(false); + sentry.calculateFitness(); double currentFitness = sentry.getFitness().getValue(); if(Math.abs(previousFitness - currentFitness) >= epsilon) { diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/TopologyBestSentryDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/TopologyBestSentryDetectionStrategy.java index 8e2f2c1..62e59b0 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/TopologyBestSentryDetectionStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/TopologyBestSentryDetectionStrategy.java @@ -54,7 +54,7 @@ public class TopologyBestSentryDetectionStrategy<E extends PopulationBasedAlgori if (algorithm.getIterations() % interval == 0) { Entity sentry = algorithm.getTopology().getBestEntity(); double previousFitness = sentry.getFitness().getValue(); - sentry.calculateFitness(false); + sentry.calculateFitness(); double currentFitness = sentry.getFitness().getValue(); if (Math.abs(previousFitness - currentFitness) >= epsilon) { diff --git a/src/main/java/net/sourceforge/cilib/pso/particle/AbstractParticle.java b/src/main/java/net/sourceforge/cilib/pso/particle/AbstractParticle.java index 9d3bec1..d274363 100644 --- a/src/main/java/net/sourceforge/cilib/pso/particle/AbstractParticle.java +++ b/src/main/java/net/sourceforge/cilib/pso/particle/AbstractParticle.java @@ -122,15 +122,7 @@ public abstract class AbstractParticle extends AbstractEntity implements Particl * {@inheritDoc} */ @Override - public void calculateFitness() { - calculateFitness(true); - } - - /** - * {@inheritDoc} - */ - @Override - public abstract void calculateFitness(boolean count); + public abstract void calculateFitness(); /** * {@inheritDoc} diff --git a/src/main/java/net/sourceforge/cilib/pso/particle/ParticleDecorator.java b/src/main/java/net/sourceforge/cilib/pso/particle/ParticleDecorator.java index ed44981..c2e7f90 100644 --- a/src/main/java/net/sourceforge/cilib/pso/particle/ParticleDecorator.java +++ b/src/main/java/net/sourceforge/cilib/pso/particle/ParticleDecorator.java @@ -121,8 +121,8 @@ public abstract class ParticleDecorator extends AbstractParticle { } @Override - public void calculateFitness(boolean count) { - target.calculateFitness(count); + public void calculateFitness() { + target.calculateFitness(); } public void setNeighbourhoodBest(Particle particle) { diff --git a/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java b/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java index 2ed3c98..5176e8f 100644 --- a/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java +++ b/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java @@ -162,8 +162,8 @@ public class StandardParticle extends AbstractParticle { * {@inheritDoc} */ @Override - public void calculateFitness(boolean count) { - Fitness fitness = getFitnessCalculator().getFitness(this, count); + public void calculateFitness() { + Fitness fitness = getFitnessCalculator().getFitness(this, true); this.getProperties().put(EntityType.FITNESS, fitness); this.personalBestUpdateStrategy.updatePersonalBest(this); diff --git a/src/test/java/net/sourceforge/cilib/entity/topologies/VonNeumannTopologyTest.java b/src/test/java/net/sourceforge/cilib/entity/topologies/VonNeumannTopologyTest.java index 388d27c..8012fa8 100644 --- a/src/test/java/net/sourceforge/cilib/entity/topologies/VonNeumannTopologyTest.java +++ b/src/test/java/net/sourceforge/cilib/entity/topologies/VonNeumannTopologyTest.java @@ -246,7 +246,7 @@ public class VonNeumannTopologyTest { } @Override - public void calculateFitness(boolean count) { + public void calculateFitness() { throw new UnsupportedOperationException("Mocked object - not allowed"); } -- 1.6.4 |