def main(start_time): outfile = open("Resultados/salida.txt", 'w') mejor = [] mejor.append(-1) mejor.append(-1) print "============Practica 6 Multiplicacion de matrices========" opcion, dic = leerArchivos() TAM_INDIVIDUO, mA, mB = openFileDat(opcion, dic) poblacion = crearPoblacion(TAM_POBLACION, TAM_INDIVIDUO) #for p in poblacion: # print ps #raw_input("aaaaaaaaa") aptitudes = calcularAptitudPoblacion(poblacion, mA, mB, TAM_INDIVIDUO) aptitudes = penalizar(poblacion, aptitudes) mejor, b = elitismo(poblacion, aptitudes, mejor) a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(0) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) g = 0 #while g != NUM_GENERACIONES: while True: #funcion de seleccion. #seleccionados=seleccionar(poblacion,aptitudes) #Cruzar a los seleccionados #cruza = cruzar(seleccionados) cruzados = cruzar(poblacion) #apti = calcularAptitudPoblacion(cruza, mA, mB, TAM_INDIVIDUO) #cruzados = seleccionarMejorCruza(apti,cruza) #cruzados = 0 #hacer una mutacion poblacion = mutar(cruzados, TAM_INDIVIDUO) #calcular nueva aptitud aptitudes = calcularAptitudPoblacion(poblacion, mA, mB, TAM_INDIVIDUO) aptitudes = penalizar(poblacion, aptitudes) mejor, bandera = elitismo(poblacion, aptitudes, mejor) if mejor[1] == 0: break else: if bandera == True: a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) '''if g%100==0: a="El mejor hasta ahora:" escribir(outfile,a) a= "Generacion: " +str(g) escribir(outfile,a) a= "Vector: "+str(mejor[0]) escribir(outfile,a) a="Aptitud: "+str(mejor[1]) escribir(outfile,a) a="Tiempo: " +str(time.time()-start_time)+" segundos" escribir(outfile,a) a="=========================================================ss" escribir(outfile,a)''' g += 1 a = "Termino en la generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) outfile.close() return 0
def main(start_time): g = 0 outfile = open("Resultados/salida.txt", "w") # bandera = False #bandera para saber cuando se va mejorando la raza mejor = [] # nuestro mejor individuo. mejor.append(-1) mejor.append(-1) # leerfechas() # graficar() muestras = leerDatos() n = len(muestras) # print "numero de muestras: " +str(n) """Los datos estan compuestos por Tiempo,latitud,longitud,magnitud """ padres = crearPoblacion(TAM_INDIVIDUO, TAM_POBLACION) # una vez creado los valores de Teta aleatorios sigue evaluar. aptitud_padres = calcularAptitud(padres, n, muestras) # nos devuelve una lista de aptitudes. mejor, bandera = elitismo(padres, aptitud_padres, mejor) selecionados = seleccionar(padres, aptitud_padres) a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) # x,y=generarPuntosMejor(mejor,muestras) # graficar(x,y) """Proceso de cruza""" hijos = cruzar(selecionados) aptitud_hijos = calcularAptitud(hijos, n, muestras) """Seleccionar mejores entre padres e hijos""" mejores = seleccionarMejores(padres, hijos, aptitud_padres, aptitud_hijos) mutados = mutar(mejores) aptitud_padres = calcularAptitud(mutados, n, muestras) mejor, bandera = elitismo(mutados, aptitud_padres, mejor) padres = mutados[:] g = 1 while True: selecionados = seleccionar(padres, aptitud_padres) hijos = cruzar(selecionados) aptitud_hijos = calcularAptitud(hijos, n, muestras) """Seleccionar mejores entre padres e hijos""" mejores = seleccionarMejores(padres, hijos, aptitud_padres, aptitud_hijos) mutados = mutar(mejores) aptitud_padres = calcularAptitud(mutados, n, muestras) mejor, bandera = elitismo(mutados, aptitud_padres, mejor) padres = mutados[:] # print aptitud if bandera == True: a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) x, y = generarPuntosMejor(mejor, muestras) graficar(x, y) g += 1
def main(start_time): outfile=open("Resultados/salida.txt",'w') mejor = [] mejor.append(-1) mejor.append(-1) print "============Practica 6 Multiplicacion de matrices========" opcion,dic = leerArchivos() TAM_INDIVIDUO,mA,mB = openFileDat(opcion, dic) poblacion = crearPoblacion(TAM_POBLACION, TAM_INDIVIDUO) #for p in poblacion: # print ps #raw_input("aaaaaaaaa") aptitudes = calcularAptitudPoblacion(poblacion, mA, mB, TAM_INDIVIDUO) aptitudes=penalizar(poblacion,aptitudes) mejor,b = elitismo(poblacion, aptitudes,mejor) a="El mejor hasta ahora:" escribir(outfile,a) a= "Generacion: " +str(0) escribir(outfile,a) a= "Vector: "+str(mejor[0]) escribir(outfile,a) a="Aptitud: "+str(mejor[1]) escribir(outfile,a) a="Tiempo: " +str(time.time()-start_time)+" segundos" escribir(outfile,a) g=0 #while g != NUM_GENERACIONES: while True: #funcion de seleccion. #seleccionados=seleccionar(poblacion,aptitudes) #Cruzar a los seleccionados #cruza = cruzar(seleccionados) cruzados = cruzar(poblacion) #apti = calcularAptitudPoblacion(cruza, mA, mB, TAM_INDIVIDUO) #cruzados = seleccionarMejorCruza(apti,cruza) #cruzados = 0 #hacer una mutacion poblacion=mutar(cruzados,TAM_INDIVIDUO) #calcular nueva aptitud aptitudes = calcularAptitudPoblacion(poblacion, mA, mB, TAM_INDIVIDUO) aptitudes=penalizar(poblacion,aptitudes) mejor,bandera = elitismo(poblacion, aptitudes,mejor) if mejor[1]==0: break else: if bandera==True: a="El mejor hasta ahora:" escribir(outfile,a) a= "Generacion: " +str(g) escribir(outfile,a) a= "Vector: "+str(mejor[0]) escribir(outfile,a) a="Aptitud: "+str(mejor[1]) escribir(outfile,a) a="Tiempo: " +str(time.time()-start_time)+" segundos" escribir(outfile,a) '''if g%100==0: a="El mejor hasta ahora:" escribir(outfile,a) a= "Generacion: " +str(g) escribir(outfile,a) a= "Vector: "+str(mejor[0]) escribir(outfile,a) a="Aptitud: "+str(mejor[1]) escribir(outfile,a) a="Tiempo: " +str(time.time()-start_time)+" segundos" escribir(outfile,a) a="=========================================================ss" escribir(outfile,a)''' g+=1 a= "Termino en la generacion: " +str(g) escribir(outfile,a) a= "Vector: "+str(mejor[0]) escribir(outfile,a) a= "Aptitud: "+str(mejor[1]) escribir(outfile,a) a="Tiempo: " +str(time.time()-start_time)+" segundos" escribir(outfile,a) outfile.close() return 0
def main(start_time): g = 0 outfile = open("Resultados/salida.txt", 'w') #bandera = False #bandera para saber cuando se va mejorando la raza mejor = [] #nuestro mejor individuo. mejor.append(-1) mejor.append(-1) #leerfechas() #graficar() muestras = leerDatos() n = len(muestras) #print "numero de muestras: " +str(n) '''Los datos estan compuestos por Tiempo,latitud,longitud,magnitud ''' padres = crearPoblacion(TAM_INDIVIDUO, TAM_POBLACION) #una vez creado los valores de Teta aleatorios sigue evaluar. aptitud_padres = calcularAptitud(padres, n, muestras) #nos devuelve una lista de aptitudes. mejor, bandera = elitismo(padres, aptitud_padres, mejor) selecionados = seleccionar(padres, aptitud_padres) a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) #x,y=generarPuntosMejor(mejor,muestras) #graficar(x,y) '''Proceso de cruza''' hijos = cruzar(selecionados) aptitud_hijos = calcularAptitud(hijos, n, muestras) '''Seleccionar mejores entre padres e hijos''' mejores = seleccionarMejores(padres, hijos, aptitud_padres, aptitud_hijos) mutados = mutar(mejores) aptitud_padres = calcularAptitud(mutados, n, muestras) mejor, bandera = elitismo(mutados, aptitud_padres, mejor) padres = mutados[:] g = 1 while True: selecionados = seleccionar(padres, aptitud_padres) hijos = cruzar(selecionados) aptitud_hijos = calcularAptitud(hijos, n, muestras) '''Seleccionar mejores entre padres e hijos''' mejores = seleccionarMejores(padres, hijos, aptitud_padres, aptitud_hijos) mutados = mutar(mejores) aptitud_padres = calcularAptitud(mutados, n, muestras) mejor, bandera = elitismo(mutados, aptitud_padres, mejor) padres = mutados[:] #print aptitud if bandera == True: a = "El mejor hasta ahora:" escribir(outfile, a) a = "Generacion: " + str(g) escribir(outfile, a) a = "Vector: " + str(mejor[0]) escribir(outfile, a) a = "Aptitud: " + str(mejor[1]) escribir(outfile, a) a = "Tiempo: " + str(time.time() - start_time) + " segundos" escribir(outfile, a) x, y = generarPuntosMejor(mejor, muestras) graficar(x, y) g += 1