Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            double zeroPoint = 0;

            List <double> parameters = new List <double>();

            //parameters.Add(1);
            //parameters.Add(-3);
            parameters.Add(7);
            parameters.Add(2);
            parameters.Add(-1);


            Polinomial polinomial = new Polinomial(parameters);

            Console.WriteLine("{0}", polinomial.ToString());

            Population population = new Population(polinomial);

            population.InitPoulation();
            population.Selection();
            Individual best = population.GetBest();

            int i = 0;

            Console.WriteLine("Gen {0}\tx={1}\tP(x)={2}", i, best.ToDouble(Precision), polinomial.Calc(best.ToDouble(Precision)));

            while (Math.Abs(polinomial.Calc(best.ToDouble(Precision))) > Math.Abs(zeroPoint - E))
            {
                i++;

                population.Crossover();
                population.Mutation();
                population.Selection();

                best = population.GetBest();

                Console.WriteLine("Gen {0}\tx={1}\tP(x)={2}", i, best.ToDouble(Precision), polinomial.Calc(best.ToDouble(Precision)));
            }

            //-----------------------DEBUG-------------------------------------------------------------------------------------------

            /*
             * Individual individual = new Individual();
             * Individual individual2 = new Individual();
             *
             * Console.WriteLine("{0:F1}\t{1}", individual.ToDouble(1), individual.ToString());
             * Console.WriteLine("{0:F1}\t{1}", individual2.ToDouble(1), individual2.ToString());
             * Individual individual3 = Individual.Crossover(individual, individual2, 8);
             * Console.WriteLine("{0:F1}\t{1}", individual3.ToDouble(1), individual3.ToString());
             * individual3.Mutate(2);
             * Console.WriteLine("{0:F1}\t{1}", individual3.ToDouble(1), individual3.ToString());
             */
        }
Ejemplo n.º 2
0
 public Population(Polinomial polinomial)
 {
     Polinomial = polinomial;
 }