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; }
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()); }