Skip to content

B-GUST/route-optimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

🚚 Motor de Optimización de Rutas Logísticas (TSP Solver)

Estado del Proyecto: En Desarrollo

[cite_start]Este proyecto es la validación técnica y la expansión de mi experiencia profesional como Director de Operaciones en DHL Express [cite: 185][cite_start], donde diseñé e implementé procesos de optimización de rutas diarias para mejorar la eficiencia en la gestión del tiempo en ruta[cite: 187, 188].

Es un motor en Python que aplica algoritmos de optimización para resolver el Problema del Vendedor Viajero (TSP), encontrando la ruta más corta y eficiente para una flota de vehículos.


🎯 El Problema de Negocio

En cualquier operación logística, la planificación de rutas es un factor crítico de costos. Una ruta no optimizada se traduce directamente en:

  • Costos Excesivos de Combustible: Kilómetros innecesarios que impactan la rentabilidad.
  • Desgaste de la Flota: Mayor mantenimiento y depreciación de los vehículos.
  • Retrasos en Entregas: Incumplimiento de ventanas de servicio (SLAs) y clientes insatisfechos.
  • Ineficiencia Operativa: Pérdida de tiempo del transportista y capacidad de entrega reducida.

El desafío es encontrar la ruta más corta que visite N puntos de entrega una sola vez y regrese al almacén.

💡 La Solución Técnica

Este proyecto implementa un script en Python que ingiere un conjunto de coordenadas geográficas (puntos de entrega) y utiliza un algoritmo de optimización (como el "vecino más cercano" o "Simulated Annealing") para encontrar una solución heurística al problema TSP.

La solución no solo calcula la ruta, sino que la visualiza sobre un mapa interactivo para que sea fácilmente interpretable por un equipo de operaciones.

✨ Características Principales

  • Ingesta de Datos: Lee puntos de entrega desde un archivo .csv (latitud, longitud).
  • Cálculo de Distancias: Utiliza la fórmula de Haversine para calcular la distancia real (en kilómetros) entre coordenadas geográficas.
  • Motor de Optimización: Implementación de un algoritmo heurístico para TSP que encuentra una ruta óptima.
  • Visualización Interactiva: Genera un archivo .html con un mapa (usando Folium) que muestra los puntos, la ruta optimizada y la distancia total ahorrada.

🛠️ Stack Tecnológico

  • Lenguaje: Python
  • Manejo de Datos: Pandas (para la ingesta de las coordenadas).
  • Cálculo Geográfico: haversine (para distancias precisas en la esfera terrestre).
  • Algoritmos y Grafos: NetworkX (para modelar el problema y aplicar algoritmos TSP).
  • Visualización de Mapas: Folium (para dibujar la ruta sobre un mapa real).
  • Entorno: Jupyter Notebook (para la exploración y presentación del análisis).

📈 Estado del Proyecto

  • Fase 1: Lógica Central (En Progreso)
    • Ingesta de datos desde .csv.
    • Implementar función de cálculo de matriz de distancias (Haversine).
    • Implementar algoritmo base de optimización (ej. "Vecino más cercano").
  • Fase 2: Visualización
    • Integrar la solución con Folium para generar el mapa.
    • Mostrar la ruta optimizada vs. una ruta aleatoria para comparar.
  • Fase 3: (Backlog - v2.0)
    • (Opcional) Implementar un algoritmo más avanzado (ej. Algoritmo Genético o Simulated Annealing).
    • (Opcional) Usar OSMnx para obtener rutas de calles reales en lugar de líneas rectas.

🚀 Cómo Empezar (Próximamente)

# Instrucciones para clonar y ejecutar el proyecto
git clone [https://github.com/B-GUST/route-optimizer.git](https://github.com/B-GUST/route-optimizer.git)
cd route-optimizer
pip install -r requirements.txt
jupyter notebook analysis.ipynb

About

Motor de optimización logística para resolver el Problema del Vendedor Viajero (TSP). [Python, NetworkX, Folium]

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors