Skip to content

Proyecto VRP con ACO y Clustering: Optimiza rutas de entrega agrupando puntos con K-Means (considerando capacidad) y aplicando ACO para hallar rutas eficientes. Se valida la solución con métodos como Clarke-Wright y fuerza bruta evaluando MAE y MSE.

Notifications You must be signed in to change notification settings

Daarwinmendez/VRP-con-ACO-y-Kmeans-Constrained

Repository files navigation

Proyecto VRP con ACO y Clustering

Descripción

El Problema de Enrutamiento de Vehículos (VRP, por sus siglas en inglés) es un desafío fundamental en la logística y el transporte, donde se busca determinar la mejor manera de asignar y organizar rutas de entrega de vehículos para minimizar costos y optimizar tiempos. Su resolución es clave para mejorar la eficiencia operativa en sectores como la distribución de mercancías, la gestión de flotas y el servicio de última milla.

Este proyecto implementa una solución al VRP combinando el algoritmo de optimización de colonias de hormigas (ACO) con clustering basado en K-Means. Mediante esta integración, se agrupan eficientemente los puntos de entrega y se optimizan las rutas dentro de cada grupo, considerando restricciones como la capacidad de los vehículos y la demanda de los clientes.

El problemset está disponible gracias al Ingeniero y maestro Carlos Ogando.

Estructura del Proyecto

  • Clustering: Se utiliza K-Means con restricción de capacidad para agrupar los puntos de entrega en clusters, teniendo en cuenta la demanda de cada punto y la capacidad de los vehículos.
  • ACO: El algoritmo ACO se ejecuta en cada cluster para encontrar la ruta óptima dentro del mismo. Se considera el depósito como punto de inicio y fin de cada ruta.
  • Flujo General: Se crea un flujo para integrar el clustering y el ACO, que procesa los datos, aplica los algoritmos y almacena los resultados en un dataframe.
  • Validación: Se realiza una comparación con soluciones previamente calculadas utilizando Clarke-Wright (CW) y fuerza bruta (BF), y se calculan métricas de error como MAE y MSE.

Instalación

Para ejecutar el proyecto en tu máquina local, instala las dependencias con:

pip install -r requirements.txt

Uso

  1. Importar datos: Asegúrate de tener los datos de entrada en los formatos correspondientes (Parquet, Excel) y ubicados en las rutas indicadas en el código.
  2. Ejecutar el flujo general: Ejecuta las celdas de código en secuencia, comenzando por la importación de librerías y la carga de datos, hasta llegar a la validación de resultados.
  3. Análisis de resultados: Interpreta los resultados obtenidos, como el costo total de las rutas, el número de vehículos utilizados y las métricas de error.

Contribuyentes

Sugerencias para mejorar

  • Explorar distintos parámetros del ACO y del clustering para optimizar aún más la solución.
  • Comparar el rendimiento con otros algoritmos de enrutamiento.
  • Considerar la visualización de las rutas en un mapa.

About

Proyecto VRP con ACO y Clustering: Optimiza rutas de entrega agrupando puntos con K-Means (considerando capacidad) y aplicando ACO para hallar rutas eficientes. Se valida la solución con métodos como Clarke-Wright y fuerza bruta evaluando MAE y MSE.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published