Proyectos Producto · Optimización

RouteOpt

Optimización de rutas y jornadas para empresas de servicios que se mueven a pie y en transporte público.

Papel
Creador · motor, producto y despliegue
Año
2025–2026
Herramientas
Python · Flask · Next.js · Mapbox · GTFS Madrid · SQLite · AWS
Estado
En línea · beta abierta

rutas.kosh.es

DemostraciónOptimizador reducido ejecutándose en tu navegador

El problema

En una empresa de limpieza, cada operario recorre varios centros al día a pie, en metro o en autobús. La planificación se hacía a mano en Excel: quién va a dónde, en qué orden y en qué horario. El resultado eran trayectos cruzados, horas muertas entre servicios y una plantilla difícil de dimensionar.

La solución

RouteOpt asigna cada parada al operario adecuado y ordena su jornada minimizando desplazamientos, respetando horarios y duración de cada servicio.

  • Motor en Python con heurísticas de enrutamiento y una matriz de tiempos multimodal de Madrid (a pie, metro y autobús) construida con los datos abiertos del transporte público (GTFS).
  • Panel web en Next.js con mapas: operarios, ubicaciones, comparador de planes y usuarios con datos aislados por empresa.
  • Ingeniería de producto: pruebas de contrato entre el panel y el motor, matriz de riesgos priorizada, manual de operaciones con vuelta atrás y despliegue en AWS.

Resultado medido

Corrida de referencia (marzo de 2026) contra la planificación real de la empresa, con 971 paradas:

Indicador Plan anterior Con RouteOpt
Productividad (tiempo de trabajo / total) 90,8 % 93,6 %
Horas muertas por semana 160,8 h 109,2 h
Paradas sin asignar — 0

Las versiones posteriores del motor siguieron mejorando sobre esa referencia.

La demostración

Arriba tienes un optimizador reducido escrito para esta página: reparte las paradas, ordena cada ruta por vecino más próximo y la mejora con 2-opt; cada tramo elige entre ir a pie o en metro. No es el motor original, pero sigue la misma lógica. Prueba a cambiar el número de paradas y de operarios.