Esempio n. 1
0
from datetime import datetime
from individuo import Individuo
from poblacion import Poblacion
from generacion import Generacion

# Entrada definida
try :
    n = int(sys.argv[1])
except :
    exit()
try :
    k = int(sys.argv[2])
except :
    exit()

k_maxima = Individuo.max_k(n)

# limites iniciales
if k < 0 or k > ((n*(n-1))/2) or k > k_maxima or n < 2 or n > 50 :
    exit()

individuos = int(n**1.6)
poblacion = Poblacion(individuos, n)
generacion = Generacion(poblacion)
h_inicio = datetime.now()

print 'Individuos: %i' % (individuos)
# evoluciona la poblacion hasta alcanzar el fitness
while not poblacion.campeon(k) :
    generacion.ronda(k, 0.30, 0.5, 0.75)
# mostrar mejor individuo