Hi, I've created a parameters file. verbosity = 0 breedthreads = 1 evalthreads = 1 seed.0 = 4357 state = ec.simple.SimpleEvolutionState pop = ec.Population init = ec.simple.SimpleInitializer finish = ec.simple.SimpleFinisher breed = ec.simple.SimpleBreeder eval = ec.simple.SimpleEvaluator stat = ec.simple.SimpleStatistics exch = ec.simple.SimpleExchanger generations = 1 quit-on-run-complete = true checkpoint = false prefix = ec checkpoint-modulo = 1 stat.file = out.stat pop.subpops = 1 pop.subpop.0 = ec.Subpopulation # The number of individuals(solutions) in a population. Size should be an even number to breed. pop.subpop.0.size = 5 pop.subpop.0.duplicate-retries = 0 # Doubles and floats use the FloatVectorSpecies pop.subpop.0.species = ec.vector.FloatVectorSpecies pop.subpop.0.species.ind = ec.vector.FloatVectorIndividual pop.subpop.0.species.fitness = ec.simple.SimpleFitness # One-point crossover pop.subpop.0.species.genome-size = 5 pop.subpop.0.species.crossover-type = one pop.subpop.0.species.crossover-prob = 1.0 # Per-gene mutation probability of 1.0 pop.subpop.0.species.mutation-prob = 1.0 pop.subpop.0.species.pipe = ec.vector.breed.VectorMutationPipeline pop.subpop.0.species.pipe.source.0 = ec.vector.breed.VectorCrossoverPipeline pop.subpop.0.species.pipe.source.0.source.0 = ec.select.TournamentSelection pop.subpop.0.species.pipe.source.0.source.1 = ec.select.TournamentSelection pop.subpop.0.species.min-gene = 0 pop.subpop.0.species.max-gene = 1 pop.subpop.0.file = pop.in # Use Gaussian Convolution with a standard deviation of 0.1 pop.subpop.0.species.mutation-type = gauss pop.subpop.0.species.mutation-stdev = 0.1 select.tournament.size = 2 eval.problem = weightOptimiser.WeightOptimiser breed.elites.0 = 1 And created a pop.in file with the initial population that I want. Number of Individuals: i5| Individual Number: i0| Evaluated: F Fitness: f0|0.0| f1056964608|0.5|f1056964608|0.5|f1056964608|0.5|f1056964608|0.5|f10569 64608|0.5| Individual Number: i1| Evaluated: F Fitness: f0|0.0| f0|0.0|f0|0.0|f0|0.0|f0|0.0|f0|0.0| Individual Number: i2| Evaluated: F Fitness: f0|0.0| f1065353216|1.0|f1065353216|1.0|f1065353216|1.0|f1065353216|1.0|f10653 53216|1.0| Individual Number: i3| Evaluated: F Fitness: f0|0.0| f1048576000|0.25|f1048576000|0.25|f1048576000|0.25|f1048576000|0.25|f1 048576000|0.25| Individual Number: i4| Evaluated: F Fitness: f0|0.0| f1061158912|0.75|f1061158912|0.75|f1061158912|0.75|f1061158912|0.75|f1 061158912|0.75| These numbers were generated using the Code class. System.out.println(Code.encode(0.5f)); System.out.println(Code.encode(0.0f)); System.out.println(Code.encode(1.0f)); System.out.println(Code.encode(0.25f)); System.out.println(Code.encode(0.75f)); This is my evaluate method. public void evaluate(final EvolutionState state, final Individual ind, final int subpopulation, final int threadnum) { if(ind.evaluated) return; if( !( ind instanceof FloatVectorIndividual ) ) state.output.fatal( "The individuals for this problem should be FloatVectorIndividuals." ); ArrayList<Float> weights = new ArrayList<Float>(); float fitnessValue = 0.00f; float[] genome = ((FloatVectorIndividual)ind).genome; fitnessValue = AssessClustersFitness.calculateFitness(); SimpleFitness fitness = (SimpleFitness) ind.fitness; fitness.setFitness(state, fitnessValue, fitnessValue==1.00); ind.evaluated = true; } But when I run it the "genome" array is empty instead of being populated with the initial values. Am I missing something here? Thanks. Rui