From: Gary P. <gpa...@gm...> - 2009-07-31 07:56:47
|
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/MultistartOptimisationAlgorithm.java b/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgorithm.java index 0ed1bc5..8ef8f51 100644 --- a/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgorithm.java +++ b/src/main/java/net/sourceforge/cilib/algorithm/MultistartOptimisationAlgorithm.java @@ -251,7 +251,7 @@ public class MultistartOptimisationAlgorithm extends Algorithm implements Partic * @see net.sourceforge.cilib.Problem.OptimisationProblemAdapter#calculateFitness(java.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/contributionupdatestrategies/SelectiveContributionUpdateStrategy.java b/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrategies/SelectiveContributionUpdateStrategy.java index 5452c99..ddf5bef 100644 --- a/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrategies/SelectiveContributionUpdateStrategy.java +++ b/src/main/java/net/sourceforge/cilib/cooperative/contributionupdatestrategies/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/CriterionBasedMOProblemAdapter.java b/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblemAdapter.java index e2687c0..c0c23ff 100644 --- a/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblemAdapter.java +++ b/src/main/java/net/sourceforge/cilib/moo/criterion/CriterionBasedMOProblemAdapter.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/ArchivingIterationStrategy.java b/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIterationStrategy.java index f8e38ff..124747d 100644 --- a/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIterationStrategy.java +++ b/src/main/java/net/sourceforge/cilib/moo/iterationstrategies/ArchivingIterationStrategy.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/NeuralNetworkProblem.java b/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetworkProblem.java index 8f54433..de82adf 100644 --- a/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetworkProblem.java +++ b/src/main/java/net/sourceforge/cilib/neuralnetwork/foundation/NeuralNetworkProblem.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/CooperativeOptimisationProblemAdapter.java b/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProblemAdapter.java index 316d620..42ed4ab 100644 --- a/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProblemAdapter.java +++ b/src/main/java/net/sourceforge/cilib/problem/CooperativeOptimisationProblemAdapter.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.java b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.java index 1b2e37d..aa7288d 100644 --- a/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.java +++ b/src/main/java/net/sourceforge/cilib/problem/OptimisationProblemAdapter.java @@ -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/RandomSentryDetectionStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/detectionstrategies/RandomSentryDetectionStrategy.java index 11f0fb3..95387a7 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 @@ -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.getCandidateSolution(), false).getValue(); + double newSentryFitness = algorithm.getOptimisationProblem().getFitness(nextSentry.getCandidateSolution()).getValue(); if(Math.abs(oldSentryFitness - newSentryFitness) >= theta) { envChangeOccured = true; diff --git a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/ArchiveReevaluationResponseStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/ArchiveReevaluationResponseStrategy.java index 10db1e8..cce4afd 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/ArchiveReevaluationResponseStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/ArchiveReevaluationResponseStrategy.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/CompetitiveCoevolutionParticleReevaluationResponseStrategy.java b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/CompetitiveCoevolutionParticleReevaluationResponseStrategy.java index f3140f8..15c0b15 100644 --- a/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/CompetitiveCoevolutionParticleReevaluationResponseStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/dynamic/responsestrategies/CompetitiveCoevolutionParticleReevaluationResponseStrategy.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/DominantGuideUpdateStrategy.java b/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/DominantGuideUpdateStrategy.java index 22d529e..fccbd7d 100644 --- a/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/DominantGuideUpdateStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/moo/guideupdatestrategies/DominantGuideUpdateStrategy.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.java b/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.java index 272f0ab..cc66ed5 100644 --- a/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.java +++ b/src/main/java/net/sourceforge/cilib/pso/particle/MultiObjectiveParticle.java @@ -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/DEPositionUpdateStrategy.java b/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositionUpdateStrategy.java index 3c244cd..2ac5646 100755 --- a/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositionUpdateStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/positionupdatestrategies/DEPositionUpdateStrategy.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/GCVelocityUpdateStrategy.java b/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVelocityUpdateStrategy.java index 9bdfee4..cba2489 100644 --- a/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVelocityUpdateStrategy.java +++ b/src/main/java/net/sourceforge/cilib/pso/velocityupdatestrategies/GCVelocityUpdateStrategy.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/EntityBasedFitnessCalculator.java b/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCalculator.java index afd5933..8b19b18 100644 --- a/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCalculator.java +++ b/src/main/java/net/sourceforge/cilib/util/calculator/EntityBasedFitnessCalculator.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.java b/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.java index 51ecf75..8ef9a07 100644 --- a/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.java +++ b/src/main/java/net/sourceforge/cilib/util/calculator/FitnessCalculator.java @@ -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/PropertyBasedFitnessCalculator.java b/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessCalculator.java index 78783d3..39479ee 100644 --- a/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessCalculator.java +++ b/src/main/java/net/sourceforge/cilib/util/calculator/PropertyBasedFitnessCalculator.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/StructuredTypeFitnessCalculator.java b/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitnessCalculator.java index 5fe4d24..5e77f38 100644 --- a/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitnessCalculator.java +++ b/src/main/java/net/sourceforge/cilib/util/calculator/StructuredTypeFitnessCalculator.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/BlendCrossoverStrategyTest.java b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategyTest.java index b66511a..7035d52 100644 --- a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategyTest.java +++ b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/BlendCrossoverStrategyTest.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/OnePointCrossoverStrategyTest.java b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategyTest.java index e7805ca..f6a97df 100644 --- a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategyTest.java +++ b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/OnePointCrossoverStrategyTest.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/UniformCrossoverStrategyTest.java b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategyTest.java index daae496..f132db1 100644 --- a/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategyTest.java +++ b/src/test/java/net/sourceforge/cilib/entity/operators/crossover/UniformCrossoverStrategyTest.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.java b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.java index a6cbc2a..8a1a84a 100644 --- a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.java +++ b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ArchiveTest.java @@ -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/ConstrainedArchiveTest.java b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedArchiveTest.java index 05b3737..8a8491f 100644 --- a/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedArchiveTest.java +++ b/src/test/java/net/sourceforge/cilib/moo/archive/constrained/ConstrainedArchiveTest.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/SolutionWeighingTest.java b/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/SolutionWeighingTest.java index ae30953..9d2ef20 100644 --- a/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/SolutionWeighingTest.java +++ b/src/test/java/net/sourceforge/cilib/moo/archive/solutionweighing/SolutionWeighingTest.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; -- 1.6.4 |