Esempio n. 1
0
 private void button1_Click_1(object sender, EventArgs e)
 {
     Salida.SizeMode = PictureBoxSizeMode.AutoSize;
     Salida.Refresh();
     Salida.Image = map;
     Salida.Refresh();
 }
        private void IniciarAE_Click(object sender, EventArgs e)
        {
            CleanOut.Enabled = true;
            arraypoblation   = pb.CrearPoblacion(picture.getW(), picture.getH(), int.Parse(numInd.Text), int.Parse(Umbral.Text), picture);
            Poblacion ctlPoblation = new Poblacion(); //

            ctlPoblation.Generation = 0;
            Salida.Items.Add("Población inicial generada");
            Salida.Refresh();
            PrintPoblation(arraypoblation);
            Salida.Items.Add("Graficación de la población inicial");
            Salida.Refresh();//promedio o calidad poblacional
            ctlPoblation.Derivative[ctlPoblation.Generation] = pb.Average(arraypoblation);
            Salida.Items.Add("Calidad población inicial: " + ctlPoblation.Derivative[ctlPoblation.Generation].ToString());
            Salida.Refresh();
            int derivada = ctlPoblation.derivate_calculation(ctlPoblation.Derivative, ctlPoblation.Derivative[ctlPoblation.Generation]), cont = 0;

            Salida.Items.Add("Derivada : " + derivada);
            while (derivada == 0)
            {
                arraypoblation = pb.Create_Generation(arraypoblation,
                                                      (float)Convert.ToSingle(Cruce.Text.Replace('.', ',')),
                                                      int.Parse(Umbral_d.Text),
                                                      picture,
                                                      int.Parse(Umbral.Text));
                arraypoblation = pb.UpdateState(arraypoblation);
                ctlPoblation.Generation++;
                cont++;
                Salida.Items.Add("Generación: " + cont);
                Salida.Refresh();
                if (ctlPoblation.Generation == 10)
                {
                    ctlPoblation.Generation = 0;
                }
                ctlPoblation.Derivative[ctlPoblation.Generation] = pb.Average(arraypoblation);
                Salida.Items.Add("Calidad de la población: " + ctlPoblation.Derivative[ctlPoblation.Generation].ToString());
                Salida.Refresh();
                derivada = ctlPoblation.derivate_calculation(ctlPoblation.Derivative, ctlPoblation.Derivative[ctlPoblation.Generation]);
            }
            Salida.Items.Add("Derivada : " + derivada);
            Salida.Items.Add("Proceso terminado");
            Salida.Refresh();
            //MostrarPoblacion(arraypoblation);
        }