Example #1
0
        public Population(Int32 populationSize, Boolean initialize, FitnessCalc fitnessCalc)
        {
            population = new Individual[populationSize];

            if (initialize)
            {
                for (var i = 0; i < Size(); i++)
                {
                    Individual newIndividual = new Individual(fitnessCalc);
                    newIndividual.GenerateIndividual();
                    SaveIndividual(i, newIndividual);
                }
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            Statistics  stats       = new Statistics();
            FitnessCalc fitnesscalc = new FitnessCalc(stats);
            Population  myPop       = new Population(50, true, fitnesscalc);
            Algorithm   algorithm   = new Algorithm(fitnesscalc);

            var generationCount = 0;

            while (myPop.GetFittest().GetFitness() < FitnessCalc.GetMaxFitness())
            {
                generationCount++;
                System.Diagnostics.Debug.WriteLine("Generation: " + generationCount + " Fittest: " + myPop.GetFittest().GetFitness());
                myPop = algorithm.EvolvePopulation(myPop);
            }

            System.Diagnostics.Debug.WriteLine("Solution found!");
            System.Diagnostics.Debug.WriteLine("Generation: " + generationCount);
            System.Diagnostics.Debug.WriteLine("Genes:");
            System.Diagnostics.Debug.WriteLine(myPop.GetFittest());
        }
Example #3
0
 public Algorithm(FitnessCalc fitnessCalc)
 {
     this.fitnessCalc = fitnessCalc;
 }
Example #4
0
 public Individual(FitnessCalc fitnessCalc)
 {
     this.fitnessCalc = fitnessCalc;
 }