PROPUESTA DE UN MODELO DE RUTEO BASADO EN PROGRAMACIÓN DINÁMICA APLICADO A UNA EMPRESA DE PRODUCTOS DE CONSUMO MASIVO SILVIA ALEJANDRA NOSSA GUERRERO Código: 9500731 Trabajo de investigación para optar al título de especialista en Gerencia de Logística Integral UNIVERSIDAD MILITAR NUEVA GRANADA FACULTAD DE INGENIERÍA INDUSTRIAL ESPECIALIZACION EN GERENCIA DE LOGISTICA INTEGRAL BOGOTÁ 2016 PROPUESTA DE UN MODELO DE RUTEO BASADO EN PROGRAMACIÓN DINÁMICA APLICADO A UNA EMPRESA DE PRODUCTOS DE CONSUMO MASIVO Silvia Alejandra Nossa Guerrero Prof. Negocios Internacionales Estudiante Especialización Logística Integral, facultad Ingeniería Universidad Militar Nueva Granada, Bogotá D.C., Colombia u9500731@unimilitar.edu.co Abstract The process of transportation and distribution is regarded as a critical process in the management and administration of supply chains; generally it represents a significant cost total cost of logistics. Do not give the importance that this ruble has within the chain, it generates loss of credibility and confidence with the promise of value and service company. Therefore priority is that companies properly plan their transport and distribution networks This case study proposes an alternative distribution that seeks to optimize the times of routing and delivery to the end customer, in order to fulfill the promise of service, using a dynamic programming model, considering capacity constraints and number vehicles. Keywords: Routing, distribution, location, service levels, dynamic programming Resumen El proceso de transporte y distribución es considerado como un proceso crítico en la gestión y administración de las Cadenas de abastecimiento, generalmente representa un costo importante del costo total logístico. No dar la importancia que este rublo tiene dentro de la cadena, genera pérdida de credibilidad y confianza ante la promesa de valor y servicio de la compañía. Por tal motivo se hace prioritario que las empresas planifiquen adecuadamente sus redes de transporte y distribución. En este caso de estudio se propone una alternativa de distribución que busca optimizar los tiempos de ruteo y de entrega del producto al cliente final, con el objetivo de cumplir con la promesa de servicio, aplicando un modelo de programación dinámica, contemplando restricciones de capacidad y número de vehículos. Palabras Clave: Ruteo, distribución, localización, Niveles de Servicio, programación dinámica. I. INTRODUCCIÓN La dinámica del mercado globalizado como el actual en el que diariamente ingresan nuevos productos a competir y más aún en el sector de las organizaciones dedicadas a la producción y distribución de productos de consumo masivo ,ha hecho que estas empresas diversifiquen sus estrategias para ser más competitivas, focalizando sus esfuerzos en el mejoramiento de sus procesos, especialmente en aquellos que permiten la reducción de costos a través de una mejora significativa en la eficiencia de sus canales de distribución. El objetivo de este estudio es proponer una solución óptima para realizar el recorrido de entrega de los pedidos, cumpliendo con las fechas y tiempos negociados con los clientes, logrando mejorar el nivel de servicio; para esto se aplicó el método de programación dinámica, herramienta utilizada para definir la ruta más viable en tiempos. El problema básico de ruteo de vehículos (vehicle routing problem, VRP) surge como el problema central en los campos de transporte, distribución y logística, consiste en el diseño de rutas óptimas, donde es necesario hacer uso de técnicas y algoritmos apropiados para la solución del mismo [1]. En su forma clásica, el problema de ruteo de vehículos (VRP) busca determinar las rutas de mínimo costo que debe realizar una flota de vehículos para atender la demanda de los clientes que se encuentran geográficamente dispersos. [2] Los problemas de distribución consisten básicamente en asignar una ruta a cada vehículo de una flota para repartir o recoger mercancías. Los clientes se localizan en determinados puntos o arcos y a su vez pueden tener horarios de servicio determinados. [3] La programación dinámica es una técnica matemática útil que resuelve una serie de decisiones secuenciales, cada una de las cuales afecta las decisiones futuras. Proporciona un procedimiento sistemático para determinar la combinación de decisiones que maximiza la efectividad total. [4] Las técnicas heurísticas se definen en [5], como “procedimientos simples, a menudo basados en el sentido común, que se supone ofrecerán una buena solución (aunque no necesariamente la óptima) a problemas difíciles, de un modo fácil y rápido”. Los procedimientos proporcionan soluciones de aceptable calidad mediante una exploración limitada del espacio de búsqueda. La heurística de la ruta mínima o vecino más cercano corresponde al método básico de solución al problema del agente viajero o TSP (Traveling salesman problem). De este modo se toma el número de clientes o ciudades del problema y se realiza una inspección inicial de la distancia mínima desde el deposito hacia los clientes, tomando como criterio visitar al que tenga la distancia mínima y así sucesivamente hasta completar la capacidad del vehículo para luego regresar al depósito y continuar con el siguiente vehículo hasta terminar de visitar a todos los clientes por medio del algoritmo de Dijkstra. [2] En la heurística de vecino más cercano se debe realizar un control sobre los clientes ya visitados y la capacidad de los vehículos, así se inicia con el nodo que tenga la distancia mínima con respecto al depósito y se continua visitando el próximo más cercano al nodo anterior, cuando se haya terminado la capacidad del vehículo se vuelve a calcular la distancia mínima de los clientes no visitados con respecto al depósito y se continua el proceso colocando un valor de uno en un vector de dimensión igual al número de ciudades para indicar que en la posición de dicha ciudad ya se hizo la visita, con lo que se restringe a ser visitado nuevamente por otro vehículo. La figura Nº 1 muestra en forma resumida el proceso. Fig.1 Diagrama de flujo del vecino más cercano La Heurística de ahorros de Clarke y Wriht cuya idea central es que se van combinando las rutas, en la medida que al pasar a ser una sola ruta se producen ahorros de costos, propone una solución en la que dos rutas diferentes ( 0 , ... , i , 0 ) y ( 0 , j , ... , 0 ) pueden ser combinadas formando una nueva ruta ( 0 , ... , i , j , ... , 0 ). [2] Fig.2 Grafo para Técnica de ahorros. El ahorro en distancia obtenido por dicha unión se presenta con la siguiente formula: 𝒔𝒊𝒋 = 𝒄𝒊𝟎 + 𝒄𝟎𝒋 − 𝒄𝒊𝒋 Donde s representa el ahorro de introducir la ruta i,j . La variable c, representa el costo de ir desde i al origen, o de j al origen y de i a j. La nueva solución obtenida es la que genera el mayor ahorro siempre que no se violen las restricciones del problema como puede ser la capacidad del vehículo, o el sentido de las vías, entre otras. Los pasos a seguir en esta metodología son los siguientes: 1. Para cada cliente i construir la ruta (0, i, 0). 2. Calcular una matriz de ahorros. 3. Tomar el máximo ahorro y verificar si la solución es factible. Si lo es tomar como nueva solución, de lo contrario volver a calcular ahorros con otro cliente [2] El problema del agente viajero (TSP, por sus siglas en inglés, Travelling Salesman Problem) [6]. Consiste en encontrar un recorrido que conecte todos los nodos de una red, visitándolos tan solo una vez y volviendo al punto de partida, y que además minimice la distancia total de la ruta. A raíz del TSP generalizado existen dos importantes categorías: el VRP homogéneo y el VRP heterogéneo. El VRP homogéneo hace referencia al problema de ruteo de vehículos en el cual la flota utilizada tiene las mismas características, tales como velocidad, capacidades, y costo. Por otro lado, el VRP heterogéneo se refiere al problema de diseño de rutas considerando que los vehículos utilizados presentan desigualdades en los componentes descritos anteriormente. Para dar solución al problema de enrutamiento y entrega del vehículo [7] propusieron encontrar un recorrido más corto para el vehículo en el que todos los productos pueden ser transportados a cada cliente sin exceder la capacidad del vehículo, manejando el problema del viajante de comercio (TSP) es un caso especial de TSP k- entrega, ya que la sustitución de cada vértice de la TSP por un producto y un cliente produce una instancia de la TSP-1 (entrega). En este caso, el vehículo debe simplemente encontrar un recorrido más corto que visitará a todos los clientes (es decir, una solución de TSP). La distribución cuando logra proporcionar un adecuado nivel de servicio, puede llevar directamente a un incremento en las ventas, un mayor porcentaje de participación en el mercado y contribuir en la disminución de costos y por consiguiente, en un aumento de las utilidades. [8] Por su parte [9] Considera el mismo problema anteriormente mencionado, proponiendo diferentes heurísticas para resolverlo. Las principales contribuciones de Stacey son las dos heurísticas que proporcionan soluciones con significativamente más bajo costo y los nuevos conocimientos de gestión previstos en la discusión de los resultados de cálculo. La búsqueda tabú básicamente es un método de optimización matemática, que pertenece a la clase de técnicas de búsqueda local, la búsqueda tabú aumenta el rendimiento del método de búsqueda local mediante el uso de estructuras de memoria: una vez que una potencial solución es determinada, se la marca como "tabú" de modo que el algoritmo no vuelva a visitar esa posible solución. [10] [11] Mediante el uso de un enfoque generalizado de enrutamiento de frecuencias (FG) con una búsqueda tabú, establece un procedimiento de enrutamiento animado y un programa entero binario para la vía de programación. Su enfoque permite proveedores en la misma ruta que tienen diferentes frecuencias de recogida de modo que no todos los proveedores son visitados cada vez que se ejecuta una ruta. [1]Proponen métodos de solución que pueden ser aplicados al problema de ruteo de vehículos. Según su revisión bibliográfica, dichos métodos pueden ser categorizados como: Meta heurísticas, heurísticas y métodos exactos. Entre los años 1999 y 2009 surgieron variaciones al problema de ruteo de vehículos tales que se podría agrupar este tipo de problemas en: estáticos, que son los problemas en los que se puede conocer los datos antes de asentar las rutas; y dinámicos, que son los problemas en los que sólo se pueden conocer algunos datos del problema antes del cálculo de una solución. [12] Recurre a la investigación operativa a modelos matemáticos, para el planteamiento y búsqueda de soluciones al problema de optimización de las rutas de transporte y vehículos VRP (Vehicle Routing Problem). Los métodos exactos para problemas de ruteo son eficientes en problemas con pocos clientes. [13].en su artículo en el que toma una variante del VRP con ventanas de tiempo, dado el tamaño del problema y algunas características del problema como la restricción de tiempo que tarda la entrega de productos en la ruta, para el cual afirma en sus conclusiones que los métodos clásicos de programación lineal entera pueden solucionar de forma rutinaria casos con 25 clientes y en algunos casos con un máximo de 50 clientes debido a restricciones de tiempo computacional. En la literatura se encuentran a [14] los cuales plantean la solución de problema de ruteamiento con ventanas de tiempo con programación dinámica, usando el método de Dantzing-Wolfe, la descomposición lagrangiana y la resolución directa clásica del modelo matemático. II. METODOLOGIA El presente artículo propone el estudio de caso para una compañía con las siguientes características: empresa dedicada a la producción y comercialización de productos de consumo masivo, ubicada geográficamente en Bogotá la cual cuenta con 3 grandes centros de distribución nacional ubicados en Boyacá, Santander y centro- occidente del país, los cuales a su vez manejan alrededor de 3, 4 o 5 sub-zonas. Con el planteamiento del Modelo de programación dinámica se busca mejorar y optimizar la secuencia de clientes en ruta, revisando la correcta distribución de cantidad de clientes, considerando restricciones de capacidad y número de vehículos. Basado en fuentes de información primaria, obtenida por medio de comunicación directa con el área de logística como analistas de despacho, líderes de distribución y facturadores, se cuenta con la siguiente información la cual detalla el proceso de ruteo actual de la compañía: El proceso de ruteo en la compañía se hace de manera manual, ya que la selección de puntos de entrega se realiza por medio de un mapa sectorizado a criterio del analista de despacho, esta persona selecciona la ruta que considera más rápida la cual le permita cumplir con la entrega de la totalidad los pedidos. El proceso da inicio cuando la fuerza ventas entrega las solicitudes de pedidos a través de la transmisión del mismo por medio de una plataforma electrónica, posteriormente se descarga el pedido al CDN (centro de distribución Nacional), la empresa cuenta con cortes de pedido quincenales. Teniendo en cuenta lo anterior se realiza el alistamiento del consolidado de todos los pedidos y a su vez el cargue y despacho del producto. La compañía cuenta con varias flotas de transporte que son tercerizadas las cuales cubren la necesidad diaria de distribución. La empresa tiene un bajo cumplimiento del nivel de respuesta ante la entrega efectiva de los productos, debido a que no cumplen con las entregas en el tiempo objetivo, ya que no existe una programación correcta de pedidos, haciendo que la ruta asignada y el tiempo de entrega no sean los correctos, generando incumplimientos en las entregas a los clientes. La empresa para la distribución de pedidos a sus clientes cuenta con unas fechas de entrega previamente establecidas, se tienen (diez) 10 rutas, en las cuales se encuentran designadas entre 4 a 3 ciudades según su ubicación geográfica. Se plantea el método de programación dinámica; específicamente la heurística de vecino más cercano; entendiendo la metodología y con el objetivo de asegurar su correcta aplicación, inicialmente se debe conocer la participación tanto en zonas geográficas, como en ventas relacionadas como cajas/mes por región y cliente. Basado en una matriz de distancias reales, tomadas de un mapa diseñado a partir de las ubicaciones de los clientes, se proponen tres escenarios de posibles rutas que se podrían utilizar teniendo en cuenta tres valores de restricción que son capacidades, demanda a atender y ventanas de tiempo. Se propone el uso de un modelo de programación dinámica con la heurística de vecino más cercano; en un lenguaje de programación VBA para Excel, considerando tres escenarios, el primero con entregas quincenales, el segundo con entregas semanales y el tercero con entregas cada cinco días. III. ANALISIS DE RESULTADOS Para efectos prácticos y teniendo en cuenta las ventas promedio en cada región donde hay ubicado un centro de distribución y entendiendo el impacto en la solución del problema planteado, se toma la zona Santander para aplicar el modelo de ruteo, ya que esta zona cuenta con una participación del 37% sobre las ventas mensuales a nivel nacional, tal como se detalla en la figura Nº3. Fig.3 Venta total cajas/mes consolidado por región Considerando que la zona Santander es la que mayor representación porcentual tiene respecto a las cajas movilizadas y de acuerdo a la figura N° 4, las sub-zona con mayor venta es la Santander 2 con un total de 16.000 cajas, por lo tanto es la seleccionada para la aplicación del Modelo. Fig. 4 Venta total cajas/mes Subdivisión de Regional Santander En la tabla Nº 1, se detalla el número de cajas por cada cliente en las diferentes ciudades de la ruta Santander 2. Tabla 1. Venta cajas/ mes por cliente Regional Santander 2 Con este estudio se busca en primera instancia mejorar los niveles de servicio en esta Zona y se propone organizar la secuencia de entregas a clientes de una manera más acertada en cada ciudad, la cual permita cumplir con los tiempos de entrega pactados, organizar los pedidos de manera en que su despacho se haga por orden de prioridades y así lograr cumplir en el menor tiempo. Como se observa en la tabla 1, el mayor número de cajas se distribuye en la ciudad de Bucaramanga con un total de 9.000, seguido de la ciudad de Floridablanca con 2.000 cajas a entregar. Teniendo en cuenta que el número de cajas de la zona Santander 2 es igual a 16.000, el número de cajas a enviar según la frecuencia quincenal sería de 8.000, el peso promedio por cajas es de 7.5 Kg y un volumen de 0.026m3, eso significa que el vehículo se carga por peso más no por volumen y la capacidad de cajas dentro de un vehículo tipo sencillo es igual a 1.500 cajas Partiendo de la información de la ubicación física de cada uno de los clientes y centro de distribución de la zona Santander 2, se realiza la construcción con la herramienta de Google Maps de un mapa de distribución de clientes mostrado en la figura Nº 5. Fig. 5 Mapa de distribución clientes Regional Santander 2 En la construcción del mapa se identifica cada uno de los clientes con un símbolo y nombre al igual que el centro de distribución y posteriormente se construye la matriz de distancias para validar los kilómetros que hay entre cada cliente y entre cada cliente y el centro de distribución así como lo muestra la figura Nº 6. Fig. 6 Matriz de distancias Posteriormente, con base a la información de la matriz de distancias, se realiza la programación del código en un lenguaje de programación VBA para Excel y se proponen tres escenarios de posibles rutas teniendo en cuenta tres valores de restricción que son capacidades, demanda a atender y ventanas de tiempo. A continuación se muestra una parte del pseudocódigo creado para la programación dinámica y su correspondiente diagrama de flujo en la Figura Nº 7 para un mayor entendimiento: Actual = 1 Distancia total = 0 k = 0 q = 1500 p = 1 For paso = 2 To nclientes + 10 minimadistancia = 100000 For j = 2 To nclientes If j <> actual And visitado(j) = False Then If distancia(actual, j) < minimadistancia Then If distanciatotal <= Maximo(j) Then If q >= demanda(j) Then siguiente = j minimadistancia = distancia(actual, siguiente) Else siguiente = 1 End If End If End If End If Next Fig. 7 Diagrama de flujo Pseudocódigo Se debe considerar los siguientes supuestos para realizar la aplicación del modelo: 1. No se tendrá en cuenta para el desarrollo del planteamiento de la solución el tiempo de alistamiento o espera que tenga el vehículo dentro del CEDI. 2. Para el desarrollo de la correcta distribución se va a suponer la recepción total por parte de los clientes en el horario de Llegada del vehículo. 3. La jornada laboral se comprende entre las 6:00 am hasta las 18:00 horas, con opción de dos (2) horas adicional a la jornada normal. 4. Siempre se mantendrá el análisis para un mismo tipo de vehículo (mínimo capacidad de 1500 cajas). 5. Se toma una demanda proporcional al periodo de entrega. Teniendo en cuentas los supuestos mencionados y las restricciones de capacidades, demanda a atender y ventanas de tiempo los resultados de los tres escenarios propuestos para cubrir la zona de la Regional Santander 2, son los siguientes: Escenario 1. Distribución Quincenal: para este escenario donde la entrega se realiza de manera quincenal el modelo de ruteo con programación dinámica con la heurística de vecino más cercano, propone las siguientes frecuencias de entregas usando 6 vehículos. En la figura Nº 8 se puede detallar los pasos organizados en orden de visitas a cada cliente, entendiendo que cada vez que la ruta llegue nuevamente al cliente numero 1 quiere decir que empieza un nuevo recorrido o ruta, detonando así la necesidad de un vehículo adicional para cumplir la ruta total. Fig. 8 Detalle de ruteo escenario 1 con 6 vehículos. Escenario 2. Distribución Semanal: para este escenario donde la entrega se realiza cada ocho días, el modelo de ruteo con programación dinámica con la heurística de vecino más cercano propone las siguientes frecuencias de entregas usando 3 vehículos. Al igual que en la figura Nº 8 en la figura Nº 9 se puede detallar los pasos organizados en orden de visitas a cada cliente, entendiendo que cada vez que la ruta llegue nuevamente al cliente numero 1 quiere decir que empieza un nuevo recorrido o ruta, detonando así la necesidad de un vehículo adicional para cumplir la ruta total. Fig. 9 Detalle de ruteo escenario 2 con 3 vehículos Escenario 3. Distribución cada cinco días: para este escenario donde la entrega se realiza cada cinco días, el modelo de ruteo con programación dinámica con la heurística de vecino más cercano propone la siguiente frecuencia de entrega usando 1 vehículo: Fig. 10 Detalle de ruteo escenario 3 con 1 vehículo IV. CONCLUSIONES Se evidencia que la programación dinámica con la heurística de vecino más cercano es un medio que permite generar un diseño de ruteo a partir del cálculo de la matriz de distancias, teniendo en cuenta restricciones como capacidad, demanda, limitaciones de tiempo, entre otros factores, adicionalmente respecto a los escenarios previamente evaluados se evidencia que la propuesta con mejor desempeño respecto al número de vehículos y el costo de contratación, sería el escenario número 3, en el que con una frecuencia de cada 5 días y 1 solo vehículo se logra atender la demandan mensual de 16.000 cajas en la regional Santander 2. BIBLIOGRAFÍA [1] L. G. E. &. O. J. Rocha, Una revisión al estado del arte del problema de ruteo de vehículos: Evolución histórica y métodos de solución. Inegniería., vol. Vol. 16, Marzo, 2011, pp. 35 - 55.. [2] Olivera, Heurísticas para Problemas de Ruteo de Vehículos., 2004. [3] C.-F. H. a. M.-S. C. H.-K. Chen, The real-time time- dependent vehicle routing problem, Transp. Res. Part E Logist. Transp. Rev.,, vol. vol. 42, Sep., 2006, p. 383–408. [4] H. Taha, Investigacion de operaciones, vol. 7 , Mexico, 2004. [5] Y. V. Piqueras, “Optimización heurística económica aplicada a las redes de transporte del tipo VRPTW,” Ph.D. Tesis. Escuela Técnica Superior de Ingenieros de Caminos, Canales y Puertos Universidad Politécnica de Valencia, May., 2002.. [6] Flood, The travelling Salesman Problem, operations research, 1956, pp. 4:61-75. [7] S. K. A. B. R. MOSES CHARIKAR, Algorithms for Capacitated Vehicle Routing. Siam j. Comput., vol. vol. 31, 2001, p. 665–682. [8] B. R. H., Logistica Administracion de la cadena de Suministro, vol. 5, 2004. [9] J. S. A. C. S. MALINI NATARAJARATHINAM, «Near- optimal heuristics and managerial insights for the storage constrained, inbound inventory routing problem. International Journal of Physical Distribution & Logistics Management,» vol. Vol. 42, 2012. [10] F. Glover, Tabu, Search, 1998. [11] O. e. al., 2008. [12] D. Aleksovski, 2013. [13] M. G. a. J.-Y. P. N. Azi, "An exact algorithm for a vehicle routing problem with time windows and multiple use of vehicles,” Eur. J. Oper. Res, vol. 202, May., 2010, p. 756–763. [14] B. W. R. GOLDEN y STEWART, The Traveling Salesman Problem: A Guided Tour of.