예제 #1
0
 public DireccionVO(Cruce cruce)
 {
     Direccion    = cruce.ToString();
     Latitud      = cruce.Latitud;
     Longitud     = cruce.Longitud;
     IdMapaUrbano = cruce.Poligonal.MapId;
     IdPoligonal  = cruce.Poligonal.PolId;
     IdEsquina    = ((cruce.Esquina != null) ? cruce.Esquina.PolId : -1);
     Altura       = 0;
     Provincia    = cruce.Poligonal.Partido.Provincia.Nombre;
     IdProvincia  = cruce.Poligonal.Partido.Provincia.MapId;
     Calle        = cruce.Poligonal.NombreLargo;
     Partido      = cruce.Poligonal.Partido.Nombre;
 }
예제 #2
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());
        }