Esempio n. 1
0
        public void inicializar(Cruce funcionCruce, Mutacion funcionMutacion, Seleccion funcionSeleccion, PaisajeAptitud funcionAptitud, Reemplazo funcionReemplazo, int numIteraciones, int dimensiones, double porcentaje)
        {
            this.dimensiones     = dimensiones;
            this.tamañoPoblacion = (int)((dimensiones / 2) * porcentaje);
            inicializar(funcionCruce, funcionMutacion, funcionSeleccion, funcionAptitud, funcionReemplazo, numIteraciones);
            this.P = new List <List <Individuo> >();
            int i = 0, fraccion = (int)(dimensiones * porcentaje);

            padres = new Individuo[tamañoPoblacion];
            for (; i < tamañoPoblacion; i++)
            {
                padres[i] = new Individuo(funcionAptitud, dimensiones);
                inicializarAleatorio(padres, i, fraccion);
                if (dimensiones > fraccion)
                {
                    inicializarSecuencial(padres, i);
                }
            }
            P.Add(padres.ToList());
        }
Esempio n. 2
0
 public CruceYMutacion(double _pCruce, double _pMuta, Mutacion _mut)
 {
     pCruce = _pCruce;
     pMuta = _pMuta;
     mut = _mut;
 }