From: Gary P. <gpa...@gm...> - 2009-07-31 08:31:48
|
Chatted to Leo. There are exceptions when it comes to dynamic environments. Positions that have not changed that need to be re-evaluated based on an environment change should not count as a fitness evaluation. Will adjust the patch to cater for such situations. On Friday 31 July 2009 09:56:20 Gary Pampara wrote: > When the fitness is determined from the problem, the number of fitness > evaluations must be incremented. > > Signed-off-by: Gary Pampara <gpa...@gm...> > --- > .../algorithm/MultistartOptimisationAlgorithm.java | 2 +- > .../net/sourceforge/cilib/boa/bee/AbstractBee.java | 2 +- > .../cilib/clustering/kmeans/KMeans.java | 6 +- > .../cilib/cooperative/CooperativeEntity.java | 9 +-- > .../SelectiveContributionUpdateStrategy.java | 2 +- > .../java/net/sourceforge/cilib/ec/Individual.java | 2 +- > .../java/net/sourceforge/cilib/entity/Harmony.java | 2 +- > .../criterion/CriterionBasedMOProblemAdapter.java | 2 +- > .../ArchivingIterationStrategy.java | 4 +- > .../foundation/NeuralNetworkProblem.java | 7 +- > .../CooperativeOptimisationProblemAdapter.java | 2 +- > .../net/sourceforge/cilib/problem/MOFitness.java | 8 +- > .../cilib/problem/MOOptimisationProblem.java | 12 ++-- > .../cilib/problem/OptimisationProblem.java | 3 +- > .../cilib/problem/OptimisationProblemAdapter.java | 6 +- > .../cilib/pso/dynamic/DynamicParticle.java | 2 +- > .../RandomSentryDetectionStrategy.java | 2 +- > .../ArchiveReevaluationResponseStrategy.java | 4 +- > ...lutionParticleReevaluationResponseStrategy.java | 2 +- > .../DominantGuideUpdateStrategy.java | 4 +- > .../cilib/pso/particle/MultiObjectiveParticle.java | 2 +- > .../cilib/pso/particle/StandardParticle.java | 2 +- > .../DEPositionUpdateStrategy.java | 4 +- > .../GCVelocityUpdateStrategy.java | 2 +- > .../calculator/EntityBasedFitnessCalculator.java | 6 +- > .../cilib/util/calculator/FitnessCalculator.java | 4 +- > .../calculator/PropertyBasedFitnessCalculator.java | 4 +- > .../StructuredTypeFitnessCalculator.java | 4 +- > .../crossover/BlendCrossoverStrategyTest.java | 2 +- > .../crossover/OnePointCrossoverStrategyTest.java | 2 +- > .../crossover/UniformCrossoverStrategyTest.java | 2 +- > .../cilib/moo/archive/constrained/ArchiveTest.java | 74 > ++++++++++---------- .../constrained/ConstrainedArchiveTest.java | > 4 +- > .../solutionweighing/SolutionWeighingTest.java | 12 ++-- > .../sourceforge/cilib/problem/MOFitnessTest.java | 10 +-- > 35 files changed, 104 insertions(+), 113 deletions(-) > > diff --git > a/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgor >ithm.java > b/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgor >ithm.java index 0ed1bc5..8ef8f51 100644 > --- > a/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgor >ithm.java +++ > b/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgor >ithm.java @@ -251,7 +251,7 @@ public class MultistartOptimisationAlgorithm > extends Algorithm implements Partic * @see > net.sourceforge.cilib.Problem.OptimisationProblemAdapter#calculateFitness(j >ava.lang.Object) */ > protected Fitness calculateFitness(Type solution) { > - return target.getFitness(solution, true); > + return target.getFitness(solution); > } > > public void resetFitnessCounter() { > 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 > ceea52b..2f4e1ab 100644 > --- a/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java > +++ b/src/main/java/net/sourceforge/cilib/boa/bee/AbstractBee.java > @@ -97,7 +97,7 @@ public abstract class AbstractBee extends AbstractEntity > implements HoneyBee { */ > @Override > public void calculateFitness() { > - this.getProperties().put(EntityType.FITNESS, > getFitnessCalculator().getFitness(this, true)); + > this.getProperties().put(EntityType.FITNESS, > getFitnessCalculator().getFitness(this)); } > > /** > diff --git > a/src/main/java/net/sourceforge/cilib/clustering/kmeans/KMeans.java > b/src/main/java/net/sourceforge/cilib/clustering/kmeans/KMeans.java index > d4fd66c..8f85a73 100644 > --- a/src/main/java/net/sourceforge/cilib/clustering/kmeans/KMeans.java > +++ b/src/main/java/net/sourceforge/cilib/clustering/kmeans/KMeans.java > @@ -73,7 +73,7 @@ public class KMeans extends SingularAlgorithm { > > /** > * Create a copy of the provided instance. > - * @param rhs The instance to copy. > + * @param copy The instance to copy. > */ > public KMeans(KMeans copy) { > super(copy); > @@ -105,7 +105,7 @@ public class KMeans extends SingularAlgorithm { > */ > @Override > public void algorithmIteration() { > - calculator.getFitness(centroids, true); > + calculator.getFitness(centroids); > > // the fitness calculation step already arranged the clusters and > centroids for us ClusteringUtils helper = ClusteringUtils.get(); > @@ -163,7 +163,7 @@ public class KMeans extends SingularAlgorithm { > */ > @Override > public OptimisationSolution getBestSolution() { > - return new OptimisationSolution(centroids.getClone(), > getOptimisationProblem().getFitness(centroids, false)); + return new > OptimisationSolution(centroids.getClone(), > getOptimisationProblem().getFitness(centroids)); } > > /** > diff --git > a/src/main/java/net/sourceforge/cilib/cooperative/CooperativeEntity.java > b/src/main/java/net/sourceforge/cilib/cooperative/CooperativeEntity.java > index 4ae1f95..640c41d 100644 > --- > a/src/main/java/net/sourceforge/cilib/cooperative/CooperativeEntity.java > +++ > b/src/main/java/net/sourceforge/cilib/cooperative/CooperativeEntity.java @@ > -29,7 +29,6 @@ import net.sourceforge.cilib.problem.OptimisationProblem; > import net.sourceforge.cilib.type.types.Numeric; > import net.sourceforge.cilib.type.types.Type; > import net.sourceforge.cilib.type.types.container.StructuredType; > -import net.sourceforge.cilib.type.types.container.TypeList; > import net.sourceforge.cilib.type.types.container.Vector; > > /** > @@ -52,6 +51,7 @@ public class CooperativeEntity extends AbstractEntity { > fitness = rhs.fitness; > } > > + @Override > public CooperativeEntity getClone() { > return new CooperativeEntity(this); > } > @@ -137,11 +137,8 @@ public class CooperativeEntity extends AbstractEntity > { throw new UnsupportedOperationException("Methd not implemented"); } > > + @Override > public void calculateFitness() { > - calculateFitness(true); > - } > - > - public void calculateFitness(boolean count) { > - fitness = getFitnessCalculator().getFitness(this, count); > + fitness = getFitnessCalculator().getFitness(this); > } > } > diff --git > a/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrateg >ies/SelectiveContributionUpdateStrategy.java > b/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrateg >ies/SelectiveContributionUpdateStrategy.java index 5452c99..ddf5bef 100644 > --- > a/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrateg >ies/SelectiveContributionUpdateStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrateg >ies/SelectiveContributionUpdateStrategy.java @@ -38,7 +38,7 @@ public class > SelectiveContributionUpdateStrategy implements ContributionUpdateSt > dstTest.update(src, srcPos, dstPos, length); > > // calculate new fitness of updated clone > - dstTest.calculateFitness(false); > + dstTest.calculateFitness(); > > // if updated clone is better than original context, update > context if(dstTest.compareTo(dst) > 0) { > diff --git a/src/main/java/net/sourceforge/cilib/ec/Individual.java > b/src/main/java/net/sourceforge/cilib/ec/Individual.java index > c1ea82f..c6373e0 100644 > --- a/src/main/java/net/sourceforge/cilib/ec/Individual.java > +++ b/src/main/java/net/sourceforge/cilib/ec/Individual.java > @@ -145,7 +145,7 @@ public class Individual extends AbstractEntity { > */ > @Override > public void calculateFitness() { > - this.getProperties().put(EntityType.FITNESS, > this.getFitnessCalculator().getFitness(this, true)); + > this.getProperties().put(EntityType.FITNESS, > this.getFitnessCalculator().getFitness(this)); } > > /** > diff --git a/src/main/java/net/sourceforge/cilib/entity/Harmony.java > b/src/main/java/net/sourceforge/cilib/entity/Harmony.java index > 85fe665..6b21457 100644 > --- a/src/main/java/net/sourceforge/cilib/entity/Harmony.java > +++ b/src/main/java/net/sourceforge/cilib/entity/Harmony.java > @@ -80,7 +80,7 @@ public class Harmony extends AbstractEntity { > */ > @Override > public void calculateFitness() { > - Fitness fitness = getFitnessCalculator().getFitness(this, true); > + Fitness fitness = getFitnessCalculator().getFitness(this); > this.getProperties().put(EntityType.FITNESS, fitness); > } > > diff --git > a/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblem >Adapter.java > b/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblem >Adapter.java index e2687c0..c0c23ff 100644 > --- > a/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblem >Adapter.java +++ > b/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblem >Adapter.java @@ -83,7 +83,7 @@ public class CriterionBasedMOProblemAdapter > extends OptimisationProblemAdapter { > > @Override > protected Fitness calculateFitness(Type solution) { > - return this.problem.getFitness(this.activeIndex, solution, true); > + return this.problem.getFitness(this.activeIndex, solution); > } > > @Override > diff --git > a/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIter >ationStrategy.java > b/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIter >ationStrategy.java index f8e38ff..124747d 100644 > --- > a/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIter >ationStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIter >ationStrategy.java @@ -72,12 +72,12 @@ public class > ArchivingIterationStrategy<E extends PopulationBasedAlgorithm> impl } > > protected void updateArchive(Topology<? extends Entity> population) { > - Algorithm topLevelAlgorithm = (Algorithm) > Algorithm.getAlgorithmList().get(0); + Algorithm topLevelAlgorithm = > Algorithm.getAlgorithmList().get(0); List<OptimisationSolution> > optimisationSolutions = new ArrayList<OptimisationSolution>(); for (Entity > entity : population) { > Type solution = entity.getCandidateSolution().getClone(); > optimisationSolutions.add(new OptimisationSolution(solution, > - > topLevelAlgorithm.getOptimisationProblem().getFitness(solution, false))); + > > topLevelAlgorithm.getOptimisationProblem().getFitness(solution))); } > Archive.get().addAll(optimisationSolutions); > } > diff --git > a/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetwor >kProblem.java > b/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetwor >kProblem.java index 8f54433..de82adf 100644 > --- > a/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetwor >kProblem.java +++ > b/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetwor >kProblem.java @@ -76,11 +76,10 @@ public class NeuralNetworkProblem > implements OptimisationProblem, Initializable return > evaluationStrategy.evaluate(p); > } > > - public Fitness getFitness(Type solution, boolean count) { > + @Override > + public Fitness getFitness(Type solution) { > + ++fitnessEvaluations; > > - if (count) { > - ++fitnessEvaluations; > - } > this.getTopology().setWeights((Vector) solution); > > //Defaults to first error element as the main fitness... > diff --git > a/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProble >mAdapter.java > b/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProble >mAdapter.java index 316d620..42ed4ab 100644 > --- > a/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProble >mAdapter.java +++ > b/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProble >mAdapter.java @@ -111,7 +111,7 @@ public class > CooperativeOptimisationProblemAdapter extends OptimisationProblemAd for > (int i = 0; i < dimension; ++i) { > ((Vector) context.getCandidateSolution()).setReal(offset + i, > participant.getReal(i)); } > - return problem.getFitness(context.getCandidateSolution(), true); > + return problem.getFitness(context.getCandidateSolution()); > } > > public DomainRegistry getDomain() { > diff --git a/src/main/java/net/sourceforge/cilib/problem/MOFitness.java > b/src/main/java/net/sourceforge/cilib/problem/MOFitness.java index > a6144a6..4edfc45 100644 > --- a/src/main/java/net/sourceforge/cilib/problem/MOFitness.java > +++ b/src/main/java/net/sourceforge/cilib/problem/MOFitness.java > @@ -34,19 +34,19 @@ public class MOFitness implements Fitness { > private static final long serialVersionUID = 1477723759384827131L; > private Fitness[] fitnesses; > > - public MOFitness(MOOptimisationProblem problem, Type[] solution, > boolean count) { + public MOFitness(MOOptimisationProblem problem, > Type[] solution) { int size = problem.size(); > fitnesses = new Fitness[size]; > for (int i = 0; i < size; ++i) { > - fitnesses[i] = problem.getFitness(i, solution[i], count); > + fitnesses[i] = problem.getFitness(i, solution[i]); > } > } > > - public MOFitness(MOOptimisationProblem problem, Type solution, boolean > count) { + public MOFitness(MOOptimisationProblem problem, Type > solution) { int size = problem.size(); > fitnesses = new Fitness[size]; > for (int i = 0; i < size; ++i) { > - fitnesses[i] = problem.getFitness(i, solution, count); > + fitnesses[i] = problem.getFitness(i, solution); > } > } > > diff --git > a/src/main/java/net/sourceforge/cilib/problem/MOOptimisationProblem.java > b/src/main/java/net/sourceforge/cilib/problem/MOOptimisationProblem.java > index 54b4b4a..ccc139f 100644 > --- > a/src/main/java/net/sourceforge/cilib/problem/MOOptimisationProblem.java > +++ > b/src/main/java/net/sourceforge/cilib/problem/MOOptimisationProblem.java @@ > -56,17 +56,17 @@ public class MOOptimisationProblem implements > OptimisationProblem, List<Optimisa return new MOOptimisationProblem(this); > } > > - public MOFitness getFitness(Type[] solutions, boolean count) { > - return new MOFitness(this, solutions, count); > + public MOFitness getFitness(Type[] solutions) { > + return new MOFitness(this, solutions); > } > > @Override > - public MOFitness getFitness(Type solution, boolean count) { > - return new MOFitness(this, solution, count); > + public MOFitness getFitness(Type solution) { > + return new MOFitness(this, solution); > } > > - public Fitness getFitness(int index, Type solution, boolean count) { > - return problems.get(index).getFitness(solution, count); > + public Fitness getFitness(int index, Type solution) { > + return problems.get(index).getFitness(solution); > } > > @Override > diff --git > a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java > b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java > index a5437c2..454aaa9 100644 > --- a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java > +++ b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblem.java > @@ -53,10 +53,9 @@ public interface OptimisationProblem extends Problem { > * falls outside the search space of this problem. > * > * @param solution The potential solution found by the optimisation > algorithm. - * @param count True if this call should contribute to the > fitness evaluation count, see {@link #getFitnessEvaluations()}. * @return > The fitness of the solution. > */ > - public Fitness getFitness(Type solution, boolean count); > + public Fitness getFitness(Type solution); > > /** > * Returns the number of times the underlying fitness function has > been evaluated. diff --git > a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.ja >va > b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.ja >va index 1b2e37d..aa7288d 100644 > --- > a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.ja >va +++ > b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.ja >va @@ -72,10 +72,8 @@ public abstract class OptimisationProblemAdapter > implements OptimisationProblem /** > * {@inheritDoc} > */ > - public final Fitness getFitness(Type solution, boolean count) { > - if (count) { > - fitnessEvaluations.incrementAndGet(); > - } > + public final Fitness getFitness(Type solution) { > + fitnessEvaluations.incrementAndGet(); > > if (this.changeStrategy.shouldApply(this)) > changeEnvironment(); > diff --git > a/src/main/java/net/sourceforge/cilib/pso/dynamic/DynamicParticle.java > b/src/main/java/net/sourceforge/cilib/pso/dynamic/DynamicParticle.java > index efa583e..a69ac96 100644 > --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/DynamicParticle.java > +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/DynamicParticle.java > @@ -52,7 +52,7 @@ public class DynamicParticle extends StandardParticle { > * Re-evaluate both best and current position of the particle. > */ > public void reevaluate() { > - this.getProperties().put(EntityType.Particle.BEST_FITNESS, > getFitnessCalculator().getFitness(this, true)); + > this.getProperties().put(EntityType.Particle.BEST_FITNESS, > getFitnessCalculator().getFitness(this)); this.calculateFitness(); > } > } > diff --git > a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/Rando >mSentryDetectionStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/Rando >mSentryDetectionStrategy.java index 11f0fb3..95387a7 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/Rando >mSentryDetectionStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/Rando >mSentryDetectionStrategy.java @@ -79,7 +79,7 @@ public class > RandomSentryDetectionStrategy<E extends PopulationBasedAlgorithm> e for > (Entity nextSentry : sentryList) { > double oldSentryFitness = nextSentry.getFitness().getValue(); > nextSentry.calculateFitness(); > - double newSentryFitness = > algorithm.getOptimisationProblem().getFitness(nextSentry.getCandidateSoluti >on(), false).getValue(); + double newSentryFitness = > algorithm.getOptimisationProblem().getFitness(nextSentry.getCandidateSoluti >on()).getValue(); > > if(Math.abs(oldSentryFitness - newSentryFitness) >= theta) { > envChangeOccured = true; > diff --git > a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Archiv >eReevaluationResponseStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Archiv >eReevaluationResponseStrategy.java index 10db1e8..cce4afd 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Archiv >eReevaluationResponseStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Archiv >eReevaluationResponseStrategy.java @@ -46,7 +46,7 @@ public class > ArchiveReevaluationResponseStrategy extends EnvironmentChangeRespon > @Override > protected void performReaction(PopulationBasedAlgorithm algorithm) { > for (Entity entity : algorithm.getTopology()) { > - entity.getProperties().put(EntityType.Particle.BEST_FITNESS, > entity.getFitnessCalculator().getFitness(entity, true)); + > entity.getProperties().put(EntityType.Particle.BEST_FITNESS, > entity.getFitnessCalculator().getFitness(entity)); > //entity.getProperties().put(EntityType.Particle.BEST_POSITION, > entity.getCandidateSolution()); entity.calculateFitness(); > } > @@ -56,7 +56,7 @@ public class ArchiveReevaluationResponseStrategy extends > EnvironmentChangeRespon > > List<OptimisationSolution> newList = new > LinkedList<OptimisationSolution>(); for (OptimisationSolution solution : > Archive.get()) { > - OptimisationSolution os = new > OptimisationSolution(solution.getPosition(), > problem.getFitness(solution.getPosition(), false)); + > OptimisationSolution os = new OptimisationSolution(solution.getPosition(), > problem.getFitness(solution.getPosition())); newList.add(os); > } > > diff --git > a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Compet >itiveCoevolutionParticleReevaluationResponseStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Compet >itiveCoevolutionParticleReevaluationResponseStrategy.java index > f3140f8..15c0b15 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Compet >itiveCoevolutionParticleReevaluationResponseStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/Compet >itiveCoevolutionParticleReevaluationResponseStrategy.java @@ -70,7 +70,7 @@ > public class CompetitiveCoevolutionParticleReevaluationResponseStrategy<E > extend Blackboard<Enum<?>, Type> blackboard = new Blackboard<Enum<?>, > Type>(); blackboard.put(EntityType.CANDIDATE_SOLUTION, > ((AbstractParticle)e).getBestPosition()); > blackboard.put(EntityType.Coevolution.BOARD, new EntityScoreboard()); - > Fitness val = > currentAlgorithm.getOptimisationProblem().getFitness(blackboard, false); + > Fitness val = > currentAlgorithm.getOptimisationProblem().getFitness(blackboard); > e.getProperties().put(EntityType.Particle.BEST_FITNESS, val); //if currentV > is better than re-evaluated pBest, then replace it if > (e.getFitness().compareTo(e.getBestFitness()) > 0) { diff --git > a/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/Dominan >tGuideUpdateStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/Dominan >tGuideUpdateStrategy.java index 22d529e..fccbd7d 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/Dominan >tGuideUpdateStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/Dominan >tGuideUpdateStrategy.java @@ -56,8 +56,8 @@ public class > DominantGuideUpdateStrategy implements GuideUpdateStrategy { Vector > previousGuide = (Vector) particle.getProperties().get(guideType); Algorithm > topLevelAlgorithm = Algorithm.getAlgorithmList().get(0); > OptimisationProblem problem = topLevelAlgorithm.getOptimisationProblem(); - > Fitness currentFitness = problem.getFitness(newGuide, false); - > if (previousGuide == null || > currentFitness.compareTo(problem.getFitness(previousGuide, false)) > 0) { + > Fitness currentFitness = problem.getFitness(newGuide); > + if (previousGuide == null || > currentFitness.compareTo(problem.getFitness(previousGuide)) > 0) { > particle.getProperties().put(guideType, newGuide); > } > } > diff --git > a/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.j >ava > b/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.j >ava index 272f0ab..cc66ed5 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.j >ava +++ > b/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.j >ava @@ -33,7 +33,7 @@ public class MultiObjectiveParticle extends > StandardParticle { private static final long serialVersionUID = > 2449622504036301616L; > > public void setBestPosition(Type bestPosition) { > - Fitness bestPositionFitness = > Algorithm.get().getOptimisationProblem().getFitness(bestPosition, false); + > Fitness bestPositionFitness = > Algorithm.get().getOptimisationProblem().getFitness(bestPosition); > > this.getProperties().put(EntityType.Particle.BEST_POSITION, > bestPosition.getClone()); > this.getProperties().put(EntityType.Particle.BEST_FITNESS, > bestPositionFitness); 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 5176e8f..6f2cb2d 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java > +++ > b/src/main/java/net/sourceforge/cilib/pso/particle/StandardParticle.java @@ > -163,7 +163,7 @@ public class StandardParticle extends AbstractParticle { > */ > @Override > public void calculateFitness() { > - Fitness fitness = getFitnessCalculator().getFitness(this, true); > + Fitness fitness = getFitnessCalculator().getFitness(this); > this.getProperties().put(EntityType.FITNESS, fitness); > > this.personalBestUpdateStrategy.updatePersonalBest(this); > diff --git > a/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositi >onUpdateStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositi >onUpdateStrategy.java index 3c244cd..2ac5646 100755 > --- > a/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositi >onUpdateStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositi >onUpdateStrategy.java @@ -123,8 +123,8 @@ public class > DEPositionUpdateStrategy implements PositionUpdateStrategy { > > > //position should only become the offspring if its fitness is > better - Fitness trialFitness = > pso.getOptimisationProblem().getFitness(dePosition, false); - > Fitness currentFitness = > pso.getOptimisationProblem().getFitness(particle.getCandidateSolution(), > false); + Fitness trialFitness = > pso.getOptimisationProblem().getFitness(dePosition); + Fitness > currentFitness = > pso.getOptimisationProblem().getFitness(particle.getCandidateSolution()); > > if (trialFitness.compareTo(currentFitness) > 0) { > particle.setCandidateSolution(dePosition); > diff --git > a/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVeloci >tyUpdateStrategy.java > b/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVeloci >tyUpdateStrategy.java index 9bdfee4..cba2489 100644 > --- > a/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVeloci >tyUpdateStrategy.java +++ > b/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVeloci >tyUpdateStrategy.java @@ -159,7 +159,7 @@ public class > GCVelocityUpdateStrategy extends StandardVelocityUpdate { PSO pso = (PSO) > Algorithm.get(); > > if (particle == pso.getTopology().getBestEntity(new > SocialBestFitnessComparator<Particle>())) { - Fitness newFitness > = particle.getFitnessCalculator().getFitness(particle, false); + > Fitness newFitness = particle.getFitnessCalculator().getFitness(particle); > > if (!newFitness.equals(oldFitness)) { > this.failureCount = 0; > diff --git > a/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCal >culator.java > b/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCal >culator.java index afd5933..8b19b18 100644 > --- > a/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCal >culator.java +++ > b/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCal >culator.java @@ -35,6 +35,7 @@ public class EntityBasedFitnessCalculator > implements FitnessCalculator<Entity> { /** > * {@inheritDoc} > */ > + @Override > public EntityBasedFitnessCalculator getClone() { > return this; > } > @@ -42,9 +43,10 @@ public class EntityBasedFitnessCalculator implements > FitnessCalculator<Entity> { /** > * {@inheritDoc} > */ > - public Fitness getFitness(Entity entity, boolean count) { > + @Override > + public Fitness getFitness(Entity entity) { > Algorithm algorithm = Algorithm.get(); > - return > algorithm.getOptimisationProblem().getFitness(entity.getCandidateSolution() >, count); + return > algorithm.getOptimisationProblem().getFitness(entity.getCandidateSolution() >); } > > } > diff --git > a/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.jav >a > b/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.jav >a index 51ecf75..8ef9a07 100644 > --- > a/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.jav >a +++ > b/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.jav >a @@ -34,14 +34,14 @@ public interface FitnessCalculator<T> extends > Cloneable { /** > * {@inheritDoc} > */ > + @Override > public FitnessCalculator<T> getClone(); > > /** > * Get the fitness, given the <code>position</code>. > * @param entity The <code>Type</code> to base the calculation on. > - * @param count Whether or not the evaluation is to be counted. > * @return A <code>Fitness</code> object representing the fitness of > the <code>position</code>. */ > - public Fitness getFitness(T entity, boolean count); > + public Fitness getFitness(T entity); > > } > diff --git > a/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessC >alculator.java > b/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessC >alculator.java index 78783d3..39479ee 100644 > --- > a/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessC >alculator.java +++ > b/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessC >alculator.java @@ -45,8 +45,8 @@ public class PropertyBasedFitnessCalculator > implements * {@inheritDoc} > */ > @Override > - public Fitness getFitness(Entity entity, boolean count) { > + public Fitness getFitness(Entity entity) { > Algorithm algorithm = Algorithm.get(); > - return > algorithm.getOptimisationProblem().getFitness(entity.getProperties(), > count); + return > algorithm.getOptimisationProblem().getFitness(entity.getProperties()); } > } > diff --git > a/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitness >Calculator.java > b/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitness >Calculator.java index 5fe4d24..5e77f38 100644 > --- > a/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitness >Calculator.java +++ > b/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitness >Calculator.java @@ -46,9 +46,9 @@ public class > StructuredTypeFitnessCalculator<T extends StructuredType<?>> implem * > {@inheritDoc} > */ > @Override > - public Fitness getFitness(T structure, boolean count) { > + public Fitness getFitness(T structure) { > Algorithm algorithm = Algorithm.get(); > - return algorithm.getOptimisationProblem().getFitness(structure, > count); + return > algorithm.getOptimisationProblem().getFitness(structure); } > > } > diff --git > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCross >overStrategyTest.java > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCross >overStrategyTest.java index b66511a..7035d52 100644 > --- > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCross >overStrategyTest.java +++ > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCross >overStrategyTest.java @@ -84,7 +84,7 @@ public class > BlendCrossoverStrategyTest { > } > > @Override > - public Fitness getFitness(Individual entity, boolean count) { > + public Fitness getFitness(Individual entity) { > return InferiorFitness.instance(); > } > } > diff --git > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCr >ossoverStrategyTest.java > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCr >ossoverStrategyTest.java index e7805ca..f6a97df 100644 > --- > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCr >ossoverStrategyTest.java +++ > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCr >ossoverStrategyTest.java @@ -84,7 +84,7 @@ public class > OnePointCrossoverStrategyTest { > } > > @Override > - public Fitness getFitness(Individual entity, boolean count) { > + public Fitness getFitness(Individual entity) { > return InferiorFitness.instance(); > } > } > diff --git > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCro >ssoverStrategyTest.java > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCro >ssoverStrategyTest.java index daae496..f132db1 100644 > --- > a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCro >ssoverStrategyTest.java +++ > b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCro >ssoverStrategyTest.java @@ -84,7 +84,7 @@ public class > UniformCrossoverStrategyTest { > } > > @Override > - public Fitness getFitness(Individual entity, boolean count) { > + public Fitness getFitness(Individual entity) { > return InferiorFitness.instance(); > } > } > diff --git > a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.j >ava > b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.j >ava index a6cbc2a..8a1a84a 100644 > --- > a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.j >ava +++ > b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.j >ava @@ -234,29 +234,29 @@ public class ArchiveTest { > // and test if the fitness-value is correct. > Iterator<Vector> vectorIterator = testVectors.iterator(); > Vector testVector = vectorIterator.next(); > - MOFitness fitness = (MOFitness) problem.getFitness(testVector, > false); + MOFitness fitness = problem.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(1.46361111111, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(55, fitness.getFitness(1).getValue(), EPSILON); - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector, false)))); - > assertThat(archive.contains(new OptimisationSolution(testVector, > problem.getFitness(testVector, false))), is(true)); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector)))); + assertThat(archive.contains(new > OptimisationSolution(testVector, problem.getFitness(testVector))), > is(true)); > > testVector = vectorIterator.next(); > - fitness = (MOFitness) problem.getFitness(testVector, false); > + fitness = problem.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.491388888889, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(90, fitness.getFitness(1).getValue(), EPSILON); - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector, false)))); - > assertThat(archive.contains(new OptimisationSolution(testVector, > problem.getFitness(testVector, false))), is(true)); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector)))); + assertThat(archive.contains(new > OptimisationSolution(testVector, problem.getFitness(testVector))), > is(true)); assertThat(archive.size(), is(2)); > > testVector = vectorIterator.next(); > - fitness = (MOFitness) problem.getFitness(testVector, false); > + fitness = problem.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.261797052154, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(135, fitness.getFitness(1).getValue(), EPSILON); - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector, false)))); - > assertThat(archive.contains(new OptimisationSolution(testVector, > problem.getFitness(testVector, false))), is(true)); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem.getFitness(testVector)))); + assertThat(archive.contains(new > OptimisationSolution(testVector, problem.getFitness(testVector))), > is(true)); assertThat(archive.size(), is(3)); > > // After the archive size has been monitored continuously, insert > the exact same solutions into the archive again. @@ -264,9 +264,9 @@ public > class ArchiveTest { > vectorIterator = testVectors.iterator(); > while (vectorIterator.hasNext()) { > testVector = vectorIterator.next(); > - fitness = (MOFitness) problem.getFitness(testVector, false); > + fitness = problem.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > - archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem.getFitness(testVector, false)))); > + archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem.getFitness(testVector)))); } > // Archive size must stay the same due to set-based behavior of > archive. assertThat(archive.size(), is(3)); > @@ -284,7 +284,7 @@ public class ArchiveTest { > DummyOptimisationProblem1 problem1 = new > DummyOptimisationProblem1(); Collection<Vector> testVectors = > createDummyVectors(); > for (Vector testVector : testVectors) { > - archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem1.getFitness(testVector, false)))); > + archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem1.getFitness(testVector)))); } > // Arhive size is now 3. > assertThat(archive.size(), is(3)); > @@ -296,13 +296,13 @@ public class ArchiveTest { > DummyOptimisationProblem2 problem2 = new > DummyOptimisationProblem2(); Iterator<Vector> vectorIterator = > testVectors.iterator(); Vector testVector = vectorIterator.next(); > - MOFitness fitness = (MOFitness) problem2.getFitness(testVector, > false); + MOFitness fitness = problem2.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(2.92722222222, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(110, fitness.getFitness(1).getValue(), EPSILON); > > // Then, check which solutions (corresponding to problem 1) > dominates the first external solution corresponding to problem 2. - > Collection<OptimisationSolution> dominantSolutions = archive.dominates(new > OptimisationSolution(testVector, problem2.getFitness(testVector, false))); > + Collection<OptimisationSolution> dominantSolutions = > archive.dominates(new OptimisationSolution(testVector, > problem2.getFitness(testVector))); assertThat(dominantSolutions.size(), > is(2)); > Iterator<OptimisationSolution> dominantIterator = > dominantSolutions.iterator(); > > @@ -323,22 +323,22 @@ public class ArchiveTest { > // solution with fitness (2.92722222222, 110) which is correct. > > // Finally, check that archive does not accept this solution. > - archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector)))); assertThat(archive.size(), is(3)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false))), is(false)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector))), is(false)); > > > > > // For the second vector (2,3,4,5,6) calculate the fitness in > terms of optimisation problem 2 and check it. testVector = > vectorIterator.next(); > - fitness = (MOFitness) problem2.getFitness(testVector, false); > + fitness = problem2.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.982777777778, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(180, fitness.getFitness(1).getValue(), EPSILON); > > // Now, check which solutions (corresponding to problem 1) > dominates the second external solution corresponding to problem 2. - > dominantSolutions = archive.dominates(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false))); + dominantSolutions = > archive.dominates(new OptimisationSolution(testVector, > problem2.getFitness(testVector))); assertThat(dominantSolutions.size(), > is(2)); > dominantIterator = dominantSolutions.iterator(); > > @@ -359,22 +359,22 @@ public class ArchiveTest { > // solution with fitness (0.982777777778, 180) which is correct. > > // Finally, check that archive does not accept this solution. > - archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector)))); assertThat(archive.size(), is(3)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false))), is(false)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector))), is(false)); > > > > > // For the third vector (3,4,5,6,7) calculate the fitness in terms > of optimisation problem 2 and check it. testVector = vectorIterator.next(); > - fitness = (MOFitness) problem2.getFitness(testVector, false); > + fitness = problem2.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.523594104308, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(270, fitness.getFitness(1).getValue(), EPSILON); > > // Now, check which solutions (corresponding to problem 1) > dominates the second solution corresponding to problem 2. - > dominantSolutions = archive.dominates(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false))); + dominantSolutions = > archive.dominates(new OptimisationSolution(testVector, > problem2.getFitness(testVector))); assertThat(dominantSolutions.size(), > is(2)); > dominantIterator = dominantSolutions.iterator(); > > @@ -395,9 +395,9 @@ public class ArchiveTest { > // solution with fitness (0.523594104308, 270) which is correct. > > // Finally, check that archive does not accept this solution. > - archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem2.getFitness(testVector)))); assertThat(archive.size(), is(3)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector, false))), is(false)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem2.getFitness(testVector))), is(false)); } > > /** > @@ -413,7 +413,7 @@ public class ArchiveTest { > DummyOptimisationProblem2 problem2 = new > DummyOptimisationProblem2(); Collection<Vector> testVectors = > createDummyVectors(); > for (Vector testVector : testVectors) { > - archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem2.getFitness(testVector, false)))); > + archive.addAll(Arrays.asList(new > OptimisationSolution(testVector, problem2.getFitness(testVector)))); } > // Arhive size is now 3. > assertThat(archive.size(), is(3)); > @@ -425,13 +425,13 @@ public class ArchiveTest { > DummyOptimisationProblem1 problem1 = new > DummyOptimisationProblem1(); Iterator<Vector> vectorIterator = > testVectors.iterator(); Vector testVector = vectorIterator.next(); > - MOFitness fitness = (MOFitness) problem1.getFitness(testVector, > false); + MOFitness fitness = problem1.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(1.46361111111, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(55, fitness.getFitness(1).getValue(), EPSILON); > > // Then, check which solutions (corresponding to problem 2) is > dominated by the first external solution corresponding to problem 1. - > Collection<OptimisationSolution> dominatedSolutions = > archive.isDominatedBy(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false))); + > Collection<OptimisationSolution> dominatedSolutions = > archive.isDominatedBy(new OptimisationSolution(testVector, > problem1.getFitness(testVector))); assertThat(dominatedSolutions.size(), > is(1)); > Iterator<OptimisationSolution> dominatedIterator = > dominatedSolutions.iterator(); > > @@ -445,10 +445,10 @@ public class ArchiveTest { > // Thus, no more solutions in archive is dominated by this > external solution. > > // Now, insert this external solution and it should replace > abovementioned dominated solution. - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector)))); assertThat(archive.size(), is(3)); > assertThat(archive.contains(dominatedSolution), is(false)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false))), is(true)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector))), is(true)); > > // -- Arhive contains (0.982777777778, 180); (0.523594104308, > 270); new --> (1.46361111111, 55) <-- new; > > @@ -457,13 +457,13 @@ public class ArchiveTest { > > // For the second vector (2,3,4,5,6) calculate the fitness in > terms of optimisation problem 1 and check it. testVector = > vectorIterator.next(); > - fitness = (MOFitness) problem1.getFitness(testVector, false); > + fitness = problem1.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.491388888889, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(90, fitness.getFitness(1).getValue(), EPSILON); > > // Then, check which solutions (corresponding to problem 2) is > dominated by the second external solution corresponding to problem 1. - > dominatedSolutions = archive.isDominatedBy(new > OptimisationSolution(testVector, problem1.getFitness(testVector, false))); > + dominatedSolutions = archive.isDominatedBy(new > OptimisationSolution(testVector, problem1.getFitness(testVector))); > assertThat(dominatedSolutions.size(), is(2)); > dominatedIterator = dominatedSolutions.iterator(); > > @@ -480,11 +480,11 @@ public class ArchiveTest { > assertEquals(270, ((MOFitness) > dominatedSolution2.getFitness()).getFitness(1).getValue(), EPSILON); > > // Now, insert this external solution and it should replace both > of the abovementioned dominated solutions. - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector)))); assertThat(archive.size(), is(2)); > assertThat(archive.contains(dominatedSolution1), is(false)); > assertThat(archive.contains(dominatedSolution2), is(false)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false))), is(true)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector))), is(true)); > > // -- Arhive contains (1.46361111111, 55); new --> > (0.491388888889, 90) <-- new; > > @@ -493,19 +493,19 @@ public class ArchiveTest { > > // For the third vector (3,4,5,6,7) calculate the fitness in terms > of optimisation problem 1 and check it. testVector = vectorIterator.next(); > - fitness = (MOFitness) problem1.getFitness(testVector, false); > + fitness = problem1.getFitness(testVector); > assertThat(fitness.getDimension(), is(2)); > assertEquals(0.261797052154, fitness.getFitness(0).getValue(), > EPSILON); assertEquals(135, fitness.getFitness(1).getValue(), EPSILON); > > // Then, check which solutions (corresponding to problem 2) is > dominated by the second external solution corresponding to problem 1. - > dominatedSolutions = archive.isDominatedBy(new > OptimisationSolution(testVector, problem1.getFitness(testVector, false))); > + dominatedSolutions = archive.isDominatedBy(new > OptimisationSolution(testVector, problem1.getFitness(testVector))); > assertThat(dominatedSolutions.size(), is(0)); // No solutions dominate > external solution. > > // Now, insert this external solution and it should be accepted in > archive and not replace any other solution. - > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(testVector, > problem1.getFitness(testVector)))); assertThat(archive.size(), is(3)); > - assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector, false))), is(true)); + > assertThat(archive.contains(new OptimisationSolution(testVector, > problem1.getFitness(testVector))), is(true)); > > // -- Archive contains (1.46361111111, 55); (0.491388888889, 90); > (0.261797052154, 135); } > diff --git > a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedAr >chiveTest.java > b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedAr >chiveTest.java index 05b3737..8a8491f 100644 > --- > a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedAr >chiveTest.java +++ > b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedAr >chiveTest.java @@ -190,7 +190,7 @@ public class ConstrainedArchiveTest { > for (int j = i; j < i + 5; ++j) { > vector.add(new Real(j)); > } > - archive.addAll(Arrays.asList(new OptimisationSolution(vector, > problem.getFitness(vector, false)))); + > archive.addAll(Arrays.asList(new OptimisationSolution(vector, > problem.getFitness(vector)))); } > assertThat(archive.size(), is(100)); > archive.clear(); > @@ -201,7 +201,7 @@ public class ConstrainedArchiveTest { > for (int j = i; j < i + 5; ++j) { > vector.add(new Real(j)); > } > - solutions.add(new OptimisationSolution(vector, > problem.getFitness(vector, false))); + solutions.add(new > OptimisationSolution(vector, problem.getFitness(vector))); } > archive.addAll(solutions); > assertThat(archive.size(), is(100)); > diff --git > a/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/Solution >WeighingTest.java > b/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/Solution >WeighingTest.java index ae30953..9d2ef20 100644 > --- > a/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/Solution >WeighingTest.java +++ > b/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/Solution >WeighingTest.java @@ -72,7 +72,7 @@ public class SolutionWeighingTest { > } > > @Override > - public Fitness getFitness(Type solution, boolean count) { > + public Fitness getFitness(Type solution) { > Vector position = (Vector) solution; > return new MinimisationFitness(position.getReal(index)); > } > @@ -123,27 +123,27 @@ public class SolutionWeighingTest { > Vector position = new Vector(); > position.add(new Real(1)); > position.add(new Real(1)); > - solutions.add(new OptimisationSolution(position, > moProblem.getFitness(position, false))); + solutions.add(new > OptimisationSolution(position, moProblem.getFitness(position))); > > position = new Vector(); > position.add(new Real(2)); > position.add(new Real(4)); > - solutions.add(new OptimisationSolution(position, > moProblem.getFitness(position, false))); + solutions.add(new > OptimisationSolution(position, moProblem.getFitness(position))); > > position = new Vector(); > position.add(new Real(3)); > position.add(new Real(2)); > - solutions.add(new OptimisationSolution(position, > moProblem.getFitness(position, false))); + solutions.add(new > OptimisationSolution(position, moProblem.getFitness(position))); > > position = new Vector(); > position.add(new Real(4)); > position.add(new Real(6)); > - solutions.add(new OptimisationSolution(position, > moProblem.getFitness(position, false))); + solutions.add(new > OptimisationSolution(position, moProblem.getFitness(position))); > > position = new Vector(); > position.add(new Real(5)); > position.add(new Real(1)); > - solutions.add(new OptimisationSolution(position, > moProblem.getFitness(position, false))); + solutions.add(new > OptimisationSolution(position, moProblem.getFitness(position))); } > > @Test > diff --git a/src/test/java/net/sourceforge/cilib/problem/MOFitnessTest.java > b/src/test/java/net/sourceforge/cilib/problem/MOFitnessTest.java index > 407bc25..ae5d5d5 100644 > --- a/src/test/java/net/sourceforge/cilib/problem/MOFitnessTest.java > +++ b/src/test/java/net/sourceforge/cilib/problem/MOFitnessTest.java > @@ -56,8 +56,8 @@ public class MOFitnessTest { > new MinimisationFitness(new Integer(1).doubleValue()), > new MinimisationFitness(new Integer(1).doubleValue())}; > > - Fitness f1 = moproblem.getFitness(inferior, false); > - Fitness f2 = moproblem.getFitness(oneFitness, false); > + Fitness f1 = moproblem.getFitness(inferior); > + Fitness f2 = moproblem.getFitness(oneFitness); > > assertTrue(f1.compareTo(f2) < 0); > assertTrue(f2.compareTo(f1) > 0); > @@ -80,14 +80,10 @@ public class MOFitnessTest { > } > > @Override > - public Fitness getFitness(Type solution, boolean count) { > + public Fitness getFitness(Type solution) { > return (Fitness) solution; > } > > - public Fitness getFitness(Type[] solution, boolean count) { > - return (Fitness) solution[i]; > - } > - > @Override > public int getFitnessEvaluations() { > return 0; |