Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            //  Crossover		= 80%
            //  Mutation		=  5%
            //  Population size = 100
            //  Generations		= 2000
            //  Genome size		= 2
            var crossover      = 0.8;
            var mutationRate   = 0.05;
            var populationSize = 100;
            var generations    = 2000;
            var genomeSize     = 2;
            //create objects
            var random           = new Random((int)DateTime.Now.Ticks);
            var genesFactory     = new GenesFactory(random);
            var genomeFactory    = new GenomeFactory(genesFactory, random, mutationRate);
            var geneticAlghoritm = new GeneticAlghoritm(random, FitnessFunction, genomeFactory, crossover, populationSize, generations, genomeSize);

            //execute alghoritm
            geneticAlghoritm.Execute();
            //show results
            ShowResults(true, geneticAlghoritm);
            ShowResults(false, geneticAlghoritm);
            //
            Console.ReadKey();
        }
Ejemplo n.º 2
0
        private static void ShowResults(bool theBest, GeneticAlghoritm geneticAlghoritm)
        {
            IList <double> values;
            double         fitness;

            if (theBest)
            {
                geneticAlghoritm.GetBest(out values, out fitness);
                Console.WriteLine("Best ({0}):", fitness);
            }
            else
            {
                geneticAlghoritm.GetWorst(out values, out fitness);
                Console.WriteLine("\nWorst ({0}):", fitness);
            }

            foreach (var value in values)
            {
                System.Console.WriteLine("{0} ", value);
            }
        }