package jcgp.population; import jcgp.parameters.Parameters; public class Population { private Chromosome[] chromosomes; private Chromosome bestIndividual; public Population(Chromosome parent) { chromosomes = new Chromosome[((int) Parameters.get("population").getValue())]; // make a clone for safety this.chromosomes[0] = new Chromosome(parent); // generate the rest of the individuals for (int c = 1; c < chromosomes.length; c++) { chromosomes[c] = new Chromosome(chromosomes[0]); } } public Population() { chromosomes = new Chromosome[((int) Parameters.get("population").getValue())]; for (int c = 0; c < chromosomes.length; c++) { chromosomes[c] = new Chromosome(); } } /** * Returns all chromosomes, parents first, then offspring. * * @param index * @return */ public Chromosome getChromosome(int index) { return chromosomes[index]; } public void setBestIndividual(int index) { bestIndividual = chromosomes[index]; } public Chromosome getBestIndividual() { return bestIndividual; } }