Inspiration
La inspiración de este proyecto nace de la necesidad de un sistema de transporte donde ambas caras de la moneda ganen. Que sea seguro, rápido y eficiente en cuanto a gasto de gasolina. Para ello se buscó optimizar las rutas, al igual que la cantidad y tipo de camiones necesarios para cada una.
What it does
Dato un punto central y un conjunto de puntos por los que hay que pasar, se crean distintos modelos de aprendizaje automático no supervisado de agrupamiento, después para cada grupo se realiza un TSP y se evalúan todos los modelos (conjuntos de rutas) bajo una métrica basada en el precio de la gasolina y el salario por hora de los choferes. Una vez se obtiene el mejor conjunto de rutas, se usa programación lineal para distribuir los camiones de una flota basándonos en su rendimiento y capacidad con la función objetivo de minimizar el costo del proceso satisfaciendo la demanda. Por último, se imprime el mapa de las rutas y el itinerario de cada camión.
How we built it
En primera instancia separamos los puntos utilizando distintos algoritmos de machine learning clasificadores no supervisados para luego seleccionar el que mejor ruteo nos dé. Posteriormente optimizamos la distribución de cambiones utilizando programación entera mixta obteniendo así los resultados finales.
Despues generamos una interfaz gráfica utilizando flask y mySQL para trabajar en una webApp que pudiera manejar el algoritmo.
Challenges we ran into
Teníamos poca experiencia programando el frontend y backend en python en lugar de javascript. Esto era necesario ya que el algoritmo de ruteo funciona en python por lo que nos costó trabajo juntar estas dos partes del proyecto.
Accomplishments that we're proud of
Se logro crear un algoritmo que a partir de un conjunto de puntos y una flota de vehículos obtiene una buena solución al problema de ruteo además que regresa una completa visualización del proceso mediante una webApp.
What's next for Carpooling Routes Optimizer
Resolver los bugs que todavia se presentan en el programa y tal vez intentar que esto se implemente en la vida real con alguna empresa en cierta medida.

Log in or sign up for Devpost to join the conversation.