Sobre el proyecto
Nuestro proyecto surge a partir de una problemática cotidiana que afecta a miles de usuarios del transporte público: la saturación de unidades en horas pico, los largos tiempos de espera y la distribución ineficiente de autobuses.
En sistemas como Qrobus, la demanda de pasajeros no es constante durante el día. Existen rutas y estaciones que presentan altos niveles de saturación en horarios específicos, mientras que otras unidades circulan con baja ocupación. Esta falta de equilibrio genera una mala experiencia para los usuarios, incrementa los tiempos de espera y reduce la eficiencia operativa del sistema.
Ante esta situación, identificamos la oportunidad de aplicar tecnología para anticipar estos escenarios y optimizar la asignación de unidades mediante inteligencia artificial.
Inspiración
La inspiración principal de este proyecto fue mejorar la movilidad urbana a través de decisiones más inteligentes.
Actualmente, una solución común ante la saturación del transporte es incorporar más unidades; sin embargo, esto no siempre resuelve el problema de raíz. Consideramos que el verdadero reto está en identificar con precisión cuándo y dónde ocurre la saturación para responder de forma eficiente.
Por ello, planteamos un sistema capaz de analizar patrones históricos de demanda y predecir niveles de saturación en rutas específicas, permitiendo asignar unidades de manera estratégica y preventiva.
De esta forma, se busca transformar la gestión del transporte público de un modelo reactivo a uno predictivo.
Cómo construimos el proyecto
Diseñamos un sistema predictivo que integra análisis de datos, aprendizaje automático y visualización en tiempo real.
El modelo utiliza variables operativas como:
- identificador de la ruta,
- horario,
- volumen histórico de pasajeros,
- capacidad asignada por unidad,
- nivel de saturación.
Con estas variables, entrenamos un modelo de clasificación Random Forest utilizando PySpark, capaz de predecir el nivel de saturación esperado en una ruta.
El modelo clasifica la demanda en cinco niveles:
- 0 = demanda baja
- 1 = demanda media-baja
- 2 = demanda media
- 3 = demanda alta
- 4 = saturación crítica
A partir de esta predicción, el sistema calcula cuántas unidades son necesarias con la fórmula:
[ \text{Unidades necesarias} = \left\lceil \frac{\text{Pasajeros estimados}}{\text{Capacidad por unidad}} \right\rceil ]
Posteriormente, determina si se requieren unidades adicionales:
[ \text{Unidades extra} = \max(0,\ \text{Unidades necesarias} - \text{Unidades asignadas}) ]
Esta lógica se expone mediante un backend desarrollado en FastAPI, y la información se presenta en un dashboard interactivo desarrollado en flutter, donde es posible monitorear las rutas y visualizar recomendaciones en tiempo real. Todo este esquema fue repartido en distintos dockers dentro de Vultr.
Lo que aprendimos
Durante el desarrollo de este proyecto aprendimos cómo la inteligencia artificial puede aplicarse para resolver problemas operativos reales.
Obtuvimos experiencia práctica en:
- diseño de modelos predictivos,
- preparación de datos para machine learning,
- integración entre backend y frontend,
- despliegue de servicios en la nube,
- conversión de predicciones en recomendaciones operativas.
Además, comprendimos la importancia de que la tecnología no solo genere predicciones, sino que produzca información útil para apoyar la toma de decisiones y mejorar la experiencia de los usuarios.
Retos que enfrentamos
Uno de los principales retos fue la integración del modelo de inteligencia artificial con la arquitectura del sistema.
El entrenamiento del modelo y su conexión con el backend requirió configurar herramientas como PySpark, resolver dependencias entre versiones de Python y Java, y preparar la infraestructura necesaria para exponer las predicciones mediante una API.
Otro desafío importante fue traducir la salida del modelo en acciones concretas. Predecir niveles de saturación no era suficiente; fue necesario diseñar reglas que permitieran convertir esas predicciones en recomendaciones operativas, como la cantidad de unidades adicionales necesarias para atender la demanda.
También enfrentamos retos en la configuración del entorno de despliegue, asegurando la correcta comunicación entre el modelo, el backend y el dashboard.
Impacto del proyecto
Este proyecto demuestra cómo la inteligencia artificial puede contribuir a mejorar la eficiencia del transporte público y la experiencia de los usuarios.
Al anticipar escenarios de saturación, el sistema permite optimizar recursos, reducir tiempos de espera y apoyar una mejor toma de decisiones operativas.
Más allá de la implementación tecnológica, la propuesta busca generar un impacto positivo en la movilidad urbana, contribuyendo a un sistema de transporte más eficiente, más inteligente y centrado en las necesidades de las personas.
En esencia, este proyecto no solo consiste en desarrollar un modelo predictivo, sino en utilizar la tecnología como herramienta para mejorar la calidad de vida de miles de usuarios del transporte público.
Log in or sign up for Devpost to join the conversation.