Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Codigo

Enviado por   •  2 de Octubre de 2018  •  Documentos de Investigación  •  358 Palabras (2 Páginas)  •  498 Visitas

Página 1 de 2

def backtracking(variables, rango_variables, optimo, profundidad):

min = rango_variables[profundidad][0]

max = rango_variables[profundidad][1]

op = optimo

for v in range(min, max):

variables[profundidad]= v

if profundidad < len(variables)-1:

#Es completable si no se incumple ninguna restriccion

if es_completable(variables):

op = backtracking(variables[:], rango_variables, op, profundidad+1)

else:

#estamos en una hoja. comprobamos la solucion-

sol = evalua_solucion(variables)

if sol>evalua_solucion(optimo) and es_completable(variables):

optimo = (variables[0], variables[1])

return optimo

def evalua_solucion(variables):

x1=variables[0]

x2=variables[1]

val = (12-6)*x1+(8-4)*x2

return val

def es_completable(variables):

x1=variables[0]

x2=variables[1]

val1=7*x1+4*x2

val2=6*x1+5*x2

if val1<=150 and val2<=160:

return True

else:

return False

if _name_ == "_main_":

#Valores de las variables x1 y x2

variables=[0,0]

#rangos de las variables x1 y x2

rango_variables= [(0,51), (0,76)]

#mejor solucion encontrada

optimo=(0,0)

sol =backtracking(variables[:], rango_variables, optimo, 0)

print ("Mejor Solucion: ")

print (str(sol[0])+" Pantalones.")

...

Descargar como  txt (1.5 Kb)   pdf (37.2 Kb)   docx (10.6 Kb)  
Leer 1 página más »
Disponible sólo en Essays.club