Exemplo n.º 1
0
__author__ = 'jramirez'
from funcionAptitud import calcularAptitudPoblacion

mA=[[0,5,2,4,1],[5,0,3,0,2],[2,3,0,0,0],[4,0,0,0,5],[1,2,0,5,0]]
mB=[[0,1,1,2,3],[1,0,2,1,2],[1,2,0,1,2],[2,1,1,0,1],[3,2,2,1,0]]
v=[[1,3,0,3,3]]
tam=5

aptitud=calcularAptitudPoblacion(v,mA,mB,tam)

print "==========Matriz 1================="
for fila in mA:
    print fila
print "==========Matriz 2================="
for fila in mB:
    print fila
print "==========Vector================="
print v
print "==========Aptitud================="
print aptitud
Exemplo n.º 2
0
__author__ = 'jramirez'
from funcionAptitud import calcularAptitudPoblacion

mA = [[0, 5, 2, 4, 1], [5, 0, 3, 0, 2], [2, 3, 0, 0, 0], [4, 0, 0, 0, 5],
      [1, 2, 0, 5, 0]]
mB = [[0, 1, 1, 2, 3], [1, 0, 2, 1, 2], [1, 2, 0, 1, 2], [2, 1, 1, 0, 1],
      [3, 2, 2, 1, 0]]
v = [[1, 3, 0, 3, 3]]
tam = 5

aptitud = calcularAptitudPoblacion(v, mA, mB, tam)

print "==========Matriz 1================="
for fila in mA:
    print fila
print "==========Matriz 2================="
for fila in mB:
    print fila
print "==========Vector================="
print v
print "==========Aptitud================="
print aptitud
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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