public void SetupContext()
        {
            floatRange         = new FloatRange(-5.11, 5.12);
            generatePopulation = new GeneratePopulationFloat();
            int populationSize = 20, gensCount = 1;

            chromosomes = generatePopulation.Generate(floatRange, populationSize, gensCount);
            fitnessFunc = new SphericalFunction(FitnessFuncGoal.Min);
        }
 public GeneticAlgorithm(
     int populationSize, int paramsCount, double generationGapPart,
     ISelection selection,
     CrossoverOperator crossoverOperator,
     MutationOperator mutationOperator,
     IFitnessFunc fitnessFunc,
     FloatRange range)
 {
     chromosomes            = new List <IntChromosome>(populationSize);
     this.generationGapPart = generationGapPart;
     this.selection         = selection;
     this.crossoverOperator = crossoverOperator;
     this.mutationOperator  = mutationOperator;
     this.fitnessFunc       = fitnessFunc;
     this.paramsCount       = paramsCount;
     this.range             = range;
     generatePopulationInt  = new GeneratePopulationInt();
     random = new Random();
     bitCountForIntCoding = Coder.BitCountForIntCoding(range);
     GeneratePopulation();
 }