Update app.py
Browse files
app.py
CHANGED
@@ -6,7 +6,7 @@ from typing import List
|
|
6 |
|
7 |
class InputData(BaseModel):
|
8 |
data: List[float] # Lista de caracter铆sticas num茅ricas (flotantes)
|
9 |
-
|
10 |
app = FastAPI()
|
11 |
|
12 |
# ------------- algoritmo genetico -------------
|
@@ -66,11 +66,13 @@ def mutar(individuo, probabilidad_mutacion):
|
|
66 |
return individuo
|
67 |
|
68 |
# Funci贸n para generar distancias aleatorias entre ciudades y sus coordenadas bidimensionales
|
69 |
-
def generar_distancias(num_ciudades):
|
70 |
distancias = [[0] * num_ciudades for _ in range(num_ciudades)]
|
71 |
-
coordenadas = [
|
72 |
-
|
73 |
-
|
|
|
|
|
74 |
|
75 |
for i in range(num_ciudades):
|
76 |
for j in range(i + 1, num_ciudades):
|
@@ -116,7 +118,9 @@ async def predict(data: InputData):
|
|
116 |
num_individuos = int(input_data[0][1])
|
117 |
probabilidad_mutacion = float(input_data[0][2])
|
118 |
num_generaciones = int(input_data[0][3])
|
119 |
-
|
|
|
|
|
120 |
|
121 |
mejor_solucion, mejor_distancia = algoritmo_genetico(num_generaciones,num_ciudades,num_individuos,probabilidad_mutacion,distancias,coordenadas)
|
122 |
#print(type(mejor_solucion),mejor_solucion
|
@@ -131,4 +135,4 @@ async def predict(data: InputData):
|
|
131 |
"cromosoma": mejor_solucion # Esto ya es un array de ints
|
132 |
}
|
133 |
except Exception as e:
|
134 |
-
raise HTTPException(status_code=500, detail=str(e))
|
|
|
6 |
|
7 |
class InputData(BaseModel):
|
8 |
data: List[float] # Lista de caracter铆sticas num茅ricas (flotantes)
|
9 |
+
puntos: List[int]
|
10 |
app = FastAPI()
|
11 |
|
12 |
# ------------- algoritmo genetico -------------
|
|
|
66 |
return individuo
|
67 |
|
68 |
# Funci贸n para generar distancias aleatorias entre ciudades y sus coordenadas bidimensionales
|
69 |
+
def generar_distancias(num_ciudades, puntos_array):
|
70 |
distancias = [[0] * num_ciudades for _ in range(num_ciudades)]
|
71 |
+
coordenadas = []
|
72 |
+
|
73 |
+
for i in range(0, len(puntos_array), 2):
|
74 |
+
if i+1 < len(puntos_array):
|
75 |
+
coordenadas.append((puntos_array[i], puntos_array[i+1]))
|
76 |
|
77 |
for i in range(num_ciudades):
|
78 |
for j in range(i + 1, num_ciudades):
|
|
|
118 |
num_individuos = int(input_data[0][1])
|
119 |
probabilidad_mutacion = float(input_data[0][2])
|
120 |
num_generaciones = int(input_data[0][3])
|
121 |
+
|
122 |
+
puntos_array = data.puntos
|
123 |
+
distancias, coordenadas = generar_distancias(num_ciudades, puntos_array)
|
124 |
|
125 |
mejor_solucion, mejor_distancia = algoritmo_genetico(num_generaciones,num_ciudades,num_individuos,probabilidad_mutacion,distancias,coordenadas)
|
126 |
#print(type(mejor_solucion),mejor_solucion
|
|
|
135 |
"cromosoma": mejor_solucion # Esto ya es un array de ints
|
136 |
}
|
137 |
except Exception as e:
|
138 |
+
raise HTTPException(status_code=500, detail=str(e))
|